Files
grzanieplus.pl/apps/backend/lib/stPakeWeb.class.php
2025-03-12 17:06:23 +01:00

91 lines
3.0 KiB
PHP

<?php
/**
* SOTESHOP/stInstallerWebPlugin
*
* Ten plik należy do aplikacji stInstallerWebPlugin opartej na licencji (Professional License 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 stInstallerWebPlugin
* @subpackage libs
* @copyright SOTE (www.sote.pl)
* @license http://www.sote.pl/license/sote (Professional License SOTE)
* @version $Id: stPakeWeb.class.php 9276 2010-11-18 12:06:42Z marek $
* @author Marek Jakubowicz <marek.jakubowicz@sote.pl>
*/
/**
* Uruchamianie tasków przez WWW.
*
* @author Marek Jakubowicz <marek.jakubowicz@sote.pl>
*
* @package stInstallerWebPlugin
* @subpackage libs
*/
class stPakeWeb
{
/**
* @var string $content wynik zwrócony przez TASK
*/
var $content='';
/**
* @var string $error komunikat blędu jeśli wystąpił wyjątek
*/
var $error='';
/**
* @var string wartość niewykorzytywana, wymagana do uruchomienia task'a
*/
var $symfony='/usr/bin/symfony';
/**
* Wykonaj Task
*
* @param string np. propel-build-model, cc
* @return bool
*/
public function run($webtask)
{
if (empty($webtask)) {
$this->error='Empty parameter task';
return false;
}
// clean Fast Cache
if ($webtask=='cc')
{
stFastCacheManager::clearCache();
}
// symfony directories
$sf_symfony_lib_dir = sfConfig::get('sf_symfony_lib_dir');
$sf_symfony_data_dir = sfConfig::get('sf_symfony_data_dir');
$sf_root_dir=sfConfig::get('sf_root_dir');
chdir($sf_root_dir);
// force populating $argc and $argv in the case PHP does not automatically create them (fixes #2943)
$argc=array();
$argv=array($this->symfony,$webtask);
$pakelib=$sf_root_dir.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.'backend'.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR.'stPake.php';
require_once($pakelib);
$pake = pakeApp::get_instance();
try
{
ob_start();
$ret = $pake->run(null, $webtask, false); // wykonaj task
$content = ob_get_clean();
$this->content = $content;
return true;
}
catch (Exception $ret)
{
$this->error = $ret->getMessage();
return false;
}
}
}