예제 #1
0
파일: 01CSCLog.php 프로젝트: Nazg-Gul/gate
 function AppendEntry($module, $status, $message)
 {
     if (!$this->settings['active']) {
         return false;
     }
     $message = trim($message);
     if ($message == '') {
         return false;
     }
     $module = db_html_string($module);
     $status = db_html_string($status);
     $message = db_html_string($message);
     db_insert('log', array('timestamp' => time(), 'module' => "{$module}", 'status' => "{$status}", 'message' => "{$message}"));
     return true;
 }
예제 #2
0
 function Create($name, $lid)
 {
     $gw = WT_spawn_new_gateway();
     if (!$gw->GetAllowed('CONTEST.CREATE')) {
         return;
     }
     if (trim($name) == '') {
         add_info('Имя создаваемого контеста не может быть пустым');
     }
     if (db_count('tester_contests', '`name`=' . db_html_string($name) . ' AND `lid`=' . $lid) > 0) {
         add_info('Контест с таким именем уже существует в списке ' . 'контестов указанной библиотеки.');
         return;
     }
     $_POST = array();
     $lib = WT_spawn_new_library($lid);
     $params = array();
     $lib->PerformCreation(&$params);
     db_insert('tester_contests', array('name' => db_html_string($name), 'lid' => $lid, 'status' => 0, 'settings' => db_string(serialize($params))));
     $this->FillData();
 }
예제 #3
0
 function Contest_Save($id, $clear = false)
 {
     global $noarchive;
     $contest = WT_contest_by_id($id);
     $name = FormPOSTValue('name', 'ContestSettings');
     if (trim($name) == '') {
         add_info('Название контеста не может быть пустым.');
         return false;
     }
     $settings = $contest['settings'];
     $settings['rules'] = atoi(FormPOSTValue('rules', 'ContestSettings'));
     $settings['duration'] = atoi(FormPOSTValue('duration', 'ContestSettings'));
     $settings['freezetime'] = atoi(FormPOSTValue('freezetime', 'ContestSettings'));
     $settings['penalty'] = atoi(FormPOSTValue('penalty', 'ContestSettings'));
     $settings['trycount'] = atoi(FormPOSTValue('trycount', 'ContestSettings'));
     $settings['unfrozen'] = atoi(FormPOSTValue('unfrozen', 'ContestSettings'));
     $settings['viewdetail'] = atoi(FormPOSTValue('viewdetail', 'ContestSettings'));
     $settings['show_last_accepted'] = atoi(FormPOSTValue('show_last_accepted', 'ContestSettings'));
     $settings['ignore_ce'] = atoi(FormPOSTValue('ignore_ce', 'ContestSettings'));
     $settings['autostart'] = $_POST['contest_autostart'];
     if ($settings['autostart']) {
         $date = new CDCDate();
         $date->Init();
         $date->ReceiveValue('contest_autostart_date');
         $settings['autostart.date'] = $date->GetValue();
         $time = new CDCDate();
         $time->Init();
         $time->ReceiveValue('contest_autostart_time');
         $settings['autostart.time'] = $time->GetValue();
     }
     if (!$noarchive) {
         if ($_FILES['archive']['name'] != '') {
             file_unlink_encrypted($settings['archive']);
             $data = $_FILES['archive'];
             if (WT_contest_running($id) || WT_contest_finished($id)) {
                 $blocked = 0;
             } else {
                 $blocked = 1;
             }
             $settings['archive'] = file_store_encrypted($data, 1, $blocked);
         }
     } else {
         file_unlink_encrypted($settings['archive']);
         $settings['archive'] = '';
     }
     $update = array('name' => db_html_string($name), 'settings' => db_string(serialize($settings)));
     db_update('tester_contests', $update, "`id`={$id}");
     return true;
 }
예제 #4
0
 function UpdateCat($id, $name)
 {
     if (trim($name) == '') {
         add_info('Название подкаталога не может быть пустым.');
         return false;
     }
     db_update($this->settings['content'], array('name' => db_html_string($name)), "`id`={$id}");
     return true;
 }
예제 #5
0
 function Contest_Save($id, $clear = false)
 {
     global $noarchive;
     if (!$this->GetAllowed('CONTEST.MANAGE')) {
         return;
     }
     $contest = WT_contest_by_id($id);
     $name = FormPOSTValue('name', 'ContestSettings');
     if (trim($name) == '') {
         add_info('Название контеста не может быть пустым.');
         return false;
     }
     $settings = $contest['settings'];
     $settings['duration'] = atoi(FormPOSTValue('duration', 'ContestSettings'));
     $settings['timelimit'] = atoi(FormPOSTValue('timelimit', 'ContestSettings'));
     $settings['trycount'] = atoi(FormPOSTValue('trycount', 'ContestSettings'));
     $settings['autostart'] = $_POST['contest_autostart'];
     if ($settings['autostart']) {
         $date = new CDCDate();
         $date->Init();
         $date->ReceiveValue('contest_autostart_date');
         $settings['autostart.date'] = $date->GetValue();
         $time = new CDCDate();
         $time->Init();
         $time->ReceiveValue('contest_autostart_time');
         $settings['autostart.time'] = $time->GetValue();
     }
     $update = array('name' => db_html_string($name), 'settings' => db_string(serialize($settings)));
     db_update('tester_contests', $update, "`id`={$id}");
     return true;
 }