A
A
Alexey Voronov2019-02-22 12:48:00
Joomla
Alexey Voronov, 2019-02-22 12:48:00

How to run the module (Errors in mod_pj_quickportfolio module after updating Joomla to 3.9.3)?

Hello!
After upgrading from Joomla 2.5 to the latest 3.9.3, the module stopped displaying content.
I'm not an expert in PHP, I read and corrected something.
Now these errors come out, but there is no content.
Notice: Undefined variable: items in \modules\mod_pj_quickportfolio\helper.php on line 63
Notice: Undefined variable: items in \modules\mod_pj_quickportfolio\helper.php on line 92
Here is the file code

<?php
/**
 * @version		$Id: helper.php 20196 2011-01-09 02:40:25Z ian $
 * @package		Joomla.Site
 * @subpackage	mod_articles_latest
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;

require_once JPATH_SITE.'/components/com_content/helpers/route.php';

jimport('joomla.application.component.model');

JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models');

abstract class modpjQuickPortfolioHelper
{
  public static function getList(&$params)
  {
    $app	= JFactory::getApplication();
    $db		= JFactory::getDbo();

    // Get an instance of the generic articles model
    $model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

    // Set application parameters in model
    $model->setState("params", JFactory::getApplication()->getParams());
    
    // Set the filters based on the module params
    $model->setState('list.start', 0);
    $model->setState('list.limit', (int) $params->get('count', 5));

    $model->setState('filter.published', 1);

    $model->setState('list.select', 'a.fulltext, a.id, a.title, a.alias, a.title_alias, a.introtext, a.state, a.catid, a.created, a.created_by, a.created_by_alias,' .
      ' a.modified, a.modified_by,a.publish_up, a.publish_down, a.attribs, a.metadata, a.metakey, a.metadesc, a.access,' .
      ' a.hits, a.featured,' .
      ' LENGTH(a.fulltext) AS readmore');
    // Access filter
    $access = !JComponentHelper::getParams('com_content')->get('show_noauth');
    $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
    $model->setState('filter.access', $access);

    // Category filter
    $model->setState('filter.category_id', $params->get('catid', array()));

    // Filter by language
    $model->setState('filter.language',$app->getLanguageFilter());

    // Set ordering
    $ordering = $params->get('ordering', 'a.publish_up');
    $model->setState('list.ordering', $ordering);
    if (trim($ordering) == 'rand()') {
      $model->setState('list.direction', '');			
    } else {
      $model->setState('list.direction', 'DESC');
    }

    //	Retrieve Content
    if(is_array($items)) foreach ($items->getItems() as $item) {
      $item->readmore = (trim($item->fulltext) != '');
      $item->slug = $item->id.':'.$item->alias;
      $item->catslug = $item->catid.':'.$item->category_alias;

      if ($access || in_array($item->access, $authorised))
      {
        // We know that user has the privilege to view the article
        $item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catid));
        $item->linkText = JText::_('MOD_ARTICLES_NEWS_READMORE');
      }
      else {
        $item->link = JRoute::_('index.php?option=com_user&view=login');
        $item->linkText = JText::_('MOD_ARTICLES_NEWS_READMORE_REGISTER');
      }

      $item->introtext = JHtml::_('content.prepare', $item->introtext);

      //new
      /*if (!$params->get('image')) {
        $item->introtext = preg_replace('/<img[^>]*>/', '', $item->introtext);
      }*/

      $results = $app->triggerEvent('onContentAfterDisplay', array('com_content.article', &$item, &$params, 1));
      $item->afterDisplayTitle = trim(implode("\n", $results));

      $results = $app->triggerEvent('onContentBeforeDisplay', array('com_content.article', &$item, &$params, 1));
      $item->beforeDisplayContent = trim(implode("\n", $results));
    }
    return $items;
  }
}

I ask to help where to dig.

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question