LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 00:00:16 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Отмена подсчета количества хитов при просмотре материала админом  (Прочитано 1427 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MickyMaus
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 93


Я изучаю пхп методом проб и ошибок :)


« : 13.01.2009, 00:33:40 »

Не нашел подобной темы.
В файле includes/database.php строка 1215
Код
 
               $query = "UPDATE $this->_tbl"
. "\n SET hits = ( hits + 1 )"
. "\n WHERE $this->_tbl_key = " . $this->_db->Quote( $this->id )
;
 

 меняем на

Код
 
               if ($name=='admin')
{
$query = "UPDATE $this->_tbl"
. "\n SET hits = ( hits + 1 )"
. "\n WHERE $this->_tbl_key = " . $this->_db->Quote( $this->id )
;
}
 

После этого строка 16
 
Код
defined( '_VALID_MOS' ) or die( '' );
 

меняем на

Код
defined( '_VALID_MOS' ) or die( '' );
global $name;
 
.

Теперь в файле mod_login.php (папка modules) также обьяиляем переменную $name глобальной (строка 15)
Код
defined( '_VALID_MOS' ) or die( '' );
global $mosConfig_frontend_login;
global $name;
 
.

Решение может не лучшее, но максимально для моих знаний возможное.
« Последнее редактирование: 13.01.2009, 00:38:40 от MickyMaus » Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #1 : 13.01.2009, 00:57:09 »

Мне кажется все можно сделать намного проще, заменив проверку на:

Код
global $my;
 
if (strtolower($my->usertype) == 'administrator') {
}
Записан
MickyMaus
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 93


Я изучаю пхп методом проб и ошибок :)


« Ответ #2 : 13.01.2009, 01:26:11 »

Мне кажется все можно сделать намного проще, заменив проверку на:

Код
global $my;
 
if (strtolower($my->usertype) == 'administrator') {
}

Спасибо.
Записан
lovec
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 64


« Ответ #3 : 15.01.2009, 17:12:10 »

а для 1.5.8. есть подобное решение???
как для некоторых людей не учитывать хиты??
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #4 : 15.01.2009, 19:04:04 »

Для Joomla 1.5.x можно в файле \libraries\joomla\database\table.php после строчки

Код
		if (!in_array( 'hits', array_keys($this->getProperties()) )) {
return;
}

добавить код:

Код
		$user = & JFactory::getUser();
if ($user->get('aid', 0) == 25) {
return;
}

Этот код запретит увеличивать счетчик просмотров для Супер Администраторов.
Записан
MickyMaus
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 93


Я изучаю пхп методом проб и ошибок :)


« Ответ #5 : 15.03.2009, 00:15:15 »

Уважаемый смарт, уже второй раз ввожу Вас в ошибки )))). В моем первом посте просмотры будут считаться только при просмотре материала админом!

Правильнее будет так
Код
 global $my;
if ($my->id != '62') {
 
$query = "UPDATE $this->_tbl"
. "\n SET hits = ( hits + 1 )"
. "\n WHERE $this->_tbl_key = " . $this->_db->Quote( $this->id )
;
 
$this->_db->setQuery( $query );
$this->_db->query();
}
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet