Esempio n. 1
0
/**
 * generates the category menu from the menu data
 * of directory.xml
 */
function menuFromXml($xmlData, $catdir)
{
    $html = "";
    $subdir = substr($catdir, strlen("content/"));
    $xmlParser = new XPath();
    $xmlParser->importFromString($xmlData);
    $i = 1;
    while ($xmlParser->match("/menu[1]/item[{$i}]")) {
        $html .= "<span class=\"menu\">\n";
        if ($xmlParser->match("/menu[1]/item[{$i}]/file[1]")) {
            $filename = $xmlParser->getData("/menu[1]/item[{$i}]/file[1]");
            $title = getTitle($catdir . "/" . $filename);
            $link = $subdir . "/" . $filename;
            $html .= "<a href=\"index.php?p={$link}\">{$title}</a>\n";
        } elseif ($xmlParser->match("/menu[1]/item[{$i}]/raw_data[1]")) {
            $data = $xmlParser->exportAsXml("/menu[1]/item[{$i}]/raw_data[1]");
            $data = stripTag("raw_data", $data);
            $html .= $data;
        }
        $html .= "</span>\n";
        $i++;
    }
    return $html;
}
Esempio n. 2
0
} else {
    setcookie("template", $template, time() + 2592000);
}
// fire up the template engine
$tpl = new Template(dirname(__FILE__) . '/templates/' . TEMPLATE_SET);
$tpl->set_file(array('form' => 'form.tpl'));
// print out a box of information
function makebox($title, $content)
{
    $t = new Template(dirname(__FILE__) . '/templates/' . TEMPLATE_SET);
    $t->set_file(array('box' => 'box.tpl'));
    $t->set_var('title', $title);
    $t->set_var('content', $content);
    return $t->parse('out', 'box');
}
// Fire off the XPath class
require './includes/XPath.class.php';
$XPath = new XPath();
$XPath->importFromString($xml);
// let the page begin.
//require('./includes/system_header.php');
$tpl->set_var('title', $text['title'] . ': ' . $XPath->getData('/phpsysinfo/Vitals/Hostname') . ' (' . $XPath->getData('/phpsysinfo/Vitals/IPAddr') . ')');
$tpl->set_var('vitals', makebox($text['vitals'], html_vitals(), '100%'));
$tpl->set_var('network', makebox($text['netusage'], html_network(), '100%'));
$tpl->set_var('hardware', makebox($text['hardware'], html_hardware(), '100%'));
$tpl->set_var('memory', makebox($text['memusage'], html_memory(), '100%'));
$tpl->set_var('filesystems', makebox($text['fs'], html_filesystems(), '100%'));
// parse our the template
$tpl->pparse('out', 'form');
// finally our print our footer
$phpgw->common->phpgw_footer();
Esempio n. 3
0
 function Get2($institutionCode, $collectionCode, $catalogNumber)
 {
     if ($collectionCode != '') {
         $institution = $institutionCode . "-" . $collectionCode;
     } else {
         $institution = $institutionCode;
     }
     $url = $this->buildDIGIRQuery($institution, $catalogNumber);
     //echo $url;
     curl_setopt($this->ch, CURLOPT_URL, $url);
     $this->Call();
     storeInCache($institution, $catalogNumber, $this->result, 'xml');
     $xml = $this->result;
     //echo $xml;
     $data = '';
     $ok = false;
     if (preg_match('/<\\?xml version/', $xml)) {
         // we have XML
         $xml = preg_replace("/<response xmlns='http:\\/\\/digir.net\\/schema\\/protocol\\/2003\\/1.0'/", '<response', $xml);
         // We got XML, but did we get a hit?
         $record_count = 0;
         if (PHP_VERSION >= 5.0) {
             $dom = new DOMDocument();
             $dom->loadXML($xml);
             $xpath = new DOMXPath($dom);
             $xpath_query = "//diagnostic[@code='RECORD_COUNT']";
             $nodeCollection = $xpath->query($xpath_query);
             foreach ($nodeCollection as $node) {
                 $record_count = $node->firstChild->nodeValue;
             }
         } else {
             $xpath = new XPath();
             $xpath->importFromString($xml);
             $xpath_query = "//diagnostic[@code='RECORD_COUNT']";
             $nodeCollection = $xpath->match($xpath_query);
             foreach ($nodeCollection as $node) {
                 $record_count = $xpath->getData($node);
             }
         }
         //echo "Record count=$record_count\n";
         if ($record_count != 0) {
             //echo $xml;
             $xml = str_replace('&quot;', '\\"', $xml);
             //echo $xml;
             $xp = new XsltProcessor();
             $xsl = new DomDocument();
             $xsl->load('xsl/digir2JSON.xsl');
             $xp->importStylesheet($xsl);
             $xml_doc = new DOMDocument();
             $xml_doc->loadXML($xml);
             $json = $xp->transformToXML($xml_doc);
             //echo $json;
             $json = str_replace("{,", "{", $json);
             $json = str_replace("\n", "", $json);
             $data = json_decode($json);
             //print_r($data);
             //echo $data->status, "\n";
             // Clean weird KU stuff where they have lat=long=0
             if (isset($data->record[0]->latitude) && isset($data->record[0]->longitude)) {
                 if ($data->record[0]->latitude == 0 && $data->record[0]->longitude == 0) {
                     unset($data->record[0]->latitude);
                     unset($data->record[0]->longitude);
                 }
             }
             //print_r($data);
             if (isset($data->status)) {
                 if ($data->status == 'ok') {
                     $ok = true;
                 }
             }
         } else {
             $data->status = 'no record found';
         }
     } else {
         $data->status = 'no XML returned';
     }
     return $data;
 }
