Exemplo n.º 1
0
 public function postAction()
 {
     if (!$this->view->authenticated && !$request->isXmlHttpRequest()) {
         $this->_redirector->gotoRoute(array(), 'login');
     }
     $request = $this->getRequest();
     $form = new Form_Comment();
     if ($request->isPost() && $form->isValid($request->getPost())) {
         $model = 'Model_DbTable_' . ucfirst($form->getValue('model'));
         $table = new Model_DbTable_Comments();
         $comment = $table->addComment($model, $form->getValue('oid'), $this->view->identity->id, $form->getValue('comment'), $form->getValue('parent'));
     }
     if ($request->isXmlHttpRequest()) {
         $this->_helper->layout()->disableLayout();
         if (!isset($comment)) {
             $this->getResponse()->sendResponse();
             exit;
         }
         $this->view->comment = $comment;
         $this->render('/partials/comment', null, true);
     } else {
         $this->_redirector->gotoRoute(array('controller' => substr($form->getValue('model'), 0, -1), 'id' => $form->getValue('oid')), 'view');
     }
 }
Exemplo n.º 2
0
 public function showAction()
 {
     $this->view->userRole = $this->_helper->checkUserRole->check();
     $id = $this->_request->getParam('id');
     $model = new Model_Ad();
     //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((int) $id);
     if ($cacheTest == false) {
         //if not exists in cache lets query to db
         $this->view->ad = $model->getAd((int) $id);
         $cacheAd->save($this->view->ad, (int) $id);
     } else {
         //load ad from memcached
         $this->view->ad = $cacheAd->load((int) $id);
     }
     //lets count the comments number and update
     $modelComments = new Model_Comment();
     $this->view->checkCountAd = $count = $modelComments->countCommentsAd((int) $id);
     //let's increment +1 the ad view counter
     $model->updateReadedAd($id);
     $this->view->countReadedAd = $model->countReadedAd($id);
     if ($this->view->checkCountAd > 0) {
         $modelComments->updateCommentsAd($id, $count);
     }
     if ($this->view->ad != null) {
         // if the id ad exists then render the ad and comments
         if ($this->view->ad['type'] == 1) {
             $this->view->page_title .= $this->view->translate('give') . ' ' . $this->view->translate('second hand') . ' ';
         }
         if ($this->view->ad['type'] == 2) {
             $this->view->page_title .= $this->view->translate('want') . ' ' . $this->view->translate('second hand') . ' ';
         }
         $this->view->comments = $model->getComments($id);
         $this->view->woeidName = $this->_helper->woeid->name($this->view->ad['woeid_code'], $this->lang);
         $this->view->page_title .= $this->view->ad['title'];
         $this->view->page_title .= ' ' . $this->view->translate('free') . ' ';
         $this->view->page_title .= ' ' . $this->view->woeidName;
         //add meta description to head
         $this->view->metaDescription = $this->view->page_title . '. ' . $this->view->ad['body'];
         //add link rel canonical , better seo
         $this->view->canonicalUrl = 'http://' . $_SERVER['HTTP_HOST'] . '/' . $this->lang . '/ad/' . $id . '/' . $this->view->slugTitle($this->view->ad['title']);
         //if user logged in, show the comment form, if not show the login link
         $auth = Zend_Auth::getInstance();
         if (!$auth->hasIdentity()) {
             $this->view->createcomment = '<a href="/' . $this->lang . '/auth/login">' . $this->view->translate('login to post a comment') . '</a> ';
         } else {
             require_once APPLICATION_PATH . '/forms/Comment.php';
             $form = new Form_Comment();
             $form->setAction('/' . $this->lang . '/comment/create/ad_id/' . $id);
             $this->view->createcomment = $form;
         }
     } else {
         $urlChunks = explode('/', $_SERVER['REQUEST_URI']);
         $urlChunks = str_replace('.html', '', $urlChunks);
         $urlChunks = str_replace('-', ' ', $urlChunks);
         //redir to search
         $this->_redirect('/' . $this->lang . '/search/?q=' . $urlChunks[sizeof($urlChunks) - 1] . '&ad_type=1&woeid=' . $this->location, array('code' => 301));
     }
 }
