Ошибка в журнале.
(ERROR @ /blahblahblah/core/cache/includes/elements/modsnippet/20.include.cache.php: 39) PHP warning: in_array() expects parameter 2 to be array, string given
Вот такое чудо валится при попытке открыть любой контейнер из админки. Кто-нибудь сталкивался?
Заранее благодарен.
Вот такое чудо валится при попытке открыть любой контейнер из админки. Кто-нибудь сталкивался?
Заранее благодарен.
Комментарии: 18
че за сниппет глянь
Как я понял, речь об FormIt.
2ой параметр должен быть массив… кидай код
<?php
function elements_modsnippet_20($scriptProperties= array()) {
global $modx;
if (is_array($scriptProperties)) {
extract($scriptProperties, EXTR_SKIP);
}
/**
* FormIt
*
* Copyright 2009-2012 by Shaun McCormick <shaun@modx.com>
*
* FormIt is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option) any
* later version.
*
* FormIt is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* FormIt; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
* Suite 330, Boston, MA 02111-1307 USA
*
* @package formit
*/
/**
* Custom output filter that returns checked="checked" if the value is set
*
* @var string $input
* @var string $options
* @package formit
*/
$output = ' ';
if ($input == $options) {
$output = ' selected="selected"';
}
$input = $modx->fromJSON($input);
if (in_array($options,$input)) {
$output = ' selected="selected"';
}
return $output;
}
По моему, это ошибка FormIt. Сначала проверка на совпадение строк, а потом, не взирая на результаты — проверка на массив.
Должно быть вот так:
Должно быть вот так:
if ($input == $options) {
$output = ' selected="selected"';
}
else {
$input = $modx->fromJSON($input);
if (in_array($options,$input)) {
$output = ' selected="selected"';
}
}
логично
А как быть с этой ошибкой? Формит удалять? :)
Так попробуй изменить как Василий написал…
Это можно как-то исправить? Как я понимаю, эти файлы затираются при обновлении кеша.
В сниппете измени а не в кеше)
P.s. Если уж не выйдет — то удалять формит! Другого выхода не вижу)))
P.s. Если уж не выйдет — то удалять формит! Другого выхода не вижу)))
2014/10/11 21:52:37 [error] 10898#0: *8174 FastCGI sent in stderr: «PHP message: PHP Fatal error: include(): Cannot redeclare class modtemplatevarinputrendertext in /blahblahblah/core/model/modx/modtemplatevar.class$
201
Вот он косяк. Пока не знаю в чем дело. Формит был не при чем.
201
Вот он косяк. Пока не знаю в чем дело. Формит был не при чем.
Василий, сервер по твоему мануалу настроен, может быть был похожий случай?
2014/10/11 21:52:37 [error] 10898#0: *8174 FastCGI sent in stderr: «PHP message: PHP Fatal error: include(): Cannot redeclare class modtemplatevarinputrendertext in /blahblahblah/core/model/modx/modtemplatevar.class$
201
Нет, конечно.
Cannot redeclare class modtemplatevarinputrendertext
Это говорит о попытке 2 раза объявить один и тот же класс. У тебя, скорее всего, какой-то кастомный ТВ так барахлит.
Спасибо, Василий. Действительно, висел старый ТВ.
Я тут случаем заглянул на Безумкин.ру и увидел в разделе контакты возможность платно проконсультироваться по скайпу. Практикуешь или это в прошлом?
Я тут случаем заглянул на Безумкин.ру и увидел в разделе контакты возможность платно проконсультироваться по скайпу. Практикуешь или это в прошлом?
Пока не практикую — некогда.
Спрошу более конкретно: что-то вроде аудита сайт+сервер у тебя можно заказать?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.