Кто приходил ко мне в профиль?

Автор: Виктор
Опубликовано: 808 дней назад (7 марта 2010)
Рубрика: Плагины
Редактировалось: 10 раз — последний 6 августа 2010
+53
Голосов: 53
Доброго времени суток!

Ну вот, добрался до плагинов smile
Многих интересует "КТО ЖЕ ПРОСМАТРИВАЛ МОЙ ПРОФИЛЬ?"
Данный плагин поможет решить этот вопрос.

В результате установки плагина в профиле пользователя появляется закладка "Визиты".
На закладке в обратной хронологической последовательности выводится список посетивших профиль пользователей.
Гостей решил не выводить, так как не вижу особого смысла.
Из списка можно сразу перейти в профиль визитера и если установлен плагин p_usertip, то при наведении выскочит окошко с информацией о визитере.
Количество выводимых записей о посещениях настраивается в админке в Дополнения->Плагины->p_visitor
Для того чтобы данный плагин функционировал нужно создать таблицу cms_user_profile_visitor в базе данных. Инструкция для сервера БД находится в файле create_visitor_table.sql
Кроме этого, в файле /components/users/frontend.php пришлось добавить фрагмент добавляющий запись в нужную таблицу при просмотре профиля.

P.S. 16.07.2009.
Список внесенных изменений:
- добавил возможность из админки глобального закрытия просмотра профилей гостями. В связи с этим подкоррекирован файл админки (/admin/compenents/users/backend.php) и файл профиля (/components/users/frontend.php)
- введена настраиваемая пауза во время которой повторные входы в профиль не фиксируются. Время по-умолчанию 10 минут. (/components/users/frontend.php)
- добавлено отображение аватара в списке визитеров (/templates/ВашПрофиль/plugins/p_visitor.tpl)
- табы на профиле вынесены наверх (/templates/ВашПрофиль/components/com_users_profile.tpl)

Все нужные и измененные файлы находятся в архиве, который можно скачать по этой ссылке: http://sverdlovsk.net.ua/users/files/download.html?fileid=26 (ссылка изменилась!)

Напомню, что плагины недостаточно закачать в нужную папку на сервере, но также их нужно устанавливать и активировать (Админка-Дополнения-Плагины)

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

