Хаки и Скрипты Next Generation CMS
irbees2008 irbees2008 Опубликовано - 26 - февраля Настройка плагинов
2986 - 4

Всем привет. Вот вопрос уже довольно старый на форуме "как сделать кнопку очистки папки кеша в движке" . Я там даже давал код который нашел на просторах интернета, но сам прикрутить так и не смог. Но несколько сайтов я перевел на двиг bixbite.site , это форк ngcms от Русика , и там в админке есть кнопка очистки кеша движка и плагинов. НУ и теперь не большая инструкция по установке очистки кеша для ngcms. Сразу поясняю все что я буду делать на последней ngcms и новой админке.
Открываем engine/skins/default/index.php
Ищем там вот этот код (примерно 115 - 116 строка)

Код:
<div class="navbar-custom-menu">
<ul class="nav navbar-nav">
и сразу добавляем вот этот код
Код:
<li><a href="admin.php?mod=extras&action=clearCacheFiles" title="Очистить кэш"><i class="fa fa-recycle" aria-hidden="true"></i></a></li>
Это наша кнопка очистки кеша.

Далее идем /engine/actions и открываем файл extras.php и там примерно после 17 строки добавляем
Код:
if ('clearCacheFiles' == $action)
clearCacheFiles();

Там же в директории открываем файл extra-config.php и после 28 строки добавляем
Код:
if ($plugin and 'clearCacheFiles' == $action)
clearCacheFiles($plugin);
Ну теперь самое последнее , проходим в директорию /engine/includes/inc и открываем файл extraconf.inc.php и в самый конец файла добавляем
Код:
// clear Cache Files
function clearCacheFiles($plugin = false)
{
$listSkip = '';
$cacheDir = $plugin ? get_plugcache_dir($plugin) : root . 'cache/';

$dirIterator = new RecursiveDirectoryIterator($cacheDir, RecursiveDirectoryIterator::SKIP_DOTS);
$iterator = new RecursiveIteratorIterator($dirIterator, RecursiveIteratorIterator::LEAVES_ONLY);

foreach ($iterator as $object)
if ($object->isFile() and !unlink($object->getPathname()))
$listSkip .= '
' . $object->getBasename();

if (!empty($listSkip)) {
msg(array('type' => 'error', 'text' => 'Не весь кэш удалось очистить!<hr>Список пропущенных файлов:' . $listSkip));
} elseif ($plugin) {
msg(array('text' => 'Кэш плагина очищен!'));
} else {
msg(array('text' => 'Кэш системы очищен!'));
}

// Clear cache OPCache
if(function_exists('opcache_get_status'))
opcache_reset();

// Create a protective .htaccess
create_access_htaccess();
}

Вот и все . Все работает, вычищаются все папки в папке кеша , и файлы в папке кеша,сами папки не удаляются.

Можешь почитать и вот эту статейку "Open Server - лучший локальный сервак"

Опрос

Ваше мнение

TWIG -что это?
Результаты

Последние комментарии

Теги

Anything in here will be replaced on browsers that support the canvas element

Статистика

  • Caйту: 4365 дней
  • Новостей: 566
  • Комменты: 257
  • Зарегистрированно : 660
  • Онлайн всего: [7]
  • Гости: [6]
  • Поисковики: [1] Яндекс
  • Были сегодня : [3] Google, Яндекс, Google
  • SQL запросов: 31
  • Генерация страницы: 0.604сек
  • Потребление памяти: 5.166 Mb 
  •   Яндекс.Метрика