Ejemplo n.º 1
0
 function userTableData(&$session, $id)
 {
     $session->trace(TC_Gui3, 'forum.UserTableData');
     $name = 'forum';
     outTableRecord();
     outTableCellStrong(TAG_NEWLINE . 'Modul ' . $name);
     $rec = dbGetRecordById($session, T_User, $id, 'postingsperpage,threadsperpage,postings');
     outTableRecordDelim();
     outTableTextField($session, 'Beiträge je Seite:', 'forum_postingsperpage', $rec[0], 3, 3);
     outTableRecordDelim();
     outTableTextField($session, 'Forumsinhalt: Themen je Seite:', 'forum_threadsperpage', $rec[1], 3, 3);
     outTableRecordEnd();
     outTableRecordCells('Bisher erstellte Forumsbeiträge:', $rec[2]);
 }
Ejemplo n.º 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=' . (0 + $page) . ' and id>' . $text_id);
    } else {
        $count_newer = 0;
        list($text_id) = dbGetRecordByClause($session, T_Text, 'max(id)', 'page=' . (0 + $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->fPageURL;
    $session->SetPageData($name, $created_at, $created_by);
    if ($has_changed) {
        $session->SetLocation($name);
    }
    $header = $count_newer == 0 ? $session->fPageURL : $session->fPageURL . ' (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);
}
Ejemplo n.º 3
0
function admRename(&$session, $message)
{
    global $rename_oldname, $rename_newname, $rename_backlinks;
    $session->trace(TC_Gui1, 'admRename');
    guiHeader($session, 'Umbenennen einer Seite');
    guiHeadline($session, 1, 'Umbenennen einer Seite');
    if (!empty($message)) {
        guiParagraph($session, $message, false);
    }
    guiStartForm($session, 'Form', P_Rename);
    echo '<table border="0">';
    echo '<tr><td>Bisheriger Name:</td><td>';
    guiTextField('rename_oldname', $rename_oldname, 64, 64);
    echo '<tr><td>Neuer Name:</td><td>';
    guiTextField('rename_newname', $rename_newname, 64, 64);
    echo '</td></tr>' . "\n";
    echo '<tr><td></td><td>';
    guiButton('rename_info', 'Info');
    if (!empty($rename_oldname) && !empty($rename_newname)) {
        echo ' | ';
    }
    guiButton('rename_rename', 'Umbenennen');
    echo '<br>';
    guiCheckBox('rename_backlinks', 'Alle Verweise umbenennen', !isset($rename_backlinks) || $rename_backlinks == C_CHECKBOX_TRUE);
    echo '</td></tr></table>' . "\n";
    guiFinishForm($session);
    if (!empty($rename_oldname) && dbPageId($session, $rename_oldname) > 0) {
        $row = dbFirstRecord($session, 'select page,text,createdby,createdat from ' . dbTable($session, T_Text) . ' where replacedby is null and text like ' . dbSqlString($session, "%{$rename_oldname}%"));
        if (!$row) {
            guiParagraph($session, '+++ keine Verweise gefunden', false);
        } else {
            echo '<table border="1"><tr><td>Seite:</td><td>Typ:</td>' . '<td>von</td><td>Letzte &Auml;nderung</td><td>Fundstelle</td></tr>';
            while ($row) {
                $pagerecord = dbGetRecordById($session, T_Page, $row[0], 'name,type');
                $text = findTextInLine($row[1], $rename_oldname, 10, true);
                if (!empty($text)) {
                    echo "\n<tr><td>";
                    guiInternLink($session, encodeWikiName($session, $pagerecord[0]), $pagerecord[0], M_Base);
                    echo '</td><td>';
                    echo $pagerecord[1];
                    echo '</td><td>';
                    echo $row[2];
                    echo '</td><td>';
                    echo htmlentities($row[3]);
                    echo '</td><td>';
                    echo $text;
                    echo "</td><tr>\n";
                }
                $row = dbNextRecord($session);
            }
            echo "\n</table>\n";
        }
    }
    guiFinishBody($session, null);
}
Ejemplo n.º 4
0
function baseCompare(&$session, $pagename, $idnew, $idold)
{
    $headline = 'Versionsvergleich';
    guiStandardHeader($session, $headline, Th_StandardHeader, Th_StandardBodyStart);
    $version_new = dbGetRecordById($session, T_Text, $idnew + 0, 'page,createdat,createdby,text');
    $version_old = dbGetRecordById($session, T_Text, $idold + 0, 'page,createdat,createdby,text');
    if ($version_new[0] != $version_old[0]) {
        guiParagraph($session, 'Texte nicht von einer Seite: ' . (0 + $version_new[0]) . ' / ' . (0 + $version_old[0]), false);
    } else {
        $page_id = $version_new[0];
        $page_link = encodeWikiName($session, $pagename);
        guiParagraph($session, guiInternLinkString($session, $page_link, $pagename) . ': Änderungen von Version ' . guiInternLinkString($session, $page_link . '?action=' . A_ShowText . '&page_id=' . $page_id . '&text_id=' . ($idold + 0), $idold) . ' zu Version ' . guiInternLinkString($session, $page_link . '?action=' . A_ShowText . '&page_id=' . $page_id . '&text_id=' . ($idnew + 0), $idnew) . ' von ' . $version_new[2] . ($version_new[2] != $version_old[2] ? ' / ' . $version_old[2] : '') . ' (' . dbSqlDateToText($session, $version_new[1]) . ' / ' . dbSqlDateToText($session, $version_old[1]) . ')', false);
        $engine = new DiffEngine($session, $version_old[3], $version_new[3]);
        $engine->compare(1, 1);
    }
    guiStandardBodyEnd($session, Th_StandardBodyEnd);
}
Ejemplo n.º 5
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);
}
Ejemplo n.º 6
0
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);
}
Ejemplo n.º 7
0
function admRename(&$session, $message)
{
    $session->trace(TC_Gui1, 'admRename');
    admStandardHeader($session, 'Umbenennen einer Seite');
    if (!empty($message)) {
        guiParagraph($session, $message, false);
    }
    guiStartForm($session);
    outTableAndRecord();
    outTableTextField($session, 'Bisheriger Name:', 'rename_oldname', null, 64, 64);
    outTableRecordDelim();
    outTableTextField($session, 'Neuer Name:', 'rename_newname', null, 64, 64);
    outTableRecordDelim();
    outTableCell(' ');
    outTableDelim();
    outButton($session, 'rename_info', 'Info');
    if (!empty($_POST['rename_oldname']) && !empty($_POST['rename_newname'])) {
        echo ' | ';
        outButton($session, 'rename_rename', 'Umbenennen');
        outNewline();
        outCheckBox($session, 'rename_backlinks', 'Alle Verweise umbenennen', null);
    }
    outTableDelimAndRecordEnd();
    outTableEnd();
    guiFinishForm($session);
    if (!empty($_POST['rename_oldname']) && dbPageId($session, $_POST['rename_oldname']) > 0) {
        $row = dbFirstRecord($session, 'select page,text,createdby,createdat from ' . dbTable($session, T_Text) . ' where replacedby is null and text like ' . dbSqlString($session, '%' . $_POST['rename_oldname'] . '%'));
        if (!$row) {
            guiParagraph($session, '+++ keine Verweise gefunden', false);
        } else {
            outTableAndRecord(1);
            outTableCellStrong('Seite');
            outTableCellStrong('Typ');
            outTableCellStrong('von');
            outTableCellStrong('Letzte &Auml;nderung');
            outTableCellStrong('Fundstelle');
            outTableCellStrong('Seite');
            outTableRecordEnd();
            while ($row) {
                $pagerecord = dbGetRecordById($session, T_Page, $row[0], 'name,type');
                $text = findTextInLine($row[1], $_POST['rename_oldname'], 10, true);
                if (!empty($text)) {
                    outTableRecord();
                    outTableInternLink($session, null, encodeWikiName($session, $pagerecord[0]), $pagerecord[0], M_Base);
                    outTableCell($pagerecord[1]);
                    outTableCell($row[2]);
                    outTableCell(htmlentities($row[3]));
                    outTableCell($text);
                    outTableRecordEnd();
                }
                $row = dbNextRecord($session);
            }
            outTableEnd();
        }
    }
    admFinishBody($session);
}
Ejemplo n.º 8
0
function admExportPagesAnswer(&$session)
{
    global $export_pattern, $export_exists, $export_type, $export_export, $export_preview;
    $session->trace(TC_Gui1, 'admExportPagesAnswer');
    $message = null;
    if (isset($export_export)) {
        if (empty($export_pattern)) {
            $message = '+++ kein Suchmuster angegeben';
        } else {
            $page_list = dbIdList($session, T_Page, admBuildCondition($session, $export_pattern));
            if (!($file = fopen(FN_PageExport, 'w'))) {
                $message = 'kann Datei nicht öffnen: ' . FN_PageExport;
            } else {
                $prefix = $session->fDbTablePrefix;
                fputs($file, '/* Export ' . "\n" . 'am: ' . strftime("%Y.%m.%d %H:%M:%S") . "\n" . 'von: ' . $session->fUserName . "\n" . 'Modus: ' . $export_type . "\n" . 'Prefix: ' . $prefix . "\n" . 'Seiten: ' . implode(', ', $page_list) . "\n" . "*/\n");
                foreach ($page_list as $ii => $page_id) {
                    $page = dbGetRecordById($session, T_Page, $page_id, 'name,type,readgroup,writegroup');
                    $text_id = dbSingleValue($session, 'select max(id) from ' . dbTable($session, T_Text) . ' where page=' . (0 + $page_id));
                    $text = dbGetRecordById($session, T_Text, $text_id, 'type,createdby,createdat,text');
                    if ($export_type == 'insert') {
                        fputs($file, 'insert into ' . $prefix . 'page(id,name,type,readgroup,writegroup) values (' . (0 + $page_id) . ',' . dbSqlString($session, $page[0]) . ',' . dbSqlString($session, $page[1]) . ',' . (0 + $page[2]) . ',' . (0 + $page[3]) . ');' . "\n");
                        fputs($file, 'insert into ' . $prefix . 'text(page,type,createdby,createdat,text) values (' . (0 + $page_id) . ',' . dbSqlString($session, $text[0]) . ',' . dbSqlString($session, $text[1]) . ',' . dbSqlString($session, $text[2]) . ',' . dbSqlString($session, $text[3]) . ');' . "\n");
                    } else {
                        fputs($file, '/* Seite ' . $page[0] . "*/\n");
                        fputs($file, '/* delete from ' . $prefix . dbTable($session, T_Text) . ' where page=' . $page_id . ';' . "\n*/\n");
                        fputs($file, 'update ' . $prefix . 'page set type=' . dbSqlString($session, $page[1]) . ' where name=' . dbSqlString($session, $page[0]) . ';' . "\n");
                        fputs($file, 'insert into ' . $prefix . 'text(page,createdby,createdat,text) values (' . (0 + $page_id) . ',' . dbSqlString($session, $text[0]) . ',' . dbSqlString($session, $text[1]) . ',' . dbSqlString($session, $text[2]) . ',' . dbSqlString($session, $text[3]) . ');' . "\n");
                    }
                }
                fclose($file);
                $export_exists = FN_PageExport;
                $message = 'Datei ' . FN_PageExport . ' wurde exportiert';
            }
        }
    }
    admExportPages($session, $message);
}