Deutsch

Joomla 1.5 и sh404sef

235  
helper2008 свой человек18.01.13 16:47
helper2008
NEW 18.01.13 16:47 
Я фигею, сколько мусора в кишках ваших CMS.
Тут обратился родственник, попросил помочь.
На сайте ни с того ни с сего перестал работать сабжевый модуль.
Выдаёт:
Parse error: parse error, unexpected T_STATIC, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/***/public_html/administrator/components/com_sh404sef/shJConfig.class.php on line 19
Отключаю в админке этот модуль, стартовая страница грузится, а остальные выдают 404.
Как исправить? Хотя бы в общих чертах намекните. Сижу и плююсь на всё это.
вполяне - жизнь в лесу
#1 
voxel3d патриот18.01.13 17:33
voxel3d
NEW 18.01.13 17:33 
в ответ helper2008 18.01.13 16:47
Попробуй ошибку поправить. Или посмотри, может проапдейтить надо и оно само починится?
Dropbox - средство синхронизации и бэкапа файлов.
#2 
helper2008 свой человек18.01.13 18:03
helper2008
NEW 18.01.13 18:03 
в ответ voxel3d 18.01.13 17:33
хз, чего тут в 19 строке править:
В ответ на:

<?php
/**
* SEF extension for Joomla! 1.5
*
* @author $Author: shumisha $
* @copyright Yannick Gaultier - 2009-2010
* @package sh404SEF-15
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* @version $Id: shJConfig.class.php 1205 2010-04-06 18:01:40Z silianacom-svn $
*/
// Security check to ensure this file is being included by a parent file.
if (!defined('_JEXEC')) die('Direct Access to this location is not allowed.');
class shJConfig {
static $_joomlaConfig = false;
function get( $property, $default = null) {
// read current config from file
if (self::$_joomlaConfig === false) {
self::_readJoomlaConfig();
}
// search for requested property
$pattern = '/\$' . preg_quote($property) . '\s*=\s*\'(.*)\'/Ui';
$matches = null;
$found = preg_match( $pattern, self::$_joomlaConfig, $matches);
// extract result
if ($found) {
$value = $matches[1];
} else {
$value = $default;
}
// return value read or default
return $value;
}
function set( $property, $value) {

// read current config from file
if (self::$_joomlaConfig === false) {
self::_readJoomlaConfig();
}
// search for requested property
$pattern = '/(\$' . preg_quote($property) . '\s*=\s*\'(.*)\')/Ui';
$matches = null;
$found = preg_match( $pattern, self::$_joomlaConfig, $matches);
// insert new value
if ($found) {
jimport( 'joomla.utilities.string');
$newValue = '$' . $property . " = '" . $value . "'";
self::$_joomlaConfig = str_replace( $matches[1], $newValue, self::$_joomlaConfig);
}
// now save to file
return self::_writeJoomlaConfig();

}
function _readJoomlaConfig() {
// import joomla file libraries
jimport( 'joomla.filesystem.file');
// read config file content
$fileName = JPATH_CONFIGURATION . DS . 'configuration.php';
self::$_joomlaConfig = JFile::read( $fileName);
}
function _writeJoomlaConfig() {
// import joomla file libraries
jimport( 'joomla.filesystem.file');
// do we have a content to write ?
if (self::$_joomlaConfig) {
$fileName = JPATH_CONFIGURATION . DS . 'configuration.php';
$written = JFile::write( $fileName, self::$_joomlaConfig);
}
// send result
return $written == JString::strlen( self::$_joomlaConfig);
}
}

А проапгрейдить модуль в админке? Я не нашёл. И ничего не сломается?
Вообще то странно. Ведь никто ничего не трогал. Всё работало. И тут бац, вторая смена ...
вполяне - жизнь в лесу
#3 
CoDSP посетитель18.01.13 19:37
CoDSP
NEW 18.01.13 19:37 
в ответ helper2008 18.01.13 18:03, Последний раз изменено 18.01.13 19:43 (CoDSP)
(не знаю как в оригинале выглядет), так попробуйте закрыть, если не закрыто
?>
оригинальная строка пхп файлов:
// No direct access
defined('_JEXEC') or die;
не знаю как в новых версиях.
#4 
helper2008 свой человек18.01.13 20:09
helper2008
NEW 18.01.13 20:09 
в ответ CoDSP 18.01.13 19:37
Спасибо, ?> добавил, но не помогло. Всё как и было, ругается на 19 строку.
Что делать с
// No direct access
defined('_JEXEC') or die;

не понял.
вполяне - жизнь в лесу
#5 
Vovan(ator) старожил18.01.13 20:48
Vovan(ator)
NEW 18.01.13 20:48 
в ответ helper2008 18.01.13 20:09
В ответ на:
No direct access
defined('_JEXEC') or die;

Это первые строчки в соде джумловских сайтов с версии 1.6 помоему.
Они предотвращают прямой вызов скрипта.
Если у тебя версия 1.5,
то если мне память не изменяет,
то у тебя эта строчка по другому должна выглядеть
в твоём скрипте она правильно, здесь ничего менять не надо.
if (!defined('_JEXEC')) die('Direct Access to this location is not allowed.');
#6 
Vovan(ator) старожил18.01.13 21:02
Vovan(ator)
NEW 18.01.13 21:02 
в ответ helper2008 18.01.13 16:47
В ответ на:
Как исправить? Хотя бы в общих чертах намекните

- Какая версия php на сервере?
- Когда были какие-нибудь апдэйты на сервере?
- кто-нибудь и что-нибудь колдовал со скриптами до появления ошибки?
Попробуй полностью этот модуль удалить и потом полностью занова установить.
Только не забудь бэкап сделать с БД и с папок с файлами.
#7 
helper2008 свой человек18.01.13 21:16
helper2008
NEW 18.01.13 21:16 
в ответ Vovan(ator) 18.01.13 21:02
1. Как узнать версию PHP?
2. хз, чего они там на сервере обновляли. Провайдер Агава
3. Никто и никогда. Работает - не трогай. Никто и не трогал. Меняли только цены через юзерский вход (не админский)
Бэкап директорий есть. По ФТП как то скачал.
Как сделать бэкап БД?
Спасибо.
вполяне - жизнь в лесу
#8 
Vovan(ator) старожил18.01.13 21:36
Vovan(ator)
NEW 18.01.13 21:36 
в ответ helper2008 18.01.13 21:16, Последний раз изменено 18.01.13 21:43 (Vovan(ator))
В ответ на:
1. Как узнать версию PHP?

можно зайти через админку хостера не джумловскую и посмотреть что там стоит.
В ответ на:
Как сделать бэкап БД?

Тоже через админку хостерскую открыть phpMyAdmin
А там уже по версии смотреть как можно БД експортировать.
В разных версиях и у разных провайдеров по разному это делается.
Или можно тоже через админку провайдера, только найти где у них там бэкап делается и там сделать сразу на сервере.
#9 
helper2008 свой человек18.01.13 22:02
helper2008
18.01.13 22:02 
в ответ Vovan(ator) 18.01.13 21:36
1.
В ответ на:

Информация о сервере
Операционная система FreeBSD
Версия ядра 7.4-RELEASE-p3
версия Apache 1.3.41 (Unix)
версия Perl 5.10.1
Путь к Perl /usr/bin/perl
Путь к sendmail /usr/sbin/sendmail
Установленные Perl-модули Подробнее...
версия cPanel 11.18.6-STABLE 24739
Theme cPanel X v2.2
Документация Подробнее...
Версия MySQL 5.0.92-log

Больше ничего нет.
А, вот ещё что есть:
В ответ на:

Выбор версии PHP
По умолчанию используется PHP версии 4.3.9, но Вы можете выбрать любую другую из перечисленных ниже:
4.3.9
4.4.x
5.2.x
5.3.x

2. В phpMyAdmin
В ответ на:

phpMyAdmin - 2.11.9.2
Версия MySQL-клиента: 4.1.20

