public function add() { // Get URI vars $slugID = urldecode(utf8::trim(uri::segment(4))); // Do we have a slug ID? if ($slugID == '') { error::show404(); } // Get user if (!($user = $this->users_model->getUser($slugID)) || !$user['active'] || !$user['verified']) { error::show404(); } // Is this a self request if ($user['user_id'] == session::item('user_id')) { router::redirect($user['slug']); } elseif (!in_array($user['group_id'], session::permission('users_groups_browse', 'users')) || !in_array($user['type_id'], session::permission('users_types_browse', 'users'))) { view::noAccess(); } // Does blocked user exist? if ($blocked = $this->users_blocked_model->getUser($user['user_id'], true)) { view::setError(__('user_duplicate', 'users_blocked')); router::redirect($user['slug']); } // Block user $this->users_blocked_model->addUser($user['user_id']); // Success view::setInfo(__('user_blocked', 'users_blocked')); //router::redirect($user['slug']); router::redirect('users/blocked'); }
public function __construct() { parent::__construct(); // Does user have permission to search users? if (!session::permission('users_search_access', 'users') && !session::permission('users_search_access_advanced', 'users')) { view::noAccess(); } elseif (!session::permission('users_groups_browse', 'users') || !session::permission('users_types_browse', 'users')) { view::noAccess(); } }
public function __construct() { parent::__construct(); if (!config::item('feedback_active', 'feedback')) { error::show404(); } elseif (!session::permission('feedback_access', 'feedback')) { view::noAccess(); } loader::model('feedback/feedback'); }
public function index() { if (session::permission('users_manage', 'users')) { loader::controller('cp/users'); $this->users->browse(); } else { view::noAccess(false); // Load view view::load('cp/home'); } }
public function __construct() { parent::__construct(); // Does user have permission to access this plugin? if (!session::permission('settings_manage', 'users')) { view::noAccess(); } view::setCustomParam('section', 'users'); view::setCustomParam('options', config::item('cp_top_nav', 'lists', 'users', 'items')); view::setTrail('cp/users', __('users', 'system_navigation')); }
public function __construct() { parent::__construct(); if (!config::item('news_active', 'news')) { error::show404(); } elseif (!session::permission('news_access', 'news')) { view::noAccess(); } elseif (config::item('news_blog', 'news') && uri::segment(1) != 'blog') { router::redirect('blog/' . utf8::substr(uri::getURI(), 5)); } loader::model('news/news'); }
public function __construct() { parent::__construct(); if (users_helper::isLoggedin()) { // Does user have permission to access this plugin? if (!session::permission('users_manage', 'users') && uri::getURI() != 'cp/users/login' && uri::getURI() != 'cp/users/login/license' && uri::getURI() != 'cp/users/logout') { view::noAccess(); } view::setCustomParam('section', 'users'); view::setCustomParam('options', config::item('cp_top_nav', 'lists', 'users', 'items')); } view::setTrail('cp/users', __('users', 'system_navigation')); }
public function __construct() { parent::__construct(); // Does user have permission to access this plugin? if (!session::permission('counters_manage', 'utilities')) { view::noAccess(); } view::setCustomParam('section', 'system'); view::setCustomParam('options', config::item('cp_top_nav', 'lists', 'system', 'items', 'system/utilities', 'items')); loader::model('utilities/counters', array(), 'recalculate_model'); view::setTrail('cp/system/config/system', __('system', 'system_navigation')); view::setTrail('cp/utilities/counters', __('utilities_counters', 'system_navigation')); }
public function __construct() { parent::__construct(); // Does user have permission to access this plugin? if (!session::permission('newsletters_manage', 'newsletters')) { view::noAccess(); } view::setCustomParam('section', 'content'); view::setCustomParam('options', config::item('cp_top_nav', 'lists', 'content', 'items', 'content/newsletters', 'items')); view::setTrail('cp/system/plugins', __('content', 'system_navigation')); view::setTrail('cp/content/newsletters', __('newsletters', 'system_navigation')); loader::model('newsletters/newsletters', array(), 'newsletters_model'); }
public function __construct() { parent::__construct(); // Does user have permission to access this plugin? if (!session::permission('languages_manage', 'system')) { view::noAccess(); } view::setCustomParam('section', 'system'); view::setCustomParam('options', config::item('cp_top_nav', 'lists', 'system', 'items', 'system/languages', 'items')); loader::model('system/languages'); view::setTrail('cp/system/config/system', __('system', 'system_navigation')); view::setTrail('cp/system/languages/', __('system_languages', 'system_navigation')); }
public function __construct() { parent::__construct(); // Does user have permission to access this plugin? if (!session::permission('plans_manage', 'billing')) { view::noAccess(); } view::setCustomParam('section', 'billing'); view::setCustomParam('options', config::item('cp_top_nav', 'lists', 'billing', 'items')); loader::model('billing/plans'); view::setTrail('cp/billing/transactions', __('billing', 'system_navigation')); view::setTrail('cp/billing/plans', __('billing_plans', 'system_navigation')); }
public function __construct() { parent::__construct(); // Does user have permission to access this plugin? if (!session::permission('license_manage', 'system')) { view::noAccess(); } view::setCustomParam('section', 'help'); view::setCustomParam('options', array('help/license' => array('name' => __('help_license', 'system_navigation'), 'uri' => 'help/license', 'keyword' => 'help/license', 'attr' => array('help license'), 'items' => array()))); loader::model('system/license'); view::setTrail('cp/help/license', __('help', 'system_navigation')); view::setTrail('cp/help/license', __('help_license', 'system_navigation')); // Check if demo mode is enabled if (input::demo(1, 'cp/system/config/system')) { return false; } }
public function manage() { // Does user have permission to view visitors? if (!session::permission('users_visitors_browse', 'users')) { view::noAccess(); } // Assign user from session to variable $user = session::section('session'); // Get fields $fields = array(); foreach (config::item('usertypes', 'core', 'keywords') as $categoryID => $keyword) { $fields[$categoryID] = $this->fields_model->getFields('users', $categoryID, 'view', 'in_list'); } // Parameters $params = array('total' => session::permission('users_visitors_limit', 'users') && session::permission('users_visitors_limit', 'users') < $user['total_visitors'] ? session::permission('users_visitors_limit', 'users') : $user['total_visitors'], 'profiles' => true); // Process query string $qstring = $this->parseQuerystring($params['total']); // Get visitors $visitors = array(); if ($params['total']) { $visitors = $this->users_visitors_model->getVisitors(session::item('user_id'), $qstring['order'], $qstring['limit'], $params); } else { view::setInfo(__('no_visitors', 'users_visitors')); } // Set pagination $config = array('base_url' => config::siteURL('users/visitors/manage?' . $qstring['url']), 'total_items' => $params['total'], 'items_per_page' => config::item('visitors_per_page', 'users'), 'current_page' => $qstring['page'], 'uri_segment' => 'page'); $pagination = loader::library('pagination', $config, null); // Assign vars view::assign(array('user' => $user, 'visitors' => $visitors, 'fields' => $fields, 'pagination' => $pagination)); // Dow we have new visitors? if (session::item('total_visitors_new')) { // Reset new visitors counter $this->users_visitors_model->resetCounter(); } // Set title view::setTitle(__('my_visitors', 'system_navigation')); // Set trail view::setTrail(session::item('slug'), __('my_profile', 'system_navigation')); view::setTrail('users/visitors/manage', __('users_visitors', 'system_navigation')); // Load view view::load('users/visitors/manage'); }
public function add() { // Is user loggedin ? if (!users_helper::isLoggedin()) { router::redirect('users/login'); } // Get URI vars $slugID = urldecode(utf8::trim(uri::segment(4))); // Do we have a slug ID? if ($slugID == '') { error::show404(); } // Get user if (!($user = $this->users_model->getUser($slugID)) || !$user['active'] || !$user['verified']) { error::show404(); } elseif ($user['user_id'] == session::item('user_id')) { router::redirect($user['slug']); } // Does user have permission to view this user group/type? if (!in_array($user['group_id'], session::permission('users_groups_browse', 'users')) || !in_array($user['type_id'], session::permission('users_types_browse', 'users'))) { view::noAccess(); } // Did we block this user or did they block us? if (config::item('blacklist_active', 'users') && ($blocked = $this->users_blocked_model->getUser($user['user_id']))) { if ($blocked['user_id'] == session::item('user_id')) { view::setError(__('user_blocked', 'users')); } else { view::setError(__('user_blocked_self', 'users')); } // Load view router::redirect($user['slug']); } // Does friend exist? if ($friend = $this->users_friends_model->getFriend($user['user_id'], false)) { // Is request already approved? if ($friend['active']) { view::setInfo(__('friend_active', 'users_friends')); } elseif ($friend['user_id'] == session::item('user_id')) { view::setError(__('friend_duplicate', 'users_friends')); } else { view::setError(__('friend_duplicate_self', 'users_friends')); } router::redirect($user['slug']); } // Add friend request $this->users_friends_model->addFriend($user['user_id']); // Send friend request email if (!isset($user['config']['notify_friends_request']) || $user['config']['notify_friends_request']) { // Create email replacement tags $tags = array(); foreach (session::section('session') as $key => $value) { $tags['from.' . $key] = $value; } $tags = array_merge($tags, $user); $tags['friends_link'] = config::siteURL('users/friends/confirm/' . session::item('slug_id')); loader::library('email'); $this->email->sendTemplate('users_friend_request', $user['email'], $tags, $user['language_id']); } // Success view::setInfo(__('friend_requested', 'users_friends')); router::redirect($user['slug']); }
public function delete() { // Is user logged in? if (!users_helper::isLoggedin()) { router::redirect('users/login'); } elseif (!session::permission('albums_post', 'pictures')) { view::noAccess(session::item('slug')); } // Get URI vars $albumID = (int) uri::segment(4); // Get album if (!$albumID || !($album = $this->pictures_albums_model->getAlbum($albumID)) || $album['user_id'] != session::item('user_id')) { view::setError(__('no_album', 'pictures')); router::redirect('pictures/albums/manage'); } // Delete album $this->pictures_albums_model->deleteAlbum($albumID, session::item('user_id'), $album); // Process query string $qstring = $this->parseQuerystring(config::item('user_albums_per_page', 'pictures')); // Success view::setInfo(__('album_deleted', 'pictures')); router::redirect('pictures/albums/manage?' . $qstring['url'] . 'page=' . $qstring['page']); }
public function delete() { // Is user logged in? if (!users_helper::isLoggedin()) { router::redirect('users/login'); } elseif (!session::permission('ads_post', 'classifieds')) { view::noAccess(session::item('slug')); } // Get URI vars $adID = (int) uri::segment(3); // Get ad if (!$adID || !($ad = $this->classifieds_model->getAd($adID)) || $ad['user_id'] != session::item('user_id')) { view::setError(__('no_ad', 'classifieds')); router::redirect('classifieds/manage'); } // Delete ad $this->classifieds_model->deleteAd($adID, session::item('user_id'), $ad); // Process query string $qstring = $this->parseQuerystring(config::item('user_ads_per_page', 'classifieds')); // Success view::setInfo(__('ad_deleted', 'classifieds')); router::redirect('classifieds/manage?' . $qstring['url'] . 'page=' . $qstring['page']); }
public function delete() { // Is user logged in? if (!users_helper::isLoggedin()) { router::redirect('users/login'); } elseif (!session::permission('blogs_post', 'blogs')) { view::noAccess(session::item('slug')); } // Get URI vars $blogID = (int) uri::segment(3); // Get blog if (!$blogID || !($blog = $this->blogs_model->getBlog($blogID)) || $blog['user_id'] != session::item('user_id')) { view::setError(__('no_blog', 'blogs')); router::redirect('blogs/manage'); } // Delete blog $this->blogs_model->deleteBlog($blogID, session::item('user_id'), $blog); // Process query string $qstring = $this->parseQuerystring(config::item('user_blogs_per_page', 'blogs')); // Success view::setInfo(__('blog_deleted', 'blogs')); router::redirect('blogs/manage?' . $qstring['url'] . 'page=' . $qstring['page']); }
public function delete() { // Is user loggedin ? if (!users_helper::isLoggedin()) { router::redirect('users/login'); } elseif (!session::permission('pictures_post', 'classifieds')) { view::noAccess(session::item('slug')); } // Get URI vars $adID = (int) uri::segment(4); $pictureID = (int) uri::segment(5); // Get album if (!$adID || !($ad = $this->classifieds_model->getAd($adID, 'in_view')) || $ad['user_id'] != session::item('user_id')) { view::setError(__('no_ad', 'classifieds')); router::redirect('classifieds'); } // Get picture if (!$pictureID || !($picture = $this->classifieds_pictures_model->getPicture($pictureID)) || $picture['ad_id'] != $adID) { view::setError(__('no_picture', 'classifieds')); router::redirect('classifieds/pictures/index/' . $adID . '/' . text_helper::slug($ad['data_title'], 100)); } // Delete picture $this->classifieds_pictures_model->deletePicture($pictureID, $adID, session::item('user_id'), $picture, $ad); // Process query string $qstring = $this->parseQuerystring(config::item('pictures_per_page', 'classifieds')); // Success view::setInfo(__('picture_deleted', 'classifieds')); router::redirect('classifieds/pictures/index/' . $adID . '/' . text_helper::slug($ad['data_title'], 100) . '?' . $qstring['url'] . 'page=' . $qstring['page']); }
public function view() { // Get URI vars $slugID = urldecode(utf8::trim(uri::segment(2))); // Do we have a slug ID? if ($slugID == '') { error::show404(); } // Is this our own account? if (strcasecmp($slugID, session::item('slug_id')) == 0) { $this->manage(); return; } // Get user if (!($user = $this->users_model->getUser($slugID))) { error::show404(); } elseif ($user['user_id'] != session::item('user_id') && (!$user['active'] || !$user['verified'] || $user['group_id'] == config::item('group_cancelled_id', 'users'))) { view::setError(__('user_not_active', 'users_signup')); router::redirect(users_helper::isLoggedin() ? users_helper::slug() : ''); } // Does user have permission to view this user group/type? if (!in_array($user['group_id'], session::permission('users_groups_view', 'users')) || !in_array($user['type_id'], session::permission('users_types_view', 'users'))) { view::noAccess(); } // Do we have cached user counters? if (!($counters = $this->counters_model->getCounters('user', session::item('user_id'), $user['user_id']))) { // Filter hook $counters = hook::filter('users/profile/view/counters', array(), $user); // Save counters for 24 hours $this->counters_model->saveCounters(false, 'user', session::item('user_id'), $user['user_id'], $counters, 60 * 24); } // Merge user and counters $user = array_merge($user, $counters); // Get fields $fields = $this->fields_model->getFields('users', $user['type_id'], 'view', 'in_view'); // Delete empty sections $this->fields_model->deleteEmptySections($fields, $user); // Assign vars view::assign(array('slugID' => $slugID, 'user' => $user, 'fields' => $fields)); // Set meta tags $this->metatags_model->set('users', 'users_view', array('user' => $user), ''); // Set trail view::setTrail($user['slug'], $user['name']); // Did we block this user or did they block us? if (users_helper::isLoggedin() && config::item('blacklist_active', 'users') && ($blocked = $this->users_blocked_model->getUser($user['user_id']))) { if ($blocked['user_id'] == session::item('user_id')) { view::setError(__('user_blocked', 'users')); } else { view::setError(__('user_blocked_self', 'users')); } // Load view view::load('users/profile/preview'); return; } // Set online/last visit status if (config::item('user_last_visit', 'users')) { if (!$user['invisible']) { if ($user['online']) { view::setTrail(false, '<span class="users online">' . __('status_online', 'users') . '</span>', array('side' => true)); } else { view::setTrail(false, '<span class="users date">' . __('status_visit_date', 'users', array('%span' => utf8::strtolower(date_helper::humanSpan($user['visit_date'])))) . '</span>', array('side' => true)); } } } // Validate profile privacy if (!$this->users_model->getPrivacyAccess($user['user_id'], isset($user['config']['privacy_profile']) ? $user['config']['privacy_profile'] : 1, false)) { view::setError(__('user_profile_limited', 'users')); // Load view view::load('users/profile/preview'); return; } // Do we have views enabled? if (config::item('user_views', 'users') && $user['user_id'] != session::item('user_id')) { // Update views counter $this->users_model->updateViews($user['user_id']); } // Do we have visitors enabled? if (users_helper::isLoggedin() && config::item('visitors_active', 'users') && $user['user_id'] != session::item('user_id') && !session::permission('users_visitors_anon', 'users')) { // Load visitors model loader::model('users/visitors', array(), 'users_visitors_model'); // Update views counter $this->users_visitors_model->addVisitor($user['user_id']); } // Load view view::load('users/profile/view'); }
public function user() { // Get user and last action ID $slugID = urldecode(utf8::trim(uri::segment(3))); $lastID = (int) input::post_get('last_id', 0); // Get user if (!($user = $this->users_model->getUser($slugID)) || !$user['active'] || !$user['verified']) { error::show404(); } // Does user have permission to view this user group/type? if (!in_array($user['group_id'], session::permission('users_groups_browse', 'users')) || !in_array($user['type_id'], session::permission('users_types_browse', 'users'))) { view::noAccess(); } elseif (!$this->users_model->getPrivacyAccess($user['user_id'], isset($user['config']['privacy_profile']) ? $user['config']['privacy_profile'] : 1)) { view::noAccess($user['slug']); } // Get actions $actions = $this->timeline_model->getActions($user['user_id'], 1, $lastID, config::item('actions_per_page', 'timeline')); $ratings = array(); // Do we have actions and are we logged in? if ($actions && users_helper::isLoggedin()) { foreach ($actions as $action) { if ($action['rating']) { $ratings[$action['relative_resource']][] = $action['item_id']; } else { $ratings['timeline'][] = $action['action_id']; } } // Load votes and like models loader::model('comments/votes'); loader::model('comments/likes'); // Get likes and votes $likes = $this->likes_model->getMultiLikes($ratings); $votes = $this->votes_model->getMultiVotes($ratings); $ratings = $likes + $votes; } // Can we post messages? $post = session::permission('messages_post', 'timeline') && $this->users_model->getPrivacyAccess($user['user_id'], isset($user['config']['privacy_timeline_messages']) ? $user['config']['privacy_timeline_messages'] : 1, false) ? true : false; // Update comments pagination config::set('comments_per_page', config::item('comments_per_page', 'timeline'), 'comments'); // Set meta tags $this->metatags_model->set('timeline', 'timeline_user', array('user' => $user)); // Set title view::setTitle(__('timeline_recent', 'system_navigation'), false); // Set trail view::setTrail($user['slug'], $user['name']); // Load view if (input::isAjaxRequest()) { $output = view::load('timeline/actions', array('actions' => $actions, 'user' => $user, 'post' => $post, 'ratings' => $ratings), true); view::ajaxResponse($output); } else { view::load('timeline/index', array('actions' => $actions, 'user' => $user, 'post' => $post, 'ratings' => $ratings)); } }
public function view() { // Get URI vars $conversationID = (int) uri::segment(3); // Get conversation if (!$conversationID || !($conversation = $this->messages_model->getConversation($conversationID, session::item('user_id'))) || $conversation['deleted']) { view::setError(__('no_conversation', 'messages')); router::redirect('messages/manage'); } if ($conversation['user_id'] != session::item('user_id') && !in_array($conversation['users'][$conversation['user_id']]['group_id'], session::permission('messages_view', 'messages'))) { view::noAccess(); } // Mark conversation as read if ($conversation['new']) { $this->messages_model->markRead($conversationID, session::item('user_id')); } // Assign vars view::assign(array('conversationID' => $conversationID, 'conversation' => $conversation)); // Process form values if (input::post('do_save_message')) { $this->_saveMessage($conversationID, $conversation); } // Set title view::setTitle($conversation['subject']); // Do we have more than 1 recipient? if ($conversation['total_recipients'] > 1) { // Assign actions view::setAction('messages/people/' . $conversationID, __('conversation_participants', 'messages'), array('class' => 'icon-text icon-messages-people')); } // Load view view::load('messages/view'); }