Beispiel #1
0
 public function index()
 {
     //var_dump($_SESSION['qq']);
     $articleId = $_GET['articleId'];
     $article = new ArticleModel();
     $content = $article->getArticleById($articleId);
     $collect = new CollectModel();
     $comment = new CommentModel();
     $commentNum = $comment->getCommentCountByArticleId($articleId);
     $content['commentNum'] = $commentNum;
     if ($this->isLogin()) {
         if ($collect->getCollects($article, $_SESSION['qq']['userId'])) {
             $this->assign('collects', '已收藏');
         } else {
             $collectNum = $collect->getCollectCountByuserId($article);
             $this->assign('collectNum', $collectNum);
             $this->assign('collects', '收藏');
         }
     }
     $this->assign('article', $content);
     //评论查询
     $comments = $comment->getComment($articleId);
     $user = new UserModel();
     $arr = array();
     foreach ($comments as $key => $val) {
         $val[$key]['user'] = $user->getUserById($val['userId']);
     }
     $this->assign('comments', $comments);
     $this->display();
 }
Beispiel #2
0
 public function delete($id)
 {
     var_dump(__METHOD__);
     $config = $this->getConfig();
     $model = new ArticleModel($config);
     $ret = $model->delete($id);
     var_dump($ret);
 }
 public function actionView($id)
 {
     $articleModel = new ArticleModel();
     $article = $articleModel->get($id);
     if ($article === false) {
         throw new Http404();
     }
     $templateEngine = new TemplateEngine();
     return $templateEngine->render('articles/view.html', $article);
 }
