Пример #1
0
 public function execute($event, $user)
 {
     parent::execute();
     $inCore = cmsCore::getInstance();
     $inUser = cmsUser::getInstance();
     $inCore->loadModel('usermaps');
     $model = new cms_model_usermaps();
     $catalogs = array();
     $user_id = $user['id'];
     $limit = $this->config['Количество объектов'];
     $steep = $this->config['Квадрат поиска в метрах'];
     $have_point = $model->getUserPlace($user_id);
     if ($have_point) {
         $points = $model->getArround($have_point['id']);
     }
     ob_start();
     if ($have_point and $inUser->id == $user_id) {
         $smarty = $this->inCore->initSmarty('plugins', 'p_places_sosedi.tpl');
         $smarty->assign('total', count($points));
         $smarty->assign('points', $points);
         $smarty->display('p_places_sosedi.tpl');
     }
     $html = ob_get_clean();
     return $html;
 }
Пример #2
0
 public function __construct()
 {
     $this->info['plugin'] = 'p_related_posts';
     $this->info['title'] = 'Похожие записи в блогах';
     $this->info['description'] = 'Добавляет в конец каждого поста список похожих записей';
     $this->info['author'] = 'Pasha && InstantCMS Team';
     $this->info['version'] = '1.0';
     $this->info['published'] = '1';
     $this->events[] = 'GET_POST';
     $this->config['search_mode'] = 2;
     // Режим поиска по титлам и контенту
     $this->config['tags_mode'] = 1;
     // Режим поиска по тегам
     $this->config['add_mode'] = 1;
     // Дополнение предыдущими-следующими
     $this->config['limit'] = 4;
     // Количество похожих блогов
     $this->config['truncate'] = 200;
     // Кол-во символов после которого текст будет обрезан
     $this->config['blank_photo'] = 'no_image.png';
     // Путь к изображению-заглушке
     $this->config['cash_time'] = 24;
     // Время жизни кеша в часах
     parent::__construct();
 }
Пример #3
0
 public function __construct()
 {
     global $_LANG;
     $this->info = array('plugin' => 'p_ckeditor', 'title' => 'CKEditor', 'description' => $_LANG['CK_DESCRIPTION'], 'author' => 'InstantCMS Team', 'version' => '4.4.5', 'published' => 1, 'plugin_type' => 'wysiwyg');
     $this->events = array('INSERT_WYSIWYG');
     parent::__construct();
 }
Пример #4
0
    /**
     * Обработка событий
     * @param string $event
     * @param mixed $item
     * @return mixed
     */
    public function execute($event='', $item=array()) {
        parent::execute();

        switch ($event) {
            case 'ADD_POST_DONE':
                $pageURL = HOST . $item['seolink'];
                $feedURL = HOST . '/rss/blogs/all/feed.rss';
                $this->ping($pageURL, $feedURL);
            break;

            case 'ADD_ARTICLE_DONE':
                $pageURL = HOST .'/'. $item['seolink'] .'.html';
                $feedURL = HOST . '/rss/content/all/feed.rss';
                $this->ping($pageURL, $feedURL);

            case 'ADD_BOARD_DONE':
                $pageURL = HOST . '/board/read'.$item['id'].'.html';
                $feedURL = HOST . '/rss/board/all/feed.rss';
                $this->ping($pageURL, $feedURL);

            break;
        }

        return $item;
    }
Пример #5
0
 public function execute($event, $data)
 {
     parent::execute();
     switch ($event) {
         case 'PRINT_PAGE_HEAD':
             return $this->animateNewMsg($data);
     }
     return $data;
 }
