У Вас в настройках PHP register_globals=ON? какеры идут к Вам!!!

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Loading

Go Back   форум vBSupport.org > >
Register Изображения Меню vBsupport Files Manager Аллея Звёзд Реклама на форуме Search Today's Posts Mark Forums Read
  • Мемберка
  • Администраторам
  • Premoderation
  • For English speaking users
  • Изменения в правах
  • Каталог Фрилансеров
Пароли на скачивание файлов в Member Area меняются автоматически каждый день
Если вам нужно скачать какой то скрипт, за паролем ко мне в ЛС
привет какирам kerk
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Не можете скачать вложение?
Изменения в правах групп пользователей
внимательно читаем эту и эту темы
Короткая версия - тут
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

 
 
Old  
busyava
Продвинутый
 
busyava's Avatar
Default [Вопрос] вывод "Кто на форуме" на другую страницу 1

перенес из Мега популярных вопросов" тк не думаю, что вопрос таковым является. А так же по мере нахождения, частично мною, решения проблемы я понял, что решения этого вопроса - не так просто, как казалось на первый взгляд..


суть такова - хочу сделать на созданной мною странице, пункт "кто онлайн" - как на главной, и просто копия нижней части кода Forumhome ничего не дает, вернее дает только текст и все, без цифирек и статистики,
код беру от начала закомментированного блока:

<!-- what's going on box --> (для тех, кто не включил в админке метки-комментарии: скопировал всю нижнюю часть forumhome)

и до конца - до footera

В результате получается что фразы есть, а наполненности нет:
Quote:
Тем: , сообщений: , Пользователи:
Приветствуем нового пользователя,
хотя код вставляю весь (и он достаточно обширный)

но даже не весь текст проявляется отсутствует такие строчки, как:
Quote:
Присутствуют: x (x пользователей и x гостей)
Показать находящихся на форуме
Рекорд одновременного пребывания x, это было Сегодня в xx:xx.

Активных пользователей за последние 24 часа/часов: xx (пользователей - xx; гостей - xx)
------------

кажется я начал догадываться почему просто копирование кода "не пашет"....:
скорее всего надо помимо шаблона править страницу, которую я создал, и думается мне, править путем переноса каких то строчек из index.php
сама созданная страница выглядит примерно так:


PHP Code:
<?php

// ####################### Установка среды PHP ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### Определение важных констант #######################
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''test'); // измените это в зависимости от названия файла

// ################### Кеширование шаблонов и данных ######################
// get special phrase groups
$phrasegroups = array(

);

// получение специальных шаблонов с данными с базы
$specialtemplates = array(
     
);

// кеширование шаблонов, исрользуемых всеми действиями
$globaltemplates = array(
    
'TEST',
);

// кеширование шаблонов, исрользуемых специфическими действиями
$actiontemplates = array(

);

// ######################### Получение системы ############################
require_once('./global.php');

// ##################################################  #####################
// ######################## НАЧАЛО ОСНОВНОГО СКРИПТА ############################
// ##################################################  #####################

$navbits = array();
$navbits[$parent] = 'Test Page';

$navbits construct_navbits($navbits);
eval(
'$navbar = "' fetch_template('navbar') . '";');
eval(
'print_output("' fetch_template('TEST') . '");');

?>
что туда нужно прописать такого, чтобы на ней отразились "Кто на форуме" ? (но не ссылка, а именно список кто в сети)


Да, это оно, пару строчек получилось активировать, но не все, буду очень благодарен если кто нибудь напишет, как все же - все активировать (- то есть появились цифры)
и впереди еще один момент, без которого вся затея - безсмысленна.. нужно будет туда ajax кнопку поставить "Обновить" с хака [Ajax]Who is online.


по сути нужен этот блок:

Quote:
-----------
"кто на форуме" (обновить)
-----------
Присутствуют: x (x пользователей и xx гостей)
Рекорд одновременного пребывания xx, это было Сегодня в xx:xx.

