示例#1
0
 /**
  * Process bulk zone reloads
  *
  * @since 1.2
  * @package facileManager
  */
 function doBulkZoneReload($domain_id)
 {
     global $fmdb, $__FM_CONFIG;
     /** Check serial number */
     basicGet('fm_' . $__FM_CONFIG[$_SESSION['module']]['prefix'] . 'domains', sanitize($domain_id), 'domain_', 'domain_id');
     if (!$fmdb->num_rows) {
         return sprintf(__('%s is not a valid zone ID.'), $domain_id);
     }
     $server_details = $fmdb->last_result;
     extract(get_object_vars($server_details[0]), EXTR_SKIP);
     $response[] = displayFriendlyDomainName($domain_name);
     /** Ensure domain is reloadable */
     if ($domain_reload != 'yes') {
         $response[] = ' --> ' . __('Failed: Zone is not available for reload.');
     }
     /** Ensure domain is master */
     if (count($response) == 1 && $domain_type != 'master') {
         $response[] = ' --> ' . __('Failed: Zone is not a master zone.');
     }
     /** Ensure user is allowed to reload zone */
     $zone_access_allowed = zoneAccessIsAllowed(array($domain_id), 'reload');
     if (count($response) == 1 && !$zone_access_allowed) {
         $response[] = ' --> ' . __('Failed: You do not have permission to reload this zone.');
     }
     /** Format output */
     if (count($response) == 1) {
         foreach (makePlainText($this->buildZoneConfig($domain_id), true) as $line) {
             $response[] = ' --> ' . $line;
         }
     }
     $response[] = "\n";
     return implode("\n", $response);
 }
示例#2
0
 /**
  * Process bulk server config build
  *
  * @since 1.2
  * @package facileManager
  */
 function doBulkServerBuild($server_serial_no)
 {
     global $fmdb, $__FM_CONFIG, $fm_module_servers;
     /** Check permissions */
     if (!currentUserCan('build_server_configs', $_SESSION['module'])) {
         echo buildPopup('header', _('Error'));
         printf('<p>%s</p>', _('You do not have permission to build server configs.'));
         echo buildPopup('footer', _('OK'), array('cancel_button' => 'cancel'));
         exit;
     }
     /** Process server group */
     if ($server_serial_no[0] == 'g') {
         $group_servers = $this->getGroupServers(substr($server_serial_no, 1));
         if (!is_array($group_servers)) {
             return $group_servers;
         }
         $response = null;
         foreach ($group_servers as $serial_no) {
             if (is_numeric($serial_no)) {
                 $response .= $this->doClientUpgrade($serial_no) . "\n";
             }
         }
         return $response;
     }
     /** Check serial number */
     basicGet('fm_' . $__FM_CONFIG[$_SESSION['module']]['prefix'] . 'servers', sanitize($server_serial_no), 'server_', 'server_serial_no');
     if (!$fmdb->num_rows) {
         return sprintf(_('%d is not a valid serial number.'), $server_serial_no);
     }
     $server_details = $fmdb->last_result;
     extract(get_object_vars($server_details[0]), EXTR_SKIP);
     $response[] = $server_name;
     if ($server_installed != 'yes') {
         $response[] = ' --> ' . _('Failed: Client is not installed.');
     }
     if (count($response) == 1 && $server_status != 'active') {
         $response[] = ' --> ' . sprintf(_('Failed: Server is %s.'), $server_status);
     }
     if (count($response) == 1) {
         if (!isset($fm_module_servers)) {
             include_once ABSPATH . 'fm-modules/' . $_SESSION['module'] . '/classes/class_servers.php';
         }
         foreach (makePlainText($fm_module_servers->buildServerConfig($server_serial_no), true) as $line) {
             $response[] = ' --> ' . $line;
         }
     }
     $response[] = null;
     return implode("\n", $response);
 }
示例#3
0
 function manageCache($server_id, $action)
 {
     global $fmdb, $__FM_CONFIG;
     /** Check serial number */
     basicGet('fm_' . $__FM_CONFIG['fmDNS']['prefix'] . 'servers', sanitize($server_id), 'server_', 'server_id');
     if (!$fmdb->num_rows) {
         return __('This server is not found.');
     }
     $server_details = $fmdb->last_result;
     extract(get_object_vars($server_details[0]), EXTR_SKIP);
     $response[] = $server_name;
     if ($server_installed != 'yes') {
         $response[] = ' --> ' . __('Failed: Client is not installed.');
     }
     if (count($response) == 1 && $server_status != 'active') {
         $response[] = ' --> ' . sprintf(__('Failed: Server is %s.'), $server_status);
     }
     if (count($response) == 1) {
         foreach (makePlainText($this->buildServerConfig($server_serial_no, $action, ucfirst(str_replace('-', ' ', $action))), true) as $line) {
             $response[] = ' --> ' . $line;
         }
     }
     return implode("\n", $response);
 }