Exemplo n.º 3
0
 public function contestmoreAction()
 {
     $uid = Zend_Registry::get('uid');
     $id = $this->_request->getParam('id');
     $this->view->dugaar = $id;
     $q = $this->_request->getParam('q');
     if ($q == 'signup') {
         $this->view->is = 'signup';
     }
     if ($q == 'rating') {
         $this->view->is = 'rating';
     }
     if ($q == 'davaa') {
         $this->view->is = 'davaa';
     }
     $tmp = 0;
     $davaas = new Model_DbTable_Davaa();
     $this->view->davaa = $davaas->fetchAll($davaas->select()->where('fantasy_id =' . $id . ' AND active =' . $tmp));
     $tmp = 1;
     $this->view->davaaduussan = $davaas->fetchAll($davaas->select()->where('fantasy_id =' . $id . ' AND active =' . $tmp));
     $fantasys = new Model_DbTable_Fantasy();
     $fantasy = $fantasys->fetchAll($fantasys->select()->where('id=' . $id));
     foreach ($fantasy as $key => $value) {
         $this->view->fantasyname = $value['name'];
     }
     $users = new Model_DbTable_Users();
     $this->view->user = $users->fetchAll($users->select());
     $gals = new Model_DbTable_Gal();
     $this->view->galuud = $gals->fetchAll($gals->select());
     $this->view->gal = $gals->fetchAll($gals->select()->where('ezen_id =' . $uid));
     $gald = $gals->fetchAll($gals->select()->where('ezen_id =' . $uid));
     $gid = 0;
     foreach ($gald as $key => $value) {
         $gid = $value['id'];
     }
     $scores = new Model_DbTable_Score();
     $this->view->rating = $scores->fetchAll($scores->select()->where('fantasyid =' . $id)->order('total_score DESC'));
     $this->view->score = $scores->fetchAll($scores->select()->where('galid =' . $gid . ' AND fantasyid=' . $id));
     $form = new Form_Comment();
     $request = $this->getRequest();
     if ($request->isPost()) {
         if ($form->isValid($this->_request->getPost())) {
             $content = $this->_request->getParam('commentbody');
             $content = $this->check($content);
             $uid = Zend_Registry::get('uid');
             $date = date("Y-m-d H:i:s");
             $uri = 'index/index/id/' . $id;
             $comments = new Model_DbTable_Comment();
             $comments->insert(array('uri' => $uri, 'content' => $content, 'uid' => $uid, 'date' => $date));
             $this->_redirect('news/more/id/' . $id);
         }
     }
     $form->setAction('../../index/index');
     $this->view->form = $form;
     $news = new Model_DbTable_News();
     $this->view->news = $news->fetchAll($news->select()->where('isactive = 1')->order('isping DESC')->order('date DESC'));
     $this->view->news1 = $news->fetchAll($news->select()->where('isactive = 0')->order('date DESC'));
     $page = 0;
     if ($this->_request->getParam("page") != null) {
         $page = $this->_request->getParam("page");
     }
     $this->view->page = $page;
     $q = $news->fetchAll($news->select()->where('isactive = 1')->order('isping DESC')->order('date DESC'));
     $id = $this->_request->getParam('id');
     $this->view->dugaar = $id;
     $paginator = Zend_Paginator::factory($q);
     $paginator->setItemCountPerPage("6")->setCurrentPageNumber($this->_getParam('page', 1));
     $this->view->medee = $paginator;
     $comments = new Model_DbTable_Comment();
     $this->view->comment = $comments->fetchAll($comments->select()->order('date DESC'));
 }
Exemplo n.º 4
0
 function addComment($identityId)
 {
     $res = false;
     $form = new Form_Comment();
     $formData = Zend_Controller_Front::getInstance()->getRequest()->getPost();
     if ($form->isValid($formData)) {
         $uid = $form->getValue('user_id', 0);
         if ($identityId != $uid) {
             l($uid, __METHOD__ . ': $uid invalid!', Zend_Log::DEBUG);
             return false;
         }
         $data = $form->getValues();
         $data['dt'] = $data['tm'] = dateMySQL();
         l($data, __METHOD__ . ': $data', Zend_Log::DEBUG);
         $res = $this->createComment($data);
     } else {
         l($formData, __METHOD__ . ': INVALID_COMMENT::formData', Zend_Log::DEBUG);
         Zend_Registry::set('comment_error', FrontEnd::getMsg(array('comments', 'fail')));
     }
     return $res;
 }