Система переписки 2.0 для InstantCMS 1.10.3

2072
Здравствуйте.

Представляю разработку для замены стандартной переписки InstantCMS под версию движка 1.10.3.
Главные изменения с прошлой версии - адаптация к 1.10.3, работа над версткой и стилями, добавления видео с youtube и компонент для переписки на странице без всплывающего окна.

Обновление бесплатное для всех обладателей предыдущей версии.

""
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.



Основные возможности

1. ведение переписки во всплывающем окне
2. Отправка приглашения в друзья
3. Подтверждение дружбы
4. Добавление в черный список. После добавления кого-то, вы не будете получать от него сообщения.
5. Отправка файлов.
6. Отправка фото как с загрузкой с локального компьютера, так и по ссылке с web
7. Просмотр списка администраторов или модераторов из меню переписки.
8. Уведомление о новом сообщении в виде vk window. Можно отключить в админке.
9. Массовая отправка сообщений для администраторов. С опцией "отправлять уведомление на email". Сообщение можно разослать либо от своего имени, либо от имени "Службы рассылки".
10. При получении нового сообщения меняется заголовок страницы - как в одноклассниках. Работает если окно переписки закрыто.
11. Функция "друзья друга" - возможность увидеть список друзей выбранного юзера.
12. Всплывающая подсказка при наведении на аватар юзера в списке контактов.
13. отправка видео с youtube.
14. Индивидуальная настройка цветовой гаммы для каждого пользователя.
15. +Компонент для ведения переписки на странице сайта (ссылка из меню, нужно авторизоваться) .

Требования

Ioncube loader 4.2+

Демо

Демо Портал Сочи на 1.10.3

тестовые аккаунты:
user1 123123
user2 123123

Реквизиты для оплаты

1а. webmoney R349609993185
1б. webmoney Z250178014540, по курсу на день платежа.
2. Яндекс.Деньги 410011705739849

email для связи - sutuny собака gmail точка com
в комментарии, пожалуйста, пишите электронную почту и фразу "оплата за переписку". Чтобы можно было без проблем идентифицировать платеж. Если этих вариантов оплаты мало - пишите, можно и еще что-то придумать)

Стоимость до 10 декабря включительно (до 23:59 10,12,2013) - 600руб

Скидка 10% постоянным покупателям работает.
С 11 декабря цена вернется до 900руб.

Убедительная просьба перед покупкой установить к себе на сайт и проверить работоспособность на своем сервере.

В архиве версия, которая работает до 31.12.2013 без ограничений. С января 2014 года будет работать только под администратором. Если вам нужна такая переписка только для админа - покупать не нужно.

Инструкция

0. Если у вас уже куплена версия - сохраните свой файл plugins\p_ajaxmessages\ajax\config.php и после распаковки верните его обратно.
1. Положить архив в корень сайта.
Внимание! В архиве изменены файлы шаблона com_users_profile.tpl и mod_usermenu.tpl. Если ваши файлы отличаются от стардартных, вам нужно будет вносить изменения вручную (дальше напишу подробней).
2. Распаковать. Если шаблон отличается от дефолта - вручную закинуть в свой шаблон файлы com_users_profile.tpl и mod_usermenu.tpl.
3. Установить права на запись на папку upload/ajaxmessages - для загрузки файлов и фото
4. Установить в админке плагин и компонент (опционально).
После этого на сайте открыть из меню пользователя ссылку "Сообщения" - должно открыться всплывающее окно.

Инструкция для ручного изменения файлов шаблона

1а. открыть файл ВАШ_ШАБЛОН/modules/mod_usermenu.tpl
1б. найти блок <span class="my_messages"> и привести к такому виду
Код PHP:
  1.  
  2. {if $users_cfg.sw_msg}
  3. <span class="my_messages">
  4. {if $newmsg.total}
  5. <a onclick="d_pm({$id});return false;" class="has_new" href="#" title="{$LANG.NEW_MESSAGES}: {$newmsg.messages}, {$LANG.NEW_NOTICES}: {$newmsg.notices}">{$LANG.USERMENU_MESS} ({$newmsg.total})</a>
  6. {else}
  7. <a onclick="d_pm({$id});return false;" href="#">{$LANG.USERMENU_MESS}</a>
  8. {/if}
  9. </span>
  10. {/if}
  11.  
