Example #1
0
function get_knowledge_base_title($q)
{
    $kb = get_knowledge_base();
    foreach (get_knowledge_base() as $label => $group) {
        foreach ($group as $key => $data) {
            if ($key == $q) {
                return is_array($data) ? $data['title'] : $data;
            }
        }
    }
    return "(Unknown kb article '" . htmlspecialchars($q) . "')";
}
Example #2
0
<?php

require __DIR__ . "/../layout/templates.php";
$q = require_get("q");
if (!is_string($q)) {
    set_temporary_errors(array(t("Invalid article key.")));
    redirect(url_for('help'));
}
if (!$q) {
    redirect(url_for('help'));
}
// we define all knowledge base articles ourselves, so that there's no chance
// of a security breach/injection
$knowledge = get_knowledge_base();
global $title;
$title = false;
foreach ($knowledge as $label => $a) {
    if (isset($a[$q])) {
        $title = $a[$q];
    }
}
if (!$title) {
    set_temporary_errors(array(t("No such knowledge base article ':key'.", array(':key' => htmlspecialchars($q)))));
    redirect(url_for('help'));
}
if (is_array($title)) {
    global $kb_inline;
    $kb_inline = $title['inline'];
    $title = $title['title'];
    $q = 'inline';
}