Пример #6
0
 /**
  * Обработка событий
  * @param string $event
  * @param array $user
  * @return html
  */
 public function execute($event, $user)
 {
     parent::execute();
     $inCore = cmsCore::getInstance();
     $inDB = cmsDatabase::getInstance();
     $inUser = cmsUser::getInstance();
     $inCore->loadModel('notes');
     $model = new cms_model_notes();
     $select_tag = 0;
     $page = 1;
     $t = "";
     $color = "";
     $cfg = $inCore->loadComponentConfig('notes');
     if (!isset($id)) {
         $login = $inCore->request('login', 'str', '');
         $login = urldecode($login);
         $id = $inDB->get_field('cms_users', "login='******' ORDER BY is_deleted ASC", 'id');
     }
     $myprofile = $inUser->id == $id;
     if (!$myprofile) {
         return;
     }
     ob_start();
     ///////////////////////////////
     if (!isset($cfg['perpage'])) {
         $cfg['perpage'] = 10;
     }
     $posts_list = $model->getAllPosts($page, $cfg['perpage'], $select_tag, $t, $color);
     if ($posts_list) {
         foreach ($posts_list as $post) {
             $post['datetime'] = $inCore->dateFormat($post['datetime'], 1, 0, 1);
             if (!empty($post['type'])) {
                 $sql = "select * from `cms_notes_color` where `id`='" . $post['color'] . "';";
                 $result = $inDB->query($sql);
                 if ($inDB->num_rows($result)) {
                     $color = $inDB->fetch_assoc($result);
                     $post['status'] = "<a href='/notes/" . $post['type'] . "/" . $post['color'] . "/' style='background: " . $color['color'] . ";border-radius: 3px;color: " . $color['font_color'] . ";display: inline-block;height: 19px;margin: 5px 3px 2px 2px;outline: #FFFFFF 0px;padding: 1px 4px;text-decoration: none;text-indent: 0px;vertical-align: middle;white-space: nowrap;'>" . $post['type'] . "</a>";
                 } else {
                     $post['status'] = "<a href='/notes/" . $post['type'] . "/' style='background: #E6E6E6;border:1px solid #e1e1e1;padding:5px;border-radius: 8px;border-radius: 3px;color:#333333;text-shadow: #FFFFFF 1px 1px 0px;display: inline-block;height: 19px;margin: 5px 3px 2px 2px;outline: #FFFFFF 0px;padding: 1px 4px;text-decoration: none;text-indent: 0px;vertical-align: middle;white-space: nowrap;cursor:pointer;'>" . $post['type'] . "</a>";
                 }
             }
             $posts[] = $post;
         }
     }
     $smarty = $inCore->initSmarty('plugins', 'p_usernotes.tpl');
     $smarty->assign('is_posts', (bool) sizeof($posts_list));
     $smarty->assign('mark', $model->getMarks());
     $smarty->assign('pagetitle', "Ваши минизаписки");
     if ($posts) {
         $smarty->assign('posts', $posts);
     }
     $smarty->display('p_usernotes.tpl');
     ///////////////////////////////
     $html = ob_get_clean();
     return $html;
 }
Пример #7
0
 /**
  * Обработка событий
  * @param string $event
  * @param mixed $item
  * @return mixed
  */
 public function execute($event = '', $item = array())
 {
     parent::execute();
     switch ($event) {
         case 'GET_ARTICLE':
             $item = $this->eventGetArticle($item);
             break;
     }
     return $item;
 }
Пример #8
0
 /**
  * Обработка событий
  * @param string $event
  * @param array $user
  * @return html
  */
 public function execute($event = '', $user = array())
 {
     global $_LANG;
     $this->info['tab'] = $_LANG['PU_TAB_NAME'];
     //-- Заголовок закладки в профиле
     // Загружать вкладку по ajax
     $this->info['ajax_link'] = '/plugins/' . __CLASS__ . '/get.php?user_id=' . $user['id'];
     parent::execute();
     return '';
 }
Пример #9
0
 public function execute($event, $item)
 {
     parent::execute();
     switch ($event) {
         case 'GET_PHOTO':
             $item['map'] = $this->photomap($item);
             break;
     }
     return $item;
 }
Пример #10
0
 public function __construct()
 {
     $this->info['plugin'] = 'p_new_msg';
     $this->info['title'] = 'Анимация при новом сообщении';
     $this->info['description'] = 'Анимация при новом сообщении';
     $this->info['author'] = 'InstantCMS Team';
     $this->info['version'] = '1.0';
     $this->events[] = 'PRINT_PAGE_HEAD';
     parent::__construct();
 }
Пример #11
0
 /**
  * Обработка событий
  * @param string $event
  * @param array $item
  * @return html
  */
 public function execute($event = '', $item = array())
 {
     parent::execute();
     switch ($event) {
         case 'GET_CAPTCHA':
             return $this->getCaptcha();
         case 'CHECK_CAPTCHA':
             return $this->checkCaptcha();
     }
     return $item;
 }
