public static function edit($pin_id, $data) { $pin_info = self::getPin($pin_id); if (!$pin_info) { return; } $db = JO_Db::getDefaultAdapter(); $date_modified = WM_Date::format(time(), 'yy-mm-dd H:i:s'); $board_info = Model_Boards::getBoard($data['board_id']); $source_id = Model_Source::getSourceByUrl($data['from']); /* price */ $price = $pin_info['price']; if (preg_match('/(\\$|\\£|\\€|\\¥|\\₪|zł|\\฿)([\\s]{0,2})?(?:(?:\\d{1,5}(?:\\,\\d{3})+)|(?:\\d+))(?:\\.\\d{2})?/', $data['price'], $match)) { $price_tmp = trim(str_replace(trim($match[1]), '', $match[0])); $currency = self::getCurrencyBySimbol(trim($match[1])); if ($currency) { $price = round($price_tmp / $currency, 4); } } $data['is_video'] = 'false'; $help_video = new Helper_AutoEmbed(); if ($help_video->parseUrl($data['from'])) { $data['is_video'] = 'true'; } $is_update = $db->update('pins', array('category_id' => (string) $board_info['category_id'], 'board_id' => $data['board_id'], 'date_modified' => $date_modified, 'from' => $data['from'], 'from_md5' => md5($data['from']), 'description' => $data['description'], 'price' => $price, 'is_video' => $data['is_video'] == 'true' ? 1 : 0, 'source_id' => isset($data['source_id']) ? $data['source_id'] : $source_id, 'date_modified' => new JO_Db_Expr('NOW()')), array('pin_id = ?' => $pin_id)); $spl = JO_Utf8::str_word_split(strip_tags(html_entity_decode($data['description'], ENT_QUOTES, 'utf-8')), self::$searchWordLenght); $words = array(); foreach ($spl as $word) { $word = mb_strtolower($word, 'utf-8'); if (!in_array($word, self::common()) && $word[0] . $word[1] != '&#') { $words[$word] = $word; } } foreach ($words as $word => $data1) { $dic_id = $db->fetchOne($db->select()->from('pins_dictionary', 'dic_id')->where('word = ?', $word)); if (!$dic_id) { $db->insert('pins_dictionary', array('word' => $word)); $dic_id = $db->lastInsertId(); } if ($dic_id) { $db->insert('pins_invert', array('pin_id' => $pin_id, 'dic_id' => $dic_id)); } } if ($pin_info['board_id'] != $data['board_id']) { //mahame i slagame ot stariq i v noviq///// Model_Boards::updateLatestPins($pin_info['board_id']); Model_Boards::updateLatestPins($data['board_id']); $board_info2 = Model_Boards::getBoard($pin_info['board_id']); if ($board_info2['cover'] == $pin_id) { $db->update('boards', array('cover' => 0), array('board_id = >' => $pin_info['board_id'])); } } Model_Users::updateLatestPins($pin_info['user_id']); self::deleteCache($pin_info); }
public static function isFollow($data = array()) { if (!(string) JO_Session::get('user[user_id]')) { return false; } $db = JO_Db::getDefaultAdapter(); $query = $db->select()->from('users_following', 'COUNT(users_following_id)')->where('user_id = ?', (string) JO_Session::get('user[user_id]'))->limit(1); if (isset($data['user_id'])) { $query->where('following_id = ?', (string) $data['user_id']); } if (isset($data['board_id'])) { $query->where('board_id = ?', (string) $data['board_id']); } // if(isset($data['ub_id'])) { // $query->where('ub_id = ?', (string)$data['ub_id']); // } $result = $db->fetchOne($query); if (!$result) { if (isset($data['board_id'])) { $board_info = Model_Boards::getBoard($data['board_id']); } elseif (isset($data['user_id'])) { $board_info = array('user_id' => $data['user_id']); } if (isset($board_info['user_id'])) { $result = Model_Users::isFollowUser($board_info['user_id']); if ($result) { $is_ignore = self::isIgnoreFollow($data); if ($is_ignore) { $result = false; } } } } else { $is_ignore = self::isIgnoreFollow($data); if ($is_ignore) { $result = false; } } return $result; }
public function indexAction() { $request = $this->getRequest(); if (!JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&popup=true&next=' . urlencode($request->getFullUrl()))); } $this->view->createBoard = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=create'); $boards = Model_Boards::getBoards(array('filter_user_id' => JO_Session::get('user[user_id]'), 'order' => 'boards.sort_order', 'sort' => 'ASC', 'friendly' => JO_Session::get('user[user_id]'))); $this->view->boards = array(); if ($boards) { foreach ($boards as $board) { $this->view->boards[] = array('board_id' => $board['board_id'], 'title' => $board['title']); } } //////////// Categories //////////// $this->view->categories = array(); $categories = Model_Categories::getCategories(array('filter_status' => 1)); foreach ($categories as $category) { $category['subcategories'] = Model_Categories::getSubcategories($category['category_id']); $this->view->categories[] = $category; } $this->view->title = JO_Utf8::convertToUtf8($request->getQuery('title')); $this->view->url = JO_Utf8::convertToUtf8(urldecode($request->getQuery('url'))); $this->view->media = JO_Utf8::convertToUtf8($request->getQuery('media')); $this->view->is_video = JO_Utf8::convertToUtf8($request->getQuery('is_video')); $this->view->description = JO_Utf8::convertToUtf8($request->getQuery('description')); $this->view->charset = JO_Utf8::convertToUtf8($request->getQuery('charset')); if (!trim($this->view->description)) { $this->view->description = $this->view->title; } if (JO_Session::get('success_added')) { $this->view->pin_url = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . JO_Session::get('success_added')); $this->setViewChange('success'); JO_Session::clear('success_added'); } else { if ($request->isPost()) { $result = Model_Pins::create(array('title' => $this->view->title, 'from' => $this->view->url, 'image' => $this->view->media, 'is_video' => $this->view->is_video, 'description' => $request->getPost('message'), 'price' => $request->getPost('price'), 'board_id' => $request->getPost('board_id'), 'pinmarklet' => 1)); if ($result) { Model_History::addHistory(0, Model_History::ADDPIN, $result); $session_user = JO_Session::get('user[user_id]'); $group = Model_Boards::isGroupBoard($request->getPost('board_id')); if ($group) { $users = explode(',', $group); foreach ($users as $user_id) { if ($user_id != $session_user) { $user_data = Model_Users::getUser($user_id); if ($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) { $this->view->user_info = $user_data; $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]')); $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]'); $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result); $board_info = Model_Boards::getBoard($request->getPost('board_id')); if ($board_info) { $this->view->board_title = $board_info['title']; $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']); } Model_Email::send($user_data['email'], JO_Registry::get('noreply_mail'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'), $this->view->render('group_board', 'mail')); } } } } JO_Session::set('success_added', $result); $this->redirect($request->getBaseUrl() . '?controller=bookmarklet'); } } } }
private function getForm() { $request = $this->getRequest(); $board_id = $request->getRequest('id'); $board_info = Model_Boards::getBoard($board_id); if ($board_info) { $this->view->board_id = $board_id; // $this->view->title = $board_info['title']; /*$this->view->type = $user_info['type'];*/ /*$this->view->username = $user_info['username'];*/ // $this->view->names = $user_info['firstname'] . ' ' . $user_info['lastname']; /*$this->view->email = $user_info['email'];*/ // $this->view->status = $user_info['status']; // $this->view->profile_url = WM_Router::create( $this->getRequest()->getBaseUrl() . '?controller=users&action=profile&user_id=' . $user_id ); } if ($request->getPost('title')) { $this->view->title = $request->getPost('title'); } elseif (isset($board_info)) { $this->view->title = $board_info['title']; } else { $this->view->title = ''; } if ($request->getPost('description')) { $this->view->description = $request->getPost('description'); } elseif (isset($board_info)) { $this->view->description = $board_info['description']; } else { $this->view->description = ''; } if ($request->getPost('category_id')) { $this->view->category_id = $request->getPost('category_id'); } elseif (isset($board_info)) { $this->view->category_id = $board_info['category_id']; } else { $this->view->category_id = ''; } if ($request->getPost('keyword')) { $this->view->keyword = $request->getPost('keyword'); } elseif (isset($board_info)) { $this->view->keyword = $board_info['keyword']; } else { $this->view->keyword = ''; } $this->view->categories = Model_Categories::getCategories(); }
public function fromfileAction() { $request = $this->getRequest(); $this->view->form_action = WM_Router::create($request->getBaseUrl() . '?controller=addpin&action=upload_images'); $this->view->upload_action = WM_Router::create($request->getBaseUrl() . '?controller=addpin&action=upload_imagesView'); $this->view->popup_main_box = $this->view->render('fromfile', 'addpin'); if ($request->isPost()) { $result = Model_Pins::create(array('title' => $request->getPost('title'), 'from' => '', 'image' => BASE_PATH . JO_Session::get('upload_from_file'), 'is_video' => $request->getPost('is_video'), 'is_article' => $request->getPost('is_article'), 'description' => $request->getPost('message'), 'price' => $request->getPost('price'), 'board_id' => $request->getPost('board_id'))); if ($result) { Model_History::addHistory(0, Model_History::ADDPIN, $result); if (JO_Registry::get('isMobile')) { $this->redirect('/'); } $session_user = JO_Session::get('user[user_id]'); $group = Model_Boards::isGroupBoard($request->getPost('board_id')); if ($group) { $users = explode(',', $group); foreach ($users as $user_id) { if ($user_id != $session_user) { $user_data = Model_Users::getUser($user_id); if ($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) { $this->view->user_info = $user_data; $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]')); $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]'); $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result); $board_info = Model_Boards::getBoard($request->getPost('board_id')); if ($board_info) { $this->view->board_title = $board_info['title']; $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']); } Model_Email::send($user_data['email'], JO_Registry::get('noreply_mail'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'), $this->view->render('group_board', 'mail')); } } } } $this->view->pin_url = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result); $this->view->popup_main_box = $this->view->render('success', 'addpin'); if (JO_Session::get('upload_from_file')) { @unlink(BASE_PATH . JO_Session::get('upload_from_file')); JO_Session::clear('upload_from_file'); JO_Session::clear('upload_from_file_name'); } } } $this->setViewChange('index'); if ($request->isXmlHttpRequest()) { $this->view->popup = true; echo $this->view->popup_main_box; $this->noViewRenderer(true); } else { $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part', 'left_part' => 'layout/left_part'); } }
public static function getPin($pin_id, $fields = array('*')) { $db = JO_Db::getDefaultAdapter(); $query = $db->select()->from('pins', array('pins.*', 'gift' => new JO_Db_Expr('pins.price > 0.0000')))->where('pins.pin_id = ?', (string) $pin_id)->limit(1); $query->where('pins.store != ""'); $result = $db->fetchRow($query); if (!$result) { return false; } $userinfo = Model_Users::getUser($result['user_id'], false, $fields); if (!$userinfo) { return false; } $result['user_via'] = Model_Users::getUser($result['via'], false, $fields); $result['source'] = Model_Source::getSource($result['source_id']); $result['user'] = $userinfo; $result['board'] = Model_Boards::getBoardTitle($result['board_id']); $result['board_data'] = Model_Boards::getBoard($result['board_id']); $result['latest_comments'] = $result['comments'] ? Model_Comments::getComments(array('filter_pin_id' => $pin_id)) : 0; $result['liked'] = $result['likes'] ? self::pinIsLiked($result['pin_id']) : 0; return $result; }
public function deleteAction() { $request = $this->getRequest(); $board_id = $request->getRequest('board_id'); $board_info = Model_Boards::getBoard($board_id); if (!$board_info) { $this->forward('error', 'error404'); } if ($board_info['user_id'] != JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=boards&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id'])); } else { $del = new Model_Boards_Delete($board_id); if ($del->affected_rows) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $board_info['user_id'])); } else { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=boards&action=edit&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id'])); } } }
public function pinMediaCallbackAction() { $request = $this->getRequest(); if (JO_Session::get('user[user_id]')) { $media = Model_Instagram::getMedia($request->getPost('media_id')); if ($media) { if ($media['user_id'] == JO_Session::get('user[user_id]')) { $result = Model_Pins::create(array('title' => $media['title'], 'from' => $media['from'], 'image' => $media['media'], 'description' => $media['title'], 'board_id' => JO_Session::get('instagram_media[board_id]'))); if ($result) { Model_Instagram::setPinMedia($media['media_id'], $result); Model_History::addHistory(JO_Session::get('user[user_id]'), Model_History::ADDPIN, $result); $session_user = JO_Session::get('user[user_id]'); $group = Model_Boards::isGroupBoard($request->getPost('board_id')); if ($group) { $users = explode(',', $group); foreach ($users as $user_id) { if ($user_id != $session_user) { $user_data = Model_Users::getUser($user_id); if ($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) { $this->view->user_info = $user_data; $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]')); $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]'); $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result); $board_info = Model_Boards::getBoard($request->getPost('board_id')); if ($board_info) { $this->view->board_title = $board_info['title']; $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']); } Model_Email::send($user_data['email'], JO_Registry::get('noreply_mail'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'), $this->view->render('group_board', 'mail')); } } } } $this->view->ok = true; } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $this->translate('Private media!'); } } else { $this->view->error = $this->translate('Media not found!'); } } else { $this->view->location = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); } echo $this->renderScript('json'); }
public function uploadAction() { $this->noViewRenderer(true); $request = $this->getRequest(); $response = $this->getResponse(); $page = (int) $request->getRequest('page'); if ($page < 1) { $page = 1; } $callback = $request->getRequest('callback'); if (!preg_match('/^([a-z0-9_.]{1,})$/', $callback)) { $callback = false; } if (isset($_POST['token']) && $_POST['token'] == md5($_POST['userId'])) { $_SESSION['token'] = $_POST['token']; JO_Session::set('token', $_POST['token']); // $token = $request->getRequest('token'); // $user_id = $request->getRequest('userId'); // $folderName = $request->getRequest('folderName'); // $categoryId = $request->getRequest('categoryId'); // // $token = $request->getRequest('token'); //$user_id = $request->getRequest('userId'); // error_log("token " .$token); // error_log("user " . md5($user_id)); // error_log("session " . $_SESSION['token']) ; // if (isset($token) && $token == md5($user_id)) // { // $_SESSION['token'] = $token; $return = array(); //print_r("files " . var_dump($_FILES)) ; //print_r("request " .var_dump($_REQUEST)); //error_log("1file name " . $_FILES["file"]["tmp_name"] . " uploads " . $_REQUEST["image"]); //error_log("2file name " . $_FILES["uploadedfile"]["name"] . " uploads " . $_REQUEST["image"]); //$this->view->form_action = WM_Router::create( $request->getBaseUrl() . '?controller=addpin&action=upload_images' ); //$this->view->upload_action = WM_Router::create( $request->getBaseUrl() . '?controller=addpin&action=upload_imagesView' ); //$this->view->popup_main_box = $this->view->render('fromfile','addpin'); if (JO_Session::get('upload_from_file')) { @unlink(BASE_PATH . JO_Session::get('upload_from_file')); JO_Session::clear('upload_from_file'); JO_Session::clear('upload_from_file_name'); } $image = $request->getFile('file'); if (!$image) { $return = array('error' => 10, 'description' => $this->translate('There is no file selected')); } else { $temporary = '/cache/review/'; $upload_folder = BASE_PATH . $temporary; $upload = new Helper_Upload(); $upload->setFile($image)->setExtension(array('.jpg', '.jpeg', '.png', '.gif'))->setUploadDir($upload_folder); $new_name = md5(time() . serialize($image)); if ($upload->upload($new_name)) { $info = $upload->getFileInfo(); if ($info) { $this->view->from_url = WM_Router::create($request->getBaseUrl() . '?controller=addpin&action=fromfile'); // $this->view->file = $image['name']; // $this->view->full_path = $temporary . $info['name']; $this->view->success = 1; //$this->view->render('upload_images', 'addpin'); JO_Session::set('upload_from_file', $temporary . $info['name']); JO_Session::set('upload_from_file_name', $image['name']); } else { $return = array('error' => 11, 'description' => $this->translate('An unknown error')); } } else { $return = array('error' => 12, 'description' => $upload->getError()); } } if ($request->isPost()) { $result = Model_Pins::create(array('title' => $request->getPost('title'), 'from' => '', 'image' => BASE_PATH . JO_Session::get('upload_from_file'), 'is_video' => $request->getPost('is_video'), 'is_article' => $request->getPost('is_article'), 'description' => $request->getPost('message'), 'price' => $request->getPost('price'), 'board_id' => $request->getPost('board_id'), 'user_id' => $request->getPost('userId'))); if ($result) { Model_History::addHistory(0, Model_History::ADDPIN, $result); if (JO_Registry::get('isMobile')) { //$this->redirect('/'); } $session_user = JO_Session::get('user[user_id]'); $group = Model_Boards::isGroupBoard($request->getPost('board_id')); if ($group) { $users = explode(',', $group); foreach ($users as $user_id) { if ($user_id != $session_user) { $user_data = Model_Users::getUser($user_id); if ($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) { $this->view->user_info = $user_data; $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]')); $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]'); $this->view->pin_href = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result); $board_info = Model_Boards::getBoard($request->getPost('board_id')); if ($board_info) { $this->view->board_title = $board_info['title']; $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']); } Model_Email::send($user_data['email'], JO_Registry::get('noreply_mail'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'), $this->view->render('group_board', 'mail')); } } } } $this->view->pin_url = WM_Router::create($request->getBaseUrl() . '?controller=pin&pin_id=' . $result); $this->view->popup_main_box = $this->view->render('success', 'addpin'); if (JO_Session::get('upload_from_file')) { @unlink(BASE_PATH . JO_Session::get('upload_from_file')); JO_Session::clear('upload_from_file'); JO_Session::clear('upload_from_file_name'); } } } /* //$_FILES-> name type tmp_name error size //'image' => BASE_PATH . JO_Session::get('upload_from_file'), if( $request->isPost() ) { $this->view->form_action = WM_Router::create( $request->getBaseUrl() . '?controller=addpin&action=upload_images' ); $this->view->upload_action = WM_Router::create( $request->getBaseUrl() . '?controller=addpin&action=upload_imagesView' ); $this->view->popup_main_box = $this->view->render('fromfile','addpin'); $url_m = $request->getPost('image'); if(strpos($url_m, '.jpg?')) { $url_m = explode('?', $url_m); $url_m = $url_m[0]; } error_log("3file name " . $_FILES["file"]["tmp_name"] . " url_m " . $url_m); $url_m = $_FILES; $result = Model_Pins::create(array( 'title' => $request->getPost('title'), 'from' => $request->getPost('from'), 'image' => $url_m, 'is_video' => 0, //$request->getPost('is_video'), 'is_article' => 0, //$request->getPost('is_article'), 'description' => $request->getPost('message'), 'price' => $request->getPost('price'), 'board_id' => $request->getPost('board_id') )); if($result) { Model_History::addHistory(JO_Session::get('user[user_id]'), Model_History::ADDPIN, $result); $session_user = JO_Session::get('user[user_id]'); $group = Model_Boards::isGroupBoard($request->getPost('board_id')); if($group) { $users = explode(',',$group); foreach($users AS $user_id) { if($user_id != $session_user) { $user_data = Model_Users::getUser($user_id); if($user_data && $user_data['email_interval'] == 1 && $user_data['groups_pin_email']) { $this->view->user_info = $user_data; $this->view->profile_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]')); $this->view->full_name = JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]'); $this->view->pin_href = WM_Router::create( $request->getBaseUrl() . '?controller=pin&pin_id=' . $result ); $board_info = Model_Boards::getBoard($request->getPost('board_id')); if($board_info) { $this->view->board_title = $board_info['title']; $this->view->board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']); } Model_Email::send( $user_data['email'], JO_Registry::get('noreply_mail'), JO_Session::get('user[firstname]') . ' ' . JO_Session::get('user[lastname]') . ' ' . $this->translate('added new pin to a group board'), $this->view->render('group_board', 'mail') ); } } } } $this->view->pin_url = WM_Router::create( $request->getBaseUrl() . '?controller=pin&pin_id=' . $result ); $this->view->popup_main_box = $this->view->render('success','addpin'); } } */ } else { //no existe la sesión / no existe el dato recibido por post / el token no es igual. $return = array('error' => 401, 'description' => $this->translate('wrong token')); } if ($callback) { $return = $callback . '(' . JO_Json::encode($return) . ')'; } else { $response->addHeader('Cache-Control: no-cache, must-revalidate'); $response->addHeader('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); $response->addHeader('Content-type: application/json'); $return = JO_Json::encode($return); } $response->appendBody($return); }
public function activityAction() { $request = $this->getRequest(); $user_data = $this->profileHelp(); $this->setViewChange('profile'); $this->view->active = 'activity'; $page = (int) $request->getRequest('page'); if ($page < 1) { $page = 1; } $this->view->boards = ''; $data = array('start' => JO_Registry::get('config_front_limit') * $page - JO_Registry::get('config_front_limit'), 'limit' => JO_Registry::get('config_front_limit'), 'sort' => 'DESC', 'order' => 'history_id'); $history = Model_History::getHistory($data, 'from_user_id', $user_data['user_id']); if ($history) { $view = JO_View::getInstance(); $view->loged = JO_Session::get('user[user_id]'); $model_images = new Helper_Images(); foreach ($history as $key => $data) { if ($data['history_action'] == Model_History::REPIN) { $pin_data = Model_Pins::getPin($data['pin_id']); if ($pin_data) { $pin_data['history_id'] = $data['history_id']; $pin_data['history_action'] = 'repin-box'; $userdata = Model_Users::getUser($data['to_user_id']); $board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin_data['user_id'] . '&board_id=' . $pin_data['board_id']); $via_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $userdata['user_id']); $view->set_activity_title = sprintf($this->translate('Repinned to %s via %s.'), '<a href="' . $board_href . '">' . $pin_data['board'] . '</a>', '<a href="' . $via_href . '">' . $userdata['fullname'] . '</a>'); $view->date_dif = $data['date_dif']; $this->view->boards .= Helper_Pin::returnHtml($pin_data); } } elseif ($data['history_action'] == Model_History::ADDPIN) { $pin_data = Model_Pins::getPin($data['pin_id']); if ($pin_data) { $pin_data['history_id'] = $data['history_id']; $pin_data['history_action'] = 'addpin-box'; $board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin_data['user_id'] . '&board_id=' . $pin_data['board_id']); $view->set_activity_title = sprintf($this->translate('Pinned to %s.'), '<a href="' . $board_href . '">' . $pin_data['board'] . '</a>'); $view->date_dif = $data['date_dif']; $this->view->boards .= Helper_Pin::returnHtml($pin_data); } } elseif ($data['history_action'] == Model_History::LIKEPIN) { $pin_data = Model_Pins::getPin($data['pin_id']); if ($pin_data) { $pin_data['history_id'] = $data['history_id']; $pin_data['history_action'] = 'likepin-box'; $userdata = Model_Users::getUser($pin_data['user_id']); $board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin_data['user_id'] . '&board_id=' . $pin_data['board_id']); $via_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $userdata['user_id']); $view->set_activity_title = sprintf($this->translate("Liked %s's pin on %s."), '<a href="' . $via_href . '">' . $userdata['fullname'] . '</a>', '<a href="' . $board_href . '">' . $pin_data['board'] . '</a>'); $view->date_dif = $data['date_dif']; $this->view->boards .= Helper_Pin::returnHtml($pin_data); } } elseif ($data['history_action'] == Model_History::UNLIKEPIN) { $pin_data = Model_Pins::getPin($data['pin_id']); if ($pin_data) { $pin_data['history_id'] = $data['history_id']; $pin_data['history_action'] = 'unlikepin-box'; $userdata = Model_Users::getUser($pin_data['user_id']); $board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin_data['user_id'] . '&board_id=' . $pin_data['board_id']); $via_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $userdata['user_id']); $view->set_activity_title = sprintf($this->translate("Unliked %s's pin on %s."), '<a href="' . $via_href . '">' . $userdata['fullname'] . '</a>', '<a href="' . $board_href . '">' . $pin_data['board'] . '</a>'); $view->date_dif = $data['date_dif']; $this->view->boards .= Helper_Pin::returnHtml($pin_data); } } elseif ($data['history_action'] == Model_History::COMMENTPIN) { $pin_data = Model_Pins::getPin($data['pin_id']); if ($pin_data) { $pin_data['history_id'] = $data['history_id']; $pin_data['history_action'] = 'commentpin-box'; $userdata = Model_Users::getUser($pin_data['user_id']); $board_href = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $pin_data['user_id'] . '&board_id=' . $pin_data['board_id']); $via_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $userdata['user_id']); $view->set_activity_title = sprintf($this->translate("Commented on %s's pin and said \"%s\"."), '<a href="' . $via_href . '">' . $userdata['fullname'] . '</a>', JO_Utf8::splitText($data['comment'], 60, '...')); $view->date_dif = $data['date_dif']; $this->view->boards .= Helper_Pin::returnHtml($pin_data); } } elseif ($data['history_action'] == Model_History::ADDBOARD) { $board = Model_Boards::getBoard($data['board_id']); if ($board) { $board['href'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $user_data['user_id'] . '&board_id=' . $board['board_id']); $board['thumbs'] = array(); /* for( $i = 0; $i < min(9, count($board['pins_array'])); $i ++) { $image = isset( $board['pins_array'][$i] ) ? $board['pins_array'][$i]['image'] : false; $board['thumbs'][] = $model_images->resize($image, 60, 60, true); } */ $get_big = false; for ($i = 0; $i < 5; $i++) { $image = isset($board['pins_array'][$i]) ? $board['pins_array'][$i]['image'] : false; if ($image) { if ($get_big) { $size = '_A'; } else { $size = '_C'; $get_big = true; } $data_img = Helper_Uploadimages::pin($board['pins_array'][$i], $size); if ($data_img) { $board['thumbs'][] = $data_img['image']; } else { $board['thumbs'][] = false; } } else { $board['thumbs'][] = false; } } $board['edit'] = false; if ($board['user_id'] == JO_Session::get('user[user_id]')) { $board['edit'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=edit&user_id=' . $user_data['user_id'] . '&board_id=' . $board['board_id']); } $board['boardIsFollow'] = Model_Users::isFollow(array('board_id' => $board['board_id'])); $board['userFollowIgnore'] = $board['user_id'] != JO_Session::get('user[user_id]'); $board['follow'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=follow&user_id=' . $user_data['user_id'] . '&board_id=' . $board['board_id']); $board['history_action'] = 'addboard-box'; $view->board = $board; $view->set_activity_title = $this->translate('Created'); $this->view->boards .= $view->render('box', 'boards'); } } else { $data['href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $data['to_user_id']); $avatar = Helper_Uploadimages::avatar($data['user'], '_B'); $data['thumb'] = $avatar['image']; $data['thumb_width'] = $avatar['width']; $data['thumb_height'] = $avatar['height']; if (!@getimagesize($data['thumb'])) { $data['thumb'] = $model_images->resize(JO_Registry::get('no_avatar'), 180, 180); $data['thumb_width'] = $model_images->getSizes('width'); $data['thumb_height'] = $model_images->getSizes('height'); } $view->history = $data; if ($data['history_action'] == Model_History::FOLLOW_USER) { $view->history['userIsFollow'] = Model_Users::isFollowUser($view->history['to_user_id']); $view->history['follow_user'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=follow&user_id=' . $view->history['to_user_id']); $view->history['fullname'] = $data['user']['fullname']; $view->history['avatar'] = $avatar['image']; $this->view->boards .= $view->render('history/follow_user', 'users'); } elseif ($data['history_action'] == Model_History::UNFOLLOW_USER) { $view->history['userIsFollow'] = Model_Users::isFollowUser($view->history['to_user_id']); $view->history['follow_user'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=follow&user_id=' . $view->history['to_user_id']); $view->history['fullname'] = $data['user']['fullname']; $view->history['avatar'] = $avatar['image']; $this->view->boards .= $view->render('history/unfollow_user', 'users'); } elseif ($data['history_action'] == Model_History::FOLLOW) { $board_info = Model_Boards::getBoard($data['board_id']); if ($board_info) { $board_info['boardIsFollow'] = Model_Users::isFollow(array('board_id' => $board_info['board_id'])); $board_info['follow'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=follow&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']); $board_info['href'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']); $view->history['fullname'] = $data['user']['fullname']; $view->history['avatar'] = $avatar['image']; $view->history['board'] = $board_info; $this->view->boards .= $view->render('history/follow_board', 'users'); } } elseif ($data['history_action'] == Model_History::UNFOLLOW) { $board_info = Model_Boards::getBoard($data['board_id']); if ($board_info) { $board_info['boardIsFollow'] = Model_Users::isFollow(array('board_id' => $board_info['board_id'])); $board_info['follow'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=follow&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']); $board_info['href'] = WM_Router::create($request->getBaseUrl() . '?controller=boards&action=view&user_id=' . $board_info['user_id'] . '&board_id=' . $board_info['board_id']); $view->history['fullname'] = $data['user']['fullname']; $view->history['avatar'] = $avatar['image']; $view->history['board'] = $board_info; $this->view->boards .= $view->render('history/unfollow_board', 'users'); } } elseif ($data['history_action'] == Model_History::LIKEUSER) { $view->history['fullname'] = $data['user']['fullname']; $view->history['avatar'] = $avatar['image']; $view->history['userIsLike'] = Model_Users::isLikeUser($view->history['to_user_id']); $view->history['like_user'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=likeUser&user_id=' . $view->history['to_user_id']); $this->view->boards .= $view->render('history/like_user', 'users'); } elseif ($data['history_action'] == Model_History::UNLIKEUSER) { $view->history['fullname'] = $data['user']['fullname']; $view->history['avatar'] = $avatar['image']; $view->history['userIsLike'] = Model_Users::isLikeUser($view->history['to_user_id']); $view->history['like_user'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=likeUser&user_id=' . $view->history['to_user_id']); $this->view->boards .= $view->render('history/unlike_user', 'users'); } elseif ($data['history_action'] == Model_History::COMMENTUSER) { $view->history['href'] = $data['href']; $view->history['avatar'] = $avatar['image']; $view->history['fullname'] = $data['user']['fullname']; $view->history['text_type'] = $data['text_type']; $view->history['comment'] = $data['comment']; $view->history['date_added'] = $data['date_added']; $view->history['value'] = $data['date_dif']['value']; $view->history['key'] = $data['date_dif']['key']; $this->view->boards .= $view->render('history/history', 'users'); //$view->history['comment_user'] = WM_Router::create( $request->getBaseUrl() . '?controller=users&action=likeUser&user_id=' . $view->history['to_user_id'] ); //$this->view->boards .= $view->render('history/comment_user', 'users'); } elseif ($data['history_action'] == Model_History::MESSAGEUSER) { $view->history['href'] = $data['href']; $view->history['avatar'] = $avatar['image']; $view->history['fullname'] = $data['user']['fullname']; $view->history['text_type'] = $data['text_type']; $view->history['comment'] = $data['comment']; $view->history['date_added'] = $data['date_added']; $view->history['value'] = $data['date_dif']['value']; $view->history['key'] = $data['date_dif']['key']; $this->view->boards .= $view->render('history/history', 'users'); //$view->history['messageUser'] = Model_Users::isLikeUser($view->history['to_user_id']); //$view->history['message_user'] = WM_Router::create( $request->getBaseUrl() . '?controller=users&action=likeUser&user_id=' . $view->history['to_user_id'] ); //$this->view->boards .= $view->render('history/message_user', 'users'); } elseif ($data['history_action'] == Model_History::UNMESSAGEUSER) { $view->history['href'] = $data['href']; $view->history['avatar'] = $avatar['image']; $view->history['fullname'] = $data['user']['fullname']; $view->history['text_type'] = $data['text_type']; $view->history['comment'] = $data['comment']; $view->history['date_added'] = $data['date_added']; $view->history['value'] = $data['date_dif']['value']; $view->history['key'] = $data['date_dif']['key']; $this->view->boards .= $view->render('history/history', 'users'); //$view->history['unmessage_user'] = WM_Router::create( $request->getBaseUrl() . '?controller=users&action=likeUser&user_id=' . $view->history['to_user_id'] ); //$this->view->boards .= $view->render('history/unmessage_user', 'users'); } elseif ($data['history_action'] == Model_History::FOLLOW_EVENT) { $dataEvents = array('filter_event_id' => $view->history['pin_id']); $events = Model_Events::getEvent($dataEvents); $avatar = Helper_Uploadimages::avatar($events, '_B'); $events['avatar'] = $avatar['image']; $data['thumb'] = $avatar['image']; $data['thumb_width'] = $avatar['width']; $data['thumb_height'] = $avatar['height']; if (!@getimagesize($data['thumb'])) { $data['thumb'] = $model_images->resize(JO_Registry::get('no_avatar'), 180, 180); $data['thumb_width'] = $model_images->getSizes('width'); $data['thumb_height'] = $model_images->getSizes('height'); } $view->history = $data; $view->history['eventIsFollow'] = Model_Events::isFollowEvent($view->history['pin_id'], $view->history['to_user_id']); $view->history['follow_event'] = WM_Router::create($request->getBaseUrl() . '?controller=events&action=follow&userio_id=' . $view->history['to_user_id'] . '&event_id=' . $view->history['pin_id']); $view->history['fullname'] = $events['eventname']; $view->history['avatar'] = $events['avatar']; $this->view->boards .= $view->render('history/follow_event', 'users'); } elseif ($data['history_action'] == Model_History::UNFOLLOW_EVENT) { $dataEvents = array('filter_event_id' => $view->history['pin_id']); $events = Model_Events::getEvent($dataEvents); $avatar = Helper_Uploadimages::avatar($events, '_B'); $events['avatar'] = $avatar['image']; $data['thumb'] = $avatar['image']; $data['thumb_width'] = $avatar['width']; $data['thumb_height'] = $avatar['height']; if (!@getimagesize($data['thumb'])) { $data['thumb'] = $model_images->resize(JO_Registry::get('no_avatar'), 180, 180); $data['thumb_width'] = $model_images->getSizes('width'); $data['thumb_height'] = $model_images->getSizes('height'); } $view->history = $data; $view->history['eventIsFollow'] = Model_Events::isFollowEvent($view->history['pin_id'], $view->history['to_user_id']); $view->history['follow_event'] = WM_Router::create($request->getBaseUrl() . '?controller=events&action=follow&userio_id=' . $view->history['to_user_id'] . '&event_id=' . $view->history['pin_id']); $view->history['fullname'] = $events['eventname']; $view->history['avatar'] = $events['avatar']; $this->view->boards .= $view->render('history/unfollow_event', 'users'); } elseif ($data['history_action'] == Model_History::LIKE_EVENT) { $dataEvents = array('filter_event_id' => $view->history['pin_id']); $events = Model_Events::getEvent($dataEvents); $avatar = Helper_Uploadimages::avatar($events, '_B'); $events['avatar'] = $avatar['image']; $data['thumb'] = $avatar['image']; $data['thumb_width'] = $avatar['width']; $data['thumb_height'] = $avatar['height']; if (!@getimagesize($data['thumb'])) { $data['thumb'] = $model_images->resize(JO_Registry::get('no_avatar'), 180, 180); $data['thumb_width'] = $model_images->getSizes('width'); $data['thumb_height'] = $model_images->getSizes('height'); } $view->history = $data; $view->history['eventIsLike'] = Model_Events::isLikeEvent($view->history['pin_id'], $view->history['to_user_id']); $view->history['like_event'] = WM_Router::create($request->getBaseUrl() . '?controller=events&action=like&userio_id=' . $view->history['to_user_id'] . '&event_id=' . $view->history['pin_id']); $view->history['fullname'] = $events['eventname']; $view->history['avatar'] = $events['avatar']; $this->view->boards .= $view->render('history/like_event', 'users'); } elseif ($data['history_action'] == Model_History::UNLIKE_EVENT) { $events = Model_Events::getEvent($dataEvents); $avatar = Helper_Uploadimages::avatar($events, '_B'); $events['avatar'] = $avatar['image']; $data['thumb'] = $avatar['image']; $data['thumb_width'] = $avatar['width']; $data['thumb_height'] = $avatar['height']; if (!@getimagesize($data['thumb'])) { $data['thumb'] = $model_images->resize(JO_Registry::get('no_avatar'), 180, 180); $data['thumb_width'] = $model_images->getSizes('width'); $data['thumb_height'] = $model_images->getSizes('height'); } $view->history = $data; $view->history['eventIsLike'] = Model_Events::isLikeEvent($view->history['pin_id'], $view->history['to_user_id']); $view->history['like_event'] = WM_Router::create($request->getBaseUrl() . '?controller=events&action=like&userio_id=' . $view->history['to_user_id'] . '&event_id=' . $view->history['pin_id']); $dataEvents = array('filter_event_id' => $view->history['pin_id']); $view->history['fullname'] = $events['eventname']; $view->history['avatar'] = $events['avatar']; $this->view->boards .= $view->render('history/unlike_event', 'users'); } } } } $agendas = Model_Users::getUserAgenda(array('filter_user_id' => $user_data['user_id'])); $this->view->has_agendas = false; $this->view->agendas_users = ""; if ($agendas) { $this->view->has_agendas = true; foreach ($agendas as $agenda) { $agenda['hrefDelete'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=agendaPopupDelete&agenda_id=' . $agenda['agenda_id'] . '&user_id=' . $user_data['user_id']); $this->view->agenda = $agenda; $this->view->agendas_users .= $this->view->render('agenda', 'users'); } } $session_user = JO_Session::get('user[user_id]'); $this->view->popup_agenda = WM_Router::create($request->getBaseUrl() . '?controller=users&action=agendaPopup&user_id=' . $user_data['user_id']); //no mover de esta ubicación $messages = Model_Users::getUserMessages(array('start' => 0, 'limit' => 100, 'filter_user_id' => $user_data['user_id'], 'idPadre' => 0)); $this->view->has_messages = false; $this->view->messages_users = ""; if ($messages) { $this->view->has_messages = true; foreach ($messages as $message) { $avatar = Helper_Uploadimages::avatar($message, '_A'); $message['avatar'] = $avatar['image']; $message['href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $message['user_id']); $message['hrefDelete'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=messagePopupDelete&message_id=' . $message['message_id'] . '&user_id=' . $user_data['user_id']); $message['hrefResponder'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=messagePopup&user_from=' . $session_user . '&user_to=' . $user_data['user_id'] . '&board_user='******'user_id'] . '&message_from_id=' . $message['message_id']); $this->view->message = $message; $this->view->messages_users .= $this->view->render('message', 'users'); //ahora vamos a consultar las respuestas a este: $messagesHijos = Model_Users::getUserMessages(array('start' => 0, 'limit' => 100, 'filter_user_id' => $user_data['user_id'], 'idPadre' => $message['message_id'])); if ($messagesHijos) { foreach ($messagesHijos as $messageHijo) { $avatar = Helper_Uploadimages::avatar($messageHijo, '_A'); $messageHijo['avatar'] = $avatar['image']; $messageHijo['href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . $messageHijo['user_id']); $messageHijo['hrefDelete'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=messagePopupDelete&message_id=' . $messageHijo['message_id'] . '&user_id=' . $user_data['user_id']); $messageHijo['hrefResponder'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=messagePopup&user_from=' . $session_user . '&user_to=' . $user_data['user_id'] . '&board_user='******'user_id'] . '&message_from_id=' . $messageHijo['message_id']); $this->view->message = $messageHijo; $this->view->messages_users .= $this->view->render('message', 'users'); } } } } $session_user = JO_Session::get('user[user_id]'); $this->view->popup_messages = WM_Router::create($request->getBaseUrl() . '?controller=users&action=messagePopup&user_from=' . $session_user . '&user_to=' . $user_data['user_id'] . '&board_user='******'user_id'] . '&message_from_id=0'); //$this->view->popup_activate = WM_Router::create( $request->getBaseUrl() . '?controller=users&action=activatePopup'); //&user_from=' . $session_user . '&user_to=' . $user_data['user_id'].'&board_user='******'user_id'] .'&message_from_id=0' ); //$this->view->popup_activate = WM_Router::create( $request->getBaseUrl() . '?controller=users&action=activateDetail'); //&user_from=' . $session_user . '&user_to=' . $user_data['user_id'].'&board_user='******'user_id'] .'&message_from_id=0' ); $_SESSION["activate_url"] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]')); $this->view->popup_activate = WM_Router::create($request->getBaseUrl() . '?controller=users&action=activate'); $this->view->search_url = WM_Router::create($request->getBaseUrl() . '?controller=search&action=advanced?id=activate'); //$this->view->deportes = WM_Router::create( $request->getBaseUrl() . '?controller=users&action=deportes'); $this->view->addMail = WM_Router::create($request->getBaseUrl() . '?controller=mails&action=create'); $this->view->stateMail = WM_Router::create($request->getBaseUrl() . '?controller=mails&action=state'); $this->view->viewMail = WM_Router::create($request->getBaseUrl() . '?controller=mails&action=view'); $activate = Model_Users::getActivateUser(JO_Session::get('user[user_id]')); if ($activate) { $this->view->userIsActivate = $activate["activate"]; } if ($user_data['type_user']) { $this->view->userCanActivate = Model_Users::getUserTypeNotOthers($user_data['type_user']); } if (JO_Registry::get('isMobile')) { $this->view->urlagenda = WM_Router::create($request->getBaseUrl() . '?controller=users&action=agenda&user_id=' . $user_data['user_id']); $this->view->urlmensajes = WM_Router::create($request->getBaseUrl() . '?controller=users&action=mensajes&user_id=' . $user_data['user_id']); } if ($request->isXmlHttpRequest()) { echo $this->view->boards; $this->noViewRenderer(true); } else { $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); } }