Esempio n. 1
0
 /**
  * View blog author
  */
 public function authorAction()
 {
     if (!($login = $this->_getParam('login'))) {
         throw new Zend_Controller_Action_Exception('Page not found');
     }
     $users = new Users_Model_User_Table();
     if (!($row = $users->getByLogin($login))) {
         throw new Zend_Controller_Action_Exception('Blog not found');
     }
     $post = new Blog_Model_Post_Table();
     $source = $post->getSelect(null, $row->id);
     $paginator = Zend_Paginator::factory($source);
     $paginator->getView()->route = 'blogauthor';
     $paginator->setItemCountPerPage($this->_itemsPerPage);
     $paginator->setCurrentPageNumber($this->_getParam('page'));
     $this->view->paginator = $paginator;
     $this->view->author = $row;
     $this->render('index');
 }
Esempio n. 2
0
 /**
  * Edit my post
  *
  * @throws Zend_Controller_Action_Exception
  */
 public function editAction()
 {
     if (!($alias = $this->_getParam('alias'))) {
         throw new Zend_Controller_Action_Exception('Page not found');
     }
     $posts = new Blog_Model_Post_Table();
     if (!($post = $posts->getByAlias($alias))) {
         throw new Zend_Controller_Action_Exception('Post not found');
     }
     if (!$post->isOwner()) {
         throw new Zend_Controller_Action_Exception('Page is forbidden');
     }
     $form = new Blog_Form_Post_Edit();
     $form->setDefaults($post->toArray());
     if ($this->getRequest()->isPost() && $form->isValid($this->_getAllParams())) {
         $post->setFromArray($form->getValues());
         $post->save();
         $this->_helper->flashMessenger->addMessage('Post saved');
         $this->_helper->redirector->gotoRoute(array('alias' => $post->alias), 'blogpost');
     }
     $this->view->form = $form;
 }
Esempio n. 3
0
 /**
  * Author's blog rss
  *
  * @throws Zend_Controller_Action_Exception
  */
 public function authorAction()
 {
     $limit = 10;
     if (!($login = $this->_getParam('login'))) {
         throw new Zend_Controller_Action_Exception('Page not found');
     }
     $users = new Users_Model_User_Table();
     if (!($user = $users->getByLogin($login))) {
         throw new Zend_Controller_Action_Exception('Page not found');
     }
     $url = $this->_helper->url;
     $serverUrl = $this->_request->getScheme() . '://' . $this->_request->getHttpHost();
     $title = ucfirst($user->login) . "'s Blog Rss Feed";
     $link = $url->url(array('login' => $user->login), 'blogauthor');
     $feed = new Zend_Feed_Writer_Feed();
     $feed->setTitle($title);
     $feed->setLink($serverUrl . $link);
     $feed->setFeedLink('http://www.example.com/atom', 'atom');
     $feed->addAuthor(array('name' => 'Blog Owner Name', 'email' => $user->email, 'uri' => $serverUrl));
     $posts = new Blog_Model_Post_Table();
     $select = $posts->getSelect(null, $user->id);
     $feed->setDateModified(time());
     foreach ($posts->fetchAll($select->limit($limit)) as $i => $row) {
         if (0 == $i) {
             $feed->setDateModified(strtotime($row->updated));
         }
         $postUrl = $url->url(array('alias' => $row->alias), 'blogpost');
         $entry = $feed->createEntry();
         $entry->setTitle($row->title);
         $entry->setLink($serverUrl . $postUrl);
         $entry->addAuthor($row->login, null, null);
         $entry->setDateModified(strtotime($row->updated));
         $entry->setDateCreated(strtotime($row->published));
         $entry->setDescription($row->teaser);
         $feed->addEntry($entry);
     }
     echo $feed->export('atom');
 }
Esempio n. 4
0
 public function tearDown()
 {
     $table = new Blog_Model_Post_Table();
     $table->delete('1');
     $table = new Categories_Model_Category_Table();
     $table->delete(' id = 43');
     $table = new Users_Model_User_Table();
     $table->delete(' id = ' . $this->_fixture['user']['id']);
 }