示例#1
0
 public function make()
 {
     $way = router::getInstance()->shiftUriArray();
     $lang = null;
     if (property::getInstance()->get('use_multi_language')) {
         $lang = '_' . router::getInstance()->getPathLanguage();
     }
     if ($way[0] === "sitemap.xml") {
         header("Content-type: text/xml");
         $render = cache::getInstance()->get('sitemap' . $lang);
         if (is_null($render)) {
             $this->loadDefaults();
             $render = template::getInstance()->twigRender('components/sitemap/map.tpl', array('local' => $this->map));
             cache::getInstance()->store('sitemap' . $lang, $render);
         }
         template::getInstance()->justPrint($render);
     } elseif ($way[0] == "sitemap.html") {
         $tpl = cache::getInstance()->get('htmlmap' . $lang);
         if (is_null($tpl)) {
             $this->loadDefaults();
             $tpl = template::getInstance()->twigRender('components/sitemap/html.tpl', array('local' => $this->map));
             cache::getInstance()->store('htmlmap' . $lang, $tpl);
         }
         template::getInstance()->set(template::TYPE_CONTENT, 'body', $tpl);
     }
 }
示例#2
0
 public function make()
 {
     $tpl = @file_get_contents(root . '/resource/ckeditor/customtpl/filebrowser.tpl');
     $file_type = (int) system::getInstance()->get('type');
     if ($tpl == null) {
         echo "<p>Filebrowser tpl was not founded</p>";
         return;
     }
     $file_array = null;
     switch ($file_type) {
         case 1:
             if (!permission::getInstance()->have('admin/imagebrowser')) {
                 return null;
             }
             $file_array = $this->browseImage();
             break;
         case 2:
             if (!permission::getInstance()->have('admin/flashbrowser')) {
                 return null;
             }
             $file_array = $this->browseSwf();
             break;
         default:
             if (!permission::getInstance()->have('admin/filebrowser')) {
                 return null;
             }
             $file_array = $this->browseAll();
             break;
     }
     template::getInstance()->justPrint($tpl, array('files' => $file_array, 'file_type' => $file_type, 'ckcallback' => system::getInstance()->get('CKEditorFuncNum')));
 }
示例#3
0
 public function make()
 {
     $params = array();
     // get all menu data - 1 query with 2 left joins is better then 2 query's for each menu.
     $stmt = database::getInstance()->con()->query("SELECT h.*, g.g_id, g.g_name, g.g_url, d.d_name, d.d_url FROM `" . property::getInstance()->get('db_prefix') . "_mod_menu_gitem` as g\n        LEFT OUTER JOIN `" . property::getInstance()->get('db_prefix') . "_mod_menu_ditem` as d ON g.g_id = d.d_owner_gid\n        LEFT OUTER JOIN `" . property::getInstance()->get('db_prefix') . "_mod_menu_header` as h ON h.menu_id = g.g_menu_head_id\n        WHERE h.menu_display = 1\n        ORDER BY g.g_priority ASC, d.d_priority ASC");
     $resultItems = $stmt->fetchAll(\PDO::FETCH_ASSOC);
     $stmt = null;
     foreach ($resultItems as $row) {
         $serial_hname = unserialize($row['menu_name']);
         $serial_gname = unserialize($row['g_name']);
         $serial_dname = unserialize($row['d_name']);
         $params['modmenu'][$row['menu_id']]['name'] = $serial_hname[language::getInstance()->getUseLanguage()];
         $params['modmenu'][$row['menu_id']]['tag'] = $row['menu_tag'];
         $params['modmenu'][$row['menu_id']]['tpl'] = $row['menu_tpl'];
         $params['modmenu'][$row['menu_id']]['item'][$row['g_id']]['name'] = $serial_gname[language::getInstance()->getUseLanguage()];
         $params['modmenu'][$row['menu_id']]['item'][$row['g_id']]['url'] = $this->urlRelativeToAbsolute($row['g_url']);
         if ($row['d_name'] != null) {
             $params['modmenu'][$row['menu_id']]['item'][$row['g_id']]['depend_array'][] = array('name' => $serial_dname[language::getInstance()->getUseLanguage()], 'url' => $this->urlRelativeToAbsolute($row['d_url']));
         }
     }
     $set_var = array();
     foreach ($params['modmenu'] as $menu) {
         $tag = $menu['tag'];
         $tpl = $menu['tpl'];
         $compile_tpl = template::getInstance()->twigRender('modules/menu/' . $tpl, array('modmenu' => $menu));
         $set_var[$tag] = $compile_tpl;
     }
     template::getInstance()->set(template::TYPE_MODULE, 'menu', $set_var);
 }
示例#4
0
 public function make()
 {
     $comment_count = extension::getInstance()->getConfig('last_count', 'lastcomments', 'modules', 'int');
     if ($comment_count < 1) {
         $comment_count = 1;
     }
     $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_mod_comments WHERE `pathway` != '' AND moderate = '0' ORDER BY `time` DESC LIMIT 0,?");
     $stmt->bindParam(1, $comment_count, PDO::PARAM_INT);
     $stmt->execute();
     $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
     $stmt = null;
     if (sizeof($res) > 0) {
         // have comments in db
         $max_comment_char_size = extension::getInstance()->getConfig('text_length', 'lastcomments', 'modules', 'int');
         $prepared_userlist = system::getInstance()->extractFromMultyArray('author', $res);
         user::getInstance()->listload($prepared_userlist);
         $params = array();
         foreach ($res as $result) {
             $comment_text = extension::getInstance()->call(extension::TYPE_HOOK, 'bbtohtml')->nobbcode($result['comment']);
             $params['comment'][] = array('user_id' => $result['author'], 'user_name' => user::getInstance()->get('nick', $result['author']), 'user_avatar' => user::getInstance()->buildAvatar('small', $result['author']), 'uri' => $result['pathway'], 'preview' => system::getInstance()->altsubstr($comment_text, 0, $max_comment_char_size), 'date' => system::getInstance()->toDate($result['time'], 'd'), 'guest_name' => system::getInstance()->nohtml($result['guest_name']));
         }
         $render = template::getInstance()->twigRender('modules/lastcomments/lastcomments.tpl', array('local' => $params));
         template::getInstance()->set(template::TYPE_MODULE, 'lastcomments', $render);
     }
 }
示例#5
0
 private function showNewFriendRequestCount()
 {
     $friendRequestList = user::getInstance()->get('friend_request');
     $friend_array = system::getInstance()->altexplode(',', $friendRequestList);
     $request_count = sizeof($friend_array);
     template::getInstance()->set(template::TYPE_MODULE, 'friendrequest_new_count', $request_count);
 }
示例#6
0
 public function make()
 {
     $params = array();
     $news_count = extension::getInstance()->getConfig('new_count', 'news_new', extension::TYPE_MODULE, 'int');
     if ($news_count < 1) {
         $news_count = 1;
     }
     $stmt = database::getInstance()->con()->prepare("SELECT a.id,a.title,a.link,b.path FROM " . property::getInstance()->get('db_prefix') . "_com_news_entery a," . property::getInstance()->get('db_prefix') . "_com_news_category b\n                        WHERE a.category = b.category_id AND a.display > 0 ORDER BY a.date DESC LIMIT 0,?");
     $stmt->bindParam(1, $news_count, \PDO::PARAM_INT);
     $stmt->execute();
     $result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
     $stmt = null;
     foreach ($result as $row) {
         $full_path = null;
         $image = null;
         if (property::getInstance()->get('use_multi_language')) {
             $full_path .= '/' . language::getInstance()->getUseLanguage();
         }
         $full_path .= '/news/';
         if ($row['path'] != null) {
             $full_path .= $row['path'] . '/';
         }
         $full_path .= $row['link'];
         $serial_title = system::getInstance()->altstripslashes(unserialize($row['title']));
         if (file_exists(root . '/upload/news/poster_' . $row['id'] . '.jpg')) {
             $image = 'poster_' . $row['id'];
         }
         $params['latest'][] = array('title' => $serial_title[language::getInstance()->getUseLanguage()], 'image' => $image, 'pathway' => $full_path);
     }
     $tmp = template::getInstance()->twigRender('modules/news_new/list.tpl', array('local' => $params));
     template::getInstance()->set(template::TYPE_MODULE, 'news_new', $tmp);
 }
示例#7
0
 public function make()
 {
     $component_news = extension::getInstance()->call(extension::TYPE_COMPONENT, 'news');
     if (!is_object($component_news)) {
         return;
     }
     template::getInstance()->set(template::TYPE_CONTENT, 'body', $component_news->viewCategory(true));
 }
示例#8
0
 private function buildTagCloud()
 {
     $tag_count = extension::getInstance()->getConfig('tag_count', 'tagcloud', 'modules', 'int');
     $stmt = database::getInstance()->con()->prepare("SELECT SQL_CALC_FOUND_ROWS tag, COUNT(*) AS count FROM " . property::getInstance()->get('db_prefix') . "_mod_tags WHERE object_type = 'news' GROUP BY tag ORDER BY count DESC LIMIT 0,?");
     $stmt->bindParam(1, $tag_count, PDO::PARAM_INT);
     $stmt->execute();
     $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
     $stmt = null;
     return template::getInstance()->twigRender('modules/tagcloud/cloud.tpl', array('local' => $result));
 }
示例#9
0
 public function make()
 {
     $page_id = extension::getInstance()->getConfig('news_id', 'static_on_main', 'modules', 'int');
     $show_date = extension::getInstance()->getConfig('show_date', 'static_on_main', 'modules', 'boolean');
     // call to component static pages and display it
     $page_content = extension::getInstance()->call(extension::TYPE_COMPONENT, 'static');
     if (!is_object($page_content)) {
         return;
     }
     template::getInstance()->set(template::TYPE_CONTENT, 'body', $page_content->display('', $page_id, $show_date, true));
 }
示例#10
0
文件: back.php 项目: ZerGabriel/ffcms
 public function make()
 {
     $params = array();
     if (system::getInstance()->post('submit')) {
         if (admin::getInstance()->saveExtensionConfigs()) {
             $params['notify']['save_success'] = true;
         }
     }
     $params['extension']['title'] = admin::getInstance()->viewCurrentExtensionTitle();
     $params['config']['new_count'] = extension::getInstance()->getConfig('new_count', 'news_new', extension::TYPE_MODULE, 'int');
     return template::getInstance()->twigRender('modules/news_new/settings.tpl', $params);
 }
示例#11
0
文件: back.php 项目: ZerGabriel/ffcms
 private function viewFeedList()
 {
     $params = array();
     $params['extension']['title'] = admin::getInstance()->viewCurrentExtensionTitle();
     $index = (int) system::getInstance()->get('index');
     $db_index = $index * self::ITEM_PER_PAGE;
     $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_feedback ORDER BY `id` DESC LIMIT ?," . self::ITEM_PER_PAGE);
     $stmt->bindParam(1, $db_index, PDO::PARAM_INT);
     $stmt->execute();
     $params['feedback']['result'] = $stmt->fetchAll(PDO::FETCH_ASSOC);
     $params['pagination'] = template::getInstance()->showFastPagination($index, self::ITEM_PER_PAGE, $this->getFeedCount(), '?object=components&action=feedback&index=');
     return template::getInstance()->twigRender('components/feedback/list.tpl', $params);
 }
示例#12
0
 public function make()
 {
     $params = array();
     meta::getInstance()->add('title', language::getInstance()->get('search_seo_title'));
     $way = router::getInstance()->shiftUriArray();
     $query = system::getInstance()->nohtml($way[0]);
     $params['query'] = null;
     if (system::getInstance()->length($query) > 2 && !system::getInstance()->prefixEquals($query, "?")) {
         $params['search'] = array_merge($this->searchOnNews($query), $this->searchOnPage($query));
         $params['query'] = $query;
     }
     $render = template::getInstance()->twigRender('components/search/search.tpl', array('local' => $params));
     template::getInstance()->set(template::TYPE_CONTENT, 'body', $render);
 }
示例#13
0
 public function make()
 {
     $post_id = (int) system::getInstance()->get('id');
     $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_user_wall_answer WHERE wall_post_id = ? ORDER BY id DESC");
     $stmt->bindParam(1, $post_id, PDO::PARAM_INT);
     $stmt->execute();
     $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
     user::getInstance()->listload(system::getInstance()->extractFromMultyArray('poster', $result));
     $params = array();
     foreach ($result as $item) {
         $params['answer'][] = array('poster_id' => $item['poster'], 'poster_name' => user::getInstance()->get('nick', $item['poster']), 'poster_avatar' => user::getInstance()->buildAvatar('small', $item['poster']), 'message' => $item['message'], 'time' => system::getInstance()->toDate($item['time'], 'h'));
     }
     echo template::getInstance()->twigRender('components/user/profile/profile_answer.tpl', array('local' => $params));
 }
