Files
luos/workflow/engine/methods/setup/cronAjax.php
jennylee 6ee79318c4 CODE STYLE, workflow/engine/methods/setup/ PART 1
FILES:
appCacheViewAjax.php
appCacheViewConf.php
appearance.php
calendarDelete.php
calendarEdit.php
calendarList.php
calendarSave.php
calendarValidate.php
calendar_Ajax.php
clearCompiled.php
clearCompiledAjax.php
connectionDB.php
connectionWS.php
cron.php
cronAjax.php
customFunctions.php
debug.php
deleteSessions.php
emailSystemCron.php
emailSystemSpool.php
emailSystemTest.php
emails.php
emails_Ajax.php
emails_Save.php
environmentSettings.php
environmentSettingsAjax.php
2012-10-17 15:40:37 -04:00

198 lines
5.1 KiB
PHP

<?php
function mktimeDate ($date)
{
$arrayAux = getdate( strtotime( $date ) );
$mktDate = mktime( $arrayAux["hours"], $arrayAux["minutes"], $arrayAux["seconds"], $arrayAux["mon"], $arrayAux["mday"], $arrayAux["year"] );
return $mktDate;
}
function cronArraySet ($str, $filter)
{
$arrayAux = explode( "|", $str );
$date = "";
$workspace = "";
$action = "";
$status = "";
$description = trim( $arrayAux[0] );
if (count( $arrayAux ) > 1) {
$date = (isset( $arrayAux[0] )) ? trim( $arrayAux[0] ) : "";
$workspace = (isset( $arrayAux[1] )) ? trim( $arrayAux[1] ) : "";
$action = (isset( $arrayAux[2] )) ? trim( $arrayAux[2] ) : "";
$status = (isset( $arrayAux[3] )) ? trim( $arrayAux[3] ) : "";
$description = (isset( $arrayAux[4] )) ? trim( $arrayAux[4] ) : "";
}
$mktDate = (! empty( $date )) ? mktimeDate( $date ) : 0;
//Filter
$sw = 1;
if ($filter["workspace"] != "ALL" && $workspace != $filter["workspace"]) {
$sw = 0;
}
if ($filter["status"] != "ALL") {
switch ($filter["status"]) {
case "COMPLETED":
if ($status != "action") {
$sw = 0;
}
break;
case "FAILED":
if ($status == "action") {
$sw = 0;
}
break;
}
}
if (! empty( $filter["dateFrom"] ) && $mktDate > 0) {
if (! (mktimeDate( $filter["dateFrom"] ) <= $mktDate)) {
$sw = 0;
}
}
if (! empty( $filter["dateTo"] ) && $mktDate > 0) {
if (! ($mktDate <= mktimeDate( $filter["dateTo"] . " 23:59:59" ))) {
$sw = 0;
}
}
$arrayData = array ();
if ($sw == 1) {
$arrayData = array ("DATE" => $date,"WORKSPACE" => $workspace,"ACTION" => $action,"STATUS" => $status,"DESCRIPTION" => $description
);
}
return $arrayData;
}
function cronDataGet ($filter, $r, $i)
{
$r = $r + 1; //+ 1, to determine the next page
$i = $i + 1;
$arrayData = array ();
$strAux = null;
$numRec = 0;
$cont = 0;
$file = PATH_DATA . "log" . PATH_SEP . "cron.log";
if (file_exists( $file )) {
$fh = fopen( $file, "r" );
for ($pos = 0; fseek( $fh, $pos, SEEK_END ) !== - 1; $pos --) {
$char = fgetc( $fh );
if ($char == "\n") {
$strAux = trim( $strAux );
if (! empty( $strAux )) {
$arrayAux = cronArraySet( $strAux, $filter );
if (count( $arrayAux ) > 0) {
$cont = $cont + 1;
if ($cont >= $i && count( $arrayData ) + 1 <= $r) {
$arrayData[] = $arrayAux;
$numRec = $cont;
}
}
}
if (count( $arrayData ) == $r) {
break;
}
$strAux = null;
$char = null;
}
$strAux = $char . $strAux;
}
$strAux = trim( $strAux );
if (! empty( $strAux )) {
$arrayAux = cronArraySet( $strAux, $filter );
if (count( $arrayAux ) > 0) {
$cont = $cont + 1;
if ($cont >= $i && count( $arrayData ) + 1 <= $r) {
$arrayData[] = $arrayAux;
$numRec = $cont;
}
}
}
fclose( $fh );
}
//Delete element
$r = $r - 1;
if (count( $arrayData ) > $r) {
$arrayAux = array_pop( $arrayData );
}
return array ($numRec,$arrayData
);
}
$option = (isset( $_REQUEST["option"] )) ? $_REQUEST["option"] : null;
$response = array ();
switch ($option) {
case "LST":
$pageSize = $_REQUEST["pageSize"];
$workspace = $_REQUEST["workspace"];
$status = $_REQUEST["status"];
$dateFrom = $_REQUEST["dateFrom"];
$dateTo = $_REQUEST["dateTo"];
$arrayFilter = array ("workspace" => $workspace,"status" => $status,"dateFrom" => str_replace( "T00:00:00", null, $dateFrom ),"dateTo" => str_replace( "T00:00:00", null, $dateTo )
);
$limit = isset( $_REQUEST["limit"] ) ? $_REQUEST["limit"] : $pageSize;
$start = isset( $_REQUEST["start"] ) ? $_REQUEST["start"] : 0;
list ($numRec, $data) = cronDataGet( $arrayFilter, $limit, $start );
$response = array ("success" => true,"resultTotal" => $numRec,"resultRoot" => $data
);
break;
case "EMPTY":
$status = 1;
try {
$file = PATH_DATA . "log" . PATH_SEP . "cron.log";
if (file_exists( $file )) {
//file_put_contents($file, null);
unlink( $file );
}
$response["status"] = "OK";
} catch (Exception $e) {
$response["message"] = $e->getMessage();
$status = 0;
}
if ($status == 0) {
$response["status"] = "ERROR";
}
break;
}
echo G::json_encode( $response );