215 lines
4.5 KiB
PHP
Executable File
215 lines
4.5 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* general.php
|
|
*
|
|
* @package MCManager.includes
|
|
* @author Moxiecode
|
|
* @copyright Copyright © 2007, Moxiecode Systems AB, All rights reserved.
|
|
*/
|
|
|
|
@error_reporting(E_ALL ^ E_NOTICE);
|
|
|
|
// Load logger class
|
|
require_once(dirname(__FILE__) . "/../classes/Utils/Logger.class.php");
|
|
$httpRequestInput = array_merge($_GET, $_POST);
|
|
|
|
/**
|
|
* Returns an request value by name without magic quoting.
|
|
*
|
|
* @param String $name Name of parameter to get.
|
|
* @param String $default_value Default value to return if value not found.
|
|
* @return String request value by name without magic quoting or default value.
|
|
*/
|
|
function getRequestParam($name, $default_value = false, $sanitize = false) {
|
|
global $httpRequestInput;
|
|
|
|
if (!isset($httpRequestInput[$name]))
|
|
return $default_value;
|
|
|
|
if (is_array($httpRequestInput[$name])) {
|
|
$newarray = array();
|
|
|
|
foreach ($httpRequestInput[$name] as $name => $value)
|
|
$newarray[formatParam($name, $sanitize)] = formatParam($value, $sanitize);
|
|
|
|
return $newarray;
|
|
}
|
|
|
|
return formatParam($httpRequestInput[$name], $sanitize);
|
|
}
|
|
|
|
function formatParam($str, $sanitize = false) {
|
|
if ($sanitize)
|
|
$str = preg_replace("/[^0-9a-z\-_,]+/i", "", $str);
|
|
|
|
if (ini_get("magic_quotes_gpc"))
|
|
$str = stripslashes($str);
|
|
|
|
return $str;
|
|
}
|
|
|
|
function getClassName($obj) {
|
|
return strtolower(get_class($obj));
|
|
}
|
|
|
|
/**
|
|
* Check if a value is true/false.
|
|
*
|
|
* @param string $str True/False value.
|
|
* @return bool true/false
|
|
*/
|
|
function checkBool($str, $def = false) {
|
|
if ($str === true)
|
|
return true;
|
|
|
|
if ($str === false)
|
|
return false;
|
|
|
|
$str = strtolower($str);
|
|
|
|
if ($str == "true")
|
|
return true;
|
|
|
|
return $def;
|
|
}
|
|
|
|
/**
|
|
* Returns a file extention from a path.
|
|
*
|
|
* @param string $path Path to grab extention from.
|
|
* @return string File extention.
|
|
*/
|
|
function getFileExt($path) {
|
|
$ar = explode('.', $path);
|
|
return strtolower(array_pop($ar));
|
|
}
|
|
|
|
/**
|
|
* Returns the mime type of an path by resolving it agains a apache style "mime.types" file.
|
|
*
|
|
* @param String $path path to Map/get content type by
|
|
* @patam String $mime_File Absolute filepath to mime.types style file.
|
|
* @return String mime type of path or an empty string on failue.
|
|
*/
|
|
function mapMimeTypeFromUrl($path, $mime_file) {
|
|
if (($fp = fopen($mime_file, "r"))) {
|
|
$ar = explode('.', $path);
|
|
$ext = strtolower(array_pop($ar));
|
|
|
|
while (!feof ($fp)) {
|
|
$line = fgets($fp, 4096);
|
|
$chunks = preg_split("/(\t+)|( +)/", $line);
|
|
|
|
for ($i=1; $i<count($chunks); $i++) {
|
|
if (rtrim($chunks[$i]) == $ext)
|
|
return $chunks[0];
|
|
}
|
|
}
|
|
|
|
fclose($fp);
|
|
}
|
|
|
|
return "";
|
|
}
|
|
|
|
/**
|
|
* Adds no cache headers to HTTP response.
|
|
*/
|
|
function addNoCacheHeaders() {
|
|
// Date in the past
|
|
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
|
|
|
// always modified
|
|
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
|
|
|
|
// HTTP/1.1
|
|
header("Cache-Control: no-store, no-cache, must-revalidate");
|
|
header("Cache-Control: post-check=0, pre-check=0", false);
|
|
|
|
// HTTP/1.0
|
|
header("Pragma: no-cache");
|
|
}
|
|
|
|
/**
|
|
* Returns var_dump.
|
|
*
|
|
* @return string A var_dump returned as string.
|
|
*/
|
|
function varDump($data) {
|
|
ob_start();
|
|
var_dump($data);
|
|
$contextcontent = ob_get_contents();
|
|
ob_end_clean();
|
|
|
|
return $contextcontent;
|
|
}
|
|
|
|
/**
|
|
* A proper IndexOf function, cause strpos suxx0rz!
|
|
*
|
|
* @return int Returns -1 if failed, else position.
|
|
*/
|
|
function indexOf($str, $search, $offset=0) {
|
|
$pos = strpos($str, $search, $offset);
|
|
|
|
if ($pos === false)
|
|
return -1;
|
|
|
|
return $pos;
|
|
}
|
|
|
|
function &getLogger() {
|
|
global $mcLogger, $man;
|
|
|
|
if (isset($man))
|
|
$mcLogger = $man->getLogger();
|
|
|
|
if (!$mcLogger) {
|
|
$mcLogger = new Moxiecode_Logger();
|
|
|
|
// Set logger options
|
|
$mcLogger->setPath(dirname(__FILE__) . "/../logs");
|
|
$mcLogger->setMaxSize("100kb");
|
|
$mcLogger->setMaxFiles("10");
|
|
$mcLogger->setFormat("{time} - {message}");
|
|
}
|
|
|
|
return $mcLogger;
|
|
}
|
|
|
|
function debug($msg) {
|
|
$args = func_get_args();
|
|
|
|
$log =& getLogger();
|
|
$log->debug(implode(', ', $args));
|
|
}
|
|
|
|
function info($msg) {
|
|
$args = func_get_args();
|
|
|
|
$log =& getLogger();
|
|
$log->info(implode(', ', $args));
|
|
}
|
|
|
|
function error($msg) {
|
|
$args = func_get_args();
|
|
|
|
$log =& getLogger();
|
|
$log->error(implode(', ', $args));
|
|
}
|
|
|
|
function warn($msg) {
|
|
$args = func_get_args();
|
|
|
|
$log =& getLogger();
|
|
$log->warn(implode(', ', $args));
|
|
}
|
|
|
|
function fatal($msg) {
|
|
$args = func_get_args();
|
|
|
|
$log =& getLogger();
|
|
$log->fatal(implode(', ', $args));
|
|
}
|
|
|
|
?>
|