function display($tpl = null) { // Initialise variables. $app = JFactory::getApplication(); $user = JFactory::getUser(); $userId = $user->get('id'); $dispatcher = JDispatcher::getInstance(); $this->item = $this->get('Item'); /* if ($this->item->state == 0) { //echo 42; print_r($this->item);die(42); $this->setRedirect('..'); $this->redirect(); die(); }*/ $this->category = ideary::getCategoryById($this->item->catid); $this->writer = ideary::getWriterById($this->item->created_by); // $this->writerFiveRecentTexts = ideary::getFiveRecentTextsByAuthor($this->writer->id,$this->item->id); // if($this->item->allow_comments){ $this->comments = ideary::getCommentsByTextId($this->item->id); $comment_text_of_string = JText::_('COMMENT_TEXT_OF'); $comment_text_of_string = str_replace('{AUTHOR}', $this->writer->name, $comment_text_of_string); //$comment_text_of_string = str_replace('{X}', count($this->comments), $comment_text_of_string); $this->comment_text_of = $comment_text_of_string; // } $this->applauses = ideary::getApplausesByTextId($this->item->id); $this->applausesAndCommentsIndex = array(); $datesForSort = array(); for ($i = 0; $i < count($this->applauses); $i++) { $this->applausesAndCommentsIndex[] = array(0, $i, $this->applauses[$i]->ctime); } for ($i = 0; $i < count($this->comments); $i++) { $this->applausesAndCommentsIndex[] = array(1, $i, $this->comments[$i]->ctime); } foreach ($this->applausesAndCommentsIndex as $key => $row) { $datesForSort[$key] = $row[2]; } array_multisort($datesForSort, SORT_DESC, $this->applausesAndCommentsIndex); $this->print = JRequest::getBool('print'); $this->state = $this->get('State'); $this->user = $user; $this->is_applauded = ideary::isApplauded($this->item->id, $userId); $this->is_favorite = ideary::isFavorite($this->item->id, $userId); $this->is_saved = ideary::isSaved($this->item->id, $userId); $this->is_reported = ideary::isReported($this->item->id, $userId); $this->is_writer_followed = ideary::isFollowed($this->item->created_by, $userId); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseWarning(500, implode("\n", $errors)); return false; } // Create a shortcut for $item. $item =& $this->item; // Add router helpers. $item->slug = $item->alias ? $item->id . ':' . $item->alias : $item->id; $item->catslug = $item->category_alias ? $item->catid . ':' . $item->category_alias : $item->catid; $item->parent_slug = $item->category_alias ? $item->parent_id . ':' . $item->parent_alias : $item->parent_id; // TODO: Change based on shownoauth $item->readmore_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug)); // Merge article params. If this is single-article view, menu params override article params // Otherwise, article params override menu item params $this->params = $this->state->get('params'); $active = $app->getMenu()->getActive(); $temp = clone $this->params; // Check to see which parameters should take priority if ($active) { $currentLink = $active->link; // If the current view is the active item and an article view for this article, then the menu item params take priority if (strpos($currentLink, 'view=article') && strpos($currentLink, '&id=' . (string) $item->id)) { // $item->params are the article params, $temp are the menu item params // Merge so that the menu item params take priority $item->params->merge($temp); // Load layout from active query (in case it is an alternative menu item) if (isset($active->query['layout'])) { $this->setLayout($active->query['layout']); } } else { // Current view is not a single article, so the article params take priority here // Merge the menu item params with the article params so that the article params take priority $temp->merge($item->params); $item->params = $temp; // Check for alternative layouts (since we are not in a single-article menu item) // Single-article menu item layout takes priority over alt layout for an article if ($layout = $item->params->get('article_layout')) { $this->setLayout($layout); } } } else { // Merge so that article params take priority $temp->merge($item->params); $item->params = $temp; // Check for alternative layouts (since we are not in a single-article menu item) // Single-article menu item layout takes priority over alt layout for an article if ($layout = $item->params->get('article_layout')) { $this->setLayout($layout); } } $offset = $this->state->get('list.offset'); // Check the view access to the article (the model has already computed the values). /* if ($item->params->get('access-view') != true && (($item->params->get('show_noauth') != true && $user->get('guest') ))) { JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR')); return; } //Se Saco porque estaba entrando aca ya que no estaba asignado a ningun item de menu. 270513 */ if ($item->params->get('show_intro', '1') == '1') { $item->text = $item->introtext . ' ' . $item->fulltext; } elseif ($item->fulltext) { $item->text = $item->fulltext; } else { $item->text = $item->introtext; } // // Process the content plugins. // JPluginHelper::importPlugin('content'); $results = $dispatcher->trigger('onContentPrepare', array('com_content.article', &$item, &$this->params, $offset)); $item->event = new stdClass(); $results = $dispatcher->trigger('onContentAfterTitle', array('com_content.article', &$item, &$this->params, $offset)); $item->event->afterDisplayTitle = trim(implode("\n", $results)); $results = $dispatcher->trigger('onContentBeforeDisplay', array('com_content.article', &$item, &$this->params, $offset)); $item->event->beforeDisplayContent = trim(implode("\n", $results)); $results = $dispatcher->trigger('onContentAfterDisplay', array('com_content.article', &$item, &$this->params, $offset)); $item->event->afterDisplayContent = trim(implode("\n", $results)); // Increment the hit counter of the article. if (!$this->params->get('intro_only') && $offset == 0) { $model = $this->getModel(); $model->hit(); } //Escape strings for HTML output $this->pageclass_sfx = htmlspecialchars($this->item->params->get('pageclass_sfx')); $this->_prepareDocument(); parent::display($tpl); }