Files
resatennis_tyroltenn/IDrive/.config/periodicCleanup.php

100 lines
2.9 KiB
PHP
Executable File

<?php
include_once 'path.php';
if(!isset($_SESSION['validUser']) || $_SESSION['validUser'] !== true)
exit(header("Location:../index.php"));
$current_selJob = $_POST['backupsetName'];
$periodic_days = $_POST['periodic_days'];
$periodic_perc = $_POST['periodic_perc'];
$periodic_status = $_POST['periodic_cleanStatus'];
$temp = explode("_",$current_selJob,2);
$job_name = $temp[1];
$archive_dir = Scheduler::$archiveclean_dir;
$pidDir = "$archive_dir/$job_name";
if(!is_dir($archive_dir)){
if(!mkdir($archive_dir, $permissionVal)){
echo "AR_DIR";
Scheduler::Log(AR_PERIODIC . "[$job_name]" . "file:startarchive" . AR_DIR);
exit;
}
@chmod($archive_dir,$permissionVal);
}
if(!is_dir($pidDir)){
if(!mkdir($pidDir, $permissionVal)){
echo "JOB_DIR";
Scheduler::Log(AR_PERIODIC . "[$job_name]" . "file:startarchive" . AR_JOB);
exit;
}
@chmod($pidDir,$permissionVal);
}
if($periodic_days !="" && $periodic_perc != "") // Add crontab entry
{
$_POST['action'] = 'update_pc';
if($periodic_status == "1")
periodicCronupdate();
else
Scheduler::RemoveCronEntry($job_name, ARCHIVE_JOB, ARCHIVE_JOB);
/* Updating periodic cleanup details to .popUplist.txt file. */
$updatePeriodic = UpdatePeriodicJobs($current_selJob,$periodic_perc,$periodic_days,$periodic_status);
$pidDir = "$archive_dir/$job_name";
if(!is_dir($pidDir)){
if(!mkdir($pidDir, $permissionVal))
exit;
@chmod($pidDir,$permissionVal);
}
}
/****************************************************************************************************
* Function Name : getCrontime
* Objective : Calculating Current Time for Periodic Cleanup
* Added By : Sajana K
*****************************************************************************************************/
function getCrontime()
{
$datetime = shell_exec('date +"%Y-%m-%d %T"');
$time_split = explode(" ",$datetime);
$date_split = explode(":",$time_split[1]);
$archivePeriodHr = $date_split[0];
$archivePeriodMin = $date_split[1];
$archivePeriodSec = $date_split[2];
$cronarr[1] = $archivePeriodHr;
$cronarr[2] = $archivePeriodMin;
return $cronarr;
}
/****************************************************************************************************
* Function Name : UpdatePeriodicJobs
* Objective : Updating periodic details for Periodic Cleanup
* Added By : Sajana K
*****************************************************************************************************/
function UpdatePeriodicJobs()
{
GLOBAL $current_selJob;
GLOBAL $periodic_perc;
GLOBAL $periodic_days;
GLOBAL $periodic_status;
$jobs = Scheduler::ReadJobs();
$jobs[$current_selJob]["periodic"] = array();
$jobs[$current_selJob]["periodic"]["perc"] = $periodic_perc;
$jobs[$current_selJob]["periodic"]["days"] = $periodic_days;
$jobs[$current_selJob]["periodic"]["status"] = $periodic_status;
$json_data = json_encode($jobs);
Scheduler::UpdateJob($json_data);
return true;
}
?>