Лепим на Инстанте Лепру

3113
Лепра никогда не стала бы  культовым ресурсом, если бы не пресловутые инвайты.
Психологически человека манит что-то закрытое, запрещенное, тайное гораздо больше, чем свободное и общедоступное. Также то, что добыто и выстрадано ценится гораздо больше, чем то, что досталось нашару. Таковы общие законы жизни, которые, впрочем, распространяются и на Интернет.
Совершенно естественно, что социальная сеть, где часть функций или прав не являются общедоступными, будет пользоваться бОльшим авторитетом у пользователей.
Благо Инстант позволяет разграничить права доступа. Но... делать это через админку и вручную несколько неудобно.
А если нам захочется какие-то права продавать? Например, право добавлять свой ресурс или предприятие в каталог, либо же право скачать файл и т.д.
А если нам захочется поощрять активных пользователей не виртуальными медальками, а реальными правами доступа?
В общем, система автоматического управления правами пользователей для Инстанта просто просилась...
И напросилась:)

Итак

ИНВАЙТЫ – система автоматического управления правами пользователей для InstantCMS v1.5.3

Компонент позволяет пользователю с определенными правами приглашать других пользователей к ресурсам (функциям) с ограниченным доступом. В сочетании с возможностью самостоятельно менять группу (из числа доступных) это предоставляет пользователям больше свободы и делает систему "более социальной".
Реализуется путем автоматического перевода приглашаемого пользователя в определенную группу(модераторы, редакторы и пр.)
Также при определенном рейтинге(карме) пользователь может получить персональный инвайт для перехода в более "продвинутую" категорию.
Инвайты могут быть как бессрочными, так и ограниченными по времени – каждый раз, когда  пользователь меняет группу он проходит проверку на срок годности инвайта.
Интеграция генератора инвайтов с платежными системами позволит обеспечить временный платный доступ к закрытым ресурсам.
Существует возможность предоставления демонстрационных инвайтов для ознакомления с возможностями группы. Эта функция также может использоваться как система парольных доступов к разделам сайта.
Предусмотрена антихакерская защита позволяющая отслеживать количество ошибок при попытке активации инвайта с одного ip и блокировать доступ пользователя к системе.
В компоненте существует гибкая система настроек через админку и возможность делегировать полномочия по выдаче инвайтов пользователям не являющимся администраторами.  

Компонент полностью совместим с релизом 1.5.3
В компоненте пока реализованы только базовые функции и работа над его совершенствованием будет продолжаться.

С функциями компонента можно на практике ознакомиться на демонстрационном сайте, специально открытом для этих целей - http://instant.animarerum.com

Там же присутствует ссылка на скачивание. Инструкция по установке в архиве. Отрытый код, пояснительные комментарии по коду.

Более подробное описание функций и возможностей в следующих постах.

UPD: Для "прошляпивших время" создан специальный 2-х часовой демо-инвайт с возможностью многократного использования. Достаточно в поле "Введите код инвайта:" написать кодовое слово провтыкал и система должна перевести вас снова в группу "Варяги интернета".
Если на каком-то этапе вообще не можете авторизоваться или активировать инвайт - это может быть защита системы, а возможно и баг. При подозрениях на баги отписывайтесь, пожалуйста, в коментах к этому посту.

