X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Finc-functions.php;h=b5bfdcfa85c266016217120154367a44d84b0376;hb=refs%2Fheads%2Fserver-0.2.1-FINAL%2Fshipsimu-org;hp=989eb238d4fb910d572ab93a4b0c8eb02f77420a;hpb=ad30a667fd8abeb576c04026b62c2e8a29d86f52;p=mailer.git diff --git a/inc/inc-functions.php b/inc/inc-functions.php index 989eb238d4..b5bfdcfa85 100644 --- a/inc/inc-functions.php +++ b/inc/inc-functions.php @@ -10,16 +10,9 @@ * -------------------------------------------------------------------- * * Kurzbeschreibung : Spezielle Funktionen fuer Include-Dateien * * -------------------------------------------------------------------- * - * $Revision:: $ * - * $Date:: $ * - * $Tag:: 0.2.1-FINAL $ * - * $Author:: $ * - * Needs to be in all Files and every File needs "svn propset * - * svn:keywords Date Revision" (autoprobset!) at least!!!!!! * - * -------------------------------------------------------------------- * * Copyright (c) 2003 - 2009 by Roland Haeder * - * Copyright (c) 2009, 2010 by Mailer Developer Team * - * For more information visit: http://www.mxchange.org * + * Copyright (c) 2009 - 2016 by Mailer Developer Team * + * For more information visit: http://mxchange.org * * * * 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 * @@ -43,121 +36,128 @@ if (!defined('__SECURITY')) { } // END - if // Init INC_POOL -function initIncludePool ($pool) { - //* DEBUG: */ print __FUNCTION__.':pool='.$pool.'
'; - $GLOBALS['inc_pool'][$pool] = array(); +function initIncludePool ($poolName) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'poolName=' . $poolName); + $GLOBALS['inc_pool'][$poolName] = array(); } // Setter for INC_POOL -function setIncludePool ($pool, $includePool) { - //* DEBUG: */ print __FUNCTION__.':pool='.$pool.'
'; - $GLOBALS['inc_pool'][$pool] = (array) $includePool; +function setIncludePool ($poolName, $includePool) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'poolName=' . $poolName); + $GLOBALS['inc_pool'][$poolName] = (array) $includePool; } // Getter for INC_POOL -function getIncludePool ($pool) { - //* DEBUG: */ print __FUNCTION__.':pool='.$pool.'
'; - if (isset($GLOBALS['inc_pool'][$pool])) { +function getIncludePool ($poolName) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'poolName=' . $poolName); + // Default is empty pool + $poolArray = array(); + + // Is it set? + if (isset($GLOBALS['inc_pool'][$poolName])) { // Return found pool (array) - return $GLOBALS['inc_pool'][$pool]; - } else { - // Return empty array if not found - return array(); - } + $poolArray = $GLOBALS['inc_pool'][$poolName]; + } // END - if + + // Return it + return $poolArray; } // Count INC_POOL -function countIncludePool ($pool) { - //* DEBUG: */ print __FUNCTION__.':pool='.$pool.'
'; - return count($GLOBALS['inc_pool'][$pool]); +function countIncludePool ($poolNAme) { + // Is the pool initialized? + if (!isset($GLOBALS['inc_pool'][$poolNAme])) { + // Not initialized with initIncludePool() + reportBug(__FUNCTION__, __LINE__, sprintf("Pool %s is not initialized.", $poolNAme)); + } // END - if + + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'poolNAme=' . $poolNAme); + return count($GLOBALS['inc_pool'][$poolNAme]); } // Merge INC_POOL into given -function mergeIncludePool ($pool, $includePool) { - //* DEBUG: */ print __FUNCTION__.':pool='.$pool.'
'; - setIncludePool($pool, merge_array(getIncludePool($pool), $includePool)); +function mergeIncludePool ($poolName, $includeArray) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'poolNAme=' . $poolNAme); + setIncludePool($poolName, merge_array(getIncludePool($poolName), $includeArray)); } // Add single include file to INC_POOL -function addIncludeToPool ($pool, $inc) { - //* DEBUG: */ print __FUNCTION__.':pool='.$pool.'
'; - $GLOBALS['inc_pool'][$pool][] = (string) $inc; +function addIncludeToPool ($poolName, $includeFileName) { + // Is the pool initialized? + if (!isset($GLOBALS['inc_pool'][$poolName])) { + // Not initialized with initIncludePool() + reportBug(__FUNCTION__, __LINE__, sprintf("Pool %s is not initialized, not adding include %s.", $poolName, $includeFileName)); + } // END - if + + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'poolNAme=' . $poolNAme); + array_push($GLOBALS['inc_pool'][$poolName], $includeFileName); } // Remove an include file from INC_POOL -function removeIncludeFromPool ($pool, $inc) { - //* DEBUG: */ print __FUNCTION__.':pool='.$pool.'
'; +function removeIncludeFromPool ($poolNAme, $inc) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'poolNAme=' . $poolNAme); // First look it up - $key = array_search($inc, getIncludePool($pool)); + $key = array_search($inc, getIncludePool($poolNAme)); // Is it valid? - if ($key !== false) { + if ($key !== FALSE) { // Then remove it - unset($GLOBALS['inc_pool'][$pool][$key]); + unset($GLOBALS['inc_pool'][$poolNAme][$key]); // And sort the list - asort($GLOBALS['inc_pool'][$pool]); + asort($GLOBALS['inc_pool'][$poolNAme]); } // END - if } // Load the whole include pool -function loadIncludePool ($pool) { - //* DEBUG: */ print __FUNCTION__.':pool='.$pool.' - START
'; - foreach (getIncludePool($pool) as $inc) { - //* DEBUG: */ print __FUNCTION__.':inc='.$inc.'
'; - loadIncludeOnce($inc); +function loadIncludePool ($poolName) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'poolNAme=' . $poolNAme.' - START'); + foreach (getIncludePool($poolName) as $includeFileName) { + //* DEBUG: */ debugOutput(__FUNCTION__.':includeFileName='.$includeFileName); + loadIncludeOnce($includeFileName); } // END - foreach - //* DEBUG: */ print __FUNCTION__.':pool='.$pool.' - END
'; + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'poolNAme=' . $poolNAme.' - END'); // Remove it - initIncludePool($pool); + initIncludePool($poolName); } // Loads an include file and logs any missing files for debug purposes -function loadInclude ($inc) { - // Do we have cache? - if (!isset($GLOBALS['inc_loaded'][$inc])) { - // Add the path. This is why we need a trailing slash in config.php - $GLOBALS['inc_loaded'][$inc] = getConfig('PATH') . $inc; - +function loadInclude ($includeFileName) { + // Is there cache? + if (!isset($GLOBALS['inc_loaded'][$includeFileName])) { // Is the include file there? - if (!isIncludeReadable($inc)) { + if (!isIncludeReadable($includeFileName)) { // Not there so log it - debug_report_bug(__FUNCTION__, __LINE__, sprintf("Include file %s not found.", $inc)); + reportBug(__FUNCTION__, __LINE__, sprintf('Include file %s not found or deprecated.', $includeFileName)); } // END - if + + // Add the path. This is why we need a trailing slash in config.php + $GLOBALS['inc_loaded'][$includeFileName] = getPath() . $includeFileName; } // END - if // Try to load it - include($GLOBALS['inc_loaded'][$inc]); + include($GLOBALS['inc_loaded'][$includeFileName]); } // Loads an include file once function loadIncludeOnce ($inc) { - // Remove double path - $inc = str_replace(getConfig('PATH'), '', $inc); - // Is it not loaded? - if (!isset($GLOBALS['load_once'][$inc])) { - // Mark it as loaded - $GLOBALS['load_once'][$inc] = 'loaded'; - + if (!isset($GLOBALS['inc_loaded'][$inc])) { // Then try to load it loadInclude($inc); } // END - if } -// Checks wether an include file (non-FQFN better) is readable +// Checks whether an include file (non-FQFN better) is readable function isIncludeReadable ($inc) { - // Do we have cache? + // Is there cache? if (!isset($GLOBALS['inc_readable'][$inc])) { - // Remove double path - $inc = str_replace(getConfig('PATH'), '', $inc); - // Construct FQFN - $FQFN = getConfig('PATH') . $inc; + $fqfn = getPath() . $inc; - // Is it readable? - $GLOBALS['inc_readable'][$inc] = isFileReadable($FQFN); + // Is it readable and at least 50 byte large? Include file sizes < 50 byte are always deprecated + $GLOBALS['inc_readable'][$inc] = ((isFileReadable($fqfn)) && (filesize($fqfn) >= 50)); } // END - if // Return result