Files
2025-03-12 17:06:23 +01:00

104 lines
3.7 KiB
PHP

<?php
/**
* SOTESHOP/stOptimizationPlugin
*
* Ten plik należy do aplikacji stOptimizationPlugin opartej na licencji (Open License SOTE) Otwarta Licencja SOTE.
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
*
* @package stOptimizationPlugin
* @subpackage actions
* @copyright SOTE (www.sote.pl)
* @license http://www.sote.pl/license/open (Open License SOTE) Otwarta Licencja SOTE
* @version $Id: actions.class.php 6551 2010-07-16 10:59:52Z pawel $
* @author Michal Prochowski <michal.prochowski@sote.pl>
*/
/**
* Klasa stOptimizationBackendActions
*
* @package stOptimizationPlugin
* @subpackage actions
*/
class stOptimizationBackendActions extends stActions
{
/**
* Wyświetla konfigurację modułu
*/
public function executeIndex()
{
stAuthUsersListener::checkModificationCredentials($this, $this->getRequest(), $this->getModuleName());
/**
* @var stConfig $config
*/
$config = stConfig::getInstance('stOptimizationBackend');
$i18n = $this->getContext()->getI18N();
if ($this->getRequest()->getMethod() == sfRequest::POST)
{
$data = $this->getRequestParameter('config');
$config->set('enable_compression', isset($data['enable_compression']));
$config->set('optimize_js', isset($data['optimize_js']));
$updateImages = $config->get('optimize_img') != isset($data['optimize_img']);
$config->set('optimize_img', isset($data['optimize_img']));
$config->save();
if ($updateImages)
{
stConfig::getInstance('stAsset')->save(true);
}
stHtaccess::rebuild();
stPartialCache::clearAll('frontend');
stFastCacheManager::clearCache();
$this->setFlash('notice', $i18n->__('Twoje zmiany zostały zapisane', null, 'stAdminGeneratorPlugin'));
}
sfLoader::loadHelpers(array('Helper', 'Asset'));
$headers = array();
$ch = curl_init($this->getRequest()->getSiteUrl().'/bootstrap/css/bootstrap.css');
curl_setopt($ch, CURLOPT_ENCODING , '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, function($curl, $header) use (&$headers) {
$len = strlen($header);
$header = explode(':', $header, 2);
if (count($header) < 2) {
return $len;
}
$headers[strtolower(trim($header[0]))][] = trim($header[1]);
return $len;
});
curl_exec($ch);
$this->compressionEnabled = isset($headers['content-encoding']) && in_array($headers['content-encoding'][0], array('gzip', 'defalte', 'br'));
$this->config = $config;
}
/**
* Wykonywanie taska clean-cache
*/
public function executeCleanCache()
{
stAuthUsersListener::checkModificationCredentials($this, $this->getRequest(), $this->getModuleName());
$pakeweb = new stPakeWeb();
$i18n = $this->getContext()->getI18N();
if ($pakeweb->run('cc'))
{
$flash_text = $i18n->__('Pamięć podręczna została wyczyszczona');
$this->setFlash('notice', $flash_text);
}
sleep(2);
return $this->redirect('stOptimizationBackend/index');
}
}