コード例 #1
0
ファイル: PinController.php プロジェクト: NareshChennuri/pyng
 public function getOtherDataAction()
 {
     $request = $this->getRequest();
     $response = $this->getResponse();
     $pin_id = $request->getRequest('pin_id');
     $pin_info = new Model_Pins_Pin($pin_id);
     $return = array();
     $formatObject = new Helper_Format();
     if ($pin_info->count()) {
         $pin_info = $pin_info->data;
         $pin_info = array_merge((array) $pin_info, Helper_Pin::formatPinData((array) $pin_info));
         $loged = JO_Session::get('user[user_id]');
         /* v2.2 */
         $config_enable_follow_private_profile = Helper_Config::get('config_enable_follow_private_profile');
         if ($config_enable_follow_private_profile) {
             $user_enable_follow = $pin_info['via_user_id'] ? $pin_info['via_enable_follow'] : $pin_info['user_enable_follow'];
         } else {
             $user_enable_follow = true;
         }
         /* v2.2 */
         $return = array('loged' => $loged, 'enable_follow_board' => $loged ? $pin_info['board_user_id'] != $loged && $user_enable_follow : false, 'enable_follow_user' => $loged ? $pin_info['user_user_id'] != $loged && $user_enable_follow : false, 'enable_follow_via' => $loged ? ($pin_info['via_user_id'] ? $pin_info['via_user_id'] : $pin_info['user_user_id']) != $loged && $user_enable_follow : false, 'board_is_follow' => $pin_info['following_board'], 'via_is_follow' => $pin_info['via_user_id'] ? $pin_info['following_via'] : $pin_info['following_user'], 'pin_likes' => $pin_info['pin_likes'], 'pin_likes_total' => $pin_info['pin_likes'] > 20 ? $pin_info['pin_likes'] - 20 : 0, 'user_follow_href' => $pin_info['user_follow_href'], 'board_follow_href' => $pin_info['board_follow_href'], 'via_follow_href' => $pin_info['via_follow_href'], 'text_unfollow' => $this->translate('Unfollow'), 'text_follow' => $this->translate('Follow'), 'text_likes' => $this->translate('Likes'), 'text_repins' => $this->translate('Repins'), 'text_onto_board' => $this->translate('Pinned onto the board'), 'text_onto' => $this->translate('onto'), 'text_originally_pinned' => $this->translate('Originally pinned by'), 'text_pined_via' => sprintf($this->translate('Pinned via %s from'), Helper_Config::get('site_name')), 'pin_likes_total_text' => sprintf($this->translate('+%d more likes'), $pin_info['pin_likes'] - 20));
         //other pins from board
         $return['onto_board'] = false;
         $pins = new Model_Pins_Boards(array('start' => 0, 'limit' => 12, 'filter_board_id' => $pin_info['pin_board_id']));
         if ($pins->count()) {
             $board_info = new Model_Boards_Board($pin_info['pin_board_id']);
             if ($board_info->count()) {
                 $href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin_info['pin_user_id'] . '&board_id=' . $pin_info['pin_board_id']);
                 $return['onto_board'] = array('pins' => array(), 'url' => $href, 'name' => $pin_info['board_title'], 'user_id' => $board_info['user_user_id']);
                 $total = $pins->count();
                 foreach ($pins->data as $row => $pin) {
                     $pin['pin_id'] = $pin['pin_pin_id'];
                     $key = false;
                     if ($row == 0) {
                         $key = 'first';
                     } else {
                         if ($row == $total - 1) {
                             $key = 'last';
                         }
                     }
                     $return['onto_board']['pins'][] = array('images' => Helper_Uploadimages::pinThumbs($pin), 'href' => $href, 'key' => $key);
                 }
             }
         }
         // others pin from via or user
         $return['originally_pinned'] = false;
         $pins = new Model_Pins_Users(array('start' => 0, 'limit' => 6, 'filter_user_id' => $pin_info['via_user_id'] ? $pin_info['via_user_id'] : $pin_info['pin_user_id']));
         if ($pins->count()) {
             $href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . ($pin_info['via_user_id'] ? $pin_info['via_user_id'] : $pin_info['pin_user_id']));
             $return['originally_pinned'] = array('pins' => array(), 'url' => $href, 'name' => $pin_info['via_user_id'] ? $pin_info['via_fullname'] : $pin_info['user_fullname'], 'via' => $pin_info['via_user_id'] ? true : false, 'user_id' => $pin_info['via_user_id'] ? $pin_info['via_user_id'] : $pin_info['pin_user_id']);
             $total = $pins->count();
             foreach ($pins->data as $row => $pin) {
                 $pin['pin_id'] = $pin['pin_pin_id'];
                 $key = false;
                 if ($row == 0) {
                     $key = 'first';
                 } else {
                     if ($row == $total - 1) {
                         $key = 'last';
                     }
                 }
                 $return['originally_pinned']['pins'][] = array('images' => Helper_Uploadimages::pinThumbs($pin), 'href' => $href, 'key' => $key);
             }
         }
         // others pin from source
         $return['source'] = false;
         if ($pin_info['pin_source_id']) {
             $pins = new Model_Pins_Source(array('start' => 0, 'limit' => 5, 'filter_source_id' => $pin_info['pin_source_id']));
             if ($pins->count()) {
                 $href = WM_Router::create($request->getBaseUrl() . '?controller=source&source_id=' . $pin_info['pin_source_id']);
                 $return['source'] = array('pins' => array(), 'url' => $href, 'name' => $pin_info['source_source']);
                 $total = $pins->count();
                 foreach ($pins->data as $row => $pin) {
                     $pin['pin_id'] = $pin['pin_pin_id'];
                     $key = false;
                     if ($row == 0) {
                         $key = 'first';
                     } else {
                         if ($row == $total - 1) {
                             $key = 'last';
                         }
                     }
                     $return['source']['pins'][] = array('images' => Helper_Uploadimages::pinThumbs($pin), 'href' => $href, 'key' => $key);
                 }
             }
         }
         // others pin likes
         $return['users_likes'] = false;
         if ($pin_info['pin_likes']) {
             $users = new Model_Users_LikesPin(array('start' => 0, 'limit' => 20, 'filter_like_pin_id' => $pin_info['pin_id']));
             if ($users->count()) {
                 $total = $users->count();
                 foreach ($users as $row => $user) {
                     $user['pin_id'] = $pin['pin_pin_id'];
                     $key = false;
                     if ($row == 0) {
                         $key = 'first';
                     } else {
                         if ($row == $total - 1) {
                             $key = 'last';
                         }
                     }
                     $return['users_likes'][] = array('avatars' => Helper_Uploadimages::userAvatars($user), 'href' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $user['user_id']), 'fullname' => $user['fullname'], 'key' => $key);
                 }
             }
         }
         // others pin from source
         $return['users_repins'] = false;
         if ($pin_info['pin_repins']) {
             $pins = new Model_Pins_Repins(array('start' => 0, 'limit' => 6, 'filter_like_pin_id' => $pin_info['pin_id']));
             if ($pins->count()) {
                 $total = $pins->count();
                 foreach ($pins->data as $row => $pin) {
                     $pin['pin_id'] = $pin['pin_pin_id'];
                     $key = false;
                     if ($row == 0) {
                         $key = 'first';
                     } else {
                         if ($row == $total - 1) {
                             $key = 'last';
                         }
                     }
                     $return['users_repins'][$pin['user_user_id']] = array('user' => array('fullname' => $pin['user_fullname'], 'avatars' => Helper_Uploadimages::userAvatars(array('avatar' => $pin['user_avatar'], 'store' => $pin['user_store'], 'user_id' => $pin['user_user_id'])), 'href' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $pin['user_user_id'])), 'board' => array('name' => $pin['board_title'], 'href' => WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin['user_user_id'] . '&board_id=' . $pin['board_board_id'])), 'key' => $key);
                 }
             }
         }
     }
     //format response data
     $formatObject = new Helper_Format();
     $formatObject->responseJsonCallback($return);
     $this->noViewRenderer(true);
 }