Beispiel #4
0
 public function indexAction()
 {
     /*
             $tBMO = new BannerModel;
     		$tImgUrl = Yaf_Registry::get("config")->web->url->img;
             $tDatas = $tBMO->field('aid,concat(\''.$tImgUrl.'\',img) img')->order(' id asc ')->fList();
             Tool_Fnc::ajaxMsg('',1,$tDatas);
     */
     $tAMO = new ArticleModel();
     $tImgUrl = Yaf_Registry::get("config")->web->url->img;
     $tDatas = $tAMO->field('id aid,concat(\'' . $tImgUrl . '\',head_img) img')->where(' cate_id = 18')->order('id asc')->fList();
     Tool_Fnc::ajaxMsg('', 1, $tDatas);
 }
 /**
  *  添加新的子菜单,但是要选择是 哪种类型(Article,Category,Section).
  *  从组件中找出存在的组建
  */
 function add()
 {
     //查找出子菜单,并且显示分配在左侧菜单中
     $menus = new MenuModel();
     $menu_list = $menus->select();
     $this->assign('menulist', $menu_list);
     //导入分页类
     import("ORG.Util.Page");
     //查询组件,相当于哪几种类型
     $component = new ComponentModel();
     $where = array('enabled' => 1);
     $list = $component->where($where)->select();
     $this->assign('comlist', $list);
     //得到类型
     $link = strtolower($_REQUEST['link']);
     //查询数据,如果默认为空,则显示文章列表
     if (empty($link) || $link == 'article') {
         $art = new ArticleModel();
         $count = $art->count();
         $page = new Page($count, C("PAGESIZE"));
         //完成分页
         $show = $page->show();
         //查询分页数据
         $list = $art->order('id desc')->limit($page->firstRow . ',' . $page->listRows)->select();
     } else {
         if ($link == 'category') {
             $cat = new CategoryModel();
             $count = $cat->count();
             $page = new Page($count, C("PAGESIZE"));
             //完成分页
             $show = $page->show();
             //查询分页数据
             $list = $cat->order('id desc')->limit($page->firstRow . ',' . $page->listRows)->select();
         } else {
             $sec = new SectionModel();
             $count = $sec->count();
             $page = new Page($count, C("PAGESIZE"));
             //完成分页
             $show = $page->show();
             //查询分页数据
             $list = $sec->order('id desc')->limit($page->firstRow . ',' . $page->listRows)->select();
         }
     }
     $this->assign('show', $show);
     $this->assign('list', $list);
     $this->assign('link', $link);
     $this->display();
 }
 public function indexAction()
 {
     header('content-type: application/json');
     header('Access-Control-Allow-Origin: *');
     header('Access-Control-Allow-Methods: GET');
     echo json_encode(ArticleModel::showLastArticles($this->pdo));
 }
 /**
  * Parse the template
  * @return string
  */
 public function generate()
 {
     if (TL_MODE == 'BE') {
         // create new backend template
         $objTemplate = new \BackendTemplate('be_include');
         // get the article
         $objArticle = \ArticleModel::findByPk($this->articleAlias);
         if ($objArticle === null) {
             return parent::generate();
         }
         // get the parent pages
         $objPages = \PageModel::findParentsById($objArticle->pid);
         if ($objPages === null) {
             return parent::generate();
         }
         // get the page titles
         $arrPageTitles = array_reverse($objPages->fetchEach('title'));
         // set breadcrumb to original element
         $objTemplate->original = array('crumbs' => implode(' » ', $arrPageTitles), 'article' => array('title' => $objArticle->title, 'link' => 'contao/main.php?do=article&table=tl_content&id=' . $objArticle->id . '&rt=' . REQUEST_TOKEN));
         // get include breadcrumbs
         $includes = \IncludeInfoHelper::getIncludes('articleAlias', $this->articleAlias, $this->id);
         // set include breadcrumbs
         if (count($includes) > 1) {
             $objTemplate->includes = $includes;
         }
         // add CSS
         $GLOBALS['TL_CSS'][] = \IncludeInfoHelper::BACKEND_CSS;
         // return info + content
         return $objTemplate->parse() . parent::generate();
     }
     // return content only
     return parent::generate();
 }
 public function indexAction()
 {
     header('content-type: application/json');
     header('Access-Control-Allow-Origin: *');
     header('Access-Control-Allow-Methods: POST');
     $valid = true;
     $errors = [];
     $id = htmlentities($_POST['article']);
     $user = $_SESSION['auth']['username'];
     $comment = trim(htmlentities($_POST['comment']));
     $timestamp = time();
     if (!ArticleModel::exists($this->pdo, $id)) {
         $errors['article'] = '<span class="errors">Cet article n\'existe pas</span>';
         $valid = false;
     } elseif (!isset($comment) || empty($comment)) {
         $errors['comment'] = '<span class="errors">Non saisi</span>';
         $valid = false;
     } elseif (strlen($comment) > 200) {
         $errors['comment'] = '<span class="errors">200 caractères max</span>';
         $valid = false;
     }
     $errors['valid'] = $valid;
     if ($valid) {
         CommentModel::create($this->pdo, $id, $user, $comment, $timestamp);
     }
     echo json_encode($errors);
 }
 public function indexAction()
 {
     header('content-type: application/json');
     header('Access-Control-Allow-Origin: *');
     header('Access-Control-Allow-Methods: POST');
     $valid = true;
     $errors = [];
     if (ArticleModel::exists($this->pdo, htmlentities($_POST['id']))) {
         $id = htmlentities($_POST['id']);
     } else {
         return json_encode($errors['id'] = '<span class="errors">Cet article n\'existe pas</span>');
     }
     $title = trim(ucfirst(strtolower(htmlentities($_POST['title']))));
     $content = trim(htmlentities($_POST['content']));
     if (!isset($title) || empty($title)) {
         $errors['title'] = '<span class="errors">Non saisi</span>';
         $valid = false;
     } elseif (strlen($title) > 51) {
         $errors['title'] = '<span class="errors">Trop long</span>';
         $valid = false;
     }
     if (!isset($content) || empty($content)) {
         $errors['content'] = '<span class="errors">Non saisi</span>';
         $valid = false;
     }
     $errors['valid'] = $valid;
     if ($valid) {
         $errors['edit'] = ArticleModel::edit($this->pdo, $id, $title, $content, $_SESSION['auth']['username']);
     }
     echo json_encode($errors);
 }
 /**
  * Generate the module
  */
 protected function compile()
 {
     /** @var \PageModel $objPage */
     global $objPage;
     if (!strlen($this->inColumn)) {
         $this->inColumn = 'main';
     }
     $intCount = 0;
     $articles = array();
     $id = $objPage->id;
     $this->Template->request = \Environment::get('request');
     // Show the articles of a different page
     if ($this->defineRoot && $this->rootPage > 0) {
         if (($objTarget = $this->objModel->getRelated('rootPage')) !== null) {
             $id = $objTarget->id;
             /** @var \PageModel $objTarget */
             $this->Template->request = $objTarget->getFrontendUrl();
         }
     }
     // Get published articles
     $objArticles = \ArticleModel::findPublishedByPidAndColumn($id, $this->inColumn);
     if ($objArticles === null) {
         return;
     }
     while ($objArticles->next()) {
         // Skip first article
         if (++$intCount <= intval($this->skipFirst)) {
             continue;
         }
         $cssID = deserialize($objArticles->cssID, true);
         $alias = $objArticles->alias ?: $objArticles->title;
         $articles[] = array('link' => $objArticles->title, 'title' => specialchars($objArticles->title), 'id' => $cssID[0] ?: standardize($alias), 'articleId' => $objArticles->id);
     }
     $this->Template->articles = $articles;
 }
 public function checkLog($ptable, $tstamp, $item)
 {
     switch ($ptable) {
         case 'tl_article':
             $objArticle = \ArticleModel::findById($item['pid']);
             $objPage = \PageModel::findById($objArticle->pid);
             $item['page'] = $objPage->title;
             $item['showUrl'] = $this->generateFrontendUrl($objPage->row(), '');
             break;
         case 'tl_news':
             $objNews = \NewsModel::findById($item['pid']);
             $objArchive = \NewsArchiveModel::findById($objNews->pid);
             $objPage = \PageModel::findById($objArchive->jumpTo);
             $item['page'] = $objNews->headline;
             $item['showUrl'] = ampersand($this->generateFrontendUrl($objPage->row(), (\Config::get('useAutoItem') && !\Config::get('disableAlias') ? '/' : '/items/') . (!\Config::get('disableAlias') && $objNews->alias != '' ? $objNews->alias : $objNews->id)));
             break;
         case 'tl_calendar':
             break;
         case 'tl_faq':
             $objFAQ = \FaqModel::findById($item['id']);
             $objCategory = \FaqCategoryModel::findById($item['pid']);
             $objPage = \PageModel::findById($objCategory->jumpTo);
             $item['htmlElement'] = '<div class="ce_faq"><h1>' . $objFAQ->question . '</h1>' . $objFAQ->answer . '</div>';
             $item['page'] = $objCategory->title;
             $item['title'] = $objFAQ->question;
             $item['showUrl'] = ampersand($this->generateFrontendUrl($objPage->row(), (\Config::get('useAutoItem') && !\Config::get('disableAlias') ? '/' : '/items/') . (!\Config::get('disableAlias') && $objFAQ->alias != '' ? $objFAQ->alias : $objFAQ->id)));
             break;
     }
     return $item;
 }
 protected function compile()
 {
     $objContentStart = \Database::getInstance()->prepare("SELECT * FROM tl_content WHERE pid=? AND type=? ORDER BY sorting")->limit(1)->execute($this->pid, 'formhybridStart');
     if ($objContentStart->numRows === 0) {
         return;
     }
     $objModule = \ModuleModel::findByPk($objContentStart->formhybridModule);
     if ($objModule === null) {
         return;
     }
     $objModule->refresh();
     $strClass = \Module::findClass($objModule->type);
     // Return if the class does not exist
     if (!class_exists($strClass)) {
         static::log('Module class "' . $strClass . '" (module "' . $objModule->type . '") does not exist', __METHOD__, TL_ERROR);
         return '';
     }
     $objArticle = \ArticleModel::findByPk($this->pid);
     if ($objArticle === null) {
         return;
     }
     global $objPage;
     $objModule = new $strClass($objModule, $objArticle->inColumn);
     $objModule->renderStop = true;
     $objModule->startModule = $_SESSION[FormSession::FORMHYBRID_FORMSESSION_START_KEY][$objPage->id . '_' . $objModule->formHybridDataContainer];
     $this->Template->content = $objModule->generate();
 }
 /**
  * Do not display the module if there are no articles
  *
  * @return string
  */
 public function generate()
 {
     if (TL_MODE == 'BE') {
         /** @var \BackendTemplate|object $objTemplate */
         $objTemplate = new \BackendTemplate('be_wildcard');
         $objTemplate->wildcard = '### ' . utf8_strtoupper($GLOBALS['TL_LANG']['FMD']['articlenav'][0]) . ' ###';
         $objTemplate->title = $this->headline;
         $objTemplate->id = $this->id;
         $objTemplate->link = $this->name;
         $objTemplate->href = '' . $GLOBALS['TL_CONFIG']['backendPath'] . '/main.php?do=themes&amp;table=tl_module&amp;act=edit&amp;id=' . $this->id;
         return $objTemplate->parse();
     }
     /** @var \PageModel $objPage */
     global $objPage;
     $this->objArticles = \ArticleModel::findPublishedWithTeaserByPidAndColumn($objPage->id, $this->strColumn);
     // Return if there are no articles
     if ($this->objArticles === null) {
         return '';
     }
     // Redirect to the first article if no article is selected
     if (!\Input::get('articles')) {
         if (!$this->loadFirst) {
             return '';
         }
         /** @var \ArticleModel $objArticle */
         $objArticle = $this->objArticles->current();
         $strAlias = $objArticle->alias != '' && !\Config::get('disableAlias') ? $objArticle->alias : $objArticle->id;
         $this->redirect($this->generateFrontendUrl($objPage->row(), '/articles/' . $strAlias));
     }
     return parent::generate();
 }
Beispiel #14
0
  static function save($request){
/*HACK ZONE*/
    self::$request = $request;
    self::textEntry("Title", "title");
    self::dropDown("Category", "category_id", "CategoryModel", "title", "id");
    self::dropDown("Section", "section_id", "SectionModel", "title", "id");
    self::dropDown("Location", "location_id", "LocationModel", "name", "id");
    self::textEntry("Summary", "summary");
    self::longEntry("Intro", "intro");
    self::longEntry("Rules", "rules");
    self::longEntry("Specification", "specification");
    self::textEntry("Domain", "domain");
    self::textEntry("Entry Fee", "entry_fee");
    self::textEntry("Max participants in a group", "participants");
    self::textEntry("1st Prize", "prize_first");
    self::textEntry("2nd Prize", "prize_second");
    self::textEntry("3rd Prize", "prize_third");
    self::textEntry("Prize Info", "prize_info");
    self::textEntry("Co-ordinator", "coordinator");
    self::textEntry("Event Head", "event_head");
    self::textEntry("Date", "date_elim");
    self::textEntry("Date", "date_final");
    self::textEntry("Image 1", "image_1");
    self::textEntry("Image 2", "image_2");
    self::textEntry("Image 3", "image_3");

    $set = join(", ", self::$set);
    $sql = "UPDATE articles SET $set WHERE id='".$request["article"]."'";
    $result = BaseModel::$database->query($sql);
    return;
  }/*HACK ZONE*/
