ilch Forum » Allgemein » HTML, PHP, SQL,... » Artikel-Modul

Geschlossen
  1. #1
    User Pic
    Thumbnail Mitglied
    Registriert seit
    10.06.2006
    Beiträge
    365
    Beitragswertungen
    0 Beitragspunkte
    Könnte man das Artikel Modul sumschreiben, dass user wenn sie eingeloggt sind auch etwas reinschreiben können. und das es ein admin dann im admin menü freischalten muss kann man das so machen??
    Nur Idioten halten Ordnung. Ein Meister beherrscht das Chaos
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    SLJ Hall Of Fame
    Registriert seit
    18.05.2004
    Beiträge
    15.492
    Beitragswertungen
    3 Beitragspunkte
    Welches Artikel modul ?

    P.s. ich schriebe gerade an meinem eigenen da gibs jetzt auch Sub seiten uns selbst verständlich können user schreiben und der admin kann es frei schalten,... aber wie immer Z-E only bzw. M-F too lächeln
    externer Link
    Ilch 1.0.4 PHP 7.0 und PDO Fähig na klar lächeln
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Thumbnail Mitglied
    Registriert seit
    10.06.2006
    Beiträge
    365
    Beitragswertungen
    0 Beitragspunkte
    es gibt ja bei den modulen so ein artikelmodul auch das meine ich allerdings kann da nur der admin schreiben

    ich nöchte es ja für tutorials verwenden das eben user auch schreiben klönnen.

    Weißt du schon wann du so in etwa fertig bist??
    Nur Idioten halten Ordnung. Ein Meister beherrscht das Chaos
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    SLJ Hall Of Fame
    Registriert seit
    18.05.2004
    Beiträge
    15.492
    Beitragswertungen
    3 Beitragspunkte
    Also im grunde bin ich fertig,... mit dem admin bereich, eintrage können user schon nur die sub seiten funktion geht dort noch nicht,... und die ausgabe muss ich noch anpassen dann gibs praxis testes dann wird wieder verbessert und gegen Februar sollte ich dann fertig sein,... zwinker
    externer Link
    Ilch 1.0.4 PHP 7.0 und PDO Fähig na klar lächeln
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Thumbnail Mitglied
    Registriert seit
    10.06.2006
    Beiträge
    365
    Beitragswertungen
    0 Beitragspunkte
    hmm Februar ist aber noch sehr weit entfernt traurig

    ich teste dann deines gleich in der praxis dann habe ich es früher und ich vertraue in deine künste das du es ohne Fehler machst
    Nur Idioten halten Ordnung. Ein Meister beherrscht das Chaos
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    SLJ Hall Of Fame
    Registriert seit
    18.05.2004
    Beiträge
    15.492
    Beitragswertungen
    3 Beitragspunkte
    Melde dich mal in icq bei mir,...;)
    externer Link
    Ilch 1.0.4 PHP 7.0 und PDO Fähig na klar lächeln
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Nero Hall Of Fame
    Registriert seit
    12.11.2005
    Beiträge
    987
    Beitragswertungen
    0 Beitragspunkte
    auf diesen thread zeig --> externer Link

    und für was ist wohl der Freigabebutton der nur der admin betätigen kann XD


    Mfg Nero
    ilch-Portal coming soon lachen

    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Thumbnail Mitglied
    Registriert seit
    10.06.2006
    Beiträge
    365
    Beitragswertungen
    0 Beitragspunkte
    okay

    so ich habe mir das jetzt einmal angeschaut und habe einige mängel entdeckt.

    Wenn ich einem User die Reche gebe für das Artikel Modul nacher muss er in den Admin bereich gehen und dort dann artikel schreiben und dabei kann er aber auch Artikel löschen und Kategorieen löschen was mir überhaupt nicht zu sagt.

    Ich würde es viel lieber so haben das er so ähnlich wie im Forum auf neuen Artikel nacher kann er dort schreiben. und auf absenden und nacher muss es freigeschalten werden.

    Es muss nicht unbedings so sein das ich es freischalten muss aber es soll nicht so sein das er in das admin tool rein muss sondern das er es gleich so machen kann.

    ich hoffe ihr wisst was ich meine
    Nur Idioten halten Ordnung. Ein Meister beherrscht das Chaos
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Wenn mir Nero die Erlaubnis erteilt, kann ich das machen, wenn er selbst keine Lust hat.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Thumbnail Mitglied
    Registriert seit
    10.06.2006
    Beiträge
    365
    Beitragswertungen
    0 Beitragspunkte
    bitte nero bitte^^
    Nur Idioten halten Ordnung. Ein Meister beherrscht das Chaos
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Nero Hall Of Fame
    Registriert seit
    12.11.2005
    Beiträge
    987
    Beitragswertungen
    0 Beitragspunkte
    @mairu, erlaubnis erteilt *gg*

    @Thumbnail,

    Stimmt, da hab ich was übersehen, hätte es wohl so machen sollen das sie nur die artikel ändern/löschen können welche sie erstellt haben und nicht bei denen wo sie die rechte dafür haben.


    Mfg Nero
    ilch-Portal coming soon lachen

    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Thumbnail Mitglied
    Registriert seit
    10.06.2006
    Beiträge
    365
    Beitragswertungen
    0 Beitragspunkte
    jo den wenn ich den user die erlaubnis gebe ein paar dumme sind meisten dabei die einen ärgern wollen

    @Mairu

    Na dann auf an proggen^^
    Nur Idioten halten Ordnung. Ein Meister beherrscht das Chaos
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Immer mit der Ruhe zwinker, wenn ich was hab werde ich es hier reinschreiben, es ist also kein weiteres Nachfragen nötig.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Thumbnail Mitglied
    Registriert seit
    10.06.2006
    Beiträge
    365
    Beitragswertungen
    0 Beitragspunkte
    kk ich werde also nicht mehr nachfragen

    wann ist er fertig??^^:P
    Nur Idioten halten Ordnung. Ein Meister beherrscht das Chaos
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    marTen Mitglied
    Registriert seit
    08.02.2006
    Beiträge
    238
    Beitragswertungen
    0 Beitragspunkte
    genau das suche ich auch, einen "Artikel einsenden" Button.
    falls es jemand brauch ich hab mal watt umgeschriebn Last Forum in lastartikel.

    <?php 
    
    defined ('main') or die ( 'no direct access' );
    
    
    	$abf = 'SELECT * 
    	        FROM prefix_artsys_articles 
    					WHERE art_title >= '.$_SESSION['authright'].'
    					ORDER BY art_time DESC
    					LIMIT 0,5';
    	$erg = db_query($abf);
      echo '<table>';
      while ($row = db_fetch_object($erg)) {  
    		echo '<tr><td valign="top"><b> &raquo; </b></td><td><a class="box" href="index.php?articles-show-'.$row->art_id.'">'.$row->art_title.'</a></td></tr>';
      }
      echo '</table>';
    
    
    ?>

    das einfach in ne textdatei kopieren, umbenennen in zb:lastart.php und hochladen in die boxes, verlinken, fertig.

    noch ne frage zum Artikelsystem:
    Bei mir wird es im Admin-bereich nicht richtig angezeigt, um einen artikel zu schreiben muss ich erst im oberen horizontalem menu unter module das artikel-sys auswählen. es steht nicht auf der startseite im admin bereich, habs mir selbst hingewurschtelt, frage: is das ein individueller fehler oder wie?
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Nein, man muss dafür halt die include/admin/admin.php editieren, und da jedes Modul es anders ersetzten würde, muss du es selbst eintragen, du hast es ja anscheinend geschafft.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Thumbnail Mitglied
    Registriert seit
    10.06.2006
    Beiträge
    365
    Beitragswertungen
    0 Beitragspunkte
    danke marten für die last artikel kann man gut gebrauchen
    Nur Idioten halten Ordnung. Ein Meister beherrscht das Chaos
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Nero Hall Of Fame
    Registriert seit
    12.11.2005
    Beiträge
    987
    Beitragswertungen
    0 Beitragspunkte
    em wegen der Box, die von marTen ist fehler haft, da titel nix mit den grundrecht von ilch zutun hat!!

    am besten ihr nemt die box von nasper

    externer Link


    Mfg Nero
    ilch-Portal coming soon lachen

    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also ich hab das dann mal so gut ich konnte versucht umzusetzten.
    Ihr müsst also Änderungen in 2 Dateien vornehmen, zum einen der include/templates/articles.htm und zwar bei Zeile 30 zwischen </table> und {EXPLODE} folgende Zeile einfügen:
    <br /><a href="?articles-edit">neuen Artikel verfassen</a>

    Nun zur include/contents/articles.php:
    Nach Zeile 235
    $row['comOderShow'] = ' &nbsp;<a href="index.php?articles-com-'.$row['art_id'].'">'.$comAnz.' '.$lang['comments'].'</a>';

    folgende Zeile einfügen
    if ($row['art_uid'] == $_SESSION['authid'] OR $_SESSION['authright'] <= -7) $row['comOderShow'] .= ' <a href="?articles-edit-'.$row['art_id'].'">Edit</a>';


    und am Ende der Datei zwischen $design->footer(); und } diesen neuen Case einfügen
    break;
    case 'edit':
            #Config - Begin
            $artadmin = 1; //ID des Users, der die PMs über neue Artikel bekommen soll
            $editright = -1; //Recht ab dem Artikel verfasst werden dürfen
            #Config - End
            
            $title = $allgAr['title'].' :: Artikeln  :: Editor';
            $hmenu = 'Artikel <b>&raquo;</b> Editor';
            $design = new design ( $title , $hmenu );
            $design->header();
            $art_id = 'nix';
            $perm = TRUE;
      
            if (!empty($_POST['preview'])) {
            //Vorschau
            $art_id = $_POST['id'];
            $art_title = escape($_POST['title'],'string');
            $txt = unescape($_POST['txt']);
            $cat_nmbr = $_POST['cat']; 
            if ($art_id <> 'nix') $readonly = ' readonly="readonly"';      
            ?>
            <table class="border" border="0" cellspacing="1" cellpadding="3" width="95%">
            <tr class="Chead"><th>Vorschau</th></tr>
            <tr style="background-color:white"><td><?= bbcode($txt)?></td></tr>
            </table><br />
            <?
            }
            elseif (!empty($_POST['submit']) AND $_SESSION['authright'] <= $editright) {
            //Absenden
            $art_stat = ($_SESSION['authright'] <= -7 ? 1 : 0);
            if ($_POST['id'] == 'nix') $query = 'INSERT INTO `prefix_artsys_articles` (art_uid,art_cat,art_time,art_title,art_content,art_status) VALUES
            ('.$_SESSION['authid'].','.$_POST['cat'].',NOW(),"'.escape($_POST['title'],'string').'","'.escape($_POST['txt'],'textarea').'",'.$art_stat.')';
            elseif ($_SESSION['authright'] <= -7 OR db_result(db_query("SELECT art_uid FROM `prefix_artsys_articles` WHERE art_id = ".$_POST['id']),0) == $_SESSION['authid']) $query = 'UPDATE `prefix_artsys_articles` SET art_status = '.$art_stat.', art_content  = "'.escape($_POST['txt'],'textarea').'" WHERE art_id = '.$_POST['id'].' LIMIT 1';
            
            db_query($query) OR die($erg.mysql_error());
            if ($_SESSION['authright'] > -7) {
            sendpm(0, $artadmin, 'Neuer Artikel', 'Es wurde ein neuer Artikel in der Kategorie [b]'.db_result(db_query("SELECT name FROM `prefix_artsys_cats` WHERE id = ".$_POST['cat']),0).'[/b] geschrieben/verändert und wartet darauf freigeschaltet zu werden!\n\nDas Artikelmodul ;)', -1);
            echo 'Der Artikel wurde abgeschickt und dem Administrator eine Nachricht geschickt, damit er den Artikel freischalten kann.<br />';
            }
            else echo 'Der Artikel wurde eingetragen<br />';
            echo '<a href="?articles">Zurück zu den Artikeln</a><br />';
            }
            elseif (is_numeric($menu->get(2))) {
              $art_id = $menu->get(2);
            	$sql = db_query('SELECT * FROM `prefix_artsys_articles` WHERE art_id = '.$art_id);
            	if (db_num_rows($sql) == 1) {
              $article = db_fetch_assoc($sql);
              if ($article['art_uid'] == $_SESSION['authid'] OR $_SESSION['authright'] <= -7) $perm = TRUE; else $perm = FALSE;
              $art_title = $article['art_title'];
              $txt = $article['art_content'];
              $cat_nmbr = $article['art_cat'];
              $readonly = ' readonly="readonly"';
              }
              else {
              echo "Den Artikel mit der ID $art_id gibt es nicht!<br />";
              $art_id = 'nix';
              }
            }
            if (empty($_POST['submit']) AND $perm AND $_SESSION['authright'] <= $editright) {
            ?>        
            <form name="form" method="POST" action="?articles-edit">
            <input type="hidden" name="id" value="<?=$art_id?>">
            <table class="border" border="0" cellspacing="1" cellpadding="3">
              <tr><th class="Chead" colspan="2">Artikel Editor</th></tr>
              <tr><td class="Cmite">Titel:</td><td class="Cnorm"><input type="text" size="40" maxlength="80" name="title" value="<?= $art_title?>"<?=$readonly?>></td></tr>
              <tr><td class="Cmite">Kategorie:</td><td class="Cnorm">
              <?
              if (!empty($readonly)) echo '<input type="text" size="40" readonly="readonly" value="'.($cat_nmbr == 0 ? 'keine' : db_result(db_query("SELECT name FROM `prefix_artsys_cats` WHERE id = $cat_nmbr"),0)).'"><input type="hidden" name="cat" value="'.$cat_nmbr.'">'; 
                else {
                echo '<select name="cat">';      
                echo '<option value="0"'.($cat_nmbr == '0' ? ' selected="selected"' : '').'>keine</option>';
                $sql = db_query('SELECT * FROM `prefix_artsys_cats` WHERE recht >= '.$_SESSION['authright'].' ORDER BY pos');
                while ($cat = db_fetch_assoc($sql)){
                echo '<option value="'.$cat[id].'"'.($cat_nmbr == $cat[id] ? ' selected="selected"' : '').'>'.$cat['name'].'</option>';
                }
                echo '</select>';
                }
                ?>            
              </td></tr>
              <tr><td colspan="2" class="Cnorm">
                  <!-- BB Code START -->
                    <script type='text/javascript' src='include/includes/js/bbcode.js'></script>
                    <a href="javascript:simple('b')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.bold.gif" alt="b" title="{_lang_bold}" border="0"></a>
                    <a href="javascript:simple('i')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.italic.gif" alt="i" title="{_lang_italic}" border="0"></a>
                    <a href="javascript:simple('u')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.underline.gif" alt="u" title="{_lang_underlined}" border="0"></a>
                    <a href="javascript:simple('code')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.code.gif" alt="Code" title="{_lang_code}" border="0"></a>
                    <a href="javascript:simple_liste()"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.insertunorderedlist.gif" alt="{_lang_list}" title="{_lang_list}" border="0"></a>
                    <a href="javascript:simple('url')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.link.gif" alt="Url" title="{_lang_link}" border="0"></a>
                    <a href="javascript:simple('img')"><img style="padding-left: 4%; float: left;" src="include/images/icons/button.image.gif" alt="{_lang_picture}" title="{_lang_picture}" border="0"></a>
                  <!-- BB Code ENDE -->
              </td></tr>
              <tr class="Cmite"><td colspan="2"><textarea name="txt" cols="60" rows="15"><?= $txt?></textarea></td></tr>
              <tr class="Cmite"><td colspan="2"><input type="submit" name="preview" value="Vorschau"> <input type="submit" name="submit" value="Absenden"></td></tr>
            </table>
            </form>
            <? }
            elseif (empty($_POST['submit']))
            {echo 'Du hast nicht die n&ouml;tigen Rechte';}
            $design->footer();
    break;


    *LAST CHANGE 03.12.06 - 10:37

    Zu Beginn des letzten Abschnittes, den ihr gerade eingefügt habt, gibt es eine kleine Konfiguration, zum einen das Recht ab dem Artikel erstellt werden können und zum anderen die Userid des Users, der PMs über neue Artikel bekommen soll, damit er sie freuschaltet.

    Ich hab mehr geschrieben als getestet, es können also noch Fehler drin stecken, wenn ihr welche findet könnt ihr sie hier melden.


    Zuletzt modifiziert von Mairu am 03.12.2006 - 10:37:42
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    eXecut1oner Mitglied
    Registriert seit
    26.10.2006
    Beiträge
    827
    Beitragswertungen
    0 Beitragspunkte
    super arbeit...
    hab auch angfangen aber da du fertig bist, und ich es getestet habe und es funktioniert, sag ich danke^^
    ich werds noch verschönern mit aufmachergrafiken (da ich es als tut modul verwenden werde) aber sonst
    nice work(Y)YesYesYes
    it's not a bug, it's a feature... nsk-team.com
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Thumbnail Mitglied
    Registriert seit
    10.06.2006
    Beiträge
    365
    Beitragswertungen
    0 Beitragspunkte
    ich werde es auch als tut modul verwendne und ich kann auch nur sagen super arbeit
    Nur Idioten halten Ordnung. Ein Meister beherrscht das Chaos
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Moniwoll Hall Of Fame
    Registriert seit
    18.08.2006
    Beiträge
    1.573
    Beitragswertungen
    0 Beitragspunkte
    jo finde ich auch
    fehler gibts ja zjm glück keine meh.
    EINFACH SPITZE
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    So hab auf Hinweis von Nero noch was wichtiges ergänzt, ihr solltest also den letzten Teil vielleicht nochmal neu einfügen.


    Zuletzt modifiziert von Mairu am 01.12.2006 - 14:09:58
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    marTen Mitglied
    Registriert seit
    08.02.2006
    Beiträge
    238
    Beitragswertungen
    0 Beitragspunkte
    ich bekomme folgenden fehler
    Parse error: syntax error, unexpected T_CASE in /home/party-sports_com/www/party-sports.com/include/contents/articles.php on line 335

    hab aber keine ahnung woran das nun liegt
    fehler gefunden, hab den text falsch eingefuügt lächeln


    Zuletzt modifiziert von marTen am 02.12.2006 - 12:34:55
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    So hab noch ein paar Sicherheitsmängel beseitigt (Danke Nero ;)) und die Kategorie wird jetzt in der PM an den Admin mit angegeben, damit dieser nicht suchen muss zwinker
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    marTen Mitglied
    Registriert seit
    08.02.2006
    Beiträge
    238
    Beitragswertungen
    0 Beitragspunkte
    sind die änderungen eigentlich nur von hier aus nachzutragen oder wird das modul auch unter downloads aktualisiert?
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Die Änderungen sind nur hier verfügbar.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    marTen Mitglied
    Registriert seit
    08.02.2006
    Beiträge
    238
    Beitragswertungen
    0 Beitragspunkte
    Hallo, ich nochmal.
    Meine Frage betrifft den BBcode, ich hab den BBcode-Zusatz installiert und dannach das Artikel-Modul.
    Die Frage: Wie verbinde ich nun den neuen BBcode mit dem Artikelmodul?
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Im Template an die Stelle wo der BBCode ist (er ist durch Kommentare markiert) {__BBCodeButtons__} hinsetzten und die anderen Sachen löschen, du kannst dir das z.B. durchs Vergleichen der Templates vom Gästebuch anschauen mit und ohne BBCode.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    marTen Mitglied
    Registriert seit
    08.02.2006
    Beiträge
    238
    Beitragswertungen
    0 Beitragspunkte
    so,
    ich habe nun {__BBCodeButtons__} an stelle des orginalen bbcode in der article.php geändert. In der template article.htm gibt es nichts mit bbcode.
    naja nun funktioniert es noch nicht so ganz, {__BBCodeButtons__} wird als text angezeigt und nicht als funktion :'(

    muss ich
    <script type='text/javascript' src='include/includes/js/BBCodeGlobal.js'></script>
    <script type='text/javascript' src='include/includes/js/Interface.js'></script>

    noch irgendwie dort einbringen, denke schon, weiß aber nicht wo ?!?!

    ihr mal der code der article.php , vllt kann mir ja wer helfen wo es dort hinneinkommt
    <?php 
    #   Copyright by: Manuel
    #   Edit by: Nero
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    // Einstellung der Rechte von den Gästen:
    // 0 = sie dürfen weder die kommentare sehen noch schreiben
    // 1 = sie dürfen die kommentare sehen aber nicht schreiben
    // 2 = sie dürfen die kommentare sehen aund welche schreiben
    $gast_allow = 2;
    //Einstellung Ende
    
    #-> functions
    function show_vote($id){
             global $tpl;
             if(loggedin()){
                $return = '
                <script language="JavaScript" type="text/javascript">
                <!--
                function doVote(n1,did) {
                  document.location.href="index.php?articles-show-" + did + "-z"+n1;
                }
                //-->
                </script>
                        <td class="Cdark" onClick="doVote(1,'.$id.')" style="cursor:pointer">&nbsp;1&nbsp;</td>
                        <td class="Cmite" onClick="doVote(2,'.$id.')" style="cursor:pointer">&nbsp;2&nbsp;</td>
                        <td class="Cdark" onClick="doVote(3,'.$id.')" style="cursor:pointer">&nbsp;3&nbsp;</td>
                        <td class="Cmite" onClick="doVote(4,'.$id.')" style="cursor:pointer">&nbsp;4&nbsp;</td>
                        <td class="Cdark" onClick="doVote(5,'.$id.')" style="cursor:pointer">&nbsp;5&nbsp;</td>
                        <td class="Cmite" onClick="doVote(6,'.$id.')" style="cursor:pointer">&nbsp;6&nbsp;</td>
                        <td class="Cdark" onClick="doVote(7,'.$id.')" style="cursor:pointer">&nbsp;7&nbsp;</td>
                        <td class="Cmite" onClick="doVote(8,'.$id.')" style="cursor:pointer">&nbsp;8&nbsp;</td>
                        <td class="Cdark" onClick="doVote(9,'.$id.')" style="cursor:pointer">&nbsp;9&nbsp;</td>
                        <td class="Cmite" onClick="doVote(10,'.$id.')" style="cursor:pointer">&nbsp;10&nbsp;</td>'."\n";
             }else{
                $return='
                         <td class="Cdark">Du muss eingeloggt sein um zu voten</td>
                         ';
             }
             $tpl->set('write_vote',$return);
    }
    function make_art_pages($s,$page,$art_id) {
             $return = array('links'=>'[ ','content'=>'');
             $s_arr = preg_split('/\[NEWARTPAGE\]/', $s);
             foreach($s_arr as $key=>$value){
                if ($page == $key){
                   $return['content'] = $value;
                   $return['links'] .= $key === 0?($key+1):' | '.($key+1);
                }else{
                $return['links'] .= ($key === 0?'<a href="?articles-show-'.$art_id.'-P'.$key.'">'.($key+1).'</a>':
                                    ' | <a href="?articles-show-'.$art_id.'-P'.$key.'">'.($key+1).'</a>');
                }
             }
             $return['links'] .= ' ]';
             if($return['links'] === '[ 1 ]'){$return['links'] = '';}
             if(empty($return['content'])){$return['content'] = $s_arr[0];}
             return ($return);
    }
    function get_cats_title ( $catsar ){
      $l = '';
       foreach($catsar as $k => $v){
         if ( $k != '' AND $v != '' ) {
            $l = $v.' :: '.$l;
          }
       }
       return ($l);
    }
    function get_cats_urls($catsar){
      $l = '';
       foreach($catsar as $k => $v) {
         if ( $k != '' AND $v != '' ) {
            $l = '<a class="smalfont" href="?articles-'.$k.'">'.$v.'</a><b> &raquo; </b>'.$l;
          }
       }
       return ($l);
    }
    function get_cats_array($cid, $ar){
       if ( empty($cid) ) {
         return ($ar);
       }else{
         $erg = db_query("SELECT cat,id,name FROM `prefix_artsys_cats` WHERE id = ".$cid);
          $row = db_fetch_assoc($erg);
          $ar[$row['id']] = $row['name'];
         return (get_cats_array($row['cat'],$ar));
       }
       if ($r){
         return ($l);
       }
    }
    function count_art($cid){
      $zges = 0;
       $e = db_query("SELECT id FROM `prefix_artsys_cats` WHERE cat = ".$cid);
       if ( db_num_rows($e) > 0 ) {
         while ($r = db_fetch_assoc($e) ) {
           $zges = $zges + count_art ($r['id']);
         }
       }
       $zges = $zges + db_count_query("SELECT COUNT(art_id) FROM `prefix_artsys_articles` WHERE art_cat = ".$cid." AND art_status = 1");
       return ($zges);
    }
    
    switch(escape($menu->get(1),'string')){
    default:
             #-> Kategorien-Pfad erstellen
             $cid = ( $menu->get(1) ? escape($menu->get(1), 'integer') : 0 );
             $erg = db_query("SELECT cat,name FROM `prefix_artsys_cats` WHERE id = ".$cid." AND recht >= ".$_SESSION['authright']." ORDER BY pos");
             if (db_num_rows($erg) > 0) {
                $row = db_fetch_assoc($erg);
                $array = get_cats_array($row['cat'],'');
                if (!empty($array) ) {
                   $titelzw = get_cats_title($array);
                   $namezw = get_cats_urls($array);
                } else {
                   $titelzw = '';
                   $namezw = '';
                }
                $cattitle = ':: '.$titelzw.$row['name'];
                $catname = '<b> &raquo; </b>'.$namezw.$row['name'];
             } else {
                if ($cid <> 0) {
                   $title = $allgAr['title'].' :: Artikeln ';
                   $hmenu = '<a class="smalfont" href="?articles">Artikeln</a>';
                   $design = new design ( $title , $hmenu );
                   $design->header();
                   echo 'Die Kategorie wurde nicht gefunden';
                   $design->footer(1);
                }
                $cattitle = '';
                $catname = '';
             }
    
             #-> Ausgabe
             $title = $allgAr['title'].' :: Artikeln '.$cattitle;
             $hmenu = '<a class="smalfont" href="?articles">Artikeln</a>'.$catname;
             $design = new design ( $title , $hmenu );
             $design->header();
             $tpl = new tpl ('articles' );
             $tpl->set('cid', $cid);
             $erg = db_query("SELECT id,name,`desc` FROM `prefix_artsys_cats` WHERE cat = ".$cid." AND recht >= ".$_SESSION['authright']." ORDER BY pos");
             if ( db_num_rows($erg) > 0 ) {
                $tpl->out(1); $class = 'Cnorm';
                while ($row = db_fetch_assoc($erg) ) {
                   $row['anzArt'] = count_art($row['id']);
                   $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite');
                   $row['class'] = $class;
                   $tpl->set_ar_out($row,2);
                }
                $tpl->out(3);
             }
    
             # sortierung festlegen
             $sortierung = 'art_id ASC';
             $DOM = 'ASC';
             $POM = 'ASC';
             $DAM = 'ASC';
             switch ($menu->get(2)) {
                case 'positionDESC' : $sortierung = 'art_id DESC'; break;
                case 'positionASC' : $sortierung = 'art_id  ASC';  $POM = 'DESC'; break;
                case 'seeDESC' : $sortierung = 'art_viewed  DESC'; break;
                case 'seeASC' : $sortierung = 'art_viewed ASC'; $DOM = 'DESC'; break;
                case 'dateDESC' : $sortierung = 'art_time DESC'; break;
                case 'dateASC' : $sortierung = 'art_time ASC'; $DAM = 'DESC'; break;
             }
             $tpl->set ('POM', $POM);
             $tpl->set ('DOM', $DOM);
             $tpl->set ('DAM', $DAM);
             
             $erg = db_query("SELECT art_id,art_title,art_uid,art_viewed,DATE_FORMAT(art_time,'%d.%m.%Y') as datum from `prefix_artsys_articles` WHERE art_cat = ".$cid." AND art_status = 1 ORDER BY ".$sortierung);
             if ( db_num_rows($erg) > 0 ) {
                $tpl->out(4); $class = 'Cnorm';
                while($row = db_fetch_assoc($erg) ) {
                   $class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
                   $row['class'] = $class;
                   $row['username'] = get_n($row['art_uid']);
                   $tpl->set_ar_out($row,5);
                }
                $tpl->out(6);
             }
             $design->footer();
    break;
    case 'show':
            $fid = escape($menu->get(2), 'integer');
            $erg = db_query("SELECT art_cat,art_viewed,art_votes,art_rating,art_title,art_uid,art_content,art_id,DATE_FORMAT(art_time,'%d.%m.%Y') as datum
                             FROM `prefix_artsys_articles` artsys LEFT JOIN `prefix_artsys_cats` ON id = art_cat
                             WHERE art_id = ".$fid." AND art_status = 1 AND (".$_SESSION['authright']." <= recht OR (art_cat = 0 AND recht IS NULL))")OR die(mysql_error());
            if (@db_num_rows($erg) !== 1) {
               $title = $allgAr['title'].' :: Artikeln ';
               $hmenu = '<a class="smalfont" href="?articles">Artikeln</a>';
               $design = new design ( $title , $hmenu );
               $design->header();
               echo 'Der Artikel wurde nicht gefunden';
               $design->footer(1);
            }
            $row = db_fetch_assoc($erg);
            #-> umfrage einen hoch zaehlen ...
            if ($menu->getA(3) === 'z' AND is_numeric($menu->getE(3)) AND !isset($_SESSION['artDoVote'][$row['art_id']]) AND loggedin() ) {
               $_SESSION['artDoVote'][$row['art_id']] = 'o';
               $row['art_rating'] = round( ( ($row['art_rating'] * $row['art_votes'] ) + $menu->getE(3) ) / ( $row['art_votes'] + 1 ), 3);
               $row['art_votes']++;
               db_query("UPDATE prefix_artsys_articles SET art_rating = ".$row['art_rating'].", art_votes = ".$row['art_votes']." WHERE art_id = ".$fid);
            }
            if (!isset ($_SESSION['artDoKlick'][$row['art_id']]) ) {
               $_SESSION['artDoKlick'][$row['art_id']] = 'o';
               db_query("UPDATE prefix_artsys_articles SET art_viewed = art_viewed +1 WHERE art_id = ".$fid);
            }
            #-> Kategorien-Pfad erstellen
            $cid = $row['art_cat'];
            $erg1 = db_query("SELECT id,cat,name FROM `prefix_artsys_cats` WHERE id = ".$cid)OR die(mysql_error());
            if (db_num_rows($erg1)>0){
               $row1 = db_fetch_assoc($erg1);
               $array = get_cats_array($row1['cat'],'');
               if (!empty($array)){
                  $titelzw = get_cats_title($array);
                  $namezw = get_cats_urls($array);
               }else{
                  $titelzw = '';
                  $namezw = '';
               }
               $cattitle = ':: '.$titelzw.$row1['name'].' :: '.$row['name'].' '.$row['version'];
               $catname = '<b> &raquo; </b>'.$namezw.'<a class="smalfont" href="?articles-'.$row1['id'].'">'.$row1['name'].'</a><b> &raquo; </b>'.$row['name'].' '.$row['version'];
            } else {
               $cattitle = '';
               $catname = '';
            }
            #-> Artikel-Page setzen
            if ($menu->getA(3) === 'P'){
               $art_page = $menu->getE(3);
            }else{$art_page = 0;}
            #-> Anz kommentare holen
            $comAnz= db_result(db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = ".$row['art_id']." AND cat = 'ARTICLES'"),0);
            #-> Ausgabe
            $tpl = new tpl ('articles' );
            $row['comOderShow'] = ' &nbsp;<a href="index.php?articles-com-'.$row['art_id'].'">'.$comAnz.' '.$lang['comments'].'</a>';
     		if ($row['art_uid'] == $_SESSION['authid'] OR $_SESSION['authright'] <= -7) $row['comOderShow'] .= ' <a href="index.php?articles-edit-'.$row['art_id'].'">Edit        </a>'; 
    		$page = make_art_pages(bbcode($row['art_content']),$art_page,$fid);
            $title = $allgAr['title'].' :: Artikeln '.$cattitle;
            $hmenu = '<a class="smalfont" href="?articles">Artikeln</a>'.$catname;
            $design = new design ( $title , $hmenu );
            $row['creater'] = get_n($row['art_uid']);
            $design->header();
            show_vote($row['art_id']);//Vote ausgeben
            $tpl->set_ar_out($row,7);
            $tpl->set_ar_out($page,8);
            $tpl->out(12);
            $design->footer();
    break;
    case 'com':
            $fid = escape($menu->get(2), 'integer');
            $erg = db_query("SELECT art_cat,art_viewed,art_votes,art_rating,art_title,art_uid,art_id,DATE_FORMAT(art_time,'%d.%m.%Y') as datum
                             FROM `prefix_artsys_articles` artsys LEFT JOIN `prefix_artsys_cats` ON id = art_cat
                             WHERE art_id = ".$fid." AND art_status = 1 AND (".$_SESSION['authright']." <= recht OR (art_cat = 0 AND recht IS NULL))")OR die(mysql_error().'111');
            if (@db_num_rows($erg) !== 1) {
               $title = $allgAr['title'].' :: Artikeln ';
               $hmenu = '<a class="smalfont" href="?articles">Artikeln</a>';
               $design = new design ( $title , $hmenu );
               $design->header();
               echo 'Der Artikel wurde nicht gefunden';
               $design->footer(1);
            }
            $row = db_fetch_assoc($erg);
            #-> Kategorien-Pfad erstellen
            $cid = $row['art_cat'];
            $erg1 = db_query("SELECT id,cat,name FROM `prefix_artsys_cats` WHERE id = ".$cid)OR die(mysql_error().'112');
            if (db_num_rows($erg1)>0){
               $row1 = db_fetch_assoc($erg1);
               $array = get_cats_array($row1['cat'],'');
               if (!empty($array)){
                  $titelzw = get_cats_title($array);
                  $namezw = get_cats_urls($array);
               }else{
                  $titelzw = '';
                  $namezw = '';
               }
               $cattitle = ':: '.$titelzw.$row1['name'].' :: '.$row['name'].' '.$row['version'];
               $catname = '<b> &raquo; </b>'.$namezw.'<a class="smalfont" href="?articles-'.$row1['id'].'">'.$row1['name'].'</a><b> &raquo; </b>'.$row['name'].' '.$row['version'];
            } else {
               $cattitle = '';
               $catname = '';
            }
            # kommentar add
            if (!empty($_POST['name']) AND !empty($_POST['text']) AND ($gast_allow === 2 OR loggedin())) {
                    $_POST['text'] = escape($_POST['text'],'textarea');
                    $_POST['name'] = escape($_POST['name'],'string');
                    db_query("INSERT INTO `prefix_koms` VALUES ('',".$fid.",'ARTICLES','".$_POST['name']."','".$_POST['text']."')");
            }
            # kommentar loeschen
            if ($menu->getA(3) == 'd' AND is_numeric($menu->getE(3)) AND is_admin()) {
                    $kommentar_id = escape($menu->getE(3),'integer');
                    db_query("DELETE FROM `prefix_koms` WHERE uid = ".$fid." AND cat = 'ARTICLES' AND id = ".$kommentar_id)OR die('dl22');
            }
            #-> Ausgabe
            $tpl = new tpl ('articles' );
            $row['comOderShow'] = ' &nbsp;<a href="?articles-show-'.$row['art_id'].'">Artikel lesen</a>';
            $title = $allgAr['title'].' :: Artikeln '.$cattitle;
            $hmenu = '<a class="smalfont" href="?articles">Artikeln</a>'.$catname;
            $design = new design ( $title , $hmenu );
            $row['creater'] = get_n($row['art_uid']);
            $design->header();
            show_vote($row['art_id']);//Vote ausgeben
            $tpl->set_ar_out($row,7);
            #-> Kommentar insertfields
            if ($gast_allow === 2 OR loggedin()){
               $row_ins = array('uname'=>get_n($_SESSION['authid']),'art_id'=>$row['art_id']);
               $tpl->set_ar_out($row_ins,9);
            }elseif($gast_allow !== 0){
               $tpl->set_out('writeout','du musst eingelogt sein um einen Kommentare zu schreiben',10);
            }
            #-> kommentar show
            $erg2 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = ".$row['art_id']." AND cat = 'ARTICLES' ORDER BY id DESC")OR die(mysql_error());
            $ergAnz1 = db_num_rows($erg2);
            if ( $ergAnz1 == 0 ) {
               $tpl->set_out('writeout',$lang['nocomments'],10);
               $tpl->out(12);
            }elseif($gast_allow === 0 AND !loggedin()){
               $tpl->set_out('writeout','du musst eingelogt sein um die Kommentare zu sehen, bzw. einen zu schreiben',10);
               $tpl->out(12);
            }else{
                    $zahl = $ergAnz1;
                    while ($row2 = db_fetch_assoc($erg2)) {
                            $row2['text'] = bbcode(trim($row2['text']));
                            if (is_admin()) {
                                $row2['text'] .= '<a href="index.php?articles-com-'.$row['art_id'].'-d'.$row2['id'].'"><img src="include/images/icons/del.gif" alt="l&ouml;schen" border="0" title="l&ouml;schen" /></a>';
                            }
                            $tpl->set_ar_out(array('name' => $row2['name'], 'text' => $row2['text'], 'zahl' => $zahl ),11);
                            $zahl--;
                    }
                    $tpl->out(12);
            }
            # kommentar show ende
            $design->footer();
    		
    		break; 
    case 'edit': 
            #Config - Begin 
            $artadmin = 1; //ID des Users, der die PMs über neue Artikel bekommen soll 
            $editright = -1; //Recht ab dem Artikel verfasst werden dürfen 
            #Config - End 
             
            $title = $allgAr['title'].' :: Artikeln  :: Editor'; 
            $hmenu = 'Artikel <b>&raquo;</b> Editor'; 
            $design = new design ( $title , $hmenu ); 
            $design->header(); 
            $art_id = 'nix'; 
            $perm = TRUE; 
       
            if (!empty($_POST['preview'])) { 
            //Vorschau 
            $art_id = $_POST['id']; 
            $art_title = escape($_POST['title'],'string'); 
            $txt = unescape($_POST['txt']); 
            $cat_nmbr = $_POST['cat']; 
            if ($art_id <> 'nix') $readonly = ' readonly="readonly"';       
            ?> 
            <table class="border" border="0" cellspacing="1" cellpadding="3" width="95%"> 
            <tr class="Chead"><th>Vorschau</th></tr> 
            <tr style="background-color:white"><td><?= bbcode($txt)?></td></tr> 
            </table><br /> 
            <? 
            } 
            elseif (!empty($_POST['submit']) AND $_SESSION['authright'] <= $editright) { 
            //Absenden 
            $art_stat = ($_SESSION['authright'] <= -7 ? 1 : 0); 
            if ($_POST['id'] == 'nix') $query = 'INSERT INTO `prefix_artsys_articles` (art_uid,art_cat,art_time,art_title,art_content,art_status) VALUES 
            ('.$_SESSION['authid'].','.$_POST['cat'].',NOW(),"'.escape($_POST['title'],'string').'","'.escape($_POST['txt'],'textarea').'",'.$art_stat.')'; 
            elseif ($_SESSION['authright'] <= -7 OR db_result(db_query("SELECT art_uid FROM `prefix_artsys_articles` WHERE art_id = ".$_POST['id']),0) == $_SESSION['authid']) $query = 'UPDATE `prefix_artsys_articles` SET art_status = '.$art_stat.', art_content  = "'.escape($_POST['txt'],'textarea').'" WHERE art_id = '.$_POST['id'].' LIMIT 1'; 
             
            db_query($query) OR die($erg.mysql_error()); 
            if ($_SESSION['authright'] > -7) { 
            sendpm(0, $artadmin, 'Neuer Artikel', 'Es wurde ein neuer Artikel in der Kategorie [b]'.db_result(db_query("SELECT name FROM `prefix_artsys_cats` WHERE id = ".$_POST['cat']),0).'[/b] geschrieben/verändert und wartet darauf freigeschaltet zu werden!\n\nDas Artikelmodul ;)', -1); 
            echo 'Der Artikel wurde abgeschickt und dem Administrator eine Nachricht geschickt, damit er den Artikel freischalten kann.<br />'; 
            } 
            else echo 'Der Artikel wurde eingetragen<br />'; 
            echo '<a href="index.php?articles">Zurück zu den Artikeln</a><br />'; 
            } 
            elseif (is_numeric($menu->get(2))) { 
              $art_id = $menu->get(2); 
                $sql = db_query('SELECT * FROM `prefix_artsys_articles` WHERE art_id = '.$art_id); 
                if (db_num_rows($sql) == 1) { 
              $article = db_fetch_assoc($sql); 
              if ($article['art_uid'] == $_SESSION['authid'] OR $_SESSION['authright'] <= -7) $perm = TRUE; else $perm = FALSE; 
              $art_title = $article['art_title']; 
              $txt = $article['art_content']; 
              $cat_nmbr = $article['art_cat']; 
              $readonly = ' readonly="readonly"'; 
              } 
              else { 
              echo "Den Artikel mit der ID $art_id gibt es nicht!<br />"; 
              $art_id = 'nix'; 
              } 
            } 
            if (empty($_POST['submit']) AND $perm AND $_SESSION['authright'] <= $editright) { 
            ?>         
            <form name="form" method="POST" action="index.php?articles-edit"> 
            <input type="hidden" name="id" value="<?=$art_id?>"> 
            <table class="border" border="0" cellspacing="1" cellpadding="3"> 
              <tr><th class="Chead" colspan="2">Artikel Editor</th></tr> 
              <tr><td class="Cmite">Titel:</td><td class="Cnorm"><input type="text" size="40" maxlength="80" name="title" value="<?= $art_title?>"<?=$readonly?>></td></tr> 
              <tr><td class="Cmite">Kategorie:</td><td class="Cnorm"> 
              <? 
              if (!empty($readonly)) echo '<input type="text" size="40" readonly="readonly" value="'.($cat_nmbr == 0 ? 'keine' : db_result(db_query("SELECT name FROM `prefix_artsys_cats` WHERE id = $cat_nmbr"),0)).'"><input type="hidden" name="cat" value="'.$cat_nmbr.'">'; 
                else { 
                echo '<select name="cat">';       
                echo '<option value="0"'.($cat_nmbr == '0' ? ' selected="selected"' : '').'>keine</option>'; 
                $sql = db_query('SELECT * FROM `prefix_artsys_cats` WHERE recht >= '.$_SESSION['authright'].' ORDER BY pos'); 
                while ($cat = db_fetch_assoc($sql)){ 
                echo '<option value="'.$cat[id].'"'.($cat_nmbr == $cat[id] ? ' selected="selected"' : '').'>'.$cat['name'].'</option>'; 
                } 
                echo '</select>'; 
                } 
                ?>             
              </td></tr> 
              <tr><td colspan="2" class="Cnorm"> 
          <!-- BB Code START -->
    	   	  {__BBCodeButtons__}
    		  <!-- BB Code START --> 
              </td>
              </tr> 
              <tr class="Cmite"><td colspan="2"><textarea name="txt" cols="60" rows="15"><?= $txt?></textarea></td></tr> 
              <tr class="Cmite"><td colspan="2"><input type="submit" name="preview" value="Vorschau"> <input type="submit" name="submit" value="Absenden"></td></tr> 
            </table> 
            </form> 
            <? } 
            elseif (empty($_POST['submit'])) 
            {echo 'Du hast nicht die n&ouml;tigen Rechte';} 
            $design->footer(); 
    break; 
    }
    ?>


    im moment sieht es so aus
    gesperrtes Bild
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten