2025-06-16 18:28:08 +05:00

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));
}
?>