Плагин "Мои Вещи"

Пол дня пробил в чёрный бубен вызывая код миллионов, до дыр прокурил доки LS, но в итоге всё встало на свои места и на выходе получилось то, что ценят все пользователи суверенного Лепрозория — «Мои Вещи».

Плагин, в итоге, оказался довольно компактный и элементарный. Он добавляет пункт в основное меню, оттуда пользователи попадают в /mine/ где видят список всех топиков к которым они или их друзья имеют отношение (оставили там комментарий). Посты сортируются в порядке даты последних комментариев в них. Если активность была больше 4х недель назад, но эти топики в «Мои Вещи» не попадают.

Устанавливать — как обычно. Пожелания по улучшению принимаются.

В процессе разработки нашёл пару мелких багов в ядре — сделаю тикеты. Поскольку документация ядра довольно сырая, хотелось бы чтобы кто-то мог просвятить по теме кеширования. Хочу вывести счётчики «обновлений» в меню, но не хочу постоянно дёргать базу.

Скачать Плагин можно вот тут — 16Kb. Сегодня вечером отправлю на модерацию в каталог.

UPD: 07.Aug.2010 — Апдейт! Новая версия плагина, помимо исправления пары мелких косяков в совместимости с другими плагинами, появилось своё подменю, где есть магический фильтр «показывать только новое» с счётчиком непрочитаных комментариев. Ура! Качать там же или в каталоге!

186 комментариев

avatar
Две особенности выявил:
1. Ссылка «Публикации» из профиля пользователя становится кривой, т.е. перестает работать.
2. Логичнее «Мои вещи» поместить не в главное меню, а всё то же в меню пользователя.
avatar
1. Это один из багов в ядре, который я нашёл — там в некоторых местах ссылки становятся битым, хотя должны быть абсолютными!
2. Я пробовал, но в стандартной шкурке там хук ну очень удачно расположен :(
avatar
Сообщите как поправите баги. Хоть плагин и интересен, но не хочется терять уже имеющийся функционал и бить рабочие ссылки в менюшках.
avatar
Эти проблемы не к плагину относятся, а к ядру. Я посмотрю — может быть можно это как-то решить без того, чтобы трогать код ядра.
avatar
Всё исправлено!
avatar
Ссылка для скачивания та же или ждать появления в каталоге?
avatar
та же!
avatar
Значит плагином пользоваться нельзя? )))Что-то мне подсказывает, что вы чего-то не досмотрели, хотя может я и ошибаюсь.
ЗЫ
Кстати, а расскажите, пожалуйста, мне дилетанту, в каком файле и как перехватываете главное меню? Просто я тоже пытаюсь в менюху публикации вставить ссылку на новый вид топика, не хотелось бы курочить шаблон. Т.е. хотел всё красиво: плагином «забрал» менюху, «подсунул свою»..., т.е. хочу по аналогии с вашим плагином. Буду крайне признателен.
avatar
Создаете хук такого типа:
<?php

class PluginTest_HookTest extends Hook {

    public function RegisterHook() {
    	
        $this->AddHook('template_название_хука', 'Menu', __CLASS__);

    }

   public function Menu() {
                        return $this->Viewer_Fetch(Plugin::GetTemplatePath('путь').'название_файла_из_вашего_плагина_в_котором_нужные_элементы');
        }
}
?>
avatar
Plugin::GetTemplatePath(__CLASS__)
avatar
Рабочий пример в дефолтном плагине Page
avatar
Спасибо.
avatar
Это есть пример из плагина «Page»
avatar
1. Я решил — в новой версии плагина больше не появляется :)

Выкладываю в каталог
avatar
раньше ЛС сравнивали с хабром. Скоро видимо начнут сравнивать с «сайтом, которого нет». Спасибо за модуль.
avatar
Я например что то слышал про лепрозорий, но понятия не имею что там за сайт. Знаю что типа «для избранных»:) Что за плагин «мои вещи»? Объясните хоть суть функционала, а то написали полдня бился и «ценят все пользователи суверенного Лепрозория — «Мои Вещи». О чем это все?
avatar
Он добавляет пункт в основное меню, оттуда пользователи попадают в /mine/ где видят список всех топиков к которым они или их друзья имеют отношение (оставили там комментарий). Посты сортируются в порядке даты последних комментариев в них. Если активность была больше 4х недель назад, но эти топики в «Мои Вещи» не попадают.
avatar
Работает только для новых комментов или со трарыми тоже дружит?
avatar
только для новых — там новая таблица в базе
avatar
Просьба к автору — сделайте комментарии на русском.
avatar
да там кода строк 50, можно было вообще не комментировать :) а комменты на русском, я считаю, очень сильно портят читабельность кода
avatar
Не обращай внимание, у меня с просони что-то не читалось на английском и один момент был абсолютно не понятен. Это так было, мысли вслух.
да там кода строк 50
443
avatar
ххых — бывает :)