UPD2: Устранен баг, из за которого пользователь с просроченным инвайтом не мог зайти в систему.
Архив обновлен!
Те, кто скачал раньше могут просто заменить 2 файла скачав этот архив (закачиваем в корень сайта и распаковываем с заменой)
За помощь в тестировании не забываем благодарить уважаемого Madmax.
.
Техзадание на доп. разработку
Комментарии (33)
Сергей 21 января 2010 в 10:36 0
круто!!!
MDM 21 января 2010 в 11:33 0
Спасибо, мне этого не хватало
0 21 января 2010 в 11:34 0
А как ПС на это смотрят?
neart 21 января 2010 в 11:55 0
Компонент, сам как таковой, абсолютно никак не повлияет на индексацию. На это может повлиять сокрытие материалов от общего доступа.
Закрытые материалы, разумеется, не будут проиндексированы, поскольку у поискового робота не будет прав доступа к ним. Этот недостаток, в принципе, можно обойти способом аналогичным клоакингу (анализировать ip посетителя и поисковым роботам выдавать максимальные права доступа), но такая возможность относится уже не к инвайтам, а скорее к функциям ядра.
L.B.Griffin 21 января 2010 в 11:50 0
Супер! молодец neart, полезный соцкомпонент
MDM 21 января 2010 в 12:03 0
neart, а разве контент в лепре индексируется? Здесь надо понимать для чего используется компонент. Меня например полностью устаревает, то что контент скрыт от поисковиков, так как информация размещённая на сайте предназначена только членам сети (и да - сайт не коммерческий).
neart 21 января 2010 в 12:20 0
Согласен на все 100, но а вдруг кому-то очень нужно, чтобы контент индексировался, а инвайты использовались только, как замануха - тогда выход тот, который я описал выше.
MDM 21 января 2010 в 13:25 0
это да, в любом случае - этот компонент мне, например был очень нужен. Поэтому ещё раз большое спасибо!
neart 21 января 2010 в 14:03 0
Да, пожалуйста, пользуйтесь на здоровье:) Делитесь впечатлениями, высказывайте пожелания по доработкам - постараюсь учесть. Через пару недель или месяц, собираюсь его дополнить. Обновления пусть не пугают - то, что работает меняться не будет. Будут только добавлены новые возможности.
lezginka.ru 21 января 2010 в 19:57 0
neart, большое спасибо,скрипт очень нужный, только замечание gray учтите пожалуйста, иначе хлопот не оберешься с ПС.
neart 21 января 2010 в 20:27 0
Сам скрипт на ПС повлиять не может - он абсолютно ничего не меняет в контенте. Скрипт только переводит пользователей из группы в группу по определенным правилам установленным админом.
0 22 января 2010 в 12:20 0
может включить его в 1.5.4?
forlord 22 января 2010 в 13:53 0
БЫЛО Б НЕ ПЛОХО!
neart 22 января 2010 в 14:03 0
Только ЗА.
Он вполне может заменить неработающий демо-компонент "Встречи"
Madmax 22 января 2010 в 14:29 0
Правильнее - не неработающий - а именно - демо - установленный )))
А что бы включить всё в сборку - надо довести всё до ума и произвести тестовые испытания...
neart 22 января 2010 в 15:45 0
Madmax:
Правильнее - не неработающий - а именно - демо - установленный )))

Оно то может быть и правильнее, только от этого он, все равно, работающим не станет:)
В действительности, очень огорчительно, когда видишь новый интересный компонент, а он оказывается нерабочим. С другой стороны "Инвайтаы" построены полностью на демо-шаблонах с сохранением всех комментариев и добавлением новых. ИМХО, этот компонент гораздо лучше демонстрирует механизм создания новых модулей от начала и до конца. Если в оф.сборку его включить именно запакованным архивом - будет наглядно демонстрироваться весь механизм создания и установки новых компонентов.

Madmax:
А что бы включить всё в сборку - надо довести всё до ума и произвести тестовые испытания...

Довести до ума не сложно, только сначала нужно, именно, произвести тестовые испытания! Именно для этого я и открыл тестовый сайт и именно это я и предложил сообществу на форуме в теме " Тестируем кандидат В релиз 1.5.4 ", но очень мудрый Гадкий модератор счел нужным переименовать тему в [/quote]Компонент "ИНВАЙТЫ" для версии 1.5.3 (если обатить внимание, то последняя строчка заявочного сообщения гласит:"После тестирования и доработки можно будет обратиться к Администратору с предложением включить в оф. релиз.")
Так что лично я только ЗА, чтобы произвести тестовые испытания, и с удовольствием доработаю. Ведь компонент и так на 95% готов (а если исключить некоторые "продвинутые функции", то и на 99%).

Поэтому, уважаемый Madmax, здесь остановка не за мной, а, наверное, за Администрацией (или модерацией). А, со своей стороны, я, как пионер - "всегда готов":), только в силу своего неюного возраста, не люблю "гоняться за зайцем, чтобы ему фотографию отдать":)
InstantCMS 22 января 2010 в 16:11 0
neart, пока не вижу никаких препятствий чтобы включить ваш компонент в дистрибутив
давайте народ обкатает до выхода 1.5.4, если все будет нормально - включим
neart 22 января 2010 в 16:46 0
Администратор:
давайте народ обкатает до выхода 1.5.4, если все будет нормально - включим
Именно это я и хотел сказать:)
Только,наверное, нужно официально объявить, мол, народ, давайте обкатаем, чтобы можно было в сборку включить - там, как минимум, нужно удаление инвайтов доделать, и "награждение" инвайтами желательно... А какие еще пожелания?! Обратная связь по текстовкам нужна и т.д.
Не для себя здесь стараюсь. Писал для своих задач, но мне он подходит в таком виде на все 100.
Мне, пока, только "спасибо" пишут (за это тоже всем спасибо), а еще хочется пожелания увидеть и учесть по возможности.
InstantCMS 22 января 2010 в 16:14 0
по поводу переименования темы - считаю что модератор поступил правильно
пока 1.5.4 не объявлен официально, говорить о нем не стоит, чтобы не сбивать людей с толку
neart 24 января 2010 в 23:21 0
Устранен баг, из за которого пользователь с просроченным инвайтом не мог зайти в систему.
Архив обновлен!
Те, кто скачал раньше могут просто заменить 2 файла скачав этот архив (закачиваем в корень сайта и распаковываем с заменой)
За помощь в тестировании не забываем благодарить уважаемого Madmax.
0 27 января 2010 в 09:28 0
Отличный компонент!!!Надо развивать его.
lezginka.ru 27 января 2010 в 14:20 0
еще раз хочу  поблагодарить  neart, за столь полезный компонент, думаю все пользователи инстанта так думают. будем ждать новых "наваротов" этого компонента.
neart 28 января 2010 в 14:00 0
Олег:
Надо развивать его.
lezginka.ru:
будем ждать новых "наваротов" этого компонента
С радостью разовьем и навернем:) только было бы неплохо узнать пожелания и замечания. Например, там есть неудобство, что в админке при выборе группы отражается не ее название, а псевдоним. (Изначально предполагалось, что группа может состоять из подгрупп, которые называются одинаково, а рядовые участники, редакторы и модераторы этой группы имеют разные псевдонимы) Но практика показывает, что это не удобно.
Какие еще изменения и/или дополнения, на ваш взгляд, друзья, стоит внести?
0 30 января 2010 в 04:10 0
Подскажите,удаление активных,неактивных инвайтов,а также удаление категорий не предусмотренно?И при запрете мигации всё равно остаётся вкладка смена групп с активными ссылками.
neart 31 января 2010 в 03:14 0
Удаление инвайтов будет доступно в финальной версии. Для категорий можно пока пользоваться отключением вместо удаления. Ведь категорию все равно нельзя будет удалить пока будут активны относящиеся к ней инвайты. Если очень нужно, то пока можно удалять записи (инвайты) в базе через пхпмайадмин. Таблицы относящиеся к инвайтам начинаются на cms_inv_...
При запрете миграции вкладка смены групп с активными ссылками должна быть видна только тем пользователям, которые имеют активные инвайты в админские группы (настраивается при администрировании групп) Сделано это для того, чтобы участник административной группы случайно не потерял своих прав доступа, активировав инвайт в "младшую" группу, а оценивать степень "старшинства" прупп практически невозможно, поскольку у каждого могут быть свои критерии "старшинства" в зависимости от возможностей.
Рядовые пользователи (не админы), по идее, НЕ должны видеть вкладку и ссылки смены групп при отключенной миграции.
Если Вам нужны особые сценарии (функции) в управлении инвайтами - напишите в коментах. Все пожелания постараюсь учесть при доработке компонента, если, конечно, это будет вписываться в общую концепцию.
lezginka.ru 31 января 2010 в 13:09 0
neart, после исправлений, архив меняется или всегда нужно файлы("2 файла скачав этот архив") "поверх" залить ?
neart 31 января 2010 в 16:37 0
Сейчас архив новый (с исправлениями). "2 файла" для тех, кто скачал раньше, чтобы не заливать повторно весь архив.
Димитриус 10 марта 2010 в 22:36 0
Есть новые версии?)
0 10 марта 2010 в 22:55 0
Новый версии будут очень скоро, но они будут уже в рамках клуба любителей инстант. Если интересно чуть позже сможете получить информацию по этому вопросу.
neart 10 марта 2010 в 23:11 0
Не знаю, какие там новые версии готовит уважаемый  maxisoft, надеюсь он со мной тоже поделится:), но со своей стороны пока ничего не планировал. Для моих личных нужд потенциала заложенного в компоненте пока хватает на 300%, а каких-либо существенных новых пожеланий тусовка не высказывала. Зачем, спрашивается, и, главное, кому нужны новые версии? Что в эти версии нужно включить? Будут пожелания - сделаю, если maxisoft не опередит:)
P.S. maxisoft я не против, если чо.
Димитриус 11 марта 2010 в 00:56 0
Дополню тогда:) Есть награды в константе. Когда человек набирает определенное количество сообщений. Ему выдается награда в виде когда для активации инвайта. Естественно инвайт генерируется и является разовым
neart 11 марта 2010 в 01:26 0
Дык энто в инвайтах и так, кагбе заложено. Не реализовано, правда, в демо-версии, пока. Ну это когда еще новые идеи появятся - все скопом и закончу. Только здесь есть один маленький нюанс. Пока в ядре системы достаточно мало прописано событий, на которые можно настроиться. Если я самостоятельно внесу код в ядро, то после следующего обновления ряд функций компонента перестанет работать. Так что здесь все мы зависим от воли Создателя:)
Димитриус 11 марта 2010 в 01:40 0
Если запарится то мона написать и без внесения изменений))) Есть тока в голове алгоритм но получится очень мутарно. Примерно так. Компонент может слидить за рейтингом? Можно простым запросом. Можно запросом узнать количество сообщений комментариев.... и т.д.
Но, факт что лучше подождать дополнения событий это да))) А то вдруг все заново придется переписывать.. хотя все равно придется))