QM_Util::get_file_dirs PHP Method

get_file_dirs() public static method

public static get_file_dirs ( )
        public static function get_file_dirs()
        {
            if (empty(self::$file_dirs)) {
                self::$file_dirs['plugin'] = self::standard_dir(WP_PLUGIN_DIR);
                self::$file_dirs['go-plugin'] = self::standard_dir(WPMU_PLUGIN_DIR . '/shared-plugins');
                self::$file_dirs['mu-plugin'] = self::standard_dir(WPMU_PLUGIN_DIR);
                self::$file_dirs['vip-plugin'] = self::standard_dir(get_theme_root() . '/vip/plugins');
                self::$file_dirs['stylesheet'] = self::standard_dir(get_stylesheet_directory());
                self::$file_dirs['template'] = self::standard_dir(get_template_directory());
                self::$file_dirs['other'] = self::standard_dir(WP_CONTENT_DIR);
                self::$file_dirs['core'] = self::standard_dir(ABSPATH);
                self::$file_dirs['unknown'] = null;
            }
            return self::$file_dirs;
        }

Usage Example

Beispiel #1
0
 public function get_component()
 {
     $components = array();
     foreach ($this->trace as $item) {
         try {
             if (isset($item['file'])) {
                 $file = $item['file'];
             } else {
                 if (isset($item['class'])) {
                     if (!is_object($item['class']) and !class_exists($item['class'], false)) {
                         continue;
                     }
                     if (!method_exists($item['class'], $item['function'])) {
                         continue;
                     }
                     $ref = new ReflectionMethod($item['class'], $item['function']);
                     $file = $ref->getFileName();
                 } else {
                     if (!function_exists($item['function'])) {
                         continue;
                     }
                     $ref = new ReflectionFunction($item['function']);
                     $file = $ref->getFileName();
                 }
             }
             $comp = QM_Util::get_file_component($file);
             $components[$comp->type] = $comp;
         } catch (ReflectionException $e) {
             # nothing
         }
     }
     foreach (QM_Util::get_file_dirs() as $type => $dir) {
         if (isset($components[$type])) {
             return $components[$type];
         }
     }
     # This should not happen
 }