В джумле ни с того, ни с сего начало выдавать ошибки:
Warning: Invalid argument supplied for foreach() in /home/eball/public_html/modules/ mod_latestnews/helper.php on line 105
Warning: Invalid argument supplied for foreach() in /home/eball/public_html/modules/ mod_mostread/helper.php on line 75
и так почти на все модули. В указанных строках ( $rows as $row ))
Обновил Joomla до 20-ки - не помогло. Алиасы прописаны латиницей.
Содержимое модулей не показывает.
Админы хостинга проверяли базы данных - там все нормально.
Заоранее спасибо.
Спустя 12 минут, 5 секунд (14.08.2010 - 11:59) FatCat написал(а):
print_r($rows) посмотри что показывает и посмотри откуда и как формируется переменная $rows.
Спустя 59 минут, 21 секунда (14.08.2010 - 12:58) HELLRIDER написал(а):
В файле helper.php
написано
$rows = $db->loadObjectList();
print_r($rows)
Не нашел нигде:(
написано
$rows = $db->loadObjectList();
print_r($rows)
Не нашел нигде:(
Спустя 2 минуты, 35 секунд (14.08.2010 - 13:01) Lenarfate написал(а):
че ты там искал. впиши print_r($rows) и посмотри, что выдает.
Цитата |
print_r() выводит пригодную для чтения человеком информацию о переменной. Если задано string, integer или float, печатается само значение. Если задан array, значения будут представлены в формате с показом ключей и элементов. Аналогичная нотация используется для object. |
Спустя 4 часа, 16 минут, 5 секунд (14.08.2010 - 17:17) HELLRIDER написал(а):
Lenarfate
Я прошу прощения, ибо не знаток в этом деле:)
Куда вписать и ка кпроверить? В каком файле?
Какие данные мне нужно смотреть?
Я прошу прощения, ибо не знаток в этом деле:)
Куда вписать и ка кпроверить? В каком файле?
Какие данные мне нужно смотреть?
Спустя 2 минуты, 15 секунд (14.08.2010 - 17:19) Lenarfate написал(а):
/home/eball/public_html/modules/ mod_latestnews/helper.php
в этот файл в коней впши print_r($rows) и посмотри что выводит.
в этот файл в коней впши print_r($rows) и посмотри что выводит.
Спустя 17 минут, 35 секунд (14.08.2010 - 17:36) HELLRIDER написал(а):
Когда вписываешь print_r($rows) в конце файлы или в любое место - выдает ошибку - Parse error: syntax error, unexpected $end in /home/eball/public_html/modules/mod_mostread/helper.php on line 90
Спустя 1 минута, 40 секунд (14.08.2010 - 17:38) Lenarfate написал(а):
я тебе советую пойти сюда http://irbis-team.com/15/1
твои вопросы уровня "первый раз вижу компьютер"
твои вопросы уровня "первый раз вижу компьютер"
Спустя 2 минуты, 41 секунда (14.08.2010 - 17:41) HELLRIDER написал(а):
А что это великий грех? Или тут помощь оказывают только профессионалам?
ты не поверишь, но даже таким далеким как я бывает дают советы и до меня (опять не поверишь!) доходит.
Если желания помочь нет, а времени жалко своего тратить - зачем тогда встревать?
ты не поверишь, но даже таким далеким как я бывает дают советы и до меня (опять не поверишь!) доходит.
Если желания помочь нет, а времени жалко своего тратить - зачем тогда встревать?
Спустя 3 минуты, 28 секунд (14.08.2010 - 17:44) Lenarfate написал(а):
Цитата |
Когда вписываешь print_r($rows) в конце файлы или в любое место - выдает ошибку - |
ты знаешь, что в конце каждого выражения нужно ставить ;
Спустя 13 минут, 8 секунд (14.08.2010 - 17:57) HELLRIDER написал(а):
Все равно ошибку ту же выдает.....
Спустя 23 минуты, 9 секунд (14.08.2010 - 18:21) Lenarfate написал(а):
где то забыл поставить ;
Спустя 12 минут, 17 секунд (14.08.2010 - 18:33) HELLRIDER написал(а):
Ничего не поменялось.
И на всех helper.exe показывает одно и то же. А еще три дня назад подключались все модули.
Может надо как-то подключение к базе проверить?
И на всех helper.exe показывает одно и то же. А еще три дня назад подключались все модули.
Может надо как-то подключение к базе проверить?
Спустя 1 минута, 51 секунда (14.08.2010 - 18:35) HELLRIDER написал(а):
Выкладываю полностью исходный файл helper.exe
может кто-то найдет неладное:(
может кто-то найдет неладное:(
<?PHP
/**
* @version $Id: helper.php 14401 2010-01-26 14:10:00Z louis $
* @package Joomla
* @copyright Copyright © 2005 - 2010 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
require_once (JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');
class modLatestNewsHelper
{
function getList(&$params)
{
global $mainframe;
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
$userId = (int) $user->get('id');
$count = (int) $params->get('count', 5);
$catid = trim( $params->get('catid') );
$secid = trim( $params->get('secid') );
$show_front = $params->get('show_front', 1);
$aid = $user->get('aid', 0);
$contentConfig = &JComponentHelper::getParams( 'com_content' );
$access = !$contentConfig->get('show_noauth');
$nullDate = $db->getNullDate();
$date =& JFactory::getDate();
$now = $date->toMySQL();
$where = 'a.state = 1'
. ' AND ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )'
. ' AND ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )'
;
// User Filter
switch ($params->get( 'user_id' ))
{
case 'by_me':
$where .= ' AND (created_by = ' . (int) $userId . ' OR modified_by = ' . (int) $userId . ')';
break;
case 'not_me':
$where .= ' AND (created_by <> ' . (int) $userId . ' AND modified_by <> ' . (int) $userId . ')';
break;
}
// Ordering
switch ($params->get( 'ordering' ))
{
case 'm_dsc':
$ordering = 'a.modified DESC, a.created DESC';
break;
case 'c_dsc':
default:
$ordering = 'a.created DESC';
break;
}
if ($catid)
{
$ids = explode( ',', $catid );
JArrayHelper::toInteger( $ids );
$catCondition = ' AND (cc.id=' . implode( ' OR cc.id=', $ids ) . ')';
}
if ($secid)
{
$ids = explode( ',', $secid );
JArrayHelper::toInteger( $ids );
$secCondition = ' AND (s.id=' . implode( ' OR s.id=', $ids ) . ')';
}
// Content Items only
$query = 'SELECT a.*, ' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
($show_front == '0' ? ' LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id' : '') .
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE '. $where .' AND s.id > 0' .
($access ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
($catid ? $catCondition : '').
($secid ? $secCondition : '').
($show_front == '0' ? ' AND f.content_id IS NULL ' : '').
' AND s.published = 1' .
' AND cc.published = 1' .
' ORDER BY '. $ordering;
$db->setQuery($query, 0, $count);
$rows = $db->loadObjectList();
$i = 0;
$lists = array();
foreach ( $rows as $row )
{
if($row->access <= $aid)
{
$lists[$i]->link = JRoute::_(ContentHelperRoute::getArticleRoute($row->slug, $row->catslug, $row->sectionid));
} else {
$lists[$i]->link = JRoute::_('index.php?option=com_user&view=login');
}
$lists[$i]->text = htmlspecialchars( $row->title );
$i++;
}
return $lists;
}
}
Спустя 4 минуты, 27 секунд (14.08.2010 - 18:39) Lenarfate написал(а):
что делает этот метод loadObjectList() ?
Спустя 18 минут, 26 секунд (14.08.2010 - 18:58) HELLRIDER написал(а):
По книге: используется для выборки массива объектов представляющих собой наследники stdClass с именами полей совпадающих с именами столбцов в таблице.
Как это перевождится на русский язык - без понятия:(
Как это перевождится на русский язык - без понятия:(
Спустя 13 минут, 5 секунд (14.08.2010 - 19:11) Lenarfate написал(а):
Цитата |
Как это перевождится на русский язык - без понятия:( |
зачем ты вообще лезишь в такие дебри, для начала основы изучи.
по делу:
видимо $rows пустой. не зря тебе сказали посмотреть, что в нем.
после этого
$rows = $db->loadObjectList();пиши
print_r($rows);
и смотри, что в браузер выводится
Спустя 5 часов, 33 минуты, 38 секунд (15.08.2010 - 00:44) Guest написал(а):
Первое что бросается в глаза
Вообще, если хотите, чтоб вам помогли, сосредоточьте внимание на предидущих и последующих строках той в коей ошибка - 90
$where = 'a.state = 1'- точки в начале строки перенесите в конец предидущих строк.
. ' AND ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )'
. ' AND ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )'
;
Вообще, если хотите, чтоб вам помогли, сосредоточьте внимание на предидущих и последующих строках той в коей ошибка - 90
Спустя 9 часов, 5 минут, 43 секунды (15.08.2010 - 09:50) HELLRIDER написал(а):
Спасибо за советы.
Точки преместил, фразу дописал - результат тот же. Ошибка в строке 105...
Точки преместил, фразу дописал - результат тот же. Ошибка в строке 105...
Спустя 26 минут, 39 секунд (15.08.2010 - 10:17) linker написал(а):
...
$db->setQuery($query, 0, $count);
$rows = $db->loadObjectList();
if (!is_array($rows)) return array();
...
Спустя 1 час, 28 минут, 1 секунда (15.08.2010 - 11:45) HELLRIDER написал(а):
linker
так убирается предупреждение об ошибке ,но не показывается содержимое модуля
так убирается предупреждение об ошибке ,но не показывается содержимое модуля
Спустя 1 час, 16 секунд (15.08.2010 - 12:45) HELLRIDER написал(а):
Решилось-таки мое горе:)
Проблема была в шаблоне. Видимо, когда менял css и html в его файлах - что-то лишнее убрал. Переустановил шаблон и все путем.
Всем спасибо. Без вас не стал бы шариться по кодам и не заметил бы лажу:)
Проблема была в шаблоне. Видимо, когда менял css и html в его файлах - что-то лишнее убрал. Переустановил шаблон и все путем.
Всем спасибо. Без вас не стал бы шариться по кодам и не заметил бы лажу:)