Версия instantcms: 1.5.0 Патч 1.5.1 не ставил и не проверял. Если в патче изменен файл /components/users/frontend.php, то нужно (на свой страх и риск) вставить фрагмент кода
Код PHP:
if ($do=='profile'){

	$inCore->loadLib('clubs');

    if (!$id){
        $login = $inCore->request('login', 'str', '');
        $login = urldecode($login);
        $id    = (int)$inDB->get_field('cms_users', "login='{$login}' AND is_deleted=0", 'id');
    }

    $usr = $model->getUser($id);

# < RoViX - начало изменений #############################################################################
	// запрет входа гостя в профиль, если это запрещено настройками
	if ( cmsUserId() == 0 && $cfg['sw_guest_browse_profiles'] == 0 ) {
		echo '<p>Для просмотра профиля необходимо авторизоваться!</p>';
        return;
	}
#  RoViX - конец изменений  ############################################################################# >

	if (!$usr || !$id) {
		$inPage->printHeading('Пользователь не найден');
		echo '<p>Возможно аккаунт был удален</p>';
        return;
	}

    $inPage->setTitle($usr['nickname']);
    $inPage->addPathway($usr['nickname']);

    if ( !(usrAllowed($usr['allow_who'], $id) || $inUser->is_admin) ){
        usrNotAllowed();
        return;
    }

    $deleted = $usr['is_deleted'];
    $myprofile = ($inUser->id == $id);

    $usr['banned'] = dbRowsCount('cms_banlist', 'user_id='.$id);

    if ($deleted){
        $smarty = $inCore->initSmarty('components', 'com_users_deleted.tpl');
        $smarty->assign('is_user', $inUser->id);
        $smarty->assign('id', $id);
        $smarty->assign('nickname', $usr['nickname']);
        $smarty->assign('avatar', usrImage($id, 'big'));
        $smarty->assign('login', $usr['login']);
        $smarty->assign('is_admin', $inUser->is_admin);
        $smarty->assign('others_active', $inDB->rows_count('cms_users', "login='{$usr['login']}' AND is_deleted=0", 1));
        $smarty->display('com_users_deleted.tpl');
        return;
    }

# < RoViX - начало изменений #############################################################################

	$visitor_id=cmsUserId();

	if ( $visitor_id <> $id ) {
		$today = getdate();

		$sql = "SELECT visitdate FROM cms_user_profile_visitor WHERE (user_id = $id AND visitor_id = $visitor_id) ORDER by visitdate DESC LIMIT 1";
		$result     = $inDB->query($sql);
		$last_date  = $inDB->fetch_assoc($result);

		$today_now  = $today['minutes'] +
						$today['hours'] * 100 +
						$today['mday'] * 10000 +
						$today['mon'] * 1000000 +
						$today['year'] * 100000000;
		$lastdate   = substr($last_date['visitdate'],0,4)* 100000000+
					substr($last_date['visitdate'],5,2)* 1000000+
					substr($last_date['visitdate'],8,2)* 10000+
					substr($last_date['visitdate'],11,2)*100+
					substr($last_date['visitdate'],14,2);
		$delta = $today_now - $lastdate;

		// проверяем количество минут с последнего посещения
		if ( $delta > $cfg['visittime'] ) {
			$sql = "INSERT INTO cms_user_profile_visitor (user_id, visitor_id, visitdate)
								VALUES ($id, $visitor_id, NOW())";
			$inDB->query($sql);
		}
	}
#  RoViX - конец изменений  ############################################################################# >
    $usr['avatar']				= usrImage($usr['id'], 'big');
    $usr['menu']				= usrMenu($usr['id'], $cfg, $usr['banned']);
    $usr['is_new_friends']		= ($inUser->id==$usr['id'] && $model->isNewFriends($usr['id']) && $cfg['sw_friends']);
    if ($usr['is_new_friends']){
        $usr['new_friends'] 	= usrFriendQueriesList($usr['id'], $model);
    }
    $usr['rating']				= cmsUser::getRating($id);
    $usr['friends']				= usrFriends($usr['id']);

    if ($usr['friends']){
        $usr['friends_photos']	= cmsUser::getUserFriendsPhotos($usr['id']);
        $usr['friends_posts']	= cmsUser::getUserFriendsPosts($usr['id']);
    }

    $usr['awards_html']			= usrAwards($usr['id']);
    $usr['comments_html'] 		= usrComments($usr['id'], 5);
    $usr['forum_html'] 			= usrForumPosts($usr['id'], 5);
    $usr['photos_html']			= usrPhotos($usr['id'], 4);
    $usr['wall_html']			= cmsUser::getUserWall($usr['id']);
    $usr['addwall_html'] 		= cmsUser::getUserAddWall($usr['id']);
    $usr['banned'] 				= cmsUser::isBanned($usr['id']);

    $usr['clubs'] 				= cmsUserClubs($usr['id']);

    $usr['status']				= usrStatus($usr['id']);
    $usr['karma']				= strip_tags( cmsUser::getKarmaFormat($usr['id'], false), '<table><tr><td><img><a>' );
    $usr['karma_int']			= strip_tags($usr['karma']);
    $usr['karma_link']			= '<a href="/users/'.$menuid.'/'.$id.'/karma.html" title="История кармы" id="karmalink">?</a>';

    $usr['photos_count']		= (int)usrPhotoCount($id);
    $usr['board_count']			= (int)$inDB->rows_count('cms_board_items', "user_id=$id AND published=1");
    $usr['comments_count']		= (int)$inDB->rows_count('cms_comments', "user_id=$id AND published=1");

    if($cfg['sw_files'])
        if ($inUser->id==$id){
            $usr['files_count'] = $inDB->rows_count('cms_user_files', "user_id = ".$id." AND allow_who = 'all'");
        } else {
            $usr['files_count'] = $inDB->rows_count('cms_user_files', 'user_id = '.$id);
        }

    $usr['blog_link'] = '';

    $usr['blog_id'] = usrBlogId($id);
    if($usr['blog_id']){
        $usr['blog_link'] 		= '<a href="/blogs/'.$menuid.'/'.$usr['blog_id'].'/blog.html">Блог</a>';
    } elseif($myprofile) {
        $usr['blog_link'] 		= '<a href="/blogs/'.$menuid.'/createblog.html">Создать блог</a>';
    }

    if (!$usr['description']) {
        $usr['description']		= '<span style="color:#999"><em>Метки не указаны</em></span>';
    } else {
        $usr['description']     = cmsPage::getMetaSearchLink('/users/'.$menuid.'/hobby/', $usr['description']);
    }

    $usr['flogdate']			= $inCore->getRusDate($usr['flogdate']);
    $usr['fregdate'] 			= $inCore->getRusDate($usr['fregdate']);
    $usr['birthdate'] 			= $inCore->getRusDate($usr['birthdate']);

    $usr['comments_count'] 		= usrMsg($usr['id'], 'cms_comments');
    $usr['forum_count']			= usrMsg($usr['id'], 'cms_forum_posts');

    $usr['profile_link']        = cmsUser::getProfileURL($usr['login']);

    $usr['genderimg']			= '';
    if ($usr['gender']) {
        switch ($usr['gender']){
            case 'm': $usr['genderimg'] = '<img src="/components/users/images/male.gif"/>'; $usr['gender']='Мужской'; break;
            case 'f': $usr['genderimg'] = '<img src="/components/users/images/female.gif"/>'; $usr['gender']='Женский'; break;
        }
    }

    $usr['privforms'] = '';
    if(isset($cfg['privforms'])){
        if (is_array($cfg['privforms'])){
            if ($usr['formsdata']==''){
                $formsdata = array();
            } else {
                $formsdata = $inCore->yamlToArray($usr['formsdata']);
            }
            foreach($cfg['privforms'] as $num=>$form_id){
                $usr['privforms'] .= usrForm($id, $form_id, $formsdata);
            }
        }
    }

    $plugins = $model->getPluginsOutput($usr);

    $smarty = $inCore->initSmarty('components', 'com_users_profile.tpl');

    $smarty->assign('menuid', $menuid);
    $smarty->assign('id', $id);
    $smarty->assign('usr', $usr);
    $smarty->assign('plugins', $plugins);
    $smarty->assign('cfg', $cfg);
    $smarty->assign('myprofile', $myprofile);
    $smarty->assign('is_auth', $inUser->id);

    $smarty->display('com_users_profile.tpl');

}
Вставляемый код находится между
# < RoViX - начало изменений #############################################################################
и
#  RoViX - конец изменений  ############################################################################# >