2а. Открыть файл ВАШ_ШАБЛОН/components/com_users_profile.tpl
2б. Найти блок
Код PHP:
  1.  
  2. <tr>
  3. <td><img src="/templates/{template}/images/icons/profile/message.png" border="0"/></td>
  4. <td><a class="ajaxlink" href="javascript:void(0)" title="{$LANG.WRITE_MESS}: {$usr.nickname|escape:'html'}" onclick="users.sendMess('{$usr.id}', 0, this);return false;">{$LANG.WRITE_MESS}</a></td>
  5. </tr>
  6.  
  7.  
И добавить сразу после него (это ссылка на открытие переписки из профиля другого пользователя)
Код PHP:
  1.  
  2. <tr>
  3. <td><img src="/templates/{template}/images/icons/profile/ajaxmessages.png" border="0"/></td>
  4. <td><a class="ajaxlink" href="javascript:void(0)" title="Переписка: {$usr.nickname|escape:'html'}" onclick="d_pm('{$usr.id}');return false;">Переписка</a></td>
  5. </tr>
  6.  
  7.  
2в Найти блок
Код PHP:
  1.  
  2. <tr>
  3. <td><img src="/templates/{template}/images/icons/profile/message.png" border="0"/></td>
  4. <td><a href="/users/{$usr.id}/messages.html" title="{$LANG.MY_MESS}">{$LANG.MY_MESS}</a></td>
  5. </tr>
  6.  
  7.  
и привести к виду
Код PHP:
  1.  
  2. <tr>
  3. <td><img src="/templates/{template}/images/icons/profile/message.png" border="0"/></td>
  4. <td><a href="javascript:void(0)" onclick="d_pm('{$usr.id}');return false;" title="{$LANG.MY_MESS}">{$LANG.MY_MESS}</a></td>
  5. </tr>
  6.  
  7.  

Для открытия переписки с нужным пользователем (например, можно добавить такие ссылки в модули или другие компоненты)

1. во всплывающем окне
нужно добавить ссылку
Код PHP:
  1. <a href="javascript:void(0)" onclick="d_pm(555);return false;" title="Переписка с юзером 555">Переписка с юзером 555</a>
где 555 - это id нужного пользователя.

2. на странице компонента ajaxmessages
нужно добавить ссылку
Код PHP:
  1. <a href="/ajaxmessages/555" title="Переписка с юзером 555">Переписка с юзером 555</a>

Скачать

архив для скачивания


архив один для всех - как для новых пользователей, так и для тех, кто хочет обновить уже купленную старую версию.

ps все найденные баги по традиции будут исправлены в течение одной-двух недель


UPD 07.12.2013 18:13 Исправлена ошибка при отправке ссылок, архив обновлен
Кто уже ставил - вот патч, /users/files/download4004.html - нужно закинуть в корень сайта и разархивировать, там один файл dc.php
Проблемы и решения: Релиз | Проблемы и решения: Новая версия
Комментарии (43)
eoleg 30 ноября 2013 в 19:12 +1
а у кого была под старые версии платное обновление?
SJen 30 ноября 2013 в 19:14 +1
обновление бесплатно
сейчас где-нибудь добавлю, на видном месте
Smith 1 декабря 2013 в 15:56 0
+ joke
Батосай 30 ноября 2013 в 19:26 +1
SJen, спасибо за обновление, но я правильно понимаю, что раз у меня "ionCube PHP Loader v4.2.2", то у меня переписка работать не будет?
SJen 30 ноября 2013 в 19:41 +2
обновил пост и добавил архив для ionCube PHP Loader v4.2.2
Батосай 30 ноября 2013 в 20:19 0
Премного благодарен! С меня + smile
Игорь 1 декабря 2013 в 00:45 0
SJen, у меня на петерхосте стоит ionCube PHP Loader v4.0.10,попросил их версии повыше, отказали..
петерхост:
Индивидуальное изменение ПО не производится с нашей стороны, глобальное обновление ionCube также не планируется.
.. На их версии не будет работать?
SJen 1 декабря 2013 в 16:01 +1
будет работать, поправил пост.
требуется PHP Loader v4.0 or greater
WALTERZ 30 ноября 2013 в 20:42 +1
У меня на 1.9 то толком не работает до сих пор
Батосай 30 ноября 2013 в 20:46 0
Покупал ранее на 1.10.1 работало на ура, на 1.10.2 тоже работало, а на 1.10.3 слетела полностью. Эту версию буду ставить уже завтра, думаю, как и прежде всё будет работать как надо smile
SJen 30 ноября 2013 в 20:48 0
то что старая версия на 1.10.3 слетела - это вполне логично, любая разработка слетела бы - 1.10.3 очень кардинальное обновление.
SJen 30 ноября 2013 в 20:51 0
мне сложно одновременно поддерживать разработку для большого количества версий... Тут бы за обновлениями инстанта успеть.
eoleg 30 ноября 2013 в 22:04 0
чтото у меня не открывается окно
SJen 1 декабря 2013 в 08:01 0
С вами разбираемся, подозреваю, что у вас версия под последний куб, а на сайте он 4.2.
Решение - скачать другой архив (по ссылке из поста).
Def 1 декабря 2013 в 01:18 0
отписал в аське по некоторым моментам
Роман 1 декабря 2013 в 07:38 0
когда можно получить обновление?
SJen 1 декабря 2013 в 08:02 0
Вы можете сами скачать и установить, ссылка из поста в самом низу. Инструкция тоже в посте.

