Last updated December 27, 2005. Created on December 27, 2005.
Edited by sepeck, Suuch. Log in to edit this page.

<?php

/*
 * dcprofilesmigration.module
 * From: DCForum+ User Profiles
 * To Drupal profile module.
 * Remember to search and replace "$my_dcf_dbase" with the name of the dcforum+ mysql database.
 */
function dcprofilesmigration_menu($may_cache)
{
    global $user;
  $items = array();
  $admin_access = user_access('administer site configuration');
    $items[] = array('path' => 'mdata', 'title' => t('migrate profiles'),
      'callback' => '_migrate_data', 'access' => $admin_access);
     
     
  return $items;
}

function _migrate_data()
{
    $old = db_query("SELECT fid, name FROM {profile_fields}");
    $output_old = array();
    while($_old = db_fetch_object($old))
    {
        $output_old[$_old->fid].= $_old->name;
    }
   
    $new = db_query("SELECT * FROM $my_dcf_dbase.dcuser LIMIT 1");
    $output_new= array();
    while($_new = db_fetch_array($new))
    {
        $output_new = array_keys($_new);
    }
    $output.="<table>";

    foreach($output_new as $key=>$new)
    {
        $output.= "<tr><td><input type='checkbox' name='select[$new]' value='$key'> </td><td>".form_select($new, $key, $key, $output_old)."</td></tr>";
    }
    $output.="</table>";
   
    $output.= form_button('SQL_QUERY');
    $output = form($output);

    $jcc_usernames = db_query("SELECT username FROM $my_dcf_dbase.dcuser");
   
    $userids = array();
    while($suser = db_fetch_object($jcc_usernames))
    {
        $userids[].= db_result(db_query("SELECT uid FROM {users} WHERE name= '%s'", $suser->username));
       
    }
   
    $br = "<br/>";
    foreach($userids as $uid)
    {
        if(sizeof($_POST))
        {
            $edit = $_POST['edit'];
            $select = $_POST['select'];
            //print_r($edit);
            //print_r($select);
            foreach($select as $key=>$value)
            {
                $map[$key] = $edit[$value];
            }
            //$map = (array_intersect(($select), ($edit) ));
//            print_r($map);
            foreach($map as $key =>$fid)
            {
                if(($key != "id") && ($key != "userlevel") && ($key != "username") && ($key != "password"))
                {
                    $_userq= sprintf("REPLACE INTO {profile_values} (fid, uid, value) SELECT %d, %d, %s FROM $my_dcf_dbase.dcuser WHERE id=%d \n", $fid, $uid, $key, $uid);
                    db_query($_userq);
                    $userquery.= $_userq;
                   
                }
            }
            $query = $userquery;
           
        }
       
        $textarea = $query;   
        //$query = $textarea;
    }
   
    $output.= form_textarea("SQL", 'sql', $textarea, 70, 15);
   

       
    print theme('page', $output);
}

function get_key($select, $edit)
{
    return $edit;
}

?>

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.