public function imagesAction()
 {
     $request = $this->getRequest();
     $post_id = (int) $request->getPost('id');
     $post = new DatabaseObject_BlogPost($this->db);
     $json = array();
     if (!$post->loadForUser($this->identity->user_id, $post_id)) {
         $this->_redirect($this->getUrl());
     }
     if ($request->getPost('upload')) {
         $fp = new FormProcessor_BlogPostImage($post);
         if ($fp->process($request)) {
             $this->messenger->addMessage('Image uploaded');
         } else {
             foreach ($fp->getErrors() as $error) {
                 $this->messenger->addMessage($error);
             }
         }
     } else {
         if ($request->getPost('reorder')) {
             $order = $request->getPost('post_images');
             $post->setImageOrder($order);
         } else {
             if ($request->getPost('delete')) {
                 $image_id = (int) $request->getPost('image');
                 $image = new DatabaseObject_BlogPostImage($this->db);
                 if ($image->loadForPost($post->getId(), $image_id)) {
                     $image->delete();
                     if ($request->isXmlHttpRequest()) {
                         $json = array('deleted' => true, 'image_id' => $image_id);
                     } else {
                         $this->messenger->addMessage('Image deleted');
                     }
                 }
             }
         }
     }
     if ($request->isXmlHttpRequest()) {
         $this->sendJson($json);
     } else {
         $url = $this->getUrl('preview') . '?id=' . $post->getId();
         $this->_redirect($url);
     }
 }