Ну вроде, все, успехов!

P.S. (6.08.2009)

По просьбам страждущих smile модернизировал плагин.
Добавился новый вид вывода посетителей и новый тип вывода посетителей (сам не понял что сказал smile)
Короче, теперь можно в настройках указать, что показывать не все входы пользователя, а только последний вход-это раз. Параметр "Только последние входы:". 1 - выводить только последние входы, 0 - все показывать.
И второе, вывод возможен в виде таблицы (количество столбцов указываете в настройке) - параметр "Вид вывода (0-список/1-таблица):". Ввод 0 - выводится в виде списка (аватарка и справа данные посетителя), 1 и более - в виде таблицы (аватарка и под ней данные пользователя), количество столбцов устанавливаете числом.
Скачать можно отсюда: http://sverdlovsk.net.ua/users/files/download29.html (Файл p_visitor1.2.zip)
В файле есть все то, что было и раньше плюс добавился шаблон для вывода в табличном виде и изменённый файл самого плагина.
Установка идентична описанному ранее.

2010-02-12

Обновлён архив. Исправлен маленький, но большой недочёт приводивший к тому, что после установки на новую систему учёт визитов не происходил. А при установке сверху на работавшую ранее работало всё нормально.
Скачать здесь: http://sverdlovsk.net.ua/users/files/download42.html

2010-08-06

Плагин обновлён и работает на версии 1.6.2.
Установка.
1.Скачиваем архив (в архиве два плагина)
2.Копируем содержимое архива в корень сайта
3.Если у Вас стояла предыдущая версия плагина, то устанавливаем только плагин p_getuser, если не стояла, то установить нужно оба плагина. Короче, устанавливаем столько плагинов сколько у Вас в "Установка плагинов", но не больше двух smile.

Версия самого плагина p_visitor не потребовала изменений, но для того чтобы регистрация просмотров осуществлялась без корректировки скриптов движка создал ещё один плагин.
Модуль «Мои друзья» | Устраняем дыру не снижая функциональности админки
0 # 12 июля 2009 в 16:29 0
Спасибо, буду тестить.
Эдуард Исламов # 12 июля 2009 в 16:50 0
Версия 1.5.1
Файл исправил, плагин установил
При нажатии в профиле на вкладку "визиты" - вот что:
Код PHP:
Warning: Smarty error: unable to read resource: "p_visitor.tpl" in /home/dustar/domains/h2o-land.ru/public_html/includes/smarty/libs/Smarty.class.php on line 1092
Савонарола # 12 июля 2009 в 16:45 0
Warning: Smarty error: unable to read resource: "p_visitor.tpl" in ..../includes/smarty/libs/Smarty.class.php on line 1092
0 # 12 июля 2009 в 18:35 0
Что бы заработало
Создайте файл \templates\_default_\plugins\p_visitor.tpl

Внутри что-то вроде:
Код PHP:
{foreach key=id item=visitor from=$visitors}
	{$visitor.nickname}  
{/foreach}
Эдуард Исламов # 12 июля 2009 в 19:22 0
Не выходит - вкладка в профиле вообще перестает отображаться...
Виктор # 12 июля 2009 в 19:23 +1
Да, типа того, но чуть посложнее.
Извиняюсь, в архив добавил шаблон. Ссылка прежняя актуальна.
0 # 12 июля 2009 в 19:44 0
Спасибо, теперь все норм
Эдуард Исламов # 12 июля 2009 в 19:46 0
Работает!!!
Виктор, спасибо!
Эдуард Исламов # 12 июля 2009 в 19:51 0
Рано обрадовался - из двух тестовых аккаунтов ходил дуда-сюда в гости - упорно показывает:
"В Ваш профиль никто не заходил."
Эдуард Исламов # 12 июля 2009 в 20:25 0
Пардон, сам тормоз - запрос в базу данных не сделал. Сейчас все ОК!
forlord # 12 июля 2009 в 21:07 0
Спасибо +100
Константин # 13 июля 2009 в 04:20 0
Респект! Нужная вещь!!! v
Oleg # 13 июля 2009 в 08:28 0
Можно более подробно о создании таблицы в базе данных?
mihalich # 13 июля 2009 в 10:49 0
mihalich # 13 июля 2009 в 10:40 0
Заходишь в базу MySQL, тыкаешь в закладку SQL, копируешь из текстового файла всё и вставляешь в окно запроса, дальше говоришь "Пошёл" или "Выполнить" ну и всё.
forlord # 13 июля 2009 в 12:51 0
Как можно сделать, чтобы вместо имени показывался аватар с ссылкой на профиль?
Эдуард Исламов # 13 июля 2009 в 13:07 0
И ещё. Целесообразно прикрутить что-то типа временнЫх рамок. А то получается - заходишь к кому-то в профиль, потом жмешь карму - в результате юзер видит, что ты заходил к нему ДВАЖДЫ с интервалом в несколько секунд...
Виктор # 13 июля 2009 в 16:58 0
А когда ставишь "плюс" или "минус" для оценки статьи, то отмечается что ты еще раз ее просмотрел. Что делать?
Ну да ладно, здесь я могу повлиять. Сделаю интервал фиксирования входа в профиль настраиваемым с админки. Пойдет? Или может все-таки фиксированный интервал? Тогда какой?
widik # 14 июля 2009 в 01:41 0
я думаю на часика 3 в полне нормально
Эдуард Исламов # 14 июля 2009 в 03:44 0
А что если не по времени ограничивать, а добиться того, чтобы один юзер мог отображаться только один раз - по последнему посещению? Именно так реализовано в некоторых форумных движках, например, vBulletin.
widik # 14 июля 2009 в 04:39 0
да отлично я за
Виктор # 14 июля 2009 в 04:39 0
Исправленный скрипт frontend.php генерирует дополнительный запрос в базу по сравнению с не правленным.
Поставить проверку по времени - плюс один дополнительный запрос к существующему.
Поставить обновление времени по последнему заходу - плюс два запроса в базу к существующему.
Причем оба последние будут расти по времени выполнения с ростом таблицы, где отмечаются эти самые посещения. Потому как тот запрос, который сейчас есть в плагине просто добавляет новую строку. Если же "улучшить" плагин, то первый запрос должен проверить "когда заходил данный посетитель в профиль данного пользователя". Потом в зависимости от какой путь выберем, то ли проигнорировать если время промежутка меньше, чем указанный, то ли добавить запись, если промежуток больше выбранного - в первом случае и во втором случае - если не заходил, то добавить запись, а если заходил, то обновить время (тоже запрос).
И еще соображение, количество заходов одного и того же пользователя в мой, допустим, профиль говорит о чем нибудь или не говорит?
Эдуард Исламов # 14 июля 2009 в 06:03 0
Ещё как говорит. Интересно же знать, кто моей персоной интересуется чаще всех  joke
widik # 13 июля 2009 в 14:40 0
да время очень важно ну и аватор былобы неплохо над ником так как это выглядит в табе друзья
Влад # 13 июля 2009 в 19:49 0
Чёт сцылка не работает  sad а твк хотелось попробовать((((
Виктор # 14 июля 2009 в 04:42 0
У всех работает, а у тебя нет - странно smile
Попробуй отсюда http://sverdlovsk.net.ua/upload/userfiles/1/p_visitor.zip взять.
Oleg # 13 июля 2009 в 21:52 0
Спасибо за подробное описание!Получилось всё ок!
MDM # 14 июля 2009 в 03:17 0
Спасибо за плагин!
Зашёл с тест аккаунта в свой профиль, во вкладке ВИЗИТЁРЫ отобразилось

test   2009-07-14 07:17:28
test 2009-07-14 07:16:40
test 2009-07-14 07:16:30

зашёл один раз и сразу закрыл страницу.

Что-то сдесь не так по моему  scratch
Виктор # 14 июля 2009 в 04:44 0
Действительно странно, особенно учитывая такую разницу во времени... Ты случайно Ф5 не использовал при загрузке страницы? Попробуй другим браузером.
MDM # 14 июля 2009 в 07:40 0
Виктор, спасибо. Действительно в первый раз открывал в Ф5, попробовал в ИЕ - всё нормально.
forlord # 14 июля 2009 в 11:03 0
Виктор, подскажите как поставить аватар? что бы было похоже как "Друзья"
Влад # 15 июля 2009 в 16:10 0
Спасибо, от туда скачалась)))
0 # 16 июля 2009 в 10:56 0
Всё пошло. Огромное спасибо!!! Ищу уже давно))
Виктор # 16 июля 2009 в 11:44 +2
На всякий случай отмечу еще постом.
Доделал плагин:
-выводятся аватары
-не дублируются записи при заходе в профиль (или работе с кармой в профиле) менее указанного времени
-подправил шаблон профиля (наподобии как рисовал widik)
-сделал возможность закрывать профили от просмотра гостями глобально для всего сайта
Более подробно читайте пост (текст обновлен).
widik # 16 июля 2009 в 15:23 0
визиты вроде отлично работают а вот когда вставляешь этот код выдайт ошибку

