示例#1
0
 $svn_folder = param('svn_folder', 'string', '/');
 $svn_user = param('svn_user', 'string', false);
 $svn_password = param('svn_password', 'string', false);
 $svn_revision = param('svn_revision', 'integer');
 $UserSettings->set('svn_upgrade_url', $svn_url);
 $UserSettings->set('svn_upgrade_folder', $svn_folder);
 $UserSettings->set('svn_upgrade_user', $svn_user);
 $UserSettings->set('svn_upgrade_revision', $svn_revision);
 $UserSettings->dbupdate();
 $success = param_check_not_empty('svn_url', T_('Please enter the URL of repository'));
 $success = $success && param_check_regexp('svn_folder', '#/blogs/$#', T_('A correct SVN folder path must ends with "/blogs/'));
 if (!$success) {
     $action = 'start';
     break;
 }
 $success = prepare_maintenance_dir($upgrade_path, true);
 if ($success) {
     // Set maximum execution time
     set_max_execution_time(2400);
     // 60 minutes
     load_class('_ext/phpsvnclient/phpsvnclient.php', 'phpsvnclient');
     $phpsvnclient = new phpsvnclient($svn_url, $svn_user, $svn_password);
     // Get an error if it was during connecting to svn server
     $svn_error = $phpsvnclient->getError();
     if (!empty($svn_error) || $phpsvnclient->getVersion() < 1) {
         // Some errors or Incorrect version
         echo '<p class="red">' . T_('Unable to get a repository version, probably URL of repository is incorrect.') . '</p>';
         evo_flush();
         $action = 'start';
         break;
         // Stop an upgrade from SVN
示例#2
0
 /**
  * Start backup
  */
 function start_backup()
 {
     global $basepath, $backup_path, $servertimenow;
     // Create current backup path
     $cbackup_path = $backup_path . date('Y-m-d-H-i-s', $servertimenow) . '/';
     echo '<p>' . sprintf(T_('Starting backup to: &laquo;%s&raquo; ...'), $cbackup_path) . '</p>';
     evo_flush();
     // Prepare backup directory
     $success = prepare_maintenance_dir($backup_path, true);
     // Backup directories and files
     if ($success && $this->has_included($this->backup_paths)) {
         $backup_files_path = $this->pack_backup_files ? $cbackup_path : $cbackup_path . 'files/';
         // Prepare files backup directory
         if ($success = prepare_maintenance_dir($backup_files_path, false)) {
             // We can backup files
             $success = $this->backup_files($backup_files_path);
         }
     }
     // Backup database
     if ($success && $this->has_included($this->backup_tables)) {
         $backup_tables_path = $this->pack_backup_files ? $cbackup_path : $cbackup_path . 'db/';
         // Prepare database backup directory
         if ($success = prepare_maintenance_dir($backup_tables_path, false)) {
             // We can backup database
             $success = $this->backup_database($backup_tables_path);
         }
     }
     if ($success) {
         echo '<p>' . sprintf(T_('Backup complete. Directory: &laquo;%s&raquo;'), $cbackup_path) . '</p>';
         evo_flush();
         return true;
     }
     @rmdir_r($cbackup_path);
     return false;
 }