Example #1
0
function guiLogin(&$session, $message)
{
    guiStandardHeader($session, "Anmeldung für den InfoBasar", Th_LoginHeader, Th_LoginBodyStart);
    guiStartForm($session);
    if (!empty($message)) {
        $message = preg_replace('/^\\+/', '+++ Fehler: ', $message);
        guiParagraph($session, $message, false);
    }
    outDivision($session);
    if (!isset($_POST['login_user'])) {
        $_POST['login_user'] = $session->fUserName;
        $_POST['login_email'] = '';
    }
    outTableAndRecord();
    outTableTextField($session, 'Benutzername:', 'login_user', null, 32, 32);
    outTableRecordDelim();
    outTablePasswordField($session, 'Passwort:', 'login_code', '', 32, 32);
    outTableRecordDelim();
    outTableButton($session, ' ', 'but_login', 'Anmelden');
    outTableAndRecordEnd();
    guiLine($session, 2);
    guiParagraph($session, 'Passwort vergessen?', false);
    outTableAndRecord();
    outTableTextField($session, 'EMail-Adresse:', 'login_email', null, 32, 0);
    outTableRecordDelim();
    outTableButton($session, ' ', 'but_forget', 'Passwort ändern');
    outTableAndRecordEnd();
    echo '(Das neue Passwort wird dann zugeschickt.)';
    outNewline();
    outStrong('Achtung:');
    echo 'Benutzername muss ausgefüllt sein!';
    outDivisionEnd($session);
    guiFinishForm($session, $session);
    guiStandardBodyEnd($session, Th_LoginBodyEnd);
    return 1;
}
function baseForum(&$session)
{
    $session->trace(TC_Gui1, 'baseForum');
    if (!isset($_POST['forum_id']) || !isInt($_POST['forum_id'])) {
        $_POST['forum_id'] = 1;
    }
    $forum_id = $_POST['forum_id'];
    if (empty($_POST['page_no'])) {
        $_POST['page_no'] = 1;
    }
    $page_no = $_POST['page_no'];
    $forum = dbGetRecordById($session, T_Forum, $forum_id, 'name,description');
    dbForumInfo($session, $forum_id, $threads, $pages);
    $headline = 'Forum ' . $forum[0];
    guiStandardHeader($session, $headline, Th_StandardHeader, Th_StandardBodyStart);
    guiParagraph($session, $forum[1], true);
    guiParagraph($session, 'Seite ' . $page_no . ' von ' . $pages . ' (' . (0 + $threads) . ($threads == 1 ? ' Thema)' : ' Themen)'), false);
    outTableAndRecord();
    outTableInternLink($session, null, P_Forum . '?forum_id=' . $forum_id . '&action=' . A_NewThread, 'Neues Thema');
    outTableDelim(AL_Right);
    guiPageLinks($session, P_Forum . '?action=' . A_ShowForum . '&forum_id=' . $forum_id, $page_no, $pages);
    outTableDelimAndRecordEnd();
    outTableEnd();
    $id_list = dbIdListOfPage($session, T_Posting, "forum={$forum_id} and top is null order by id desc", $session->fUserThreadsPerPage, $page_no);
    outTableAndRecord(1);
    outTableCellStrong('Thema');
    outTableCellStrong('Autor');
    outTableCellStrong('Antworten');
    outTableCellStrong('Aufrufe');
    outTableCellStrong('Letzter Beitrag');
    outTableCellStrong('Thema');
    outTableRecordEnd();
    foreach ($id_list as $ii => $id) {
        $thread = dbGetRecordById($session, T_Posting, $id, 'author,changedat,subject,changedby,calls');
        $last_id = null;
        dbThreadInfo($session, $id, $answers, $thread_pages, $last_id);
        if (empty($last_id)) {
            $last = $thread;
            $last_id = $id;
        } else {
            $last = dbGetRecordById($session, T_Posting, $last_id, 'author,changedat,subject');
        }
        outTableRecordAndDelim();
        guiThreadPageLink($session, $id, 1, $thread[2]);
        outTableDelimEnd();
        outTableCell(htmlentities($thread[0]));
        outTableCell($answers + 0);
        outTableCell($thread[4] + 0);
        outTableDelim();
        echo $last[0];
        echo ' ';
        echo dbSqlDateToText($session, $last[1]);
        outNewline();
        guiInternLink($session, P_Thread . '?action=' . A_ShowThread . '&posting_id=' . $last_id, $last[2]);
        outTableDelimAndRecordEnd();
    }
    outTableEnd();
    outTableAndRecord();
    outTableInternLink($session, null, P_Forum . '?forum_id=' . $forum_id . '&action=' . A_NewThread, 'Neues Thema');
    outTableDelim(AL_Right);
    guiPageLinks($session, P_Forum . '?action=' . A_ShowForum . '&forum_id=' . $forum_id, $page_no, $pages);
    outTableDelimAndRecordEnd();
    outTableEnd();
    guiStandardBodyEnd($session, Th_StandardBodyEnd);
}
function basePageInfo(&$session)
{
    $pagename = $session->fPageURL;
    $pagelink = encodeWikiName($session, $pagename);
    $headline = 'Info über ' . $pagename;
    guiStandardHeader($session, $headline, Th_InfoHeader, 0);
    $page = dbGetRecordByClause($session, T_Page, 'id,createdat,type,readgroup,writegroup', 'name=' . dbSqlString($session, $pagename));
    $pageid = $page[0];
    guiParagraph($session, 'Erzeugt: ' . dbSqlDateToText($session, $page[1]), false);
    $count = dbSingleValue($session, 'select count(id) from ' . dbTable($session, T_Text) . ' where page=' . (0 + $pageid));
    if ($count <= 1) {
        guiParagraph($session, 'Die Seite wurde nie geändert', false);
        guiParagraph($session, guiInternLinkString($session, encodeWikiName($session, $pagename), "Aktuelle Version"), false);
    } else {
        guiHeadline($session, 2, "Versionen ({$count})");
        outTableAndRecord(1);
        outTableCellStrong('Id');
        outTableCellStrong('Autor');
        outTableCellStrong('erzeugt');
        outTableCellStrong('Unterschied zum Nachfolger');
        outTableCellStrong('Unterschied zu jetzt');
        outTableRecordEnd();
        $row = dbFirstRecord($session, 'select id,createdby,createdat,changedat,replacedby from ' . dbTable($session, T_Text) . ' where page=' . (0 + $pageid) . ' order by id desc');
        $act_text_id = $row[0];
        while ($row) {
            outTableRecord();
            $text_id = $row[0];
            $replacedby = $row[4];
            outTableInternLink($session, null, $pagelink . '?action=' . A_ShowText . '&page_id=' . $pageid . '&text_id=' . ($text_id + 0), $text_id);
            outTableAuthorLink($session, $row[1]);
            outTableCell(dbSqlDateToText($session, $row[2]));
            if ($replacedby > 0) {
                outTableInternLink($session, null, $pagelink . '?action=' . A_Diff . '&text_id=' . $replacedby . '&text_id2=' . $text_id, ' Unterschied zu ' . $replacedby);
                if ($replacedby == $act_text_id) {
                    outTableCell(' ');
                } else {
                    outTableInternLink($session, null, $pagelink . '?action=' . A_Diff . '&text_id=' . $text_id . '&text_id2=' . $act_text_id, ' Unterschied zu jetzt');
                }
            } else {
                outTableCell(' ');
                outTableCell(' ');
            }
            outTableRecordEnd();
            $row = dbNextRecord($session);
        }
        outTableEnd();
    }
    guiStandardBodyEnd($session, Th_InfoBodyEnd);
}
Example #4
0
function admShowDir(&$session, $path, $headline = null, $pattern = null, $button_text = null, $button_prefix = null, $file_prefix = null, $with_form = true)
{
    $session->trace(TC_Init, 'admShowDir');
    $dir = opendir($path);
    if ($headline != '') {
        guiHeadline($session, 2, $headline == null ? "Verzeichnis {$path} auf dem Server" : $headline);
    }
    if ($button_text != null && $with_form) {
        guiStartForm($session);
    }
    outTableAndRecord(1);
    outTableCellStrong('Name');
    outTableCellStrong('Größe');
    outTableCellStrong('Geändert am');
    if ($button_text != null) {
        outTableCellStrong('Aktion');
    }
    outTableRecordEnd();
    $no = 0;
    while ($file = readdir($dir)) {
        if ($file != '.' && $file != '..' && ($pattern == null || preg_match($pattern, $file))) {
            $name = $path . $file;
            outTableRecord();
            outTableCell(htmlentities($file));
            outTableCell(is_dir($name) ? 'Verzeichnis' : filesize($name), AL_Right);
            outTableCell(date("Y.m.d H:i:s", filemtime($name)));
            if ($button_text != null) {
                $no++;
                outTableDelim();
                outHiddenField($session, $file_prefix . $no, $path . $file);
                outButton($session, $button_prefix . $no, $button_text);
                outTableDelimEnd();
            }
            outTableRecordEnd();
        }
    }
    outTableEnd();
    closedir($dir);
    if ($button_text != null && $with_form) {
        guiFinishForm($session);
    }
}