# < RoViX - начало изменений #############################################################################
// запрет входа гостя в профиль, если это запрещено настройками
if ( cmsUserId() == 0 && $cfg[’sw_guest_browse_profiles’] == 0 ) {
echo ’Для просмотра профиля необходимо авторизоваться!’;
        return;
}
#  RoViX - конец изменений  ############################################################################# >
Виктор # 16 июля 2009 в 17:35 0
Нужно в админке зайти в "Компоненты" - "Профили" и сохранить. Я в посте написал, но не проакцентировал на этом внимание. Приношу извинения.
sw_guest_browse_profiles - это новая переменная и ее НУЖНО сохранить.
Эдуард Исламов # 16 июля 2009 в 15:37 0
ИМХО, и, думаю, не только мое - админу следует заострить внимание на этой разработке.
Этому не место быть в плагинах - это должно быть встроено в CMS.
Виктору - респект!
Виктор # 16 июля 2009 в 17:40 +1
В плагинах находятся только ВИЗИТЫ. Все остальное я встроил в движок. В компоненте "Пользователи" в админке настройка (backend.php), в профиле отработка механизма. Может посмотреть глазом профи и что-то улучшить. А в остальном я согласен с Эдуардом - стоит включить этот механизм в движок не постоянной основе.
Виктор # 16 июля 2009 в 17:44 0
Ребята, пробуем сегодня-завтра, а то завтра вечером я в отпуск (возможно) на 2 недели - реагировать и подсказывать не смогу smile
widik # 16 июля 2009 в 19:17 0
виктор спасибо большое у меня всё работает встало всё на место
по началу скопировал неправельно код мне maxisoft помог разобраться в общем всё впорядке желаю приятного отдыха до связи.
Эдуард Исламов # 16 июля 2009 в 19:56 0
Чет никак запрос не могу выполнить:
Код PHP:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' key (user_id,visitor_id) )ENGINE=MyISAM DEFAULT CHARSET=cp1251' at line 4
Виктор # 16 июля 2009 в 20:26 0
Попробуй так:
Код PHP:
 CREATE TABLE `cms_user_profile_visitor` (
`user_id` INT NOT NULL ,
`visitor_id` INT NOT NULL ,
`visitdate` DATETIME NOT NULL ,
INDEX ( `user_id` , `visitor_id` )
) ENGINE = MYISAM DEFAULT CHARSET=cp1251
Эдуард Исламов # 17 июля 2009 в 05:00 0
Такой запрос прошел, спасибо. А таблицу создавал, потому что удалил старую.
Виктор # 16 июля 2009 в 20:36 0
А зачем ты еще раз создаешь таблицу? Этого не надо делать второй раз.
Эдуард Исламов # 17 июля 2009 в 05:47 +1
Виктор, в папке "plugins" файл "plugin.php" должен вроде лежать в папке типа "p_visitor", которой нет в новом архиве...
Виктор # 17 июля 2009 в 06:08 +1
Да точно, вот блин sad.
Приношу извинения, утерялась папка. Файл который лежит в /plugins должен лежать в /plugins/p_visitor
Содержимое архива поправил (заодно и запрос в базу)
Скачать по ссылке указанной в посте (http://sverdlovsk.net.ua/users/files/download.html?fileid=26)
Эдуард Исламов # 17 июля 2009 в 06:16 0
Версия 1.5.1 - полет нормальный!
Правда не пойму, почему в приведенном выше фрагменте кода вместо прямых слэшей &#8217; - какие-то косые ’. Если в файл их копировать в таком виде - может выскочить ошибка синтаксиса
Виктор # 17 июля 2009 в 06:26 0
Теперь я не пойму - про какой фрагмент кода идет речь?
Эдуард Исламов # 17 июля 2009 в 06:32 0
frontend.php
В самом архиве у тебя все в порядке. А вот во фрагменте этого файла, который ты процитировал здесь - все прямые слэши почему-то заменены на ’
Эдуард Исламов # 18 июля 2009 в 07:03 0
Сорри, переутомился видать - апострофы слэшами называть начал  shock
MDM # 17 июля 2009 в 06:43 0
Виктор, подскажите пожалуйста так и должно быть?
Установил новую версию плагина вместо старой. Всё работает нормально, единственный момент, который вызывает подозрение - это то, что на месте аватар пользователей сам аватар не отображается, показываются только иконки "нет аватара" для все пользователей (в том числе и у тех, у кого аватар установлен)
Эдуард Исламов # 17 июля 2009 в 06:51 +1
Так не должно быть - аватары отображаются. Правда, перед тем как поставить новую версию, я сначала почистил все следы пребывания старой :)
Эдуард Исламов # 17 июля 2009 в 07:19 0
И таблицу в БД, возможно...
Виктор # 17 июля 2009 в 07:52 0
Нет, таблица здесь ни причем. Там аватары не хранятся.
Виктор # 17 июля 2009 в 07:16 0
Действительно, так быть не должно.
Попробуйте очистить кеш браузера.
0 # 17 июля 2009 в 08:58 +1
Файл plugin.php закиньте по правильному адресу  plugins\p_visitor\plugin.php и должно всё заработать
MDM # 17 июля 2009 в 19:08 0
Спасибо, помогло!
Виктор # 6 августа 2009 в 06:16 +1
Обновился плагин, подробности в конце поста.
0 # 6 августа 2009 в 14:48 0
поставил плагин, при  просмотре профиля - пустая страница. отключаешь плагин - все нормально, но вкладки нет.
версия - 1.5.1. что может быть?
Виктор # 6 августа 2009 в 17:11 0
Эдуард Исламов отмечал, что в 1.5.1 у него работало.
Скажи, ты ставил вновь или у тебя уже стоял предыдущий вариант?
Если стоял то после того как скопируешь содержимое архива в корень сайта нужно плагин деинсталировать и установить вновь. Ну и естественно, настройки плагина посмотреть - подкорректировать по необходимости - сохранить
Эдуард Исламов # 6 августа 2009 в 17:53 0
Оно и сейчас работает. Правда, файлы для 1.5.1 лучше ручками править, не все, конечно, а только те, которые в патче 1.5.1 присутствуют.
Виктор, не пора ли уже переключиться совсем с версии 1.5.0 smile
Виктор # 6 августа 2009 в 19:00 0
Интересно, сколько народа с какой версией работает - замучу-ка я опрос на форуме.
0 # 7 августа 2009 в 03:57 0
До этого этот плагин не стоял, ручками не правил. устанавливал как положено...
уже давно версия 1.5.1, думаю давно стоило перейти. считаю что это не долго
Эдуард Исламов # 15 августа 2009 в 11:27 0
Виктор, ну как? Выводы для себя сделал?  joke
Виктор # 26 августа 2009 в 08:22 0
Скопировал, установил - все нормально (вроде бы). Руками ничего не трогал smile

