bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« : 29.04.2009, 17:34:37 » |
|
Итак, мой первый на моём веку самописный плагин! Прошу сильно не бить - но вроде пашет, как оно того требует. В чём его суть?Когда пользователь добавляет комментарий к материалу, то в JomSocial Activity Stream появляется новое событие типа: пользователь добавил (а) новый коммент к такому-то материалу. Естественно название материала и ссылка на него присутствуют. Также начисляются очки за: добавление комментария, удаление комментария и оценку комментария. Не забудьте запустить в JomSocial сканирование новых правил (появятся новые правила для JComments) и настроить их. Версия для Joomla! 2.5 - совместима c JComments 2.3.0+27.03.12 - версия 1.0Обновление 03.04.12 - версия 1.1- фикс загрузки языка Версия для Joomla! 1.5 - совместима с JComments 2.2.0.2Обновление 17.08.09 - версия 1.2- переименовал плагин в jcomments.jomsoc (те кто использовал старую версию (1.1) - необходимо её удалить, а потом установить эту!); - добавил возможность добавления очков пользователям по двум событиям: добавление комментария и удаление комментария. Обновление 15.11.11 - версия 1.3- добавил возможность добавления очков пользователям при оценке комментария: Comment Vote Up и Comment Vote Down. Версия для Joomla! 1.5 - совместима с JComments 2.3.0+27.03.12 - версия 1.4Пользуйтесь на здоровье. Но это неофициальная версия, так что юзайте на свой страх и риск 
|
|
|
|
« Последнее редактирование: 03.04.2012, 01:03:30 от bzzik »
|
Записан
|
|
|
|
|
The Yur
Гость
|
 |
