예제 #1
0
 /**
  * Get user/group data
  */
 public function getProfile($name = null, $get_hidden = false, $check_ownership = false)
 {
     if ($name == null && Zend_Auth::getInstance()->hasIdentity()) {
         $name = Zend_Auth::getInstance()->getIdentity()->name;
     }
     $name = $this->getDefaultAdapter()->quote($name);
     $sql = "\r\n\t\tSELECT\r\n\t\t*\r\n\t\tFROM profiles p\r\n\t\tWHERE name = {$name}\r\n\t\t";
     // show hidden users for admin
     if (Zend_Auth::getInstance()->hasIdentity() && Zend_Auth::getInstance()->getIdentity()->role === 'admin') {
         $get_hidden = true;
     }
     if (!$get_hidden) {
         $sql .= " AND is_hidden = 0 ";
     }
     $result = $this->getDefaultAdapter()->fetchRow($sql, array(), Zend_Db::FETCH_OBJ);
     // profile does not exitst
     if (!$result) {
         return false;
     }
     // check ownership
     if ($check_ownership && !Zend_Auth::getInstance()->hasIdentity() || $check_ownership && Zend_Auth::getInstance()->getIdentity()->id != $result->owner && $check_ownership && Zend_Auth::getInstance()->getIdentity()->id != $result->id && $check_ownership && Zend_Auth::getInstance()->getIdentity()->role !== 'admin') {
         $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
         Application_Plugin_Alerts::error(Zend_Registry::get('Zend_Translate')->translate('Error - not permitted'), 'off');
         $redirector->gotoSimple('index', 'index');
         return false;
     }
     if ($result->type === 'page') {
         $Likes = new Application_Model_Likes();
         $result->is_liked = $Likes->isLiked($result->id, 'page');
         $result->likes_count = $Likes->getLikesCount($result->id, 'page');
     }
     return $result;
 }
 /**
  * get lightbox data (via ajax)
  */
 public function getlightboxdataAction()
 {
     $Comments = new Application_Model_Comments();
     $Images = new Application_Model_Images();
     $Likes = new Application_Model_Likes();
     $Reports = new Application_Model_Reports();
     $Albums = new Application_Model_Albums();
     $add_comment_form = new Application_Form_AddComment();
     $request = $this->getRequest();
     $resource_id = $request->getParam('resource_id', 0);
     $context = $request->getParam('context');
     $image = $Images->getImage($resource_id, $context);
     if (!$image) {
         $this->getHelper('json')->sendJson(false);
         return;
     }
     $resource_type = 'image';
     $this->view->resource_type = $resource_type;
     $this->view->resource_id = $resource_id;
     $this->view->context = $context;
     $dropdown_options = array();
     $this->view->can_rotate = false;
     if (Zend_Auth::getInstance()->hasIdentity()) {
         // if owner is viewing, add albums for moving
         if ($image['data']['owner_id'] == Zend_Auth::getInstance()->getIdentity()->id) {
             $albums = $Albums->getAlbums(Zend_Auth::getInstance()->getIdentity()->id, false);
             if (!empty($albums)) {
                 foreach ($albums as $album) {
                     $dropdown_options[] = array('id' => $album['id'], 'name' => Zend_Registry::get('Zend_Translate')->translate('Move to ') . $album['name']);
                 }
             }
         }
         // add move to cover / profile options
         if (!empty($dropdown_options)) {
             $dropdown_options[] = array('id' => 'divider');
         }
         $dropdown_options[] = array('id' => 'avatar', 'name' => Zend_Registry::get('Zend_Translate')->translate('Set as profile picture'));
         $dropdown_options[] = array('id' => 'cover', 'name' => Zend_Registry::get('Zend_Translate')->translate('Set as cover picture'));
         // if owner, admin or reviewer - add trash link
         if ($image['data']['uploaded_by'] == Zend_Auth::getInstance()->getIdentity()->id || Zend_Auth::getInstance()->getIdentity()->role == 'admin' || Zend_Auth::getInstance()->getIdentity()->role == 'reviewer') {
             // add trash
             $dropdown_options[] = array('id' => 'divider');
             $dropdown_options[] = array('id' => 'trash', 'name' => Zend_Registry::get('Zend_Translate')->translate('Delete Image'));
         }
         // if owner - add rotate link
         if ($image['data']['uploaded_by'] == Zend_Auth::getInstance()->getIdentity()->id) {
             $this->view->can_rotate = true;
         }
     }
     $this->view->dropdown_options = $dropdown_options;
     // comments
     $show_hidden_comments = $context == 'single' ? true : false;
     $new_comments_data = $Comments->getCommentsForResources(array($resource_id), $resource_type, $show_hidden_comments);
     $add_comment_form->reset();
     $this->view->comments = isset($new_comments_data[$resource_id]) ? $new_comments_data[$resource_id] : array();
     $this->view->add_comment_form = $add_comment_form;
     // likes
     $this->view->is_liked = $Likes->isLiked($resource_id, $resource_type);
     $this->view->likes_count = $Likes->getLikesCount($resource_id, $resource_type);
     // reports
     $this->view->is_reported = $Reports->isReported($resource_id, $resource_type);
     $this->view->resource_owner_name = 'not-used';
     $this->view->btn_title = Zend_Registry::get('Zend_Translate')->translate('Report');
     $this->view->class = 'btn btn-default btn-xs';
     $this->view->image = $image;
     $html = $this->view->render('/partial/lightbox.phtml');
     $this->getHelper('json')->sendJson($html);
 }