/**
  * The callback function used by spl_autoload_register
  * @param $class_name string - The class name
  */
 private function loading_classes($class_name)
 {
     $path_regex = 'td';
     // foreach regex path, the class name is verified for a start matching
     if (strpos($class_name, $path_regex) !== false and strpos($class_name, $path_regex) === 0) {
         $class_settings = td_api_base::get_by_id($class_name);
         if (!empty($class_settings)) {
             if (array_key_exists('file', $class_settings)) {
                 $class_file_path = $class_settings['file'];
                 if (isset($class_file_path) and !empty($class_file_path)) {
                     // set the autoloaded key for that component
                     td_api_base::_debug_set_class_is_autoloaded($class_name);
                     //	                    if ($class_name == 'td_page_views') {
                     //		                    print_r(debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 4)); //return only 4 call stack frames
                     //		                    die;
                     //	                    }
                     // require_once($class_file_path); - we need to use load_template to make our single_templates work like wordpress
                     // with load_template we prepare the globals ($post etc for the files)
                     // we should not use the global $post or any other globals in our classes without explicit declaration
                     load_template($class_file_path, true);
                 }
             } else {
                 td_util::error(__FILE__, "Missing parameter: 'file'");
             }
         }
     }
 }
Beispiel #2
0
function test_td()
{
    if (!is_admin()) {
        td_api_base::_debug_get_used_on_page_components();
    }
}
 static function get_all()
 {
     return parent::get_all_components_metadata(__CLASS__);
 }