Помощник
Здравствуйте, гость ( Вход | Регистрация )
1. В этой ветке обсуждаются ТОЛЬКО ошибки, записанные в логах системы или сервера.
2. В заголовке темы четко покажите название ошибки или ее номер.
3. В сообщении же приведите полный текст ошибки, ее адрес (имя файла и номер строки), файл, в котором возникает ошибка.
При нарушении правил, изложенных выше - тема удаляется без предупреждения.
Ошибка Warning: strpos() [<a href='function.strpos'>function.strpos</a>] |
LEXSOR |
2011-01-30, 10:41
Сообщение
#1
|
|
Заглянувший Группа: Eleanor user Сообщений: 9 Регистрация: 2011-01-29 Из: Рязань Репутация: нет Всего: нет |
Уже таких ошибок около 20 идут подряд
Warning: strpos() [<a href='function.strpos'>function.strpos</a>]: Empty delimiter Line: 499 in file /var/www/u1421030/data/www/rai-rzn.ru/classes/others/class_editor.php URL: /admin.php?section=modules&key=8fe392d1814d830c3f00ca524d969169&module=news&save=new Date: 2011-01-29 22:16:09 IP: 86.110.177.81 Warning: strpos() [<a href='function.strpos'>function.strpos</a>]: Empty delimiter Line: 499 in file /var/www/u1421030/data/www/rai-rzn.ru/classes/others/class_editor.php URL: /admin.php?section=modules&key=8fe392d1814d830c3f00ca524d969169&module=news&save=4 Date: 2011-01-29 22:18:06 IP: 86.110.177.81 |
|
|
||
Alexander |
2011-01-30, 16:08
Сообщение
#2
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
LEXSOR, это очень-очень вредная ошибка. Можете определить, на какой новости они проявляется и предоставить мне данные для доступа для ее решения?
|
|
|
||
LEXSOR |
2011-01-30, 16:56
Сообщение
#3
|
|
Заглянувший Группа: Eleanor user Сообщений: 9 Регистрация: 2011-01-29 Из: Рязань Репутация: нет Всего: нет |
самое интересное что новость на сайте 1 всего. вам на мыло данные скинуть?
Сообщение отредактировал LEXSOR - 2011-01-30, 17:00 |
|
|
||
Alexander |
2011-01-30, 19:46
Сообщение
#4
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Да, если можно.
|
|
|
||
LEXSOR |
2011-01-31, 22:42
Сообщение
#5
|
|
Заглянувший Группа: Eleanor user Сообщений: 9 Регистрация: 2011-01-29 Из: Рязань Репутация: нет Всего: нет |
Скинул данные на support@eleanor-cms.ru
Сообщение отредактировал LEXSOR - 2011-01-31, 22:42 |
|
|
||
Easy-Web |
2011-02-09, 11:54
Сообщение
#6
|
|
Любитель Группа: Eleanor user Сообщений: 132 Регистрация: 2009-08-17 Из: Алма-ата, Казахстан Репутация: нет Всего: 1 |
Вроде понял. Происходит баг при замене смайлов. Ошибка происходит опять таки при обработке текстовых переменных. Причем уверен что этот баг вылазит в только с UTF8 , из за непредсказуемости строковых функций при работе с многобайтными кодировками. Потому что если бы в коде была бы ошибка, логи вылезали бы гораздо чаще.
Вообще эта ошибка конкретно для функции strpos говорит о том что пуст второй параметр Посмотрев на эту констрюкшн мы видим что пустым этот параметр становится от пустого возвращенного значения многобайтной функции mb_substr. В свою очередь, пустое значение скорее всего появляется при использовании неверно расчитанной длины с помощью функции mb_strlen. Раньше приходилось встречаться с неверно расчитанной длиной для некоторых строк, причем никакой закономерности получить не удалось. Поэтому же гонит в UTF и поиск и подсветка найденных слов. Захотелось ее упростить и вроде получилось. if(($position===0 or strpos($stop_near,mb_substr($text,$position-1,1))===false) and (mb_substr($text,$position+$klen,1)=='' or strpos($stop_near,mb_substr($text,$position+$klen,1))===false)) Заменяем в others/class_editor.php в районе 500 строки вот этот кусок if(($position===0 or strpos($stop_near,mb_substr($text,$position-1,1))===false) and (mb_substr($text,$position+$klen,1)=='' or strpos($stop_near,mb_substr($text,$position+$klen,1))===false)) { $text=substr_replace($text,$v,$position,$klen); $vlen=mb_strlen($v)-$klen; $sm_pos+=$vlen; /*$arr_dovesok[$i_near]=($i_near>0 and isset($arr_dovesok[$i_near])) ? $arr_dovesok[$i_near]+$vlen : $vlen;*/ ++$sm_cnt; } else $sm_pos+=$klen; на этот кусок: $text=substr_replace($text,$v,$position,$klen); $vlen=mb_strlen($v)-$klen; $sm_pos+=$vlen; ++$sm_cnt; И все работает прекрасно без логов и без багов. В данный момент проверяется на двух активно работающих сайтах. Сообщение отредактировал Easy-Web - 2011-02-09, 12:06 |
|
|
||
Alexander |
2011-02-10, 1:51
Сообщение
#7
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Easy-Web, в архиве RC5 лежит уже давненько обновленная и избавленная от этого бага. Ваше решение немного некорректо, ибо допускает "наглую" замену смайлами. Вот к примеру на сайте нужно написать форумулу x=(a+b)/z , при этом участок =( ни в коем случае не должен стать смайлом . Посмотрите моё решение в текущей версии RC5.
Сообщение отредактировал Alexander - 2011-02-10, 1:55 |
|
|
||
Easy-Web |
2011-02-10, 7:22
Сообщение
#8
|
|
Любитель Группа: Eleanor user Сообщений: 132 Регистрация: 2009-08-17 Из: Алма-ата, Казахстан Репутация: нет Всего: 1 |
Ну раз так, то надо сделать чтобы и url не воспринимался как длинная строка и не разбивался на части. А то в прошлый раз, вы тоже хотели просто удалить фичу:
Цитата Все решается банальным удалением этого алгоритма. > http://www.camonitor.com/admin.php?...p;module=blocks > > Когда это происходит текст или не отображается или отображается вместе > с bb-кодами > > Решается проблема установкой "Максимальная длина одного слова" в > максимально большое значение (200-300 символов). Но и это до конца не > решит проблему, ведь бывают очень длинные url, скорее всего надо при > вставке тэгов сделать исключение для URL-ов > или преобразовывать в сокращенный url Сообщение отредактировал Alexander - 2013-03-31, 2:39 |
|
|
||
Alexander |
2011-02-10, 14:28
Сообщение
#9
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Эту проблему мы отдали на фиксинг в css. |
|
|
||
Easy-Web |
2011-02-10, 17:29
Сообщение
#10
|
|
Любитель Группа: Eleanor user Сообщений: 132 Регистрация: 2009-08-17 Из: Алма-ата, Казахстан Репутация: нет Всего: 1 |
Весьма достойное решение. Класс editor просто перегружен кодом, условиями и преобразованиями, которые могут многократно пересекаться и конфликтовать. |
|
|
||
Текстовая версия | 0.0354 сек. 13 запросов GZIP включен Сейчас: 2024-09-25, 21:04 |