92 lines
3.1 KiB
PHP
92 lines
3.1 KiB
PHP
<?php
|
|
G::LoadClass( "system" );
|
|
G::LoadClass( "wsTools" );
|
|
G::LoadClass( "configuration" );
|
|
|
|
global $RBAC;
|
|
|
|
if ($RBAC->userCanAccess("PM_SETUP") != 1) {
|
|
G::SendTemporalMessage("ID_USER_HAVENT_RIGHTS_PAGE", "error", "labels");
|
|
exit(0);
|
|
}
|
|
|
|
//Cron status
|
|
$bCronIsRunning = false;
|
|
$sLastExecution = null;
|
|
$processcTimeProcess = 0;
|
|
$processcTimeStart = 0;
|
|
|
|
$osIsLinux = strtoupper(substr(PHP_OS, 0, 3)) != "WIN";
|
|
|
|
if (file_exists(PATH_DATA . "cron")) {
|
|
//Windows flag
|
|
//Get data of cron file
|
|
$arrayCron = unserialize(trim(file_get_contents(PATH_DATA . "cron")));
|
|
|
|
$bCronIsRunning = (isset($arrayCron['bCronIsRunning']))? (bool)($arrayCron['bCronIsRunning']) : ((isset($arrayCron['flagIsRunning']))? (bool)($arrayCron['flagIsRunning']) : false);
|
|
$sLastExecution = (isset($arrayCron['sLastExecution']))? $arrayCron['sLastExecution'] : ((isset($arrayCron['lastExecution']))? $arrayCron['lastExecution'] : '');
|
|
|
|
$processcTimeProcess = (isset($arrayCron["processcTimeProcess"]))? (int)($arrayCron["processcTimeProcess"]) : 10; //Minutes
|
|
$processcTimeStart = (isset($arrayCron["processcTimeStart"]))? $arrayCron["processcTimeStart"] : 0;
|
|
}
|
|
|
|
if ($osIsLinux) {
|
|
//Linux flag
|
|
//Check if cron it's running
|
|
exec("ps -fea | grep cron.php | grep -v grep", $arrayOutput);
|
|
|
|
if (count($arrayOutput) > 0) {
|
|
$bCronIsRunning = true;
|
|
}
|
|
}
|
|
|
|
//if ($bCronIsRunning && $processcTimeStart != 0) {
|
|
// if ((time() - $processcTimeStart) > ($processcTimeProcess * 60)) {
|
|
// //Cron finished his execution for some reason
|
|
// $bCronIsRunning = false;
|
|
// }
|
|
//}
|
|
|
|
//Data
|
|
$c = new Configurations();
|
|
$configPage = $c->getConfiguration( "cronList", "pageSize", null, $_SESSION["USER_LOGGED"] );
|
|
|
|
$config = array ();
|
|
$config["pageSize"] = (isset( $configPage["pageSize"] )) ? $configPage["pageSize"] : 20;
|
|
|
|
$cronInfo = array ();
|
|
$fileLog = PATH_DATA . "log" . PATH_SEP . "cron.log";
|
|
$fileLogSize = (file_exists( $fileLog )) ? number_format( filesize( $fileLog ) * (1 / 1024) * (1 / 1024), 4, ".", "" ) : 0;
|
|
|
|
$cronInfo["status"] = G::LoadTranslation( (($bCronIsRunning) ? "ID_CRON_STATUS_ACTIVE" : "ID_CRON_STATUS_INACTIVE") );
|
|
$cronInfo["lastExecution"] = (! empty( $sLastExecution )) ? $sLastExecution : "";
|
|
$cronInfo["fileLogName"] = "cron.log";
|
|
$cronInfo["fileLogSize"] = $fileLogSize;
|
|
$cronInfo["fileLogPath"] = $fileLog;
|
|
|
|
//Workspaces
|
|
$workspaces = System::listWorkspaces();
|
|
$arrayAux = array ();
|
|
|
|
foreach ($workspaces as $index => $workspace) {
|
|
$arrayAux[] = $workspace->name;
|
|
}
|
|
|
|
sort( $arrayAux );
|
|
|
|
//Status
|
|
$arrayStatus = array (array ("ALL",G::LoadTranslation( "ID_ALL" )
|
|
),array ("COMPLETED",G::LoadTranslation( "COMPLETED" )
|
|
),array ("FAILED",G::LoadTranslation( "ID_FAILED" )
|
|
)
|
|
);
|
|
|
|
$oHeadPublisher = &headPublisher::getSingleton();
|
|
$oHeadPublisher->addContent( "setup/cron" ); //Adding a html file .html
|
|
$oHeadPublisher->addExtJsScript( "setup/cron", false ); //Adding a javascript file .js
|
|
$oHeadPublisher->assign( "CONFIG", $config );
|
|
$oHeadPublisher->assign( "CRON", $cronInfo );
|
|
$oHeadPublisher->assign( "STATUS", $arrayStatus );
|
|
|
|
G::RenderPage( "publish", "extJs" );
|