Beispiel #15
0
 /**
  * Do not display the module if there are no articles
  * @return string
  */
 public function generate()
 {
     if (TL_MODE == 'BE') {
         $objTemplate = new \BackendTemplate('be_wildcard');
         $objTemplate->wildcard = '### ARTICLE NAVIGATION ###';
         $objTemplate->title = $this->headline;
         $objTemplate->id = $this->id;
         $objTemplate->link = $this->name;
         $objTemplate->href = 'contao/main.php?do=themes&amp;table=tl_module&amp;act=edit&amp;id=' . $this->id;
         return $objTemplate->parse();
     }
     global $objPage;
     $this->objArticles = \ArticleModel::findPublishedWithTeaserByPidAndColumn($objPage->id, $this->strColumn);
     // Return if there are no articles
     if ($this->objArticles === null) {
         return '';
     }
     // Redirect to the first article if no article is selected
     if (!\Input::get('articles')) {
         if (!$this->loadFirst) {
             return '';
         }
         $strAlias = $this->objArticles->alias != '' && !$GLOBALS['TL_CONFIG']['disableAlias'] ? $this->objArticles->alias : $this->objArticles->id;
         $this->redirect($this->addToUrl('articles=' . $strAlias));
     }
     return parent::generate();
 }
Beispiel #16
0
 public function index()
 {
     //header('content-type:text/html;charset=utf-8');
     $userId = $_SESSION['qq']['userId'];
     $collect = new CollectModel();
     //查询收藏
     $user_collect = $collect->getCollectByuserId($userId);
     $article = new ArticleModel();
     $arr = array();
     foreach ($user_collect as $v) {
         //根据收藏的文章id查询文章
         $a = $article->getArticleById($v['articleId']);
         //取出admin的昵称
         $a['adminName'] = $this->getAdmin($a['adminId']);
         $arr[] = $a;
     }
     $comment = new CommentModel();
     $commentAlbum = $comment->getCommentByAlbum($userId);
     $album = new AlbumModel();
     $articles = array();
     $albums = array();
     foreach ($commentAlbum as $v) {
         if ($v['albumId'] != null) {
             $c = $album->getAlbumById($v['albumId']);
             $c['adminName'] = $this->getAdmin($v['adminId']);
             $albums[] = $c;
         }
     }
     $commentArticle = $comment->getCommentByArticle($userId);
     foreach ($commentArticle as $v) {
         if ($v['articleId'] != null) {
             $a = $article->getArticleById($v['articleId']);
             $a['adminName'] = $this->getAdmin($v['adminId']);
             $articles[] = $a;
         }
     }
     var_dump($albums);
     $this->assign('user', $_SESSION['qq']['userName']);
     //评论过的相册
     $this->assign('albums', $albums);
     //评论过的文章
     $this->assign('articles', $articles);
     //收藏
     $this->assign('user_collect', $arr);
     $this->display();
 }
Beispiel #17
0
 public function detailAction()
 {
     $p = $_REQUEST;
     $pAid = empty($p['aid']) ? 0 : intval($p['aid']);
     if (empty($pAid)) {
         echo 'error aid';
         exit;
     }
     $tMO = new ArticleModel();
     $tImgUrl = Yaf_Registry::get("config")->web->url->img;
     $tRow = $tMO->field('id aid, concat(\'' . $tImgUrl . '\', head_img)  head_img,content,(view+initview) viewtotal,title,description,created,source')->where(' id = ' . $pAid)->fRow();
     if (empty($tRow['aid'])) {
         die('该文章不存在');
     }
     $tData = array('id' => $pAid, 'view' => $tRow['viewtotal'] + 1);
     $tMO->update($tData);
     $this->assign('tRow', $tRow);
 }
 public function detail()
 {
     $aid = ggp('aid:i');
     $detail = ArticleModel::I()->find($aid);
     $sort = D('Sort')->find($detail['sort_id']);
     $this->a('$sort', $sort);
     $this->a('$detail', $detail);
     $this->d();
 }
Beispiel #19
0
 /**
  * 发布
  * @return bool
  */
 public function publishAction()
 {
     if (!$this->getRequest()->isPost()) {
         $this->responseJson(401, '请求方式不正确');
     }
     //$username = $this->getRequest()->getParam('username','');
     //$password = $this->getRequest()->getParam('password','');
     $title = $_POST['title'];
     $content = $_POST['content'];
     if (empty($title) && empty($content)) {
         $this->responseJson(401, '文章title或内容不能为空');
     }
     $article = new ArticleModel();
     $ret = $article->addArticle($title, $content);
     if ($ret[0]) {
         $this->responseJson(200, $ret[1]);
     } else {
         $this->responseJson(401, $ret[1]);
     }
     return false;
 }