Если потребуется помощь, пишите в личку - помогу.
Lobov 1 декабря 2013 в 14:16 0
Привет! подскажи а возможность создания групповых чатов появилась? чтоб выбрать из спискадрузей и общаться сними как в чате? и 2.его можно адаптировать под 1.9?
SJen 1 декабря 2013 в 15:58 0
Про чат в очередной раз задумался, но если бы я за него взялся - обновление было бы нескоро.. Так что нет, миничатов в этой версии нет.

Под 1.9 адаптировать.. Возможно получится - как минимум перекодировать нужно, ну и некоторые функции могут отказаться работать - те, что используют функции движка последних версий. На следующей неделе попробую
Lobov 1 декабря 2013 в 17:09 0
спасибо! буду ждать ответа! мне твоя предыдущая версия нравиться пользуюсь ей! если обновить получиться на новую то будет супер!
Роман 1 декабря 2013 в 14:23 0
извиняюсь туплю scratch
Bubble Gumoff 1 декабря 2013 в 15:41 0
Баг. При отправке Файла неправильного расширения .exe - выдало предупреждение (Формат должен быть...), после этого поле вставить файл никуда не уходит и так и висит, из за чего невидно что вводишь в текстовое поле, и также паралельно удалось открыть смайлы и окно цитаты
""
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.
SJen 1 декабря 2013 в 15:55 0
да, возможно, баг
поле не уходит чтобы вы могли выбрать другой файл для отправки. А закрыть его можно повторным кликом на ссылку "+Файл". Закрывается само оно только при успешной загрузке файла. Это сейчас так работает
Bubble Gumoff 1 декабря 2013 в 16:10 0
пробовал повторно -никак не уходит
SJen 1 декабря 2013 в 16:00 0
и также паралельно удалось открыть смайлы и окно цитаты
В этом не вижу каких-то проблем

я вот даже на этом форуме сейчас одновременно открыл поле для выбора фотографии, смайлы и окно цитирования
Bubble Gumoff 1 декабря 2013 в 16:12 0
и правда
Батосай 7 декабря 2013 в 00:00 0
SJen, подскажите пожалуйста, а как можно исправить вот этот баг?
Батосай 7 декабря 2013 в 00:01 0
Извиняюсь, вот скрин:

""
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.
SJen 7 декабря 2013 в 01:55 +1
Можно уменьшить отступ справа, 238 строка файла plugins/p_ajaxmessages/css/s.css
Код PHP:
  1.  
  2. .buttonsend {
  3. float: right;
  4. height: 75%;
  5. margin-bottom: 1px;
  6. margin-right: 20px;
  7. text-align: center;
  8. width: 53px;
  9. }
