Ignore:
Timestamp:
Aug 4, 2009, 9:53:52 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Definice formulářů a tabulek ze souboru form_classes.php byly rozděleny do odpovídajících souborů ve složce view.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/www/view/server.php

    r55 r56  
    33class ServerView extends Module
    44{
     5  var $ViewFormClass = array(
     6    'Title' => 'Nastavení',
     7    'Table' => 'Server',
     8    'SubmitText' => 'Uložit',
     9    'Items' => array(
     10      'Name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => 'WoW server'),
     11      'Description' => array('Type' => 'Text', 'Caption' => 'Popis', 'Default' => ''),
     12      'Homepage' => array('Type' => 'Hyperlink', 'Caption' => 'Webové stránky', 'Default' => ''),
     13      'Database' => array('Type' => 'Database', 'Caption' => 'Databáze', 'Default' => 0),
     14      'ServerId' => array('Type' => 'Hidden', 'Caption' => 'Id', 'Default' => 0),
     15      'TimeCreate' => array('Type' => 'DateTime', 'Caption' => 'Datum založení', 'Default' => 'NOW()'),
     16      'NetworkPortRealmd' => array('Type' => 'Integer', 'Caption' => 'Port realmd', 'Default' => ''),
     17    ),
     18  );
     19  var $ItemListFormClass = array(
     20    'Title' => 'Server',
     21    'Table' => '(SELECT `Client`.`Version`, `Server`.`Name`, `Server`.`Homepage`, `Server`.`Id`, `Server`.`NetworkPortRealmd`, `User`.`Name` AS `UserName`, Server.Online, Server.CharacterOnlineCount, Server.CharacterCount, Server.AccountCount FROM `Server` JOIN `User` ON `User`.`Id` = `Server`.`User` JOIN `Database` ON `Database`.`Id` = `Server`.`Database` JOIN `Emulator` ON `Emulator`.`Id` = `Database`.`Emulator` JOIN `Client` ON `Client`.`Id` = `Emulator`.`Client`)',
     22    'Items' => array(
     23      'Name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
     24      'NetworkPortRealmd' => array('Type' => 'Integer', 'Caption' => 'Realmlist', 'Default' => ''),
     25      'Version' => array('Type' => 'Integer', 'Caption' => 'Verze', 'Default' => 0),
     26      'Online' => array('Type' => 'OnlineState', 'Caption' => 'Stav', 'Default' => 0),
     27      'CharacterOnlineCount' => array('Type' => 'Integer', 'Caption' => 'Hráčů online', 'Default' => 0),
     28      'AccountCount' => array('Type' => 'Integer', 'Caption' => 'Účtů', 'Default' => 0),
     29      'CharacterCount' => array('Type' => 'Integer', 'Caption' => 'Postav', 0),
     30      'UserName' => array('Type' => 'String', 'Caption' => 'Správce', 'Default' => ''),
     31    ),
     32  );
     33  var $CreateFormClass = array(
     34    'Title' => 'Nový server',
     35    'Table' => 'Server',
     36    'SubmitText' => 'Registrovat',
     37    'Items' => array(
     38      'Name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => 'WoW server'),
     39      'Description' => array('Type' => 'Text', 'Caption' => 'Popis', 'Default' => ''),
     40      'Homepage' => array('Type' => 'Hyperlink', 'Caption' => 'Webové stránky', 'Default' => ''),
     41      'Type' => array('Type' => 'ServerType', 'Caption' => 'Typ', 'Default' => 0),
     42      'Database' => array('Type' => 'Database', 'Caption' => 'Databáze', 'Default' => 0),
     43      'Motd' => array('Type' => 'String', 'Caption' => 'Zpráva dne', 'Default' => 'Vítejte na free WoW serveru'),
     44    ),
     45  );
     46  var $EditFormClass = array(
     47    'Title' => 'Nastavení',
     48    'Table' => 'Server',
     49    'SubmitText' => 'Uložit',
     50    'Items' => array(
     51      'Name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => 'WoW server'),
     52      'Description' => array('Type' => 'Text', 'Caption' => 'Popis', 'Default' => ''),
     53      'Homepage' => array('Type' => 'Hyperlink', 'Caption' => 'Webové stránky', 'Default' => ''),
     54      'Type' => array('Type' => 'ServerType', 'Caption' => 'Typ', 'Default' => 0),
     55      //'Database' => array('Type' => 'Database', 'Caption' => 'Databáze', 'Default' => 0),
     56      'Motd' => array('Type' => 'String', 'Caption' => 'Zpráva dne', 'Default' => 'Vítejte na free WoW serveru'),
     57      'ServerId' => array('Type' => 'Hidden', 'Caption' => 'Id', 'Default' => 0),
     58      //'TimeCreation' => array('Type' => 'DateTime', 'Caption' => 'Datum založení', 'Default' => 'NOW()'),
     59    ),
     60  );
     61  var $GameAccountNewFormClass = array(
     62    'Title' => 'Vytvoření nového herního účtu',
     63    'Table' => '',
     64    'Items' => array(
     65      'Name' => array('Type' => 'String', 'Caption' => 'Přihlašovací jméno', 'Default' => ''),
     66      'Password' => array('Type' => 'Password', 'Caption' => 'Heslo', 'Default' => ''),
     67      'Password2' => array('Type' => 'Password', 'Caption' => 'Potvrzení hesla', 'Default' => ''),
     68      'Email' => array('Type' => 'String', 'Caption' => 'E-mail', 'Default' => ''),
     69      'Expansion' => array('Type' => 'ServerExpansion', 'Caption' => 'Rozšíření', 'Default' => 2),
     70      'ServerId' => array('Type' => 'Hidden', 'Caption' => 'Id', 'Default' => 0),
     71    ),
     72  ); 
     73  var $SettingDetailedFormClass = array(
     74    'Title' => 'Podrobné nastavení serveru',
     75    'Table' => '',
     76    'Items' => array(
     77      'ServerId' => array('Type' => 'Hidden', 'Caption' => 'Id', 'Default' => 0),
     78      'SkipCinematics' => array('Type' => 'SkipCinematics', 'Caption' => 'Zobrazovat úvodní video', 'Default' => ''),
     79      'StartPlayerLevel' => array('Type' => 'Integer', 'Caption' => 'Počáteční úroveň hráčů', 'Default' => 1),
     80      'MaxPlayerLevel' => array('Type' => 'Integer', 'Caption' => 'Max. úroveň hráčů', 'Default' => 80),
     81      'StartHeroicPlayerLevel' => array('Type' => 'Integer', 'Caption' => 'Počáteční úroveň hrdinských postav', 'Default' => 55),
     82      'StartPlayerMoney' => array('Type' => 'Integer', 'Caption' => 'Počáteční množství peněz', 'Default' => 0),
     83      'StartHonorPoints' => array('Type' => 'Integer', 'Caption' => 'Počáteční počet bodů cti', 'Default' => 0),
     84      'MaxHonorPoints' => array('Type' => 'Integer', 'Caption' => 'Max. počet bodů cti', 'Default' => 75000),
     85      'StartArenaPoints' => array('Type' => 'Integer', 'Caption' => 'Počáteční počet bodů arén', 'Default' => 0),
     86      'MaxArenaPoints' => array('Type' => 'Integer', 'Caption' => 'Max. počet bodů arén', 'Default' => 5000),
     87      'MaxArenaPoints' => array('Type' => 'Integer', 'Caption' => 'Max. počet bodů arén', 'Default' => 5000),
     88      'InstantLogout' => array('Type' => 'SecurityLevel', 'Caption' => 'Povolit okamžitého odhlášení', 'Default' => 1),
     89      'DisableWaterBreath' => array('Type' => 'SecurityLevel', 'Caption' => 'Zakázat dýchání pod vodou', 'Default' => 1),         
     90      'AllFlightPaths' => array('Type' => 'Boolean', 'Caption' => 'Povoleny všechny létací cesty', 'Default' => 0),         
     91      'AlwaysMaxSkillForLevel' => array('Type' => 'Boolean', 'Caption' => 'Vždy max. dovednost na úroveň', 'Default' => 0),         
     92      'ActivateWeather' => array('Type' => 'Boolean', 'Caption' => 'Aktivní počasí', 'Default' => 1),         
     93      'CastUnstuck' => array('Type' => 'Boolean', 'Caption' => 'Povolit odblokovací kouzlo pomocí .start', 'Default' => 1),         
     94      'MinPetitionSigns' => array('Type' => 'Integer', 'Caption' => 'Min. počet podpisů k zápisu spolku', 'Default' => 9),         
     95      'MaxGroupXPDistance' => array('Type' => 'Integer', 'Caption' => 'Max. rozdíl XP ve skupině', 'Default' => 74),         
     96      'MailDeliveryDelay' => array('Type' => 'Integer', 'Caption' => 'Zpoždění doručení pošty', 'Default' => 3600),         
     97      'Event.Announce' => array('Type' => 'Boolean', 'Caption' => 'Ohlašování událostí', 'Default' => 0),         
     98      'AllowTwoSide.Accounts' => array('Type' => 'Boolean', 'Caption' => 'Povolit účty s postavami obou stran', 'Default' => 0),         
     99      'AllowTwoSide.Interaction.Chat' => array('Type' => 'Boolean', 'Caption' => 'Povolit komunikaci mezi stranami', 'Default' => 0),         
     100      'AllowTwoSide.Interaction.Channel' => array('Type' => 'Boolean', 'Caption' => 'Povolit kanály mezi stranami', 'Default' => 0),
     101      'AllowTwoSide.WhoList' => array('Type' => 'Boolean', 'Caption' => 'Povolit obě strany v seznamu přítomných', 'Default' => 0),               
     102    ),
     103  ); 
     104 
    5105  function ShowListOnRow($Row)
    6106  {
     
    18118    $Server->UpdateServerList();
    19119    $Output = '<h4>Seznam serverů</h4>';
    20     $Table = new Table('ServerList');
     120    $Table = new Table($this->ItemListFormClass);
    21121    $Table->OnRow = array($this, 'ShowListOnRow');
    22122    $Table->Definition['Items']['Id'] = array('Type' => 'Hidden', 'Caption' => '', 'Default' => '');
     
    51151    {
    52152    $Output = '<h4>Podrobnosti serveru</h4>';
    53     $Form = new Form('ServerView');
     153    $Form = new Form($this->ViewFormClass);
    54154    $Form->LoadValuesFromDatabase($Id);
    55155    $Form->Definition['Items']['Realmlist'] = array('Type' => 'String', 'Caption' => 'Adresa k připojení', 'Default' => '');   
     
    82182    $Output .= ' <a href="?Action=GameAccountRegister&amp;Id='.$Server->Id.'">Vytvoření herního účtu</a>';
    83183    $Output .= '</div>';
    84     } else $Output = $this->SystemMessage('Zobrazení serveru', 'Server se zadaným id nenalezen.');
     184   
     185    // Show realmlist
     186    $RealmView = new RealmView($this->Database, $this->System);
     187    $Output .= $RealmView->ItemList();
     188    } else $Output = $this->System->SystemMessage('Zobrazení serveru', 'Server se zadaným id nenalezen.');
    85189    return($Output);
    86190  }
     
    88192  function Add()
    89193  {
     194    global $Config;
     195   
    90196    $Output = '';
    91197    if($this->System->Modules['User']->User['Role'] >= USER_ROLE_USER)
     
    98204        $DbResult = $this->Database->query('SELECT COUNT(*) FROM Server WHERE User='.$this->System->Modules['User']->User['Id']);
    99205        $DbRow = $DbResult->fetch_row();
    100         if($DbRow[0] > 0) $Output .= $this->SystemMessage('Nový server', 'Lze vytvořit pouze jeden server pro každý uživatelský účet.');
     206        if($DbRow[0] > 0) $Output .= $this->System->SystemMessage('Nový server', 'Lze vytvořit pouze jeden server pro každý uživatelský účet.');
    101207        else
    102208        {
    103           $Form = new Form('ServerCreate');
     209          $Form = new Form($this->CreateFormClass);
    104210          $Form->LoadValuesFromForm();
    105211          $Form->OnSubmit = '?Action=ServerCreate';
     
    107213          $Output .= $Form->ShowEditForm();
    108214        }
    109       } else $Output .= $this->SystemMessage('Nový server', 'Nelze vytvářet další servery');
     215      } else $Output .= $this->System->SystemMessage('Nový server', 'Nelze vytvářet další servery');
    110216    } else $Output .= USER_BAD_ROLE;
    111217    return($Output);
     
    119225      $DbResult = $this->Database->query('SELECT COUNT(*) FROM Server WHERE User='.$this->System->Modules['User']->User['Id']);
    120226      $DbRow = $DbResult->fetch_row();
    121       if($DbRow[0] > 0) $Output .= $this->SystemMessage('Nový server', 'Lze vytvořit pouze jeden server pro každý uživatelský účet.');
     227      if($DbRow[0] > 0) $Output .= $this->System->SystemMessage('Nový server', 'Lze vytvořit pouze jeden server pro každý uživatelský účet.');
    122228      else
    123229      {
     
    129235        if($NewPortWorldd < $Config['BaseNetworkPortWorldd']) $NewPortWorldd = $Config['BaseNetworkPortWorldd'];
    130236           
    131         $Form = new Form('ServerCreate', array());
     237        $Form = new Form($this->CreateFormClass, array());
    132238        $Form->LoadValuesFromForm();
    133239        $this->Database->insert('Server', array('Name' => $Form->Values['Name'], 'Description' => $Form->Values['Description'], 'User' => $this->System->Modules['User']->User['Id'], 'Motd' => $Form->Values['Motd'], 'Homepage' => $Form->Values['Homepage'], 'Type' => $Form->Values['Type'], 'Database' => $Form->Values['Database'], 'NetworkPortWorldd' => $NewPortWorldd, 'NetworkPortRealmd' => $NewPortRealmd, 'Lock' => 1, 'TimeCreate' => 'NOW()'));
     
    135241        $Server = new Server($this->Database, $LastInsertId);
    136242        $Server->CreateDatabase();           
    137         $Output .= $this->SystemMessage('Vytvoření serveru', $Server->ImportDatabase(true));
     243        $Output .= $this->System->SystemMessage('Vytvoření serveru', $Server->ImportDatabase(true));
    138244        $Output .= $this->ShowTaskList();
    139245        //$UserOptions->LoadValuesFromDatabase($this->System->Modules['User']->User['Id']);
     
    151257    if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
    152258    {
    153       $Form = new Form('ServerEdit', array());
     259      $Form = new Form($this->EditFormClass, array());
    154260      $Form->LoadValuesFromForm();
    155261      $ServerId = $_POST['ServerId'];
    156262      unset($Form->Values['ServerId']);
    157       $Output .= $this->SystemMessage('Upravit server', 'Nastavení serveru uloženo.');
     263      $Output .= $this->System->SystemMessage('Upravit server', 'Nastavení serveru uloženo.');
    158264      $Form->SaveValuesToDatabase($_POST['ServerId']);
    159265      $Form->OnSubmit = '?Action=ServerSave';
     
    163269      $Form->Values['ServerId'] = $ServerId;
    164270      $Output .= $Form->ShowEditForm();
    165     } else $Output = $this->SystemMessage('Nastavení serveru', 'Nemáte oprávnění');
     271    } else $Output = $this->System->SystemMessage('Nastavení serveru', 'Nemáte oprávnění');
    166272    return($Output);
    167273  }
     
    173279    if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
    174280    {
    175       $Form = new Form('ServerEdit');
     281      $Form = new Form($this->EditFormClass);
    176282      $Form->LoadValuesFromDatabase($_GET['Id']);
    177283      $Form->Values['ServerId'] = $_GET['Id'];
     
    188294    if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
    189295    {
    190       $Form = new Form('ServerSettingDetailed');
     296      $Form = new Form($this->$SettingDetailedFormClass);
    191297      $EmulatorConfig = new MangosConfigurationFile($this->Database);
    192298      $EmulatorConfig->Load('../server/'.$Server->Id.'/etc/mangosd.conf');
     
    195301      $Form->OnSubmit = '?Action=ServerSaveDetailed';
    196302      $Output .= $Form->ShowEditForm();
    197     } else $this->SystemMessage('Nastavení serveru', 'Nemáte oprávnění');
     303    } else $this->System->SystemMessage('Nastavení serveru', 'Nemáte oprávnění');
    198304    return($Output);   
    199305  }
     
    205311    if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
    206312    {
    207       $Form = new Form('ServerSettingDetailed', array());
     313      $Form = new Form($this->$SettingDetailedFormClass, array());
    208314      $Form->LoadValuesFromForm();
    209315      $EmulatorConfig = new MangosConfigurationFile($this->Database);
     
    214320      $ServerId = $_POST['ServerId'];
    215321      unset($Form->Values['ServerId']);
    216       $Output .= $this->SystemMessage('Upravit server', 'Nastavení serveru uloženo.');
     322      $Output .= $this->System->SystemMessage('Upravit server', 'Nastavení serveru uloženo.');
    217323      //$Form->SaveValuesToDatabase($_POST['ServerId']);
    218324      $Form->OnSubmit = '?Action=ServerSaveDetailed';
     
    222328      $Form->Values['ServerId'] = $ServerId;
    223329      $Output .= $Form->ShowEditForm();
    224     } else $this->SystemMessage('Nastavení serveru', 'Nemáte oprávnění');
     330    } else $this->System->SystemMessage('Nastavení serveru', 'Nemáte oprávnění');
    225331    return($Output);
    226332  }
     
    234340      if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
    235341      {
    236         $Output .= $this->SystemMessage('Spuštění serveru', $Server->Start());
     342        $Output .= $this->System->SystemMessage('Spuštění serveru', $Server->Start());
    237343        $Output .= $this->ShowTaskList();
    238       } else $this->SystemMessage('Spuštění serveru', 'Nemáte oprávnění');
     344      } else $this->System->SystemMessage('Spuštění serveru', 'Nemáte oprávnění');
    239345    } else $Output .= USER_BAD_ROLE;
    240346    return($Output);
     
    249355      if(($this->System->Modules['User']->User['Id'] == $Server->Server['User']) or ($this->System->Modules['User']->User['Role'] >= USER_ROLE_ADMINISTRATOR))
    250356      {
    251         $Output .= $this->SystemMessage('Zastavení serveru', $Server->Stop());
     357        $Output .= $this->System->SystemMessage('Zastavení serveru', $Server->Stop());
    252358        $Output .= $this->ShowTaskList();
    253       } else $this->SystemMessage('Zastavení serveru', 'Nemáte oprávnění');
     359      } else $this->System->SystemMessage('Zastavení serveru', 'Nemáte oprávnění');
    254360    } else $Output .= USER_BAD_ROLE;
    255361    return($Output);
     
    258364  function AccountCreate()
    259365  {
    260     $Form = new Form('GameAccountNew');
     366    $Form = new Form($this->GameAccountNewFormClass);
    261367    $Form->LoadValuesFromForm();
    262368    $Form->Values['ServerId'] = $_GET['Id'];
     
    268374  function AccountCreateFinish()
    269375  {
    270     $Form = new Form('GameAccountNew');
     376    $Form = new Form($this->GameAccountNewFormClass);
    271377    $Form->LoadValuesFromForm();
    272378    $Server = new Server($this->Database, $Form->Values['ServerId']);
    273     $Output = $this->SystemMessage('Vytvoření herního účtu', $Server->NewAccount($Form->Values['Name'], $Form->Values['Password'], $Form->Values['Password2'], $Form->Values['Email'], $Form->Values['Expansion']));
     379    $Output = $this->System->SystemMessage('Vytvoření herního účtu', $Server->NewAccount($Form->Values['Name'], $Form->Values['Password'], $Form->Values['Password2'], $Form->Values['Email'], $Form->Values['Expansion']));
    274380    $Output .= '<a href="?Action=GameAccountRegister&amp;Id='.$Form->Values['ServerId'].'">Zpět k zadání údajů</a>';
    275381    return($Output);
Note: See TracChangeset for help on using the changeset viewer.