public function save()
 {
     $req = $this->app->request();
     if ($req->isPost()) {
         $v = $this->validator($this->post());
         $v->rule('required', array('title', 'idea'));
         if ($v->validate()) {
             $p = $this->post();
             $idea = new Idea();
             $idea->title = $p['title'];
             $idea->content = $p['idea'];
             $idea->user_id = $this->user->id;
             $idea->ip_address = $req->getIp();
             $idea->display = DISPLAY_OPTION;
             $idea->save();
             $id = $idea->id;
             if ($id) {
                 $this->successFlash(sprintf('You have successfully saved %s', $id));
                 $this->redirect('home');
             }
             $this->app->flashNow('error', 'Your idea was not saved.');
         }
         $this->app->flash('formError', $this->errorOutput($v->errors(), true));
         $this->redirect('home');
     }
     $this->render('ideas/idea');
 }
 public static function findOrCreate($description)
 {
     $qb = Idea::query();
     $idea = $qb->where('description', '=', $description)->first();
     if (!$idea) {
         $idea = new Idea();
         $idea->description = $description;
         $idea->save();
     }
     return $idea;
 }
Beispiel #3
0
 public function post($identity)
 {
     if (\Request::segment($identity) == 'likes') {
         ### POST /ideas/<guid>/likes
         $idea = new \Idea($identity);
         if (!$idea->likers->exists($this->visitor->username)) {
             $idea->likers->add($this->visitor->username);
             $idea->save();
         }
         return new \ApiResponse($idea->likers->count());
     }
     ### POST /ideas/
     if (!\Request::get('summary')) {
         return new \ApiMissParameterResponse();
     }
     $idea = new \Idea(\Request::get('guid'));
     $idea->creator = $this->visitor->username;
     $idea->summary = \Request::get('summary');
     $idea->tags->add(array_filter(explode(' ', \Request::get('tags'))));
     $idea->save();
     return new \ApiResponse($idea->guid);
 }
Beispiel #4
0
 * Created by PhpStorm.
 * User: DiD
 * Date: 02/10/2015
 * Time: 14:15
 */
include 'common.php';
if (isset($_POST['idea-id'], $_POST['name'], $_POST['description'])) {
    if (is_numeric($_POST['idea-id'])) {
        $idea = Database::getOne('ideas', array('id' => $_POST['idea-id']));
    } else {
        $idea = new Idea();
    }
    if ($idea) {
        $idea->name = $_POST['name'];
        $idea->description = $_POST['description'];
        $idea->save();
        $possibilities = Database::getAll('possibilities', array('idea' => $_POST['idea-id']));
        foreach ($possibilities as $possibility) {
            if (isset($_POST['possibility_' . $possibility->id]) && isset($_POST['possibility_code_' . $possibility->id]) && !empty($_POST['possibility_' . $possibility->id])) {
                $possibility->name = htmlspecialchars($_POST['possibility_' . $possibility->id]);
                $possibility->code = htmlspecialchars($_POST['possibility_code_' . $possibility->id]);
                $possibility->save();
            } else {
                $possibility->delete();
            }
        }
        foreach ($_POST['possibility_new'] as $index => $possibilityName) {
            if (!empty($possibilityName)) {
                $possibility = new Possibility();
                $possibility->idea = $idea->id;
                $possibility->name = htmlspecialchars($possibilityName);