예제 #1
0
 function errorNetSave()
 {
     global $XMLNS;
     global $ERRNET_ERRORS;
     global $SQL_EXEC;
     global $CUBIT_MODULES;
     if (!defined("ERRORNET_OCCURED")) {
         return -1;
     }
     $xmlns = "xmlns=\"{$XMLNS['errornet']}\"";
     $OUT = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
     $OUT .= "<cubiterror version=\"0.1\" time=\"" . date("l dS \\of F Y h:i:s A") . "\"/>\n";
     /* cubit info */
     $OUT .= "<cubit {$xmlns}\n>\n";
     $OUT .= "<cdata {$xmlns} desc=\"version\">" . CUBIT_VERSION . "</cdata>\n";
     $OUT .= "<cdata {$xmlns} desc=\"build\">" . CUBIT_BUILD . "</cdata>\n";
     $OUT .= "<cdata {$xmlns} desc=\"platform\" value=\"" . PLATFORM . "\">" . xmldata(php_uname()) . "</cdata>\n";
     $OUT .= "<cdata {$xmlns} desc=\"phpversion\">" . phpversion() . "</cdata>\n";
     $OUT .= "<cdata {$xmlns} desc=\"cengineversion\">" . phpversion("cengine") . "</cdata>\n";
     $OUT .= "<cdata {$xmlns} desc=\"debugmode\">" . (defined("DEBUG") && DEBUG == 1 ? "true" : "false") . "</cdata>\n";
     $OUT .= "<cmodules {$xmlns}>\n";
     $OUT .= array2xml("cdata", "num", "{$xmlns}", $CUBIT_MODULES);
     $OUT .= "</cmodules>\n";
     $OUT .= "</cubit>";
     /* sql queries */
     $OUT .= "<sql {$xmlns}>\n";
     $OUT .= array2xml("data", "num", "{$xmlns}", $SQL_EXEC);
     $OUT .= "</sql>";
     /* php configuration */
     $OUT .= "<phpconf {$xmlns}>\n";
     $OUT .= array2xml("data", "name", "{$xmlns}", ini_get_all());
     $OUT .= "</phpconf>\n";
     /* error details */
     $errnum = 1;
     foreach ($ERRNET_ERRORS as $k => $v) {
         $OUT .= "<error {$xmlns} num=\"{$errnum}\">\n";
         $OUT .= "{$v}\n";
         $OUT .= "</error>\n";
         ++$errnum;
     }
     $errdata = base64_encode($OUT);
     db_con("cubit");
     pglib_transact("ROLLBACK");
     $sql = "INSERT INTO errordumps (errtime, errdata)\n\t\t\tVALUES(CURRENT_TIMESTAMP, '{$errdata}')";
     $rslt = db_exec($sql) or errDie("Error storing error dump report.");
     return pglib_lastid("errordumps", "id");
 }
예제 #2
0
    $prevnew = phasemoon($time, 0);
    $data['prev'] = phasemoon($prevnew - 3600 * 24, 0.5);
}
if (isset($_GET['tz'])) {
    ini_set("date.timezone", $_GET['tz']);
    $data['prev8601'] = date("c", $data['prev']);
    $data['next8601'] = date("c", $data['next']);
} else {
    if (isset($_GET['iso8601']) && $_GET['iso8601'] == 1) {
        ini_set("date.timezone", "UTC");
    }
}
switch ($_GET['format']) {
    case "xml":
        header("Content-Type: text/xml");
        print xmldata($data);
        break;
    default:
        header("Content-Type: text/javascript");
        if (isset($_GET['callback'])) {
            print $_GET['callback'] . "(";
            print jsondata($data);
            print ");";
        } else {
            print jsondata($data);
        }
}
function jsondata($data)
{
    return json_encode(array("isitfullmoon" => $data));
}