Your IP : 216.73.216.79


Current Path : /var/www/html/chatbot/vendor/thyseus/yii2-message/
Upload File :
Current File : /var/www/html/chatbot/vendor/thyseus/yii2-message/Module.php

<?php
/**
 * This is the main module class for yii2-message.
 *
 * @property array $modelMap
 *
 * @author Herbert Maschke <thyseus@gmail.com>
 */

namespace thyseus\message;

use yii;
use yii\base\Module as BaseModule;
use yii\i18n\PhpMessageSource;

class Module extends BaseModule
{
    const VERSION = '0.3.0-dev';

    public $defaultRoute = 'message/message/inbox';

    /** @var array Model map */
    public $modelMap = [];

    /**
     * @var string The prefix for message module
     *
     * @See [[GroupUrlRule::prefix]]
     */
    public $urlPrefix = 'message';

    /**
     * @var string Should the message be sent to the recipient by email?
     * The user model should have an attribute 'email'. Can be a callback so the recipient can decide
     * if he wants to receive messages e.g.
     * 'mailMessages' => function($recipient) { return $recipient->profile->i_want_to_receive_messages_by_email; }
     */
    public $mailMessages = true;

    /**
     * @var string A string that should be prefixed to the title when answering an message.
     * Defaults to 'Re: ' and can be adjusted for foreign languages, for example 'Aw: ' in german.
     */
    public $answerPrefix = 'Re: ';

    /**
     * @var string Callback that defines which users are not possible to write messages to.
     * Use this if you have restrictions about which user is able to write to whom.
     *
     * For example, to avoid to be able to write message to user id 3, 4 and 5 you could use:
     *
     * 'recipientsFilterCallback' => function ($users) {
     *    return array_filter($users, function ($user) {
     *      return !in_array($user->id, [3, 4, 5]); // or !$user->isAdmin()
     *    });
     *  },
     *
     */
    public $recipientsFilterCallback = null;

    /**
     * @var string The class of the User Model inside the application this module is attached to
     */
    public $userModelClass = 'app\models\User';

    /**
     * @var int The number of seconds that needs to pass until the user gets a reminder that he has
     * new messages.
     */
    public $newMessagesEverySeconds = 3600;

    /**
     * @var string The route that should be used to generate links towards an user.
     * Could be ['//user/profile/view'] for example. The id gets appended automatically.
     */
    public $userProfileRoute = null;

    /** @var array The rules to be used in URL management. */
    public $urlRules = [
        'message/inbox' => 'message/message/inbox',
        'message/ignorelist' => 'message/message/ignorelist',
        'message/sent' => 'message/message/sent',
        'message/compose/to/<to:\d+>/answers/<answers:\d+>' => 'message/message/compose',
        'message/compose/to/<to:\d+>' => 'message/message/compose',
        'message/compose/' => 'message/message/compose',
        'message/delete/<hash:\d+>' => 'message/message/delete',
        'message/<hash:\w+>' => 'message/message/view',
    ];

    public function init()
    {
        if (!isset(Yii::$app->get('i18n')->translations['message*'])) {
            Yii::$app->get('i18n')->translations['message*'] = [
                'class' => PhpMessageSource::className(),
                'basePath' => __DIR__ . '/messages',
                'sourceLanguage' => 'en-US'
            ];
        }

        return parent::init();
    }
}