Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 124 Ответов
  • 16602 Просмотров
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #30 : 23.02.2012, 13:25:46 »
вот пытаюсь все возможные варианты попробовать, чтоб прийти к решению с меньшими потерями.. а может где просто точку с запятой нужно будет поставить :)
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #31 : 23.02.2012, 13:31:25 »
Arkadiy, больше - не меньше, главное чтобы были те три, что нужны для работы JComments. Тогда если вы подключите класс ДО вызова системных плагинов, все будет работать. Ну по крайней мере должно (если сигнатура методов совпадает).
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #32 : 23.02.2012, 13:33:38 »
подключал.. не работают почти все функции

В 1.0 вообще есть класс JCache?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #33 : 23.02.2012, 13:38:21 »
В 1.0 нету, но он нужен для комментариев, по этому есть в комментариях. Наш класс видимо сильно отличается от заглушки.
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #34 : 23.02.2012, 13:51:03 »
так я про это и говорю..

что мешает в компоненте просто его переименовать.. на работу1.0 он никак не повлияет, просто другое имя. а вот у 1.3 такое класс в системе есть и возникает уже конфликт..

в 2.2. было
Код
mosCache::getCache($group);
что отлично стыкуется с 1.3

теперь
Код
$cache = JCache::getInstance($handler, array('defaultgroup' => $group));
что вызывает ошибку
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #35 : 23.02.2012, 13:55:55 »
Ну никаких mosCache в JComments явно больше не будет. Блин, мужики, я не могу понять, в чем проблема? Сложно реализовать 3 метода? Ну если у вас нет getInstance - возьмите его у меня...
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #36 : 28.02.2012, 17:08:08 »
Ну так что, комрады? Что решили-то?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #37 : 28.02.2012, 17:10:51 »
Да форкнули просто. Вроде работает (у Дракона).
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #38 : 28.02.2012, 17:13:01 »
Кого форкнули-то? JComments? Зачем?
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #39 : 28.02.2012, 17:14:59 »
так может немного в компонент добавить проверки? т.е. у 1.3 и 1.4 есть теперь чёткая проверка на версии..

smart, ты не против? Если нет, то я ещё раз прогоню и напишу что делал. Но скорее всего Arkadiy лучший вариант предложил.. Добавить свою заглушку для этих версий и немного по другому использовать getUser()
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #40 : 28.02.2012, 17:15:42 »
Цитировать
Кого форкнули-то? JComments? Зачем?
Да не бойся :) просто искали оптимальные и малокровные разные решения...
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #41 : 28.02.2012, 17:26:06 »
Я вот хоть убей не понимаю, зачем добавлять какие-то проверки? Ну вот я скачал Arkadiy-Sedelnikov-joostina-1.4-81e4a24, там есть JCache, причем с поддержкой методов getInstance, get и clean. Никакие другие методы для работы JComments у этого класса не требуются. В чем тогда проблема-то? Подключите свой класс раньше, чем подключится заглушка из JComments и все...

Что же касается проблемы с getUser, я вообще не понимаю, зачем вы по-прежнему используете глобальные переменные-то? Блин, это же позапрошлый век...

И еще, там у вас на форуме встретил цитату:
Цитировать
Кардинальных различий между 2.2 и 2.3 нет, по этому я даже и не думал новую версию приспосабливать, а 2.2 работет как часы.
так вот, вы наверно слабо представляете объем изменений и оптимизации...

p.s. В принципе, учитывая тот факт, что в следующей версии JComments никакой поддержки 1.0 не будет, было принято решение, разделить компонент на две ветки. Новая ветка будет поддерживать 2.5 и выше, а вот в старой ветке возможна поддержка 1.0 и, возможно (есть тут один безумец), появится поддержка Mambo ;)

p.p.s А в порядке исключения (если объясните, как однозначно отличить 1.3 от 1.4 и какие изменения), могу в следующем апдейте добавить проверку - а потом оно все уйдет в другую ветку.
« Последнее редактирование: 28.02.2012, 17:30:24 от smart »
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #42 : 28.02.2012, 17:36:30 »
Цитировать
Подключите свой класс раньше, чем подключится заглушка из JComments и все...
пробовали, многое отваливается, а "ремонт" время займёт прилично.

