Example #1
0
 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);