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;
}
Example #2
0
function guiShowPageById(&$session, $page, $text_id)
{
    $session->trace(TC_Gui1, 'guiShowPageById: ' . $page . '/' . $text_id);
    list($name, $type, $readgroup) = dbGetRecordById($session, T_Page, $page, 'name,type,readgroup');
    if (!empty($text_id) && $text_id > 0) {
        $count_newer = dbSingleValue($session, 'select count(id) from ' . dbTable($session, T_Text) . ' where page=' . $page . ' and id>' . $text_id);
    } else {
        $count_newer = 0;
        list($text_id) = dbGetRecordByClause($session, T_Text, 'max(id)', 'page=' . $page);
    }
    $session->trace(TC_Gui1, 'guiShowPageById-2: ' . $count_newer);
    list($content, $created_at, $created_by) = dbGetRecordById($session, T_Text, $text_id, 'text,createdat,createdby');
    $has_changed = $name != $session->fPageName;
    $session->SetPageData($name, $created_at, $created_by);
    if ($has_changed) {
        $session->SetLocation($name);
    }
    $header = $count_newer == 0 ? $session->fPageName : $session->fPageName . ' (Version ' . $text_id . ')';
    if ($type == TT_Wiki) {
        guiStandardHeader($session, $header, Th_HeaderWiki, Th_BodyStartWiki);
    } else {
        guiStandardHeader($session, $header, Th_HeaderHTML, Th_BodyStartHTML);
    }
    if ($count_newer > 0) {
        guiParagraph($session, 'Achtung: es existier' . ($count_newer == 1 ? 't eine neuere Version' : 'en ' . $count_newer . ' neuere Versionen'), false);
    }
    guiFormatPage($session, $type, $content);
    guiStandardBodyEnd($session, $type == TT_Wiki ? Th_BodyEndWiki : Th_BodyEndHTML);
}
Example #3
0
function baseThread(&$session)
{
    global $thread_id, $posting_id, $page_no;
    $session->trace(TC_Gui1, 'baseThread');
    if (empty($thread_id)) {
        if (empty($posting_id)) {
            $thread_id = 1;
        } else {
            $thread_id = dbSingleValue($session, 'select top from ' . dbTable($session, T_Posting) . " where id={$posting_id}");
            if (empty($thread_id)) {
                $thread_id = $posting_id;
            }
        }
    }
    if (!isset($page_no)) {
        $page_no = isset($posting_id) ? dbPageOfPosting($session, $thread_id, $posting_id) : 1;
    }
    $id_list = dbIdListOfThreadPage($session, $thread_id, $page_no);
    $thread = dbGetRecordById($session, T_Posting, $thread_id, 'author,subject,text,createdat,changedby,changedat,calls,forum');
    dbThreadInfo($session, $thread_id, $answers, $pages, $last);
    $thread_date = dbSqlDateToText($session, $thread[3]);
    $forum = dbGetRecordById($session, T_Forum, $thread[7], 'name');
    guiStandardHeader($session, 'Thema: ' . $thread[1], Th_ThreadHeader, Th_ThreadBodyStart);
    guiParagraph($session, $thread[0] . ', ' . $thread_date . ', ' . (0 + $answers) . ' Antwort' . ($answers == 1 ? ', ' : 'en, ') . $pages . ' Seite' . ($pages == 1 ? '' : 'n'), true);
    echo '<table width="100%" border="0"><tr><td>';
    echo 'Forum: ';
    guiInternLink($session, P_Forum . '?forum_id=' . $thread[7], $forum[0]);
    if ($pages > 1) {
        echo '</td><td style="text-align: right">';
        guiPageLinks($session, P_Thread . '?action=' . A_ShowThread . '&thread_id=' . $thread_id, $page_no, $pages);
    }
    echo "</td></tr></table>\n";
    dbUpdateRaw($session, T_Posting, $thread_id, 'calls=calls+1');
    echo '<table width="100%" border="0">' . "\n";
    // Autor Thema-Text
    foreach ($id_list as $ii => $id) {
        # echo "alle Postings: $ii / $id<br>";
        if ($id == $thread_id) {
            $posting = $thread;
        } else {
            $posting = dbGetRecordById($session, T_Posting, $id, 'author,subject,text,createdat,changedby,changedat');
        }
        dbGetAuthorInfo($session, $posting[0], $author_link, $postings, $avatar, $ranking);
        echo '<tr><td style="vertical-align:top">';
        guiLine(1);
        echo $thread[0] . '<br/>' . ($postings + 0) . ' Beitr&auml;ge<br/>' . $ranking;
        if (!empty($avatar)) {
            echo '<br/>' . $avatar;
        }
        echo '</td><td>';
        guiLine(1);
        if ($id == $thread_id) {
            guiHeadline($session, 3, 'Thema: ' . $posting[1]);
        } else {
            guiHeadline($session, 3, 'Antwort ' . ($ii + $session->fUserPostingsPerPage * ($page_no - 1)) . ': ' . $posting[1]);
        }
        echo 'Geschrieben am ' . dbSqlDateToText($session, $posting[3]);
        if (strcmp($posting[5], $posting[3]) != 0) {
            echo ' Letzte &Auml;nderung: ' . dbSqlDateToText($session, $posting[5]);
            if (!empty($posting[4]) && strcmp($posting[4], $posting[0]) != 0) {
                echo ' von ' . $posting[5];
            }
        }
        echo '<br/>';
        wikiToHTML($session, $posting[2]);
        echo '<p>';
        guiInternLink($session, P_Thread . '?action=' . A_Answer . "&thread_id={$thread_id}&reference_id={$id}", 'Antworten');
        if (strcmp($posting[0], $session->fUserName) == 0) {
            echo ' ';
            guiInternLink($session, P_Thread . '?action=' . A_ChangeThread . "&thread_id={$thread_id}&posting_id={$id}", 'Ändern');
            echo "</p>\n";
        }
        echo "</td><tr>\n";
    }
    echo "</table>\n";
    guiStandardBodyEnd($session, Th_ThreadBodyEnd);
}
function baseTestAll(&$session)
{
    guiStandardHeader($session, 'Test', Th_StandardHeader, Th_StandardBodyStart);
    echo wikiToHtml($session, "!!! 3-erÜberschrift\n" . "!! 2-erÜberschrift\n" . "! 1-erÜberschrift\n" . "Normaler Text\n" . "Dies ist ein !WikiWort (WikiWort)\n" . "[\"WikiWort\" wikiwort mal anderst]\n" . "http://www.heise.de Heise\n" . "[http://www.heise.de Heise]\n" . "\n" . "''kursiv'' '''fett''' ''''kursiv und fett'''' normal __unterstrichen__\n" . "'''fett'''\n" . "<?plugin BackLinks?>\n" . "* Punkt1\n* Punkt2\n## Punkt 21\n## Punkt 22\n" . "# Punkt1\n# Punkt2\n** Punkt 21\n** Punkt 22\n\n" . "|1|2|3\n|1|2|3\n" . "\n");
    guiStandardBodyEnd($session, Th_StandardBodyEnd);
}
function addressShowCards(&$session, $message = null)
{
    $session->trace(TC_Gui1, 'addressShowBook:');
    guiStandardHeader($session, 'Anzeigen von Adressen', Th_AddressHeader, Th_AddressBodyStart);
    if ($message != null) {
        guiParagraph($session, $message, false);
    }
    guiStartForm($session);
    guiHeadline($session, 2, 'Suchkriterien:');
    $books = dbColumnList($session, Tab_Book, 'name', '1');
    if (!isset($_POST['show_book'])) {
        $_POST['show_book'] = $books[0];
    }
    echo 'Adressbuch: ';
    guiComboBox('show_book', $books, null, null);
    $fields = array('Name', 'Vorname', 'Spitzname', 'EMail', 'PLZ', 'Ort', 'Funktion', 'Notiz');
    echo ' Auswahlkriterium: ';
    guiComboBox('show_choice', $fields, null, null);
    echo ' Suchmuster: ';
    outTextField($session, 'show_pattern', null, 16);
    echo ' ';
    outButton($session, 'show_search', 'Suchen');
    guiHeadline($session, 2, 'Ausgabefelder:');
    outCheckBox($session, 'show_withname', 'Name');
    echo ' ';
    outCheckBox($session, 'show_withprivate', 'Privat');
    echo ' ';
    outCheckBox($session, 'show_withoffice', 'Geschäftlich');
    echo ' ';
    outCheckBox($session, 'show_withphone', 'Telefon');
    echo ' ';
    outCheckBox($session, 'show_withemail', 'EMail');
    echo ' ';
    outCheckBox($session, 'show_withaddress', 'Postadresse');
    echo ' ';
    outCheckBox($session, 'show_withfunction', 'Funktion');
    echo ' ';
    outCheckBox($session, 'show_withnote', 'Notiz');
    echo ' ';
    outCheckBox($session, 'show_withdate', 'Datum');
    guiFinishForm($session, $session);
    if (isset($_POST['show_pattern'])) {
        $pattern = $_POST['show_pattern'];
        if (empty($pattern)) {
            $condidtion = '1';
        } else {
            $pattern = '%' . $pattern . '%';
            switch ($_POST['show_choice']) {
                case 'Name':
                    $condition = 'lastname like ' . dbSqlString($session, $pattern);
                    break;
                case 'Vorname':
                    $condition = 'firstname like ' . dbSqlString($session, $pattern);
                    break;
                case 'Spitzname':
                    $condition = 'nickname like ' . dbSqlString($session, $pattern);
                    break;
                case 'EMail':
                    $condition = 'emailprivate like ' . dbSqlString($session, $pattern) . ' or emailprivate2 like ' . dbSqlString($session, $pattern) . ' or emailoffice like ' . dbSqlString($session, $pattern) . ' or emailoffice2 like ' . dbSqlString($session, $pattern);
                    break;
                case 'PLZ':
                    $condition = 'zip like ' . dbSqlString($session, $pattern);
                    break;
                case 'Ort':
                    $condition = 'city like ' . dbSqlString($session, $pattern);
                    break;
                case 'Funktion':
                    $condition = 'function like ' . dbSqlString($session, $pattern);
                    break;
                case 'Notiz':
                    $condition = 'note like ' . dbSqlString($session, $pattern);
                    break;
                default:
                    $condition = '1';
                    break;
            }
            $what = 'lastname,firstname,country,zip,city,street,' . 'emailprivate,emailprivate2,phoneprivate,phoneprivate2,mobileprivate,faxprivate,' . 'emailoffice,emailoffice2,phoneoffice,phoneoffice2,mobileoffice,faxoffice,' . 'functions,notes,nickname,id,changedat,createdat';
            addressPrintTable($session, "select {$what} from " . dbTable($session, Tab_Card) . " where {$condition}", 30);
        }
    }
    guiStandardBodyEnd($session, Th_AddressBodyEnd);
}