Beispiel #20
0
 public function deleteAction()
 {
     if (!isset($_POST['id_article'])) {
         return json_encode(["error" => "article_id missing"]);
     }
     $article_id = $_POST['id_article'];
     $result = ArticleModel::getArticle($this->pdo, $article_id);
     if ($result['id_user'] != $_SESSION['id_user']) {
         return json_encode(['error' => 'utilisateur']);
     }
     ArticleModel::delete($this->pdo, $article_id);
     return json_encode(["message" => "delete", "article_id" => $article_id]);
 }
 public function indexAction()
 {
     if (empty(explode('/', $_SERVER['REQUEST_URI'], 4)[2])) {
         header('Location : /');
         exit;
     } else {
         $article_id = explode('/', $_SERVER['REQUEST_URI'], 4)[2];
     }
     if (ArticleModel::exists($this->pdo, $article_id)) {
         include '../app/views/article.php';
         return;
     }
 }
Beispiel #22
0
 public function indexAction()
 {
     $tTime = time();
     $tMO = new ArticleModel();
     $tDatas = $tMO->field('title,id,description')->where('is_tui = 0 and status = 1 and push_time <= ' . $tTime)->fList();
     print_R($tDatas);
     if (!count($tDatas)) {
         exit;
     }
     $tGMO = new GetuiModel();
     $tGDatas = $tGMO->field('devicetoken,cid')->fList();
     $tRedis = Cache_Redis::instance();
     foreach ($tDatas as $tRow) {
         foreach ($tGDatas as $tR) {
             $tRes = serialize(array_merge($tRow, $tR, array('type' => 'article', 'content' => '')));
             $tRedis->lpush('dakang_getui', $tRes);
         }
         $tData = array('is_tui' => 1, 'id' => $tRow['id']);
         $tMO->update($tData);
     }
     exit;
 }
Beispiel #23
0
 /**
  * Check whether the target page and article are published
  * @return string
  */
 public function generate()
 {
     $objArticle = \ArticleModel::findPublishedById($this->article);
     if ($objArticle === null) {
         return '';
     }
     $objPage = $objArticle->getPage();
     if ($objPage === null) {
         return '';
     }
     $objArticle->pid = $objPage;
     $this->objArticle = $objArticle;
     return parent::generate();
 }
 public function __call($n, $v)
 {
     $param = str_replace('action', '', $n);
     $param = str_replace('.html', '', $param);
     $article = new ArticleModel();
     $article->sql_params = array('name' => 'alias', 'value' => $param);
     $item = $article->findAllParams()[1];
     if (empty($item)) {
         die('Данный материал не доступен!');
     } else {
         // Получаем данные для корзины
         $basket_ob = new BasketModel();
         $basket = $basket_ob->getBasket();
         $labelprod = new ProductLabelModel();
         $slabel_items = $labelprod->getLabelProducts(2, 6);
         // Создаем шаблон и передаем ему нужные переменные
         $left_content = $this->template('/main/tpl_left.php', array('categories' => $this->catmenu->showMenu()));
         $sales_module = $this->template('/main/tpl_new_sales.php', array('stitle' => 'Акции', 'sitems' => $slabel_items));
         $right_content = $this->template('/main/tpl_article.php', array('article' => $item[0], 'sales_module' => $sales_module));
         $tmp = $this->template('/main/tpl_main.php', array('title' => 'Онлайн-аптека в Англии с доставкой', 'top_menu' => $this->top_menu, 'basket' => array('quantity' => $basket[0], 'price' => $basket[1]), 'left_content' => $left_content, 'right_content' => $right_content, 'fmenu' => $this->footer_menu));
         echo $tmp;
     }
 }
