Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#26 2009-07-08 23:26:23

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Плагин :: user ranks

SkineR пишет:

А постраничку комментариев я так и непоставил, на форуме ненашел

Тогда откуда она у тебя в коде в посту #17?
И чего ее искать? Первая же тема в FAQ

SkineR пишет:

но наверно с 2z по идее должна подходить

Для 2z разве была постраничка комментариев?

Посмотрел твой код, ни одного шага из предложенных мною ты не выполнил.
Просто u.reg нельзя использовать, ибо там уже есть c.reg

В общем попробуй вот это: http://www.mediafire.com/?djny5mw5td0
Взял свой "чистый" файл с постраничкой, немного изменил запрос к БД и добавил {com} и {reg}
Тебе осталось лишь плагин user_ranks установить

Не в сети

#27 2009-07-09 04:39:15

SkineR
Участник
Зарегистрирован: 2009-07-02
Сообщений: 22
Рейтинг :   
Сайт

Re: Плагин :: user ranks

Класс! Большое спасибо за постраничку, да я делал и как ты писал, и потом еше по всякому пока хоть как то незаработало и перестало выдавать ошибки.
Единственная шас проблема что в этом варианте что ты дал незарегеным гостям ставится дата регистрации 1 января 1970, я в старом варианте это фиксил так:

if ($config['use_avatars']) {
		$sql = "select c.*, u.avatar, u.com, u.news, u.reg as regdate from ".prefix."_comments c left join ".uprefix."_users u on c.author_id = u.id where c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'')." order by c.id".($config['reverse_comments']?' desc':'').($commID?'':" limit ".$limit_start.",".$limit_count);
	} else {
		$sql = "select c.*, u.com, u.news, u.reg as regdate from ".prefix."_comments c left join ".uprefix."_users u on c.author_id = u.id WHERE c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'')." order by c.id".($config['reverse_comments']?' desc':'').($commID?'':" limit ".$limit_start.",".$limit_count);
	}

	$comnum = 0;
	foreach ($mysql->select($sql) as $row) {
		$comnum++;
		$tvars['vars']['id']		=	$row['postdate'];
		$tvars['vars']['author']	=	$row['author'];
		$tvars['vars']['mail']		=	$row['mail'];
		$tvars['vars']['date']		=	LangDate(ctimestamp, $row['postdate']);
		$tvars['vars']['com']		=	$row['com'];
		$tvars['vars']['reg']		=	langdate("j Q Y", $row['regdate']);

		if ($row['reg']) {
			$tvars['vars']['profile_link'] = GetLink('user', $row);
			$tvars['regx']["'\[profile\](.*?)\[/profile\]'si"] = '$1';
		} else {
			$tvars['vars']['profile_link'] = '';
			$tvars['regx']["'\[profile\](.*?)\[/profile\]'si"] = '';
///------->>>	$tvars['vars']['reg']		='';
		}

Скажи пожалуйста так будет корректно работать или както по другому нада?
Указал строку стрелкой а то внутри кода выделить цветом то нельзя.

Изменено SkineR (2009-07-09 04:43:15)

Не в сети

#28 2009-07-09 11:56:44

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Плагин :: user ranks

Так тоже можно, будет работать

Не в сети

#29 2009-11-13 18:40:15

zheka
Участник
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   

Re: Плагин :: user ranks

Обновился до 0.9.1 Release поставил данный плагин, всё работает нормально кроме одного, у всех кто зарегистрировался до обновления всё работает нормально, у тех кто после обновления возникает странная проблема. Регистрируюсь на сайте, пишу комментарий, вижу:

Рейтинг: {plugins_user_ranks}

обновляю страничку

вижу:

Рейтинг: Новичок

Может кто знает как это можно поправить ?

Не в сети

#30 2009-11-13 20:01:56

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Плагин :: user ranks

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

Не в сети

#31 2009-11-13 21:12:13

zheka
Участник
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   

Re: Плагин :: user ranks

И такой "глюк" происходит только у новозарегистрированных пользователей, а например на моём аккаунте такого нет, странно smile

Изменено zheka (2009-11-13 21:12:40)

Не в сети

#32 2009-11-14 00:41:51

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Плагин :: user ranks

Maver1ck, точно могу сказать, что комментарии двига лежат в поле com

Не в сети

#33 2009-11-14 11:13:49

Maver1ck
Участник
Зарегистрирован: 2009-07-25
Сообщений: 43
Рейтинг :   

Re: Плагин :: user ranks

Извеняюсь за беспокойство, сам ступил. У первого ранга стояло значение 10, поэтому все у кого меньше 10 постов не получали ранг, и оставалась надпись {plugins_user_ranks}

Ps. Все гениальное просто.


Для человеческих возможностей нет границ, есть лишь преграды...

Не в сети

#34 2009-11-17 22:40:35

StronG
Участник
Откуда Russia
Зарегистрирован: 2009-02-08
Сообщений: 431
Рейтинг :   

Re: Плагин :: user ranks

Ни у кого проблем с плагином не возникало на 0.9.1? Сам плагин в админке установился, а вот прописать вывод рейтинга в comments.show.php пока не получилось!

Не в сети

#35 2009-11-18 19:46:56

zheka
Участник
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   

Re: Плагин :: user ranks

StronG, код маленько изменился, вот адаптировал под новый двиг 0.9.1 Release, у меня всё работает smile

в \engine\plugins\comments\comments.show.php

#1. найти

$sql = "select c.*, u.avatar from ".prefix."_comments c left join ".uprefix."_users u on c.author_id = u.id where c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'');

#1. заменить на

$sql = "select c.*, u.avatar, u.com, u.news, u.status from ".prefix."_comments c left join ".uprefix."_users u on c.author_id = u.id where c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'');

#2. найти

$sql = "select c.* from ".prefix."_comments c WHERE c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'');

#2. заменить на

$sql = "select c.*, u.com, u.news from ".prefix."_comments c WHERE c.post=".db_squote($newsID).($commID?(" and c.id=".db_squote($commID)):'');

#3. найти

exec_acts('comments', $row);

#3. заменить на

 exec_acts('comments', $row, &$tvars);

в в \plugins\user_ranks\version

#4. найти

Acts: index

заменить на

#4. 

Acts: core

Изменено zheka (2009-11-19 09:28:58)

Не в сети

#36 2009-11-18 20:59:36

StronG
Участник
Откуда Russia
Зарегистрирован: 2009-02-08
Сообщений: 431
Рейтинг :   

Re: Плагин :: user ranks

Внес изменения в comments.show.tpl, включил плагин, МЁРТВО! В подписи так и осталось {plugins_user_ranks}

Не в сети

#37 2009-11-18 21:29:41

zheka
Участник
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   

Re: Плагин :: user ranks

StronG, сорри, забыл smile

в плагине в в version

замени

Acts: index

на

Acts: core

Затем выключи/включи плагин. Должно теперь заработать.

Не в сети

#38 2009-11-18 21:44:22

StronG
Участник
Откуда Russia
Зарегистрирован: 2009-02-08
Сообщений: 431
Рейтинг :   

Re: Плагин :: user ranks

О все вери гуд спасибо за помощь!

Как сделать чтобы у админов отображался ранг "Администратор" красным цветом, у журналистов свой статус и цвет и т.д...

Изменено StronG (2009-11-18 21:48:47)

Не в сети

#39 2009-11-18 21:58:29

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Плагин :: user ranks

Это является хаком, а не плагином, поэтому полезность у него на порядок меньше... big_smile

Не в сети

#40 2009-11-18 22:32:11

zheka
Участник
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   

Re: Плагин :: user ranks

StronG, вот про такой хак речь ?

124f1ad42351b5f842a608a7f5b1aba8.jpg

Не в сети

#41 2009-11-18 22:33:49

StronG
Участник
Откуда Russia
Зарегистрирован: 2009-02-08
Сообщений: 431
Рейтинг :   

Re: Плагин :: user ranks

zheka,  да именно такой

Не в сети

#42 2009-11-18 22:40:34

zheka
Участник
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   

Re: Плагин :: user ranks

StronG,  как освобожусь, выложу этот хак, скорей всего завтра smile

Не в сети

#43 2009-11-19 00:55:39

Amarelius
Модератор
Откуда Kiev
Зарегистрирован: 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: Плагин :: user ranks

zheka, в плагине comments предусмотрен фильтр FilterComments (курить файл \engine\plugins\comments\inc\comments.lib.php). Наследуя этот класс ты можешь изменять отображение комментариев по своему усмотрению. Например в функцию showComments передается указатель на переменную $tvars, которая хранит список переменных отображаемых в шаблонах, ты можешь добавить туда свои переменные и прописать их после этого в шаблонах. И при этом не нужно будет делать какие либо хаки движка или его плагинов.


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Не в сети

#44 2009-11-19 10:01:31

zheka
Участник
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   

Re: Плагин :: user ranks

Amarelius, спасибо буду знать smile

StronG, у меня вот такой хак

\engine\plugins\comments\inc\comments.show.php
#1. Найди

from ".prefix."_comments c

#1. Замени на (два раза), посмотри код я вчера случайно в посте выше указал лишний параметр u.status так что тебе надо добавить только один раз если я не ошибаюсь, код выше поправил.

, u.status from ".prefix."_comments c

#2. Найти

$output = '';
	foreach ($mysql->select($sql) as $row) {
		$comnum++;
		$tvars['vars']['id']		=	$row['id'];
		$tvars['vars']['author']	=	$row['author'];
		$tvars['vars']['mail']		=	$row['mail'];
		$tvars['vars']['date']		=	LangDate($timestamp, $row['postdate']);

#2. Добавь после

$status = 'Гость';
		switch ($row['status']) {
            case 1: $status = $lang['administrator'];    break;
            case 2: $status = $lang['editor'];        break;
            case 3: $status = $lang['journalist'];        break;
            case 4: $status = $lang['commenter'];        break;
        }
        $tvars['vars']['status']    =    $status;

Вот мой пример comments.ini переделай цвета по своему усмотрению.

/engine/lang/russian/site/comments.ini
Добавь в конец

status        =    "Status:"
commenter    =    "<font color="#008000">Комментатор</font>"
journalist    =    "Журналист"
editor        =    "<font color="#FF2400">Модератор</font>"
administrator    =    "<font color="#FF2400">Администратор</font>"

/engine/lang/english/site/comments.ini
Добавь в конец

status        =    "Status:"
commenter    =    "Commentator"
journalist    =    "Journalist"
editor        =    "Editor"
administrator    =    "Administrator"

И в comments.show.tpl вставляешь {status}

Не в сети

#45 2009-11-19 14:46:02

StronG
Участник
Откуда Russia
Зарегистрирован: 2009-02-08
Сообщений: 431
Рейтинг :   

Re: Плагин :: user ranks

zheka, спасибо за помощь все работает отлично!

Изменено StronG (2009-11-19 14:46:58)

Не в сети

#46 2010-08-20 21:31:57

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Плагин :: user ranks

Amarelius пишет:

zheka, в плагине comments предусмотрен фильтр FilterComments (курить файл \engine\plugins\comments\inc\comments.lib.php). Наследуя этот класс ты можешь изменять отображение комментариев по своему усмотрению. Например в функцию showComments передается указатель на переменную $tvars, которая хранит список переменных отображаемых в шаблонах, ты можешь добавить туда свои переменные и прописать их после этого в шаблонах. И при этом не нужно будет делать какие либо хаки движка или его плагинов.

Решил сделать. Но возникли вопросы:
1. Чтобы использовать фильтр FilterComments обязательно ли инклудить comments.lib.php?
2. Там ещё есть функции addCommentsNotify и addComments, можно о них узнать по подробнее? Насколько я понял они нужны, чтобы отобразать данные в момент когда комментарий только что добавили (что впринцепе мне и надо).
3. "в функцию showComments передается указатель на переменную $tvars" - так и не понял как это сделать, реализовал через доп. запрос, но всё же хотелось бы увидеть.

Собственно код во вложении - выводит кол. новостей, кол. комментариев, дату регистрации и группу пользователя. Статусы ещё не запилил, ибо не допёр почему они не работают. xD

Не в сети

#47 2010-08-20 21:42:59

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Плагин :: user ranks

1. Лучше не include_once делать, а loadPluginLibrary('comments', 'lib');
2. addComments - вызывается после сабмита кнопки отправки, но до фактического добавления комментария в базу.
addCommentsNotify - вызывается после успешного добавления комментария в БД
3.

class myFilterComments extends FilterComments {
	    function showComments($newsID, $commRec, $comnum, &$tvars){
                      // твоя обработка, например $tvars['vars']['fuck_them_all'] = "TEXT"; и юзаешь {fuck_them_all}
}

Изменено Wolverine (2010-08-20 21:46:12)

Не в сети

#48 2010-08-20 22:44:55

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Плагин :: user ranks

Wolverine пишет:

3.

class myFilterComments extends FilterComments {
	    function showComments($newsID, $commRec, $comnum, &$tvars){
                      // твоя обработка, например $tvars['vars']['fuck_them_all'] = "TEXT"; и юзаешь {fuck_them_all}
}

Так и делаю.
Я думал, что это позволит сразу же без всяких запросов написать:

$template['vars']['news'] = $row['news'];

Кстати, не до конца понял как работает addCommentsNotify, написал функцию, а проблему она так и не решила.

Изменено infinity237 (2010-08-20 23:22:45)

Не в сети

#49 2010-08-21 00:26:36

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Плагин :: user ranks

infinity237 пишет:

Я думал, что это позволит сразу же без всяких запросов написать:

$template['vars']['news'] = $row['news'];

Что за $row['news']? Заполнять нужно локальный массив $tvars. $template служит для заполнения переменных main.tpl

infinity237 пишет:

Кстати, не до конца понял как работает addCommentsNotify, написал функцию, а проблему она так и не решила.

Значит криво написал big_smile Показывай код

Изменено Wolverine (2010-08-21 00:31:11)

Не в сети

#50 2011-02-05 14:10:09

zheka
Участник
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   

Re: Плагин :: user ranks

Может кто подскажет,

1. Как можно реализовать вывод в комментариях под рангом любого изображения (например звёздочек) ? вставлял html код изображения прямо в админке в поле с названием ранга, даже всё работает, но понимаю что это не есть гуд.

2. Сделал вывод в комментариях даты регистрации пользователя, но у гостей отображается дата регистрации 1 января 1970 у остальных всё нормально. Что-то не могу понять откуда эта дата вообще берётся ?

Не в сети

Подвал раздела

Работает на FluxBB