Пример #1
0
 public function editAction()
 {
     //		var_dump( htmlspecialchars('⚐') );exit;
     $request = $this->getRequest();
     $pin_id = $request->getRequest('pin_id');
     // 		$pin_info = Model_Pins::getPin($pin_id);
     $pin_info = new Model_Pins_Pin($pin_id);
     if (!$pin_info->count() || $pin_info->data['pin_user_id'] != JO_Session::get('user[user_id]')) {
         $this->forward('error', 'error404');
     }
     $pin_info = $pin_info->data;
     if ($request->isPost()) {
         $validate = new Helper_Validate();
         if ($pin_info['pin_from']) {
             $validate->_set_rules($request->getPost('from'), $this->translate('Link'), 'not_empty;min_length[3];domain');
         } else {
             if (trim($request->getPost('from'))) {
                 $validate->_set_rules($request->getPost('from'), $this->translate('Link'), 'not_empty;min_length[3];domain');
             }
         }
         $data = $request->getPost();
         if ($validate->_valid_form()) {
             $edit = new Model_Pins_Edit($pin_id, $request->getPost());
             $this->redirect(WM_Router::pinAction($pin_info['pin_pin_id']));
         } else {
             $this->view->error = $validate->_get_error_messages();
         }
         foreach ($data as $k => $v) {
             if (isset($pin_info['pin_' . $k])) {
                 $pin_info['pin_' . $k] = $v;
             }
         }
     }
     $pin_info['images'] = Helper_Uploadimages::pinThumbs($pin_info);
     if ($pin_info['pin_gift']) {
         $pin_info['price_formated'] = WM_Currency::format($pin_info['pin_price']);
     } else {
         $pin_info['price_formated'] = '';
         $pin_info['pin_price'] = 0;
     }
     $pin_info['href'] = WM_Router::pinAction($pin_info['pin_pin_id']);
     $this->view->pin_info = $pin_info;
     $view->get_user_friends = WM_Router::create($request->getBaseUrl() . '?controller=users&action=friends');
     $boards = new Model_Boards_BoardsWithShared(array('filter_user_id' => JO_Session::get('user[user_id]')));
     $this->view->boards = array();
     if ($boards->count()) {
         foreach ($boards as $board) {
             $this->view->boards[] = array('board_id' => $board['board_board_id'], 'title' => $board['board_title']);
         }
     }
     ///////////////// Extension on edit //////////////////
     $this->view->form_extensions = array();
     $extensions = Model_Extensions::getByMethod('pin_oneditform');
     if ($extensions) {
         $front = JO_Front::getInstance();
         foreach ($extensions as $id => $ext) {
             $this->view->form_extensions[] = array('html' => $this->view->callChildren('modules_' . $ext . '_oneditform'), 'view' => $this->view->callChildrenView('modules_' . $ext . '_oneditform'), 'key' => $ext);
         }
     }
     $this->view->pin_delete = WM_Router::pinAction($pin_id, 'delete');
     $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part');
 }
