Yii2Private messages, simple chat
This repository has been archived on 2024-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2015-06-08 10:05:25 +03:00
actions done 2015-06-06 17:29:04 +03:00
assets done 2015-06-06 17:29:04 +03:00
components done 2015-06-06 17:29:04 +03:00
css done 2015-06-06 17:29:04 +03:00
events add actions, component, events, exception 2015-05-22 12:55:17 +03:00
exceptions add actions, component, events, exception 2015-05-22 12:55:17 +03:00
js del js 2015-06-06 17:55:13 +03:00
migrations add actions, component, events, exception 2015-06-02 11:33:40 +03:00
models add js 2015-06-02 18:04:50 +03:00
widgets fix widget 2015-06-06 18:05:15 +03:00
.gitignore add actions, component, events, exception 2015-06-02 11:51:24 +03:00
composer.json Add readme 2015-06-06 17:53:10 +03:00
README.md fix doc 2015-06-08 10:05:25 +03:00

Private messages

Private messages.Poolling ajax.

Плагин для приватных сообщений. Не требует дополнтьельных плагинов. Обновление сообщений при отправке или в фоне каждые 30 секунд (это можно изменить в "vendor\vision\yii2-private-messages\js\private_mess_pooling.js"). Есть возможность отправлять копию сообщений на email пользователя. Также есть возможность в фоне проверять кол-во новых сообщений + их авторов.

скрин http://prntscr.com/7dt6tf

Установка

Выполните

php composer.phar require --prefer-dist vision/yii2-private-messages "*"

или добавьте в ваш composer.json

"vision/yii2-private-messages": "*"

Использование

После установки расширения необходимо выполнить миграцию:

yii migrate --migrationPath=@vendor/vision/yii2-private-messages/migrations/

Далее прописываем в конфиге:

'components' => [...
        'mymessages' => [
                //Обязательно
            'class'    => 'vision\messages\components\MyMessages',
                //не обязательно
                //класс модели пользователей
                //по-умолчанию \Yii::$app->user->identityClass
            'modelUser' => 'common\models\User',
                //не обязательно
                //имя поля в таблице пользователей которое будет использоваться в качестве имени
                //по-умолчанию username
            'attributeNameUser' => 'username',
                //не обязательно
                //включение возможности дублировать сообщение на email
            'enableEmail' => true,
                //задаем функцию для возврата адреса почты
                //в качестве аргумента передается объект модели пользователя
            'getEmail' => function($user_model) {
                return $user_model->email;
            },            
                //указываем шаблоны сообщений, в них будет передаваться сообщение $message
            'templateEmail' => [
                'html' => 'private-message-text',
                'text' => 'private-message-html'
            ],
                //тема письма
            'subject' => 'Private message'
        ],
    ...]

Для работы достаточно во вьюхе вывести виджет

<?= vision\messages\widgets\PrivateMessageKushalpandyaWidget::widget() ?>