Цитировать
Что же касается проблемы с getUser, я вообще не понимаю, зачем вы по-прежнему используете глобальные переменные-то? Блин, это же позапрошлый век...
да с удовольствием избавились бы если бы не многое было завязано :) Не всё сразу пока выходит, да и приоритет сейчас малость в другом
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #43 : 28.02.2012, 17:45:07 »
А в чем проблема с getUser? Я посмотрел в версии 1.4 такой метод у mainframe есть... в 1.3 тоже есть.

Если я правильно понял, то ваша реализация JCache есть в /includes/libraries/cache/cache.php и этот путь постоянен для обоих версий Joostina?

*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #44 : 28.02.2012, 18:07:56 »
Так, по сути проблема решается очень просто (по крайней мере на 1.3 все работает):

1. В самое начало файла /components/com_jcomments/libraries/joomlatune/joomla/jcache.php добавляем:
Код: php
if (defined('JPATH_BASE')) {
$cacheImpl = JPATH_BASE.DS.'includes'.DS.'libraries'.DS.'cache'.DS.'cache.php';
if (is_file($cacheImpl)) {
if (!defined('JPATH_ROOT')) {
define('JPATH_ROOT', JPATH_BASE);
}
require_once($cacheImpl);
}
}

2. В файле /components/com_jcomments/jcomments.class.php заменяем:
Код: php
				global $mainframe;
$user = $mainframe->getUser();
на
Код: php
				if (defined('JPATH_BASE')) {
global $my;
$user = $my;
} else {
global $mainframe;
$user = $mainframe->getUser();
}

3. В файле /administrator/components/com_jcomments/install/helpers/language.php после строчек:
Код: php
						$newFile = str_replace( $code . '.com_jcomments.ini', $language . '.ini', $file);
@copy((string) $file, $newFile);
добавляем:
Код: php
						$content = implode('', file($newFile));
$content = self::_replaceCommentsAndQuotes($content);

$fp = fopen($newFile , "w");
if ($fp) {
fputs($fp, $content);
fclose($fp);
}