示例#14
0
文件: back.php 项目: ZerGabriel/ffcms
 public function make()
 {
     csrf::getInstance()->buildToken();
     $params = array();
     if (system::getInstance()->post('submit') && csrf::getInstance()->check()) {
         if (admin::getInstance()->saveExtensionConfigs()) {
             $params['notify']['save_success'] = true;
         }
     }
     $params['extension']['title'] = admin::getInstance()->viewCurrentExtensionTitle();
     $params['config']['captcha_type'] = extension::getInstance()->getConfig('captcha_type', 'captcha', extension::TYPE_HOOK, 'str');
     $params['config']['captcha_publickey'] = extension::getInstance()->getConfig('captcha_publickey', 'captcha', extension::TYPE_HOOK, 'str');
     $params['config']['captcha_privatekey'] = extension::getInstance()->getConfig('captcha_privatekey', 'captcha', extension::TYPE_HOOK, 'str');
     return template::getInstance()->twigRender('hooks/captcha/settings.tpl', $params);
 }
示例#15
0
 public function make()
 {
     $comment_id = (int) system::getInstance()->get('id');
     if ($this->canEdit($comment_id)) {
         $params = array();
         $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_mod_comments WHERE id = ?");
         $stmt->bindParam(1, $comment_id, PDO::PARAM_INT);
         $stmt->execute();
         $content = null;
         if ($result = $stmt->fetch()) {
             $params['comment'] = array('id' => $comment_id, 'body' => $result['comment']);
             echo template::getInstance()->twigRender('modules/comments/comment_api.tpl', array('local' => $params));
         }
         $stmt = null;
     }
 }
示例#16
0
 public function make()
 {
     $params = array();
     $way = router::getInstance()->shiftUriArray();
     $item_per_page = extension::getInstance()->getConfig('count_stream_page', 'stream', extension::TYPE_COMPONENT, 'int');
     if ($item_per_page < 1) {
         $item_per_page = 10;
     }
     $page_index = (int) $way[0];
     $db_index = $page_index * $item_per_page;
     $seo_title = language::getInstance()->get('stream_title');
     if ($page_index > 0) {
         $seo_title .= " - " . $page_index;
     }
     meta::getInstance()->add('title', $seo_title);
     $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_stream ORDER BY `date` DESC LIMIT ?,?");
     $stmt->bindParam(1, $db_index, \PDO::PARAM_INT);
     $stmt->bindParam(2, $item_per_page, \PDO::PARAM_INT);
     $stmt->execute();
     $resultAll = $stmt->fetchAll(\PDO::FETCH_ASSOC);
     $stmt = null;
     $ids = system::getInstance()->extractFromMultyArray('caster_id', $resultAll);
     $load_id = array();
     foreach ($ids as $id) {
         if (system::getInstance()->isInt($id)) {
             $load_id[] = $id;
         }
     }
     user::getInstance()->listload($load_id);
     $urlfix_object = extension::getInstance()->call(extension::TYPE_HOOK, 'urlfixer');
     $bbobject = extension::getInstance()->call(extension::TYPE_HOOK, 'bbtohtml');
     foreach ($resultAll as $row) {
         $url_target = $row['target_object'];
         $text_target = system::getInstance()->nohtml($row['text_preview']);
         if (is_object($urlfix_object)) {
             $url_target = $urlfix_object->fix($url_target);
         }
         if (is_object($bbobject)) {
             $text_target = $bbobject->nobbcode($text_target);
         }
         $params['stream'][] = array('id' => $row['id'], 'type' => $row['type'], 'type_language' => language::getInstance()->get('stream_gtype_' . $row['type']), 'user_id' => $row['caster_id'], 'user_name' => system::getInstance()->isInt($row['caster_id']) ? user::getInstance()->get('nick', $row['caster_id']) : '', 'url' => $url_target, 'text' => $text_target, 'date' => system::getInstance()->todate($row['date'], 'h'));
     }
     $params['pagination'] = template::getInstance()->showFastPagination($page_index, $item_per_page, $this->streamCount(), 'stream');
     $tpl = template::getInstance()->twigRender('components/stream/list.tpl', $params);
     template::getInstance()->set(template::TYPE_CONTENT, 'body', $tpl);
 }
示例#17
0
 public function make()
 {
     $params = array();
     $params['captcha_full'] = extension::getInstance()->getConfig('captcha_type', 'captcha', 'hooks') == "recaptcha" ? true : false;
     $params['captcha'] = extension::getInstance()->call(extension::TYPE_HOOK, 'captcha')->show();
     if (system::getInstance()->post('dofeedback')) {
         $poster_name = system::getInstance()->nohtml(system::getInstance()->post('topic_name'));
         $topic_title = system::getInstance()->nohtml(system::getInstance()->post('topic_title'));
         $topic_text = system::getInstance()->nohtml(system::getInstance()->post('topic_body'));
         $poster_email = user::getInstance()->get('id') > 0 ? user::getInstance()->get('email') : system::getInstance()->post('topic_email');
         $captcha = system::getInstance()->post('captcha');
         $date = time();
         if (!filter_var($poster_email, FILTER_VALIDATE_EMAIL)) {
             $params['notify']['wrong_email'] = true;
         }
         if (system::getInstance()->length($topic_title) < 3 || system::getInstance()->length($topic_title) > 70) {
             $params['notify']['wrong_title'] = true;
         }
         if (system::getInstance()->length($poster_name) < 3 || system::getInstance()->length($poster_name) > 50) {
             $params['notify']['wrong_name'] = true;
         }
         if (system::getInstance()->length($topic_text) < 10) {
             $params['notify']['wrong_text'] = true;
         }
         if (!extension::getInstance()->call(extension::TYPE_HOOK, 'captcha')->validate($captcha)) {
             $params['notify']['wrong_captcha'] = true;
         }
         if (sizeof($params['notify']) == 0) {
             $stmt = database::getInstance()->con()->prepare("INSERT INTO " . property::getInstance()->get('db_prefix') . "_com_feedback (`from_name`, `from_email`, `title`, `text`, `time`) VALUES (?, ?, ?, ?, ?)");
             $stmt->bindParam(1, $poster_name, PDO::PARAM_STR);
             $stmt->bindParam(2, $poster_email, PDO::PARAM_STR);
             $stmt->bindParam(3, $topic_title, PDO::PARAM_STR);
             $stmt->bindParam(4, $topic_text, PDO::PARAM_STR);
             $stmt->bindParam(5, $date, PDO::PARAM_INT);
             $stmt->execute();
             $params['notify']['success'] = true;
         }
     }
     meta::getInstance()->add('title', language::getInstance()->get('feedback_form_title'));
     $render = template::getInstance()->twigRender('components/feedback/form.tpl', array('local' => $params));
     template::getInstance()->set(template::TYPE_CONTENT, 'body', $render);
 }
