public static function getForm() { $alert = $success = $message = $email_phone = $temp = $name = $check = false; /* defining variables values */ if (!empty($_POST)) { $check = true; if (!empty($_POST['message'])) { $temp = self::trim($_POST['message']); if (!empty($temp)) { $message = $temp; } } if (!empty($_POST['name'])) { $temp = self::trim($_POST['name']); if (!empty($temp)) { $name = $temp; } } if (!empty($_POST['email_phone'])) { $temp = self::trim($_POST['email_phone']); if (!empty($temp)) { $email_phone = $temp; } } } /* validating */ if ($check === true) { if (empty($name)) { $alert = self::$emptyNameAlertText; } elseif (empty($email_phone)) { $alert = self::$emptyEmailPhoneAlertText; } elseif (empty($message)) { $alert = self::$emptyMessageAlertText; } else { /* spam defence */ self::checkTable(); $today = date('Y-m-d'); $identity = self::getIdentity(); $todayMessages = DB::select([DB::expr('COUNT(id)'), 'c'])->from(self::$tableName)->where('`date`', '=', $today)->where('identity', '=', $identity)->execute()->get('c'); if ($todayMessages < self::$attempsPerDay) { $model = new Model_Feedback(); $model->date = $today; $model->message = $message; $model->name = $name; $model->email_phone = $email_phone; $model->identity = $identity; $model->save(); self::afterSuccess($today, $name, $email_phone, $message); $message = $email_phone = $name = ''; $success = self::$successText; } else { $alert = self::$spamAlertText; } } } /* rendering */ $form = View::factory('feedback/form', ['message' => $message, 'name' => $name, 'alert' => $alert, 'success' => $success, 'email_phone' => $email_phone]); return $form; }
public function action_delete($id = null) { is_null($id) and Response::redirect('feedback'); if ($feedback = Model_Feedback::find($id)) { $feedback->delete(); Session::set_flash('success', 'Deleted feedback #' . $id); } else { Session::set_flash('error', 'Could not delete feedback #' . $id); } Response::redirect('feedback'); }
public function action_feedback() { if (Input::method() == 'POST') { $val = Model_Feedback::validate('create'); if ($val->run()) { $feedback = Model_Feedback::forge(array('feedback' => Input::post('feedback'), 'user_id' => Input::post('user_id'))); if ($feedback and $feedback->save()) { Session::set_flash('success', 'Added feedback #' . $feedback->id . '.'); Response::redirect('backend/index/thankyou'); } else { Session::set_flash('error', 'Could not save feedback.'); } } else { Session::set_flash('error', $val->error()); } } $this->template->title = 'We Value your Feedback'; $data['user_id'] = $this->_userId; $this->template->content = View::forge('backend/index/feedback/create', $data); }