Changeset 16 for trunk/www/server.php


Ignore:
Timestamp:
Jun 12, 2009, 8:47:16 AM (15 years ago)
Author:
george
Message:
  • Přidáno: Funkce pro vytvoření zálohy a obnovení databáze ze zálohy.
  • Upraveno: Funkce přidávání úloh do fronty přesunuta do samostatné třídy Task.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/server.php

    r15 r16  
    99  var $Id;
    1010  var $Server;
     11  var $Task;
    1112  var $WorlddBaseNetworkPort = 8085;
    1213  var $RealmdBaseNetworkPort = 3724;
     
    1617  {
    1718    $this->Database = $Database;
     19    $this->Task = new Task(&$Database);
    1820    $this->Id = $Id;
    1921    $DbResult = $this->Database->query('SELECT * FROM `Server` WHERE `Id`='.$Id);
     
    3133        else $this->Server['Database']['Emulator']['ClientVersion'] = array();
    3234    }
    33   }
    34  
    35   function AddTask($Title, $Task)
    36   {
    37     global $System;
    38    
    39     $this->Database->insert('Task', array('User' => $System->Modules['User']->User['Id'], 'Title' => $Title, 'Time' => 'NOW()', 'CommandList' => implode("\n", $Task)."\n"));
    40   }
     35  }
    4136 
    4237  function CreateDatabase()
     
    7974      array_unshift($CommandList, 'mysql --silent --skip-column-names -u server'.$this->Id.' -pserver'.$this->Id.' server'.$this->Id.'_scriptdev2 -e "show tables" | gawk \'{print "drop table " $1 ";"}\' | mysql -u server'.$this->Id.' -pserver'.$this->Id.' server'.$this->Id.'_scriptdev2');
    8075    }
    81     $this->AddTask('Inicializace databáze', $CommandList);
    82   }
     76    $this->Task->Add('Inicializace databáze', $CommandList);
     77  } 
    8378 
    8479  function AddServer($Version)
     
    8984  function Start()
    9085  {
    91     $this->AddTask('Start emulátoru', array(
     86    $this->Task->Add('Start emulátoru', array(
    9287      'screen -A -m -d -S server'.$this->Id.'-realmd emulator/'.$this->Server['Database']['Emulator']['Id'].'/bin/mangos-realmd -c server/'.$this->Id.'/etc/realmd.conf',
    9388      'screen -A -m -d -S server'.$this->Id.'-worldd server/'.$this->Id.'/bin/start.sh',
     
    9893  function Stop()
    9994  {
    100     $this->AddTask('Zastavení emulátoru', array(
     95    $this->Task->Add('Zastavení emulátoru', array(
    10196      'server/'.$this->Id.'/bin/stop.sh',
    10297    ));
Note: See TracChangeset for help on using the changeset viewer.