示例#18
0
文件: back.php 项目: ZerGabriel/ffcms
 public function make()
 {
     $params = array();
     if (system::getInstance()->post('submit')) {
         if (admin::getInstance()->saveExtensionConfigs()) {
             $params['notify']['save_success'] = true;
         }
     }
     $params['extension']['title'] = admin::getInstance()->viewCurrentExtensionTitle();
     $params['config']['show_date'] = extension::getInstance()->getConfig('show_date', 'static_on_main', extension::TYPE_MODULE, 'int');
     $params['config']['news_id'] = extension::getInstance()->getConfig('news_id', 'static_on_main', extension::TYPE_MODULE, 'int');
     $stmt = database::getInstance()->con()->prepare("SELECT `id`, `title` FROM " . property::getInstance()->get('db_prefix') . "_com_static ORDER BY `id` DESC");
     $stmt->execute();
     $resultAll = $stmt->fetchAll(PDO::FETCH_ASSOC);
     foreach ($resultAll as $row) {
         $serial_title = unserialize($row['title']);
         $params['staticpages'][] = array('id' => $row['id'], 'title' => $serial_title[language::getInstance()->getUseLanguage()]);
     }
     $stmt = null;
     return template::getInstance()->twigRender('modules/static_on_main/settings.tpl', $params);
 }
示例#19
0
 /**
  * Set in body position static page for $pathway
  * @param string $pathway
  * @param int $id
  * @param boolean $show_date
  * @param boolean $is_main
  * @return string|null
  */
 public function display($pathway, $id = null, $show_date = true, $is_main = false)
 {
     $stmt = null;
     if (is_null($id)) {
         $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_static WHERE pathway = ?");
         $stmt->bindParam(1, $pathway, PDO::PARAM_STR);
         $stmt->execute();
     } else {
         $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_static WHERE id = ?");
         $stmt->bindParam(1, $id, PDO::PARAM_INT);
         $stmt->execute();
     }
     if ($stmt != null && ($result = $stmt->fetch())) {
         $serial_title = unserialize($result['title']);
         $serial_text = unserialize($result['text']);
         $serial_keywords = unserialize($result['keywords']);
         $serial_description = unserialize($result['description']);
         if (system::getInstance()->length($serial_title[language::getInstance()->getUseLanguage()]) < 1 || system::getInstance()->length($serial_text[language::getInstance()->getUseLanguage()]) < 1) {
             return null;
         }
         $urlfix_object = extension::getInstance()->call(extension::TYPE_HOOK, 'urlfixer');
         if (is_object($urlfix_object)) {
             $serial_text = $urlfix_object->fix($serial_text);
         }
         if ($pathway) {
             meta::getInstance()->add('title', $serial_title[language::getInstance()->getUseLanguage()]);
             meta::getInstance()->add('keywords', $serial_keywords[language::getInstance()->getUseLanguage()]);
             meta::getInstance()->add('description', $serial_description[language::getInstance()->getUseLanguage()]);
         }
         $params = array('title' => $serial_title[language::getInstance()->getUseLanguage()], 'text' => $serial_text[language::getInstance()->getUseLanguage()], 'date' => system::getInstance()->toDate($result['date'], 'd'), 'show_date' => $show_date, 'is_main' => $is_main, 'pathway' => property::getInstance()->get('url') . '/static/' . $pathway);
         if (system::getInstance()->get('print') == 'true') {
             template::getInstance()->justPrint(template::getInstance()->twigRender('components/static/print.tpl', array('local' => $params)));
         }
         return template::getInstance()->twigRender('components/static/page.tpl', array('local' => $params));
     }
     return null;
 }