а из 443 — половина это разметка, ещё четверть это SQL запросы, ну и пара расширений стандартных методов… реально кастомного кода оказалось наудивление мало, что, безусловно, радует.

На подходе ещё один плагин — Activity Feed — можно будет как вконтакте видеть что делают друзья в виде ленты.
avatar
p.s. а какой момент — не ясен? это мой первый плагин, так что я может быть сам чего-то не до конца понял
avatar
Когда проснулся, мне все стало ясно.
avatar
А вот в описании плагина, которая на английском и которое вероятно предназначено и для англоговорящих пользователей, нужно написать не «lepra», а «leprosorium.ru». Лепра это болезнь и если русскоязычный пользователь поймет о чем идет речь, то англоязычного фраза «каждый лепропользователь» скорей всего смутит.
avatar
для англоязычных оба варианта будут пустым звуком, поскольку они всё равно посмотреть сайт не смогут
avatar
Крайне мере они будут понимать что речь идет о сайте, а не о болезни.
avatar
Спасибо! Удобная штука должна быть.
Это под новый LS или 0.3?
avatar
0.4 конечно
avatar
Ну дык. Кто ж знает) Спасибо.
avatar
Почему используется наследование без объявления его в классе плагина через
protected $aInherits=array();
?
  • ort
  • +3
avatar
Видимо потому что не дочитал доки или запутался. Плагин делал по подобию того, что есть, смотрел как сделаны другие, и, вероятно, там тоже этого не было. А где про это можно почитать?
avatar
avatar
Понял — это, грубо говоря, подпись в плагине где объявляются все «наследия». Сейчас добавлю. Только сразу напрашивается очевидный вопрос: зачем эта подпись, если всё работает и без неё?
avatar
Только сразу напрашивается очевидный вопрос: зачем эта подпись, если всё работает и без неё?
работает, потому что нет других плагинов, которые наследуют те же модули.
В текущем плагине вообще не понятно для чего используется наследование через Inherit, можно просто унаследоваться напрямую от нужного модуля, например, ModuleTopic. Inherit необходимо использовать если требуется подменить стандартный модуль, чтобы вызовы вида $this->Topic_* вызывали уже модуль вашего плагина, который наследуется от ModuleTopic, и следовательно код
$this->PluginMystuff_ModuleTopic_GetTopicsByFilter($aFilter);
не имеет смысла
avatar
Понял. Сейчас всё оформим.
avatar
Я верно понимаю, что можно не указывать подписи если наследие будет очевидным:

class PluginMystuff_ModuleTopic extends ModuleTopic {}


class PluginMystuff_ModuleTopic_MapperTopic extends ModuleTopic_MapperTopic {}


