Microweber\Providers\Modules::dir PHP Method

dir() public method

public dir ( $module_name )
    public function dir($module_name)
    {
        if (!is_string($module_name)) {
            return false;
        }
        $args = func_get_args();
        $function_cache_id = '';
        foreach ($args as $k => $v) {
            $function_cache_id = $function_cache_id . serialize($k) . serialize($v);
        }
        $cache_id = $function_cache_id = __FUNCTION__ . crc32($function_cache_id);
        $cache_group = 'modules/global';
        $cache_content = $this->app->cache_manager->get($cache_id, $cache_group);
        if ($cache_content != false) {
            return $cache_content;
        }
        $checked = array();
        if (!isset($checked[$module_name])) {
            $ch = $this->locate($module_name, $custom_view = false);
            if ($ch != false) {
                $ch = dirname($ch);
                $ch = normalize_path($ch, 1);
                $checked[$module_name] = $ch;
            } else {
                $checked[$module_name] = false;
            }
        }
        $this->app->cache_manager->save($checked[$module_name], $function_cache_id, $cache_group);
        return $checked[$module_name];
    }