| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  |  * Project:     Smarty: the PHP compiling template engine | 
					
						
							|  |  |  |  * File:        smarty_internal_utility.php | 
					
						
							|  |  |  |  * SVN:         $Id: $ | 
					
						
							|  |  |  |  *  | 
					
						
							|  |  |  |  * This library is free software; you can redistribute it and/or | 
					
						
							|  |  |  |  * modify it under the terms of the GNU Lesser General Public | 
					
						
							|  |  |  |  * License as published by the Free Software Foundation; either | 
					
						
							|  |  |  |  * version 2.1 of the License, or (at your option) any later version. | 
					
						
							|  |  |  |  *  | 
					
						
							|  |  |  |  * This library is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
					
						
							|  |  |  |  * Lesser General Public License for more details. | 
					
						
							|  |  |  |  *  | 
					
						
							|  |  |  |  * You should have received a copy of the GNU Lesser General Public | 
					
						
							|  |  |  |  * License along with this library; if not, write to the Free Software | 
					
						
							|  |  |  |  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
					
						
							|  |  |  |  *  | 
					
						
							|  |  |  |  * For questions, help, comments, discussion, etc., please join the | 
					
						
							|  |  |  |  * Smarty mailing list. Send a blank e-mail to | 
					
						
							|  |  |  |  * smarty-discussion-subscribe@googlegroups.com | 
					
						
							|  |  |  |  *  | 
					
						
							|  |  |  |  * @link http://www.smarty.net/ | 
					
						
							|  |  |  |  * @copyright 2008 New Digital Group, Inc. | 
					
						
							|  |  |  |  * @author Monte Ohrt <monte at ohrt dot com>  | 
					
						
							|  |  |  |  * @author Uwe Tews  | 
					
						
							|  |  |  |  * @package Smarty | 
					
						
							|  |  |  |  * @subpackage PluginsInternal | 
					
						
							|  |  |  |  * @version 3-SVN$Rev: 3286 $ | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | class Smarty_Internal_Utility { | 
					
						
							|  |  |  |     protected $smarty; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  |     function __construct($smarty) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $this->smarty = $smarty; | 
					
						
							|  |  |  |     }  | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  |      * Compile all template files | 
					
						
							|  |  |  |      *  | 
					
						
							|  |  |  |      * @param string $extension file extension | 
					
						
							|  |  |  |      * @param bool $force_compile force all to recompile | 
					
						
							|  |  |  |      * @param int $time_limit  | 
					
						
							|  |  |  |      * @param int $max_errors  | 
					
						
							|  |  |  |      * @return integer number of template files recompiled | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |     function compileAllTemplates($extention = '.tpl', $force_compile = false, $time_limit = 0, $max_errors = null) | 
					
						
							| 
									
										
										
										
											2010-03-29 15:41:01 +00:00
										 |  |  |     {  | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         // switch off time limit
 | 
					
						
							|  |  |  |         if (function_exists('set_time_limit')) { | 
					
						
							|  |  |  |             @set_time_limit($time_limit); | 
					
						
							|  |  |  |         }  | 
					
						
							|  |  |  |         $this->smarty->force_compile = $force_compile; | 
					
						
							|  |  |  |         $_count = 0; | 
					
						
							|  |  |  |         $_error_count = 0;  | 
					
						
							|  |  |  |         // loop over array of template directories
 | 
					
						
							|  |  |  |         foreach((array)$this->smarty->template_dir as $_dir) { | 
					
						
							|  |  |  |             $_compileDirs = new RecursiveDirectoryIterator($_dir); | 
					
						
							|  |  |  |             $_compile = new RecursiveIteratorIterator($_compileDirs); | 
					
						
							|  |  |  |             foreach ($_compile as $_fileinfo) { | 
					
						
							|  |  |  |                 if (strpos($_fileinfo, '.svn') !== false) continue; | 
					
						
							|  |  |  |                 $_file = $_fileinfo->getFilename(); | 
					
						
							|  |  |  |                 if (!substr_compare($_file, $extention, - strlen($extention)) == 0) continue; | 
					
						
							|  |  |  |                 if ($_fileinfo->getPath() == substr($_dir, 0, -1)) { | 
					
						
							|  |  |  |                     $_template_file = $_file; | 
					
						
							|  |  |  |                 } else { | 
					
						
							| 
									
										
										
										
											2010-03-22 16:12:18 +00:00
										 |  |  |                     $_template_file = substr($_fileinfo->getPath(), strlen($_dir)) . DS . $_file; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |                 }  | 
					
						
							|  |  |  |                 echo '<br>', $_dir, '---', $_template_file; | 
					
						
							|  |  |  |                 flush(); | 
					
						
							| 
									
										
										
										
											2010-03-29 15:41:01 +00:00
										 |  |  |                 $_start_time = $this->_get_time(); | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |                 try { | 
					
						
							|  |  |  |                     $_tpl = $this->smarty->createTemplate($_template_file); | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  |                     if ($_tpl->mustCompile()) { | 
					
						
							|  |  |  |                         $_tpl->compileTemplateSource(); | 
					
						
							| 
									
										
										
										
											2010-03-29 15:41:01 +00:00
										 |  |  |                         echo ' compiled in  ', $this->_get_time() - $_start_time, ' seconds'; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  |                         flush(); | 
					
						
							|  |  |  |                     } else { | 
					
						
							|  |  |  |                         echo ' is up to date'; | 
					
						
							|  |  |  |                         flush(); | 
					
						
							|  |  |  |                     }  | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |                 }  | 
					
						
							|  |  |  |                 catch (Exception $e) { | 
					
						
							|  |  |  |                     echo 'Error: ', $e->getMessage(), "<br><br>"; | 
					
						
							|  |  |  |                     $_error_count++; | 
					
						
							|  |  |  |                 }  | 
					
						
							|  |  |  |                 if ($max_errors !== null && $_error_count == $max_errors) { | 
					
						
							|  |  |  |                     echo '<br><br>too many errors'; | 
					
						
							| 
									
										
										
										
											2010-03-25 21:18:58 +00:00
										 |  |  |                     exit(); | 
					
						
							|  |  |  |                 }  | 
					
						
							|  |  |  |             }  | 
					
						
							|  |  |  |         }  | 
					
						
							|  |  |  |         return $_count; | 
					
						
							|  |  |  |     }  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Compile all config files | 
					
						
							|  |  |  |      *  | 
					
						
							|  |  |  |      * @param string $extension file extension | 
					
						
							|  |  |  |      * @param bool $force_compile force all to recompile | 
					
						
							|  |  |  |      * @param int $time_limit  | 
					
						
							|  |  |  |      * @param int $max_errors  | 
					
						
							|  |  |  |      * @return integer number of template files recompiled | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     function compileAllConfig($extention = '.conf', $force_compile = false, $time_limit = 0, $max_errors = null) | 
					
						
							| 
									
										
										
										
											2010-03-29 15:41:01 +00:00
										 |  |  |     {  | 
					
						
							|  |  |  |         // switch off time limit
 | 
					
						
							| 
									
										
										
										
											2010-03-25 21:18:58 +00:00
										 |  |  |         if (function_exists('set_time_limit')) { | 
					
						
							|  |  |  |             @set_time_limit($time_limit); | 
					
						
							|  |  |  |         }  | 
					
						
							|  |  |  |         $this->smarty->force_compile = $force_compile; | 
					
						
							|  |  |  |         $_count = 0; | 
					
						
							|  |  |  |         $_error_count = 0;  | 
					
						
							|  |  |  |         // loop over array of template directories
 | 
					
						
							|  |  |  |         foreach((array)$this->smarty->config_dir as $_dir) { | 
					
						
							|  |  |  |             $_compileDirs = new RecursiveDirectoryIterator($_dir); | 
					
						
							|  |  |  |             $_compile = new RecursiveIteratorIterator($_compileDirs); | 
					
						
							|  |  |  |             foreach ($_compile as $_fileinfo) { | 
					
						
							|  |  |  |                 if (strpos($_fileinfo, '.svn') !== false) continue; | 
					
						
							|  |  |  |                 $_file = $_fileinfo->getFilename(); | 
					
						
							|  |  |  |                 if (!substr_compare($_file, $extention, - strlen($extention)) == 0) continue; | 
					
						
							|  |  |  |                 if ($_fileinfo->getPath() == substr($_dir, 0, -1)) { | 
					
						
							|  |  |  |                     $_config_file = $_file; | 
					
						
							|  |  |  |                 } else { | 
					
						
							|  |  |  |                     $_config_file = substr($_fileinfo->getPath(), strlen($_dir)) . DS . $_file; | 
					
						
							|  |  |  |                 }  | 
					
						
							|  |  |  |                 echo '<br>', $_dir, '---', $_config_file; | 
					
						
							|  |  |  |                 flush(); | 
					
						
							| 
									
										
										
										
											2010-03-29 15:41:01 +00:00
										 |  |  |                 $_start_time = $this->_get_time(); | 
					
						
							| 
									
										
										
										
											2010-03-25 21:18:58 +00:00
										 |  |  |                 try { | 
					
						
							|  |  |  |                     $_config = new Smarty_Internal_Config($_config_file, $this->smarty); | 
					
						
							|  |  |  |                     if ($_config->mustCompile()) { | 
					
						
							|  |  |  |                         $_config->compileConfigSource(); | 
					
						
							| 
									
										
										
										
											2010-03-29 15:41:01 +00:00
										 |  |  |                         echo ' compiled in  ', $this->_get_time() - $_start_time, ' seconds'; | 
					
						
							| 
									
										
										
										
											2010-03-25 21:18:58 +00:00
										 |  |  |                         flush(); | 
					
						
							|  |  |  |                     } else { | 
					
						
							|  |  |  |                         echo ' is up to date'; | 
					
						
							|  |  |  |                         flush(); | 
					
						
							|  |  |  |                     }  | 
					
						
							|  |  |  |                 }  | 
					
						
							|  |  |  |                 catch (Exception $e) { | 
					
						
							|  |  |  |                     echo 'Error: ', $e->getMessage(), "<br><br>"; | 
					
						
							|  |  |  |                     $_error_count++; | 
					
						
							|  |  |  |                 }  | 
					
						
							|  |  |  |                 if ($max_errors !== null && $_error_count == $max_errors) { | 
					
						
							|  |  |  |                     echo '<br><br>too many errors'; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |                     exit(); | 
					
						
							|  |  |  |                 }  | 
					
						
							|  |  |  |             }  | 
					
						
							|  |  |  |         }  | 
					
						
							|  |  |  |         return $_count; | 
					
						
							|  |  |  |     }  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  |      * Delete compiled template file | 
					
						
							|  |  |  |      *  | 
					
						
							|  |  |  |      * @param string $resource_name template name | 
					
						
							|  |  |  |      * @param string $compile_id compile id | 
					
						
							|  |  |  |      * @param integer $exp_time expiration time | 
					
						
							|  |  |  |      * @return integer number of template files deleted | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |     function clearCompiledTemplate($resource_name = null, $compile_id = null, $exp_time = null) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  |         $_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         $_dir_sep = $this->smarty->use_sub_dirs ? DS : '^'; | 
					
						
							|  |  |  |         if (isset($resource_name)) { | 
					
						
							|  |  |  |             $_resource_part_1 = $resource_name . '.php'; | 
					
						
							|  |  |  |             $_resource_part_2 = $resource_name . '.cache' . '.php'; | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             $_resource_part = ''; | 
					
						
							|  |  |  |         }  | 
					
						
							|  |  |  |         $_dir = $this->smarty->compile_dir; | 
					
						
							|  |  |  |         if ($this->smarty->use_sub_dirs && isset($_compile_id)) { | 
					
						
							|  |  |  |             $_dir .= $_compile_id . $_dir_sep; | 
					
						
							|  |  |  |         }  | 
					
						
							|  |  |  |         if (isset($_compile_id)) { | 
					
						
							|  |  |  |             $_compile_id_part = $this->smarty->compile_dir . $_compile_id . $_dir_sep; | 
					
						
							|  |  |  |         }  | 
					
						
							|  |  |  |         $_count = 0; | 
					
						
							|  |  |  |         $_compileDirs = new RecursiveDirectoryIterator($_dir); | 
					
						
							|  |  |  |         $_compile = new RecursiveIteratorIterator($_compileDirs, RecursiveIteratorIterator::CHILD_FIRST); | 
					
						
							|  |  |  |         foreach ($_compile as $_file) { | 
					
						
							|  |  |  |             if (strpos($_file, '.svn') !== false) continue; | 
					
						
							|  |  |  |             if ($_file->isDir()) { | 
					
						
							|  |  |  |                 if (!$_compile->isDot()) { | 
					
						
							|  |  |  |                     // delete folder if empty
 | 
					
						
							|  |  |  |                     @rmdir($_file->getPathname()); | 
					
						
							|  |  |  |                 }  | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 if ((!isset($_compile_id) || (strlen((string)$_file) > strlen($_compile_id_part) && substr_compare((string)$_file, $_compile_id_part, 0, strlen($_compile_id_part)) == 0)) && | 
					
						
							|  |  |  |                         (!isset($resource_name) || (strlen((string)$_file) > strlen($_resource_part_1) && substr_compare((string)$_file, $_resource_part_1, - strlen($_resource_part_1), strlen($_resource_part_1)) == 0) || | 
					
						
							|  |  |  |                             (strlen((string)$_file) > strlen($_resource_part_2) && substr_compare((string)$_file, $_resource_part_2, - strlen($_resource_part_2), strlen($_resource_part_2)) == 0))) { | 
					
						
							|  |  |  |                     if (isset($exp_time)) { | 
					
						
							|  |  |  |                         if (time() - @filemtime($_file) >= $exp_time) { | 
					
						
							|  |  |  |                             $_count += @unlink((string) $_file) ? 1 : 0; | 
					
						
							|  |  |  |                         }  | 
					
						
							|  |  |  |                     } else { | 
					
						
							|  |  |  |                         $_count += @unlink((string) $_file) ? 1 : 0; | 
					
						
							|  |  |  |                     }  | 
					
						
							|  |  |  |                 }  | 
					
						
							|  |  |  |             }  | 
					
						
							|  |  |  |         }  | 
					
						
							|  |  |  |         return $_count; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  |     }  | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |     function testInstall() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         echo "<PRE>\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         echo "Smarty Installation test...\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         echo "Testing template directory...\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         foreach((array)$this->smarty->template_dir as $template_dir) { | 
					
						
							|  |  |  |             if (!is_dir($template_dir)) | 
					
						
							|  |  |  |                 echo "FAILED: $template_dir is not a directory.\n"; | 
					
						
							|  |  |  |             elseif (!is_readable($template_dir)) | 
					
						
							|  |  |  |                 echo "FAILED: $template_dir is not readable.\n"; | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |                 echo "$template_dir is OK.\n"; | 
					
						
							|  |  |  |         }  | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         echo "Testing compile directory...\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         if (!is_dir($this->smarty->compile_dir)) | 
					
						
							| 
									
										
										
										
											2010-03-22 14:48:46 +00:00
										 |  |  |             echo "FAILED: {$this->smarty->compile_dir} is not a directory.\n"; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         elseif (!is_readable($this->smarty->compile_dir)) | 
					
						
							| 
									
										
										
										
											2010-03-22 14:48:46 +00:00
										 |  |  |             echo "FAILED: {$this->smarty->compile_dir} is not readable.\n"; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         elseif (!is_writable($this->smarty->compile_dir)) | 
					
						
							| 
									
										
										
										
											2010-03-22 14:48:46 +00:00
										 |  |  |             echo "FAILED: {$this->smarty->compile_dir} is not writable.\n"; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         else | 
					
						
							|  |  |  |             echo "{$this->smarty->compile_dir} is OK.\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         echo "Testing plugins directory...\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         foreach((array)$this->smarty->plugins_dir as $plugin_dir) { | 
					
						
							|  |  |  |             if (!is_dir($plugin_dir)) | 
					
						
							|  |  |  |                 echo "FAILED: $plugin_dir is not a directory.\n"; | 
					
						
							|  |  |  |             elseif (!is_readable($plugin_dir)) | 
					
						
							|  |  |  |                 echo "FAILED: $plugin_dir is not readable.\n"; | 
					
						
							|  |  |  |             else | 
					
						
							|  |  |  |                 echo "$plugin_dir is OK.\n"; | 
					
						
							|  |  |  |         }  | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         echo "Testing cache directory...\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         if (!is_dir($this->smarty->cache_dir)) | 
					
						
							| 
									
										
										
										
											2010-03-22 14:48:46 +00:00
										 |  |  |             echo "FAILED: {$this->smarty->cache_dir} is not a directory.\n"; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         elseif (!is_readable($this->smarty->cache_dir)) | 
					
						
							| 
									
										
										
										
											2010-03-22 14:48:46 +00:00
										 |  |  |             echo "FAILED: {$this->smarty->cache_dir} is not readable.\n"; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         elseif (!is_writable($this->smarty->cache_dir)) | 
					
						
							| 
									
										
										
										
											2010-03-22 14:48:46 +00:00
										 |  |  |             echo "FAILED: {$this->smarty->cache_dir} is not writable.\n"; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         else | 
					
						
							|  |  |  |             echo "{$this->smarty->cache_dir} is OK.\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         echo "Testing configs directory...\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         if (!is_dir($this->smarty->config_dir)) | 
					
						
							| 
									
										
										
										
											2010-03-22 14:48:46 +00:00
										 |  |  |             echo "FAILED: {$this->smarty->config_dir} is not a directory.\n"; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         elseif (!is_readable($this->smarty->config_dir)) | 
					
						
							| 
									
										
										
										
											2010-03-22 14:48:46 +00:00
										 |  |  |             echo "FAILED: {$this->smarty->config_dir} is not readable.\n"; | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         else | 
					
						
							|  |  |  |             echo "{$this->smarty->config_dir} is OK.\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         echo "Tests complete.\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         echo "</PRE>\n"; | 
					
						
							| 
									
										
										
										
											2010-03-25 20:43:56 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-07 03:03:48 +00:00
										 |  |  |         return true; | 
					
						
							|  |  |  |     }  | 
					
						
							| 
									
										
										
										
											2010-03-29 15:41:01 +00:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Get Micro Time | 
					
						
							|  |  |  |      *  | 
					
						
							|  |  |  |      * @return double micro time | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     function _get_time() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $_mtime = microtime(); | 
					
						
							|  |  |  |         $_mtime = explode(" ", $_mtime); | 
					
						
							|  |  |  |         return (double)($_mtime[1]) + (double)($_mtime[0]); | 
					
						
							|  |  |  |     }  | 
					
						
							| 
									
										
										
										
											2010-02-07 11:09:28 +00:00
										 |  |  | } |