Пример #2
0
 public static function formatPinData($pin, $detail = false)
 {
     static $model_images = null, $request = null;
     if ($model_images === null) {
         $model_images = new Helper_Images();
     }
     if ($request === null) {
         $request = JO_Request::getInstance();
     }
     ///////////////////////////////////// PIN INFO /////////////////////////////////////
     $pin['pin_id'] = $pin['pin_pin_id'];
     $pin['image'] = $pin['pin_image'];
     //url's
     $pin['pin_url_embed'] = WM_Router::pinAction($pin['pin_pin_id'], 'embed');
     if (!JO_Session::get('user[user_id]')) {
         $login_url = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login');
         if (Helper_Config::get('enable_free_registration')) {
             //$login_url = WM_Router::create( $request->getBaseUrl() . '?controller=users&action=register' );
         }
         $pin['pin_url_email'] = $pin['pin_url_report'] = $pin['pin_url_like'] = $pin['pin_url_repin'] = $pin['pin_url_comment'] = $login_url;
         $pin['pin_edit'] = false;
     } else {
         $pin['pin_url_email'] = WM_Router::pinAction($pin['pin_pin_id'], 'email');
         $pin['pin_url_report'] = WM_Router::pinAction($pin['pin_pin_id'], 'report');
         $pin['pin_url_like'] = WM_Router::pinAction($pin['pin_pin_id'], 'like');
         $pin['pin_url_repin'] = WM_Router::pinAction($pin['pin_pin_id'], 'repin');
         $pin['pin_url_comment'] = WM_Router::pinAction($pin['pin_pin_id']);
         $pin['pin_edit'] = JO_Session::get('user[user_id]') == $pin['pin_user_id'] ? WM_Router::pinAction($pin['pin_pin_id'], 'edit') : false;
     }
     //$pin['pin_description'] = self::descriptionFix($pin['pin_description']);
     $pin['pin_href'] = WM_Router::pinAction($pin['pin_pin_id']);
     if ($pin['pin_gift']) {
         $pin['pin_price_formated'] = WM_Currency::format($pin['pin_price']);
     } else {
         $pin['pin_price_formated'] = 0;
     }
     //return all image sizes
     $pin['pin_thumbs'] = Helper_Uploadimages::pinThumbs($pin);
     //array_merge($pin, Helper_Uploadimages::pinThumbs($pin));
     $date_dif = array_shift(WM_Date::dateDiff($pin['pin_date_added'], time()));
     $pin['pin_date_dif'] = $date_dif;
     /* URL'S*/
     $pin['pin_onto_href'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin['board_user_id'] . '&board_id=' . $pin['board_board_id']);
     ////follow urls
     $pin['board_follow_href'] = $pin['user_follow_href'] = $pin['via_follow_href'] = false;
     if (JO_Session::get('user[user_id]') ? $pin['board_user_id'] != JO_Session::get('user[user_id]') : false) {
         $pin['board_follow_href'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=follow&user_id=' . $pin['board_user_id'] . '&board_id=' . $pin['board_board_id']);
     }
     if (JO_Session::get('user[user_id]') ? $pin['user_user_id'] != JO_Session::get('user[user_id]') : false) {
         $pin['user_follow_href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=follow&user_id=' . $pin['user_user_id']);
     }
     if ($pin['via_user_id']) {
         if (JO_Session::get('user[user_id]') ? $pin['via_user_id'] != JO_Session::get('user[user_id]') : false) {
             $pin['via_follow_href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=follow&user_id=' . $pin['via_user_id']);
         }
     } else {
         if (JO_Session::get('user[user_id]') ? $pin['user_user_id'] != JO_Session::get('user[user_id]') : false) {
             $pin['via_follow_href'] = $pin['user_follow_href'];
         }
     }
     if ($detail) {
         $pin['pin_next_href'] = '';
         if (isset($pin['pin_next']) && $pin['pin_next']) {
             $pin['pin_next_href'] = WM_Router::pinAction($pin['pin_next']);
         }
         $pin['pin_prev_href'] = '';
         if (isset($pin['pin_prev']) && $pin['pin_prev']) {
             $pin['pin_prev_href'] = WM_Router::pinAction($pin['pin_prev']);
         }
     }
     if (Helper_Config::get('config_comments_list') && !$detail && $pin['pin_comments']) {
         $latest_comments = Model_Comments::getLatestComments2($pin['pin_latest_comments']);
         $pin['pin_latest_comments'] = array();
         $user_id = JO_Session::get('user[user_id]');
         $is_admin = JO_Session::get('user[is_admin]');
         $is_developer = JO_Session::get('user[is_developer]');
         foreach ($latest_comments as $key => $comment) {
             $user_avatars = Helper_Uploadimages::userAvatars(array('avatar' => $comment['avatar'], 'store' => $comment['store'], 'user_id' => $comment['user_id']));
             $enable_delete = false;
             if ($is_admin) {
                 $enable_delete = true;
             } elseif ($is_developer) {
                 $enable_delete = true;
             } elseif ($user_id == $comment['user_id']) {
                 $enable_delete = true;
             } elseif ($comment['pin_user_id'] == $user_id) {
                 $enable_delete = true;
             }
             $delete = false;
             if ($enable_delete) {
                 $delete = WM_Router::create($request->getBaseUrl() . '?controller=pin&action=deleteComment&comment_id=' . $comment['comment_id']);
             }
             $pin['pin_latest_comments'][] = array('user' => array('profile' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $comment['user_id']), 'avatars' => $user_avatars, 'fullname' => $comment['fullname']), 'comment' => $comment['comment'], 'delete' => $delete);
         }
     } else {
         $pin['pin_latest_comments'] = array();
     }
     $pin['pin_video_code'] = false;
     if ($detail) {
         if ($pin['pin_is_video']) {
             $auto = new Helper_AutoEmbed();
             if ($pin['pin_repin_from'] && $auto->parseUrl($pin['pin_from_repin'])) {
                 $auto->setWidth('100%');
                 $auto->setHeight('350');
                 $pin['pin_video_code'] = $auto->getEmbedCode();
             } else {
                 if ($auto->parseUrl($pin['pin_from'])) {
                     $auto->setWidth('100%');
                     $auto->setHeight('350');
                     $pin['pin_video_code'] = $auto->getEmbedCode();
                 } else {
                     $pin['pin_is_video'] = false;
                 }
             }
         } else {
             $auto = new Helper_AutoEmbed();
             if ($pin['pin_repin_from'] && $auto->parseUrl($pin['pin_from_repin'])) {
                 $auto->setWidth('100%');
                 $auto->setHeight('350');
                 $pin['pin_video_code'] = $auto->getEmbedCode();
                 $pin['pin_is_video'] = true;
             } else {
                 if ($auto->parseUrl($pin['pin_from'])) {
                     $auto->setWidth('100%');
                     $auto->setHeight('350');
                     $pin['pin_video_code'] = $auto->getEmbedCode();
                     $pin['pin_is_video'] = true;
                 } else {
                     $pin['pin_is_video'] = false;
                 }
             }
         }
         $pin['pin_gallery'] = array();
         $gallery = new Model_Pins_Gallery($pin['pin_pin_id']);
         if ($gallery->count()) {
             foreach ($gallery->data as $gal) {
                 $pin['pin_gallery'][] = Helper_Uploadimages::pinThumbs(array('pin_pin_id' => $gal['pin_id'], 'pin_store' => $gal['store'], 'gallery_id' => $gal['gallery_id'], 'pin_image' => $gal['image']));
             }
         }
     }
     ///////////////////////////////////// AUTHOR INFO /////////////////////////////////////
     //return author all images
     $user_data = array('avatar' => $pin['user_avatar'], 'store' => $pin['user_store'], 'user_id' => $pin['user_user_id']);
     foreach ($pin as $k => $v) {
         if (strpos($k, 'user_avatar_') === 0) {
             $user_data[$k] = $v;
         }
     }
     $pin['user_avatars'] = Helper_Uploadimages::userAvatars($user_data);
     $pin['user_href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $pin['user_user_id']);
     ///////////////////////////////////// VIA INFO /////////////////////////////////////
     $pin['via_profile'] = array();
     if ($pin['via_user_id']) {
         $via_avatars = Helper_Uploadimages::userAvatars(array('avatar' => $pin['via_avatar'], 'store' => $pin['via_store'], 'user_id' => $pin['via_user_id']));
         $pin['via_profile'] = array('avatars' => $via_avatars, 'profile' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $pin['via_user_id']), 'fullname' => $pin['via_fullname']);
     }
     ///////////////////////////////////// SELF INFO /////////////////////////////////////
     $pin['self_profile'] = false;
     if (JO_Session::get('user[user_id]')) {
         $user_avatars = Helper_Uploadimages::userAvatars(array('avatar' => JO_Session::get('user[avatar]'), 'store' => JO_Session::get('user[store]'), 'user_id' => JO_Session::get('user[user_id]')));
         $pin['self_profile']['avatars'] = $user_avatars;
         $pin['self_profile']['fullname'] = JO_Session::get('user[fullname]');
         $pin['self_profile']['profile'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'));
     }
     ///////////////////////////////////// SOURCE INFO /////////////////////////////////////
     $pin['pin_source'] = array();
     $pin['pin_target_repin'] = false;
     if ($detail) {
         if ($pin['pin_repin_from']) {
             $pin_repin = new Model_Pins_Pin($pin['pin_repin_from']);
             if ($pin_repin->count()) {
                 $pin_repin = $pin_repin->data;
                 $pin['pin_source']['source'] = $pin_repin['board_title'];
                 $pin['pin_from'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin_repin['user_user_id'] . '&board_id=' . $pin_repin['board_board_id']);
                 $pin['pin_target_repin'] = true;
             } else {
                 $source = new Model_Sources_Source($pin['pin_source_id']);
                 if ($source->count()) {
                     $pin['pin_source']['source'] = $source['source'];
                 }
             }
         } else {
             $source = new Model_Sources_Source($pin['pin_source_id']);
             if ($source->count()) {
                 $pin['pin_source']['source'] = $source['source'];
             }
         }
     }
     ///for mobile
     $pin['mobile_upload'] = false;
     if ($pin['pin_from'] == 'Mobile') {
         $pin['pin_from'] = '';
         $pin['mobile_upload'] = true;
     }
     return $pin;
 }
Пример #3
0
 public function fromatListBoard($board)
 {
     $request = $this->getRequest();
     $limit_thumbs = 5;
     $pins_filter = array();
     $latest = explode(',', $board['latest_pins']);
     if ($latest) {
         foreach ($latest as $l) {
             if ($l) {
                 $pins_filter[] = $l;
             }
         }
     }
     $pins = $pins_filter ? new Model_Pins_PinsThumbsForBoard(array('cover' => $board['board_cover'], 'pins' => $pins_filter, 'start' => 0, 'limit' => $limit_thumbs)) : new ArrayObject();
     $thumbs = array();
     $total_pins = $pins->count();
     for ($i = 0; $i < min($limit_thumbs, max($total_pins, $limit_thumbs)); $i++) {
         if (isset($pins->data[$i])) {
             $pin_data = $pins->data[$i];
             foreach ($pin_data as $key => $ppd) {
                 if (strpos($key, 'pin_') === 0) {
                     $pin_data[substr($key, 4)] = $ppd;
                 }
             }
             $thumbs[] = Helper_Uploadimages::pinThumbs($pin_data);
         } else {
             $thumbs[] = false;
         }
     }
     $loged = JO_Session::get('user[user_id]');
     $user_data = array();
     foreach ($board as $k => $v) {
         if (strpos($k, 'user_') === 0) {
             $user_data[substr($k, 5)] = $v;
         }
     }
     /* v2.2 */
     $config_enable_follow_private_profile = Helper_Config::get('config_enable_follow_private_profile');
     if ($config_enable_follow_private_profile) {
         $user_enable_follow = $board['user_enable_follow'];
     } else {
         $user_enable_follow = true;
     }
     /* v2.2 */
     return array('template' => 'boards', 'loged' => $loged, 'board_id' => $board['board_board_id'], 'autor_id' => $board['board_user_id'], 'history_id' => isset($board['history_id']) && $board['history_id'] ? $board['history_id'] : 0, 'title' => $board['board_title'], 'fullname' => $board['user_fullname'], 'following_board' => $board['following_board'], 'following_user' => $board['following_user'], 'thumbs' => $thumbs, 'avatars' => Helper_Uploadimages::userAvatars($user_data), 'pins' => $board['board_pins'], 'enable_sort' => isset($board['enable_sort']) && $board['enable_sort'] ? $board['enable_sort'] : false, 'enable_follow_board' => $loged ? $board['board_user_id'] != $loged && $user_enable_follow : false, 'enable_follow_user' => $loged ? $board['board_user_id'] != $loged && $user_enable_follow : false, 'enable_follow_user1' => array($loged != $board['board_user_id'], $loged, $board['board_user_id'], $loged, false), 'user_href' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $board['board_user_id']), 'user_follow_href' => $loged && $board['board_user_id'] != $loged ? WM_Router::create($request->getBaseUrl() . '?controller=users&action=follow&user_id=' . $board['board_user_id']) : false, 'board_follow_href' => $loged && $board['board_user_id'] != $loged ? WM_Router::create($request->getBaseUrl() . '?controller=boards&action=follow&user_id=' . $board['board_user_id'] . '&board_id=' . $board['board_board_id']) : false, 'edit_url' => $loged && $board['board_user_id'] == $loged ? WM_Router::create($request->getBaseUrl() . '?controller=boards&action=edit&user_id=' . $board['board_user_id'] . '&board_id=' . $board['board_board_id']) : false, 'board_url' => WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board['board_user_id'] . '&board_id=' . $board['board_board_id']), 'board_cover' => $loged && $board['board_user_id'] == $loged ? WM_Router::create($request->getBaseUrl() . '?controller=boards&action=cover&user_id=' . $board['board_user_id'] . '&board_id=' . $board['board_board_id'] . (isset($board['history_id']) && $board['history_id'] ? '&hid=' . $board['history_id'] : '')) : false, 'board_accept' => $loged && $board['board_user_id'] != $loged ? WM_Router::create($request->getBaseUrl() . '?controller=users&action=allowInvate&type=accept&user_id=' . $board['board_user_id'] . '&board_id=' . $board['board_board_id']) : false, 'board_decline' => $loged && $board['board_user_id'] != $loged ? WM_Router::create($request->getBaseUrl() . '?controller=users&action=allowInvate&type=decline&user_id=' . $board['board_user_id'] . '&board_id=' . $board['board_board_id']) : false, 'text_pin_s' => $board['board_pins'] == 1 ? $this->translate('Pin') : $this->translate('Pins'), 'text_follow' => $this->translate('Follow'), 'text_unfollow' => $this->translate('Unfollow'), 'text_edit' => $this->translate('Edit'), 'text_edit_board_cover' => $this->translate('Edit Board cover'), 'text_accept' => $this->translate('Accept'), 'text_decline' => $this->translate('No thanks'), 'text_invited_you' => $this->translate('invited you to this board'));
 }
Пример #4
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);
     }
 }