function mapautotrim()
 {
     perm('worlds', 'runMapAutoTrim', $this->Session->read("user_perm"), true);
     if (!$this->request->is('post')) {
         throw new MethodNotAllowedException();
     }
     require APP . 'spacebukkitcall.php';
     //notify users
     $args = array($this->Session->read("Sbvars.10"), '$bServer will shut down shortly due to map mainteniance with MapAutoTrim');
     $api->call("broadcastWithName", $args, false);
     sleep(10);
     //run MapAutoTrim
     $vars = $this->request->data;
     $args2 = array($vars['world'], $vars['dilatation'], $vars['blocks']);
     $api->call("runMapTrimmer", $args2, true);
     sleep(5);
     w_serverlog($this->Session->read("current_server"), __('[WORLDS] ') . $this->Auth->user('username') . ' ' . __('ran MapAutoTrim on') . ' ' . $vars['world']);
     while (is_null($api->call('getWorlds', array(), false))) {
         sleep(1);
     }
     $this->redirect($this->referer());
 }
 function deop($name)
 {
     perm('users', 'op', $this->Session->read("user_perm"), true);
     if ($this->request->is('ajax')) {
         $this->disableCache();
         Configure::write('debug', 0);
         $this->autoRender = false;
         include APP . 'spacebukkitcall.php';
         $args = array($name);
         $api->call("deopPlayer", $args, false);
         echo $name . __(' was deopped!');
         w_serverlog($this->Session->read("current_server"), __('[USERS] ') . $this->Auth->user('username') . ' ' . __('deopped') . ' ' . $name);
     }
 }
 function restore($uid, $cleardest)
 {
     // function to restore a certain backup
     perm('backups', 'restore', $this->Session->read("user_perm"), true);
     if ($this->request->is('ajax')) {
         $this->disableCache();
         Configure::write('debug', 0);
         $this->autoRender = false;
         require APP . 'spacebukkitcall.php';
         $args = array($this->Session->read("Sbvars.10"), 'Server is shutting down to restore a backup!');
         $api->call('broadcastWithName', $args, false);
         sleep(3);
         $args = array($uid, $cleardest, true);
         $api->call('restoreBackup', $args, true);
         w_serverlog($this->Session->read("current_server"), __('[WORLDS] ') . $this->Auth->user('username') . ' ' . __('restored') . ' ' . $name);
     }
 }
 function saveBukkitConfig()
 {
     perm('servers', 'serverProperties', $this->Session->read("user_perm"), true);
     require APP . 'spacebukkitcall.php';
     //request replacement data
     $new = $this->request->data;
     $bukkit = array();
     unset($new['save']);
     $args = array("bukkit.yml");
     $bukkityml = $api->call("getFileContent", $args, true);
     $old['spawn-radius'] = $this->get_string_between($bukkityml, 'spawn-radius: ', "\n");
     $old['update-folder'] = $this->get_string_between($bukkityml, 'update-folder: ', "\n");
     $old['permissions-file'] = $this->get_string_between($bukkityml, 'permissions-file: ', "\n");
     $old['connection-throttle'] = $this->get_string_between($bukkityml, 'connection-throttle: ', "\n");
     $old['animal-spawns'] = $this->get_string_between($bukkityml, 'animal-spawns: ', "\n");
     $old['monster-spawns'] = $this->get_string_between($bukkityml, 'monster-spawns: ', "\n");
     $old['allow-end'] = $this->get_string_between($bukkityml, 'allow-end: ', "\n");
     $old['warn-on-overload'] = $this->get_string_between($bukkityml, 'warn-on-overload: ', "\n");
     $old['use-exact-login-location'] = $this->get_string_between($bukkityml, 'use-exact-login-location: ', "\n");
     $old['plugin-profiling'] = $this->get_string_between($bukkityml, 'plugin-profiling: ', "\n");
     if (NULL == isset($new['allow-end'])) {
         $new['allow-end'] = 'false';
     }
     if (NULL == isset($new['warn-on-overload'])) {
         $new['warn-on-overload'] = 'false';
     }
     if (NULL == isset($new['use-exact-login-location'])) {
         $new['use-exact-login-location'] = 'false';
     }
     if (NULL == isset($new['plugin-profiling'])) {
         $new['plugin-profiling'] = 'false';
     }
     foreach ($new as $name => $value) {
         $init = $name . ': ' . $old[$name];
         $result = $name . ': ' . $value;
         $bukkityml = str_replace($init, $result, $bukkityml);
     }
     $args = array("bukkit.yml", $bukkityml);
     $api->call("setFileContent", $args, true);
     w_serverlog($this->Session->read("current_server"), __(__('[SERVERS] ')) . $this->Auth->user('username') . ' ' . __('updated the bukkit.yml'));
     $this->Session->write('Page.tab', 4);
     $this->redirect($this->referer());
 }
 function update_plugin($name)
 {
     perm('plugins', 'updatePlugin', $this->Session->read("user_perm"), true);
     require APP . 'spacebukkitcall.php';
     //Disable plugin
     $args = array($name, true);
     $api->call("pluginUpdate", $args, true);
     $w = $api->call('getWorlds', array(), false);
     while (empty($w)) {
         sleep(2);
         $w = $api->call('getWorlds', array(), false);
     }
     w_serverlog($this->Session->read("current_server"), __('[PLUGINS] ') . $this->Auth->user('username') . ' ' . __('updated') . ' ' . $name);
     $this->redirect(array('controller' => 'Tplugins', 'action' => 'index'));
 }
 function runcommand()
 {
     if ($this->request->is('ajax')) {
         $this->disableCache();
         Configure::write('debug', 0);
         $this->autoRender = false;
         if ($this->request->is('post')) {
             $command = $this->request->data;
             require APP . 'spacebukkitcall.php';
             $command = str_replace("/", "", $command['command']);
             $args = array($command);
             $runConsole = $api->call("consoleCommand", $args, true);
             echo __('The command') . ' "' . $command . '" ' . __('was executed!');
             //Sleep if command is 'stop'
             if ($command == 'stop') {
                 sleep(7);
             }
         }
     }
     w_serverlog($this->Session->read("current_server"), '[GLOBAL] ' . $this->Auth->user('username') . ' ' . __('executed the command') . ' "' . $command . '"');
 }
 function saysomething()
 {
     if ($this->request->is('ajax')) {
         if ($this->request->is('post')) {
             $this->disableCache();
             Configure::write('debug', 0);
             $this->autoRender = false;
             $say = $this->request->data;
             require APP . 'spacebukkitcall.php';
             $args = array($this->Session->read("Sbvars.10"), "(" . $this->Auth->user('username') . ") " . $say['say']);
             $runConsole = $api->call("broadcastWithName", $args, false);
             echo __('You said ') . $say['say'];
             w_serverlog($this->Session->read("current_server"), '[DASHBOARD] ' . $this->Auth->user('username') . ' said "' . $say['say'] . '" ');
         }
     }
 }