Пример #1
0
 /**
  * News anlegen
  *
  * @post /course/:course_id/news
  * @post /user/:user_id/news
  * @post /studip/news
  */
 public function createNews($range_id = 'studip')
 {
     if (!\StudipNews::haveRangePermission('edit', $range_id, $GLOBALS['user']->id)) {
         $this->error(401, "Not authorized to create a news here.");
     }
     $news = new \StudipNews();
     $news->setData(array('user_id' => $GLOBALS['user']->id, 'author' => $GLOBALS['user']->getFullName(), 'topic' => trim(@$this->data['topic']), 'body' => trim(@$this->data['body']), 'date' => time(), 'expire' => isset($this->data['expire']) ? intval($this->data['expire']) : 2 * 7 * 24 * 60 * 60, 'allow_comments' => isset($this->data['allow_comments']) ? intval($this->data['allow_comments']) : 0));
     $news->addRange($range_id);
     if ($errors = $this->validateNews($news)) {
         $this->error(400, compact('errors'));
     }
     if (!$news->store()) {
         $this->error(500);
     }
     $news->storeRanges();
     $this->redirect('news/' . $news->id, 201, "ok");
 }