2troid, скачай заново, закачай на сайт и переустанови плагин. Скорее всего, ты не сделал запрос в БД (теперь он автоматически выполняется (если нужно) при установке плагина).
Ссылка для скачивания та же ( http://sverdlovsk.net.ua/users/files/download.html?fileid=29 )
dfgfdg # 15 августа 2009 в 06:56 +1
Сделайте уже для 1.5.1
Эдуард Исламов # 2 сентября 2009 в 19:47 0
Держи, братва, для версии 1.5.2.
Изменения в файлах по сравнению с 1.5.1 и тем более с 1.5.0 достаточно существенные...

Скачать с депозита
Эдуард Исламов # 2 сентября 2009 в 19:50 0
p.s. В этом же архиве находится изменённый файл "usercore.php" (подписи к кнопкам в профиле), так же для новой версии...
lezginka.ru # 2 сентября 2009 в 20:07 0
Виктор, молодец, Родина не забудет :)
0 # 3 сентября 2009 в 03:10 0
Установил за 2 секунды! версия движка - 1.5.2 Всё вроде работает нормально. Тестим...
Спасибо за проделанную работу!
Эдуард Исламов # 3 сентября 2009 в 06:42 0
Раз вновь здесь работают "ФАЙЛЫ ПОЛЬЗОВАТЕЛЕЙ", перезаливаю (сам не люблю обменники):
Для версии 1.5.2
Скачать отсюда
Напоминаю, что так же архиве находится изменённый файл "usercore.php" (1.5.2) - подписи к кнопкам в профиле.
almond # 8 сентября 2009 в 16:26 0
Плагин хороший, но после установки последнего патча на 1.5.2 благополучно перестал работать...
Уважаемый Виктор, может быть, посмотрите, что нужно исправить?
Виктор # 8 сентября 2009 в 18:05 0
Это логично, ведь сверху перезаписали новым файлом. Возьми у Эдуарда новую версию и поставь сверху патча.
almond # 8 сентября 2009 в 19:15 0
Так причина понятна... Может, и исправить самостоятельно смог бы, если там отличие только в наличии/отсутствии неизменного куска кода, но что-то вот поленился. Спасибо за обновленную версию!
Эдуард Исламов # 8 сентября 2009 в 17:34 0
Там изменился только файл frontend.php (components\users)
"Постпатчевая" версия плагина у меня в профиле (1.2.2)
Эдуард Исламов # 8 сентября 2009 в 18:03 0
Здесь. Проверено -все в норме.
almond # 8 сентября 2009 в 19:05 0
Спасибо, все работает.
0 # 1 октября 2009 в 17:39 0
Добрый день!
Такой вопрос...   Есть ссылка Здесь, но что-то при попытке по ней скачать файлик версии 1.2.2 никак не получается... - написано "Файл не найден" - где можно заполучить его?  Заранее спасибо
0 # 30 сентября 2009 в 21:09 0
Добрый день!
Возможно я что-то недопонимаю..., однако у меня все получилось так:
1. Я скопировал файлы плагина с заменой старых.
2. В плагинах я активировал данный плагин.
3. Вошел на страничку сайта и попробовал попасть в профиль - ошибка:
"Fatal error: Call to undefined function usrBlogId() in /home/petti/public_html/components/users/frontend.php on line 844"
При попытке попасть вообще в любой профиль точно такая же ошибка.
Версия CMS - 1.5.2
Пожалуйста, подскажите мне что с этим делать - как побороть?   Особенно если учитывать, что я не силен в программировании
0 # 30 сентября 2009 в 21:28 0
Приношу свои извинения....  Все работает - это я что-то напутал....   Для версии 1.5.2  пытался плагин установить 1.2, а он для этой версии не катит...
0 # 4 октября 2009 в 16:07 0
Спасибо за отличный плагин :)
0 # 17 декабря 2009 в 04:48 0
а нельзя нормально оформить все? выложить все версии которые есть, оформить редми к ним. А то что то бардак какойто.
Стас # 22 декабря 2009 в 15:44 0
Где можно скачать файл, по ссылкам говорит "файл не найден" ?
Спасибо.
Виктор # 22 декабря 2009 в 18:50 0
Попробуй здесь взять: http://instantcms.ru/users/files/download226.html (последняя "пропатченная"  Эдуардом Исламовым из его же профиля smile)
Dimitrius # 22 декабря 2009 в 19:40 0
по моему логично включить в базовую версию такую штуку
GoodBoy # 2 января 2010 в 00:44 0
в версии 1.5-2 все работает супер,спасибо большое
0 # 6 января 2010 в 14:04 0
Как обстоят дела с версией 1.5.3?
Юрий (Pizza Celentano) # 6 января 2010 в 16:05 0
У меня на 1.5.3 почему-то несовсем получилось, на странице профиля отобразилось всё то на одной странице, что должно было вызываться нажатием вкладок
Эдуард Исламов # 8 января 2010 в 01:37 +1
Это и не удивительно. Дело в том, что это не плагин в чистом виде - в архиве лежат так же немного переделанные "системные файлы" Инстанта. У тебя эти файлы соответственно подменились при распаковке архива, но беда в том, что они не от версии 1.5.3...
Кстати, для новой версии требует правки только один "системник"
Эдуард Исламов # 7 января 2010 в 21:45 0
Много воды утекло, за это время ряд изменений у самой CMS. В результате для версии 1.5.3 архив плагина существенно облегчен - из "системных" файлов требует правки только файл "frontend.php" (добавляется только 2-й блок изменений).

