Example #1
0
 $airdata = $app->request()->post('airdata');
 $seadata = $app->request()->post('seadata');
 $cam = $app->request()->post('cam');
 //global $user_id;
 $db = new DbHandler();
 //$res = $db->toggleFavourite($email, $spotId);
 $res = $db->reportIssue($user_id, $spotId, $airdata, $seadata, $cam);
 $spot = $db->getSpot($spotId);
 $user = $db->getUserById($user_id);
 $response = array();
 $response["airdata"] = $airdata;
 $response["seadata"] = $seadata;
 $response["cam"] = $cam;
 if ($res == ISSUE_LOGGED_SUCCESSFULLY) {
     //try send email here
     sendErrorReport($user, $spot, $airdata, $seadata, $cam);
     $response["error"] = false;
     $response["message"] = "Thanks for letting us know there's a problem.<br>We'll contact you should we require more details.";
 } else {
     if ($res == ISSUE_LOG_FAILED) {
         $response["error"] = true;
         $response["message"] = 'Oops! We are unable to log an issue for this spot.';
     } else {
         if ($res == ISSUE_FOR_SPOT_ALREADY_EXISTS) {
             $response["error"] = true;
             $response["message"] = 'An issue has already been logged for this spot';
         }
     }
 }
 // echo json response
 echoRespnse(201, $response);
Example #2
0
    $content .= "\nLes erreurs suivantes ont été détectées :\n";
    $content .= " - " . implode("\n - ", $errors);
    $content .= "\n\n Vous ne recevrez plus de message d'erreurs jusqu'au retour à la normale";
    email_send(getMailTo(), "Une erreur s'est produite sur OpenNAS", $content, $outError);
    return !$outError;
}
function sendSuccessReport()
{
    $xml = simplexml_load_file('/conf/config.xml');
    $name = $xml->xpath('/opennas/system/hostname');
    email_send(getMailTo(), "Plus d'erreur détectées sur OpenNAS", "Aucune erreur n'a été détectée sur l'OpenNAS \"" . $name['0'] . "\" ( " . get_hast_role() . " ).", $outError);
    return !$outError;
}
if (!validEmailTo()) {
    echo "Please enter a valid email address (-d option)";
    exit(1);
}
$errors = runTests();
if (count($errors)) {
    if (!hasPreviousError()) {
        if (sendErrorReport($errors)) {
            saveErrorState(true);
        }
    }
} else {
    if (hasPreviousError()) {
        if (sendSuccessReport()) {
            saveErrorState(false);
        }
    }
}
Example #3
0
function parseEmail($content, $extra = false)
{
    $now = date("j/m/Y à H:i:s");
    $xml = simplexml_load_file('/conf/config.xml');
    $res = $xml->xpath('/opennas/interfaces');
    $adresses = '';
    foreach ($res[0] as $key => $value) {
        $adresses .= "\n {$key}  :  " . $value->ipaddr . "";
    }
    $hostname = $xml->xpath('/opennas/system/hostname');
    $hostname = $hostname['0'];
    if ($extra) {
        extract($extra);
    }
    if (preg_match_all('#@@([a-zA-Z0-9]+)#', $content, $matches, PREG_SET_ORDER)) {
    }
    foreach ($matches as $m) {
        $content = preg_replace("#{$m['0']}#", ${$m}[1], $content);
    }
    return $content;
}
function sendErrorReport()
{
    $options = getOptions();
    $extra_vars = isset($options['params']) ? $options['params'] : false;
    $content = parseEmail($options['email'], $extra_vars);
    email_send($options['mailTo'], "Une erreur s'est produite sur OpenNAS", $content, $outError);
    exit($outError);
}
sendErrorReport();