Пример #1
0
 public function solution_version_switch_download_lock($solution_version_id)
 {
     $this->_transaction_isolation();
     $this->db->trans_begin();
     $output = new stdClass();
     $output->status = FALSE;
     $output->value = FALSE;
     $output->message = $this->lang->line('admin_solutions_valuation_version_metadata_download_lock_error_cant_found');
     $solution_version = new Solution_version();
     $solution_version->include_related('solution');
     $solution_version->get_by_id((int) $solution_version_id);
     if ($solution_version->exists()) {
         $output->value = $solution_version->download_lock == 0 ? FALSE : TRUE;
         $solution_version->download_lock = $solution_version->download_lock == 0 ? 1 : 0;
         if ($solution_version->save()) {
             $output->value = $solution_version->download_lock == 0 ? FALSE : TRUE;
             $output->status = TRUE;
             if ($output->value) {
                 $output->message = $this->lang->line('admin_solutions_valuation_version_metadata_download_lock_enabled');
             } else {
                 $output->message = $this->lang->line('admin_solutions_valuation_version_metadata_download_lock_disabled');
             }
             $this->db->trans_commit();
             $this->_action_success();
             $this->output->set_internal_value('student_id', (int) $solution_version->solution_student_id);
         } else {
             $output->message = $this->lang->line('admin_solutions_valuation_version_metadata_download_lock_error_cant_save');
             $this->db->trans_rollback();
         }
     }
     $this->output->set_content_type('application/json');
     $this->output->set_output(json_encode($output));
 }