예제 #1
0
function require_root_model()
{
    require_once root_framework_app_path() . "models/root_model.php";
}
예제 #2
0
파일: MY_Loader.php 프로젝트: piranon/gae
 protected function _ci_load_class($class, $params = NULL, $object_name = NULL)
 {
     // Get the class name, and while we're at it trim any slashes.
     // The directory path can be included as part of the class name,
     // but we don't want a leading slash
     $class = str_replace('.php', '', trim($class, '/'));
     // Was the path included with the class name?
     // We look for a slash to determine this
     $subdir = '';
     if (($last_slash = strrpos($class, '/')) !== FALSE) {
         // Extract the path
         $subdir = substr($class, 0, $last_slash + 1);
         // Get the filename from the path
         $class = substr($class, $last_slash + 1);
     }
     // We'll test for both lowercase and capitalized versions of the file name
     foreach (array(ucfirst($class), strtolower($class)) as $class) {
         $current_lib_path = 'libraries/' . $subdir . config_item('subclass_prefix') . $class . '.php';
         $subclass_is_exists = false;
         $subclass = APPPATH . $current_lib_path;
         if (file_exists($subclass)) {
             $subclass_is_exists = true;
         } else {
             $subclass = root_framework_app_path() . $current_lib_path;
             if (file_exists($subclass)) {
                 $subclass_is_exists = true;
             }
         }
         /*
         $subclass = APPPATH.'libraries/'.$subdir.config_item('subclass_prefix').$class.'.php';
         // Is this a class extension request?
         if (file_exists($subclass))
         {
         */
         if ($subclass_is_exists) {
             $baseclass = BASEPATH . 'libraries/' . ucfirst($class) . '.php';
             if (!file_exists($baseclass)) {
                 log_message('error', "Unable to load the requested class: " . $class);
                 show_error("Unable to load the requested class: " . $class);
             }
             // Safety:  Was the class already loaded by a previous call?
             if (in_array($subclass, $this->_ci_loaded_files)) {
                 // Before we deem this to be a duplicate request, let's see
                 // if a custom object name is being supplied.  If so, we'll
                 // return a new instance of the object
                 if (!is_null($object_name)) {
                     $CI =& get_instance();
                     if (!isset($CI->{$object_name})) {
                         return $this->_ci_init_class($class, config_item('subclass_prefix'), $params, $object_name);
                     }
                 }
                 $is_duplicate = TRUE;
                 log_message('debug', $class . " class already loaded. Second attempt ignored.");
                 return;
             }
             include_once $baseclass;
             include_once $subclass;
             $this->_ci_loaded_files[] = $subclass;
             return $this->_ci_init_class($class, config_item('subclass_prefix'), $params, $object_name);
         }
         // Lets search for the requested library file and load it.
         $is_duplicate = FALSE;
         foreach ($this->_ci_library_paths as $path) {
             $filepath = $path . 'libraries/' . $subdir . $class . '.php';
             // Does the file exist?  No?  Bummer...
             if (!file_exists($filepath)) {
                 continue;
             }
             // Safety:  Was the class already loaded by a previous call?
             if (in_array($filepath, $this->_ci_loaded_files)) {
                 // Before we deem this to be a duplicate request, let's see
                 // if a custom object name is being supplied.  If so, we'll
                 // return a new instance of the object
                 if (!is_null($object_name)) {
                     $CI =& get_instance();
                     if (!isset($CI->{$object_name})) {
                         return $this->_ci_init_class($class, '', $params, $object_name);
                     }
                 }
                 $is_duplicate = TRUE;
                 log_message('debug', $class . " class already loaded. Second attempt ignored.");
                 return;
             }
             include_once $filepath;
             $this->_ci_loaded_files[] = $filepath;
             return $this->_ci_init_class($class, '', $params, $object_name);
         }
     }
     // END FOREACH
     // One last attempt.  Maybe the library is in a subdirectory, but it wasn't specified?
     if ($subdir == '') {
         $path = strtolower($class) . '/' . $class;
         return $this->_ci_load_class($path, $params);
     }
     // If we got this far we were unable to find the requested class.
     // We do not issue errors if the load call failed due to a duplicate request
     if ($is_duplicate == FALSE) {
         log_message('error', "Unable to load the requested class: " . $class);
         show_error("Unable to load the requested class: " . $class);
     }
 }