Пример #1
0
 /**
  * Aggiunge un post "semplice" al sistema.
  *
  * @param data: array associativo contenente i dati.
  * Le chiavi ricercate dal sistema per questo array sono:
  * title: titolo del post (string filtrata)
  * subtitle: sottotitolo del post (string filtrata)
  * headline: occhiello del post (string filtrata)
  * author: id dell'autore (long)
  * tags: array di oggetti Tag
  * categories: array di oggetti Category
  * content: il testo di un articolo (string filtrata), l'indirizzo del videoreportage o l'elenco di indirizzi delle foto di un fotoreportage
  * visibile: indica la visibilità dell'articolo se non visibile è da considerare come una bozza (boolean)
  * @param type: tipo di post, deve essere incluso in PostType
  * 
  * @return: l'articolo creato.
  */
 static function createPost($data)
 {
     if (isset($data["ID"])) {
         unset($data["ID"]);
     }
     $data = Filter::filterArray($data);
     if (!isset($data[Post::TYPE])) {
         throw new Exception("Il post da creare è di un tipo sconosciuto.");
     }
     $p = false;
     switch ($data[Post::TYPE]) {
         case Post::NEWS:
             $p = new News($data);
         case Post::VIDEOREP:
             if (!$p) {
                 $p = new VideoReportage($data);
             }
             $postdao = new PostDao();
             $post = $postdao->save($p);
             return $post;
         case Post::COLLECTION:
         case Post::ALBUM:
         case Post::MAGAZINE:
         case Post::PHOTOREP:
             return CollectionManager::createCollection($data);
     }
     throw new Exception("Il post da creare è di un tipo sconosciuto.");
 }