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)); }