示例#20
0
 public function viewCategory()
 {
     $way = router::getInstance()->shiftUriArray();
     $item_type = 'all';
     if (in_array($way[0], array('all', 'top'))) {
         $item_type = array_shift($way);
     }
     $pop_array = $way;
     $last_item = array_pop($pop_array);
     $page_index = 0;
     $page_video_count = extension::getInstance()->getConfig('count_video_page', 'video', 'components', 'int');
     $total_video_count = 0;
     $cat_link = null;
     if (system::getInstance()->isInt($last_item)) {
         $page_index = $last_item;
         $cat_link = system::getInstance()->altimplode("/", $pop_array);
     } else {
         $cat_link = system::getInstance()->altimplode("/", $way);
     }
     $select_coursor_start = $page_index * $page_video_count;
     $category_select_array = array();
     $category_list = null;
     $fstmt = null;
     $page_title = null;
     $page_desc = null;
     if (extension::getInstance()->getConfig('multi_category', 'video', 'components', 'boolean')) {
         $fstmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_video_category WHERE path like ?");
         $path_swarm = "{$cat_link}%";
         $fstmt->bindParam(1, $path_swarm, PDO::PARAM_STR);
         $fstmt->execute();
     } else {
         $fstmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_video_category WHERE path = ?");
         $fstmt->bindParam(1, $cat_link, PDO::PARAM_STR);
         $fstmt->execute();
     }
     while ($fresult = $fstmt->fetch()) {
         $category_select_array[] = $fresult['category_id'];
         if ($cat_link == $fresult['path']) {
             $serial_name = system::getInstance()->nohtml(unserialize($fresult['name']));
             $serial_desc = unserialize($fresult['desc']);
             $page_title = language::getInstance()->get('video_view_category') . ': ';
             if ($item_type == 'top') {
                 $page_title .= language::getInstance()->get('vide_view_top');
             } else {
                 $page_title .= $serial_name[language::getInstance()->getUseLanguage()];
             }
             $seo_title = $page_title;
             $seo_desc = $page_desc = $serial_desc[language::getInstance()->getUseLanguage()];
             if ($page_index > 0) {
                 $seo_title .= " - " . language::getInstance()->get('video_page_title') . ' ' . ($page_index + 1);
                 $seo_desc .= " - " . language::getInstance()->get('video_page_title') . ' ' . ($page_index + 1);
             }
             meta::getInstance()->add('title', $seo_title);
             meta::getInstance()->add('description', $seo_desc);
         }
     }
     $category_list = system::getInstance()->altimplode(',', $category_select_array);
     $theme_array = array();
     $fstmt = null;
     if (system::getInstance()->isIntList($category_list)) {
         $max_preview_length = 150;
         $time = time();
         $stmt = database::getInstance()->con()->prepare("SELECT COUNT(*) FROM " . property::getInstance()->get('db_prefix') . "_com_video_entery WHERE category in ({$category_list}) AND date <= ? AND display = 1");
         $stmt->bindParam(1, $time, PDO::PARAM_INT);
         $stmt->execute();
         if ($countRows = $stmt->fetch()) {
             $total_video_count = $countRows[0];
         }
         $stmt = null;
         $order_column = 'a.date';
         if ($item_type == 'top') {
             $order_column = 'a.views';
         }
         $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_video_entery a,\n\t\t\t\t\t\t\t\t\t\t\t\t  " . property::getInstance()->get('db_prefix') . "_com_video_category b\n\t\t\t\t\t\t\t\t\t\t\t\t  WHERE a.category in ({$category_list}) AND a.date <= ?\n\t\t\t\t\t\t\t\t\t\t\t\t  AND a.category = b.category_id\n\t\t\t\t\t\t\t\t\t\t\t\t  AND a.display = 1\n\t\t\t\t\t\t\t\t\t\t\t\t  ORDER BY a.important DESC, {$order_column} DESC LIMIT ?,?");
         $stmt->bindParam(1, $time, PDO::PARAM_INT);
         $stmt->bindParam(2, $select_coursor_start, PDO::PARAM_INT);
         $stmt->bindParam(3, $page_video_count, PDO::PARAM_INT);
         $stmt->execute();
         if (sizeof($category_select_array) > 0) {
             while ($result = $stmt->fetch()) {
                 $lang_text = system::getInstance()->altstripslashes(unserialize($result['text']));
                 $lang_title = system::getInstance()->altstripslashes(unserialize($result['title']));
                 $lang_keywords = system::getInstance()->altstripslashes(unserialize($result['keywords']));
                 $video_short_text = $lang_text[language::getInstance()->getUseLanguage()];
                 if (system::getInstance()->length($lang_title[language::getInstance()->getUseLanguage()]) < 1) {
                     // do not add the empty title video
                     continue;
                 }
                 if (system::getInstance()->contains('<hr />', $video_short_text)) {
                     $video_short_text = strstr($video_short_text, '<hr />', true);
                 } elseif (system::getInstance()->length($video_short_text) > $max_preview_length) {
                     $video_short_text = system::getInstance()->sentenceSub(system::getInstance()->nohtml($video_short_text), $max_preview_length) . "...";
                 }
                 if ($result['path'] == null) {
                     $video_full_link = $result['link'];
                 } else {
                     $video_full_link = $result['path'] . "/" . $result['link'];
                 }
                 $tagPrepareArray = system::getInstance()->altexplode(',', $lang_keywords[language::getInstance()->getUseLanguage()]);
                 $tag_array = array();
                 foreach ($tagPrepareArray as $tagItem) {
                     $tag_array[] = trim($tagItem);
                 }
                 $comment_count = 0;
                 if (is_object(extension::getInstance()->call(extension::TYPE_HOOK, 'comment'))) {
                     $comment_count = extension::getInstance()->call(extension::TYPE_HOOK, 'comment')->getCount('/' . language::getInstance()->getUseLanguage() . '/video/' . $video_full_link);
                 }
                 $cat_serial_text = system::getInstance()->altstripslashes(unserialize($result['name']));
                 $video_view_id = $result['id'];
                 $image_poster_root = root . '/upload/video/poster_' . $video_view_id . '.jpg';
                 $image_poster_url = false;
                 if (file_exists($image_poster_root)) {
                     $image_poster_url = property::getInstance()->get('script_url') . '/upload/video/poster_' . $video_view_id . '.jpg';
                 }
                 $theme_array[] = array('tags' => $tag_array, 'title' => $lang_title[language::getInstance()->getUseLanguage()], 'text' => $video_short_text, 'date' => system::getInstance()->toDate($result['date'], 'h'), 'unixtime' => $result['date'], 'category_url' => $result['path'], 'category_name' => $cat_serial_text[language::getInstance()->getUseLanguage()], 'author_id' => $result['author'], 'author_nick' => user::getInstance()->get('nick', $result['author']), 'full_video_uri' => $video_full_link, 'comment_count' => $comment_count, 'view_count' => $result['views'], 'poster' => $image_poster_url, 'important' => $result['important']);
             }
         }
         $stmt = null;
     }
     if ($item_type == 'top') {
         $page_link = $cat_link == null ? "video/top" : "video/top/" . $cat_link;
     } else {
         $page_link = $cat_link == null ? "video" : "video/" . $cat_link;
     }
     $pagination = template::getInstance()->showFastPagination($page_index, $page_video_count, $total_video_count, $page_link);
     $full_params = array('local' => $theme_array, 'pagination' => $pagination, 'page_title' => $page_title, 'page_desc' => $page_desc, 'page_link' => $cat_link, 'video_sort_type' => $item_type);
     return template::getInstance()->twigRender('/components/video/short_view.tpl', $full_params);
 }
示例#21
0
 public function buildCommentTemplate($way = null, $end = 0, $show_all = false, $add_params = null)
 {
     $params = $this->getCommentsParams($way, $end, $show_all);
     return template::getInstance()->twigRender('modules/comments/comment_list.tpl', array('local' => $params, 'add' => $add_params));
 }