Пример #12
0
 /**
  * Обработка событий
  * @param string $event
  * @param mixed $data
  * @return mixed
  */
 public function execute($event = '', $data = array())
 {
     parent::execute();
     switch ($event) {
         case 'GET_ROUTE_USERS':
             $data = $this->eventGetRoutes($data);
             break;
         case 'GET_USERS_ACTION_GET_DEMO':
             $data = $this->eventGetAction();
             break;
     }
     return $data;
 }
Пример #13
0
 public function __construct()
 {
     // Информация о плагине
     $this->info['plugin'] = 'p_demo_route';
     $this->info['title'] = 'Demo Plugin';
     $this->info['description'] = 'Пример плагина - для роутера /users/get_demo.html';
     $this->info['author'] = 'InstantCMS Team';
     $this->info['version'] = '1.10';
     // События, которые будут отлавливаться плагином
     $this->events[] = 'GET_ROUTE_USERS';
     $this->events[] = 'GET_USERS_ACTION_GET_DEMO';
     parent::__construct();
 }
Пример #14
0
 public function __construct()
 {
     // Информация о плагине
     $this->info['plugin'] = 'p_usertab';
     $this->info['title'] = 'Demo Profile Plugin';
     $this->info['description'] = 'Пример плагина - Добавляет вкладку "Статьи" в профили всех пользователей';
     $this->info['author'] = 'InstantCMS Team';
     $this->info['version'] = '1.10.3';
     // Настройки по-умолчанию
     $this->config['PU_LIMIT'] = 10;
     // События, которые будут отлавливаться плагином
     $this->events[] = 'USER_PROFILE';
     parent::__construct();
 }
Пример #15
0
 public function __construct()
 {
     // Информация о плагине
     $this->info['plugin'] = 'p_morecontent';
     $this->info['title'] = 'Похожие статьи';
     $this->info['description'] = 'Добавляет в конец каждой статьи список похожих статей.';
     $this->info['author'] = 'Maximov & InstantCMS Team';
     $this->info['version'] = '1.10.3';
     // События, которые будут отлавливаться плагином
     $this->events[] = 'GET_ARTICLE';
     // Настройки по-умолчанию
     $this->config['P_LIMIT'] = 5;
     $this->config['P_UNSORT'] = 1;
     parent::__construct();
 }
Пример #16
0
 public function __construct()
 {
     global $_LANG;
     // Информация о плагине
     $this->info['plugin'] = 'p_kcaptcha';
     $this->info['title'] = $_LANG['P_CAPTCHA_TITLE'];
     $this->info['description'] = $_LANG['P_CAPTCHA_DESCRIPTION'];
     $this->info['author'] = 'InstantCMS Team';
     $this->info['version'] = '1.0';
     $this->info['published'] = 1;
     $this->info['plugin_type'] = 'captcha';
     $this->events[] = 'GET_CAPTCHA';
     $this->events[] = 'CHECK_CAPTCHA';
     parent::__construct();
 }
Пример #17
0
 public function __construct()
 {
     // Информация о плагине
     $this->info['plugin'] = 'p_demo';
     $this->info['title'] = 'Demo Plugin';
     $this->info['description'] = 'Пример плагина - Добавляет текст в конец каждой статьи на сайте';
     $this->info['author'] = 'InstantCMS Team';
     $this->info['version'] = '1.0';
     // Настройки по-умолчанию
     $this->config['text'] = 'Added By Plugin From Parameter';
     $this->config['color'] = 'blue';
     $this->config['counter'] = 1;
     // События, которые будут отлавливаться плагином
     $this->events[] = 'GET_ARTICLE';
     parent::__construct();
 }
Пример #18
0
 /**
  * Обработка событий
  * @param string $event
  * @param mixed $item
  * @return mixed
  */
 public function execute($event = '', $item = array())
 {
     parent::execute();
     if ($this->reg_model->config['reg_type'] == 'invite') {
         return true;
     }
     switch ($event) {
         case 'LOGINZA_BUTTON':
             $item = $this->showLoginzaButton();
             break;
         case 'LOGINZA_AUTH':
             $item = $this->loginzaAuth();
             break;
     }
     return true;
 }
