public function get_article() { return Article::by_id($this->article_id); }
* * Returns: * All results from the tag content. */ $ste->register_tag("languages", function ($ste, $params, $sub) { global $languages, $ratatoeskr_settings, $rel_path_to_root; if (!isset($params["var"])) { throw new Exception("Need parameter 'var' in ste:languages."); } $langs = array(); if (isset($ste->vars["current"]["article"])) { if (isset($ste->vars["current"]["article"]["__obj"])) { $article = $ste->vars["current"]["article"]["__obj"]; } else { try { $article = Article::by_id($ste->vars["current"]["article"]["id"]); } catch (DoesNotExistError $e) { } } foreach ($article->title as $lang => $_) { $langs[] = $lang; } } else { foreach ($ratatoeskr_settings["languages"] as $lang) { $langs[] = $lang; } } $output = ""; foreach ($langs as $lang) { $ste->set_var_by_name($params["var"], array("short" => $lang, "fullname" => htmlesc($languages[$lang]["language"]), "url" => htmlesc("{$rel_path_to_root}/{$lang}/" . implode("/", array_slice($ste->vars["current"]["url_fragments"], 1))))); $output .= $sub($ste);