пользователь1,пользователь2 и т.д.
, и кнопка обновить (ajax). и все, а информация о том когда было больше всего народу не нужна, и когда у кого день рождения - не нужна

Last edited by busyava : 06-11-2012 at 04:04 AM.
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
YURSHAT
Coder
 
YURSHAT's Avatar
Default 2

с AJAX'ом извимни, сам, времени нет

Last edited by YURSHAT : 05-25-2013 at 12:37 AM.
 
Old  
SMak044
Эксперт
 
SMak044's Avatar
Default 1

Quote:
Originally Posted by busyava View Post
кажется я начал догадываться почему просто копирование кода "не пашет"....:
скорее всего надо помимо шаблона править страницу, которую я создал, и думается мне, править путем переноса каких то строчек из index.php
Обрати внимание на часть кода от
PHP Code:
// ### LOGGED IN USERS ################################################# 
до
PHP Code:
// ### GET FORUMS & MODERATOR iCACHES ######################## 
С ajax тут все довольно просто, тебе необходимо выполнить httprequest и выполнить тот же код, но в другом файле и вывести результат в div, который предварительно надо бы вставить в твой шаблон.
 
Old  
busyava
Продвинутый
 
busyava's Avatar
Default 0

помогло полное бездумное копирование - а отдельные участки кода приводят к белому экрану
Quote:
Originally Posted by SMak044 View Post
С ajax тут все довольно просто, тебе необходимо выполнить httprequest и выполнить тот же код, но в другом файле и вывести результат в div, который предварительно надо бы вставить в твой шаблон.
можно поподробнее? что такое httprequest - какой нибудь запрос? как он выполняется/где?
 
Old  
SMak044
Эксперт
 
SMak044's Avatar
Default 1

busyava,
Это javascript http://www.nbsp.ru/articles/2005/01/...tprequest.html
 
Old  
busyava
Продвинутый
 
busyava's Avatar
Default 0

это для меня сложно..

вот, что нашел в html коде странице index.php, и я думаю, что где то тут ключ:

это в head:
PHP Code:
<!-- BEGIN TEMPLATEawio_js -->
<
script type="text/javascript">
<!--
vBulletin.events.systemInit.subscribe(function(){online.req();online.req2()});online={req:function(){fetch_object("whoisonline").innerHTML='<img src="images/misc/progress.gif" />';YAHOO.util.Connect.asyncRequest("POST","index.php?do=rqawio",{success:this.show,failure:vBulletin_AJAX_Error_Handler,timeout:vB_Default_Timeout})},show:function(b){fetch_object("whoisonline").innerHTML=b.responseText},req2:function(){fetch_object("whoisonline2").innerHTML='<img src="images/misc/progress.gif" />';YAHOO.util.Connect.asyncRequest("POST","index.php?do=rqawio2",{success:this.show2,failure:vBulletin_AJAX_Error_Handler,timeout:vB_Default_Timeout})},show2:function(b){fetch_object("whoisonline2").innerHTML=b.responseText}};cautoref=setInterval("online.req(), online.req2()",1000*60);
// -->
</script>
<!-- END TEMPLATE: awio_js --> 
но почему он закомментирован?
может чего то подправить надо в скрипте? к примеру строчки типа: ,"index.php?do=rqawio" ?
а выполнить скрипт, как я понял нужно через div?