Пример #19
0
 /**
  * Обработка событий
  * @param string $event
  * @param array $article
  * @return html
  */
 public function execute($event = '', $article = array())
 {
     parent::execute();
     switch ($event) {
         case 'DELETE_ARTICLE':
             $this->deleteForum($article);
             break;
         case 'GET_ARTICLE':
             $article = $this->getForumLink($article);
             break;
         case 'ADD_ARTICLE_DONE':
             $this->createForum($article);
             break;
         case 'UPDATE_ARTICLE':
             $this->updateLastForumPost($article);
             break;
     }
     return $article;
 }
Пример #20
0
 public function __construct()
 {
     // Информация о плагине
     $this->info['plugin'] = 'p_ping';
     $this->info['title'] = 'Пинг поисковых систем';
     $this->info['description'] = 'Пингует Яндекс и Гугл при добавлении статей, объявлений и постов в блоги';
     $this->info['author'] = 'InstantCMS Team';
     $this->info['version'] = '1.10';
     // Настройки по-умолчанию
     $this->config['Yandex HOST'] = 'ping.blogs.yandex.ru';
     $this->config['Yandex PATH'] = '/RPC2';
     $this->config['Google HOST'] = 'blogsearch.google.com';
     $this->config['Google PATH'] = '/ping/RPC2';
     // События, которые будут отлавливаться плагином
     $this->events[] = 'ADD_POST_DONE';
     $this->events[] = 'ADD_ARTICLE_DONE';
     $this->events[] = 'ADD_BOARD_DONE';
     parent::__construct();
 }
Пример #21
0
 public function __construct()
 {
     // Информация о плагине
     $this->info['plugin'] = 'p_hidetext';
     $this->info['title'] = 'Скрытый текст';
     $this->info['description'] = 'Скрывает содержимое тега [hide] от незарегистрированных';
     $this->info['author'] = 'InstantCMS Team';
     $this->info['version'] = '1.12';
     // События, которые будут отлавливаться плагином
     $this->events[] = 'GET_POSTS';
     $this->events[] = 'GET_POSTS_MODULE';
     $this->events[] = 'GET_POST';
     $this->events[] = 'GET_COMMENTS';
     $this->events[] = 'GET_COMMENTS_MODULE';
     $this->events[] = 'GET_COMMENT';
     $this->events[] = 'GET_FORUM_POST';
     $this->events[] = 'GET_FORUM_POSTS';
     $this->events[] = 'GET_FORUM_POSTS_MODULE';
     $this->events[] = 'GET_WALL_POSTS';
     parent::__construct();
 }
Пример #22
0
 public function execute($event = '', $item = array())
 {
     parent::execute();
     $inUser = cmsUser::getInstance();
     cmsCore::includeFile('plugins/p_fckeditor/fckeditor/fckeditor.php');
     $oFCKeditor = new FCKeditor($item['name']);
     $oFCKeditor->BasePath = '/plugins/p_fckeditor/fckeditor/';
     $oFCKeditor->Height = $item['height'];
     $oFCKeditor->Width = $item['width'];
     $oFCKeditor->ToolbarSet = $inUser->is_admin ? 'Admin' : 'Basic';
     $oFCKeditor->Value = $item['text'];
     $oFCKeditor->Config['DefaultLanguage'] = cmsConfig::getConfig('lang');
     $oFCKeditor->Config['AutoDetectLanguage'] = false;
     if (!$inUser->is_admin) {
         $oFCKeditor->Config['ImageBrowser'] = false;
         $oFCKeditor->Config['LinkUpload'] = false;
         $oFCKeditor->Config['LinkBrowser'] = false;
     }
     ob_start();
     $oFCKeditor->Create();
     return ob_get_clean();
 }
 /**
  * Обработка событий
  * @param string $event
  * @param mixed $item
  * @return mixed
  */
 public function execute($event, $item)
 {
     $inUser = cmsUser::getInstance();
     parent::execute();
     //доступ только админам
     if (!$inUser->is_admin) {
         return $item;
     }
     switch ($event) {
         case 'GET_ARTICLE':
             $code = $this->getAddedCode('content', $item['id']);
             //если есть разбивка на страницы, добавляем код в каждую(кроме последней)
             $item['content'] = preg_replace('/({pagebreak})/iu', $code . ' $1 ', $item['content']);
             //добавляем код в конец контента(последняя страница)
             $item['content'] .= $this->getAddedCode('content', $item['id']);
             break;
         case 'GET_POST':
             $item['content_html'] .= $this->getAddedCode('blog_posts', $item['id']);
             break;
     }
     return $item;
 }
