Ejemplo n.º 1
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;
 }
Ejemplo n.º 2
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;
 }