function dbIdList(&$session, $table, $where) { $session->trace(TC_Db2 + TC_Query, "dbIdList: {$table}, {$where}"); return dbColumnList($session, $table, 'id', $where); }
function baseEditPage(&$session, $mode, $message = null, $message2 = null, $type = M_Undef, $name = null) { if ($mode == C_New) { $pageid = 0; $textid = 0; $pagename = $name == null ? "" : $name; $content = $name != null && strpos($pagename, 'ategorie') == 1 ? "<?plugin BackLinks?>\n----\nKategorieKategorie" : ""; $changedby = $session->fUserName; $changedat = ""; $mimetype = $type; $textidpred = 0; } elseif ($mode == C_Change) { $pagename = $session->fPageURL; list($pageid, $texttype) = dbGetRecordByClause($session, T_Page, 'id,type', 'name=' . dbSqlString($session, $pagename)); $mimetype = textTypeToMime($texttype); $textidpred = dbGetLastText($session, $pageid); list($content, $changedat, $changedby) = dbGetRecordById($session, T_Text, $textidpred, 'text,createdat,createdby'); $textid = null; } else { $pagename = $_POST['edit_pagename']; $pageid = $_POST['edit_pageid']; $textid = $_POST['edit_textid']; $content = textAreaToWiki($session, $_POST['edit_content']); $changedby = $_POST['edit_changedby']; $changedat = $_POST['edit_changedat']; $mimetype = $_POST['edit_mimetype']; $textidpred = $_POST['edit_textidpred']; } $session->setPageData(empty($pagename) ? 'Neue Seite' : $pagename, $changedat, $changedby); if ($pageid <= 0) { $mode = C_New; } if ($mode == C_New) { $header = empty($pagename) ? 'Neue Seite' : $pagename . ' (Neu)'; } else { $header = $pagename . ' (in Bearbeitung)'; } if ($mimetype == M_Wiki) { guiStandardHeader($session, $header, Th_EditHeaderWiki, Th_EditStartWiki); } else { guiStandardHeader($session, $header, Th_EditHeaderHTML, Th_EditStartHTML); } if (isset($_POST['edit_preview']) || isset($_POST['edit_previewandsave'])) { echo guiParam($session, Th_PreviewStart, '<h1>Vorschau von ' . $session->fPageURL . '</h1><p>Warnung: Der Text ist noch nicht gesichert!</p>'); guiFormatPage($session, $mimetype, $content); echo guiParam($session, Th_PreviewEnd, '<h1>Ende der Vorschau</h1>'); } echo '<form enctype="multipart/form-data" action="' . $session->fScriptURL . '" method="post">' . "\n"; outDivision($session); outHiddenField($session, 'edit_pageid', $pageid); outHiddenField($session, 'edit_textid', $textid); outHiddenField($session, 'edit_textidpred', $textidpred); outHiddenField($session, 'edit_changedat', $changedat); outHiddenField($session, 'edit_changedby', $changedby); outDivisionEnd($session); if (!empty($message)) { outParagraph($session); outStrong(htmlentities($message)); outParagraphEnd($session); } if (!empty($message2)) { outParagraph($session); outStrong(htmlentities($message2)); outParagraphEnd($session); } outDivision($session); if ($mode != C_New) { outHiddenField($session, 'edit_pagename', $pagename); } outTable(); outTableRecordAndDelim(); outTable(); if ($mode == C_New) { outTableRecord(); outTableTextField($session, 'Name:', 'edit_pagename', $pagename, 43, 64); outTableRecordEnd(); } outTableRecord(); if ($mode == C_New && $type == M_Undef) { outTableComboBox($session, 'Typ', 'edit_mimetype', array(M_Wiki, M_HTML), null, 0); } else { outTableDelim(); echo 'Typ:'; echo htmlentities($mimetype); outHiddenField($session, 'edit_mimetype', $mimetype); outTableDelimEnd(); } if ($mode == C_New) { $templates = dbColumnList($session, T_Page, 'name', 'name like ' . dbSqlString($session, 'Vorlage%')); if (count($templates) > 0) { outTableAndRecord(); outTableCell('Seitenvorlage:'); outTableDelim(); outComboBox($session, 'edit_template', $templates, null); echo ' '; outButton($session, 'edit_appendtemplate', 'Vorlage einkopieren'); outTableDelimAndRecordEnd(); } } outTableEnd(); outTableDelimAndRecordEnd(); outTableRecordAndDelim(); getTextareaSize($session, $width, $height); outTextArea($session, 'edit_content', $content, $width, $height); outTableDelimAndRecordEnd(); outTableRecordAndDelim(); outTable(0, '100%'); outTableRecord(); outTableButton($session, null, 'edit_save', 'Speichern (fertig)'); outTableDelim(AL_Justify); outButton($session, 'edit_previewandsave', 'Zwischenspeichern'); echo ' '; outButton($session, 'edit_preview', ' Vorschau'); outTableCellDelim(); outButton($session, 'edit_cancel', ' Verwerfen'); if (!$session->testFeature(FEATURE_UPLOAD_ALLOWED)) { echo ' Breite: '; outTextField($session, U_TextAreaWidth, null, 3, 3); echo ' Höhe: '; } else { outTableDelimEnd(); outTableTextField($session, 'Breite:', 'textarea_width', null, 3, 3); outTableRecordEnd(); outTableRecord(); outTableCell('Bild einfügen:'); outHiddenField($session, 'MAX_FILE_SIZE', MAX_UPLOAD_FILESIZE); outTableDelim(AL_Justify); outFileField($session, TEXTFIELD_UPLOAD); outTableDelimEnd(); outTableButton($session, null, 'edit_upload', 'Hochladen'); outTableCell('Höhe:'); outTableDelim(); } outTextField($session, U_TextAreaHeight, null, 3, 3); outTableAndRecordEnd(); outTableDelimEnd(); outTableAndRecordEnd(); outDivisionEnd($session); guiFinishForm($session, $session); outNewline(); guiStandardBodyEnd($session, $mimetype == M_Wiki ? Th_EditEndWiki : Th_EditEndHTML); }
function guiBacklinks(&$session, $page_name) { $session->trace(TC_Gui1, 'pluginBacklinks'); $name = $page_name; $condition = '(text like ' . dbSqlString($session, '%' . $name . '%'); if (normalizeWikiName($session, $name)) { $condition .= ' or text like ' . dbSqlString($session, '%' . $name . '%'); } $condition .= ') and replacedby is NULL'; if (!($ids = dbColumnList($session, T_Text, 'distinct page', $condition))) { guiParagraph($session, 'keine Verweise auf ' . $page_name . ' gefunden', false); } else { echo TAG_PARAGRAPH; echo 'Es gibt folgende Verweise auf '; guiInternLink($session, encodeWikiName($session, $name), $page_name); echo TAG_PARAGRAPH_END; echo TAG_ULIST; foreach ($ids as $ii => $id) { $page = dbGetRecordById($session, T_Page, $id, 'name'); echo TAG_LISTITEM; guiInternLink($session, encodeWikiName($session, $page[0]), $page[0]); echo TAG_LISTITEM_END; } echo TAG_ULIST_END; } }
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); }