function duplicator_activate()
 {
     global $wpdb;
     $table_name = $wpdb->prefix . "duplicator";
     //PRIMARY KEY must have 2 spaces before for dbDelta to work
     $sql = "CREATE TABLE `{$table_name}` (\r\n\t\t id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT  PRIMARY KEY,\r\n\t\t token \t \t VARCHAR(25) NOT NULL, \r\n\t\t packname \t VARCHAR(250) NOT NULL, \r\n\t\t zipname \t VARCHAR(250) NOT NULL, \r\n\t\t zipsize \t INT (11),\r\n\t\t created \t DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\r\n\t\t owner \t\t VARCHAR(60) NOT NULL,\r\n\t\t settings \t LONGTEXT NOT NULL)";
     require_once DUPLICATOR_WPROOTPATH . 'wp-admin/includes/upgrade.php';
     @dbDelta($sql);
     $duplicator_opts = array('dbhost' => "{$GLOBALS['duplicator_opts']['dbhost']}", 'dbname' => '', 'dbuser' => '', 'url_new' => '', 'email-me' => "{$GLOBALS['duplicator_opts']['email-me']}", 'email_others' => "{$GLOBALS['duplicator_opts']['email_others']}", 'dir_bypass' => "{$GLOBALS['duplicator_opts']['dir_bypass']}", 'log_level' => '0', 'skip_ext' => "{$GLOBALS['duplicator_opts']['skip_ext']}");
     //WordPress Options Hooks
     update_option('duplicator_version_plugin', DUPLICATOR_VERSION);
     update_option('duplicator_options', serialize($duplicator_opts));
     add_option('duplicator_pack_passcount', 0);
     add_option('duplicator_add1_passcount', 0);
     if (get_option('duplicator_add1_clicked') === false) {
         add_option('duplicator_add1_clicked', 0);
     }
     //Setup All Directories
     duplicator_init_snapshotpath();
 }
Пример #2
0
 function duplicator_activate()
 {
     global $wpdb;
     $table_name = $wpdb->prefix . "duplicator";
     //PRIMARY KEY must have 2 spaces before for dbDelta
     $sql = "CREATE TABLE `{$table_name}` (\r\r\n\t\t id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT  PRIMARY KEY,\r\r\n\t\t token \t \t VARCHAR(25) NOT NULL, \r\r\n\t\t packname \t VARCHAR(250) NOT NULL, \r\r\n\t\t zipname \t VARCHAR(250) NOT NULL, \r\r\n\t\t zipsize \t INT (11),\r\r\n\t\t created \t DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',\r\r\n\t\t owner \t\t VARCHAR(60) NOT NULL,\r\r\n\t\t settings \t LONGTEXT NOT NULL)";
     require_once DUPLICATOR_WPROOTPATH . 'wp-admin/includes/upgrade.php';
     @dbDelta($sql);
     $duplicator_opts = array('dbhost' => 'localhost', 'dbname' => '', 'dbuser' => '', 'url_new' => '', 'email-me' => "{$GLOBALS['duplicator_opts']['email-me']}", 'email_others' => "{$GLOBALS['duplicator_opts']['email_others']}", 'max_time' => $GLOBALS['duplicator_opts']['max_time'], 'max_memory' => $GLOBALS['duplicator_opts']['max_memory'], 'dir_bypass' => "{$GLOBALS['duplicator_opts']['dir_bypass']}", 'log_level' => '0', 'dbiconv' => "{$GLOBALS['duplicator_opts']['dbiconv']}", 'skip_ext' => "{$GLOBALS['duplicator_opts']['skip_ext']}", 'rm_snapshot' => "{$GLOBALS['duplicator_opts']['rm_snapshot']}");
     update_option('duplicator_version_plugin', DUPLICATOR_VERSION);
     update_option('duplicator_options', serialize($duplicator_opts));
     //CLEANUP LEGACY
     //PRE 0.2.9
     delete_option('duplicator_version_database');
     $wpdb->query("ALTER TABLE `{$table_name}` CHANGE bid id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT");
     $wpdb->query("ALTER TABLE `{$table_name}` DROP COLUMN ver_db");
     $wpdb->query("ALTER TABLE `{$table_name}` DROP COLUMN ver_plug");
     $wpdb->query("ALTER TABLE `{$table_name}` DROP COLUMN status");
     $wpdb->query("ALTER TABLE `{$table_name}` DROP COLUMN type");
     //Setup All Directories
     duplicator_init_snapshotpath();
 }
Пример #3
0
/**
 *  DUPLICATOR_SYSTEM_CHECK
 *  Check to see if the package already exsits or required files
 *  are installed.  Also check for package size
 *  
 *  @return string   A message about the action
 * 		- log:act__system_check=>create new package
 * 		- log:act__system_check=>overwrite
 */
function duplicator_system_check()
{
    global $wpdb;
    @set_time_limit(0);
    duplicator_init_snapshotpath();
    $json = array();
    //SYS-100: FILE PERMS
    $test = is_writeable(DUPLICATOR_WPROOTPATH) && is_writeable(DUPLICATOR_SSDIR_PATH) && is_writeable(DUPLICATOR_PLUGIN_PATH . 'files/') && is_writeable(DUPLICATOR_PLUGIN_PATH . 'files/installer.rescue.php');
    $json['SYS-100'] = $test ? 'Pass' : 'Fail';
    //SYS-101 RESERVED FILE
    $phpFile = file_exists(DUPLICATOR_WPROOTPATH . DUPLICATOR_INSTALL_PHP) ? DUPLICATOR_INSTALL_PHP : "";
    $sqlFile = file_exists(DUPLICATOR_WPROOTPATH . DUPLICATOR_INSTALL_SQL) ? DUPLICATOR_INSTALL_SQL : "";
    $logFile = file_exists(DUPLICATOR_WPROOTPATH . DUPLICATOR_INSTALL_LOG) ? DUPLICATOR_INSTALL_LOG : "";
    $test = !(strlen($phpFile) || strlen($sqlFile) || strlen($logFile));
    $json['SYS-101'] = $test ? 'Pass' : 'Fail';
    //SYS-102 ZIP-ARCHIVE
    $test = class_exists('ZipArchive');
    $json['SYS-102'] = $test ? 'Pass' : 'Fail';
    //SYS-103 SAFE MODE
    $test = ini_get('safe_mode');
    $json['SYS-103'] = !$test ? 'Pass' : 'Fail';
    //SYS-104 MYSQL SUPPORT
    $mysql_test1 = function_exists('mysqli_connect');
    $mysql_test2 = version_compare($wpdb->db_version(), '4.1', '>=');
    $json['SYS-104'] = $mysql_test1 && $mysql_test2 ? 'Pass' : 'Fail';
    //SYS-105 PHP TESTS
    $php_test1 = version_compare(phpversion(), '5.2.17');
    $php_test2 = function_exists("file_get_contents");
    $php_test3 = function_exists("file_put_contents");
    $json['SYS-105'] = $php_test1 >= 0 && $php_test2 && $php_test3 ? 'Pass' : 'Fail';
    $result = in_array('Fail', $json);
    $json['Success'] = !$result;
    die(json_encode($json));
}