4.  В файле /administrator/components/com_jcomments/uninstall.jcomments.php заменяем:
Код: php
if (defined('JPATH_ROOT')) {
на
Код: php
if (defined('_JEXEC') && class_exists('JApplication')) {

И все...


« Последнее редактирование: 28.02.2012, 19:10:28 от smart »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #45 : 28.02.2012, 18:08:13 »
Цитировать
А в чем проблема с getUser?
Вот пораньше бы спросил, я бы вспомнил, один из методов получения пользователя комментариями выдает ошибку, метод такой есть, но он не используется, возможно косяченный, правильный написал на соседнем форуме.

Цитировать
Если я правильно понял, то ваша реализация JCache есть в /includes/libraries/cache/cache.php и этот путь постоянен для обоих версий Joostina?
Да, она здесь есть и там и там в неизменном виде. Все методы, которые есть в твоей заглушке присутствуют и в этом файле, но их там больше, из-за этого проблемы. Если хочешь всерьез заняться совместимостью с джустиной, могу помочь, но немного позже, сейчас сильно загружен.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #46 : 28.02.2012, 18:14:06 »
Ну по сути, изменений всего-ничего. На 1.4 тоже все ставится, настройки сохраняются. Единственная проблема, которую я заметил - настройки как-то намертво кэшируются, сходу не готов сказать, как это обойти, надо подумать. Ну и дальше вопрос с интеграцией со встроенным ССК в 1.4... Больше я никаких проблем не вижу.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #47 : 28.02.2012, 18:16:40 »
Цитировать
И все...
Ну на первый взгляд да, но я у себя все это устранил, но не все заработало на 1.4. Между 1.3 и 1.4 единственная разница - com_content заменил на JoiBoss, системные файлы затронуты небыли, так-что для комментариев это одна и та-же система.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Ну по сути меняется таблица категорий и, как следствие, в настройках нет категорий. Т.е. чтобы все заработало нужно еще править запрос на категории... Или, или вместо этого использовать какие-то настройки из этого CCK, т.е. положиться на него - и пусть он решает, показывать комментарии или нет. А в настройках JComments  вообще скрыть параметр Категории. Ну и плагин для поддержки ссылок из JoiBoss
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
В принципе, реализация, когда принятие решения о доступности комментариев возложено на компонент, в который интегрируемся -  это нормальное решение. По сути, списку категорий com_content в настройках JComments делать нечего, а место этому списку - в параметрах плагина Content - JComments. Но учитывая тот факт, что их там многие не заметят, а вопросов будет много - я оставил их пока в настройках.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Ну мне проще в этом смысле, все в наших руках, что хотим то творим, можно и в настройки категории разрешение комментариев сделать.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Вот поэтому я и говорю, что для 1.3 все может работать как работало, а для 1.4 не использовать плагин (можно добавить туда проверку) и рулить всем уже из JoiBoss
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Унинсталл 2.3.0 не справился, удалил только запись в таблице компонентов, потом выдал ошибку об отсутствии Jfactory, ее у нас действительно нет.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
А, блин, вы же определили JPATH_ROOT... Хорошо, я обновлю предыдущий топик
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Пока к 2.3.0 - В корне появились папки cachecom_jcomments, cachecom_jcomments_objects_com_boss_1, cachecom_jcomments_objects_com_content, cachecom_jcomments_subscriptions_com_boss_1, куда-то делись сепараторы.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
2.3.0.1 - при сохранении настроек пишет что они сохранены успешно, но врет, что видно после обновления страницы.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Я поправил инструкцию, теперь удаляться будет без проблем. Что касается кэша - я тоже это заметил, не сразу понял, что это не так задумано. Куда пропали - я думаю вопрос к вам, я просто задаю группу кэша и больше ничего не указываю.

2.3.0.1 - при сохранении настроек пишет что они сохранены успешно, но врет, что видно после обновления страницы.
не врет, если удалить папку с кэшем (та которая без сепаратора), видно, что настройки обновились. я проверял...
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
В консоли в ответе пишет
Код
Notice: Constant JPATH_SITE already defined in W:\html\joostina14\www\administrator\index3.php on line 32
Код
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at W:\html\joostina14\www\administrator\index3.php:32) in W:\html\joostina14\www\administrator\index3.php on line 43
Код
Warning: Cannot modify header information - headers already sent by (output started at W:\html\joostina14\www\administrator\index3.php:32) in W:\html\joostina14\www\administrator\index3.php on line 45

Получается что AJAX не проверяет исполнение запроса, раз уж при таком бардаке в ответе выдает что все сохранилось?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Я поправил инструкцию, теперь удаляться будет без проблем. Что касается кэша - я тоже это заметил, не сразу понял, что это не так задумано. Куда пропали - я думаю вопрос к вам, я просто задаю группу кэша и больше ничего не указываю.
не врет, если удалить папку с кэшем (та которая без сепаратора), видно, что настройки обновились. я проверял...
Видимо действительно дело в кеше, сейчас гляну.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Jcomments & Joomla 3.5 & PHP 7

Автор ProtectYourSite

Ответов: 11
Просмотров: 6816
Последний ответ 15.01.2024, 14:02:36
от Vastriet
Не отображаються комментарии на дополнительных языках Joomla 3.4.8 + Jcomments 3.0.5

Автор orsy

Ответов: 11
Просмотров: 4701
Последний ответ 20.12.2021, 15:44:35
от igorsuccess
JComments 3.0.5 не отправляется коммент

Автор EvaLifeTime

Ответов: 61
Просмотров: 10689
Последний ответ 04.05.2021, 19:41:25
от ErikaMaza
Не отображаются лайки для голования в комментариях JComments 3.0.7

Автор vladankov

Ответов: 1
Просмотров: 2128
Последний ответ 31.07.2019, 18:50:02
от denistischenko
Не отображается защитный код JComments (и не меняется на reCaptcha)

Автор abbyevg

Ответов: 2
Просмотров: 1676
Последний ответ 06.10.2018, 20:59:56
от abbyevg