MODX 2.7.1-pl не открывает xml файлы компонентов.
Часто при разработке нужно по быстрому взглянуть какие названия у объектов компонентов. В MODX версии 2.7.1-pl файлы типа teaching.mysql.schema.xml перестали открываться в админке. Как поправить?
Поблагодарить автора
Отправить деньги
Комментарии: 3
Сам задал вопрос. Сам и отвечу :-).
Проблема не в MODX а в классе php finfo. На одном хостинге он на тип файла возвращает «text/html», на другом «application/xml». Или от версии php зависит.
Я поправил в MODX файл core/model/modx/modfilehandler.class.php
Проблема не в MODX а в классе php finfo. На одном хостинге он на тип файла возвращает «text/html», на другом «application/xml». Или от версии php зависит.
Я поправил в MODX файл core/model/modx/modfilehandler.class.php
/**
* Tells if a file is a binary file or not.
*
* @param string $file
* @return boolean True if a binary file.
*/
public function isBinary($file) {
if (!file_exists($file) || !is_file($file)) {
return false;
}
if (filesize($file) > 0 && class_exists('\finfo')) {
$finfo = new \finfo(FILEINFO_MIME);
$info_file = $finfo->file($file);
//$this->modx->log(1,"$file ".$info_file);
if(strpos($info_file, "application/xml") !== false) {
//$this->modx->log(1,"$file ".$info_file);
return false;
}
return substr($info_file, 0, 4) !== 'text';
}
$fh = @fopen($file, 'r');
$blk = @fread($fh, 512);
@fclose($fh);
@clearstatcache();
return (substr_count($blk, "^ -~" /*. "^\r\n"*/) / 512 > 0.3) || (substr_count($blk, "\x00") > 0);
}
Теперь xml редактируется у меня.
изменил версию с 5.6 на 7.3 и все стало открывать
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.