public function modify($log_id = null) { ////////////////////////////////////////////////// // Security // ////////////////////////////////////////////////// // Must be logged in if (!$this->valid_logged_in) { redirect('users/login'); } // Must have log_id in url if (!$log_id) { redirect('exercises/view'); } $log = new ExerciseLog($log_id); // Log must exist if (!$log->exists()) { redirect('exercises/view'); } // Exercise from log $exercise = $log->exercise; $exercise->get(); // User from exercise $user = $exercise->user; $user->get(); // User id from exercise must match logged in user if ($user->id != $this->user_id) { redirect('exercises/view'); } ////////////////////////////////////////////////// // End Security // ////////////////////////////////////////////////// $this->load->helper(array('date', 'distance', 'form', 'time')); $this->load->library('form_validation'); if ($this->form_validation->run('exercises_modify_log') == FALSE) { $data['exercise'] = $exercise->getData(); $data['log'] = array('id' => $log->id, 'date' => date_mysql_std($log->date), 'time' => time_seconds_to_units($log->time), 'distance' => distance_meters_to_miles($log->distance), 'laps' => $log->laps, 'wght' => $log->weight, 'reps' => $log->repetitions, 'sets' => $log->sets); $data['content'] = 'exerciselogs/modify'; $data['javascript'] = array('jquery', 'jquery-ui', 'date'); $data['css'] = array('calendar_widget/jquery-ui'); $this->load->view('master', $data); } else { $date = $this->input->post('date'); $time_hours = $this->input->post('time_hours'); $time_minutes = $this->input->post('time_minutes'); $time_seconds = $this->input->post('time_seconds'); $distance = $this->input->post('distance'); $laps = $this->input->post('laps'); $wght = $this->input->post('wght'); $reps = $this->input->post('reps'); $sets = $this->input->post('sets'); $log->distance = distance_miles_to_meters($distance); $log->time = time_seconds($time_hours, $time_minutes, $time_seconds); $log->date = date_std_mysql($date); $log->laps = $laps; $log->weight = $wght; $log->repetitions = $reps; $log->sets = $sets; $log->save(); redirect('exercises/view'); } }
public function view_one($exercise_id = null) { // Must be logged in and exercise_id must be supplied if (!$this->valid_logged_in) { redirect('users/login'); } if (!$exercise_id) { redirect('exercises/view'); } $this->load->helper(array('time', 'distance', 'date')); // Get exercise from user $user = new User($this->user_id); $exercise = $user->exercise; $exercise->where('id', $exercise_id); $exercise->get(); // Get exercise logs $exercise_logs = $exercise->exerciselog; $exercise_logs->get(); $logs = array(); $data = $exercise->getData(); foreach ($exercise_logs as $log) { $logs[$log->id] = array('id' => $log->id, 'date' => date_mysql_std($log->date), 'time' => time_seconds_to_string($log->time), 'distance' => distance_meters_to_miles($log->distance), 'laps' => $log->laps, 'wght' => $log->weight, 'reps' => $log->repetitions, 'sets' => $log->sets); } $data['exercise'] = $exercise->getData(); $data['exercise']['logs'] = $logs; $data['title'] = $exercise->name; $data['content'] = 'exercises/view_one'; $data['javascript'] = array('datatables/media/js/jquery', 'datatables/media/js/jquery.dataTables', 'jqplot/jquery.jqplot.min', 'jqplot/plugins/jqplot.canvasTextRenderer.min', 'jqplot/plugins/jqplot.canvasAxisLabelRenderer.min', 'jqplot/plugins/jqplot.dateAxisRenderer.min', 'jqplot/plugins/jqplot.cursor.min', 'jqplot/plugins/jqplot.barRenderer.min', 'exercises/view_one', 'exerciselogs/logtable'); $data['css'] = array('datatables/jquery.dataTables', 'jquery.jqplot.min'); $this->load->view('master', $data); }