HEX
Server: Apache
System: Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User: u101499731 (4643868)
PHP: 8.2.30
Disabled: NONE
Upload Files
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);
}


?>