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'); }
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; }
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')); }
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); } }