« Ответ #1 : 31.05.2009, 23:43:50 » |
|
А карма юзера в JomSocial увеличивается при добавлении коммента?
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #2 : 01.06.2009, 10:31:27 » |
|
Нет. Plugin только для Activty Stream. User points здесь не присутствуют (они и не должны быть связаны с Activty Stream).
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #3 : 01.06.2009, 11:07:16 » |
|
В принципе, если мы этот плагин назовем не JomSocial Activity Stream, а просто JomSocial Activity, и добавим в него 2 параметра: добавлять записи в Activity Stream и добавлять поинты пользователю, то он сможет решать обе задачи. При этом, это будет все-таки один плагин, а не десяток.
Единственное, не очень понятно, каким образом производить первичную настройку JomSocial. Чтобы выставлять пользователям поинты нужно сначала в таблицу jos_community_userpoints добавить правила для JComments. Но у плагинов нет никаких функций типа как у компонентов com_install, которые бы выполнялись при установке. А каждый раз проверять - расточительно. Можно конечно возложить это на пользователя - дав инструкцию какие правила надо добавить, но это опасно - наверняка найдется пару десятков человек, которые что-нибудь, да напутают.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #4 : 01.06.2009, 11:43:56 » |
|
Именно так, есть тут свои нюансы.
С другой стороны - очень расточительно проверять?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #5 : 01.06.2009, 12:26:21 » |
|
В принципе есть одна мысль, вечерком реализую. Единственное, что она будет работать только с JComments 2.1 и выше. На версии 2.0 этот трюк не получится.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #6 : 01.06.2009, 12:32:01 » |
|
Ну 2.0 уже почти в прошлом  Ладно, без оффтопа. Я кстати ещё не совсем понял, за что отвечает строчка $act->cmd = 'wall.write' ? Может стоит переделать на jc.write - не совсем ясно, на что это влияет.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #7 : 01.06.2009, 12:44:42 » |
|
А там нужно несколько иначе, вот так добавляем: require_once(JPATH_BASE.DS.'components'.DS.'com_community'.DS.'libraries'.DS.'karma.php'); CUserPoints::assignPoint('jcomments.add'); Ну и регистрируем в JomSocial набор действий: jcomments.add jcomments.remove jcomments.vote
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #8 : 01.06.2009, 13:01:25 » |
|
Это то ясно  Мне не ясно на что влияет $act->cmd = 'wall.write' в Activity Stream? Я в этом не разобрался... Можно ли её переписать на $act->cmd = 'jcomments.add' к примеру?
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #9 : 01.06.2009, 13:15:49 » |
|
Думаю не просто можно, а нужно, вот смотри кусок кода у них: $act = new stdClass(); $act->cmd = 'application.remove'; $act->actor = $my->id; $act->target = 0; $act->title = JText::_('CC ACTIVITIES APPLLICATIONS REMOVED'); $act->content = 'This is the body'; $act->app = $name; $act->cid = 0; CActivityStream::add($act); CFactory::load( 'libraries' , 'userpoints' ); CUserPoints::assignPoint('application.remove'); Как видишь, то, что уходит в $act->cmd, совпадает с первым аргументом в assignPoint. Если посмотреть код CActivityStream, то можно увидеть, что изначально увеличение количества поинтов было прямо там, и лишь потом, они это дело вынесли в отдельный класс. Так что менять на jcomments.add надо.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #10 : 01.06.2009, 13:29:11 » |
|
Уху, точно. Значит, решено 
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #11 : 17.08.2009, 12:28:07 » |
|
Обновление 17.08.09 - переименовал плагин в jcomments.jomsoc; - добавил возможность добавления очков пользователям по двум событиям: добавление коммента и удаление коммента Кроме установки самого плагина необходимо приложенный файлик jomsocial_rule.xml закинуть в корневую папку JComments (components/com_jcomments), далее запустить в JomSocial -> User Points сканирование новых правил (появится два новых правила для JComments) и настроить их. Те кто использовал старую версию (1.1) - необходимо её удалить, а потом установить эту! Серж - проверь пожалуйста новую версию. А то из меня писака ещё тот (делал по их документации)  Мне не нравится как инклюдятся файлы (по несколько раз, хотя это и не влияет не на что) - инклюды можно вынести за функции?
|
|
|
|
« Последнее редактирование: 17.08.2009, 12:34:45 от bzzik »
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #12 : 17.08.2009, 13:41:33 » |
|
Кроме установки самого плагина необходимо приложенный файлик jomsocial_rule.xml закинуть в корневую папку JComments (components/com_jcomments) по идее от этого шага мы можем избавиться, включив данный файл в дистрибутив JComments... Мне не нравится как инклюдятся файлы (по несколько раз, хотя это и не влияет не на что) - инклюды можно вынести за функции? да не, ничего страшного там нет, все равно эти функции вызываются по одному разу, только когда срабатывает соотв. событие. А учитывая тот факт, что они могут и не вызываться (ну не будет пользователь ничего добавлять), то сейчас как раз наиболее экономный вариант. В противном случае независимо от того вызовутся они или нет, при загрузке плагинов группы JComments подключались бы лишние файлы. Так что я думаю, сейчас все нормально.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #13 : 17.08.2009, 14:23:26 » |
|
по идее от этого шага мы можем избавиться, включив данный файл в дистрибутив JComments...
Аха, можно. Если так подумать, то больше правил никаких и нет? да не, ничего страшного там нет, все равно эти функции вызываются по одному разу, только когда срабатывает соотв. событие. А учитывая тот факт, что они могут и не вызываться (ну не будет пользователь ничего добавлять), то сейчас как раз наиболее экономный вариант. В противном случае независимо от того вызовутся они или нет, при загрузке плагинов группы JComments подключались бы лишние файлы. Так что я думаю, сейчас все нормально.
оки
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #14 : 17.08.2009, 14:31:20 » |
|
Аха, можно. Если так подумать, то больше правил никаких и нет? оки
ну можно начислять еще за оценку комментариев...
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #15 : 17.08.2009, 14:32:33 » |
|
ну можно начислять еще за оценку комментариев...
В теории да. На практике - набивание очков 
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #16 : 17.08.2009, 15:41:38 » |
|
В теории да. На практике - набивание очков  Если мы говорим о набивании, то их можно и комментариями набивать... а так, ничего зазорного в том, что пользователь оценивает чужие комментарии я не вижу. Никто же не заставляет приравнивать оценку к добавлению комментария, можно за это действие давать в 10 раз меньше очков, но все-таки давать.
|
|
|
|
|
Записан
|
|
|
|
djos
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 118
http://adsound.net
|
 |
