Добрый день. при переезде с на версию пшп 5.5 сломался Енержин.
из исправленного на основе сообщений с данной группы
utils.func
было
$fieldName = preg_replace('/_(\w)/e', 'strtoupper(\'$1\')', $fieldName);
стало
$fieldName = preg_replace_callback('/_(\w)/', function($m){ return strtoupper($m[1]);}, $fieldName);
ini.func
было
@set_magic_quotes_runtime(1);
/**
* поскольку magic_quotes_gpc в runtime отключить нельзя, идем на ухищрение
*/
if (get_magic_quotes_gpc()) {
function recursiveStripslashes($value) {
$value =
is_array($value) ? array_map('recursiveStripslashes', $value) : stripslashes($value);
return $value;
}
$_POST = array_map('recursiveStripslashes', $_POST);
$_GET = array_map('recursiveStripslashes', $_GET);
$_COOKIE = array_map('recursiveStripslashes', $_COOKIE);
$_REQUEST = array_map('recursiveStripslashes', $_REQUEST);
}
стало
//@set_magic_quotes_runtime(1);
/**
* поскольку magic_quotes_gpc в runtime отключить нельзя, идем на ухищрение
*/
function recursiveStripslashes($value) {
$value =
is_array($value) ? array_map('recursiveStripslashes', $value) : stripslashes($value);
return $value;
}
$_POST = array_map('recursiveStripslashes', $_POST);
$_GET = array_map('recursiveStripslashes', $_GET);
$_COOKIE = array_map('recursiveStripslashes', $_COOKIE);
$_REQUEST = array_map('recursiveStripslashes', $_REQUEST);
после чего страницы работают. Но не работает любое всплывающее окно, сравнив разницу нашел различие - в ответ на запрос приходит не json, или точнее не воспринимается броузером как таковой.
Внешне данные не различимы, может только переносами строки
"плохие данные"
{"meta":{"lang_id":{"title":"FIELD_LANG_ID","type":"hidden","key":true,"visible":true,"name":"share_languages
[lang_id]","rights":null,"field":"lang_id","sort":0},"lang_name":{"title":"\u041d\u0430\u0437\u0432\u0430
\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430","type":"string","key":false,"visible":true,"name"
:"share_languages[lang_name]","rights":null,"field":"lang_name","sort":1},"lang_default":{"title":"\u042f
\u0437\u044b\u043a \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","type":"boolean"
,"key":false,"visible":true,"name":"share_languages[lang_default]","rights":null,"field":"lang_default"
,"sort":1}},"data":[{"lang_id":"1","lang_name":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","lang_default"
:"1"},{"lang_id":"8","lang_name":"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac","lang_default":"0"
}],"result":true,"mode":"select","pager":{"current":1,"count":1,"records":"\u0412\u0441\u0435\u0433\u043e
: 2"}}
"хорошие данные", броузер воспринимает как json
{"meta":{"lang_id":{"title":"FIELD_LANG_ID","type":"hidden","key":true,"visible":true,"name":"share_languages[lang_id]","rights":null,"field":"lang_id","sort":0},"lang_name":{"title":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430","type":"string","key":false,"visible":true,"name":"share_languages[lang_name]","rights":null,"field":"lang_name","sort":1},"lang_default":{"title":"\u042f\u0437\u044b\u043a \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","type":"boolean","key":false,"visible":true,"name":"share_languages[lang_default]","rights":null,"field":"lang_default","sort":1}},"data":[{"lang_id":"1","lang_name":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","lang_default":"1"},{"lang_id":"8","lang_name":"\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac","lang_default":"0"}],"result":true,"mode":"select","pager":{"current":1,"count":1,"records":"\u0412\u0441\u0435\u0433\u043e: 2"}}
Energine 2.6
заранее спасибо за ответ. Антон.