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

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

rss

Вы не зашли.

Объявление

#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 17:40:15

zheka
Пользователь
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   
Профиль

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

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

Рейтинг: {plugins_user_ranks}

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

вижу:

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

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

Неактивен

 

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

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

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

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

Неактивен

 

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

zheka
Пользователь
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   
Профиль

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

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

Отредактированно zheka (2009-11-13 20:12:40)

Неактивен

 

#32 2009-11-13 23:41:51

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

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

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

Неактивен

 

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

Maver1ck
Пользователь
Зарегистрирован: 2009-07-25
Сообщений: 43
Рейтинг :   
Профиль

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

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

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


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

Неактивен

 

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

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

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

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

Неактивен

 

#35 2009-11-18 18: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 08:28:58)

Неактивен

 

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

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

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

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

Неактивен

 

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

zheka
Пользователь
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   
Профиль

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

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

в плагине в в version

замени

Код:

Acts: index

на

Код:

Acts: core

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

Неактивен

 

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

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

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

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

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

Отредактированно StronG (2009-11-18 20:48:47)

Неактивен

 

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

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   174 
Профиль  Вебсайт

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

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

Неактивен

 

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

zheka
Пользователь
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   
Профиль

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

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

http://photoload.ru/data/12/4f/1a/124f1ad42351b5f842a608a7f5b1aba8.jpg

Неактивен

 

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

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

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

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

Неактивен

 

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

zheka
Пользователь
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   
Профиль

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

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

Неактивен

 

#43 2009-11-18 23: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 09: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 13:46:02

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

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

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

Отредактированно StronG (2009-11-19 13:46:58)

Неактивен

 

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

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   174 
Профиль  Вебсайт

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


Прикрепленные файлы:
user_ranks.zip, Размер: 3,833 байт, Скачано: 385

Неактивен

 

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

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   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
Сообщений: 2674
Рейтинг :   174 
Профиль  Вебсайт

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
Сообщений: 3538
Рейтинг :   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 13:10:09

zheka
Пользователь
Зарегистрирован: 2008-10-13
Сообщений: 98
Рейтинг :   
Профиль

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

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

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

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

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.072 seconds, 32 queries executed ]