コード例 #2
0
 public function header_metasAction($board_info = array())
 {
     if ($board_info instanceof ArrayObject && $board_info->count()) {
         $pins = new Model_Pins_Boards(array('filter_board_id' => $board_info['board_board_id'], 'start' => 0, 'limit' => 50));
         $board_image = '';
         $board_keywords = $board_info['board_title'] . html_entity_decode($board_info['board_description'] ? ' ' . $board_info['board_description'] : '');
         if ($pins->count()) {
             foreach ($pins->data as $pin) {
                 if ($pin['pin_description']) {
                     $board_keywords .= ' ' . html_entity_decode($pin['pin_description']);
                 }
                 if (!$board_image) {
                     $filter = array('pin_id' => $pin['pin_pin_id'], 'pin_pin_id' => $pin['pin_pin_id'], 'image' => $pin['pin_image'], 'pin_store' => $pin['pin_store']);
                     foreach ($pin as $k => $v) {
                         if (strpos($k, 'pin_thumb_') !== false) {
                             $filter[$k] = $v;
                         }
                     }
                     $board_image = Helper_Uploadimages::pinThumbs($filter);
                 }
             }
         }
         $params = array('min_word_occur' => 2, 'min_2words_phrase_occur' => 2);
         $params['content'] = $board_keywords;
         //page content
         $keywords = new WM_Keywords($params);
         $this->view->site_name = Helper_Config::get('site_name');
         $this->view->board = array('title' => $board_info['board_title'], 'description' => $board_info['board_description'] ? $board_info['board_description'] : $board_info['board_title'], 'keywords' => htmlspecialchars($keywords->get_keywords()), 'images' => $board_image, 'board_url' => WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_user_id'] . '&board_id=' . $board_info['board_board_id']), 'board_feed_url' => WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_user_id'] . '&board_id=' . $board_info['board_board_id'] . '&feed'), 'board_feed_title' => $board_info['board_title'] . ' ' . sprintf($this->translate('on %s'), $this->view->site_name));
         Helper_Config::set('extra_metatags', array('board' => $this->view->board));
     } else {
         $this->noViewRenderer(true);
     }
 }