Хаки и Скрипты Next Generation CMS
irbees2008 irbees2008 Опубликовано - 26 - февраля Настройка плагинов
2985 - 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();
}

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

Можешь почитать и вот эту статейку "Делаем выбор стиля оформления сайта пользователем"

Опрос

Ваше мнение

Каким софтом вы пользуетесь?
Результаты

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

Теги

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

Статистика

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