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

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
JComments 2.3 перестал быть совместим с Joostina 1.3.x и 1.4.х
при установке на Joostina 1.3 или 1.4 выдаёт это
Fatal error: Cannot redeclare class JCache in ....cache\cache.php on line 23

с чем может быть связана ошибка?
« Последнее редактирование: 28.02.2012, 18:47:02 от smart »
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #1 : 22.02.2012, 10:03:50 »
JComments не проверят, Joostina это или нет.
если это платформа ниже 1.5, то это Legacy Support и подтягиваются некоторые дополнительные библиотеки из 1.5, которых в 1.0 не было
соответственно, кто знает, что там в джустине было добавлено?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #2 : 22.02.2012, 10:05:25 »
ничего не было изменено.. 2.2 полностью поддерживается на любой Joostina.
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #3 : 22.02.2012, 11:52:44 »
Скажем так, данный релиз JComments был последним, который поддерживает Joomla 1.0, так сказать дань уважения системе, которая много лет служила верой и правдой. Что же касается Joostina, то тут все несколько сложнее - ибо она пошла совсем своим путем и у меня к сожалению нет возможности гоняться за изменениями в ее ядре. По факту, JComments поддерживает 3 различных платформы (1.0, 1.5, 2.5), поддерживать 4-ю проблематично.

Каким может быть решение? Ну пусть разработчики Joostina посмотрят класс-заглушку, который я использую в JComments 2.3.0 (/libraries/joomlatune/joomla/jcache.php) и если он не отличается от их реализации (по набору методов), то проблема решается малой кровью -я просто добавлю проверку на наличие реализации JCache. Если же нет и есть желание получить поддержку JComments, то надо допилить JCache в Joostina...

По сути, это больше проблема Joostina, чем JComments - в оригинальной Joomla 1.0 никаких JCache не было, поэтому компонент не может предугадать, что там что-то есть. Да и у разработчиков Joostina был доступ к тестовым билдам JComments 2.3.
*

Gold Dragon

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

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #5 : 22.02.2012, 12:03:24 »
И это, ребята, поторопитесь. Я планирую сегодня (крайний срок завтра) выпустить обновление. Было бы неплохо успеть внести это изменение (если оно возможно). Так что я жду ответа от разработчиков Joostina.
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #6 : 22.02.2012, 12:11:42 »
этим и занимаемся...
Если кратко, то остаются только две версии Joostina. Это 1.2.х (развитие 1.0) и 1.4 (развитие 1.3 и отказ от com_content и полностью переход на com_boss)

1.3 будут только лататься дырки а вот 1.4. получает новую жизнь :)
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #7 : 22.02.2012, 12:15:38 »
"замечательно" :( JC использует в плагинах прямую проверку на "com_content"
иными словами - х.з.
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #8 : 22.02.2012, 12:16:38 »
так в 1.3 он есть но проблема таже
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #9 : 22.02.2012, 12:19:02 »
та не в этом дело. дело в том ,что скорей всего, комментарии точно не будут совместимы с 1.4
а насчет 1.3.... это пусть смарт скажет.
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

abasia

  • Осваиваюсь на форуме
  • 23
  • 5 / 0
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #10 : 22.02.2012, 12:26:28 »
С 1.4 они совместимы, Arkadiy подправлял http://forum.joostina.ru/discussion/comment/2992#Comment_2992 с последней версией проблемы, главное под Joostina 1.3 запустить, а на 1.4 адаптируем
« Последнее редактирование: 22.02.2012, 12:39:40 от abasia »
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #11 : 22.02.2012, 13:32:44 »
Может что я не так конечно делал, но в общем опишу своими словами.

В Joostina есть библиотека с классом, который имеет имя JCache, такой же как и в заглушке.  Я не стал пока смотреть что в компоненте и как он используется и решил "ручками" исправить сам движок для пробы. Т.е. заменил имя класса библиотеки на JCacheTest (и соответственно в тех местах где он подключается) И компонент пошёл на "УРА". всё настраивается, комментарии работаю идеально. Протестировал на 1.4, всё хорошо .

Единственное, вылезло 4 нотиса в админке, но это скорее всего из за грубого переименования и связано с сессиями.

Тогда вопрос.. Как это можно решить безболезненно для компонента и совместимости? Если я правильно понимаю, то имя "JCache" используется только для ветки 1.0 и не должно влиять на остальные версии
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #12 : 22.02.2012, 13:44:12 »
Смотрите, реализация JCache для 1.0 фактически является оберткой для mosCache, и реализует всего 3 метода: getInstance, clean, get... Все, если такие методы есть в Joostina, то тогда в JComments нужна только проверка на наличие класса. Если таких методов нет - их придется добавить в Joostina...
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #13 : 22.02.2012, 13:57:16 »
smart, в том то и дело что в версиях 1.0 не было одноимённого класса JCache. Получается что сейчас два одинаковых класса пытаются подключится.. А методы  то есть


PS
и однозначно можно на "ты"  ;)
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #14 : 22.02.2012, 14:00:10 »
Кстати, прикол. Проблему можно исправить на вашей стороне... В файле /components/com_jcomments/libraries/joomlatune/joomla/jcache.php  есть проверка на наличие класса с именем JCache:

Код: php
if (!class_exists('JCache')) {

Таким образом, это не JComments подключает класс, когда он уже есть, а Joostina. Так что править нужно на стороне Joostina. Варианта 2 или - там добавить проверку, что такого класса еще нет, либо подключать его раньше, чем вызовется системный плагин JComments.
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #15 : 22.02.2012, 14:13:56 »
что-то никак не догоню...
А не проще переименовать?
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #16 : 22.02.2012, 14:30:16 »
Если вам проще переименовать класс в Joostina - переименуйте, я не против.
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #17 : 22.02.2012, 14:46:03 »
Я просто никак не могу разобраться с этой заглушкой.. то ли я что-то не так делаю или ... второе..

А если переименовать в компоненте? Всего в двух файлах и 4 местах

1642: jcomments.class.php
      8: jcache.php
      9: jcache.php
    40: jcache.php

:)
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #18 : 22.02.2012, 16:15:40 »
Нет, в компоненте ничего переименовываться не будет - этот класс-заглушка используется в Joomla 1.0, а в 1.5 и 2.5 такой класс есть штатно в системе. И менять компонент я точно не буду. Со своей стороны все что можно было - сделано - проверка на наличие JCache есть, в 1.0-2.5 все работает. А в Joostina нужно или переименовать класс, или подключать его только если такого класса еще нет.
*

Arkadiy

  • Гуру
  • 5315
  • 462 / 2
  • Крепитесь, други.
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #19 : 23.02.2012, 06:46:57 »
Переименовывать ничего не надо, иначе не будет работать без комментариев, или наоборот с комментариями. Надо сделать проверку.
*

Arkadiy

  • Гуру
  • 5315
  • 462 / 2
  • Крепитесь, други.
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #20 : 23.02.2012, 07:15:40 »
Поправил на гит, нужно проверить.
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #21 : 23.02.2012, 12:03:35 »
В том то и дело что не всё так просто.. появляется сообщение
Цитировать
Fatal error: Call to undefined method JCache::setCaching() in Z:\home\j14.qqq\www\includes\joostina.php on line 2861
тут писал
http://forum.joostina.ru/discussion/308/jcomments-2.3-new
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #22 : 23.02.2012, 12:10:08 »
А если попробовать его подключать ДО вызова системных плагинов? Тогда класс из JComments не станет подключаться...
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #23 : 23.02.2012, 12:15:09 »
видимо это будет более правильным решением. По логике должно сначала заработать полноценно ядро движка и уж потом дополнительные расширения. Как раз на примере этого компонента это и видно стало. Сейчас попробую потестировать
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #24 : 23.02.2012, 12:35:43 »
в общем сделал подключение по умолчанию в index.php на фронте и в админке.. проблем пока нет.. Есть некоторые нотисы в админке, но думаю исправимо
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #25 : 23.02.2012, 12:54:49 »
в общем ещё раз проверил.. комментарии отображаются. Но оставить их не получается, настройки не работаю (не сохраняются), форма отправки не открывается (если свёрнута) и.т.д.. Значит одного подключения перед мамботами маловато


зы
При изменении названия класса все функции работают идеально  ;D
« Последнее редактирование: 23.02.2012, 12:59:13 от Gold Dragon »
*

Arkadiy

  • Гуру
  • 5315
  • 462 / 2
  • Крепитесь, други.
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #26 : 23.02.2012, 13:16:36 »
Классы по содержанию отличаются и методами и свойствами, так-что не мудрено, но название класса менять нельзя т.к. без комментариев работать не будет.
*

smart

  • Администратор
  • 6485
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #27 : 23.02.2012, 13:20:15 »
Arkadiy, почему название класса-то поменять нельзя? Сделайте небольшой рефакторинг и переименуйте класс там, где он используется у вас. Либо реализуйте в нем те 3 метода, которые требуются для работы JComments.
*

Gold Dragon

  • Захожу иногда
  • 289
  • 33 / 2
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #28 : 23.02.2012, 13:20:37 »
да я не про переименование классов.. я про то что "костыльным решением" компонент работает. И класс я то переименовывал у компонента.. Вверху писал что именно..
*

Arkadiy

  • Гуру
  • 5315
  • 462 / 2
  • Крепитесь, други.
Re: JComments 2.3: Fatal error: Cannot redeclare class JCache in...
« Ответ #29 : 23.02.2012, 13:24:22 »
Arkadiy, почему название класса-то поменять нельзя? Сделайте небольшой рефакторинг и переименуйте класс там, где он используется у вас. Либо реализуйте в нем те 3 метода, которые требуются для работы JComments.
В джустиновском классе есть три метода, но ими не ограничивается, там их больше, так-же как и свойств. По этому надо внимательно смотреть.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JComments 3.0.5 не отправляется коммент

Автор EvaLifeTime

Ответов: 61
Просмотров: 3904
Последний ответ 04.05.2021, 19:41:25
от ErikaMaza
Не отображаються комментарии на дополнительных языках Joomla 3.4.8 + Jcomments 3.0.5

Автор orsy

Ответов: 8
Просмотров: 2799
Последний ответ 28.08.2019, 16:35:37
от draff
Не отображаются лайки для голования в комментариях JComments 3.0.7

Автор vladankov

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

Автор abbyevg

Ответов: 2
Просмотров: 734
Последний ответ 06.10.2018, 20:59:56
от abbyevg
Стандарты email рассылок и работа Jcomments

Автор dimetrius

Ответов: 15
Просмотров: 4892
Последний ответ 17.04.2018, 19:56:21
от Ishti39