示例#22
0
文件: back.php 项目: ZerGabriel/ffcms
 private function viewStaticList()
 {
     csrf::getInstance()->buildToken();
     $params = array();
     if (system::getInstance()->post('deleteSelected') && csrf::getInstance()->check()) {
         if (permission::getInstance()->have('global/owner') || permission::getInstance()->have('admin/components/static/delete')) {
             $toDelete = system::getInstance()->post('check_array');
             if (is_array($toDelete) && sizeof($toDelete) > 0) {
                 $listDelete = system::getInstance()->altimplode(',', $toDelete);
                 if (system::getInstance()->isIntList($listDelete)) {
                     database::getInstance()->con()->query("DELETE FROM " . property::getInstance()->get('db_prefix') . "_com_static WHERE id IN (" . $listDelete . ")");
                 }
             }
         }
     }
     $params['extension']['title'] = admin::getInstance()->viewCurrentExtensionTitle();
     $index_start = (int) system::getInstance()->get('index');
     $db_index = $index_start * self::ITEM_PER_PAGE;
     if (system::getInstance()->post('dosearch') && strlen(system::getInstance()->post('search')) > 0) {
         $params['search']['value'] = system::getInstance()->nohtml(system::getInstance()->post('search'));
         $search_string = "%" . system::getInstance()->nohtml(system::getInstance()->post('search')) . "%";
         $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_static WHERE title like ? OR text like ? ORDER BY id DESC LIMIT 0," . self::SEARCH_PER_PAGE);
         $stmt->bindParam(1, $search_string, PDO::PARAM_STR);
         $stmt->bindParam(2, $search_string, PDO::PARAM_STR);
         $stmt->execute();
     } else {
         $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_static ORDER BY id DESC LIMIT ?," . self::ITEM_PER_PAGE);
         $stmt->bindParam(1, $db_index, PDO::PARAM_INT);
         $stmt->execute();
     }
     $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
     foreach ($result as $data) {
         $title_locale = unserialize($data['title']);
         $params['static'][] = array('id' => $data['id'], 'title' => $title_locale[language::getInstance()->getUseLanguage()], 'path' => $data['pathway'], 'date' => system::getInstance()->toDate($data['date'], 'h'));
     }
     $params['pagination'] = template::getInstance()->showFastPagination($index_start, self::ITEM_PER_PAGE, $this->getTotalStaticCount(), '?object=components&action=static&index=');
     return template::getInstance()->twigRender('components/static/list.tpl', $params);
 }
示例#23
0
 public function make()
 {
     $params = array();
     $item_count = extension::getInstance()->getConfig('discus_count', 'news_top_discus', extension::TYPE_MODULE, 'int');
     if ($item_count < 1) {
         $item_count = 1;
     }
     $day_unixlimit = extension::getInstance()->getConfig('discus_days', 'news_top_discus', extension::TYPE_MODULE, 'int');
     $day_unixlimit *= 60 * 60 * 24;
     $day_diff = $day_unixlimit === 0 ? 0 : time() - $day_unixlimit;
     $stmt = database::getInstance()->con()->prepare("SELECT pathway,COUNT(*) as count FROM " . property::getInstance()->get('db_prefix') . "_mod_comments WHERE moderate = 0 AND time >= ? GROUP BY `pathway` ORDER BY count DESC LIMIT 0,?");
     $stmt->bindParam(1, $day_diff, \PDO::PARAM_INT);
     $stmt->bindParam(2, $item_count, \PDO::PARAM_INT);
     $stmt->execute();
     $result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
     $stmt = null;
     $article_url = array();
     $article_cat = array();
     $main_cat = false;
     $comment_key_count = array();
     foreach ($result as $item) {
         $comment_key_count[$item['pathway']] = $item['count'];
     }
     foreach (system::getInstance()->extractFromMultyArray('pathway', $result) as $uri_string) {
         $uri = system::getInstance()->altexplode('/', $uri_string);
         if (property::getInstance()->get('use_multi_language')) {
             array_shift($uri);
         }
         // remove /ru/ or /en/.
         array_shift($uri);
         // remove /news/
         if (sizeof($uri) === 1) {
             $article_url[] = system::getInstance()->altimplode('/', $uri);
             $main_cat = true;
         } else {
             $article_url[] = array_pop($uri);
             $article_cat[] = system::getInstance()->altimplode('/', $uri);
         }
     }
     $article_link_list = "'" . system::getInstance()->altimplode('\',\'', $article_url) . "'";
     $article_cat_list = null;
     if ($main_cat) {
         $article_cat_list .= "'',";
     }
     $article_cat_list .= "'" . system::getInstance()->altimplode('\',\'', $article_cat) . "'";
     $stmt = database::getInstance()->con()->query("SELECT a.title,a.link,b.path FROM " . property::getInstance()->get('db_prefix') . "_com_news_entery a," . property::getInstance()->get('db_prefix') . "_com_news_category b\n                        WHERE a.link IN ({$article_link_list}) AND b.path in ({$article_cat_list}) AND a.category = b.category_id");
     $news_result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
     $stmt = null;
     $news_data = array();
     foreach ($news_result as $row) {
         $full_path = null;
         if (property::getInstance()->get('use_multi_language')) {
             $full_path .= '/' . language::getInstance()->getUseLanguage();
         }
         $full_path .= '/news/';
         if ($row['path'] != null) {
             $full_path .= $row['path'] . '/';
         }
         $full_path .= $row['link'];
         if ($comment_key_count[$full_path] > 0) {
             $serial_title = unserialize($row['title']);
             $news_data[$full_path] = array('title' => $serial_title[language::getInstance()->getUseLanguage()]);
         }
     }
     foreach ($comment_key_count as $item_path => $item_repeat) {
         if (sizeof($news_data[$item_path]) > 0) {
             $params['top'][] = array('title' => $news_data[$item_path]['title'], 'comments' => $item_repeat, 'pathway' => $item_path);
         }
     }
     $tmp = template::getInstance()->twigRender('modules/news_top_discus/list.tpl', array('local' => $params));
     template::getInstance()->set(template::TYPE_MODULE, 'news_top_discus', $tmp);
 }
示例#24
0
\engine\language::getInstance()->init();
// prepare language
\engine\database::getInstance()->init();
// init database PDO connect
\engine\extension::getInstance()->init();
// init extension controller
\engine\user::getInstance()->init();
// prepare user data
\engine\router::getInstance()->init();
// prepare URI worker
\engine\meta::getInstance()->init();
\engine\template::getInstance()->init();
// set default template variables according changes in dymanic variables
\engine\extension::getInstance()->loadModules();
// prepare modules
\engine\extension::getInstance()->loadHooks();
// prepare hooks
// statistic collector
\engine\robot::getInstance()->init();
// check ip/user is fully blocked?
\engine\ban::getInstance()->init();
\engine\router::getInstance()->makeRoute();
\engine\meta::getInstance()->compile();
\engine\maintenance::getInstance()->make();
echo \engine\template::getInstance()->make();
// load debug indifferent of templates. Sounds not good but cant be removed from theme.
if (\engine\permission::getInstance()->have('global/owner') && \engine\property::getInstance()->get('debug')) {
    $debug_endtime = microtime(true);
    $load_time = number_format($debug_endtime - $debug_starttime, 3);
    echo "<hr />Debug loading: " . $load_time . " sec <br />Sql query count: " . \engine\database::getInstance()->getQueryCount() . "<br />Memory(peak): " . number_format(memory_get_peak_usage() / (1024 * 1024), 3) . "mb";
}
示例#25
0
 private function viewFeedCategorys()
 {
     $params = array();
     $params['extension']['title'] = admin::getInstance()->viewCurrentExtensionTitle();
     $stmt = database::getInstance()->con()->query("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_com_feed_list");
     $result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
     foreach ($result as $row) {
         $title = unserialize($row['title']);
         $params['rssfeed'][] = array('id' => $row['id'], 'title' => $title[language::getInstance()->getUseLanguage()], 'url' => $row['url']);
     }
     return template::getInstance()->twigRender('components/feed/list.tpl', $params);
 }