Esempio n. 4
0
        if (empty($content)) {
            return "";
        } else {
            global $webpath;
            $textdir = direction();
            $t = new Template(APP_ROOT . '/templates/' . TEMPLATE_SET);
            $t->set_file(array('box' => 'box.tpl'));
            $t->set_var('title', $title);
            $t->set_var('content', $content);
            $t->set_var('webpath', $webpath);
            $t->set_var('text_dir', $textdir['direction']);
            return $t->parse('out', 'box');
        }
    }
    // Fire off the XPath class
    require_once APP_ROOT . '/includes/XPath.class.php';
    $XPath = new XPath();
    $XPath->importFromString($xml);
    $tpl->set_var('vitals', makebox($text['vitals'], html_vitals()));
    if ($error->ErrorsExist() && isset($showerrors) && $showerrors) {
        $tpl->set_var('errors', makebox("ERRORS", $error->ErrorsAsHTML()));
    }
    // parse our the template
    $tpl->pfp('out', 'form');
}
$vitals_var = $XPath->getData("/phpsysinfo/Vitals/CPULoad");
if ($vitals_var >= 90) {
    exec('echo "1" > vitals.st');
} else {
    exec('echo "0" > vitals.st');
}
Esempio n. 5
0
EOD;
    // The sample code:
    $xmlOptions = array(XML_OPTION_CASE_FOLDING => TRUE, XML_OPTION_SKIP_WHITE => TRUE);
    $xPath = new XPath(FALSE, $xmlOptions);
    //$xPath->bDebugXmlParse = TRUE;
    if (!$xPath->importFromString($xmlSource)) {
        echo $xPath->getLastError();
        exit;
    }
    _title("Following was imported:");
    echo $xPath->exportAsHtml();
    _title("Get some content");
    echo "Last text part in &lt;AAA&gt;: '" . $xPath->wholeText('/AAA[1]', -1) . "'<br>\n";
    echo "All the text in  &lt;AAA&gt;: '" . $xPath->wholeText('/AAA[1]') . "'<br>\n";
    echo "The attibute value  in  &lt;BBB&gt; using getAttributes('/AAA[1]/BBB[1]', 'FOO'): '" . $xPath->getAttributes('/AAA[1]', 'FOO') . "'<br>\n";
    echo "The attibute value  in  &lt;BBB&gt; using getData('/AAA[1]/@FOO'): '" . $xPath->getData('/AAA[1]/@FOO') . "'<br>\n";
    _title("Append some additional XML below /AAA/BBB:");
    $xPath->appendChild('/AAA[1]/BBB[1]', '<CCC> Step 1. Append new node </CCC>', $afterText = FALSE);
    $xPath->appendChild('/AAA[1]/BBB[1]', '<CCC> Step 2. Append new node </CCC>', $afterText = TRUE);
    $xPath->appendChild('/AAA[1]/BBB[1]', '<CCC> Step 3. Append new node </CCC>', $afterText = TRUE);
    echo $xPath->exportAsHtml();
    _title("Insert some additional XML below <AAA>:");
    $xPath->reindexNodeTree();
    $xPath->insertChild('/AAA[1]/BBB[1]', '<BB> Step 1. Insert new node </BB>', $shiftRight = TRUE, $afterText = TRUE);
    $xPath->insertChild('/AAA[1]/BBB[1]', '<BB> Step 2. Insert new node </BB>', $shiftRight = FALSE, $afterText = TRUE);
    $xPath->insertChild('/AAA[1]/BBB[1]', '<BB> Step 3. Insert new node </BB>', $shiftRight = FALSE, $afterText = FALSE);
    echo $xPath->exportAsHtml();
    _title("Replace the last <BB> node with new XML data '&lt;DDD&gt; Replaced last BB &lt;/DDD&gt;':");
    $xPath->reindexNodeTree();
    $xPath->replaceChild('/AAA[1]/BB[last()]', '<DDD> Replaced last BB </DDD>', $afterText = FALSE);
    echo $xPath->exportAsHtml();