В общем, для версии 1.5.3 забирайте у меня из профиля :)
Andrei # 19 марта 2010 в 01:29 0
Просьба, распишите как установить... достаточно залить все из архива в корень сайта или еще что то???

запутался написано много не разобрать.

Почему плагин не добавляется в раздел "плагины" - http://www.instantcms.ru/catalog/50/1006плагины
0 # 19 марта 2010 в 02:28 0
Аотому что его надо установить чтобы он добавился,
Заходите в админку ,жмете на вкладку дополнения,выбираете плагины,потом сверху увидите стрелку таку,нажимаете на нее и устанавливаете!После этого заходите в настройки плагина и настраиваете как вам надо smile
Andrei # 19 марта 2010 в 23:06 0
Спасибо, я разобрался. Поставил. Наверно работает (пока посетителей не было, до конца не проверил).
Я спрашивал почему на инстанте данное дополнение (полезное) не добавляют в раздел плагины.
0 # 20 апреля 2010 в 21:28 0
Установил на 1.5.3 на локалке - заработало.
Скопировал архив на хост, где стоит 1.5.2

Установил плагин. При открытии ПРОФИЛЬ открывает пустую страницу с надписью
Fatal error: Call to undefined method cmsCore::loadLanguage() in /usr/home/hosting/wtcaesar/htdocs/components/users/frontend.php on line 206

В 206ой : $inCore->loadLanguage('components/users');

