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 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); }
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ä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 Ä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); }