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;
}