Example #1
0
 public static function save($server_)
 {
     Logger::debug('main', 'Starting Abstract_Server::save for \'' . $server_->fqdn . '\'');
     $SQL = SQL::getInstance();
     $fqdn = $server_->fqdn;
     if (!Abstract_Server::exists($fqdn)) {
         Logger::debug('main', "Abstract_Server::save({$server_}) server does NOT exist, we must create it");
         if (!Abstract_Server::create($server_)) {
             Logger::error('main', "Abstract_Server::save({$server_}) create failed");
             return false;
         }
     }
     $SQL->DoQuery('UPDATE @1 SET @2=%3,@4=%5,@6=%7,@8=%9,@10=%11,@12=%13,@14=%15,@16=%17,@18=%19,@20=%21,@22=%23 WHERE @24 = %25 LIMIT 1', $SQL->prefix . 'servers', 'status', $server_->status, 'registered', (int) $server_->registered, 'locked', (int) $server_->locked, 'type', $server_->type, 'version', $server_->version, 'cpu_model', $server_->cpu_model, 'cpu_nb_cores', $server_->cpu_nb_cores, 'cpu_load', (int) ($server_->cpu_load * 100), 'ram_total', $server_->ram_total, 'ram_used', $server_->ram_used, 'timestamp', time(), 'fqdn', $fqdn);
     $properties = Abstract_Server::loadProperties($server_);
     foreach (Abstract_Server::$server_properties as $object_property => $db_property) {
         Abstract_Server::saveProperty($server_, $object_property, $db_property, isset($properties[$object_property]) ? $properties[$object_property] : NULL);
     }
     return true;
 }
Example #2
0
    
    	if (! $server->isOnline()) {
    		Logger::error('main', '(webservices/server/name) Server is not OK (error_code: 2)');
    		webservices_return_error(2, 'Server is not OK');
    	}
    
    	if (! $server->isOK()) {
    		Logger::error('main', '(webservices/server/name) Server is not online (error_code: 3)');
    		webservices_return_error(3, 'Server is not online');
    	}
    */
    $ret = Abstract_Server::create($server);
    $try_count = 0;
    while ($ret !== true && $try_count < 10) {
        $server->id = generate_server_id();
        $ret = Abstract_Server::create($server);
        $try_count++;
    }
    if ($ret !== true) {
        Logger . error('');
        Logger::error('main', 'Unable to save new server after ' . $try_count . ' try');
        webservices_return_error(0, 'Internal error');
    }
    Abstract_Server::save($server);
}
header('Content-Type: text/xml; charset=utf-8');
$dom = new DomDocument('1.0', 'utf-8');
$node = $dom->createElement('server');
$node->setAttribute('name', $server->id);
$dom->appendChild($node);
echo $dom->saveXML();