/** * Обработка событий * @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('battleways'); $model = new cms_model_battleways(); $select_tag = 0; $page = 1; $t = ""; $color = ""; $cfg = $inCore->loadComponentConfig('battleways'); 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); $posts_list = $model->getAllPosts($page, $cfg['perpage'], $select_tag, $t, $color, $id); 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_battleways_color` where `id`='" . $post['color'] . "';"; $result = $inDB->query($sql); if ($inDB->num_rows($result)) { $color = $inDB->fetch_assoc($result); $post['status'] = "<a href='/battleways/" . $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='/battleways/" . $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_userbattleways.tpl'); $smarty->assign('is_posts', (bool) sizeof($posts_list)); $smarty->assign('pagetitle', "Ваш бойовий шлях"); if ($posts) { $smarty->assign('posts', $posts); } $smarty->display('p_userbattleways.tpl'); /////////////////////////////// $html = ob_get_clean(); return $html; }
function battleways() { $inCore = cmsCore::getInstance(); $inPage = cmsPage::getInstance(); $inDB = cmsDatabase::getInstance(); $inUser = cmsUser::getInstance(); global $_LANG; $inCore->loadModel('battleways'); $model = new cms_model_battleways(); $usr = cmsCore::request('id', 'int', 0); $cfg = $inCore->loadComponentConfig('battleways'); // Проверяем включени ли компонент if (!$cfg['component_enabled']) { cmsCore::error404(); } $id = $inCore->request('id', 'int', 0); $do = $inCore->request('do', 'str', 'view'); $tag = $inCore->request('tag', 'str', ''); $color = $inCore->request('color', 'str', ''); $page = $inCore->request('page', 'int', 1); $select_tag = 0; $t = urldecode($tag); if (!empty($t)) { $sql = "SELECT * \nFROM `cms_battleways` \nWHERE `type` LIKE '%" . $t . "%'"; if ($inDB->query($sql)) { $select_tag = 1; } } if (!isset($cfg['perpage'])) { $cfg['perpage'] = 10; } if (!isset($cfg['images'])) { $cfg['images'] = 0; } if ($_SESSION['user']['id'] == 0) { echo "Гостям запрещено просматривать данный раздел"; } else { if ($do == 'view_battleway') { //if($model->authorBattleway($id)) //{ $battleway = $model->getBattleway($id); $smarty = $inCore->initSmarty('components', 'com_battleways_view.tpl'); $smarty->assign('is_posts_view', (bool) sizeof($battleway)); $smarty->assign('pagetitle', $battleway['title']); $smarty->assign('content', $battleway['content']); $smarty->display('com_battleways_view.tpl'); // } // else // { // cmsCore::error404(); // } } if ($do == 'del') { $del = $model->delBattleway($id); $inCore->redirect('/battleways/'); } if ($do == 'view') { if ($select_tag == 0) { $total_battleways = $model->totalPosts(); $pagination = cmsPage::getPagebar($total_battleways, $page, $cfg['perpage'], '/battleways/page%page%.html'); } $user_id = $inUser->id; //GET ENTRIES $posts_list = $model->getAllPosts($page, $cfg['perpage'], $select_tag, $t, $color, $user_id); 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_battleways_color` where `id`='".$post['color']."';"; $result = $inDB->query($sql); if ($inDB->num_rows($result)){ $color = $inDB->fetch_assoc($result); $post['status'] = "<a href='/battleways/".$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='/battleways/".$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('components', 'com_battleways_view.tpl'); $smarty->assign('is_posts', (bool) sizeof($posts_list)); if ($select_tag == 0) { $smarty->assign('pagination', $pagination); } $smarty->assign('mark', $model->getMarks()); $smarty->assign('pagetitle', "Ваши минизаписки"); if ($posts) { $smarty->assign('posts', $posts); } $smarty->display('com_battleways_view.tpl'); } if ($do == 'add_battleway') { $user_id = $inUser->id; $title = $inCore->request('title', 'str', ''); $type = $inCore->request('type', 'str', ''); $color = $inCore->request('color', 'int', ''); if (!empty($title)) { $describe_full = $inCore->request('full', 'html', ''); //парсим bb-код перед записью в базу $describe_full_html = $inCore->parseSmiles($describe_full, true); // Экранируем специальные символы $describe_full_html = $inDB->escape_string($describe_full_html); $sql = "INSERT INTO `cms_battleways` (\n`id` ,\n`datetime` ,\n`title` ,\n`content` ,\n`user` ,\n`type` ,\n`color` \n)\nVALUES (\nNULL , NOW(), '" . $title . "', '" . $describe_full_html . "', '" . $user_id . "', '" . $type . "', '" . $color . "'\n);"; $result = $inDB->query($sql); $inCore->redirect('/battleways/'); } $inPage->addHeadJS('components/battleways/js/battleways.js'); $bb_toolbar = cmsPage::getBBCodeToolbar('message', $cfg['images'], 'battleways'); $smilies = cmsPage::getSmilesPanel('message'); $smarty = $inCore->initSmarty('components', 'com_battleways_add.tpl'); $smarty->assign('mark_insert', $model->getAutoMark()); $smarty->assign('select_color', $model->getColors()); $smarty->assign('title', "Добавление записки"); $smarty->assign('bb_toolbar', $bb_toolbar); $smarty->assign('smilies', $smilies); $smarty->display('com_battleways_add.tpl'); } if ($do == 'edit_battleway') { $battleway = $model->getBattleway($id); $smarty = $inCore->initSmarty('components', 'com_battleways_edit.tpl'); $smarty->assign('is_posts_view', (bool) sizeof($battleway)); $smarty->assign('pagetitle', $battleway['title']); $smarty->assign('content', $battleway['content']); $user_id = $inUser->id; $title = $inCore->request('title', 'str', ''); $type = $inCore->request('type', 'str', ''); $color = $inCore->request('color', 'int', ''); if (!empty($title)) { $describe_full = $inCore->request('full', 'html', ''); //парсим bb-код перед записью в базу $describe_full_html = $inCore->parseSmiles($describe_full, true); // Экранируем специальные символы $describe_full_html = $inDB->escape_string($describe_full_html); $sql = "INSERT INTO `cms_battleways` (\n\t\t\t\t\t`id` ,\n\t\t\t\t\t`datetime` ,\n\t\t\t\t\t`title` ,\n\t\t\t\t\t`content` ,\n\t\t\t\t\t`user` ,\n\t\t\t\t\t`type` ,\n\t\t\t\t\t`color` \n\t\t\t\t\t)\n\t\t\t\t\tVALUES (\n\t\t\t\t\tNULL , NOW(), '" . $title . "', '" . $describe_full_html . "', '" . $user_id . "', '" . $type . "', '" . $color . "'\n\t\t\t\t\t);"; $result = $inDB->query($sql); $inCore->redirect('/battleways/'); } $inPage->addHeadJS('components/battleways/js/battleways.js'); $bb_toolbar = cmsPage::getBBCodeToolbar('message', $cfg['images'], 'battleways'); $smilies = cmsPage::getSmilesPanel('message'); $smarty = $inCore->initSmarty('components', 'com_battleways_edit.tpl'); $smarty->assign('mark_insert', $model->getAutoMark()); $smarty->assign('select_color', $model->getColors()); $smarty->assign('title', "Добавление записки"); $smarty->assign('bb_toolbar', $bb_toolbar); $smarty->assign('smilies', $smilies); $smarty->display('com_battleways_edit.tpl'); } } ///////////////////////////////////////////////// }