?
avatar
да
avatar
Обновил, протестил и снова сабмитнул. Спасибо за поддержку :)
avatar
осталось:
class PluginMystuff_ModuleMystuff_EntityTopic extends PluginMystuff_Inherit_ModuleTopic_EntityTopic
avatar
Блин, пропустил :)
Исправлено и обновлено
avatar
плагин добавил, но не понятно для чего использовать
class PluginMystuff_ModuleMystuff_EntityTopic extends ModuleTopic_EntityTopic
почему нельзя так
class PluginMystuff_ModuleMystuff_EntityTopic extends Entity
ведь там никаких свойств от топика не используется
avatar
Мне это показалось логичнее, тем самым показывается принадлежность к типу топика. Но если есть какие-то противоречия, то, ест-но, поменяю :-)
avatar
а почему бы не заюзать Inherit?
avatar
Насколько я понял — с Inherit связан довольно большой оверхед, которого можно избежать. Хотя могу ошибаться
avatar
Главное не то, что она работает, главнее как она работает.
avatar
clops, Спасибо вам большое! Ждём больше бесплатных плагинов для лс, не забывайте выкладывать реквизиты webmoney!
avatar
Всегда пожалуйста. Livestreet — отличный движок, хоть по-началу и сложно с ним «подружиться», у меня на подходе ещё пара интересных плагинов, и ест-но они будут бесплатными. У сообщества взял — сообществу отдал.
avatar
clops, ждём с нетерпением! Спасибо Вам.
avatar
Плагин конфликтует с livestreetcms.com/addons/view/7
avatar
Видимо из-за того, что у меня создаётся такая же колонка в таблице topics и в неё пишутся такие же данные. Но я не вижу смысла использовать эти два плагина одновременно. Хотя колонку в следующей версии поменяю, чтобы всё было чистенько :)
avatar
если данные туда пишутся одинаковые, то достаточно ввести проверку на существование поля в обоих плагинах
avatar
Апропо проверки — а можно как-то у ядра спросить: «есть ли в системе такой-то плагин»?
avatar
Plugin_GetActivePlugins()
avatar
Спасибо! Я встрою проверку в «Мои Вещи» чтобы не было конфликтов
avatar
а не проще скооперироваться и вместе решить проблему? :)
avatar
Так и сделаем :) достаточно решить кто будет проверять на существование кого… мне не сложно в принципе :)
avatar
Так в оба плагина и нужно поставить проверку, раз на то пошло.
avatar
я честно говоря, не смотрел данный плагин, не знаю, смысл данного поля в этом плагине, если для одной и тойже функции необходимо, то смысла в проверках обоих плагинов нет. иначе получится белиберда
avatar
Если mystuff будет осуществлять проверку на наличие установленного stream, то он встанет без проблем, но если stream не будет осуществлять проверку на наличие установленного mystuff, то при установке stream поверх mystuff будут возникать проблемы. Если в обоих плагинах будет осуществляться проверка, то подобных проблем не будет и пользователь сможет использовать два плагина одновременно.

Как-то так, в общих чертах.
avatar
Меня беспокоит не столько проверка при установке, сколько двойное выполнение хуков которые по сути делают одно и то же :) я бы у себя просто не выполняд некоторые действия в плагине если бы их выполнял стрим!
avatar
после попытки включения плагина появляется окно
SQL Error: Table 'prefix_topic_commented' already exists at /var/www/marischka/data/www/qwey.ru/engine/classes/Plugin.class.php line 196
Array ( [code] => 1050 [message] => Table 'prefix_topic_commented' already exists [query] => CREATE TABLE `prefix_topic_commented` ( topic_id INT UNSIGNED NOT NULL, user_id INT UNSIGNED NOT NULL, created TIMESTAMP, PRIMARY KEY(topic_id, user_id), FOREIGN KEY(user_id) REFERENCES `prefix_user`(user_id) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(topic_id) REFERENCES `prefix_topic`(topic_id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=MyISAM [context] => /var/www/marischka/data/www/qwey.ru/engine/classes/Plugin.class.php line 196 )

Как быть? что делать?
avatar
Круто, вы, кажется, два раза установили плагин :)
вообще самый простой способ — удалить таблицу
а вообще я это учту и добавлю в установщик!
avatar
А как мне его всетаки запустить? Скачать новый плагин?
avatar
Удалите руками таблицу в субд, или подождите, я сегодня выложу обновление
avatar
Спасибо! Буду ждать!
avatar
Когда обновление будет?
avatar
Завтра днём!
avatar
а можно скрины, что этот плагин делает?
проверить негде…
avatar
дай я тебя куда-нибудь поцелую!
  • mrak
  • +1
avatar
Для полноценного — не хватает двух ссылок, а именно:
под топиком «в мои вещи»
а в списке топиков «стереть из моих вещей»
ну и конечно нужнейшая галка «показывать только новые» ;)
  • mrak
  • +1
