Microweber\Providers\LayoutsManager::get_link PHP Method

    public function get_link($options = 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__ . crc32($function_cache_id);
        //get cache from memory
        $mem = mw_var($cache_id);
        if ($mem != false) {
            return $mem;
        }
        $options = parse_params($options);
        $fn = false;
        if (isset($options[0])) {
            $fn = $options[0];
        } elseif (is_array($options)) {
            $val = current($options);
            $fn = key($options);
        }
        $page_url_segment_1 = $this->app->url_manager->segment(0);
        $td = templates_path() . $page_url_segment_1;
        $td_base = $td;
        $page_url_segment_2 = $this->app->url_manager->segment(1);
        $directly_to_file = false;
        $page_url_segment_3 = $this->app->url_manager->segment();
        if (!is_dir($td_base)) {
            array_shift($page_url_segment_3);
            //$page_url_segment_1 =	$the_active_site_template = $this->app->option_manager->get('current_template');
            //$td_base = templates_path() .   $the_active_site_template.DS;
        } else {
        }
        if (empty($page_url_segment_3)) {
            $page_url_segment_str = '';
        } else {
            $page_url_segment_str = $page_url_segment_3[0];
        }
        //$page_url_segment_str = implode('/', $page_url_segment_3);
        $fn = $this->app->url_manager->site($page_url_segment_str . '/' . $fn);
        //d($page_url_segment_3);
        //set cache in memory
        mw_var($cache_id, $fn);
        return $fn;
    }