Beispiel #25
0
 /**
  * 首页,调用3个frame页面
  */
 function index()
 {
     //得到最新的7篇文章
     $arts = new ArticleModel();
     $list_arts_data = $arts->limit('7')->order('id desc')->select();
     //动态缓存最新文章
     if (!S('art_list')) {
         $art_list = $list_arts_data;
         S('art_list', $list_arts_data, 3600);
     } else {
         $art_list = S('art_list');
     }
     $this->assign('art_list', $art_list);
     //得到最新的5次登陆记录
     $logs = new LoginRecordModel();
     $list_logs_data = $logs->limit('7')->order('id desc')->select();
     //动态缓存登陆记录
     if (!S('log_list')) {
         $log_list = $list_logs_data;
         S('log_list', $list_logs_data, 3600);
     } else {
         $log_list = S('log_list');
     }
     $this->assign('log_list', $log_list);
     //得到最新的文章评论
     $comments = D('Comment');
     $list_com_data = $comments->limit('7')->order('id desc')->select();
     //动态缓存留言记录
     if (!S('com_list')) {
         $com_list = $list_com_data;
         S('com_list', $list_com_data, 3600);
     } else {
         $com_list = S('com_list');
     }
     $this->assign('com_list', $com_list);
     $this->display();
 }
Beispiel #26
0
 protected function EditAction($id)
 {
     try {
         $editArt = ArticleModel::findByPk($id);
     } catch (Exception $e) {
         echo "Исключение: " . $e->getMessage();
         die;
     }
     $editArt->title = $_POST['title'];
     $editArt->content = $_POST['content'];
     $editArt->id = $_POST['id'];
     $editArt->save();
     $view = new View();
     $view->display('change.php');
 }
Beispiel #27
0
 /**
  * Check whether the target page and the article are published
  *
  * @return string
  */
 public function generate()
 {
     $objArticle = \ArticleModel::findPublishedById($this->article);
     if ($objArticle === null) {
         return '';
     }
     // Use findPublished() instead of getRelated()
     $objParent = \PageModel::findPublishedById($objArticle->pid);
     if ($objParent === null) {
         return '';
     }
     $this->objArticle = $objArticle;
     $this->objParent = $objParent;
     return parent::generate();
 }
 public function getContentSliderCarousels(DataContainer $dc)
 {
     $arrOptions = array();
     $objSlider = \ContentModel::findBy('type', 'slick-content-start');
     if ($objSlider === null) {
         return $arrOptions;
     }
     while ($objSlider->next()) {
         $objArticle = \ArticleModel::findByPk($objSlider->pid);
         if ($objArticle === null) {
             continue;
         }
         $arrOptions[$objSlider->id] = sprintf($GLOBALS['TL_LANG']['tl_content']['contentSliderCarouselSelectOption'], $objArticle->title, $objArticle->id, $objSlider->id);
     }
     return $arrOptions;
 }
 protected function compile()
 {
     $arrNavigation = array();
     $objArticle = \ArticleModel::findByPid($GLOBALS['objPage']->id);
     while ($objArticle->next()) {
         if ($objArticle->addNavigation && $objArticle->published) {
             if ($objArticle->navigation_title) {
                 $objArticle->title = $objArticle->navigation_title;
             }
             $arrNavigation[] = (object) $objArticle->row();
         }
     }
     $arrNavigation[0]->css = 'first active';
     $arrNavigation[count($arrNavigation) - 1]->css = 'last';
     $this->Template->navigation = $arrNavigation;
 }
 public function createItem(CreateItemEvent $event)
 {
     $item = $event->getItem();
     if ($item->getType() == 'article') {
         $article = \ArticleModel::findByPk($item->getName());
         if ($article) {
             $page = \PageModel::findByPk($article->pid);
             if ($page) {
                 $cssID = deserialize($article->cssID, true);
                 $item->setUri(\Frontend::generateFrontendUrl($page->row()) . '#' . (empty($cssID[0]) ? $article->alias : $cssID[0]));
                 $item->setLabel($article->title);
                 $item->setExtras($article->row());
             }
         }
     }
 }