avatar
Всё будет в следующей версии :)
avatar
Тогда сразу советую предусмотреть возможность в конфиге отключать (или переключать) место установки линка или отключаения (для кастомных шаблонов).
И в целом оно будет рулить, как мне кажется.
avatar
когда будет обновление плагина? жду не дождусь пощупать
avatar
будет! я никак меню не успеваю доделать, первый раз всё-таки! :)
avatar
А есть возможность в конфиге сделать функциональной возможность вывода раздела «Мои Вещи» в header_top.tpl или в header_nav.tpl?
avatar
Или вообще в профиле.
avatar
В профиль, кстати, можно добавить.
avatar
Ну тогда в профиль если можно, просто не очень хочется в header_top.tpl там итак уже дофига разделов, а Моим вещам самое место кстати в профиле мне кажется.
avatar
И как его в профиль? ))
avatar
Пока нет. Проблема в первую очередь в том, что в header_nav.tpl очень неудобно расположен хук — ссылка появляется четвёртой строчкой.
avatar
можно делегировать темплейт, но это не выход =(
avatar
Вообще-то можно тупо в шаблон руками ссылку записать куда хочется :)
avatar
ну какбы да. но при делегации меньше возни. и хуки какбы на месте остаются.
avatar
Вопрос в том, что происходит когда два разных плагина делегируют один и тот же шаблон…
avatar
потому и говорю, что не выход =) хотя подумалось, что было бы оптимально передавать не жестко прописанные li в шаблон, а массив элементов. Но опять же хз, как это по быстродействию
avatar
Мне жаловались что я не удобно поместил ссылку в плагине «Все теги» и я сделал так:

Часть хука:
$this->AddHook(Config::Get('module.tags.hook_tags'), 'Menu', __CLASS__);


Часть конфига:
Config::Set('module.tags.hook_tags', 'template_main_menu'); // В каком месте выводить ссылку
avatar
Есть еще забавный баг.
Для меня например плагин невозможно использовать, потому что он в упор не видит ссылок на блоги при использовании плагина AceBlogExtender.
А счастье было так близко…
  • mrak
  • 0
avatar
поконкретней опишите проблему. Возможно есть выход
avatar
Да, плиз. Наверняка можно это решить, а то я уже заканчиваю второй релиз :)
avatar
поконкретней — это к avadim, про внутреннее устройство самого плагина.
А выглядит все просто — с личными блогами, с закрытыми блогами все работает без вопросов и нареканий, с блогами, созданными под плагином aceblogextender — нет, запись в блог попросту не появляется в «моих вещах».
Если учесть что у большинства пользователей плагина блоги создавались из под него — с подкатегориями etc., то для нас, пользователей этого плагина, совместное использование выглядит проблематичным ;)
avatar
Что значит «с блогами, созданными под плагином aceblogextender»? Если создать обычный открытый блог, то его записи тоже не попадают? Или только записи из блогов с подкатегориями?
avatar
Я установлю плагин и посмотрю что получится. Но вообще у меня есть подозрение что там где-то (у меня или у avadima) косяк с хуками :)
avatar
У меня другое подозрение: плагин работает с заранее предопределенными типами блогов. А мой плагин расширяет этот список. Кстати, плагин «Компании» тоже вводит свой тип блогов. Это учитывается в твоем плагине, что кроме «open», «close» и «personal» могут быть и другие типы блогов?
avatar
Это вариант — я там строю кастомный фильтр… а есть возможность получить список типов блогов?
avatar
Если без моего плагина, то готового инструмента нет. Надо в SQL запросе запрашивать структуру таблицы prefix_blog, брать оттуда инфу о поле blog_type и ее парсить.

Если установлен мой плагин, то элементарно:
$this->Blog_GetBlogTypes()
avatar
А я не могу тупо добавить в
$aFilter=array(
                'blog_type'     => array(
                                        'personal',
                                        'open'
                                    ),
                'topic_publish' => 1,
                'topic_id'      => $myStuffTopics,
                'order'         => 't.topic_last_update desc'    
            );


тип блогов из твоего плагина?
avatar
А я не могу тупо добавить...

