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.