Ejemplo n.º 1
0
 /**
  * test validation
  */
 public function testValidation()
 {
     $newfeed = array('name' => 'Tobis Blog', 'url' => 'http://blog.aditu.de/feed', 'category' => '1', 'priority' => '3', 'favicon' => '', 'filter' => '', 'source' => 'plugins_rss_feed');
     // invalid name
     $testfeed = array_merge($newfeed, array('name' => ''));
     $this->assertTrue(is_array($this->model->add($testfeed)));
     $testfeed = $newfeed;
     unset($testfeed['name']);
     $this->assertTrue(is_array($this->model->add($testfeed)));
     // invalid url
     $testfeed = array_merge($newfeed, array('url' => 'http://www.n-tv.de/wirtschaft/rss'));
     $this->assertTrue(is_array($this->model->add($testfeed)));
     // url optional => no error
     $testfeed = array_merge($newfeed, array('source' => 'plugins_images_visualizeus', 'url' => ''));
     $id = $this->model->add($testfeed);
     $this->assertTrue(is_numeric($id));
     $this->assertGreaterThan(0, $id);
     $this->model->remove($id);
     // url not optional => error
     $testfeed = array_merge($newfeed, array('url' => ''));
     $this->assertTrue(is_array($this->model->add($testfeed)));
     $testfeed = $newfeed;
     unset($testfeed['url']);
     $this->assertTrue(is_array($this->model->add($testfeed)));
     // invalid category
     $testfeed = array_merge($newfeed, array('category' => 'abc'));
     $this->assertTrue(is_array($this->model->add($testfeed)));
     $testfeed = array_merge($newfeed, array('category' => '222'));
     $this->assertTrue(is_array($this->model->add($testfeed)));
     // invalid priority
     $testfeed = array_merge($newfeed, array('priority' => 'abc'));
     $this->assertTrue(is_array($this->model->add($testfeed)));
     $testfeed = $newfeed;
     unset($testfeed['priority']);
     $this->assertTrue(is_array($this->model->add($testfeed)));
     // invalid source
     $testfeed = $newfeed;
     unset($testfeed['source']);
     $this->assertTrue(is_array($this->model->add($testfeed)));
     $testfeed = array_merge($newfeed, array('source' => 'abc'));
     $this->assertTrue(is_array($this->model->add($testfeed)));
     // validation of id
     $editfeed = array('id' => '1111', 'name' => 'n-tv all news', 'url' => 'http://www.n-tv.de/rss', 'category' => '2', 'priority' => '1', 'favicon' => '467321.ico', 'filter' => '/.*4711.*/', 'source' => 'plugins_rss_multimedia');
     $this->assertTrue(is_array($this->model->edit($editfeed)));
 }
 /**
  * delete feed
  *
  * @return void
  */
 public function deleteAction()
 {
     // get id
     $id = $this->getRequest()->getParam('id');
     // delete feed
     $feedModel = new application_models_feeds();
     $result = $feedModel->remove($id);
     // return unread items or error
     $return = array();
     if ($result === true) {
         // renew iconcache
         Zend_Controller_Action_HelperBroker::getStaticHelper('icon')->resetIconImage();
         // count unread items per category
         $return['categories'] = Zend_Controller_Action_HelperBroker::getStaticHelper('itemcounter')->unreadItemsCategories();
         // count all feeds
         $return['feeds'] = $feedModel->count(Zend_Registry::get('session')->currentPriorityStart, Zend_Registry::get('session')->currentPriorityEnd, Zend_Registry::get('session')->view);
         // count all items
         $return['all'] = Zend_Controller_Action_HelperBroker::getStaticHelper('itemcounter')->allItems();
         // new settings (priority)
         $return['settings'] = $this->resetPriorities();
     } else {
         $return['error'] = $result;
     }
     // send result
     $this->_helper->json($return);
 }