/**
 * Tumbler Dashboard API Read
 *
 * @param string $email tumblr account email address
 * @param string $password tumblr account password
 * @return void
 */
function fetch_tumblr_dashboard_xml($email, $password)
{
    global $config;
    $config['DEBUG'] && error_log('[DEBUG] REQUESTING API READ!');
    // Prepare POST request
    $request_data = http_build_query(array('email' => $email, 'password' => $password, 'generator' => 'tumblr Dashboard Feed 1.1', 'num' => '50'));
    // Send the POST request (with cURL)
    $ch = curl_init('http://www.tumblr.com/api/dashboard');
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_USERAGENT, 'tumblr-dashboard-rss 1.1');
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $result = curl_exec($ch);
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    // Check for success
    if ($status == 200) {
        // echo "Success! The output is $result.\n";
        // do process/output
        $posts = read_xml($result);
        output_rss($posts);
        // cache xml file
        $config['cache']['request'] && cache_xml($result);
    } else {
        if ($status == 403) {
            echo 'Bad email or password';
        } else {
            if ($status == 503) {
                echo 'Rate Limit Exceded or Service Down';
            } else {
                echo "Error: {$result}\n";
            }
        }
    }
}
Пример #2
0
function read_worksheet($out, $file, $options = array())
{
    $ext = pathinfo($file, PATHINFO_EXTENSION);
    if (isset($options["read"]) && $options["read"] != $ext) {
        fputs(STDERR, "Warning: The file extension was ignored to adopt {$options["read"]}.\n");
        $ext = $options["read"];
    }
    switch (strtolower($ext)) {
        case "raw":
            $in = fopen($file, "r");
            while (($line = fgets($in)) !== false) {
                fputs($out, $line);
            }
            fclose($in);
            break;
        case "csv":
            $options["delimiter"] = ",";
            read_csv($out, $file, $options);
            break;
        case "tsv":
            $options["delimiter"] = "\t";
            read_csv($out, $file, $options);
            break;
        case "xlsx":
            read_excel($out, $file, $options);
            break;
        case "json":
            read_json($out, $file, $options);
            break;
        case "yml":
        case "yaml":
            read_yaml($out, $file, $options);
            break;
        case "xml":
            read_xml($out, $file, $options);
            break;
        default:
            print "Error[{$ext}]: No reader is available.\n";
            break;
    }
    return;
}
Пример #3
0
function prepare_events($file, $shifttype_id)
{
    global $rooms_import;
    $data = read_xml($file);
    $rooms = sql_select("SELECT * FROM `Room`");
    $rooms_db = array();
    foreach ($rooms as $room) {
        $rooms_db[$room['Name']] = $room['RID'];
    }
    $events = $data->vcalendar->vevent;
    $shifts_pb = array();
    foreach ($events as $event) {
        $event_pb = $event->children("http://pentabarf.org");
        $event_id = trim($event_pb->{'event-id'});
        $shifts_pb[$event_id] = array('shifttype_id' => $shifttype_id, 'start' => DateTime::createFromFormat("Ymd\\THis", $event->dtstart)->getTimestamp(), 'end' => DateTime::createFromFormat("Ymd\\THis", $event->dtend)->getTimestamp(), 'RID' => $rooms_import[trim($event->location)], 'title' => trim($event->summary), 'URL' => trim($event->url), 'PSID' => $event_id);
    }
    $shifts = sql_select("SELECT * FROM `Shifts` WHERE `PSID` IS NOT NULL ORDER BY `start`");
    $shifts_db = array();
    foreach ($shifts as $shift) {
        $shifts_db[$shift['PSID']] = $shift;
    }
    $shifts_new = [];
    $shifts_updated = [];
    foreach ($shifts_pb as $shift) {
        if (!isset($shifts_db[$shift['PSID']])) {
            $shifts_new[] = $shift;
        } else {
            $tmp = $shifts_db[$shift['PSID']];
            if ($shift['shifttype_id'] != $tmp['shifttype_id'] || $shift['title'] != $tmp['title'] || $shift['start'] != $tmp['start'] || $shift['end'] != $tmp['end'] || $shift['RID'] != $tmp['RID'] || $shift['URL'] != $tmp['URL']) {
                $shifts_updated[] = $shift;
            }
        }
    }
    $shifts_deleted = array();
    foreach ($shifts_db as $shift) {
        if (!isset($shifts_pb[$shift['PSID']])) {
            $shifts_deleted[] = $shift;
        }
    }
    return array($shifts_new, $shifts_updated, $shifts_deleted);
}
Пример #4
0
<?php

//Login IPX800
//$username= »nomutilisateur »; $password= »motdepasse »;
include 'functions.php';
// Paramamètrezs login BDD
$user = '******';
$passwd = 'toor';
$host = 'localhost';
$db = 'ipx800v3';
//Table
$ipx800v3 = 'ipx800v3';
//Lecturedu fichier XML
$xml = read_xml('http://192.168.1.57:80/status.xml', 'response', array("day", "time0", "count0", "count1", "count2"));
if (is_array($xml)) {
    foreach ($xml as $row) {
        $day = $row[0];
        $time0 = $row[1];
        //$time0=date('H:i:s',gmmktime($time0));
        $counter1 = $row[2];
        $counter2 = $row[3];
        $counter3 = $row[4];
    }
} else {
    print_r($xml);
}
$date = date('Y-m-d');
mysql_connect($host, $user, $passwd) or die("erreur de connexion au serveur {$host}");
mysql_select_db($db) or die("erreur de connexion à la base de données");
//Transfert des données de l’IPX800 V3 dans la BDD
$parameter = 'counter0';
Пример #5
0
<?php

function read_xml($skip_white)
{
    $xml = file_get_contents(__DIR__ . "/skipwhite.xml");
    $parser = xml_parser_create();
    xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, $skip_white);
    xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8");
    $array = array();
    $index = array();
    xml_parse_into_struct($parser, $xml, $array, $index);
    return $array;
}
function find_node($array, $node)
{
    foreach ($array as $key => $val) {
        if ($val["tag"] == $node) {
            return $val;
        }
    }
    return array();
}
// WITH XML_OPTION_SKIP_WHITE=0 WORKS FINE
$array = read_xml(0);
$node = find_node($array, "query");
print_r($node);
// WITH XML_OPTION_SKIP_WHITE=1 FAILS
$array = read_xml(1);
$node = find_node($array, "query");
print_r($node);
Пример #6
0
Файл: lib.php Проект: philum/cms
function load_xml($f, $o = '')
{
    $xml = read_xml($f);
    if ($xml) {
        foreach ($xml as $k => $v) {
            $va = utf8_decode_b($v->title);
            $dat = $v->pubDate;
            if (!$dat) {
                $dat = $v->updated;
            }
            $lnk = $v->link;
            if (!$lnk) {
                $lnk = $v->guid;
            }
            if (!$lnk) {
                $lnk = $v->link[0]['href'];
            }
            if (!$lnk) {
                $lnk = $v->childnode['href'];
            }
            if (!$dat) {
                $dc = $v->children('http://purl.org/dc/elements/1.1/');
                $dat = $dc->date;
            }
            if ($o) {
                $txt = utf8_decode_b($v->description);
            }
            $ret[] = array($va, $lnk, $dat, $txt);
        }
    }
    return $ret;
}