/** * 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); }