186 lines
5.8 KiB
PHP
186 lines
5.8 KiB
PHP
<?php
|
|
|
|
use BRSystems\Core\App\pubUsers\inc\pubUsersController;
|
|
use BRSystems\Core\Cms\cmsMailEngine\inc\cmsMailEngineController;
|
|
use BRSystems\Core\Cms\cmsMailEngine\inc\cmsMailEngineModule;
|
|
use BRSystems\Core\Cms\cmsSvnProjectManager\cmsSvnProjectManager;
|
|
use BRSystems\Core\Library\cJSON\cJSON;
|
|
use BRSystems\Core\Library\cMail\cMail;
|
|
use BRSystems\Core\Library\cProcess\cProcess;
|
|
use BRSystems\Core\Library\cSysConsole\cSysConsole;
|
|
use BRSystems\Core\Library\cUrl\cUrl;
|
|
use BRSystems\Core\Sys\sysUpdater\sysUpdater;
|
|
use BRSystems\Core\Sys\sysUsers\inc\sysUsersController;
|
|
|
|
startSessionSameSite(60 * 60 * 24);
|
|
|
|
// Increase time & memory limit
|
|
set_time_limit(60 * 5);
|
|
ini_set('memory_limit', '1024M');
|
|
|
|
|
|
//------------------------------------------------------------------
|
|
// Parse URL for extracting params
|
|
//------------------------------------------------------------------
|
|
$cms = false;
|
|
if (!defined('NO_SSL')) define('NO_SSL', true);
|
|
if (!defined('ADMINISTRATION_FOLDER')) define('ADMINISTRATION_FOLDER', '');
|
|
|
|
$url = new cUrl();
|
|
$url->parseUrl($cms, ADMINISTRATION_FOLDER);
|
|
|
|
|
|
$action = getV('ac', 'default');
|
|
|
|
switch ($action) {
|
|
case 'progress':
|
|
|
|
if ($pID = getP("pid")) {
|
|
|
|
$oProcess = new cProcess($pID, false);
|
|
|
|
switch (getP('status')) {
|
|
case cProcess::PROCESS_STATUS_ABORTED:
|
|
$oProcess->updateProcess(
|
|
false,
|
|
[cProcess::KEY_PROGRESS_STATUS => cProcess::PROCESS_STATUS_ABORTED]
|
|
);
|
|
break;
|
|
}
|
|
|
|
$vProcessData = $oProcess->getProcess();
|
|
cJSON::sendOk([
|
|
'p' => $vProcessData[cProcess::KEY_PROGRESS],
|
|
'msg' => $vProcessData[cProcess::KEY_PROGRESS_MSG],
|
|
's' => $vProcessData[cProcess::KEY_PROGRESS_STATUS]
|
|
]);
|
|
}
|
|
cJSON::sendError();
|
|
break;
|
|
|
|
case 'tcheck':
|
|
|
|
// Set & get user object
|
|
if (getV('app')) {
|
|
$oUser = new pubUsersController(false, false, false, true);
|
|
} else {
|
|
$oUser = new sysUsersController(false, false, false, true);
|
|
}
|
|
|
|
if ($oUser->isLoggedIn()) {
|
|
cJSON::sendOk(array(
|
|
't' => $_SESSION['time'] - time() > 0 ? $_SESSION['time'] - time() : 0
|
|
));
|
|
}
|
|
|
|
cJSON::sendError();
|
|
break;
|
|
|
|
case 'console':
|
|
|
|
$action = getV('action');
|
|
$oConsole = new cSysConsole();
|
|
|
|
switch ($action) {
|
|
case 'check_command':
|
|
$oConsole->handleConsoleCommand(getV('data'));
|
|
break;
|
|
}
|
|
|
|
cJSON::sendError();
|
|
break;
|
|
|
|
// ---------------------------------------------------------------------
|
|
// UPDATE SERVER FUNCTION CALLS
|
|
// ---------------------------------------------------------------------
|
|
case stripos($action, 'server-requests') !== false:
|
|
$oUpdRequest = new cmsSvnProjectManager();
|
|
$oUpdRequest->runUpdateRequestAction();
|
|
break;
|
|
|
|
// ---------------------------------------------------------------------
|
|
// PROJECT UPDATE FUNCTION CALLS
|
|
// ---------------------------------------------------------------------
|
|
case stripos($action, 'update-requests'):
|
|
|
|
$oUpdRequest = new sysUpdater();
|
|
$oUpdRequest->runUpdateRequestAction();
|
|
break;
|
|
|
|
/*case 'secimg':
|
|
$img = new cSecureImage();
|
|
|
|
$colors = array('ffe6e6','fbe6ff','e6e6ff','e6fffb','feffe6','fff5e6','ffdbdb','e6ffeb','dcdbff','ffffdb');
|
|
$img->image_bg_color = new Securimage_Color($colors[rand(0, 9)]);
|
|
$img->text_color = new Securimage_Color('4d4d4d');
|
|
$img->image_height = 40;
|
|
$img->num_lines = 2;
|
|
$img->image_width = $img->image_height * M_E;
|
|
$img->perturbation = .50;
|
|
$img->code_length = 4;
|
|
|
|
$img->show();
|
|
|
|
break;
|
|
|
|
*/
|
|
|
|
//------------------------------------------------------------------
|
|
// Email tracking code validation
|
|
//------------------------------------------------------------------
|
|
case 'track':
|
|
|
|
// Get last chunk of uri structure - it must be image name
|
|
if ($url->_uri_struct['chunks']) {
|
|
if ($imageName = end($url->_uri_struct['chunks'])) {
|
|
if (
|
|
substr($imageName, 0, 1) == 'm'
|
|
&& substr($imageName, strlen($imageName) - 4) == '.png'
|
|
) {
|
|
// Replace unnecessary parts
|
|
$id = str_replace(array('m', '.png'), '', $imageName);
|
|
|
|
// Mark letter ar read & update data
|
|
if ($id && is_numeric($id)) {
|
|
$mailE = new cmsMailEngineModule();
|
|
$mailE->db->_queryUpdate(
|
|
cmsMailEngineController::SENT_MAIL_TABLE,
|
|
array('mail_read' => 1),
|
|
array('mail_oid' => $id),
|
|
true
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
switch (getV('img')) {
|
|
case cMail::MAIL_SERVER_LORETA_LV:
|
|
header('Content-Type: image/png');
|
|
echo file_get_contents(__IMG__ . "pub/mails/sys_logo4.png");
|
|
break;
|
|
|
|
default:
|
|
header('Content-Type: image/png');
|
|
echo base64_decode('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=');
|
|
break;
|
|
}
|
|
break;
|
|
|
|
default:
|
|
|
|
if (isset($GLOBALS['coverage_tests_running'])) {
|
|
return;
|
|
}
|
|
|
|
redirectToUri('/');
|
|
break;
|
|
}
|
|
|
|
if (isset($GLOBALS['coverage_tests_running'])) {
|
|
return;
|
|
}
|
|
|
|
die();
|