/**
  * Prepare profile for cover view
  */
 public function prepareProfile($profile)
 {
     if (Zend_Auth::getInstance()->hasIdentity()) {
         $current_user = (int) Zend_Auth::getInstance()->getIdentity()->id;
     } else {
         $current_user = 0;
     }
     $Images = new Application_Model_Images();
     $Connections = new Application_Model_Connections();
     $Reports = new Application_Model_Reports();
     $ProfilesMeta = new Application_Model_ProfilesMeta();
     $meta_values = $ProfilesMeta->getMetaValues($profile->id);
     // user's data, object style
     $this->view->profile_data = $profile;
     $this->view->profile_data->meta_values = $meta_values;
     // attach sidebar box
     Zend_Registry::get('hooks')->attach('hook_view_sidebar', 5, function () {
         echo Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view->render('/_sidebar/profileinfo.phtml');
     });
     $limit = (int) Zend_Registry::get('config')->get('sidebar_max_users');
     $is_following = $Connections->isFollowing($current_user, $profile->id);
     $is_friend = $Connections->areFriends($profile->id, $current_user);
     $is_reported = $Reports->isReported($profile->id, $profile->type);
     // @formatter:off
     // check privacy
     if (isset($profile) && (Zend_Auth::getInstance()->hasIdentity() && (Zend_Auth::getInstance()->getIdentity()->role == 'admin' || Zend_Auth::getInstance()->getIdentity()->role == 'reviewer') || Zend_Auth::getInstance()->hasIdentity() && Zend_Auth::getInstance()->getIdentity()->id == $profile->id || $profile->profile_privacy === 'friends' && $is_friend || $profile->profile_privacy === 'followers' && $is_following || $profile->profile_privacy === 'everyone' && Zend_Auth::getInstance()->hasIdentity() || $profile->profile_privacy === 'public')) {
         if ($profile->type === 'group') {
             $this->view->sidebar_members = $Connections->getFriends($profile->id, $limit, false, 'user');
             $this->view->sidebar_members_count = $Connections->getFriends($profile->id, false, true);
             // attach sidebar box
             Zend_Registry::get('hooks')->attach('hook_view_sidebar', 10, function () {
                 echo Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view->render('/_sidebar/members.phtml');
             });
             // check if secret group and this is a group owner
             if ($current_user > 0 && $current_user == $profile->owner && $profile->profile_privacy === 'friends') {
                 $Connections->mix_friends = false;
                 $this->view->sidebar_approve_members = $Connections->getFollowers($profile->id);
                 $this->view->sidebar_approve_members_count = $Connections->getFollowers($profile->id, false, true);
                 // attach sidebar box
                 Zend_Registry::get('hooks')->attach('hook_view_sidebar', 10, function () {
                     echo Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view->render('/_sidebar/approvemembers.phtml');
                 });
             }
         } elseif ($profile->type === 'user') {
             // TODO: optiomize this to a single join call
             $this->view->sidebar_followers = $Connections->getFollowers($profile->id, $limit);
             $this->view->sidebar_following = $Connections->getFollowing($profile->id, $limit);
             $this->view->sidebar_friends = $Connections->getFriends($profile->id, $limit, false, 'user');
             $this->view->sidebar_followers_count = $Connections->getFollowers($profile->id, false, true);
             $this->view->sidebar_following_count = $Connections->getFollowing($profile->id, false, true);
             $this->view->sidebar_friends_count = $Connections->getFriends($profile->id, false, true);
             $this->view->sidebar_groups = $Connections->getFriends($profile->id, $limit, false, 'group');
             $this->view->sidebar_groups_count = $Connections->getFriends($profile->id, $limit, true, 'group');
             // attach sidebar box
             Zend_Registry::get('hooks')->attach('hook_view_sidebar', 10, function () {
                 echo Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view->render('/_sidebar/followers.phtml');
                 echo Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view->render('/_sidebar/following.phtml');
                 echo Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view->render('/_sidebar/friends.phtml');
                 echo Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view->render('/_sidebar/groups.phtml');
             });
         } elseif ($profile->type === 'page') {
         }
         // put images to sidebar
         // $this->view->sidebar_images_count = $Images->getImages($profile->id, false, true);
         // $this->view->sidebar_images = $Images->getImages($profile->id, false, false, $limit);
         Zend_Registry::get('hooks')->attach('hook_view_sidebar', 10, function () {
             echo Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view->render('/_sidebar/images.phtml');
         });
     }
     // @formatter:on
     // set view params
     $this->view->user_cover = true;
     $this->view->is_following = $is_following;
     $this->view->is_friend = $is_friend;
     $this->view->is_reported = $is_reported;
     // override <head> for profile pages
     if (Zend_Registry::get('config')->get('profiles_head')) {
         $content = Zend_Registry::get('config')->get('profiles_head');
         $this->view->custom_head = Application_Plugin_Common::parseProfileTags($content, $profile);
     }
     // view perspective
     $this->view->view_perspective = 'profile_view';
     return;
 }