Esempio n. 1
0
function exportAllWikiPagesPDF($mode, $sortby) {
    global $SessSemName;

    $titlesortlink = "title";
    $versionsortlink = "version";
    $changesortlink = "lastchange";

    switch ($sortby) {
        case 'title':
            // sort by keyword, prepare link for descending sorting
            $sort = " ORDER BY keyword";
            break;
        case 'titledesc':
            // sort descending by keyword, prep link for asc. sort
            $sort = " ORDER BY keyword DESC";
            break;
        case 'version':
            $sort = " ORDER BY versions DESC, keyword ASC";
            break;
        case 'versiondesc':
            $sort = " ORDER BY versions, keyword ASC";
            break;
        case 'lastchange':
            // sort by change date, default: newest first
            $sort = " ORDER BY lastchange DESC, keyword ASC";
            break;
        case 'lastchangedesc':
            // sort by change date, oldest first
            $sort = " ORDER BY lastchange, keyword ASC";
            break;
    }

    $query = "SELECT keyword, MAX(chdate) AS lastchange, COUNT(*) AS versions
              FROM wiki
              WHERE range_id = ?
              GROUP BY keyword
              {$sort}";

    $parameters = array($SessSemName[1]);

    $statement = DBManager::get()->prepare($query);
    $statement->execute($parameters);

    $document = new ExportPDF();
    $document->SetTitle(_('Wiki: ').htmlReady($wikiData["keyword"]));
    $document->setHeaderTitle(sprintf(_("Wiki von \"%s\""), $SessSemName[0]));

    while ($wikiData = $statement->fetch(PDO::FETCH_ASSOC)) {
        $pagedata = getLatestVersion($wikiData["keyword"], $SessSemName[1]);
        $document->setHeaderSubtitle(sprintf(_("Seite: %s"), $wikiData["keyword"]));
        $document->addPage();
        $document->addContent(deleteWikiLinks($pagedata["body"]));
    }

    $document->dispatch($SessSemName[header_line]." - ".$wikiData["keyword"]);
}