$t) { $sel = ($v == $currentval) ? " checked='checked'" : ""; $ret .= $gap." ".$t."\n"; // $gap = "  "; $gap = "
"; } return $ret; } $recordCount = 0; $emailProcess = 0; $saltProcess = 0; $cantProcess = 0; $cookieChange = ''; require(HEADERF); $pc_db = new db; if (isset($_POST['GetOnWithIt'])) { $doBackup = varset($_POST['doDBBackup'],0); $saltConvert = varset($_POST['convertToSalt'],0); $emailGen = varset($_POST['EmailPasswords'],0); if ($doBackup == 2) { $saltConvert = 0; // Don't do conversions if restoring database $emailGen = 0; } $error = ''; if ($emailGen == 1) { // Scan DB for salted passwords } //----------------------------------------- // Backup user DB (selected fields) //----------------------------------------- if (!$error && ($doBackup == 1)) { echo LAN_PCONV_13; if ($pc_db->db_Table_exists('user_backup')) { // Completely delete table - avoids problems with incorrect structure $pc_db->db_Select_gen('DROP TABLE `#user_backup` '); } $qry = "CREATE TABLE `#user_backup` ( user_id int(10) unsigned NOT NULL, user_name varchar(100) NOT NULL default '', user_loginname varchar(100) NOT NULL default '', user_password varchar(50) NOT NULL default '', user_email varchar(100) NOT NULL default '', user_prefs text NOT NULL, PRIMARY KEY (user_id), UNIQUE KEY user_name (user_name) ) ENGINE=MyISAM;"; // If not exists, of course if (!$pc_db->db_Select_gen($qry)) { $error = LAN_PCONV_20; } if (!$error) { $qry = "INSERT INTO `#user_backup` SELECT user_id, user_name, user_loginname, user_password, user_email, user_prefs FROM `#user` "; if ($pc_db->db_Select_gen($qry) === FALSE) { $error = LAN_PCONV_21; } } if (!$error) echo '...'.LAN_PCONV_14.'

'; } //-------------------------------------- // Restore from backup //-------------------------------------- if (!$error && ($doBackup == 2)) { echo LAN_PCONV_28; if (!$pc_db->db_Table_exists('user_backup')) { $error = LAN_PCONV_28; } if (!$error && $pc_db->db_Select('user_backup','*')) { while ($row = $pc_db->db_Fetch()) { $uid = $row['user_id']; unset($row['user_id']); $sql->db_UpdateArray('user',$row," WHERE `user_id`={$uid}"); // Intentionally use $sql here if (USERID == $uid) { $cookieChange = $row['user_password']; } } } else { $error = LAN_PCONV_30; } if (!$error) echo '...'.LAN_PCONV_14.'

'; } //-------------------------------------- // Change passwords //-------------------------------------- if (!$error && $emailGen || $saltConvert) { // Run through the DB doing conversions. echo LAN_PCONV_17; if ($pc_db->db_Select('user', 'user_id, user_name, user_loginname, user_password, user_email, user_prefs', '') === FALSE) { $error = LAN_PCONV_18; } if (!$error) { while ($row = $pc_db->db_Fetch()) { // Do conversions $recordCount++; $newData = array(); $newPrefs = ''; $user_prefs = e107::getArrayStorage()->unserialize($row['user_prefs']); if(!$user_prefs && $row['user_prefs']) $user_prefs = unserialize($row['user_prefs']); if ($saltConvert) { if ($user_info->canConvert($row['user_password'])) { $newData['user_password'] = $user_info->ConvertPassword($row['user_password'], $row['user_loginname']); $saltProcess++; if (USERID == $row['user_id']) { $cookieChange = $newData['user_password']; } } else { $cantProcess++; } } if (($emailGen == 1) && $user_info->canConvert($row['user_password'])) { $user_prefs['email_password'] = $user_info->ConvertPassword($row['user_password'], $row['user_email']); $emailProcess++; } elseif ($emailGen == 2) { unset($user_prefs['email_password']); $emailProcess++; } if (count($user_prefs)) $newPrefs = e107::getArrayStorage()->serialize($user_prefs); else $newPrefs = ''; if($newPrefs != $user_prefs) { $newData['user_prefs'] = $newPrefs; } if (count($newData)) $sql->db_UpdateArray('user',$newData, " WHERE `user_id`={$row['user_id']}"); } } echo str_replace('--TOTAL--',$recordCount, LAN_PCONV_22).'
'; echo str_replace('--TOTAL--',$saltProcess, LAN_PCONV_24).'
'; echo str_replace('--TOTAL--',$emailProcess, LAN_PCONV_23).'
'; echo str_replace('--TOTAL--',$cantProcess, LAN_PCONV_25).'
'; echo '
'; } if ($error) { echo '
'.$error.'

'; require_once(FOOTERF); exit; } if ($cookieChange) { // echo "Cookie Updated.

"; $cookieval = USERID.".".md5($cookieChange); // Just changed admin password, and hence cookie cookie($pref['cookie_name'], $cookieval); } } $text = "
"; $text .= " "; $text .= "
".LAN_PCONV_01."
".LAN_PCONV_02."
".LAN_PCONV_03."
".LAN_PCONV_10."
".LAN_PCONV_19."
".multi_radio('doDBBackup',array('0' => LAN_PCONV_09, '1' => LAN_PCONV_26, '2' => LAN_PCONV_27),'')."
".LAN_PCONV_05." ".multi_radio('convertToSalt',array('0' => LAN_PCONV_09, '1' => LAN_PCONV_11),'')."
".LAN_PCONV_06." ".multi_radio('EmailPasswords',array('0' => LAN_PCONV_09, '1' => LAN_PCONV_07, '2' => LAN_PCONV_08),'')."
\n

"; $ns->tablerender(LAN_PCONV_01, $text); require_once(FOOTERF); ?>