Конечно, можешь. Добавь туда еще тип subcat. Но если есть (или будут) еще какие-то плагины, которые добавляют свои типы блогов, то они — «мимо кассы».
avatar
Добавил… и выложил для тестов. Думаю вот-вот mrak скажет что у него получилось
avatar
кстати — мне стало любопытно зачем вообще фильтровать на тип блогов — ведь в «мои вещи» должны попадать все доступные мне топики в которых отметился я или мои друзья…
avatar
Если «отметился я» — это один разговор, но если «мои друзья» — совсем другой. Потому что мои друзья могут отметиться в закрытых (close) блогах, куда мне доступа нет. Но если я сам отметился в закрытых — это должно попасть.
avatar
всё было бы круто если бы модуль был в каталоге :) а так даже скачать не могу
avatar
он платный. и все таки наверно будет лучше разбирать enum.
avatar
платность меня не останавливает, а разбирать я enum конечно могу, но это ничего не даст если я это не смогу протестировать
avatar
Само собой, он же платный
avatar
Но если нужно, могу дать для тестирования под «честное-пречестное пионерское», что не будешь раздавать его направо-налево, кому ни попадя
avatar
честное-пречестное пионерское — меня везде по нику локализовать легко, так что мне есть что терять. в личных целях обязуюсь не использовать :)
avatar
мыло кинь в личку
avatar
Спасибо!

Я попробовал — почти всё работает.

Правда там другая проблема… я не совсем понял как работают кишки LS но хук «topic_add_after» получается занят blogextender и он не срабатывает у меня. Соответственно новые посты без комментариев в Мои Вещи не попадают. Может быть знаешь что там надо настроить чтобы всё было чики-пики?
avatar
AddHook или AddDelegateHook?
avatar
У меня вот так

public function RegisterHook() {            
            $this->AddHook('topic_add_after', 'AddLastUpdate', __CLASS__);             
            $this->AddHook('comment_add_after', 'UpdatedComment', __CLASS__);         
            
            //$this->AddHook('template_userbar_item','Menu');
            if($oUserCurrent=$this->User_GetUserCurrent()){
                $this->AddHook('template_main_menu','Menu');
            }
        }


И первый хук «topic_add_after» не выполняется если другой плагин «его занимает» :(
avatar
а в плагине Вадима? попробуйте в админке свой плагин выше поднять по приоритету
avatar
Вообще я поковырялся в плагине Вадима — как я понял он переопределил добавление топика… и что-то я там нигде не нашёл вызов хука «topic_add_after» — может быть в этом проблема?
avatar
ну у меня открытых блогов нет, но из close и personal попадают, а из subcat, который можно сделать только с помощью aceblogextender — нет.
avatar
Хм… поставлю сейчас себе плагин и посмотрю что получится сделать.
А то я уже менюшку прикрутил и «показывать только новые» и счётчик этих самых новых…
avatar
ну, что я могу для этого сделать, кроме того, что рассказывать про баги и требовать фич ;)
avatar
я заапдейтил немного — можно качнуть новую версию
avatar
Ты знаешь, я успел потестить пять минут, по моему все как надо. Трудно так просто отследить, конечно.
avatar
Потести с закрытыми блогами — это единственное что меня беспокоит
avatar
С закрытыми работает.
avatar
Дано — у меня нет доступа к блогу, у моего друга есть. Он там оставляет пост/коммент. Он у меня в моих вещах появляется?
avatar
clops, так извращаться не пробовал — права то админские.
avatar
Я попробовал — этот кейс работает.

Правда там другая проблема… я не совсем понял как работают кишки LS но хук «topic_add_after» получается занят blogextender и он не срабатывает у меня. Соответственно новые посты без комментариев в Мои Вещи не попадают.
avatar
Ты б для пожертвований написал бы че куда. Мелочь но приятно.
avatar
Если бы я хотел как-то на этом заработать, то я бы продавал плагин ;)
avatar
А ошибка при установке осталась
SQL Error: Duplicate column name 'topic_last_update' at /var/www/marischka/data/www/qwey.ru/engine/classes/Plugin.class.php line 196
Array ( [code] => 1060 [message] => Duplicate column name 'topic_last_update' [query] => ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL [context] => /var/www/marischka/data/www/qwey.ru/engine/classes/Plugin.class.php line 196 )
avatar
Чёрт побери!
Удалите просто всё из файла dump.sql и будет вам щастя™!
avatar
Объясните функционал для тех, кто не в теме Лепрозория
avatar
Он добавляет пункт в основное меню, оттуда пользователи попадают в /mine/ где видят список всех топиков к которым они или их друзья имеют отношение (оставили там комментарий). Посты сортируются в порядке даты последних комментариев в них. Если активность была больше 4х недель назад, но эти топики в «Мои Вещи» не попадают.
avatar
Вы действительно считаете это удобным? Просто я подумал, что иногда отвечаешь кому то на коммент, к примеру, оффтопом на оффтоп, а потом тебе начинают сыпаться комментарии, которые тебе не интересны… Конечно, можно отписаться от обновлений из этого топика, но зачем сначала создавать проблему пользователю, а потом предлагать ему решение?

Проще и логичнее сделать кнопку «подписаться на комментарии», пользователь хочет получать все новые комменты — нажмет, не хочет — не станет. Хотя может это типо устарело или не модно..)))
avatar
Просто сейчас мы с программистом разрабатываем публичный плагин персональной ленты и ленты друзей, и я решил, что кнопка «подписаться» будет лучше выглядеть, чем навязывание комментов без спроса пользователя. Но если это дейсвительно так удобно, то можно будет внедрить и эту функцию.
avatar
Вы не поняли самого важного — это в первую очередь посты, которые комментируют ваши друзья!
avatar
ну это я понял)
avatar
На что ругается интересно?
Notice: Undefined index: 24 in www/plugins/mystuff/classes/modules/topic/mapper/Topic.mapper.class.php on line 100
avatar
А у меня не получается активировать плагин. Ругается и пишет
SQL Error: Can't create table 'db_name.prefix_topic_commented' (errno: 150) at .../www/engine/classes/Plugin.class.php line 196
Array ( [code] => 1005 [message] => Can't create table 'db_name.prefix_topic_commented' (errno: 150) [query] => CREATE TABLE `prefix_topic_commented` ( topic_id INT UNSIGNED NOT NULL, user_id INT UNSIGNED NOT NULL, created TIMESTAMP, PRIMARY KEY(topic_id, user_id), FOREIGN KEY(user_id) REFERENCES `prefix_user`(user_id) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(topic_id) REFERENCES `prefix_topic`(topic_id) ON DELETE CASCADE ON UPDATE CASCADE ) Engine=InnoDB [context] => .../www/engine/classes/Plugin.class.php line 196 )


Помогите, если можно.
avatar
В dump.sql убрать
ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL;
UPDATE `prefix_topic` SET `topic_last_update` = `topic_date_add`;
и попробовать активировать.
avatar
Тоже самое что и у Judge.

Ваш плагин, и «Stream Plugin (Поток Обсуждений)» походу трут друг друга.
livestreet.ru/blog/addons/4783.html
livestreet.ru/blog/tips_and_tricks/3771.html
  • Loci
  • 0
avatar
У меня оба активные, вроде как работают нормально.
походу трут друг друга.
Как именно?
avatar
Скорее всего не совсем так…

Они не «трут», а используют один и тот же столбец (topic_last_update) из таблицы prefix_topic. Этот столбец создается обоими плагинами при установке. Но, плагин «Мои Вещи», после своей деактивации за собой подчищает, а «Stream» — нет.

Вот в результате и возникает ситуация: при активации какого-либо из этих двух плагинов, если «противоположный плагин» уже активирован, движок выдает ошибку «Что, якобы, невозможно создать столбец — он уже имеется» и не дает возможности активировать плагин.

Я, к примеру, активировал «вручную» — дописывал плагин в plugins.dat. Правда, не знаю «корректно» ли это, но способ работает.

Неплохо бы было при активации плагина добавить проверку на наличие столбца topic_last_update в таблице prefix_topic.

Пытался это сделать самостоятельно, но не нашел какую функцию PHP использовать для проверки наличия столбца в таблице.

Может кто в курсе?
avatar
не совсем понимаю, что вы имели в виду под словом подчищает.
livestreetcms.com/addons/view/7/
здесь есть версия плагина Stream 0.1.2, в которой он не дропает столбецтолько при условии, что активирован плагин mystuff

Вы используете последние версии плагинов?
avatar
randomtoy, во-первых, хочу Вас поблагодарить за нужный и полезный плагин.

Под словом «подчищает» я подразумевал удаление плагином (при деактивации) созданных им же (при активации) элементов (таблица, столбцы) в базе данных.

С одной стороны — это хорошо, а с другой — не очень…

Спасибо, что информировали о новой версии. До этого я использовал версию 0.1.0. В версии 0.1.2, как я вижу, при активации уже выполняется проверка на наличие соответствующих элементов в БД.

Посмотрите некоторые мои размышления здесь: http://livestreet.ru/blog/questions/5207.html
avatar
я задумывался об этом, еще во времена 0.3.1. Но кажется тогда я остановился на том, что BuildFilter находится в самом маппере, и изменять его не представлялось возможным. сейчас я все больше задумываюсь о переписывании плагина с нуля и модификации BuildFilter посредство Inherit. Но когда дойдут руки — не имею представления :(
avatar
давай пиши уже, я тебе бабла дам за это
avatar
Отвечу в топике О ссылке «Все» (топики) на главной странице дабы не засорять эту ветку.
avatar
Добавил плагин, что-то не вижу в нем подменю, хотя посты есть новые?
avatar
Аналогично обновился, добавил постов — подменю нет:(
avatar
В данном подменю отображаются только те топики, к которым вы или ваши друзья оставили комментарии.

Кстати, очень удобно для просмотра новых комментариев
avatar
Оставил комментарий подменю не появилось, хотя топик вышел наверх, то есть сортировка работает. А вот с подменю так и не понял, где оно и как появляется.
avatar
Подменю («Всё» / «Только Новое») не появляется, оно отображается в любом случае (после активации плагина). А вот во вкладке «Только Новое» топики появляются только в том случае, если в каком-либо топике, на который Вы или Ваши друзья оставили комментарий, появился новый комментарий (чей-либо).

Вы переходите в меню «Мои Вещи»?
avatar
Подменю («Всё» / «Только Новое») не появляется, оно отображается в любом случае
А вот и нет подменю вовсе! Конечно перехожу в меню «Мои Вещи», я же не телепат говорить о том, что там нет подменю, не входя туда.
avatar
А версия плагина последняя? Если — да, то может какие-то другие плагины «перекрывают» это меню…
avatar
Версия плагина последняя.
avatar
в шаблоне хуки то есть?
avatar
Шаблон new, версия движка 0.4.2
Другие плагины конечно есть, а хрен знает что его перекрывает. Это уже не первый плагин, функционал которого перекрывает другой плагин ((
avatar
ну там в шаблоне, в header_top.tpl или как там его в конце списка стандартного .menu-nav должно быть что то вроде {hook_run'menunav'} врядли там что то кого то перекрывает, скорее всего просто меню нет. ну и еще можно проверить пройдя по ссылке вашсайт/mine
avatar
По указанной ссылке попадаю в Мои вещи, там топики есть мои, но подменю нет никакого. Хуки, если они есть в актуальной версии движка, то и у меня есть, у меня последняя версия стоит. Склоняюсь к тому, что плагин все-таки конфликтует, такое не впервые происходит.
avatar
возможно один из плагинов переназначает вообще шаблон меню, посмотрите, есть ли плагины сделанные до версии 0.4.1? тогда не было хуков и меню переназначали целиком, что вообще есть в верхнем меню кроме моих вещей? статичные страницы работают нормально?
avatar
Да, все нормально остальное работает, плагинов сделанных до версии 0.4.1 нет.
avatar
Я раскрыл всемирный заговор :)

Оказывается автор плагина, перепутал местами архивы. И залил их неправильно. Отсюда народ и мучается!

Тоесть, если перейти в каталог и обратить внимание на описание плагина, то мы увидим что написано, что залита «Версия 0.2.0». А при скачке естественно отдается «версия 0.1.1»

А вот «Версия 0.2.0» лежит какраз в дропбоксе.

Вообщем вот такой вот каламбур :)
  • Loci
  • 0
avatar
Спасибо, совсем другое дело.
avatar
На странице скачки можно выбрать какую версию скачать.
avatar
Спасибо
avatar
Вы только народ путаете. По дефолту скачивается версия 0.1.1 А ведь должна 0.2
avatar
Там есть список версий, выбирайте необходимую.
avatar
Спасибо что указали на явный косяк каталога livestreet, если там держать старые версии файлов вместе с новыми, то по-дефолту почему-то отдаются старые. Я их подтёр, теперь всё из коробочки верно должно быть!
avatar
Ошибка при активации
SQL Error: Duplicate column name 'topic_last_update' at /home/users1/a/artche/domains/ufasmi.ru/engine/classes/Plugin.class.php line 196
Array ( [code] => 1060 [message] => Duplicate column name 'topic_last_update' [query] => ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL [context] => /home/users1/a/artche/domains/ufasmi.ru/engine/classes/Plugin.class.php line 196 )
avatar
Можно включить плагин в ручную. Для этого нужно отредактировать файл \plugins\plugins.dat
И добавить: mystuff

выше уже спрашивали
avatar
побочные эффекты есть?
avatar
эффекты?
avatar
… сори туплю. Читал «подобные эффекты есть?» :)

Да нет… в принципе. Чему там ломаться.

Я сам так включал. Всё работает. Только кнопка «Мои Вещи» не появилась в шаблоне. А если перейти в сайт.ру/mine то всё ок.
avatar
В PluginMystuff.class.php надо закоментировать строку
$this->ExportSQL(dirname(__FILE__).'/dump.sql');

и всё заработает
avatar
С NiceURL я так понимаю плагин не подружили?
В моих вещах ссылка на любой топик заканчивается как /.html
Тоесть кусок ссылки просто выпадает
Куда копать?
  • phake
  • 0
avatar
Ты просто молодец, Алексей Clops! Будем ставить!
  • Covax
  • 0
avatar
Кто-то уже подружил его с NiceURL?
У кого получилось — отпишитесь.
avatar
Notice: Undefined index: 309 in /plugins/mystuff/classes/modules/topic/mapper/Topic.mapper.class.php on line 100

Вот такая вот ошибка появляется, когда удалишь топик который у тебя есть в моих вещах…
  • Guf
  • 0
avatar
Поделитесь пожалуйста опытом, как Вы запускали этот плагин на 0,42 версии
avatar
А можно сделать так чтобы отображались только те топики, где отметился сам юзер, но не его друзья? А то если друзей много, то вываливается огромный список постов, да еще и постраничности нет, и вся радость от плагина улетучивается :)
avatar
У меня выдал

      [ERROR:clasLoad] ModuleMystuff
      File not found: /адрес папки сайта на сервере/public_html/classes/modules/mystuff/Mystuff.class.php

      Fatal error: Class 'PluginMystuff_ModuleModuleMystuff' not found in /адрес папки сайта на свервере/public_html/engine/classes/Engine.class.php on line 16


Эх, грущу. :(
avatar
Кто-то уже подружил его с NiceURL?
У кого получилось — отпишитесь.
avatar
Кто-то уже подружил его с NiceURL?
У кого получилось — отпишитесь
avatar
в plugins/mystuff/classes/modules/topic.class.php
унаследуйся от PluginNiceurl_ModuleTopic вместо ModuleTopic
avatar
Fatal error: Class 'PluginMystuff_ModuleTopic' not found in /home/vhosts/qday.pro/httpdocs/engine/classes/Engine.class.php on line 162
avatar
ну я попробовал на другом сайте, где не делал никах извращений
класс Topic.class.php (/plugins/mystuff/classes/modules/topic
) имеет следующий вид:

<?php

    /*********************************************************
    *
    * @author Kulikov Alexey <ak@essentialmind.com>
    * @copyright essentialmind gmbh
    * @since 2010-07-01
    *
    *********************************************************/
    class PluginMystuff_ModuleTopic extends PluginNiceurl_ModuleTopic {
        
        /***
         *  Use a Custom Mapper
         ***/
        public function Init() {		
            parent::Init(); //init all parent stuff
            $this->oMapperTopic = Engine::GetMapper('PluginMystuff_ModuleTopic'); //this is essential, otherwise the default mapper is used, which we do not want
            $this->oMapperTopic->SetUserCurrent($this->oUserCurrent);
        }
        
        
        /***
         *  From the list of Marked topics for mystuff narrow the list down to new topics only
         ***/
        public function GetOnlyUnreadTopicsFromList(Array $topicList){
            return $this->oMapperTopic->GetOnlyUnreadTopicsFromList($topicList);
        }
	
    }
    


и всё сразу заработало.
avatar
А на лепре показывается число новых сообщений в «моих вещах». Плагин этого не умеет или я недонастроил?
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.