| 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 : |
<?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 Menu {
static $urlHomePage = false;
static $itemUrl = array(
'gallery' => 'gallery_index.php',
'users' => 'users_online.php',
'profile' => 'profile_view.php',
'edit_profile' => 'profile.php',
'rating' => 'users_hon.php',
'my' => 'my_friends.php',
'partner' => 'partner/',
'new_todo' => 'events_event_edit.php?event_private=1',
);
static $itemAuthOnly = array(
'home',
'wall',
'games',
'city',
'flashchat',
'mail',
'chat',
'profile',
'my',
'upgrade',
'partner',
);
static $itemLangKeys = array(
'vids' => 'menu_videogallery',
'mail' => 'menu_messages',
'users' => 'menu_whos_online',
'adv' => 'menu_adv_dating',
'partner' => 'affiliates',
);
static function itemLangKey($key)
{
if(isset(self::$itemLangKeys[$key])) {
$langKey = self::$itemLangKeys[$key];
} else {
$langKey = 'menu_' . $key;
}
return $langKey;
}
static function getUrlHomePage()
{
if(self::$urlHomePage === false) {
self::$urlHomePage = self::homePage();
}
return self::$urlHomePage;
}
static function isItemAuthOnly($menu)
{
if(Common::isOptionActive('main_page_by_first_menu_item_after_login', 'template_options')) {
if(!guid()) {
$isMenuAuthOnly = true;
}
} else {
$isMenuAuthOnly = in_array($menu, self::$itemAuthOnly);
}
return $isMenuAuthOnly;
}
static function menuItemUrl($menu)
{
return isset(self::$itemUrl[$menu]) ? self::$itemUrl[$menu] : $menu . '.php';
}
static function homePage($uid = null)
{
global $p;
$optionTmplSet = Common::getTmplSet();
if ($optionTmplSet == 'urban') {
$optionTmplName = Common::getTmplName();
if ($optionTmplName == 'edge') {
$setHomePageUrban = Common::getOption('set_home_page', 'edge');
$defaultProfileTab = Common::getOption('set_default_profile_tab', 'edge');
$profileUrl = 'profile_view';
if(IS_DEMO) {
$profileUrl = '';
}
$prepareUrl = true;
if (guid()) {
if (Common::isOptionActive('seo_friendly_urls')) {
$profileUrl = User::url(guid());
$prepareUrl = false;
}
if ($defaultProfileTab == 'menu_inner_videos_edge') {
$profileUrl = 'user_vids_list';
} elseif ($defaultProfileTab == 'menu_inner_photos_edge') {
$profileUrl = 'user_photos_list';
} elseif ($defaultProfileTab == 'menu_inner_friends_edge') {
$profileUrl = 'user_friends_list';
}
$pageURLs = ListBlocksOrder::getOrderItemsList('member_header_menu', true);
}
$pageURLs['menu_profile_edge']['url'] = $profileUrl;
if ($setHomePageUrban && isset($pageURLs[$setHomePageUrban])) {
$prepareUrl = !isset($pageURLs[$setHomePageUrban]['url_real']);
$setHomePageUrban = isset($pageURLs[$setHomePageUrban]['url_real']) ? $pageURLs[$setHomePageUrban]['url_real'] : $pageURLs[$setHomePageUrban]['url'];
} else {
$setHomePageUrban = $profileUrl;
}
if ($prepareUrl) {
$url = Common::pageUrl($setHomePageUrban, $uid);
} else {
$url = $setHomePageUrban;
}
return $url;
}
$viewHomePage = Common::getOption('view_home_page_urban');
if(Common::getOption('site_part', 'main') == 'main'){
$pageURLs = array(
'header_menu_wall' => Common::pageUrl('wall'),
'header_menu_encounters' => 'search_results.php?display=encounters',
'header_menu_people_nearby' => Common::pageUrl('search_results')
);
$setHomePageUrban = Common::getOption('set_home_page_urban');
if ($setHomePageUrban == 'menu_city') {
if ($p != 'city.php' && !CityBase::isCityInTab()) {
$pageURLs['menu_city'] = City::url('city', false, false);
}
}
if ($setHomePageUrban && isset($pageURLs[$setHomePageUrban])) {
return $pageURLs[$setHomePageUrban];
}
if (guid() && $viewHomePage == 'profile_view' && Common::isOptionActive('seo_friendly_urls')) {
$viewHomePage = User::url(guid());
}
return Common::pageUrl($viewHomePage);
} elseif(Common::getOption('site_part', 'main')){
$pageURLs = array(
'profile' => Common::pageUrl('profile_view'),
'people_nearby' => Common::pageUrl('search_results'),
'encounters' => 'search_results.php?display=encounters',
'photo_rating' => 'search_results.php?display=rate_people',
'messages' => Common::pageUrl('messages'),
'friends' => Common::pageUrl('my_friends'),
'matches' => 'mutual_attractions.php',
'who_likes_you' => 'mutual_attractions.php?display=want_to_meet_you',
'profile_visitors' => Common::pageUrl('users_viewed_me'),
'game_choose' => Common::pageUrl('games')
);
$pageURLsTmpl = array();
if ($optionTmplName == 'impact_mobile') {
unset($pageURLs['photo_rating']);
unset($pageURLs['friends']);
unset($pageURLs['matches']);
$pageURLsTmpl = array(
'who_likes_you' => Common::pageUrl('who_likes_you'),
'profile_view' => Common::pageUrl('profile_view'),
'search_results' => Common::pageUrl('search_results'),
'hot_or_not' => Common::pageUrl('hot_or_not'),
'whom_you_like' => Common::pageUrl('whom_you_like'),
'mutual_likes' => Common::pageUrl('mutual_likes'),
'can_see_your_private_photos' => Common::pageUrl('private_photo_access'),
'boost' => Common::pageUrl('profile_boost'),
'upgrade' => Common::pageUrl('upgrade'),
'settings' => Common::pageUrl('profile_settings'),
'live' => Common::pageUrl('live', guid()),
'live_list' => Common::pageUrl('live_list'),
'live_list_finished' => Common::pageUrl('live_list_finished')
);
if (!User::accessCheckFeatureSuperPowers('live_streaming')) {
$pageURLsTmpl['live'] = Common::pageUrl('upgrade');
}
}
$pageURLs = array_merge($pageURLs, $pageURLsTmpl);
$setHomePageMobile = Common::getOption('set_home_page_mobile');
if (in_array($setHomePageMobile, array('3d_city', 'street_chat'))) {
if (!CityBase::isCityInTab()) {
$pageURLs['3d_city'] = City::url('city', false, false);
$pageURLs['street_chat'] = City::url('street_chat', false, false);
}
} elseif (in_array($setHomePageMobile, array('live_list', 'live_list_finished', 'live'))
&& !LiveStreaming::isAviableLiveStreaming()) {
$setHomePageMobile = 'profile_view';
}
if(isset($pageURLs[$setHomePageMobile])){
if($pageURLs[$setHomePageMobile] == 'upgrade' && Common::isOptionActive('free_site')) {
$pageURLs[$setHomePageMobile] = Common::pageUrl($viewHomePage);
}
return $pageURLs[$setHomePageMobile];
}
return Common::pageUrl($viewHomePage);
}
}
if (Common::getOption('site_part', 'main') == 'administration'
|| Common::getOption('site_part', 'main') == 'partner') {
return 'home.php';
}
$templateHome = Common::getOption('home_page', 'template_options');
if ($templateHome) {
return $templateHome;
}
$menu = 'home';
if (Common::isWallActive() && (Common::isOptionActive('feed_as_home_page') || Common::getOption('home_page_mode') == 'social')) {
$menu = 'wall';
}
// probably index.php will be main page always in this case...
if(Common::isOptionActive('main_page_by_first_menu_item', 'template_options')) {
$menuItems = self::mainMenuItems();
if(Common::isValidArray($menuItems)) {
reset($menuItems);
$menu = key($menuItems);
}
}
if(guid() === 0 && self::isItemAuthOnly($menu)) {
$menu = 'index';
}
$urlHomePage = self::menuItemUrl($menu);
return $urlHomePage;
}
static function mainMenuItems($admin = false)
{
global $g;
#$menuItems = Config::getOptionsAll('menu');
$menuItems = $g['menu'];
if (!$admin) {
foreach ($menuItems as $option => $value) {
if (!Config::getPosition('menu', $option)) {
unset($menuItems[$option]);
}
}
}
$menuItems = Common::demoSetMainSection($menuItems);
asort($menuItems);
// disable menu items
$homePageMode = Common::getOption('home_page_mode');
if ($homePageMode == 'social') {
unset($menuItems['home']);
} elseif ($homePageMode == 'dating') {
unset($menuItems['wall']);
}
if(Common::isOptionActive('free_site') || ($admin === false && (!guid() || (guid() && (!User::isPaidFree() || User::isFreeAccess()))))) {
unset($menuItems['upgrade']);
}
if ($admin === false && !guid()) {
unset($menuItems['profile']);
unset($menuItems['edit_profile']);
}
if(Common::isOptionActive('city') && !Common::isModuleCityExists()) {
Common::optionDeactivate('city');
}
if (!Common::isOptionActive('online_tab_enabled')) {
unset($menuItems['users']);
}
$isCalendar = Common::isOptionActive('events_calendar');
if ( (!guid() && $admin === false) || !$isCalendar) {
unset($menuItems['new_todo']);
}
if (!$isCalendar) {
unset($menuItems['events_calendar']);
}
if (!Common::isOptionActive('network') || !Common::isOptionActive('network', 'template_options')) {
unset($menuItems['network']);
}
if (!Common::isOptionActive('stats') || !Common::isOptionActive('stats', 'template_options')) {
unset($menuItems['stats']);
}
$menuItemsHide = isset($g['template_options']['menu_items_hide']) ? $g['template_options']['menu_items_hide'] : false;
foreach ($menuItems as $menuItem => $order) {
if(is_array($menuItemsHide) && in_array($menuItem, $menuItemsHide)) {
unset($menuItems[$menuItem]);
continue;
}
$page = $menuItem;
if ($page == 'vids') {
$page = 'videogallery';
}
if (Common::getOption($page)) {
if(!Common::isOptionActive($page)) {
unset($menuItems[$menuItem]);
}
}
}
return $menuItems;
}
static function getMenuItemsKeys()
{
return array(
'vids' => 'menu_videogallery',
'mail' => 'menu_messages',
'users' => 'menu_whos_online',
'adv' => 'menu_adv_dating',
'partner' => 'affiliates',
);
}
static function getPageActive()
{
$pageActive = Common::page();
if ($pageActive == 'users_hon.php')
$menuItemActive = 'rating';
elseif ($pageActive == 'bookmark_friends.php')
$menuItemActive = 'my';
else {
$tmp = explode('.', $pageActive);
$pa = explode('_', $tmp[0]);
$menuItemActive = $pa[0];
}
return $menuItemActive;
}
static function parseMainMenu(&$html,array $target)
{
global $l;
global $g;
$menuItems = self::mainMenuItems();
$menuItemKeys = self::getMenuItemsKeys();
$menuItemActive = self::getPageActive();
$menuLimit = isset($l['all']['menu_items']) ? $l['all']['menu_items'] : 16;
$menuCounter = 0;
$menuItemsCount = count($menuItems);
$menuItemStart = true;
foreach($menuItems as $menuItem => $value) {
$html->setvar('menu_item_index', $menuCounter);
$menuCounter++;
$menuBlock = 'menu_item';
$menuBlockActive = 'menu_item_active';
if($menuCounter > $menuLimit) {
$menuBlock = 'menu_more_item';
$menuBlockActive = 'menu_more_item_active';
}
// $langKey = 'menu_' . $menuItem;
// if(isset($menuItemKeys[$menuItem])) {
// $langKey = $menuItemKeys[$menuItem];
// }
$langKey = self::itemLangKey($menuItem);
if(!empty($target)) {
$targetCode = '';
if(in_array($menuItem,$target)) {
$targetCode = 'target="_blank"';
}
$html->setvar('target', $targetCode);
}
$html->setvar('menu_item_title', l($langKey));
$html->setvar('menu_item_page', self::menuItemUrl($menuItem));
// special parse for first item
if($menuItemStart) {
$html->parse('menu_item_start', false);
$menuItemStart = false;
} else {
$html->setblockvar('menu_item_start', '');
}
// special class of end item
if ($menuCounter == $menuItemsCount) {
$html->setvar('class_last', 'last');
}
if ($menuCounter == $menuItemsCount && $menuCounter <= $menuLimit) {
$html->parse('menu_item_end', false);
}
// parse active item
if($menuItem == $menuItemActive) {
$html->parse($menuBlockActive, false);
} else {
$html->setblockvar($menuBlockActive, '');
}
$html->parse($menuBlock);
}
if ($menuCounter > $menuLimit) {
$html->parse('menu_more');
}
if ($menuCounter) {
$html->parse('menu_site');
}
}
static function parseMainMenuTable(&$html,array $target)
{
global $l;
global $g;
$menuItems = self::mainMenuItems();
$menuItemKeys = self::getMenuItemsKeys();
$menuItemActive = self::getPageActive();
$menuCounter = 0;
$menuItemsCount = count($menuItems);
$numberItemsMenu = Common::getOption('number_items_menu', 'template_options');
$numberItemsMenu = ($numberItemsMenu == NULL) ? 22 : $numberItemsMenu;
$numberItemsTd = 2;
$numberItemsTr = ceil($numberItemsMenu / $numberItemsTd);
$numberEmpty = 0;
if ($numberItemsTr > $menuItemsCount) {
$numberEmpty = $numberItemsTr - $menuItemsCount;
} elseif ($numberItemsTr < $menuItemsCount
&& $menuItemsCount < $numberItemsMenu) {
$numberEmpty = $numberItemsMenu - $menuItemsCount;
}
for ($i = 1; $i <= $numberEmpty; $i++) {
$menuItems['empty' . $i] = 'empty';
}
$isParseMenu = false;
foreach($menuItems as $menuItem => $value) {
if ($value != 'empty') {
$isParseMenu = true;
$html->setvar('menu_item_index', $menuCounter);
$langKey = self::itemLangKey($menuItem);
if(!empty($target)) {
$targetCode = '';
if(in_array($menuItem,$target)) {
$targetCode = 'target="_blank"';
}
$html->setvar('target', $targetCode);
}
$html->setvar('menu_item_title', l($langKey));
$html->setvar('menu_item_page', self::menuItemUrl($menuItem));
// parse active item
if($menuItem == $menuItemActive) {
$html->parse('menu_item_active_table', false);
} else {
$html->setblockvar('menu_item_active_table', '');
}
$html->setblockvar('menu_item_empty_table', '');
$html->parse('menu_item_table', false);
} else {
$html->setblockvar('menu_item_table', '');
$html->parse('menu_item_empty_table', false);
}
$menuCounter++;
$html->parse('menu_item_table_td', true);
if ($menuCounter % $numberItemsTr == 0) {
$html->parse('menu_item_table_tr');
$html->setblockvar('menu_item_table_td', '');
}
}
if ($isParseMenu) {
$html->parse('main_menu_table');
} else {
$html->parse('main_menu_not');
}
}
static function parseMainMenuOldVersion(&$html)
{
global $g;
global $p;
global $l;
$basePages = array(
"music",
"vids",
"events",
"places",
"groups",
"blogs",
"games",
"city",
"gallery",
"flashchat",
"mail",
"chat",
"forum",
"users",
"search",
"profile",
"rating",
"top5",
"my",
"adv",
"partner",
);
if ($g['options']['home_page_mode'] == 'social') {
$pagesBySettings = array(
"wall",
);
} elseif ($g['options']['home_page_mode'] == 'dating') {
$pagesBySettings = array(
"home",
);
} else {
$pagesBySettings = array(
"home",
"wall",
);
}
$pages = array_merge($pagesBySettings, $basePages);
// check if site sections active before parsing and remove items
$pages_final = array();
foreach ($pages as $pageCheck) {
$page = $pageCheck;
if ($page == 'vids') {
$page = 'videogallery';
}
if (isset($g['options'][$page])) {
if ($g['options'][$page] == "Y") {
$pages_final[] = $pageCheck;
}
} else {
$pages_final[] = $pageCheck;
}
}
if($g['options']['free_site'] == 'N') {
if (!User::isPaid(guid())) {
$pages_final[] = 'upgrade';
}
}
// get language parameter
$menu_limit = isset($l['all']['menu_items']) ? $l['all']['menu_items'] : 16;
$menu_counter = 0;
$menu_more = "";
$menu_items = count($pages_final);
foreach ($pages_final as $v) {
$menu_counter++;
if ($p == "users_hon.php")
$pa[0] = "rating";
elseif ($p == "bookmark_friends.php")
$pa[0] = "my";
else {
$tmp = explode(".", $p);
$pa = explode("_", $tmp[0]);
}
// parse "MORE" items
if ($menu_counter > $menu_limit)
$menu_more = "more_";
// Special class of end item
if ($menu_items == $menu_counter)
$html->setvar("class_last", "last");
if ($v == $pa[0]) {
$html->parse("menu_$menu_more" . $v . "_active");
} else {
$html->parse("menu_$menu_more" . $v . "");
}
}
if ($menu_counter > $menu_limit) {
$html->parse("menu_next");
}
}
static function getSubmenuItemsList($module='submenu')
{
global $p;
$optionTmplName = Common::getOption('name', 'template_options');
$items=array();
if($module=='submenu'){
$items=array(
'info_mail' => 'mail_on_item',
'info_interests'=>'wink_on_item',
'info_online'=>'online_tab_header_item',
'profile_pics'=>'profile_pics_header_item',
'my_photos'=>'header_gallery_item',
'your_audio'=>'header_music_item',
'your_vids'=>'header_videogallery_item',
'your_blog'=>'header_blogs_item',
'your_settings'=>'header_your_settings_item',
'menu_widgets'=>'header_widgets_item',
'menu_my_account'=>'header_my_account_item',
);
} elseif($module=='header_menu'){
$items=array(
'header_menu_people_nearby' => 'header_menu_people_nearby_item',
'header_menu_encounters'=>'header_menu_encounters_item',
'header_menu_messages'=>'header_menu_messages_item',
'menu_city'=>'header_menu_city_module_item',
'header_menu_wall'=>'header_menu_wall_item',
);
if (Common::getOption('3dcity_menu_item_position', '3d_city') == 'right' || !Common::isOptionActive('city')) {
unset($items['menu_city']);
}
if (!Common::isWallActive()) {
unset($items['header_menu_wall']);
}
/*if(get_session('set_wall_module') != 'on') {
unset($items['header_menu_wall']);
}*/
} elseif($module=='quick_search'){
$items=array(
'whos_online' => 'quick_search_whos_online_item',
'whos_new'=>'quick_search_whos_new_item',
'birthdays'=>'quick_search_birthdays_item',
'menu_users_featured'=>'quick_search_menu_users_featured_item',
'i_viewed'=>'quick_search_i_viewed_item',
'viewed_me'=>'quick_search_viewed_me_item',
);
} elseif($module=='profile_tabs'){
$items=array(
'tab_profile' => 'profile_tabs_tab_profile_item',
'tab_photos'=>'profile_tabs_tab_photos_item',
'header_menu_wall'=>'profile_tabs_wall_item',
);
if ($optionTmplName == 'impact') {
$items = array(
'tab_profile' => 'profile_tabs_tab_profile_item',
'tab_photos'=>'profile_tabs_tab_photos_item'
);
}
if (!Common::isWallActive()) {
unset($items['header_menu_wall']);
}
} elseif($module=='visitor_menu'){
$items=array(
'chat_nowe' => 'visitor_menu_chat_nowe_item',
'meet'=>'visitor_menu_meet_her_f_item',
'profile_menu_video_chat'=>'visitor_menu_profile_menu_video_chat_item',
'profile_menu_audio_chat'=>'visitor_menu_profile_menu_audio_chat_item',
'profile_menu_street_chat' => 'visitor_menu_profile_menu_street_chat_item',
'gift'=>'visitor_menu_gift_item',
'wink'=>'visitor_menu_wink_item',
'friends'=>'visitor_menu_friends_item',
'block'=>'visitor_menu_block_item',
'profile_menu_report'=>'visitor_menu_profile_menu_report_item',
);
} elseif($module == 'header_menu_impact'){
$items = array('header_menu_credits_balans' => 'header_menu_credits_balans_item',
'header_menu_profile' => 'header_menu_profile_item',
'header_menu_settings' => 'header_menu_settings_item',
'header_menu_upgrade' => 'header_menu_upgrade_item',
'header_menu_moderator' => 'header_menu_moderator_item',
'header_menu_sign_out' => 'header_menu_sign_out_item'
);
if (Common::isOptionActive('free_site') || User::isSuperPowers()) {
unset($items['header_menu_upgrade']);
}
if (!Moderator::checkAccess(true) && $p != 'headermenu_order.php') {
unset($items['header_menu_moderator']);
}
if (!Common::isCreditsEnabled()) {
unset($items['header_menu_credits_balans']);
}
}
return $items;
}
static function isActiveSubmenuItem($module = 'submenu', $item = '')
{
if (!$item) {
return false;
}
$orderList = Common::getOption('order_list', $module);
if ($orderList) {
$submenuOrderList = unserialize($orderList);
if (is_array($submenuOrderList)) {
if (isset($submenuOrderList[$item])) {
return $submenuOrderList[$item];
} else {
return false;
}
}
}
return true;
}
static function getIndexItemSubmenu($module, $item)
{
$orderTabs = self::getListSubmenu($module);
return array_search($item, $orderTabs);
}
static function getListSubmenu($module = 'submenu')
{
$submenuItemsBlocks = Menu::getSubmenuItemsList($module);
$orderSubmenu=array();
$orderList = Common::getOption('order_list', $module);
if ($orderList) {
$submenu_order_list=unserialize($orderList);
if(!is_array($submenu_order_list)){
$submenu_order_list=array();
}
foreach($submenu_order_list as $k=>$v){
if(isset($submenuItemsBlocks[$k])){
if($v == 1){
$orderSubmenu[] = $submenuItemsBlocks[$k];
}
unset($submenuItemsBlocks[$k]);
}
}
}
foreach($submenuItemsBlocks as $k=>$v){
$orderSubmenu[] = $v;
}
return $orderSubmenu;
}
/*
$splitByBlocks - распределение элементов по блокам, массив
name_block - имя блока в который должен поместиться пункт,
count - количество пунктов, которые помещаются в блок, если 0 - то все оставшиеся
$splitByBlocks=array(array('name_block'=>'visitor_menu','count'=>3),
array('name_block'=>'visitor_menu_more','count'=>0),
);
*/
static function parseSubmenu(&$html, $module='submenu', $selected = 0, $notParseKey = null, $splitByBlocks=array())
{
global $g;
/*$submenuItemsBlocks=Menu::getSubmenuItemsList($module);
$orderSubmenu=array();
$orderList=Common::getOption('order_list',$module);
if($orderList){
$submenu_order_list=unserialize($orderList);
if(!is_array($submenu_order_list)){
$submenu_order_list=array();
}
foreach($submenu_order_list as $k=>$v){
if(isset($submenuItemsBlocks[$k])){
if($v==1){
$orderSubmenu[]=$submenuItemsBlocks[$k];
}
unset($submenuItemsBlocks[$k]);
}
}
}
foreach($submenuItemsBlocks as $k=>$v){
$orderSubmenu[]=$v;
}*/
$orderSubmenu = self::getListSubmenu($module);
if ($notParseKey !== null) {
unset_from_array($notParseKey, $orderSubmenu, false);
$orderSubmenu = array_values($orderSubmenu);
}
//print_r_pre($orderSubmenu);
$selectedItem = 0;
if (is_string($selected) && in_array($selected, $orderSubmenu)) {
$selectedItem = array_search($selected, $orderSubmenu);
} elseif (isset($orderSubmenu[$selected])) {
$selectedItem = $selected;
}
$currentBlock=$module;
$currentCount=count($orderSubmenu);
$count=0;
$blocksForParsing=array();
if(count($splitByBlocks)>0){
$tmpBlockParams=current($splitByBlocks);
$currentBlock=$tmpBlockParams['name_block'];
$currentCount=$tmpBlockParams['count'];
if($currentCount==0){
$currentCount=count($orderSubmenu);
}
}
//Сделать проверку на наличе в массиве $selected - $selectedKey если заданы и если нет то (0)первый делать активный
foreach($orderSubmenu as $k=>$v){
if ($selectedItem == $k) {
$blockSelected = "{$v}_selected";
$blockSelectedCont = "{$blockSelected}_content";
$html->parse($blockSelected, false);
if ($html->blockExists($blockSelectedCont)) {
$html->parse($blockSelectedCont, false);
}
}
//$html->parse_to($v,true,$module);
if($count>=$currentCount){
$tmpBlockParams=next($splitByBlocks);
if($tmpBlockParams){
$currentBlock=$tmpBlockParams['name_block'];
$currentCount=$tmpBlockParams['count'];
if($currentCount==0){
$currentCount=count($orderSubmenu);
}
$count=0;
}
}
$html->parse_to($v,true,$currentBlock);
//Проверяем есть ли содержимое блока (содержимое блока может быть выключено в конфиге в нескольких местах)
$blName=$html->getname($v, true);
$block_value = "";
if (isset($html->blocks[$blName])){
$block_array = $html->blocks[$blName];
if(is_array($block_array)){
$globals = $html->globals;
$array_size = $block_array[0];
for($i = 1; $i <= $array_size; $i++){
$block_value .= isset($globals[$block_array[$i]]) ? $globals[$block_array[$i]] : "";
}
}
}
//если блок не пустой - считаем его
if(trim($block_value)!=''){
if(!isset($blocksForParsing[$currentBlock])){
$blocksForParsing[$currentBlock]=0;
}
$blocksForParsing[$currentBlock]++;
$count++;
}
}
if(count($orderSubmenu)>0){
foreach($blocksForParsing as $m=>$v){
if($v>0){
$html->parse($m);
if($html->blockexists($m.'_container') && $m!=$module){
$html->parse($m.'_container');
}
}
}
$html->parse($module.'_container');
}
}
static function updateCounterAjaxImpact($curPage = '', $updateMessages = false)
{
global $p;
$scriptJs = '';
if ($curPage == 'messages.php' || $updateMessages) {
$scriptJs .= "messages.updateCounter(" . intval(CIm::getCountNewMessages()) . ");";
}
$scriptJs .= "updateCounter('#narrow_blocked_count', " . User::getCountBlocked() . ", true);";
$viewers = User::getNumberViewersMeProfiles();
$scriptJs .= "updateCounter('#narrow_visitors_count'," . intval($viewers['count']) . ',' . $viewers['new'] . ",true);";
$scriptJs .= "updateCountersLikes(checkDataAjax('" . getResponseAjaxByAuth(true, MutualAttractions::getCounters()) . "'));";
$scriptJs .= 'updateCounter("#narrow_private_photo_count", ' . User::getNumberFriends() . ');';
return $scriptJs;
}
static function getCounterMessagesImpactMobile()
{
$countImInfo = CIm::getLastNewMessageInfo();
$countImInfo['count'] = CIm::getCountNewMessages(null, get_param('user_to'));
return array('info_im' => $countImInfo,
'info_city' => City::getLastNewMessageInfo());
}
static function getListCounterImpactMobile($listCounters = array())
{
$viewers = User::getNumberViewersMeProfiles();
$listCounters['profile_visitors'] = array('count' => $viewers['count'], 'new' => $viewers['new']);
$listCounters['can_see_your_private_photos'] = array('count' => User::getNumberFriends());
$listCounters['messages'] = self::getCounterMessagesImpactMobile();
$listCountersMutual = MutualAttractions::getCounters();
$listCountersMutualRes = array();
foreach ($listCountersMutual as $key => $value) {
if (mb_stripos($key, '_new') === false && mb_stripos($key, 'number_') !== false){
$listCountersMutualRes[str_replace('number_', '', $key)] = array('count' => $value);
}
}
$listCounters = array_merge($listCounters, $listCountersMutualRes);
return $listCounters;
}
}