Revision: 1381
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 3, 2006 05:03 by ekobudisetiyo
Initial Code
<?php class fuselogic_include_path { function __construct($path = null) { if(!isset($this->setting_name)) { $this->setting_name = 'include_path'; $this->_get_separator(); } if(isset($path)) $this->add($path); } function add($variables) { $array = Array(); if(is_array($variables)) { $array = array_merge($this->to_array(),$variables); }else { $array = array_merge($this->to_array(),array($variables)); } $this->clear(); $this->_unlink('.'); for($i=0;$i<count($array);$i++) $array[$i] = str_replace('\\','/',$array[$i]); $unique = array_unique($array); foreach($unique as $variable) { if($variable !== '.') $this->_link($variable); } } function remove($variables) { if(is_array($variables)) { foreach($variables as $variable) $this->_unlink($variable); }else { $this->_unlink($variables); } } function clear() { ini_set($this->setting_name,'.'); } function to_array() { return explode($this->_separator,ini_get($this->setting_name)); } function get_setting($setting = '') { if(empty($setting)) $setting = ini_get($this->setting_name); $setting = str_replace('\\','/',$setting); return $setting; } function _link($directory = '') { if(!empty($directory)) { $directory = str_replace('\\','/',$directory); $setting = $this->get_setting(); $setting = str_replace($this->_separator.$directory,'',$setting); $setting .= $this->_separator.$directory; ini_set($this->setting_name,$setting); } } function _get_separator() { $count = substr_count(ini_get($this->setting_name),';'); if($count > 0) { $this->_separator = ';'; }else{ $this->_separator = ':'; } } function _unlink($directory = '') { if(!empty($directory)) { $directory = str_replace('\\','/',$directory); $setting = $this->get_setting(); $setting = str_replace($directory,'',$setting); $setting = str_replace($this->_separator.$this->_separator,$this->_separator,$setting); $setting .= $this->_separator.$this->_separator; $setting = str_replace($this->_separator.$this->_separator.$this->_separator,'',$setting); $setting = str_replace($this->_separator.$this->_separator,'',$setting); ini_set($this->setting_name,$setting); } } } ?>
Initial URL
http://fuselogic.haltebis.com
Initial Description
Include Path PHP 5 class. Usage: $path = new fuselogic_include_path(); $path->add('/home/ekobudi/www/fuselogic'); $path->add('/home/ekobudi/www/pear'); $path->remove('/home/ekobudi/www/old_fuselgic');
Initial Title
PHP5 Include Path
Initial Tags
php
Initial Language
PHP