示例#26
0
文件: back.php 项目: ZerGabriel/ffcms
 private function viewMenuList()
 {
     $params = array();
     $params['extension']['title'] = admin::getInstance()->viewCurrentExtensionTitle();
     $stmt = database::getInstance()->con()->query("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_mod_menu_header ORDER BY menu_id DESC");
     $result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
     $stmt = null;
     foreach ($result as $row) {
         $serial_name = unserialize($row['menu_name']);
         $params['modmenu']['list'][] = array('id' => $row['menu_id'], 'name' => $serial_name[language::getInstance()->getUseLanguage()], 'tag' => $row['menu_tag'], 'tpl' => $row['menu_tpl'], 'display' => $row['menu_display']);
     }
     return template::getInstance()->twigRender('modules/menu/list.tpl', $params);
 }
示例#27
0
 private function viewVideoList()
 {
     csrf::getInstance()->buildToken();
     $params = array();
     if (system::getInstance()->post('deleteSelected') && csrf::getInstance()->check()) {
         if (permission::getInstance()->have('global/owner') || permission::getInstance()->have('admin/components/video/delete')) {
             $toDelete = system::getInstance()->post('check_array');
             if (is_array($toDelete) && sizeof($toDelete) > 0) {
                 foreach ($toDelete as $video_single_id) {
                     // remove posible poster files and gallery images
                     if (file_exists(root . '/upload/video/poster_' . $video_single_id . '.jpg')) {
                         @unlink(root . '/upload/video/poster_' . $video_single_id . '.jpg');
                     }
                     if (file_exists(root . '/upload/video/gallery/' . $video_single_id . '/')) {
                         system::getInstance()->removeDirectory(root . '/upload/video/gallery/' . $video_single_id . '/');
                     }
                 }
                 $listDelete = system::getInstance()->altimplode(',', $toDelete);
                 if (system::getInstance()->isIntList($listDelete)) {
                     database::getInstance()->con()->query("DELETE FROM " . property::getInstance()->get('db_prefix') . "_com_video_entery WHERE id IN (" . $listDelete . ")");
                     // drop tags
                     database::getInstance()->con()->prepare("DELETE FROM " . property::getInstance()->get('db_prefix') . "_mod_tags WHERE object_type = 'video' AND object_id IN (" . $listDelete . ")");
                 }
             }
         }
     }
     $params['extension']['title'] = admin::getInstance()->viewCurrentExtensionTitle();
     $params['search']['value'] = system::getInstance()->nohtml(system::getInstance()->get('search'));
     $index_start = (int) system::getInstance()->get('index');
     $db_index = $index_start * self::ITEM_PER_PAGE;
     $stmt = null;
     $filter = (int) system::getInstance()->get('filter');
     if ($filter === self::FILTER_MODERATE) {
         // 1
         $stmt = database::getInstance()->con()->prepare("SELECT a.id,a.title,a.category,a.link,a.date,b.category_id,a.important,a.display,b.path FROM " . property::getInstance()->get('db_prefix') . "_com_video_entery a, " . property::getInstance()->get('db_prefix') . "_com_video_category b WHERE a.category = b.category_id AND a.display = 0 ORDER BY a.id DESC LIMIT ?," . self::ITEM_PER_PAGE);
         $stmt->bindParam(1, $db_index, PDO::PARAM_INT);
         $stmt->execute();
     } elseif ($filter === self::FILTER_IMPORTANT) {
         // 2
         $stmt = database::getInstance()->con()->prepare("SELECT a.id,a.title,a.category,a.link,a.date,a.important,a.display,b.category_id,b.path FROM " . property::getInstance()->get('db_prefix') . "_com_video_entery a, " . property::getInstance()->get('db_prefix') . "_com_video_category b WHERE a.category = b.category_id AND a.important = 1 ORDER BY a.id DESC LIMIT ?," . self::ITEM_PER_PAGE);
         $stmt->bindParam(1, $db_index, PDO::PARAM_INT);
         $stmt->execute();
     } elseif ($filter === self::FILTER_SEARCH) {
         // 3
         $search_string = "%" . $params['search']['value'] . "%";
         $stmt = database::getInstance()->con()->prepare("SELECT a.id,a.title,a.category,a.link,a.date,a.important,a.display,b.category_id,b.path FROM " . property::getInstance()->get('db_prefix') . "_com_video_entery a, " . property::getInstance()->get('db_prefix') . "_com_video_category b WHERE a.category = b.category_id AND (a.title like ? OR a.text like ?) ORDER BY a.id DESC LIMIT 0," . self::SEARCH_PER_PAGE);
         $stmt->bindParam(1, $search_string, PDO::PARAM_STR);
         $stmt->bindParam(2, $search_string, PDO::PARAM_STR);
         $stmt->execute();
     } else {
         // 0 || > 3
         $stmt = database::getInstance()->con()->prepare("SELECT a.id,a.title,a.category,a.link,a.date,b.category_id,a.important,a.display,b.path FROM " . property::getInstance()->get('db_prefix') . "_com_video_entery a, " . property::getInstance()->get('db_prefix') . "_com_video_category b WHERE a.category = b.category_id ORDER BY a.important DESC, a.id DESC LIMIT ?," . self::ITEM_PER_PAGE);
         $stmt->bindParam(1, $db_index, PDO::PARAM_INT);
         $stmt->execute();
         $filter = 0;
     }
     $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
     $stmt = null;
     foreach ($result as $data) {
         $title = unserialize($data['title']);
         $link = $data['path'];
         if ($link != null) {
             $link .= "/";
         }
         $link .= $data['link'];
         $params['video'][] = array('id' => $data['id'], 'title' => $title[language::getInstance()->getUseLanguage()], 'link' => $link, 'date' => system::getInstance()->toDate($data['date'], 'h'), 'important' => (int) $data['important'], 'moderate' => !(bool) $data['display']);
     }
     $params['pagination'] = template::getInstance()->showFastPagination($index_start, self::ITEM_PER_PAGE, $this->getTotalVideoCount($filter), '?object=components&action=video&filter=' . $filter . '&index=');
     return template::getInstance()->twigRender('components/video/list.tpl', $params);
 }