« Ответ #17 : 17.08.2009, 16:00:33 » |
|
А вы не планируете полную поддержку коментариев в джум социал? Ну там в групах, фотках и тд
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #18 : 17.08.2009, 17:12:35 » |
|
А вы не планируете полную поддержку коментариев в джум социал? Ну там в групах, фотках и тд
в настоящее время для этого нужно довольно сильно влезать в ядро JomSocial, чего я точно не хотел бы делать... Если вдруг авторы сделают возможность использования сторонних комментариев - я напишу соотв. плагин. Но вообще, я думаю это маловероятно, потому как у них есть свой коммерческий компонент комментариев JomComment и вряд ли они кого-то пустят на свой рынок... А поддерживать подобную интеграцию на уровне модификаций честно говоря хлопотно - у меня на это нет времени.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #19 : 17.08.2009, 17:28:44 » |
|
А вы не планируете полную поддержку коментариев в джум социал? Ну там в групах, фотках и тд
Хы, я над этим задумывался тоже... Но там нужно дофига лопатить...
|
|
|
|
|
Записан
|
|
|
|
djos
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 118
http://adsound.net
|
 |
« Ответ #20 : 17.08.2009, 20:55:59 » |
|
Ясно...тогда видимо придется юзать их компонент а жаль (( Мне он кажется тупым и корявым
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #21 : 18.08.2009, 11:29:32 » |
|
Серж - мне треба ещё более усложнить задачу  Можно ли как-то в плагине получить имя компонента, к которому оставлен коммент? Я хочу для своего сайта сделать кое какие ограничения.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #22 : 18.08.2009, 12:48:35 » |
|
Можно ли как-то в плагине получить имя компонента, к которому оставлен коммент? да, конечно... тебе в плагин передается объект $comments, у него в поле object_group и находится название компонента.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #23 : 18.08.2009, 16:04:19 » |
|
да, конечно... тебе в плагин передается объект $comments, у него в поле object_group и находится название компонента.
О чём-то таком я и подумал. Свою затею реализовал изменив код добавления очков на: if (($comment->userid) && ($comment->object_group == 'com_content')) { CuserPoints::assignPoint ('com_jcomments.comment.add'); }
|
|
|
|
|
Записан
|
|
|
|
4.n
Осваиваюсь на форуме
 
Репутация: +19/-0
Offline
Пол: 
Сообщений: 139
StCrox ™
|
 |
« Ответ #24 : 31.08.2009, 16:07:06 » |
|
в настоящее время для этого нужно довольно сильно влезать в ядро JomSocial, чего я точно не хотел бы делать... Если вдруг авторы сделают возможность использования сторонних комментариев - я напишу соотв. плагин. Но вообще, я думаю это маловероятно, потому как у них есть свой коммерческий компонент комментариев JomComment и вряд ли они кого-то пустят на свой рынок... А поддерживать подобную интеграцию на уровне модификаций честно говоря хлопотно - у меня на это нет времени.
Сергей, заранее извиняюсь, за вероломное вторжение, в ваши дальнейшие планы и за оффтоп. Но все же, возьму на себя смелость спросить. Может свой компонент социалки осилите? Помнится где то проскакивали упоминания о планах разработки блогов by Smart... Если это не сон, может тогда и компонент "социалки с блогами" - реально? Предпосылок то полно и пример есть. Правда, стоит признать, симбиоз прямо скажем не доделанный и не очень удачный. 1. JomSocial - не идеален, хотя симпотичен. (на мой взляд, лучшее из того что есть по социалкам на J!1.5) 2. MyBlog - тоже не подарок, (достоинство: внешне симпатичен, о недостатках все знают...) 3. JomComments - не наш выбор! (JComments - вне конкуренции!) Было бы круто утереть буржуям нос... Еще и по двум верхним позициям. С вашим подходом к делу и профессиональным отношением, уверен будет бомба. Понятно, что время - деньги, и того, и другого, вечно не хватает. Так мы, чем сможем, тем поможем. Кто талантом не обижен, с кодом и дизайном помогут, а кто не талантлив - денег подкинут. Ну и потестим всем миром =) Думаю желающие по участвовать найдутся. Хотя бесспорно, гиморно все это...
|
|
|
|
« Последнее редактирование: 31.08.2009, 17:09:04 от 4.n »
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #25 : 31.08.2009, 16:16:54 » |
|
В общем это уже несколько флейм, и данное обсуждение выходит за тему топика, но раз возник вопрос я отвечу - но чур здесь не обсуждать, дабы не захламлять топик. Обсуждать тут действительно нечего. Понятно, что время - деньги, и того, и другого, вечно не хватает. Так мы, чем сможем, тем поможем. Кто талантом не обижен, с кодом и дизайном помогут, а кто не талантлив - денег подкинут. у меня денег на создание такого расширения нет, делать его коммерческим я не хотел бы, потому как нет никакого желания затем бороться с пиратами (а то что покупать будут единицы у меня сомнений нет), в развитие расширения на пожертвования - тоже не верю, есть прекрасный пример JComments - за последние полгода пожертвования на развитие составили что-то около 15-25$ (не считая 2-х пользователей, которые финансово отблагодарили за оперативное решение их проблем). В пресс-релизе о выходе новой версии везде были указаны реквизиты как помочь проекту - с момента выхода последней версии прошел месяц - 0$. Как вы понимаете, 25$ за полгода это не те деньги, чтобы создавать расширения.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #26 : 12.04.2010, 14:44:22 » |
|
Так, новая версия JComments уже будет содержать jomsocial_rule.xml в дистрибутиве, и при установке он будет помещаться, как и положено в папку /components/com_jcomments/. Так что больше необходимости копировать его вручную не будет.
|
|
|
|
|
Записан
|
|
|
|
Power4ik
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #27 : 01.07.2010, 21:05:06 » |
|
Доброе время суток, Активити стрим не находит перевод CC ACTIVITIES APPLLICATIONS REMOVED, прописал его се равно не помогло. как это исправить и где?? еще один вопрос, Расширенный поиск - Добавить критерий, нечего не происходит? Почему? как это исправить ?
|
|
|
|
« Последнее редактирование: 02.07.2010, 01:02:28 от Power4ik »
|
Записан
|
|
|
|
|
Ecspert
|
 |
« Ответ #28 : 10.09.2010, 21:07:38 » |
|
благодарю за доработку, а можно сделать чтобы текст комментария тоже отображался? (первые 50 символов к примеру) и ещё в строке активности теперь появляются новые комментарии по всей системе, даже из статей или из других компонентов, наверно оно так и лучше
|
|
|
|
|
Записан
|
|
|
|
4.n
Осваиваюсь на форуме
 
Репутация: +19/-0
Offline
Пол: 
Сообщений: 139
StCrox ™
|
 |
« Ответ #29 : 15.09.2010, 19:05:10 » |
|
благодарю за доработку, а можно сделать чтобы текст комментария тоже отображался?
Файл: /plugins/jcomments/jcomments.jomsoc.php $act->content = ''; заменить на if ($comment->userid == '0') { $act->content = ''; } else { $act->content = $comment->comment; } Таким образом в поле контент, коммент авторизованных пользователей будет отображаться, а коммент гостей не будет показан, т.к должен пройти модерацию! В активности будет только сообщение о том что гость оставил коммент к такому то объекту...
|
|
|
|
|
Записан
|
|
|
|
|