Владельцам 3.8.6: не поставили патч - потеряли форум!

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

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: 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  
kerk
k0t
 
kerk's Avatar
Default 5

у нас нет модуля, правил файлы
в global.php найти (стр. ~261-263)
PHP Code:
// #############################################################################
// ######################## START TEMPLATES & STYLES ###########################
// ############################################################################# 
и перед (выше) этим комментом добавить
PHP Code:
// ###################### Heders Last Modified #######################
if(!$vbulletin->userinfo['userid'] AND ((THIS_SCRIPT == 'showthread' AND !empty($threadinfo)) OR (THIS_SCRIPT == 'forumdisplay' AND !empty($foruminfo))))
{
      if(
THIS_SCRIPT == 'showthread' AND !empty($threadinfo))
      {
            if(
$threadinfo['lastpost'])
            {
                  
$LastModified_unix $threadinfo['lastpost'];
                  
$LastModified gmdate("D, d M Y H:i:s \G\M\T"$LastModified_unix);
                  
$IfModifiedSince false;
                  if(isset(
$_ENV['HTTP_IF_MODIFIED_SINCE']))
                  {
                        
$IfModifiedSince strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
                  }
                  if(isset(
$_SERVER['HTTP_IF_MODIFIED_SINCE']))
                  {
                        
$IfModifiedSince strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
                  }
                  if(
$IfModifiedSince AND $IfModifiedSince >= $LastModified_unix)
                  {
                        @
header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
                        exit;
                  }
                  @
header('Last-Modified: '$LastModified);
            }
      }
      else if(
THIS_SCRIPT == 'forumdisplay' AND !empty($foruminfo))
      {
            if(!
$foruminfo['lastpost'] AND $foruminfo['forumid'])
            {
                  if(
$lastpostinfo $vbulletin->db->query_first("SELECT lastpost FROM " TABLE_PREFIX "forum WHERE forumid = $foruminfo[forumid]"))
                  {
                        
$foruminfo['lastpost'] = $lastpostinfo['lastpost'];
                  }
            }
            
$LastModified_unix $foruminfo['lastpost'];
            
$LastModified gmdate("D, d M Y H:i:s \G\M\T"$LastModified_unix);
            
$IfModifiedSince false;
            if(isset(
$_ENV['HTTP_IF_MODIFIED_SINCE']))
            {
                  
$IfModifiedSince strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
            }
            if(isset(
$_SERVER['HTTP_IF_MODIFIED_SINCE']))
            {
                  
$IfModifiedSince strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
            }
            if(
$IfModifiedSince AND $IfModifiedSince >= $LastModified_unix)
            {
                  @
header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
                  exit;
            }
            @
header('Last-Modified: '$LastModified);
      }

 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
logi
Знаток
Default 0

kerk, а я этот код в модуль вставил - и разделы тоже заработали.
Какая-нибудь принципиальная разница есть? Что предпочтительнее? (обновление скриптов форума не волнует).
 
Old  
kerk
k0t
 
kerk's Avatar
Default 1

если не волнует, то лучше в файлах напрямую, т.к. модуль - это "место" в памяти (кэше) движка и выполняется всегда, на всех страницах
а так... просто приинклуденный файл, который и так инклудится всегда и везде
 
Old  
logi
Знаток
Default 0

Большое спасибо, отец родной! ))
 
Old  
Юпис
Знаток
vBSponsor
 
Юпис's Avatar
Default 0

kerk, Привет!

Сделал, как ты тут написал.

Все работает, но появились некоторые глюки

Вот письмо юзера

Quote:
>> Не могу открыть 35-ю страницу темы Ссылки на вещи VS
>> "Ссылки на вещи VS", 34я и 36я - открываются, а при нажатии 35й выбрасывает
>> на окно входа (логин и пароль)
>>
>> Куки чистила(
>>
>> Спасибо,
И даже когда введешь логин и пароль, не помогает.

Есть подозрение, что такие глюки только в Хроме у тех кто постоянно вылогинивается.

Есть идеи почему?
 
Old  
Юпис
Знаток
vBSponsor
 
Юпис's Avatar
Default 0

Quote:
Originally Posted by Юпис View Post
kerk, Привет!
Хелп плиз!
 
Old  
Юпис
Знаток
vBSponsor
 
Юпис's Avatar
Default 0

Спасибо за помощь
Вышенаписанный код снес с форума
Постоянные глюки с авторизацией пользователей
 
Old  
eska
Специалист
 
eska's Avatar
Default 4

Quote:
Originally Posted by Юпис View Post
Постоянные глюки с авторизацией пользователей
Quote:
Originally Posted by Юпис View Post
Есть подозрение, что такие глюки только в Хроме у тех кто постоянно вылогинивается.
Подозрение правильное.
Но это не глюки с авторизацией, а особенности кэширования в браузерах, особенно на движке, который использует Google Chrome.
Пример: если пользователь просматривал страницы X,Y,Z без авторизации, а затем залогонился и снова стал просматривать страницы X,Y,Z, то браузер покажет пользователю эти страницы из своего кэша на момент времени, когда пользователь не был авторизован. Так и создается эффект глюков с авторизацией: вроде бы только авторизовался, а тут же выбросило На самом деле пользователь остается авторизованным и это легко проверить, сделав принудительный рефреш при просмотре страниц X,Y и Z.

Для радикального исправления ситуации, вместе с описанными выше изменениями от kerk:
Quote:
Originally Posted by kerk View Post
в global.php найти (стр. ~261-263)
внесите изменения в файл inludes/functions.php - в районе строки 3993 код:
PHP Code:
@header("Cache-Control: private"); 
нужно заменить на:
PHP Code:
@header("Cache-Control: private, must-revalidate"); 
Это должно исправить описанную проблему.

P.S.
Quote:
Originally Posted by Luvilla View Post
я сильно сомневаюсь и в полезности Last-Modified
Полезность есть, и не только с точки зрения индексации. Например - в уменьшении нагрузки на сервер за счет кэширования контента в браузерах у незарегистрированных пользователей форума.

Last edited by eska : 12-07-2015 at 12:32 AM.
 
Old  
logi
Знаток
Default 0

Quote:
Originally Posted by eska View Post
Подозрение правильное.
Это должно исправить описанную проблему.
Действительно помогло, спасибо. А то тоже сносил, как Юпис, из-за частых жалоб. Однако, в IE у меня твое изменение не срабатывает, хотя не так критично, как в Chrome, конечно.
 
Old  
eska
Специалист
 
eska's Avatar
Default 4

Quote:
Originally Posted by logi View Post
Однако, в IE у меня твое изменение не срабатывает, хотя не так критично, как в Chrome, конечно.
IE не браузер
Однако для любителей старины можно сделать по другому - заменить:
PHP Code:
        @header("Cache-Control: private"); 
на:
PHP Code:
        if (!is_browser("ie"))
        {
            @
header("Cache-Control: private, must-revalidate");
        }
        else
        {
            @
header("Cache-Control: no-cache, must-revalidate");
        } 
Тогда они тоже будут счастливы, примерно вот так
 
 

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 06:12 PM.


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