Помогите...
0 # 20 апреля 2010 в 22:33 0
Может такое быть, что последняя версия плагина работоспособна только в версии 1.5.3 ?
0 # 20 апреля 2010 в 22:36 0
переписал этот файл исходным, с локалки. Вроде заработало. вкладка появилась, профиль работает. Пишет визитов не было.
Виктор # 20 апреля 2010 в 23:45 +1
Если скачивал файл p_visitor1.5.3, то как и следует из названия работает в 1.5.3 и не меньше. Там в архиве есть файл заменяющий фронтэнд компонента на новый, вполне естественно, что он не будет работать на предыдущих версиях движка.
0 # 28 мая 2010 в 18:01 0
Ребята, такая проблема: скачал последнюю, по всей видимости, версию данного мода (1.5.3), залил все файлы в корень, всё как надо, но в разделе Плагины у меня не отображается имя этого дополнения (instantcms 1.6.2). Запрос тоже выполнял в базе данных.
Что делать?
0 # 28 мая 2010 в 18:12 0
Всё, разобрался, извините.
Юрий (Pizza Celentano) # 5 августа 2010 в 14:54 +1
в 1.6.2 работает сей плагин?
0 # 5 августа 2010 в 16:39 0
Тоже интересует данный вопрос!
Виктор # 6 августа 2010 в 17:48 +3
Плагин обновлён и теперь подключается без правки кода. Ссылка и описание в конце поста.
В 1.6.2 работает.
[ECHO]ALiDozer # 6 августа 2010 в 18:46 0
Выражаю вам огромную благодарность!
и еще большое спасибо в догонку  v
Юрий (Pizza Celentano) # 10 августа 2010 в 00:40 0
Виктор, сам плагин работает, но после его установки слетел плагин "Users ToolTip - Показывает всплывающие меню для ссылок на профили пользователей", выскакивает окошко от этого плагина с ошибкой Fatal Error: Class &#8217;cmsPlugin&#8217; not found in ....../site/plugins/p_getuser/plugin.php on line 3. Что это может быть?
Виктор # 10 августа 2010 в 12:21 +1
Не знаю, у меня этот плагин не стоял. После того как поставил, то действительно выскочила такая ошибка.
Работа плагина по регистрации просмотра профиля была основана на том факте, что при просмотре профиля дёргалась функция getUser в которой генерировалось событие GET_USER. Так как просмотр профиля был единственным местом вызова этой процедуры и соответственно исключения, то я на него и повесил свой плагин для регистрации факта просмотра профиля.
Однако оказалось, что плагин P_USERTIP также использует эту функцию и при вызове этой функции (и события GET_USER) и при таком вызове функции стандартный синтаксис плагина не срабатывает sad. Я конечно же могу посмотреть, что можно сделать, но тут появляется другое соображение - нельзя цепляться на это событие, так как при возникновении его по наведению мышкой на имя пользователя по сути не является просмотром профиля.
Поэтому, пока что, отключайте плагин P_GETUSER или P_USERTIP они не совместимы.
Виктор # 10 августа 2010 в 12:34 +1
Вопрос с ошибкой решается очень просто. Но не без корректировки исходников sad
Открываем в редакторе файл /plugins/p_usertip/loader.php и после строки "$inCore->loadClass(&#8217;user&#8217;);" (у меня это строка № 18) вставляем строку "$inCore->loadClass(&#8217;plugin&#8217;);". Сохраняем. После этого ошибки пропадут, но в визиты будут зачисляться все наведения мышкой на имена пользователей сайта. Можно было бы поставить проверку на адрес страницы, но это не исключит проблемы совсем. Там в профиле есть куча мест где могут быть имена других пользователей - друзья, например.
Юрий (Pizza Celentano) # 10 августа 2010 в 13:07 0
Спасибо, Виктор, такой вариант решения устраивает, мне тоже интересно знать кто наводил на имя и смотрел профиль через P_USERTIP.
olegan # 20 сентября 2010 в 21:46 0
А кто подскажет,как убрать визитеров.если их слишком много?Что-то я там такого не нашел.
Rich # 7 октября 2010 в 21:15 0
Ура, работает ! Огромное человеческое спасибо !
fact # 4 декабря 2010 в 15:20 0
1.6.2 - полёт нормальный!
спасибо!
GNabi # 12 декабря 2010 в 02:26 0
на 1,7 никто не тестил. интересно, будет ли работать?
Brut # 13 декабря 2010 в 02:28 0
под 1.7 не работает(((
Anabiotick # 16 декабря 2010 в 21:01 +1
У меня прекрасно работает в версии 1.7. Брал адаптацию к версии 1.6.2. Во всяком случае пока глюков не заметил. Правда на сколько долгая история запоминается пока не знаю, больше суток - это точно.
Владимир # 2 марта 2011 в 02:18 0
А откуда скачивал для версии 1.7? Если стоит чистая версия 1.7 - будет работать?
Виктор # 2 марта 2011 в 16:18 0
Да, на чистой 1.7 будет работать.
Владимир # 2 марта 2011 в 18:02 0
А откуда скачивать для чистой 1.7?
Anabiotick # 2 марта 2011 в 19:26 0
Билин, Владимир, вы хоть что-то прочтите, пост, комменты. В версии 1.7 прекрасно работает версия для 1.6.2. Пробуйте то, что свежее. Автор позаботился об информации об этом...
Владимир # 3 марта 2011 в 02:50 0
Ну так один архив датирован 2010-02-12, а второй 2010-08-06.
А версия 1.7 вышла, если не ошибаюсь, где-то 9-10 декабря. Вот я и спросил какой именно архив скачивать для чистой 1.7.
Виктор # 2 марта 2011 в 16:29 0
Ограничений по хранению истории посещений не предусмотрено.
Количество выводимых посещений настраивается в плагине p_visitor, если установлен режим вывода "Только последние входы"=1.
В противном случае будут выводится все (ещё раз говорю "ВСЕ") посещения профиля пользователя!!!!
Maikl # 20 февраля 2011 в 20:09 0
На 1.7 отлично работает, всем рекомендую.
lezginka.ru # 13 апреля 2011 в 08:06 0
после переустановки(менял шаблон) и перезалил плагин, при попытке зайти в профиль сообщает:

Fatal error: Call to undefined function usrmenu() in /home/users2/k//components/users/frontend.php  on line 796
alexz31 # 27 июня 2011 в 14:23 +1
У меня в версии 1.8 плагин работает нормально.
Как сделать чтобы в базе данных вообще не записывались визиты незарегистрированных пользователей, т.е. пользователей с ID которых 0. А то в основном от этих посещений быстро растёт размер базы данных.
Виктор # 28 июня 2011 в 17:57 +2
Залил сюда на сайт
И как мне сразу эта мысль в голову не пришла? - добавил
alexz31 # 29 июня 2011 в 00:22 0
Спасибо Виктор тебе большое, сейчас всё работает как я хотел!
GarikKR # 14 января 2012 в 04:10 0
Виктор.Спасибо большое за вашу работу!
Rossoman # 14 января 2012 в 10:24 0
Виктор, спасибо огромное, вчера только мучался с плагином Мои гости, а тут уже все готово)