Сейчас поищу бэкапы руками хостера.
Спасибо.
вполяне - жизнь в лесу
#10 
Vovan(ator) старожил18.01.13 22:08
Vovan(ator)
NEW 18.01.13 22:08 
в ответ helper2008 18.01.13 22:02, Последний раз изменено 18.01.13 22:09 (Vovan(ator))
В phpMyAdmin всё в принципе просто.
входишь, выбираешь в левой колонке БД, а в верхнем меню ищешь "Exportieren"
Оставляешь стандартные настройки и подтверждаешь что хочешь сохранить.
И сохраняешь у себя на компе.
Это лучше делать, на всякий случай, вдруг ещё хуже станет
А потом, можешь от туда выходить и переустанавливать свой модуль в джумле
#11 
helper2008 свой человек18.01.13 22:11
helper2008
NEW 18.01.13 22:11 
в ответ helper2008 18.01.13 22:02
Всё, БД забекапил.
Как в этой Джумле устанавливать новые модули?
А если сначала поставить более новую версию, а старую просто отключить?
вполяне - жизнь в лесу
#12 
Vovan(ator) старожил18.01.13 22:28
Vovan(ator)
NEW 18.01.13 22:28 
в ответ helper2008 18.01.13 22:11
Можешь попробовать так сделать, только я сторонник того, чтоб старые убирать, а потом новые ставить.
хотя, попробуй, может не будут мешать один другому.
Ты знаешь какой модуль не фурычит?
Если да, то заходишь в ждумловскую админку и в верхнем меню находишь "Erweiterungen"
Туда кликаешь, а потом находишь "Verwalten"
там находишь портачный модуль и деактивируешь его или удаляешь (что ты надумаешь)
Только смотри, могут быть модули, которые с плугинами вместе работают.
ну и плугины там тоже можно посмотреть.
А если нужно установить новый, то убедись, что его версия (того модуля, который ты скачал в сети) с твоей версией джумла совпадает.
Тоже на этой странице кликаешь "Installieren" и находишь где ты сохранил у себя на компе новую версию модуля или что ты там скачал.
По идее должно всё автоматически установиться.
Возможно потом нужно будет этот модуль или плугин только активировать потом.
#13 
Vovan(ator) старожил19.01.13 20:38
Vovan(ator)
NEW 19.01.13 20:38 
в ответ Vovan(ator) 18.01.13 22:28
Ну так как успехи?
получилось?
#14 
helper2008 свой человек20.01.13 10:26
helper2008
NEW 20.01.13 10:26 
в ответ Vovan(ator) 19.01.13 20:38
хз. И удалял компонент, и новый устанавливал, и по ФАКу настраивал - один хрен не работает.
Пусть обращается к цемээсникам. У меня нервов не хватает в этом говне копаться :-)
Спасибо за помощь.
вполяне - жизнь в лесу
#15 
  L@nixx завсегдатай20.01.13 11:50
NEW 20.01.13 11:50 
в ответ helper2008 18.01.13 16:47
это какой то модулы для оптимизации SEO. выруби его.
он его купил? если нет, то возможно тут найдешь какую то подсказку...
http://rutracker.org/forum/viewtopic.php?t=2863765
#16 
helper2008 свой человек20.01.13 12:06
helper2008
NEW 20.01.13 12:06 
в ответ L@nixx 20.01.13 11:50, Последний раз изменено 20.01.13 12:08 (helper2008)
Вырубаю, по всем ссылкам лезет 404.
Купил ли он, хз.
Я уже откуда то скачивал. Может это другой?
Скорее всего, там были какие то хитрые настройки этого модуля. Как теперь их восстановить?
вполяне - жизнь в лесу
#17 
  L@nixx завсегдатай20.01.13 12:12
NEW 20.01.13 12:12 
в ответ helper2008 20.01.13 12:06
ну то, что 404 лезет это понятно. в конечном счете он оптимирует линки и вырубив модуль страницы становятся не доступными. кэш почисть ну или может забыл что выключить.
я думаю произошло обновление или php или самой joomla, к чему модуль не был готов. похоже скорее на обновление php версии.
#18