示例#1
0
 public function deleteAction()
 {
     $this->userRole = $this->_helper->checkUserRole->check();
     $this->view->headTitle()->append($this->view->translate('Delete your profile'));
     $id = (int) $this->getRequest()->getParam('id');
     $auth = Zend_Auth::getInstance();
     //check if user is auth
     if ($auth->hasIdentity() == FALSE) {
         $this->_helper->_flashMessenger->addMessage($this->view->translate('You are not allowed to view this page'));
         $this->_redirect('/' . $this->view->lang . '/woeid/' . $this->location . '/give');
         return;
     }
     $admodel = new Model_Ad();
     $ad = $admodel->getAd($id);
     if ($auth->getIdentity()->id == $ad['user_owner'] || $this->userRole == 1) {
         //if is the user owner owner lets delete it
         if ($this->getRequest()->isPost()) {
             $del = $this->getRequest()->getPost('del');
             if ($del == 'Yes') {
                 //delete ad
                 $admodel->deleteAd($id);
                 //delete from memcached if exists in memory
                 //check if the ad exists in memcached
                 $oBackend = new Zend_Cache_Backend_Memcached(array('servers' => array(array('host' => '127.0.0.1', 'port' => '11211')), 'compression' => true));
                 // configure caching frontend strategy
                 $oFrontend = new Zend_Cache_Core(array('lifetime' => 3600 * 24 * 7, 'caching' => true, 'cache_id_prefix' => 'singleAd', 'logging' => false, 'write_control' => true, 'automatic_serialization' => true, 'ignore_user_abort' => true));
                 // build a caching object
                 $cacheAd = Zend_Cache::factory($oFrontend, $oBackend);
                 $cacheTest = $cacheAd->test($id);
                 if ($cacheTest == true) {
                     $cacheAd->remove($id);
                 }
                 /////
                 $this->_helper->_flashMessenger->addMessage($this->view->translate('Ad deleted successfully.'));
                 $this->_redirect('/' . $this->view->lang . '/woeid/' . $this->location . '/give');
                 return;
             } else {
                 $this->_helper->_flashMessenger->addMessage($this->view->translate('Nice to hear that :-)'));
                 $this->_redirect('/' . $this->view->lang . '/woeid/' . $this->location . '/give');
                 return;
             }
         } else {
             $id = $this->_getParam('id', 0);
         }
     } else {
         $this->_helper->_flashMessenger->addMessage($this->view->translate('You are not allowed to view this page'));
         $this->_redirect('/' . $this->view->lang . '/woeid/' . $this->location . '/give');
         return;
     }
 }