File: /homepages/oneclick/ZenPhoto/1.4.5.9/2/scripts/db-prefix.php
<?php
function aps_get_prefix($argv, $root_dir, $db_main_prefix_aps, $db_main_prefix_aps_default='')
{
if($argv[1] == "install") {
if($db_main_prefix_aps == '' || $db_main_prefix_aps == $db_main_prefix_aps_default){
$db_main_prefix_aps = aps_get_random_prefix();
}
}
else{
$db_main_prefix_aps = aps_get_table_prefix($root_dir);
if($argv[1] == "upgrade") {
if(!($argv[2] && $argv[3])){
return '';
}
if($db_main_prefix_aps == $db_main_prefix_aps_default){
$old_db_prefix = $db_main_prefix_aps;
$db_main_prefix_aps = aps_get_random_prefix();
aps_change_table_prefix($old_db_prefix, $db_main_prefix_aps);
}
}
}
return $db_main_prefix_aps;
}
function aps_get_random_prefix($length = 8)
{
$salt = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$len = strlen($salt);
$result = '';
for ($i = 0; $i < $length; $i ++) {
$result .= $salt[mt_rand(0, $len -1)];
}
return $result."_";
}
function aps_change_table_prefix($old_db_prefix, $new_db_prefix) {
//Change database table prefix
$db_id = "main";
mysql_db_connect(get_db_address($db_id),get_db_login($db_id),get_db_password($db_id),get_db_name($db_id));
$sql_tables="SHOW TABLES LIKE '".$old_db_prefix."%';";
$result_tables = mysql_query($sql_tables);
while ($row = mysql_fetch_row($result_tables)) {
$old_table_name = $row[0];
$new_table_name = preg_replace('/'.$old_db_prefix.'/', $new_db_prefix, $old_table_name, 1);
$sql_tables="RENAME TABLE ".$old_table_name." TO ".$new_table_name.";";
$result = mysql_query($sql_tables);
}
mysql_free_result($result_tables);
}
?>