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

+36
2.87K
Здравствуйте.

Представляю разработку для замены стандартной переписки 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"> и привести к такому виду
  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б. Найти блок
  1.  
  2. <tr>
  3. <td><img src="/templates/{template}/images/icons/profile/message.png" /></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.  
И добавить сразу после него (это ссылка на открытие переписки из профиля другого пользователя)
  1.  
  2. <tr>
  3. <td><img src="/templates/{template}/images/icons/profile/ajaxmessages.png" /></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в Найти блок
  1.  
  2. <tr>
  3. <td><img src="/templates/{template}/images/icons/profile/message.png" /></td>
  4. <td><a href="/users/{$usr.id}/messages.html" title="{$LANG.MY_MESS}">{$LANG.MY_MESS}</a></td>
  5. </tr>
  6.  
  7.  
и привести к виду
  1.  
  2. <tr>
  3. <td><img src="/templates/{template}/images/icons/profile/message.png" /></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. во всплывающем окне
нужно добавить ссылку
  1. <a href="javascript:void(0)" onclick="d_pm(555);return false;" title="Переписка с юзером 555">Переписка с юзером 555</a>
где 555 — это id нужного пользователя.

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

Скачать

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


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

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


UPD 07.12.2013 18:13 Исправлена ошибка при отправке ссылок, архив обновлен
Кто уже ставил — вот патч, instantcms.ru/users/files/download4004.html — нужно закинуть в корень сайта и разархивировать, там один файл dc.php
+1
eoleg eoleg 11 лет назад #
а у кого была под старые версии платное обновление?
+1
SJen SJen 11 лет назад #
обновление бесплатно
сейчас где-нибудь добавлю, на видном месте
0
Smith Smith 11 лет назад #
+ joke
+1
Батосай Батосай 11 лет назад #
SJen, спасибо за обновление, но я правильно понимаю, что раз у меня "ionCube PHP Loader v4.2.2", то у меня переписка работать не будет?
+2
SJen SJen 11 лет назад #
обновил пост и добавил архив для ionCube PHP Loader v4.2.2
0
Батосай Батосай 11 лет назад #
Премного благодарен! С меня + smile
0
Игорь Игорь 11 лет назад #
SJen, у меня на петерхосте стоит ionCube PHP Loader v4.0.10,попросил их версии повыше, отказали..
петерхост:
Индивидуальное изменение ПО не производится с нашей стороны, глобальное обновление ionCube также не планируется.
.. На их версии не будет работать?
+1
SJen SJen 11 лет назад #
будет работать, поправил пост.
требуется PHP Loader v4.0 or greater
+1
WALTERZ WALTERZ 11 лет назад #
У меня на 1.9 то толком не работает до сих пор
0
Батосай Батосай 11 лет назад #
Покупал ранее на 1.10.1 работало на ура, на 1.10.2 тоже работало, а на 1.10.3 слетела полностью. Эту версию буду ставить уже завтра, думаю, как и прежде всё будет работать как надо smile
0
SJen SJen 11 лет назад #
то что старая версия на 1.10.3 слетела - это вполне логично, любая разработка слетела бы - 1.10.3 очень кардинальное обновление.
0
SJen SJen 11 лет назад #
мне сложно одновременно поддерживать разработку для большого количества версий... Тут бы за обновлениями инстанта успеть.
0
eoleg eoleg 11 лет назад #
чтото у меня не открывается окно
0
SJen SJen 11 лет назад #
С вами разбираемся, подозреваю, что у вас версия под последний куб, а на сайте он 4.2.
Решение - скачать другой архив (по ссылке из поста).
0
Def Def 11 лет назад #
отписал в аське по некоторым моментам
0
Роман Роман 11 лет назад #
когда можно получить обновление?
0
SJen SJen 11 лет назад #
Вы можете сами скачать и установить, ссылка из поста в самом низу. Инструкция тоже в посте.

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

Под 1.9 адаптировать.. Возможно получится - как минимум перекодировать нужно, ну и некоторые функции могут отказаться работать - те, что используют функции движка последних версий. На следующей неделе попробую
0
Lobov Lobov 11 лет назад #
спасибо! буду ждать ответа! мне твоя предыдущая версия нравиться пользуюсь ей! если обновить получиться на новую то будет супер!
0
Роман Роман 11 лет назад #
извиняюсь туплю scratch
0
Bubble Gumoff Bubble Gumoff 11 лет назад #
Баг. При отправке Файла неправильного расширения .exe - выдало предупреждение (Формат должен быть...), после этого поле вставить файл никуда не уходит и так и висит, из за чего невидно что вводишь в текстовое поле, и также паралельно удалось открыть смайлы и окно цитаты
""
0
SJen SJen 11 лет назад #
да, возможно, баг
поле не уходит чтобы вы могли выбрать другой файл для отправки. А закрыть его можно повторным кликом на ссылку "+Файл". Закрывается само оно только при успешной загрузке файла. Это сейчас так работает
0
Bubble Gumoff Bubble Gumoff 11 лет назад #
пробовал повторно -никак не уходит
0
SJen SJen 11 лет назад #
и также паралельно удалось открыть смайлы и окно цитаты
В этом не вижу каких-то проблем

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

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

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

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

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

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

Точно такая же ошибка и на моём сайте...
0
Алфей Алфей 11 лет назад #
У меня тоже подтверждается этот баг.
+1
SJen SJen 11 лет назад #
Поправил, архив перезалил.
Тем, у кого уже стоит переписка - подготовил патч, скачать. Нужно положить в корень сайта и разархивировать, заменится один файл.
0
Батосай Батосай 11 лет назад #
А вот с патчем теперь всё заработало, спасибо dance
0
Principal Principal 11 лет назад #
А купить еще можно?
0
Principal Principal 10 лет назад #
Купил, получил, запустил, все работает на ура! Спасибо!
0
Александр Александр 10 лет назад #
Хелп, пока автор в засаде smile Может кто сталкивался и решил или может это только у меня так, в общем система переписки не сечёт онлайн пользователь или нет и моментально отсылает письмо на почту о новом сообщении, а проблема в том что если люди активно переписываются то у них на почте по куче сообщений о новом сообщении, люди жалуются да и мой хостинг не резиновый, есть предел по 500 штук сообщений на почту в час и 2500 в сутки...

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

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

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

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

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

Еще от автора

Обновление компонента "Мне нравится"
Приветствую. Закончил версию с исправлением ошибок и багов, всем пользователям обновление выслано на электронку.
Обновление компонента  "Каталог дополнений в админку"
Приветствую. Обновление самого популярного аддона из официального каталога дополнений.
Обновленный парсер Яндекс.Карт
Приветствую Изменения довольно значительны, поэтому имеет смысл оформить их отдельным постом.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.