-раскомментировал, index заменил на свою страницу (условно "test"), то есть "index.php?do=rqawio" = "test.php?do=rqawio" - не робит =(


прошу прощения за свои "топорные" решения вопроса..

busyava добавил 11.06.2012 в 14:53
сместил обсуждение по хаку

busyava добавил 11.06.2012 в 17:18
Quote:
Originally Posted by SMak044 View Post
Обрати внимание на часть кода от
PHP Code:
// ### LOGGED IN USERS ################################################# 
до
PHP Code:
// ### GET FORUMS & MODERATOR iCACHES ######################## 
С ajax тут все довольно просто, тебе необходимо выполнить httprequest и выполнить тот же код, но в другом файле и вывести результат в div, который предварительно надо бы вставить в твой шаблон.
PHP Code:
<?php

// ####################### Установка среды PHP ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### Определение важных констант #######################
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''TEST'); // измените это в зависимости от названия файла

// ################### Кеширование шаблонов и данных ######################
// get special phrase groups
$phrasegroups = array(
);

// получение специальных шаблонов с данными с базы
$specialtemplates = array(
    
'maxloggedin',  
);

// кеширование шаблонов, исрользуемых всеми действиями
$globaltemplates = array(
    
'TEST',
);

// кеширование шаблонов, исрользуемых специфическими действиями
$actiontemplates = array(

);

// ######################### Получение системы ############################
require_once('./global.php');
require_once(
DIR '/includes/functions_bigthree.php');
// ##################################################  #####################
// ######################## НАЧАЛО ОСНОВНОГО СКРИПТА ############################
// ##################################################  #####################


$today vbdate('Y-m-d'TIMENOWfalsefalse);

// ### LOGGED IN USERS #################################################
$activeusers '';
if ((
$vbulletin->options['displayloggedin'] == OR $vbulletin->options['displayloggedin'] == OR ($vbulletin->options['displayloggedin'] > AND $vbulletin->userinfo['userid'])) AND !$show['search_engine'])
{
    
$datecut TIMENOW $vbulletin->options['cookietimeout'];
    
$numbervisible 0;
    
$numberregistered 0;
    
$numberguest 0;

    
$hook_query_fields $hook_query_joins $hook_query_where '';
    (
$hook vBulletinHook::fetch_hook('forumhome_loggedinuser_query')) ? eval($hook) : false;

    
$forumusers $db->query_read_slave("
        SELECT
            user.username, (user.options & " 
$vbulletin->bf_misc_useroptions['invisible'] . ") AS invisible, user.usergroupid,
            session.userid, session.inforum, session.lastactivity, session.badlocation,
             IF(user.displaygroupid=0, user.usergroupid, user.displaygroupid) AS displaygroupid, infractiongroupid
            
$hook_query_fields
        FROM " 
TABLE_PREFIX "session AS session
        LEFT JOIN " 
TABLE_PREFIX "user AS user ON(user.userid = session.userid)
        
$hook_query_joins
        WHERE session.lastactivity > 
$datecut
            
$hook_query_where
        " 
iif($vbulletin->options['displayloggedin'] == OR $vbulletin->options['displayloggedin'] == 3"ORDER BY username ASC") . "
    "
);

    if (
$vbulletin->userinfo['userid'])
    {
        
// fakes the user being online for an initial page view of index.php
        
$vbulletin->userinfo['joingroupid'] = iif($vbulletin->userinfo['displaygroupid'], $vbulletin->userinfo['displaygroupid'], $vbulletin->userinfo['usergroupid']);
        
$userinfos = array
        (
            
$vbulletin->userinfo['userid'] => array
            (
                
'userid'            =>& $vbulletin->userinfo['userid'],
                
'username'          =>& $vbulletin->userinfo['username'],
                
'invisible'         =>& $vbulletin->userinfo['invisible'],
                
'inforum'           => 0,
                
'lastactivity'      => TIMENOW,
                
'usergroupid'       =>& $vbulletin->userinfo['usergroupid'],
                
'displaygroupid'    =>& $vbulletin->userinfo['displaygroupid'],
                
'infractiongroupid' =>& $vbulletin->userinfo['infractiongroupid'],
            )
        );
    }
    else
    {
        
$userinfos = array();
    }
    
$inforum = array();

    while (
$loggedin $db->fetch_array($forumusers))
    {
        
$userid $loggedin['userid'];
        if (!
$userid)
        {    
// Guest
            
$numberguest++;
            if (!
$loggedin['badlocation'])
            {
                
$inforum["$loggedin[inforum]"]++;
            }
        }
        else if (empty(
$userinfos["$userid"]) OR ($userinfos["$userid"]['lastactivity'] < $loggedin['lastactivity']))
        {
            
$userinfos["$userid"] = $loggedin;
        }
    }

    if (!
$vbulletin->userinfo['userid'] AND $numberguest == 0)
    {
        
$numberguest++;
    }

    foreach (
$userinfos AS $userid => $loggedin)
    {
        
$numberregistered++;
        if (
$userid != $vbulletin->userinfo['userid'] AND !$loggedin['badlocation'])
        {
            
$inforum["$loggedin[inforum]"]++;
        }
        
fetch_musername($loggedin);

        (
$hook vBulletinHook::fetch_hook('forumhome_loggedinuser')) ? eval($hook) : false;

        if (
fetch_online_status($loggedin))
        {
            
$numbervisible++;
            
$show['comma_leader'] = ($activeusers != '');
            eval(
'$activeusers .= "' fetch_template('forumhome_loggedinuser') . '";');
        }
    }

    
// memory saving
    
unset($userinfos$loggedin);

    
$db->free_result($forumusers);

    
$totalonline $numberregistered $numberguest;
    
$numberinvisible $numberregistered $numbervisible;

    
// ### MAX LOGGEDIN USERS ################################
    
if (inTESTal($vbulletin->maxloggedin['maxonline']) <= $totalonline)
    {
        
$vbulletin->maxloggedin['maxonline'] = $totalonline;
        
$vbulletin->maxloggedin['maxonlinedate'] = TIMENOW;
        
build_datastore('maxloggedin'serialize($vbulletin->maxloggedin), 1);
    }

    
$recordusers vb_number_format($vbulletin->maxloggedin['maxonline']);
    
$recorddate vbdate($vbulletin->options['dateformat'], $vbulletin->maxloggedin['maxonlinedate'], true);
    
$recordtime vbdate($vbulletin->options['timeformat'], $vbulletin->maxloggedin['maxonlinedate']);

    
$show['loggedinusers'] = true;
}
else
{
    
$show['loggedinusers'] = false;
}


// ### ALL DONE! SPIT OUT THE HTML AND LET'S GET OUTTA HERE... ###
($hook vBulletinHook::fetch_hook('forumhome_complete')) ? eval($hook) : false;



$navbits = array();
$navbits[$parent] = 'тестовая страница';

$navbits construct_navbits($navbits);
eval(
'$navbar = "' fetch_template('navbar') . '";');
eval(
'print_output("' fetch_template('TEST') . '");');
вот конечный код, который получился и который работает (только для списка "Кто на форуме"). Не факт, что там лишнего кода нет, но постарался максимально полно вырезать не нужные элементы. (Напомню образец кода брал на index.php)

Last edited by busyava : 06-11-2012 at 06:18 PM. Reason: Добавлено сообщение
 
Old  
kerk
k0t
 
kerk's Avatar
Default 1

Quote:
Originally Posted by busyava View Post
if (inTESTal($vbulletin->maxloggedin['maxonline']) <= $totalonline)
а что это за функция такая inTESTal?
 
Old  
YURSHAT
Coder
 
YURSHAT's Avatar
Default 1

Quote:
Originally Posted by kerk View Post
а что это за функция такая inTESTal?
Это далнейшая модификации intval

busyava, я вам дал пример без лишнего кода, то есть хуков и прочего. Ну да ладно....

ЗЫ. Там должно быть
PHP Code:
if (intval($vbulletin->maxloggedin['maxonline']) <= $totalonline
вместо
PHP Code:
if (inTESTal($vbulletin->maxloggedin['maxonline']) <= $totalonline
 
Old  
busyava
Продвинутый
 
busyava's Avatar
Default 0

не сразу врубился с функцией, да просто изначально везде стояло не TEST а TV, ну я его запихнул в нотпад++ и на замену TV -> TEST (зачем такие подробности на форуме) вот и получилось, как сказал YURSHAT,
Quote:
Originally Posted by YURSHAT View Post
далнейшая модификации intval
 
 

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 08:31 AM.


Powered by vBulletin® Version PreModed
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.