public function __construct() { $request = JO_Request::getInstance(); parent::__construct(); if (Model_Allowips::getTotalWords()) { if (!Model_Allowips::getTotalWords(array('filete_ip' => $request->getClientIp()))) { if (!in_array($request->getController(), array('login', 'error'))) { $this->forward('error', 'noPermission'); } } } //set default timezone if is not set if (!ini_get('date.timezone')) { ini_set('date.timezone', 'UTC'); } WM_Users::initSession(JO_Session::get('user[user_id]')); if (!JO_Session::get('user[user_id]')) { JO_Session::set('user', array('user_id' => 0)); } //admin check login $login_page = $request->getController() != 'login'; if (JO_Session::get('user[is_developer]')) { $login_page = false; } else { if (JO_Session::get('user[is_admin]')) { $login_page = false; } } if (in_array($request->getController(), array('login', 'error'))) { $login_page = false; } if ($login_page) { $this->forward('login', 'index'); } //admin top menu Helper_Config::set('adminmenupermisions', WM_Users::initPermision()); //no permisions $controller_name = JO_Front::getInstance()->formatControllerName($request->getController()); if (!class_exists($controller_name, false)) { JO_Loader::loadFile(APPLICATION_PATH . '/modules/' . $request->getModule() . '/controllers/' . JO_Front::getInstance()->classToFilename($controller_name)); } if (method_exists($controller_name, 'config')) { $data = call_user_func(array($controller_name, 'config')); if (isset($data['has_permision']) && $data['has_permision'] && !WM_Users::allow('read', $request->getController())) { $this->forward('error', 'noPermission'); } } WM_Rebuild::getInformation(); WM_Licensecheck::checkIt(); }
public function getUserByName($username, $namers, $avatar) { $db = JO_Db::getDefaultAdapter(); if (self::isExistUsername($username)) { return $db->fetchOne($db->select()->from('users', 'user_id')->where('username=?', (string) $username)->limit(1)); } else { $exp = explode(' ', $namers); $firsname = array_shift($exp); $last = implode(' ', $exp); Helper_Config::set('default_boards', array()); $response = new Model_Users_Create(array('username' => (string) $username, 'firstname' => (string) $firsname, 'lastname' => (string) $last, 'avatar' => (string) $avatar, 'email' => $username . '@spider-imports', 'first_login' => 0)); return $response->user_id; } }
public function header_metasAction($pin_array = array()) { if ($pin_array) { $pin_array = array_merge((array) $pin_array, Helper_Pin::formatPinData((array) $pin_array, true)); $params = array('min_word_occur' => 2, 'min_2words_phrase_occur' => 2); $params['content'] = strip_tags(html_entity_decode($pin_array['pin_description'] . ' ' . $pin_array['board_title'], ENT_QUOTES, 'UTF-8')); //page content $keywords = new WM_Keywords($params); $this->view->site_name = Helper_Config::get('site_name'); $this->view->pin = array('title' => $pin_array['board_title'] . ' - ' . htmlspecialchars(strip_tags(html_entity_decode($pin_array['pin_description']))), 'description' => htmlspecialchars(strip_tags(html_entity_decode($pin_array['pin_description']))), 'keywords' => htmlspecialchars($keywords->get_keywords()), 'images' => $pin_array['pin_thumbs'], 'pin_url' => $pin_array['pin_href'], 'is_video' => $pin_array['pin_is_video'], 'from' => $pin_array['pin_from']); Helper_Config::set('extra_metatags', array('pin' => $this->view->pin)); //var_dump($this->view->pin); exit; } else { $this->noViewRenderer(true); } $this->noLayout(true); }
public function header_metasAction($user_info = array()) { if ($user_info instanceof ArrayObject && $user_info->count()) { $this->view->site_name = Helper_Config::get('site_name'); $this->view->user = array('title' => $user_info['meta_title'], 'description' => $user_info['description'], 'avatars' => $user_info['avatars'], 'user_url' => WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=profile&user_id=' . $user_info['user_id']), 'user_feed_url' => WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=profile&user_id=' . $user_info['user_id'] . '&feed'), 'user_feed_title' => $user_info['meta_title']); Helper_Config::set('extra_metatags', array('user' => $this->view->user)); } else { $this->noViewRenderer(true); } }
public function __construct() { $request = JO_Request::getInstance(); parent::__construct(); //set default timezone if is not set if (!ini_get('date.timezone')) { ini_set('date.timezone', 'UTC'); } WM_Users::initSession(JO_Session::get('user[user_id]')); if (!JO_Session::get('user[user_id]')) { JO_Session::set('user', array('user_id' => 0)); } //mobile version if ($request->issetParam('full_version')) { $re = $request->setCookie('full_version', 1, 86400, '/', '.' . $request->getDomain()); $this->redirect($request->getBaseUrl()); } else { if ($request->issetParam('remove_full_version')) { $re = $request->setCookie('full_version', 0, 86400, '/', '.' . $request->getDomain()); $this->redirect($request->getBaseUrl()); } } $mobile_detect = new JO_Mobile_Detect(); JO_Registry::set('isMobile', false); if ($mobile_detect->isMobile() && !$mobile_detect->isTablet() && in_array('mobile', WM_Modules::getTemplates())) { if (!$request->getCookie('full_version')) { JO_Registry::set('template', 'mobile'); Helper_Config::set('config_disable_js', 0); if (Helper_Config::get('site_logo_mobile')) { Helper_Config::set('site_logo', Helper_Config::get('site_logo_mobile')); } } JO_Registry::set('isMobile', true); } //is not ajax if (!$request->isXmlHttpRequest()) { WM_Licensecheck::checkIt(); if (Helper_Config::get('config_maintenance')) { if ($request->getController() != 'error' && $request->getAction() != 'maintenance') { $this->forward('error', 'maintenance'); } } ////first login if (JO_Session::get('user[user_id]')) { if (JO_Session::get('user[first_login]')) { if (!in_array($request->getController(), array('pages', 'smuk', 'crons', 'pin', 'boards', 'js', 'json', 'cache', 'data'))) { if ($request->getParam('direct_path') != 'true') { if ($request->getController() != 'welcome') { if ($request->getController() == 'users' && $request->getAction() == 'logout') { } else { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=welcome')); } } } } } else { if ($request->getController() == 'welcome') { JO_Action::getInstance()->redirect($request->getBaseUrl()); } } } elseif ($request->getController() == 'welcome') { JO_Action::getInstance()->redirect($request->getBaseUrl()); } } Helper_Config::check(); WM_Licensecheck::checkIt(); }
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); } }
public function indexAction() { //exit; $base_url = 'http://pinterest.com/moose44/horse-barns-stalls/'; $pages = 5; $enable_comments = false; $category_id = 29; $config_user_id = false; $enable_defaul_board_create = false; ///end config //exit; ini_set('memory_limit', '500M'); $this->noViewRenderer(true); ignore_user_abort(true); if (!$enable_defaul_board_create) { Helper_Config::set('default_boards', false); } for ($i = 1; $i < $pages; $i++) { $base_url_format = $base_url . (strpos($base_url, '?') !== false ? '&' : '?') . 'page=' . $i; $html = @file_get_contents($base_url_format); if ($html) { $dom = new JO_Html_Dom(); $dom->load($html); $hrefs = $dom->find('.PinImage'); if ($hrefs) { foreach ($hrefs as $href) { $price = 0; $url = JO_Url_Relativetoabsolute::toAbsolute($base_url_format, $href->href); $html2 = @file_get_contents($url); if ($html2) { $dom = new JO_Html_Dom(); $dom->load($html2); $board = $dom->find('h3.serif a', 0)->innertext; $image = $dom->find('#pinCloseupImage', 0)->src; $description = $dom->find('#PinCaption .description', 0)->innertext; $from = $dom->find('#PinSource a', 0)->href; $usernames = $dom->find('#PinnerName a', 0)->innertext; $avatar = $dom->find('#PinnerImage img', 0)->src; $ext = strtolower(strrchr($avatar, '.')); $avatar = preg_replace('/_60' . preg_quote($ext) . '$/i', '_600' . $ext, $avatar); if (!@getimagesize($avatar)) { $avatar = preg_replace('/' . preg_quote($ext) . '$/i', '_600' . $ext, $avatar); } $username = trim($dom->find('#PinnerName a', 0)->href, '/'); $price_o = $dom->find('.buyable', 0); if ($price_o) { $price = $price_o->innertext; } if (!$config_user_id) { $user_id = Model_Users_Spider_Users::getUserByName($username, $usernames, $avatar); if (!$user_id) { continue; } } else { $user_id = $config_user_id; } $board_data = new Model_Boards_BoardIdByTitle(trim($board), $user_id, $category_id); if (!$board_data->count()) { continue; } $board_id = $board_data['board_board_id']; $price_f = 0; if (preg_match('/([0-9.]{1,})/', $price, $m)) { $price_f = $m[1]; } $result = new Model_Pins_Create(array('board_id' => $board_id, 'description' => htmlspecialchars(strip_tags($description), ENT_QUOTES, 'utf-8'), 'image' => (string) $image, 'price' => (double) $price, 'from' => urldecode($from), 'public' => '1', 'user_id' => $user_id)); if (!$result->count()) { continue; } $pin_id = $result->data['pin_id']; //// get comments if ($enable_comments) { $commm = $dom->find('.PinComments .comment'); if ($commm) { foreach ($commm as $com) { $avatar = $com->find('.CommenterImage img', 0)->src; $usernames = $com->find('.CommenterName', 0)->innertext; $username = trim($com->find('.CommenterName', 0)->href, '/'); $text = explode('<br />', $com->find('.comment .CommenterMeta', 0)->innertext); $text = isset($text[1]) ? $text[1] : ''; if ($text) { $user_id = Model_Users_Spider_Users::getUserByName($username, $usernames, $avatar); if (!$user_id) { continue; } $result = new Model_Pins_AddComment(array('pin_id' => $pin_id, 'user_id' => $user_id, 'comment' => $text, 'date_added' => WM_Date::format(null, 'yy-mm-dd H:i:s'))); } } sleep(1); } } sleep(1); } } } } } exit; }