Mercurial > SimpleWebPresenter
view common-functions.inc @ 46:15879e2aab65
Function for converting a stringmap to EVALable function.
| author | Tom Fredrik "BFG" Klaussen <bfg@blenning.no> |
|---|---|
| date | Mon, 08 Oct 2012 15:49:28 +0200 |
| parents | 6c2c6acba30c |
| children | 2cfea6e84694 3898353ed1d8 |
line wrap: on
line source
<?php include_once 'CacheTimeCheck.inc'; $cache = CacheTimeCheck::instance(__FILE__); $cache->includeOnce('http-response-status-codes.inc', dirname(__FILE__)); function repMapString($map) { $opt = 'array('; $start = True; foreach($map as $param => $value) { if ($start) { $start = False; $opt .= "\"${param}\" => \"${value}\""; } else { $opt .= ", \"${param}\" => \"${value}\""; } } $opt .= ')'; return $opt; } function basePath() { $l = strrpos($_SERVER['SCRIPT_FILENAME'], $_SERVER['SCRIPT_NAME']); return substr($_SERVER['SCRIPT_FILENAME'], 0, $l); } function loadFile($sFilename, $sCharset = 'UTF-8') { if (floatval(phpversion()) >= 4.3) { if (!file_exists($sFilename)) return -3; $sData = file_get_contents($sFilename); } else { if (!file_exists($sFilename)) return -3; $rHandle = fopen($sFilename, 'r'); if (!$rHandle) return -2; $sData = ''; while(!feof($rHandle)) $sData .= fread($rHandle, filesize($sFilename)); fclose($rHandle); } if ($sEncoding = mb_detect_encoding($sData, 'auto', true) != $sCharset) { if ($sEncoding != 1) { $sData = mb_convert_encoding($sData, $sCharset, $sEncoding); } } return $sData; } function errorPage($errorText, $errorCode = 403) { header(StatusCodes::httpHeaderFor($errorCode)); print "<div id=\"page\"><h1>${errorText}</h1></div>"; exit; } function genUrl($urlParams, $keys = array(), $nonQueryParams = array()) { $out = ''; $first = 1; $new_params = $urlParams; foreach($keys as $param => $val) { $new_params[$param] = $val; } foreach($nonQueryParams as $nqp) { if (array_key_exists($nqp, $new_params)) { $val = $new_params[$nqp]; if ($val) $out .= "/${val}"; unset($new_params[$nqp]); } } foreach($new_params as $param => $val) { if ($val) { if($first) { $first = 0; $out .= "?"; } else $out .= "&"; $out .= urlencode($param) . '=' . urlencode($val); } } return $out; } function getElementByTagName($obj, $name) { $elems = $obj->getElementsByTagName($name); if ($elems->length != 1) { exit; } $elem = $elems->item(0); return $elem; } function getXmlContent($node) { $text = $node->ownerDocument->saveXml($node); $pattern = "/^<" . $node->tagName."[^>]*>/is"; $text = preg_replace($pattern, '' , $text); $pattern = '/<\/' . $node->tagName . '[^>]*>$/is'; $text = preg_replace($pattern, '' , $text); return $text; } function startswith($haystack, $needle) { return strpos($haystack, $needle) === 0; } function endsWith($haystack, $needle) { $l = strlen($haystack) - strlen($needle); return strrpos($haystack, $needle) === $l; } function getHeaders($url) { $response = http_head($url, array("timeout"=>1), $info); $headers = array(); $str = explode("\n", $response); foreach($str as $kv) { $p = strpos($kv, ":"); if ($p) { $key = substr($kv, 0, $p); $value = trim(substr($kv, $p + 1)); $headers[$key] = $value; } } return $headers; } function opttostring($opts) { $str = ''; foreach (array_keys($opts) as $key) { $value = $opts[$key]; if ($str) { $str .= "&${key}=${value}"; } else { $str = "?${key}=${value}"; } } return $str; } ?>
