public function saveItem() { $cat_id = Input::get('cat_id'); $item_id = Input::get('id'); //获取表单 if ($cat_id == 0) { //新闻编辑 $title = Input::get('title'); $content = Input::get('content'); $abstract = Input::get('abstract'); $item = News::find($item_id); } else { if ($cat_id == 1) { //项目编辑 $title = Input::get('title'); $content = Input::get('content'); $abstract = Input::get('abstract'); $begin_time = Input::get('begin_time'); $end_time = Input::get('end_time'); $item = Researches::find($item_id); } else { if ($cat_id == 2) { //通知编辑 // $title = Input::get('title'); $content = Input::get('content'); $item = Notices::find($item_id); } else { if ($cat_id == 3) { //课程编辑 $course_name = Input::get('course_name'); $course_info = Input::get('course_info'); $teacher_address = Input::get('teacher_address'); $teacher_mail = Input::get('teacher_mail'); $TA_name = Input::get('TA_name'); $TA_address = Input::get('TA_address'); $TA_mail = Input::get('TA_mail'); $item = Courses::find($item_id); $homeworks = Courses::find($item_id)->homework; $coursewares = Courses::find($item_id)->courseware; $course_notices = Courses::find($item_id)->comments; foreach ($course_notices as $notice) { $update_notice = Comments::find($notice->id); $update_notice->comment = Input::get('course_notice_content' . $notice->id); $update_notice->updated_at = date("Y-m-d H:i:s"); $update_notice->save(); } foreach ($homeworks as $homework) { //对已有项进行编辑 $delete_or_not = Input::get('homework_delete' . $homework->id); if ($delete_or_not) { //如果标记为删除则将已有作业进行删除 $delete_item = Homework::find($homework->id); $delete_item->delete(); } else { $update_item = Homework::find($homework->id); $update_item->homework_item = Input::get('homework_label' . $homework->id); $update_item->submit_deadline = Input::get('homework_submit_time' . $homework->id); $update_item->deliver_deadline = Input::get('homework_deliver_time' . $homework->id); $update_item->updated_at = date("Y-m-d H:i:s"); $update_item->save(); } } foreach ($coursewares as $courseware) { $update_item = Courseware::find($courseware->id); $update_item->label = Input::get('courseware_label' . $courseware->id); $update_file_source = 'courseware_ppt' . $courseware->id; $new_source = HomeController::upload_course($item_id, $update_file_source); if ($new_source != "") { //跟新源的同时将旧的课件删除 HomeController::delete_file($update_item->source); $update_item->source = $new_source; } else { } $update_item->updated_at = date("Y-m-d H:i:s"); $update_item->save(); } } } } } //保存数据 if ($item) { //表中已经存在该条目 if ($cat_id == 0) { //新闻编辑 $item->title = $title; $item->content = $content; $item->abstract = $abstract; $item->save(); return Redirect::to(URL::to('/news-detail', [$item_id])); } else { if ($cat_id == 1) { //项目编辑 $item->title = $title; $item->content = $content; $item->abstract = $abstract; $item->begin_time = $begin_time; $item->end_time = $end_time; $item->save(); return Redirect::to(URL::to('/research-detail', [$item_id])); } else { if ($cat_id == 2) { //通知编辑 $item->title = $title; $item->content = $content; $item->save(); return Redirect::to(URL::to('/notice-detail', [$item_id])); } else { if ($cat_id == 3) { //课程编辑 $item->course_name = $course_name; $item->course_info = $course_info; $item->teacher_address = $teacher_address; $item->teacher_mail = $teacher_mail; $item->TA_name = $TA_name; $item->TA_address = $TA_address; $item->TA_mail = $TA_mail; $item->save(); $course_notices_add_count = Input::get('course_notice_add_count'); if ($course_notices_add_count) { //增加新的通知 for ($i = 1; $i <= $course_notices_add_count; $i++) { $add_or_not = Input::get('course_notice_add_or_not' . $i); if (!$add_or_not) { $notice = new Comments(); $notice->course_id = $item_id; $notice->comment = Input::get('course_notice_add_content' . $i); $notice->created_at = date("Y-m-d H:i:s"); $notice->updated_at = date("Y-m-d H:i:s"); $notice->save(); } } } $homework_add_count = Input::get('homework_add_count'); if ($homework_add_count) { //当添加了新的作业,将其添加到homework数据库中 for ($i = 1; $i <= $homework_add_count; $i++) { $add_or_not = Input::get('homework_add_or_not' . $i); if (!$add_or_not) { $homework = new Homework(); $homework->course_id = $item_id; $homework->homework_item = Input::get('homework_add_item' . $i); $homework->submit_deadline = Input::get('homework_add_submit_time' . $i); $homework->deliver_deadline = Input::get('homework_add_deliver_time' . $i); $homework->created_at = date("Y-m-d H:i:s"); $homework->updated_at = date("Y-m-d H:i:s"); $homework->save(); } } } $courseware_add_count = Input::get('courseware_add_count'); if ($courseware_add_count) { //当添加了新的课件,将其添加到courseware表中 for ($i = 1; $i <= $courseware_add_count; $i++) { $courseware = new Courseware(); $courseware->course_id = $item_id; $courseware->label = Input::get('courseware_add_label' . $i); //先将课件上传到数据库中 $file_source = 'courseware_add_source' . $i; $courseware->source = HomeController::upload_course($item_id, $file_source); $courseware->created_at = date("Y-m-d H:i:s"); $courseware->updated_at = date("Y-m-d H:i:s"); $courseware->save(); } } return Redirect::to(URL::to('/course', [$item_id])); } } } } } else { //对已有条目进行更新 if ($cat_id == 0) { //新闻条目 News::insert(['title' => $title, 'abstract' => $abstract, 'content' => $content]); $item = News::all()->last(); return Redirect::to(URL::to('/news-detail', [$item->id])); } else { if ($cat_id == 1) { //项目条目 Researches::insert(['title' => $title, 'abstract' => $abstract, 'content' => $content, 'begin_time' => $begin_time, 'end_time' => $end_time]); $item = Researches::all()->last(); return Redirect::to(URL::to('/research-detail', [$item->id])); } else { if ($cat_id == 2) { //通知编辑 Notices::insert(['title' => $title, 'content' => $content]); $item = Notices::all()->last(); return Redirect::to(URL::to('/notice-detail', [$item->id])); } else { if ($cat_id == 3) { Courses::insert(['course_name' => $course_name, 'course_info' => $course_info, 'teacher_address' => $teacher_address, 'TA_name' => $TA_name, 'TA_address' => $TA_address]); $item = Courses::all()->last(); return Redirect::to(URL::to('/course', [$item->id])); } } } } } //return View::make('/news-detail',[$item_id]); }
public function create_homework() { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); $data["actions"] = Session::get('actions'); if (in_array('side_nueva_tarea', $data["actions"])) { $current_ay = AcademicYear::getCurrentAcademicYear(); if (!$current_ay) { return View::make('homeworks/academic_year_error', $data); } // Validate the info, create rules for the inputs $attributes = array('title' => 'Nombre o Título de la Tarea', 'description' => 'Descripción de la Tarea', 'due_date' => 'Fecha de entrega de la Tarea', 'course_id' => 'Curso', 'level_id' => 'Nivel'); $messages = array(); $rules = array('title' => 'required|min:2|max:45', 'description' => 'required|max:300', 'course_id' => 'required', 'level_id' => 'required'); // Run the validation rules on the inputs from the form $validator = Validator::make(Input::all(), $rules, $messages, $attributes); // If the validator fails, redirect back to the form if ($validator->fails()) { return Redirect::to('homeworks/new_homework')->withErrors($validator)->withInput(Input::all()); } else { $level_id = Input::get('level_id'); if ($level_id) { $course_id = Input::get('course_id'); if ($course_id) { // se crea la tarea $homework = new Homework(); $homework->title = Input::get('title'); $homework->description = Input::get('description'); $d = Input::get('due_date'); if ($d != '') { $homework->due_date = date('Y-m-d', strtotime($d)); } $homework->course_id = $course_id; $homework->academic_year_id = AcademicYear::getCurrentAcademicYear()->id; $homework->save(); Session::flash('message', 'Se creó correctamente la tarea.'); // Llamo a la función para registrar el log de auditoria $log_description = "Se creó la Tarea con id: {{$homework->id}}"; Helpers::registerLog(3, $log_description); return Redirect::to('homeworks/view_homeworks')->withInput(Input::all()); } else { Session::flash('error', 'Debe seleccionar un curso.'); return Redirect::to('homeworks/new_homework')->withInput(Input::all()); } } else { Session::flash('error', 'Debe seleccionar un nivel.'); return Redirect::to('homeworks/new_homework')->withInput(Input::all()); } } } else { // Llamo a la función para registrar el log de auditoria $log_description = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'"; Helpers::registerLog(10, $log_description); Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.'); return Redirect::to('/dashboard'); } } else { return View::make('error/error'); } }