示例#28
0
文件: back.php 项目: ZerGabriel/ffcms
<?php

/**
|==========================================================|
|========= @copyright Pyatinskii Mihail, 2013-2014 ========|
|================= @website: www.ffcms.ru =================|
|========= @license: GNU GPL V3, file: license.txt ========|
|==========================================================|
*/
// system are not installed or file is missed
if (!file_exists(root . "/config.php")) {
    exit("System are not installed or file config.php is missed. Run <a href='/install/'>Installer</a>.");
} else {
    require_once root . '/config.php';
}
\engine\property::getInstance()->init();
// processing of URI for multi-language and friendly url's
\engine\timezone::getInstance()->init();
// prepare tz_data worker
date_default_timezone_set(\engine\property::getInstance()->get('time_zone'));
// default timezone from configs
\engine\language::getInstance()->init();
\engine\database::getInstance()->init();
// init database PDO connect
\engine\user::getInstance()->init();
\engine\router::getInstance()->init();
\engine\extension::getInstance()->init();
// init extension controller
\engine\template::getInstance()->init();
echo \engine\admin::getInstance()->make();
示例#29
0
文件: back.php 项目: ZerGabriel/ffcms
 private function viewCommentList()
 {
     csrf::getInstance()->buildToken();
     $params = array();
     if (system::getInstance()->post('deleteSelected') && csrf::getInstance()->check()) {
         $toDelete = system::getInstance()->post('check_array');
         if (is_array($toDelete) && sizeof($toDelete) > 0) {
             $listDelete = system::getInstance()->altimplode(',', $toDelete);
             if (system::getInstance()->isIntList($listDelete)) {
                 database::getInstance()->con()->query("DELETE FROM " . property::getInstance()->get('db_prefix') . "_mod_comments WHERE id IN (" . $listDelete . ")");
             }
         }
     }
     $params['extension']['title'] = admin::getInstance()->viewCurrentExtensionTitle();
     $filter = (int) system::getInstance()->get('filter');
     $index = (int) system::getInstance()->get('index');
     $db_index = $index * self::ITEM_PER_PAGE;
     $stmt = null;
     if ($filter == self::FILTER_MODERATE) {
         $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_mod_comments WHERE moderate = 1 ORDER BY id DESC LIMIT ?," . self::ITEM_PER_PAGE);
         $stmt->bindParam(1, $db_index, PDO::PARAM_INT);
         $stmt->execute();
     } else {
         $stmt = database::getInstance()->con()->prepare("SELECT * FROM " . property::getInstance()->get('db_prefix') . "_mod_comments ORDER BY id DESC LIMIT ?," . self::ITEM_PER_PAGE);
         $stmt->bindParam(1, $db_index, PDO::PARAM_INT);
         $stmt->execute();
     }
     $resultFetch = $stmt->fetchAll(PDO::FETCH_ASSOC);
     $authors_ids = system::getInstance()->extractFromMultyArray('author', $resultFetch);
     if (sizeof($authors_ids) > 1) {
         // 2 or more
         user::getInstance()->listload(system::getInstance()->extractFromMultyArray('author', $resultFetch));
     }
     foreach ($resultFetch as $row) {
         $params['comments']['list'][] = array('id' => $row['id'], 'user_id' => $row['author'], 'user_name' => user::getInstance()->get('nick', $row['author']), 'comment' => extension::getInstance()->call(extension::TYPE_HOOK, 'bbtohtml')->nobbcode($row['comment']), 'guest_name' => system::getInstance()->nohtml($row['guest_name']), 'moderate' => $row['moderate'], 'date' => system::getInstance()->toDate($row['time'], 'h'), 'uri' => $row['pathway']);
     }
     $params['pagination'] = template::getInstance()->showFastPagination($index, self::ITEM_PER_PAGE, $this->getTotalCommentCount($filter), '?object=modules&action=comments&filter=' . $filter . '&index=');
     return template::getInstance()->twigRender('modules/comments/list.tpl', $params);
 }
示例#30
0
 private function viewFeedMain()
 {
     $params = array();
     $way = router::getInstance()->shiftUriArray();
     meta::getInstance()->add('title', language::getInstance()->get('feed_global_title'));
     $item_per_page = extension::getInstance()->getConfig('item_per_page', 'feed', extension::TYPE_COMPONENT, 'int');
     if ($item_per_page < 1) {
         $item_per_page = 1;
     }
     $index = (int) $way[1];
     $db_index = $index * $item_per_page;
     $stmt = database::getInstance()->con()->prepare("SELECT a.item_title,a.item_id,a.target_list,a.item_date,b.title FROM " . property::getInstance()->get('db_prefix') . "_com_feed_item a,\n                " . property::getInstance()->get('db_prefix') . "_com_feed_list b WHERE b.id = a.target_list ORDER BY a.item_date DESC LIMIT ?,?");
     $stmt->bindParam(1, $db_index, \PDO::PARAM_INT);
     $stmt->bindParam(2, $item_per_page, \PDO::PARAM_INT);
     $stmt->execute();
     $result = $stmt->fetchAll(\PDO::FETCH_ASSOC);
     $stmt = null;
     foreach ($result as $row) {
         $cat_title = unserialize($row['title']);
         $params['rssfeed'][] = array('title' => system::getInstance()->nohtml($row['item_title']), 'id' => $row['item_id'], 'cat_title' => $cat_title[language::getInstance()->getUseLanguage()], 'cat_id' => $row['target_list'], 'date' => system::getInstance()->toDate($row['item_date'], 'h'));
     }
     // get total count for pagination
     $stmt = database::getInstance()->con()->query("SELECT COUNT(*) FROM " . property::getInstance()->get('db_prefix') . "_com_feed_item");
     $res = $stmt->fetch();
     $stmt = null;
     $total_count = $res[0];
     $params['pagination'] = template::getInstance()->showFastPagination($index, $item_per_page, $total_count, 'feed/list');
     return template::getInstance()->twigRender('components/feed/stream.tpl', $params);
 }