Пример #1
0
 /**
  * delete
  * @param  array POST値
  * @return bool true/false
  * @Author fujimura
  * 掲示板コメント削除
  */
 public static function delete($post)
 {
     //保存しない情報の削除(サブミットボタン情報)
     unset($post['delte']);
     $db = new Model_Database_Thread();
     //紐づく子コメントを取得(なし・子コメントIDの場合、array())
     $reply_list = $db->get_reply_list($post['id']);
     try {
         $db->start_transaction();
         //メインコメント削除
         $db->delete($post['id']);
         //メインに紐つく返信コメント削除
         foreach ($reply_list as $reply_val) {
             $db->delete($reply_val['id']);
         }
         $db->commit_transaction();
         //POST値をクリアするためにリダイレクト
         //@todo ちゃんとした多重POSTの対策を実装する(CSRFなど)
         header('location: http://localhost/index.php');
         exit;
     } catch (PDOException $e) {
         var_dump($e);
         exit;
         $db->rollback_transaction();
         $e->getMessage();
         return false;
     }
 }