示例#1
0
function guiUploadFile(&$session, $prefix = null, $button = null, $max_file_size = null, $custom_field = null, $custom_value = null, $caption = null, $file = null)
{
    echo TAG_FORM_MULTIPART_POST_ACTION;
    echo $session->fScriptURL;
    echo TAG_APO_SUFFIX_NEWLINE;
    outDivision($session);
    if ($custom_field != null) {
        outHiddenField($session, $custom_field, $custom_value);
    }
    outHiddenField($session, 'MAX_FILE_SIZE', empty($max_file_size) ? MAX_UPLOAD_FILESIZE : $max_file_size);
    if (!empty($prefix)) {
        echo $prefix . ' ';
    }
    echo TAG_INPUT_FILE_NAME;
    echo empty($file) ? TEXTFIELD_UPLOAD : $file;
    echo TAG_APO_SUFFIX_NEWLINE;
    echo ' ';
    outButton($session, empty($button) ? BUTTON_UPLOAD : $button, empty($caption) ? 'Hochladen' : $caption);
    outDivisionEnd($session);
    guiFinishForm($session);
}
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&ouml;he: ';
    } else {
        outTableDelimEnd();
        outTableTextField($session, 'Breite:', 'textarea_width', null, 3, 3);
        outTableRecordEnd();
        outTableRecord();
        outTableCell('Bild einf&uuml;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&ouml;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 addressEditCard(&$session, $message = null, $card_id = null)
{
    $session->trace(TC_Gui1, 'addressEditCard');
    if (!isset($_POST['card_id']) || empty($_POST['card_id'])) {
        $session->trace(TC_X, 'addressEditCard-2');
        if ($card_id == null) {
            $card_id = dbGetValueByClause($session, Tab_Card, 'min(id)', '1');
        }
        list($books, $firstname, $lastname, $nickname, $emailprivate, $emailprivate2, $phoneprivate, $phoneprivate2, $faxprivate, $mobileprivate, $emailoffice, $emailoffice2, $phoneoffice, $phoneoffice2, $faxoffice, $mobileoffice, $street, $country, $zip, $city, $functions, $notes) = dbGetRecordById($session, Tab_Card, $card_id, 'books,firstname, lastname, nickname, ' . 'emailprivate, emailprivate2, phoneprivate, phoneprivate2, faxprivate, mobileprivate, ' . 'emailoffice, emailoffice2, phoneoffice, phoneoffice2, faxoffice, mobileoffice, ' . 'street, country, zip, city, ' . 'functions, notes');
    } else {
        $session->trace(TC_Gui1, 'addressEditCard-3: ' . $_POST['card_books']);
        $books = $_POST['card_books'];
        $firstname = $_POST['card_firstname'];
        $lastname = $_POST['card_lastname'];
        $nickname = $_POST['card_nickname'];
        $emailprivate = $_POST['card_emailprivate'];
        $emailprivate2 = $_POST['card_emailprivate2'];
        $phoneprivate = $_POST['card_phoneprivate'];
        $phoneprivate2 = $_POST['card_phoneprivate2'];
        $faxprivate = $_POST['card_faxprivate'];
        $mobileprivate = $_POST['card_mobileprivate'];
        $emailoffice = $_POST['card_emailoffice'];
        $emailoffice2 = $_POST['card_emailoffice2'];
        $phoneoffice = $_POST['card_phoneoffice'];
        $phoneoffice2 = $_POST['card_phoneoffice2'];
        $faxoffice = $_POST['card_faxoffice'];
        $mobileoffice = $_POST['card_mobileoffice'];
        $street = $_POST['card_street'];
        $country = $_POST['card_country'];
        $zip = $_POST['card_zip'];
        $city = $_POST['card_city'];
        $functions = $_POST['card_functions'];
        $notes = $_POST['card_notes'];
        $card_id = $_POST['card_id'];
    }
    guiStandardHeader($session, 'Ändern einer Adresskarte ', Th_AddressHeader, Th_AddressBodyStart);
    $ids = preg_split('/[ ,]+/', $books);
    $books = '';
    foreach ($ids as $ii => $id) {
        $books .= dbSingleValue($session, 'select name from ' . dbTable($session, Tab_Book) . " where id=" . (0 + $id)) . ($ii < count($ids) - 1 ? ',' : '');
        $session->trace(TC_Gui1, 'addressEditCard-4: ' . $id . "/" . $books);
    }
    if (isset($search_title) || isset($search_body)) {
        baseSearchResults($session);
    }
    if ($message != null) {
        guiParagraph($session, $message, false);
    }
    guiStartForm($session);
    outHiddenField($session, 'card_id', $card_id);
    outTable(0);
    outTableRecordCells('Id:', $card_id);
    outTableRecord();
    outTableTextField($session, 'Adressbücher:', 'card_books', $books, 34, 0);
    outTableRecordDelim();
    outTableTextField2($session, 'Vor-, Nachname:', 'card_firstname', $firstname, 16, 64, ' ', 'card_lastname', $lastname, 16, 64);
    outTableRecordEnd();
    outTableTextField($session, 'Spitzname:', 'card_nickname', $nickname, 16, 64);
    outTableRecordEnd();
    outTableRecordCells('Privat', ' ');
    outTableRecord();
    outTableTextField2($session, 'EMail EMail2:', 'card_emailprivate', $emailprivate, 34, 128, ' ', 'card_emailprivate2', $emailprivate2, 34, 128);
    outTableRecordDelim();
    outTableTextField2($session, 'Telefon Telefon2:', 'card_phoneprivate', $phoneprivate, 34, 128, ' ', 'card_phoneprivate2', $phoneprivate2, 34, 128);
    outTableRecordDelim();
    outTableTextField2($session, 'Mobil Fax:', 'card_mobileprivate', $mobileprivate, 34, 128, ' ', 'card_faxprivate', $faxprivate, 34, 128);
    outTableRecordDelim();
    outTableCell('Land PLZ Ort Straße:');
    outTableDelim();
    outTextField($session, 'card_country', $country, 3, 64);
    echo ' ';
    outTextField($session, 'card_zip', $zip, 5, 12);
    echo ' ';
    outTextField($session, 'card_city', $city, 22, 64);
    echo ' ';
    outTextField($session, 'card_street', $street, 34, 128);
    outTableDelimAndRecordEnd();
    outTableRecordCells('Geschäftlich:', ' ');
    outTableRecord();
    outTableTextField2($session, 'EMail: EMail2:', 'card_emailoffice', $emailoffice, 34, 128, ' ', 'card_emailoffice2', $emailoffice2, 34, 128);
    outTableRecordDelim();
    outTableTextField2($session, 'Telefon Telefon2:', 'card_phoneoffice', $phoneoffice, 34, 128, ' ', 'card_phoneoffice2', $phoneoffice2, 34, 128);
    outTableRecordDelim();
    outTableTextField2($session, 'Mobil Fax:', 'card_mobileoffice', $mobileoffice, 34, 128, ' ', 'card_faxoffice', $faxoffice, 34, 128);
    outTableRecordDelim();
    outTableTextField($session, 'Funktionen', 'card_functions', $functions, 34, 128);
    outTableRecordDelim();
    outTableTextArea($session, 'Bemerkungen:', 'card_notes', $notes, 31, 4);
    outTableRecordDelim();
    outTableButton2($session, ' ', 'card_change', 'Ändern', ' ', 'card_new', 'Neu');
    outTableRecordDelim();
    outTableTextField($session, 'Nächster DS (Id):', 'card_next', '', 8, 8);
    outTableRecordEnd();
    outTableEnd();
    guiFinishForm($session);
    guiStandardBodyEnd($session, Th_AddressBodyEnd);
}
function basePosting(&$session, $message, $mode)
{
    $session->trace(TC_Gui1, 'basePosting: ' . $mode);
    $headline = $mode == C_New ? empty($_POST['reference_id']) ? 'Neues Thema' : 'Antworten' : (empty($_POST['reference_id']) ? 'Thema ändern' : 'Antwort ändern');
    guiStandardHeader($session, $headline, Th_AnswerHeader, Th_AnswerBodyStart);
    if (!empty($_POST['reference_id']) && ($posting = dbGetRecordById($session, T_Posting, $_POST['reference_id'], 'author,subject,text,forum'))) {
        guiHeadline($session, 1, 'Beitrag: ' . $posting[1]);
        guiParagraph($session, 'Autor: ' . $posting[0], true);
        wikiToHTML($session, $posting[2]);
        guiLine($session, 2);
        if ($mode == C_New) {
            $pos = strpos($posting[1], 'Re: ');
            $_POST['posting_subject'] = (is_int($pos) ? '' : 'Re: ') . $posting[1];
        }
        $_POST['forum_id'] = $posting[3];
    } else {
        if (isset($_POST['posting_text'])) {
            $_POST['posting_text'] = str_replace($_POST['posting_text'], "\\'", "'");
        } else {
            $_POST['posting_text'] = '';
        }
    }
    if (isset($_POST['posting_preview'])) {
        guiHeadline($session, 1, 'Vorschau');
        wikiToHtml($session, $_POST['posting_text']);
        guiLine($session, 2);
    }
    guiHeadline($session, 1, $headline);
    if (!empty($message)) {
        guiParagraph($session, $message, true);
    }
    if ($mode == C_Change && !isset($_POST['posting_text'])) {
        $posting = dbGetRecordById($session, T_Posting, $_POST['posting_id'], 'subject,text,forum');
        $_POST['forum_id'] = $posting[2];
        $_POST['posting_text'] = $posting[1];
        $_POST['posting_subject'] = $posting[0];
    }
    getUserParam($session, U_TextAreaWidth, $textarea_width);
    getUserParam($session, U_TextAreaHeight, $textarea_height);
    guiStartForm($session);
    outHiddenField($session, 'std_answer', 'j');
    outHiddenField($session, 'last_pagename', null);
    outHiddenField($session, 'forum_id', null);
    outHiddenField($session, 'thread_id', null);
    outHiddenField($session, 'posting_id', null);
    outHiddenField($session, 'reference_id', null);
    echo "<table border=\"0\">\n<tr><td>Thema:</td><td>";
    outTextField($session, 'posting_subject', null, $textarea_width, 64);
    echo "</td></tr>\n<tr><td>Text</td><td>";
    outButton($session, 'posting_text', null, $textarea_width, $textarea_height);
    echo '</td></tr><tr><td></td><td style="text-align: right;">Eingabefeld: Breite: ';
    outTextField($session, U_TextAreaWidth, $textarea_width, 3, 3);
    echo " H&ouml;he: ";
    outTextField($session, U_TextAreaHeight, $textarea_height, 3, 3);
    echo "</td></tr>\n<tr><td></td><td>";
    outButton($session, 'posting_preview', 'Vorschau');
    echo ' | ';
    if ($mode == C_New) {
        outButton($session, 'posting_insert', 'Eintragen');
    } else {
        outButton($session, 'posting_change', '&Auml;ndern');
    }
    echo "</td></tr>\n</table>\n";
    guiFinishForm($session, $session);
    guiStandardBodyEnd($session, Th_AnswerBodyEnd);
}
示例#5
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);
    }
}