Пример #24
0
 /**
  * Обработка событий
  * @param string $event
  * @param mixed $item
  * @return mixed
  */
 public function execute($event = '', $item = array())
 {
     parent::execute();
     switch ($event) {
         case 'GET_POST':
             $item = $this->eventGetPost($item);
             break;
         case 'GET_POSTS':
             $item = $this->eventGetPosts($item);
             break;
         case 'GET_POSTS_MODULE':
             $item = $this->eventGetPosts($item, true);
             break;
         case 'GET_COMMENT':
             $item = $this->eventGetComment($item);
             break;
         case 'GET_COMMENTS':
             $item = $this->eventGetComments($item);
             break;
         case 'GET_COMMENTS_MODULE':
             $item = $this->eventGetComments($item, true);
             break;
         case 'GET_FORUM_POST':
             $item = $this->eventGetPost($item);
             break;
         case 'GET_FORUM_POSTS':
             $item = $this->eventGetPosts($item);
             break;
         case 'GET_FORUM_POSTS_MODULE':
             $item = $this->eventGetPosts($item, true);
             break;
         case 'GET_WALL_POSTS':
             $item = $this->eventGetComments($item);
             break;
     }
     return $item;
 }
Пример #25
0
 public function __construct()
 {
     // Информация о плагине
     $this->info['plugin'] = 'p_auto_forum';
     $this->info['title'] = 'Автофорум';
     $this->info['description'] = 'Создает тему на форуме для обсуждения статьи';
     $this->info['author'] = 'InstantCMS Team';
     $this->info['version'] = '1.10';
     // Настройки по-умолчанию
     // Ключи массива должны быть латиницей в верхнем регистре
     // если вы хотите, чтобы название опций было на нужном вам языке
     // создайте соответствующий lang файл, например /languages/ru/plugins/p_auto_forum.php
     // ключи языковых переменных должны совпадать с ключами массива конфигурации
     $this->config['AF_DELETE_THREAD'] = 1;
     $this->config['AF_LINK_TREAD'] = 1;
     $this->config['AF_ADDTREADFORUM_ID'] = 0;
     $this->config['AF_NOCREATETREAD'] = array();
     // События, которые будут отлавливаться плагином
     $this->events[] = 'DELETE_ARTICLE';
     $this->events[] = 'GET_ARTICLE';
     $this->events[] = 'ADD_ARTICLE_DONE';
     $this->events[] = 'UPDATE_ARTICLE';
     parent::__construct();
 }
Пример #26
0
 /**
  * Процедура удаления плагина
  * @return bool
  */
 public function uninstall() {
     return parent::uninstall();
 }
Пример #27
0
    public function execute($event = '', $item = array())
    {
        parent::execute($event, $item);
        $access = cmsUser::getInstance()->is_admin ? 'admin' : 'user';
        $width = is_numeric($item['width']) ? $item['width'] . 'px' : $item['width'];
        $height = is_numeric($item['height']) ? $item['height'] . 'px' : $item['height'];
        ob_start();
        ?>

        <textarea class="ckeditor" id="<?php 
        echo $item['name'];
        ?>
" name="<?php 
        echo $item['name'];
        ?>
" style="width: <?php 
        echo $width;
        ?>
; height: <?php 
        echo $height;
        ?>
;"><?php 
        echo htmlspecialchars($item['text']);
        ?>
</textarea>
        <script type="text/javascript">
                $(function (){
                    if(typeof CKEDITOR == 'undefined') {
                        script = document.createElement('script');
                        script.type = 'text/javascript';
                        script.src  = '/plugins/p_ckeditor/editor/ckeditor.js';
                        $('head').append(script);
                    }

                    <?php 
        echo $this->config['is_compatible'] ? 'CKEDITOR.env.isCompatible = true;' : '';
        ?>
                    CKEDITOR.replace("<?php 
        echo $item['name'];
        ?>
",{
                        customConfig : "/plugins/p_ckeditor/editor/config/<?php 
        echo $access;
        ?>
_<?php 
        echo $item['toolbar'];
        ?>
.js",
                        skin: "<?php 
        echo $this->config['skin'];
        ?>
",
                        width: "<?php 
        echo $width;
        ?>
",
                        height: "<?php 
        echo $height;
        ?>
",
                        forcePasteAsPlainText: true,
                        extraPlugins: "colorbutton,panelbutton",
                        <?php 
        echo $this->canUpload() ? 'filebrowserUploadUrl: "/plugins/p_ckeditor/upload.php?component=' . $this->inCore->component . '",' : '';
        ?>
                        locationMapPath: "<?php 
        echo HOST;
        ?>
/plugins/p_ckeditor/editor/plugins/locationmap/",
                        enterMode: <?php 
        echo $this->config['entermode'];
        ?>
,
                        language: "<?php 
        echo cmsConfig::getConfig('lang');
        ?>
"
                    });
                });
          </script>

        <?php 
        return ob_get_clean();
    }
