@dxname

Ошибка в MODX при удалении дополнений, как исправить?

Здравствуйте!
Возникла ошибка такого вида:
Fatal error: Call to a member function initialize() on a non-object in /home/dxname/domains/tyurin-agro.com/public_html/core/cache/includes/elements/modplugin/3.include.cache.php on line 26
при удалении некоторых дополнений, в админку зайти не могу, что с этим делать?

Вот содержимое файла 3.include.cache.php:
spoiler
<?php
/**
* Ace Source Editor Plugin
*
* Events: OnManagerPageBeforeRender, OnRichTextEditorRegister, OnSnipFormPrerender,
* OnTempFormPrerender, OnChunkFormPrerender, OnPluginFormPrerender,
* OnFileCreateFormPrerender, OnFileEditFormPrerender, OnDocFormPrerender
*
* author Danil Kostin
*
* @package ace
*
* var array $scriptProperties
* var Ace $ace
*/
if ($modx->event->name == 'OnRichTextEditorRegister') {
$modx->event->output('Ace');
return;
}

if ($modx->getOption('which_element_editor', null, 'Ace') !== 'Ace') {
return;
}

$ace = $modx->getService('ace', 'Ace', $modx->getOption('ace.core_path', null, $modx->getOption('core_path').'components/ace/').'model/ace/');
$ace->initialize();

$extensionMap = array(
'tpl' => 'text/x-smarty',
'htm' => 'text/html',
'html' => 'text/html',
'css' => 'text/css',
'scss' => 'text/x-scss',
'less' => 'text/x-less',
'svg' => 'image/svg+xml',
'xml' => 'application/xml',
'xsl' => 'application/xml',
'js' => 'application/javascript',
'json' => 'application/json',
'php' => 'application/x-php',
'sql' => 'text/x-sql',
'md' => 'text/x-markdown',
'txt' => 'text/plain',
'twig' => 'text/x-twig'
);

// Defines wether we should highlight modx tags
$modxTags = false;
switch ($modx->event->name) {
case 'OnSnipFormPrerender':
$field = 'modx-snippet-snippet';
$mimeType = 'application/x-php';
break;
case 'OnTempFormPrerender':
$field = 'modx-template-content';
$modxTags = true;

switch (true) {
case $modx->getOption('twiggy_class'):
$mimeType = 'text/x-twig';
break;
case $modx->getOption('pdotools_fenom_parser'):
$mimeType = 'text/x-smarty';
break;
default:
$mimeType = 'text/html';
break;
}

break;
case 'OnChunkFormPrerender':
$field = 'modx-chunk-snippet';
if ($modx->controller->chunk && $modx->controller->chunk->isStatic()) {
$extension = pathinfo($modx->controller->chunk->getSourceFile(), PATHINFO_EXTENSION);
$mimeType = isset($extensionMap[$extension]) ? $extensionMap[$extension] : 'text/plain';
} else {
$mimeType = 'text/html';
}
$modxTags = true;

switch (true) {
case $modx->getOption('twiggy_class'):
$mimeType = 'text/x-twig';
break;
case $modx->getOption('pdotools_fenom_default'):
$mimeType = 'text/x-smarty';
break;
default:
$mimeType = 'text/html';
break;
}

break;
case 'OnPluginFormPrerender':
$field = 'modx-plugin-plugincode';
$mimeType = 'application/x-php';
break;
case 'OnFileCreateFormPrerender':
$field = 'modx-file-content';
$mimeType = 'text/plain';
break;
case 'OnFileEditFormPrerender':
$field = 'modx-file-content';
$extension = pathinfo($scriptProperties['file'], PATHINFO_EXTENSION);
$mimeType = isset($extensionMap[$extension])
? $extensionMap[$extension]
: 'text/plain';
$modxTags = $extension == 'tpl';
break;
case 'OnDocFormPrerender':
if (!$modx->controller->resourceArray) {
return;
}
$field = 'ta';
$mimeType = $modx->getObject('modContentType', $modx->controller->resourceArray['content_type'])->get('mime_type');

switch (true) {
case $mimeType == 'text/html' && $modx->getOption('twiggy_class'):
$mimeType = 'text/x-twig';
break;
case $mimeType == 'text/html' && $modx->getOption('pdotools_fenom_parser'):
$mimeType = 'text/x-smarty';
break;
}

if ($modx->getOption('use_editor')){
$richText = $modx->controller->resourceArray['richtext'];
$classKey = $modx->controller->resourceArray['class_key'];
if ($richText || in_array($classKey, array('modStaticResource','modSymLink','modWebLink','modXMLRPCResource'))) {
$field = false;
}
}
$modxTags = true;
break;
default:
return;
}

$modxTags = (int) $modxTags;
$script = '';
if ($field) {
$script .= "MODx.ux.Ace.replaceComponent('$field', '$mimeType', $modxTags);";
}

if ($modx->event->name == 'OnDocFormPrerender' && !$modx->getOption('use_editor')) {
$script .= "MODx.ux.Ace.replaceTextAreas(Ext.query('.modx-richtext'));";
}

if ($script) {
$modx->controller->addHtml('');
}
return;
  • Вопрос задан
  • 327 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dxname Автор вопроса
почистил папку core/cashe/ ситуация не изменилась, файл снова там появляется
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы