mirror of
https://github.com/ShaYmez/FreeSTAR-Status-Engine.git
synced 2024-11-15 16:51:46 -05:00
ea582aeed6
The code to handle sending of notification was missing. This change makes two different options available on how notifications will be handled which will be controlled by CRON_SERVER_IP config option. - If CRON_SERVER_IP is set, the server with the given IP should call URL ../admin/?task=cron every x minutes. If the config is left empty, the notification will be called once the incident has been saved. (The latter meothod might cause server timeout if there are large numbers of subscribers!) Other minor changes: - Removed old commented code - Removed call to syslog used for debugging
101 lines
2.2 KiB
PHP
101 lines
2.2 KiB
PHP
<?php
|
|
|
|
if (!file_exists("../config.php"))
|
|
{
|
|
header("Location: ../");
|
|
}
|
|
else{
|
|
require_once("../config.php");
|
|
require_once("../classes/constellation.php");
|
|
require_once("../classes/mailer.php");
|
|
require_once("../classes/notification.php");
|
|
require_once("../template.php");
|
|
require_once("../libs/parsedown/Parsedown.php");
|
|
require_once("../classes/queue.php");
|
|
|
|
// Process the subscriber notification queue
|
|
// If CRON_SERVER_IP is not set, call notification once incident has been saved
|
|
if ( empty(CRON_SERVER_IP) )
|
|
{
|
|
if ( isset($_GET['sent']) && $_GET['sent'] == true )
|
|
{
|
|
Queue::process_queue();
|
|
}
|
|
}
|
|
else if ( isset($_GET['task']) && $_GET['task'] == 'cron' )
|
|
{
|
|
// Else, base it on call to /admin?task=cron being called from IP defined by CRON_SERVER_IP
|
|
if (! empty(CRON_SERVER_IP) && $_SERVER['REMOTE_ADDR'] == CRON_SERVER_IP )
|
|
{
|
|
Queue::process_queue();
|
|
syslog(1, "CRON server processed");
|
|
}
|
|
else {
|
|
syslog(1, "CRON called from unauthorised server");
|
|
}
|
|
}
|
|
|
|
|
|
if(isset($_COOKIE['user'])&&!isset($_SESSION['user']))
|
|
{
|
|
User::restore_session();
|
|
}
|
|
|
|
if (!isset($_SESSION['user']))
|
|
{
|
|
if (isset($_GET['do']) && $_GET['do']=="lost-password")
|
|
{
|
|
require_once("lost-password.php");
|
|
}else if (isset($_GET['do']) && $_GET['do']=="change-email"){
|
|
$user_pwd = new User($_GET['id']);
|
|
$user_pwd->change_email();
|
|
require_once("login-form.php");
|
|
}
|
|
else{
|
|
User::login();
|
|
require_once("login-form.php");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$user = new User($_SESSION['user']);
|
|
if (!$user->is_active())
|
|
{
|
|
User::logout();
|
|
}
|
|
|
|
if (!isset($_GET['do'])){
|
|
$do = "";
|
|
}else{
|
|
$do = $_GET['do'];
|
|
}
|
|
|
|
switch ($do) {
|
|
case 'change-email':
|
|
$user = new User($_GET['id']);
|
|
$user->change_email();
|
|
case 'user':
|
|
require_once("user.php");
|
|
break;
|
|
|
|
case 'settings':
|
|
require_once("settings.php");
|
|
break;
|
|
|
|
case 'new-user':
|
|
require_once("new-user.php");
|
|
break;
|
|
|
|
case 'logout':
|
|
User::logout();
|
|
break;
|
|
|
|
default:
|
|
require_once("dashboard.php");
|
|
break;
|
|
}
|
|
|
|
Template::render_footer(true);
|
|
}
|
|
}
|