Пример #28
0
 /**
  * Обработка событий
  * @param string $event
  * @param mixed $item
  * @return mixed
  */
 public function execute($event = '', $item = array())
 {
     parent::execute();
     $inCore = cmsCore::getInstance();
     $inPage = cmsPage::getInstance();
     $inDB = cmsDatabase::getInstance();
     $inUser = cmsUser::getInstance();
     cmsCore::loadClass('blog');
     $inBlog = cmsBlogs::getInstance();
     $inBlog->owner = 'user';
     global $_LANG;
     $model = new cms_model_blogs();
     //Получаем параметры
     $id = cmsCore::request('id', 'int', 0);
     $post_id = cmsCore::request('post_id', 'int', 0);
     $bloglink = cmsCore::request('bloglink', 'str', '');
     $seolink = cmsCore::request('seolink', 'str', '');
     $do = $inCore->do;
     $page = cmsCore::request('page', 'int', 1);
     $cat_id = cmsCore::request('cat_id', 'int', 0);
     $ownertype = cmsCore::request('ownertype', 'str', '');
     // всего постов
     $total = $inBlog->getPostsCount($inUser->is_admin);
     //устанавливаем сортировку
     $inDB->orderBy('p.pubdate', 'DESC');
     $inDB->limitPage($page, $model->config['perpage']);
     // сами посты
     $posts = $inBlog->getPosts($inUser->is_admin, $model);
     if (!$posts && $page > 1) {
         cmsCore::error404();
     }
     cmsPage::initTemplate('components', 'com_blog_view_posts')->assign('pagetitle', $pagetitle)->assign('ownertype', $ownertype)->assign('total', $total)->assign('posts', $posts)->assign('cfg', $model->config)->display('p_bpublics.tpl');
     /*       $mode   =  'BY pubdate DESC';
     	 //  $mode   =  'BY RAND ()';
     		
     		
         //  $price   =  '<1000000000000';
     		$price   =  '=0';
     	//	$price   =  '!=0';
             parent::execute();
     		$inCore     = cmsCore::getInstance();
     
             $catalogs   = array();
             $user_id =  "{$item['user_id']}";
     
     		
     
             $sql        = "SELECT id, title, published, imageurl, price FROM cms_uc_items
                            WHERE user_id = {$user_id} AND on_moderate=0  AND published=1 AND price{$price}
                            ORDER {$mode}
                            LIMIT {$limit}";
     
             $result     = $this->inDB->query($sql);
             $text      = $this->config['text'];
             $total      = $this->inDB->num_rows($result);
     
             if ($total){
     
                 while($catalog = $this->inDB->fetch_assoc($result)){
                     $catalog['url'] = '/catalog/item'.$catalog['id'].'.html';
                     $catalogs[] = $catalog;
                 }
                 
             }
     
             ob_start();
     		$smarty= $this->inCore->initSmarty('plugins', 'p_bpublics.tpl');
     		$smarty->assign('text', $text);	
             $smarty->assign('total', $total);
             $smarty->assign('catalogs', $catalogs);
             $smarty->display('p_bpublics.tpl');
      //$this->saveConfig();
             return $item; */
 }
Пример #29
0
 /**
  * Процедура обновления плагина
  * @return bool
  */
 public function upgrade() {
     cmsCore::c('db')->query("UPDATE `cms_users` SET `openid` = MD5(openid) WHERE `openid` IS NOT NULL");
     return parent::upgrade();
 }
Пример #30
0
 /**
  * Процедура обновления плагина
  * @return bool
  */
 public function upgrade()
 {
     cmsDatabase::getInstance()->query("UPDATE `cms_users` SET `openid` = MD5(openid) WHERE `openid` IS NOT NULL");
     return parent::upgrade();
 }