* modifications related to enabling memcache and adding some expire headers
[vsc.git] / _res / _libs / functions.inc.php
blob206a28190a3e4b61351c7fd9b6bd22e093731e07
1 <?php
2 /**
3 * the __autoload automagic function for class initialization,
4 * see usingClass
6 * @param string $className
7 */
9 function __autoload ($className) {
10 // usingClass($className);
11 if (class_exists($className, false)) {
12 return true;
15 $classNameLow = strtolower($className);
17 $classPaths = array (
18 $classNameLow . '.class.php', // regular homegrown class
19 $classNameLow . DIRECTORY_SEPARATOR .$classNameLow . '.class.php', // regular page
20 $classNameLow . DIRECTORY_SEPARATOR . $classNameLow.'.class.php', // imported
23 foreach ($classPaths as $classPath) {
24 $fileIncluded = @include($classPath);
26 if ($fileIncluded) {
27 if (!class_exists($className, false)) {
28 trigger_error ('Unable to load class '.$className.' in path '.get_include_path().'.class.php', E_USER_ERROR);
29 return false;
31 return true;
35 if (!$fileIncluded) {
36 trigger_error ('Not found file containing '. $className .'.', E_USER_ERROR);
37 return false;
41 /**
42 * returns true if the user's ip is in our list of debug ips
44 * @return bool
46 function isDebug (){
47 if (stristr(C_SYSTEM_DEBUG_IPS, $_SERVER['REMOTE_ADDR']) && C_SYSTEM_DEBUG)
48 return true;
50 return false;
53 if (!function_exists('usingClass')) {
54 /**
55 * The php4 function for including the class file
57 * @param string $className
58 * @return bool
60 function usingClass($className) {
61 if (class_exists($className)) {
62 return true;
65 $classNameLow = strtolower($className);
68 $classPaths = array (
69 $classNameLow . '.class.php', // regular homegrown class
70 $classNameLow . DIRECTORY_SEPARATOR .$classNameLow . '.class.php', // regular page
71 $classNameLow . DIRECTORY_SEPARATOR . $classNameLow.'.class.php', // imported
74 foreach ($classPaths as $classPath) {
75 $fileIncluded = @include($classPath);
77 if ($fileIncluded) {
78 return true;
82 if (!$fileIncluded) {
83 trigger_error ('Not found file containing '. $className .'.', E_USER_ERROR);
84 return false;
87 if (!class_exists($className)) {
88 trigger_error ('Unable to load class '.$className.' in path '.get_include_path().'.class.php', E_USER_ERROR);
89 return false;
93 /**
94 * Dumb function for email validation
96 * @param string $address
97 * @return bool
99 function emailIsValid ($address) {
100 return (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $address));
103 function getDirFiles ( $dir, $showHidden = false){
105 $files = array();
106 if (!is_dir($dir)){
107 trigger_error('Can not find : '.$dir);
108 return false;
110 if ( $root = @opendir($dir) ){
111 while ($file = readdir ($root)){
112 if ( ($file == '.' || $file == '..') || ($showHidden == false && stripos($file, '.') === 0)){continue;}
114 if( is_dir($dir.'/'.$file) ){
115 $files = array_merge($files, getDirFiles($dir.'/'.$file));
116 } else {
117 /*if ( stristr($file, 'tpl') )*/ $files[] = $dir.'/'.$file;
121 return $files;
124 function isDBLink($incData) {
125 if (sqlFactory::validType(DB_TYPE) && is_resource($incData) && stristr(get_resource_type($incData),DB_TYPE)) {
126 return true;
128 return false;
131 if (!function_exists('mime_content_type')) {
132 function mime_content_type ($filename) {
133 $t = getimagesize($filename);
135 if (is_array($t))
136 return $t['mime'];
137 else
138 return 'application/unknown';