Батосай 7 декабря 2013 в 12:50 0
Какие-то странности возникли. Ваш вариант не помог, к сожалению, более того, никаких изменений не было, даже если удалить этот файл.
Батосай 7 декабря 2013 в 13:38 0
Всё! Спасибо! Этот баг устранился, проверил через другие браузеры.

п.с. не почистил куки у двух браузеров, вот ошибка и оставалась.
Батосай 7 декабря 2013 в 12:52 0
Нашёл новый баг:

Вставляете в переписке ссылку (проверил, на демо тоже проблема), а на выходе получается проблема, пример:

Вставляю ссылку и отправляю: http://sochy.pechenuka.ru/users/user1

Отправляется такая ссылка: http://sochy.pechenuka.ru/users/5/-aHR0cDovL3NvY2h5LnBlY2hlbnVrYS5ydS91c2Vycy91c2VyMQ==

Точно такая же ошибка и на моём сайте...
Алфей 7 декабря 2013 в 13:19 0
У меня тоже подтверждается этот баг.
SJen 7 декабря 2013 в 18:17 +1
Поправил, архив перезалил.
Тем, у кого уже стоит переписка - подготовил патч, скачать. Нужно положить в корень сайта и разархивировать, заменится один файл.
Батосай 8 декабря 2013 в 01:28 0
А вот с патчем теперь всё заработало, спасибо dance
Principal 22 декабря 2013 в 10:02 0
А купить еще можно?
Principal 24 декабря 2013 в 05:35 0
Купил, получил, запустил, все работает на ура! Спасибо!
Александр 1 февраля 2014 в 12:06 0
Хелп, пока автор в засаде smile Может кто сталкивался и решил или может это только у меня так, в общем система переписки не сечёт онлайн пользователь или нет и моментально отсылает письмо на почту о новом сообщении, а проблема в том что если люди активно переписываются то у них на почте по куче сообщений о новом сообщении, люди жалуются да и мой хостинг не резиновый, есть предел по 500 штук сообщений на почту в час и 2500 в сутки...

з.ы. Если отсылать через стандартную систему переписки то всё гуд, отправляются по правилам инстанта или не отправляюся если пользователь его прочитал
Колян 22 февраля 2014 в 05:41 +1
scratch
""
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.
Alon 19 марта 2014 в 16:23 0
Оно подходит для 1,10,1 версии?
ValeraK 21 мая 2014 в 16:21 0
Интересно если только у меня так, сообщения не удаляются сразу при нажатии крестика, необходимо выключить переписку и зайти в него заново что б окно с сообщениями обновилось. Второй момент, при нажатии "показать меню" и выпадании списка меню, логично чтоб надпись поменялась на "скрыть меню". Ну и в третьих, хотелось чтоб при клике на затемненную область (не знаю как ее назвать правильно) вокруг окна переписки, окно закрывалось) Остальное отписался в личку, скорее всего это у меня конфликты какие то. Буду дальше тестировать может еще че найду.
SJen 21 мая 2014 в 20:22 0
Ну и в третьих, хотелось чтоб при клике на затемненную область (не знаю как ее назвать правильно) вокруг окна переписки, окно закрывалось

Это хотелка, но если так сделать, то есть риск потерять многобуквенное еще не отправленное сообщение всего лишь раз промазав мимо окна. При открытии заново окно обновится полностью и сообщение потеряется.

сообщения не удаляются сразу при нажатии крестика
Можно посмотреть на демо как должно быть - у вас конфликт javascript (демо тут)

. Второй момент, при нажатии "показать меню" и выпадании списка меню, логично чтоб надпись поменялась на "скрыть меню"
Сейчас текст ссылки не меняется, так оно работает.

Я еще подготовлю обновление, в том числе и для двойки
ValeraK 22 мая 2014 в 12:45 0
есть риск потерять многобуквенное еще не отправленное сообщение всего лишь раз промазав мимо окна
Согласен что это в основном хотелки, но можно учесть что если сообщение не отправлено появиться окно с предупреждением, а так создается ощущение что если экран затемнен то можно его закрыть кликом на затемненную область, но при клике ничего не происходит и это причиняет небольшой дискомфорт что везде так а здесь не так, имхо)
Сейчас текст ссылки не меняется, так оно работает
Просьба учесть этот момент при обновлении, мы же только за улучшения юзабилити