Esempio n. 6
0
$var['filename'] = getPathElement($var['filepath'], -1);
// extract category-directory
if ($var['filepath'] != "") {
    $var['catdir'] = getPath($var['filepath']);
} else {
    $var['catdir'] = "foobar";
}
// setting error filepath if necsessary
if ($var['filepath'] == "") {
    $var['filepath'] = "template/" . $var['template'] . "/error_pages/404.html";
}
// setting up xml parser
$xmlParser = new XPath($var['filepath']);
// get page title
if ($xmlParser->match("/html/head/title")) {
    $var['page_title'] = $xmlParser->getData("/html/head/title");
} elseif ($xmlParser->match("/content/title[1]")) {
    $var['page_title'] = $xmlParser->getData("/content/title[1]");
} else {
    $var['page_title'] = $var['filename'];
}
$var['title'] = $var['title'] . " - " . $var['page_title'];
// get keywords
if ($xmlParser->match("//meta[@name='KEYWORDS']")) {
    $var['keywords'] = $var['keywords'] . "," . $xmlParser->getData("//meta[@name='KEYWORDS']/attribute::content");
}
// get describtion
if ($xmlParser->match("//meta[@name='DESCRIBTION']")) {
    $var['describtion'] = $xmlParser->getData("//meta[@name='DESCRIBTION']/attribute::content");
}
// generating content
function sysinfo_generarinfo()
{
    // phpSysInfo - A PHP System Information Script
    // http://phpsysinfo.sourceforge.net/
    // This program is free software; you can redistribute it and/or
    // modify it under the terms of the GNU General Public License
    // as published by the Free Software Foundation; either version 2
    // of the License, or (at your option) any later version.
    // This program is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU General Public License for more details.
    // You should have received a copy of the GNU General Public License
    // along with this program; if not, write to the Free Software
    // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
    // $Id: index.php 2 2004-08-20 14:21:01Z root $
    // our version number
    global $sysinfo;
    global $XPath;
    global $text;
    $VERSION = "2.3-cvs";
    define('APP_ROOT', dirname(__FILE__));
    set_magic_quotes_runtime(0);
    if (!file_exists(APP_ROOT . '/config.php')) {
        echo '<center><b>Error: config.php does not exist.</b></center>';
        exit;
    }
    require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/config.php';
    // get the config file
    if (!extension_loaded('xml')) {
        echo '<center><b>Error: phpsysinfo requires xml module.</b></center>';
        exit;
    }
    // reassign HTTP variables (incase register_globals is off)
    if (!empty($HTTP_GET_VARS)) {
        while (list($name, $value) = each($HTTP_GET_VARS)) {
            ${$name} = $value;
        }
    }
    if (!empty($HTTP_POST_VARS)) {
        while (list($name, $value) = each($HTTP_POST_VARS)) {
            ${$name} = $value;
        }
    }
    // Check to see if where running inside of phpGroupWare
    if (isset($sessionid) && $sessionid && $kp3 && $domain) {
        define('PHPGROUPWARE', 1);
        $phpgw_info['flags'] = array('currentapp' => 'phpsysinfo-dev');
        include '../header.inc.php';
    } else {
        define('PHPGROUPWARE', 0);
    }
    if (!isset($template)) {
        $template = $_COOKIE['template'];
    }
    if (!isset($template)) {
        $template = 'classic';
    }
    // check to see if we have a random template first
    if ($template == 'random') {
        $dir = opendir('templates/');
        while (($file = readdir($dir)) != false) {
            if ($file != 'CVS' && $file != '.' && $file != '..') {
                $buf[] = $file;
            }
        }
        $template = $buf[array_rand($buf, 1)];
        $random = true;
    }
    if ($template != 'xml') {
        $template = basename(APP_ROOT . '/templates/' . $template);
        // figure out if we got a template passed in the url
        if (!file_exists(APP_ROOT . "/templates/{$template}")) {
            // default template we should use if we don't get a argument.
            $template = 'classic';
        }
    }
    define('TEMPLATE_SET', $template);
    // get our current language
    // default to english, but this is negotiable.
    if (!isset($lng)) {
        $lng = $_COOKIE['lng'];
    }
    if (!isset($lng)) {
        $lng = 'es';
    }
    $lng = basename(APP_ROOT . '/includes/lang/' . $lng . '.php', '.php');
    if (!file_exists(APP_ROOT . '/includes/lang/' . $lng . '.php')) {
        // see if the browser knows the right languange.
        if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
            $plng = split(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
            if (count($plng) > 0) {
                while (list($k, $v) = each($plng)) {
                    $k = split(';', $v, 1);
                    $k = split('-', $k[0]);
                    if (file_exists(APP_ROOT . '/includes/lang/' . $k[0] . '.php')) {
                        $lng = $k[0];
                        break;
                    }
                }
            }
        }
    }
    require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/lang/' . $lng . '.php';
    // get our language include
    // Figure out which OS where running on, and detect support
    if (file_exists(APP_ROOT . '/includes/os/class.' . PHP_OS . '.inc.php')) {
        require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/os/class.' . PHP_OS . '.inc.php';
        $sysinfo = new sysinfo();
    } else {
        echo '<center><b>Error: ' . PHP_OS . ' is not currently supported</b></center>';
        exit;
    }
    if (!empty($sensor_program)) {
        if (file_exists(APP_ROOT . '/includes/mb/class.' . $sensor_program . '.inc.php')) {
            require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/mb/class.' . $sensor_program . '.inc.php';
            $mbinfo = new mbinfo();
        } else {
            echo '<center><b>Error: ' . $sensor_program . ' is not currently supported</b></center>';
            exit;
        }
    }
    require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/common_functions.php';
    // Set of common functions used through out the app
    require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/xml/vitals.php';
    require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/xml/network.php';
    require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/xml/hardware.php';
    require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/xml/memory.php';
    require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/xml/filesystems.php';
    require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/xml/mbinfo.php';
    $xml = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
    $xml .= "<!DOCTYPE phpsysinfo SYSTEM \"" . _CFG_INTERFACE_DIRMODULES . "mod_sysinfo/phpsysinfo.dtd\">\n\n";
    $xml .= created_by();
    $xml .= "<phpsysinfo>\n";
    $xml .= "  <Generation version=\"{$VERSION}\" timestamp=\"" . time() . "\"/>\n";
    $xml .= xml_vitals();
    $xml .= xml_network();
    $xml .= xml_hardware();
    $xml .= xml_memory();
    $xml .= xml_filesystems();
    if (!empty($sensor_program)) {
        $xml .= xml_mbtemp();
        $xml .= xml_mbfans();
        $xml .= xml_mbvoltage();
    }
    $xml .= "</phpsysinfo>";
    if ($template == 'xml') {
        // just printout the XML and exit
        Header("Content-Type: text/xml\n\n");
        print $xml;
    } else {
        // If they have GD complied into PHP, find out the height of the image to make this cleaner
        if (function_exists('getimagesize') && $template != 'xml') {
            $image_prop = getimagesize(APP_ROOT . '/templates/' . TEMPLATE_SET . '/images/bar_middle.gif');
            define('BAR_HEIGHT', $image_prop[1]);
            unset($image_prop);
        } else {
            // Until they complie GD into PHP, this could look ugly
            define('BAR_HEIGHT', 16);
        }
        // Store the current template name in a cookie, set expire date to one month later
        // Store 'random' if we want a random template
        if ($random) {
            setcookie("template", 'random', time() + 60 * 60 * 24 * 30);
        } else {
            setcookie("template", $template, time() + 60 * 60 * 24 * 30);
        }
        // Store the current language selection in a cookie
        setcookie("lng", $lng, time() + 60 * 60 * 24 * 30);
        if (PHPGROUPWARE != 1) {
            require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/class.Template.inc.php';
            // template library
        }
        // fire up the template engine
        $tpl = new Template(dirname(__FILE__) . '/templates/' . TEMPLATE_SET);
        $tpl->set_file(array('form' => 'form.tpl'));
        // print out a box of information
        function makebox($title, $content, $percent)
        {
            $t = new Template(dirname(__FILE__) . '/templates/' . TEMPLATE_SET);
            $t->set_file(array('box' => 'box.tpl'));
            $t->set_var('title', $title);
            $t->set_var('content', $content);
            if (empty($content)) {
                return '';
            } else {
                return $t->parse('out', 'box');
            }
        }
        // Fire off the XPath class
        require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/XPath.class.php';
        $XPath = new XPath();
        $XPath->importFromString($xml);
        // let the page begin.
        require _CFG_INTERFACE_DIRMODULES . 'mod_sysinfo/includes/system_header.php';
        $tpl->set_var('title', $text['title'] . ': ' . $XPath->getData('/phpsysinfo/Vitals/Hostname') . ' (' . $XPath->getData('/phpsysinfo/Vitals/IPAddr') . ')');
        $tpl->set_var('vitals', makebox($text['vitals'], html_vitals(), '100%'));
        $tpl->set_var('network', makebox($text['netusage'], html_network(), '100%'));
        $tpl->set_var('hardware', makebox($text['hardware'], html_hardware(), '100%'));
        $tpl->set_var('memory', makebox($text['memusage'], html_memory(), '100%'));
        $tpl->set_var('filesystems', makebox($text['fs'], html_filesystems(), '100%'));
        if (!empty($sensor_program)) {
            $tpl->set_var('mbtemp', makebox($text['temperature'], html_mbtemp(), '100%'));
            $tpl->set_var('mbfans', makebox($text['fans'], html_mbfans(), '100%'));
            $tpl->set_var('mbvoltage', makebox($text['voltage'], html_mbvoltage(), '100%'));
        } else {
            $tpl->set_var('mbtemp', '');
            $tpl->set_var('mbfans', '');
            $tpl->set_var('mbvoltage', '');
        }
        // parse our the template
        return $tpl->pparse('out', 'form');
        // finally our print our footer
        /*  if (PHPGROUPWARE == 1) {
            $phpgw->common->phpgw_footer();
          } else {
            require(_CFG_INTERFACE_DIRMODULES.'mod_sysinfo/includes/system_footer.php');
          }
        */
    }
}