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; }
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(); }
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(); }
/** * Обработка событий * @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; }
public function execute($event, $data) { parent::execute(); switch ($event) { case 'PRINT_PAGE_HEAD': return $this->animateNewMsg($data); } return $data; }
/** * Обработка событий * @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; }
/** * Обработка событий * @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; }
/** * Обработка событий * @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 ''; }
public function execute($event, $item) { parent::execute(); switch ($event) { case 'GET_PHOTO': $item['map'] = $this->photomap($item); break; } return $item; }
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(); }
/** * Обработка событий * @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; }
/** * Обработка событий * @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; }
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(); }
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(); }
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(); }
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(); }
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(); }
/** * Обработка событий * @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; }
/** * Обработка событий * @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; }
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(); }
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(); }
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; }
/** * Обработка событий * @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; }
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(); }
/** * Процедура удаления плагина * @return bool */ public function uninstall() { return parent::uninstall(); }
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(); }
/** * Обработка событий * @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; */ }
/** * Процедура обновления плагина * @return bool */ public function upgrade() { cmsCore::c('db')->query("UPDATE `cms_users` SET `openid` = MD5(openid) WHERE `openid` IS NOT NULL"); return parent::upgrade(); }
/** * Процедура обновления плагина * @return bool */ public function upgrade() { cmsDatabase::getInstance()->query("UPDATE `cms_users` SET `openid` = MD5(openid) WHERE `openid` IS NOT NULL"); return parent::upgrade(); }