/** * * Сохраняет код решения для нужного задания * Если студент не задан, то сохраняем для залогинившегося пользователя * **/ public function actionSave($id, $status = null, $student = null) { // Если студент не задан, то сохраняет для залогинившегося if (!isset($student)) { $student = $_SESSION['user']; } $task = Tasks::model()->findByPk($id); if ($solution = Solutions::model()->findByAttributes(array("task" => $id, "student" => $student))) { } else { $solution = new Solutions(); $solution->student = $student; $solution->status = "check"; $solution->task = $id; } // обновляем количество полученных поинтов $solution->earned = $task->points; $solution->course = $task->course; $solution->status = "check"; // запоминаем каждое добавленное значение в решении foreach ($_REQUEST['Solutions'] as $key => $value) { $solution->{$key} = $value; } // если был задан статус – добавляем статус if (isset($status)) { $solution->status = $status; } if ($solution->save()) { Yii::app()->notify->add(" Изменения сохранены", "success"); } else { Yii::app()->notify->add(" Не удалось сохранить изменения", "danger"); print_r($solution->getErrors()); } }