ilch Forum » Ilch Clan 1.1 » Allgemein » Kommentare mit Datum, Uhrzeit, etc.

Geschlossen
  1. #1
    User Pic
    Kazuya Suzuhara Mitglied
    Registriert seit
    31.01.2010
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    Ich würde gern mehrer Sachen zu den kommentaren hinzufügen wollen, da wären zum:
    - Datum und Uhrzeit des Kommentars - Erstellungszeitpunkt.
    Datum und Uhrzeit soll dann mir bei Kommentaren angezeigt werden.

    - Smilies sollten in den Kommentaren genutzt werden können.

    Kann mir einer erklären was ich da genau machen muß um dieses zu realisieren.

    Danke im vorraus

    Homepage läuft auf einem lokalem testserver
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Kazuya Suzuhara Mitglied
    Registriert seit
    31.01.2010
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    Na kann mir denn da gar keiner helfen habe es schon probiert selbst zu realisieren aber bekomm es einfach nich hin
    Wäre super wenn da einer nen tip hätte wie ich das machen muß
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Kazuya Suzuhara Mitglied
    Registriert seit
    31.01.2010
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von she


    Super Danke das hat mir geholfen funktionirt auch einwandfrei
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Kazuya Suzuhara Mitglied
    Registriert seit
    31.01.2010
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    Hallo,
    Hätte da noch nen Anliegen:
    wie bekomm ich das hin das der folgende Ausschnitt
    ZitatZitat

    Testnews von mir für Euch zum testen
    2010-11-30 16:00:13 von {username}
    zuletzt geändert am 2010-12-04 22:06:20

    richtig formatiert angezeigt wird: 30.11.2010 16:30
    und das an stelle des "{username}" dann ein NickName steht.
    Anbei die news.php
    <?php
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    // Modded by Mairu für News Extended
    defined ('main') or die ('no direct access');
    
    $title = $allgAr['title'] . ' :: News';
    $hmenu = 'News';
    $design = new design ($title , $hmenu);
    $design->addheader('<link rel="alternate" type="application/atom+xml" title="News (Atom)" href="index.php?news-atom" />
    <link rel="alternate" type="application/rss+xml" title="News (RSS)" href="index.php?news-rss" />');
    
    function news_find_kat ($kat) {
        $katpfad = 'include/images/news/';
        $katjpg = $katpfad . $kat . '.jpg';
        $katgif = $katpfad . $kat . '.gif';
        $katpng = $katpfad . $kat . '.png';
    
        if (file_exists($katjpg)) {
            $pfadzumBild = $katjpg;
        } elseif (file_exists ($katgif)) {
            $pfadzumBild = $katgif;
        } elseif (file_exists ($katpng)) {
            $pfadzumBild = $katpng;
        }
    
        if (!empty($pfadzumBild)) {
            $kategorie = '<img style="" src="' . $pfadzumBild . '" alt="' . $kat . '" width="100" height="100">';
        } else {
            $kategorie = '<b>' . $kat . '</b><br /><br />';
        }
    
        return ($kategorie);
    }
    // Schaut ob ein Name so oder ähnlich in der Datenbank vorhanden ist
    // gibt true zurück falls der Name noch nicht verwendet ist
    
    function checkNickname($nickname) {
        if (db_count_query("SELECT COUNT(nickname) FROM prefix_user WHERE nickname LIKE '$nickname'")) {
            return false;
        } else {
            return true;
        }
    }
    
    
    function checkKomNickname($nickname) {
        $resp = new xajaxResponse();
        if (checkNickname($nickname) OR loggedin()) {
            $resp->script('document.forms["komform"].submit();');
        } else {
            $resp->assign('komnickname', 'value' , '');
            $resp->alert('Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.');
            $resp->script("document.getElementById('komnickname').focus();");
        }
        return $resp;
    }
    
    // xajax für namencheck
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    $xajax->register(XAJAX_FUNCTION, 'checkKomName');
    $xajax->processRequest();
    
    if ($menu->get(1) == 'ajax') {
        exit();
    }
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    $xajax->register(XAJAX_FUNCTION, 'checkKomNickname');
    $xajax->processRequest();
    
    if ($menu->get(1) == 'ajax') {
        exit();
    }
    
    if (!is_numeric($menu->get(1))) {
        if ($menu->get(1) == 'rss' || $menu->get(1) == 'atom') {
            // ob_clean();
            $feed_type = $menu->get(1);
    
            $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
            $erg = db_query($abf);
            $row = db_fetch_assoc($erg);
            $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
    
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0));
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,";
            $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,";
            $abf .=
            "a.news_kat as kate,
          a.news_text as text,
          b.nickname as username,
          a.html
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE (a.news_recht | 1) = a.news_recht AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND a.news_id != $tn_id AND a.`archiv` != 1 AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY news_time DESC LIMIT 15";
            $erg = db_query($abf);
            $tpl = new tpl('news_' . $menu->get(1) . '.htm');
    
            header('Content-type: application/' . $menu->get(1) . '+xml');
    
            $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                    'UPDATED' => $last_update,
                    'SITEURL' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])), 0);
            while ($row = db_fetch_assoc($erg)) {
                if ($feed_type == 'atom') {
                    $Z = (date('Z') > 0 ? '+' : '') . date('H:i:s', date('Z') + 23 * 3600);
                    $row['datum'] = str_replace(' ', 'T', $row['datum']) . $Z;
                }
    
                $a = explode('[PREVIEWENDE]', $row['text']);
                $tpl->set_ar_out(array('TITLE' => $row['title'],
                        'TXT' => $row['html'] ? $a[0] : bbcode($a[0]),
                        'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/index.php?news-' . $row['id'],
                        'AUTHOR' => $row['username'],
                        'DATE' => $row['datum']
                        ), 1);
            }
            $tpl->out(2);
            exit;
        } else {
            $design->header();
            $limit = $allgAr['Nlimit'];
            $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
     
            // Topnews ausgeben
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1, v2 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0, 0));
            $tn_koms = @db_result($news_opts, 0, 1);
            $tn_sql = db_query("SELECT news_title, news_text, news_kat, news_recht, news_groups, html FROM prefix_news WHERE news_id = $tn_id AND `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())");
            if (db_num_rows($tn_sql) > 0) {
                $tn_r = db_fetch_object($tn_sql);
    
    			$dontShow = false;
    			if ((pow(2, abs($_SESSION['authright'])) | $tn_r->news_recht) != $tn_r->news_recht) {
    				$dontShow = true;
    			}
    			if ($dontShow) {
    				foreach($_SESSION['authgrp'] as $id => $bool) {
    					if ($bool and (pow(2, abs($id)) | $tn_r->news_groups) == $tn_r->news_groups) {
    						$dontShow = false;
    						break;
    					}
    				}
    			}
            	if (!$dontShow) {
    				$tn_tpl = new tpl ('news/top');
    				$tn_tpl->set('title', $tn_r->news_title);
    				$tn_tpl->set('koms', $tn_koms == '1' ? '<br /><a href="index.php?news-' . $tn_id . '">' . db_count_query("SELECT COUNT(id) FROM prefix_koms WHERE uid = $tn_id AND cat = 'NEWS'") . ' ' . $lang['comments'] . ' </a>' : '');
                    if (strpos ($tn_r->news_text , '[PREVIEWENDE]') !== false) {
                        $a = explode('[PREVIEWENDE]' , $tn_r->news_text);
                        $tn_r->news_text = $a[0];
                        $tn_tpl->set('readwholenews', '<a href="index.php?news-' . $tn_id . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>');
                    } else {
                        $tn_tpl->set('readwholenews', '');
                    }
                    $tn_tpl->set('kate', news_find_kat($tn_r->news_kat));
                    $tn_tpl->set_out('txt', $tn_r->html ? $tn_r->news_text : bbcode($tn_r->news_text), 0);
    				unset($tn_tpl);
            	}
            }
    
    		//Kategorie einschränken
    		if ($menu->get(1) != '' and ($menu->getA(1) != 'p' or $menu->getE(1) == 0)) {
    			$kats = $katssql = array();  #collect given kats
    			$i = 1;
    			while($kat = escape($menu->get($i), 'string')){
    				$kats[] = $kat;
    				$katssql[] = '"' . $kat . '"';
    				$i++;
    			}
    			$news_kat = 'news_kat IN ('.implode(',', $katssql).') AND';
    			$katmpl = '-'.implode('-', $kats);
    			$page = $menu->getE('p');
    			if ($page < 1) {
    				$page = 1;
    			}
    			$katmpl = str_replace('-p'.$page, '', $katmpl);
    		} else {
    			$news_kat = $katmpl = '';
    			$page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
    		}
    
            $anfang = ($page - 1) * $limit;
    		//Gruppenrechte
    		$groups = getGroupRights();
    
    		$MPL = db_make_sites ($page , "WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | news_recht) = news_recht) OR
    			(news_groups != 0 AND ((news_groups ^ $groups) != (news_groups | $groups)))) AND $news_kat `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND archiv != 1 AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())" , $limit , '?news'.$katmpl , 'news');
            // Normale News
            $tpl = new tpl ('news/news.htm');
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.nickname as username,
          c.nickname as editorname,
          a.html,
          a.edit_time,
          a.klicks,
          b.id as uid
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        LEFT JOIN prefix_user as c ON a.editor_id = c.id
        WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
    	      (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups)))) AND $news_kat
    		a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND a.`archiv` != 1 AND
    		(a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY a.news_time DESC
        LIMIT " . $anfang . "," . $limit;
     
            // echo '<pre>'.$abf.'</pre>';
            $erg = db_query($abf);
            if (db_num_rows($erg) == 0 and !empty($news_kat)) {
                echo 'Keine News in dieser Kategorie gefunden.<br />
                   <a href="index.php?news">News&uuml;bersichtsseite aufrufen</a>';
                $design->footer(1);
            }
            while ($row = db_fetch_assoc($erg)) {
                $k0m = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = " . $row['id'] . " AND cat = 'NEWS'");
                $row['kom'] = db_result($k0m, 0);
     
                $row['kate'] = news_find_kat($row['kate']);
                $row['datum'] = $lang[$row['dayofweek']] . ' ' . $row['datum'];
                if (strpos ($row['text'] , '[PREVIEWENDE]') !== false) {
                    $a = explode('[PREVIEWENDE]' , $row['text']);
                    $row['text'] = $a[0];
                    $row['readwholenews'] = '<a href="index.php?news-' . $row['id'] . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                } else {
                    $row['readwholenews'] = '';
                }
                $row['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $row['klicks'] . ' mal gelesen" title="' . $row['klicks'] . ' mal gelesen" border="0">';
                if (!$row['html']) {
                    $row['text'] = bbcode($row['text']);
                }
                $row['edit'] = is_null($row['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($row['edit_time'])) . '&nbsp;Uhr';
                if (!empty($row['edit']) and $row['editorname'] != $row['username']) {
                    $row['edit'] .= ' von ' . $row['editorname'] . '</i>';
                } elseif (!empty($row['edit'])) {
                    $row['edit'] .= '</i>';
                }
                $tpl->set_ar_out($row, 0);
            }
            $tpl->set_out('SITELINK', $MPL, 1);
            unset($tpl);
        }
    } else {
        $design->header();
        $xajax->printJavascript();
     
        $nid = escape($menu->get(1), 'integer');
        $erg = db_query("SELECT * FROM `prefix_news` WHERE `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id = '" . $nid . "'");
        if (db_num_rows($erg) == 0) {
            $dontShow = true;
        } else {
            $dontShow = false;
            $row = db_fetch_object($erg);
              
            if ((pow(2, abs($_SESSION['authright'])) | $row->news_recht) != $row->news_recht) {
                $dontShow = true;
            }
            if ($dontShow) {
                foreach($_SESSION['authgrp'] as $id => $bool) {
                    if ($bool and (pow(2, abs($id)) | $row->news_groups) == $row->news_groups) {
                        $dontShow = false;
                        break;
                    }
                }
            }
        }
     
        if ($dontShow) {
            echo 'News existiert nicht oder Sie haben keine Rechte sie zu sehen.  <a href="javascript:history.back();">zur&uuml;ck</a>';
            $design->footer(1);
        }
     
        $komsOK = true;
        if ($allgAr['Ngkoms'] == 0) {
            if (loggedin()) {
                $komsOK = true;
            } else {
                $komsOK = false;
            }
        }
        if ($allgAr['Nukoms'] == 0) {
            $komsOK = false;
        }
     
        $kom_info = '';
        // kommentar add
        if ((loggedin() OR chk_antispam ('newskom')) AND $komsOK AND !empty($_POST['name']) AND !empty($_POST['txt'])) {
            $_POST['txt'] = escape($_POST['txt'], 'string');
            $_POST['name'] = escape($_POST['name'], 'string');
            if (checkNickname($_POST['name']) or loggedin()) {
                if (loggedin()) {
                    $_POST['nickname'] = $_SESSION['authnickname'];
                }
                db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`,`date`) VALUES (".$nid.",'NEWS','".$_POST['name']."','".$_POST['txt']."', '".time()."')");
            } else {
                $kom_info = '<span style="color:red;">Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.</span><br />';
            }
        }
        // kommentar add
        // kommentar loeschen
        if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(- 7, 'news')) {
            $kommentar_id = escape($menu->getE(2), 'integer');
            db_query("DELETE FROM prefix_koms WHERE uid = " . $nid . " AND cat = 'NEWS' AND id = " . $kommentar_id);
        }
        // kommentar loeschen
        $kategorie = news_find_kat($row->news_kat);
     
        $textToShow = $row->html ? $row->news_text : bbcode($row->news_text);
        $textToShow = str_replace('[PREVIEWENDE]', '', $textToShow);
        if (!empty($such)) {
            $textToShow = markword($textToShow, $such);
        }
        // klicks zaehlen
        db_query("UPDATE prefix_news SET klicks = klicks + 1 WHERE news_id = " . $nid);
    
        $tpl = new tpl ('news/news.htm');
        $ar = array (
            'TEXT' => $textToShow,
            'KATE' => $kategorie,
            'NID' => $nid,
            'uname' => $_SESSION['authnickname'],
            'datum'=> $row->news_time,
            'edit' => $row->edit_time,
            'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
            'NAME' => $row->news_title,
            'info' => $kom_info
            );
        $tpl->set_ar_out($ar, 2);
    
        if ($komsOK) {
            $tpl->set_ar_out (array ('NAME' => $row->news_title , 'NID' => $nid, 'style' => loggedin() ? 'style="display:none;"' : ''), 3);
        }
        $time= date("d.m.Y",$timestamp);
        $erg1 =  db_query("SELECT `a`.`text`, `a`.`name`, `a`.`date`, `a`.`id`, `b`.`id` AS `userid`, `b`.`nickname` AS `username`, `b`.`avatar`
                         FROM `prefix_koms` AS `a`
                        LEFT JOIN `prefix_user` AS `b` ON `a`.`name` = `b`.`nickname`    
                         WHERE `a`.`uid` = " . $nid . " AND `a`.`cat` = 'NEWS' ORDER BY `a`.`id` DESC");
            $ergAnz1 = db_num_rows($erg1);
            if ( $ergAnz1 == 0 ) {
              echo '<b>'.$lang['nocomments'].'</b>';
            } else {
              $zahl = $ergAnz1;
              while ($row1 = db_fetch_assoc($erg1)) {
           
            $username = empty($row1['userid']) ? '<em>Gast</em> '.$row1['nickname'] : '<a href="index.php?user-details-'.$row1['userid'].'">'.$row1['username'].'</a>';
            $komavatar = (empty($row1['userid']) ? '<img src="include/images/avatars/guest.png" alt="Gast" />' : (!empty($row1['avatar']) && file_exists($row1['avatar']) ? '<a href="index.php?user-details-'.$row1['userid'].'"><img src="'.$row1['avatar'].'" border="0" alt="'.$row1['username'].'" title="'.$row1['username'].'"></a>' : '<img src="include/images/avatars/noavatar.png" alt="Kein Avatar" />'));  
           
            $row1['text'] = bbcode(trim($row1['text']));
            if (has_right(-7, 'news')) {
              $row1['text'] .= '<a href="?news-'.$nid.'-d'.$row1['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' => $username,
                                    'AVATAR' => $komavatar,
                                    'TEXT' => $row1['text'],
                                    'CDATE' => date('d.m.Y H:i',$row1['date']),
                                    'ZAHL' => $zahl ) , 4 );
            $zahl--;
            }
        }
        $tpl->out(5);
    }
     
    $design->footer();
     
    ?>

    und die news.htm (auszug)
    {EXPLODE}
    <script language="JavaScript" type="text/javascript">
    function delkom (NID, ID) {
    var Check = confirm("Kommentar wirklich löschen?")
    if (Check == true) window.open("index.php?news-"+NID+"-d"+ID,"_self");
    }</script>
    <!-- News Kommentare und Mehr lesen -->
    <a href="index.php?news"><center><font size="1">{_lang_backtonews}</font></center></a>
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          
         <td>{KATE}</td><td align="left" width="90%"><b><font size="2">{NAME}</font></b><br />
         <font size="1">{datum} von <a href="index.php?user-details-{uid}"></font><font size="1">{username}</a>
         <br />
         zuletzt geändert am {edit}</font></td></tr>
    
    
    
        <tr>
          <td colspan="2"><hr style="height: 0px; border: dotted #000000 0px; border-top-width: 1px; " /></td>
          </tr>
    <table width="100%"  border="0" cellspacing="0" cellpadding="2">
        <tr>
    	  <td>{TEXT}</td>
    	</tr>
        <tr>
    	  <td><hr style="height: 0px; border: dotted #000000 0px; border-top-width: 1px; " /></td>
    	</tr>
        <td >
     
            {EXPLODE}


    Webseite läuft momentan auf einem lokalen Testserver


    Zuletzt modifiziert von Kazuya Suzuhara am 15.12.2010 - 20:26:48
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    xCrystalx Mitglied
    Registriert seit
    31.12.2008
    Beiträge
    505
    Beitragswertungen
    4 Beitragspunkte
    hi

    wo mach ich genau den befehl hin

    ALTER TABLE ´prefix_koms´ ADD ´date´ INT( 20 ) NOT NULL AFTER ´cat´ ;


    und dann habe ich noch die frage wie man die reihenfolge der kommentare ändern kann, so das oben der erste stehet und nicht unten.

    Danke


    Zuletzt modifiziert von xCrystalx am 16.12.2010 - 12:26:38
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Kazuya Suzuhara Mitglied
    Registriert seit
    31.01.2010
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von xCrystalx

    hi

    wo mach ich genau den befehl hin

    ALTER TABLE ´prefix_koms´ ADD ´date´ INT( 20 ) NOT NULL AFTER ´cat´ ;




    das ist nen SQL- Befehl und sollte in deiner DB ausgeführt werden... über phpMyadmin, ich hab diese Spalte manuel eingfügt

    ZitatZitat geschrieben von xCrystalx

    und dann habe ich noch die frage wie man die reihenfolge der kommentare ändern kann, so das oben der erste stehet und nicht unten.


    ja das wüsste ich auch ganz gern wenn ich anstelle des DESC ein ASC setze ändert sich zwar die reinfolge aber dadurch leider auch die Nummerierung also steht weiterhin der zweite Kommentar vor dem ersten.
    wie kann man das also machen das der erste Kommentar mit der Nummer eins auch oben steht
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    xCrystalx Mitglied
    Registriert seit
    31.12.2008
    Beiträge
    505
    Beitragswertungen
    4 Beitragspunkte
    wie füge ich die manuel ein... habe prefix_koms gefunden aber nichts wo ich was einfügen kann
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Kazuya Suzuhara Mitglied
    Registriert seit
    31.01.2010
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von xCrystalx

    wie füge ich die manuel ein... habe prefix_koms gefunden aber nichts wo ich was einfügen kann

    Also ich hab das wie folgt gemacht:
    • phpmyadmin starten und gewünschte DB auswählen
    • Die tab. ic1_koms suchen
    • diese anzeigen lassen und auf struktur gehen
    • unter der tab. gibts die möglichkeit ein Feld hinzuzufügen
    • dort dann den radio-butten "nach" ausswählen und "cat" einstellen
    • nun gibst nur noch die daten ein: Feld-> date, Typ->INT, länge->20, Standart ->keine

    das sollte es gewesen sein hoffe das ich jetzt nix vergessen habe
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    xCrystalx Mitglied
    Registriert seit
    31.12.2008
    Beiträge
    505
    Beitragswertungen
    4 Beitragspunkte
    bei mir kam ein fehler da habe ich mal das "keine" weg gemacht und dann ging es.

    War das jetzt falsch?

    er sagt mir jetzt einen fehler auf der Seite
    MySQL Error:
    1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '´ic1_koms´ WHERE uid = 123 AND cat = 'NEWS' ORDER BY id DESC' at line 1
    in Query:
    SELECT text, name, id, date FROM ´ic1_koms´ WHERE uid = 123 AND cat = 'NEWS' ORDER BY id DESC
    Debug backtrace:
    	@ mysql.php:32 -- debug_bt()
    	@ mysql.php:50 -- db_check_error(...)
    	@ news.php:359 -- db_query(...)
    	@ news.php:21 -- require_once(...)
    	@ index.php:24 -- require_once(...)
    
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/web132/html/stb/include/includes/func/db/mysql.php on line 71


    an der stelle steht
    function db_num_rows ($erg) {
      return (mysql_num_rows ($erg));
    }



    Zuletzt modifiziert von xCrystalx am 17.12.2010 - 10:18:50
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Kazuya Suzuhara Mitglied
    Registriert seit
    31.01.2010
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    also ich hab das 'kein' -> bei Standart drin und es funktioniert einwandfrei, also du musst wenn du das kein net drin hast irgenein standart angeben .... ansonsten tritt ein Fehler auf,
    Mehr kann ich dazu leider auch net sagen hab da auvh zu wenig Kenntnisse
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Kazuya Suzuhara Mitglied
    Registriert seit
    31.01.2010
    Beiträge
    59
    Beitragswertungen
    0 Beitragspunkte
    Nun nochmal zu meinen eigentlichen Problem.
    ich nutze die "news extended 14a", nun habe ich folgendes anliegen.
    sobald ich auf news in der Navigation klicke ist auch alles okay -> es wir wie folgt angezeigt:
    ZitatZitat

    Testnews von mir für Euch zum testen
    Dienstag 30. 11. 2010 - 16:00 Uhr von Kazuya Suzuhara
    zuletzt geändert am 04.12.2010 - 22:06 Uhr


    Nun klicke ich auf den Link der News und komme auf die nächste seite wo ich dann auch ein Kommentar abgeben kann.
    Dort sieht das ganze dann wie folgt aus:
    ZitatZitat

    Testnews von mir für Euch zum testen
    {datum} von {username}
    zuletzt geändert am {edit}


    Nun ich hätte das gern wie oben habe auch schon einiges unternommen umm dies zu realisieren aber ich komm einfach net voran!
    Könnt mir da vlt. wer helfen?, damit es genau so wie oben ausschaut.
    Wäre echt dankbar

    Anbei die schon geänderte news/news.php, da ich hier schon einiges verändert habe.
    <?php
    // Copyright by: Manuel Staechele
    // Support: www.ilch.de
    // Modded by Mairu für News Extended
    defined ('main') or die ('no direct access');
    
    $title = $allgAr['title'] . ' :: News';
    $hmenu = 'News';
    $design = new design ($title , $hmenu);
    $design->addheader('<link rel="alternate" type="application/atom+xml" title="News (Atom)" href="index.php?news-atom" />
    <link rel="alternate" type="application/rss+xml" title="News (RSS)" href="index.php?news-rss" />');
    
    function news_find_kat ($kat) {
        $katpfad = 'include/images/news/';
        $katjpg = $katpfad . $kat . '.jpg';
        $katgif = $katpfad . $kat . '.gif';
        $katpng = $katpfad . $kat . '.png';
    
        if (file_exists($katjpg)) {
            $pfadzumBild = $katjpg;
        } elseif (file_exists ($katgif)) {
            $pfadzumBild = $katgif;
        } elseif (file_exists ($katpng)) {
            $pfadzumBild = $katpng;
        }
    
        if (!empty($pfadzumBild)) {
            $kategorie = '<img style="" src="' . $pfadzumBild . '" alt="' . $kat . '" width="100" height="100">';
        } else {
            $kategorie = '<b>' . $kat . '</b><br /><br />';
        }
    
        return ($kategorie);
    }
    // Schaut ob ein Name so oder ähnlich in der Datenbank vorhanden ist
    // gibt true zurück falls der Name noch nicht verwendet ist
    
    function checkNickname($nickname) {
        if (db_count_query("SELECT COUNT(nickname) FROM prefix_user WHERE nickname LIKE '$nickname'")) {
            return false;
        } else {
            return true;
        }
    }
    
    
    function checkKomNickname($nickname) {
        $resp = new xajaxResponse();
        if (checkNickname($nickname) OR loggedin()) {
            $resp->script('document.forms["komform"].submit();');
        } else {
            $resp->assign('komnickname', 'value' , '');
            $resp->alert('Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.');
            $resp->script("document.getElementById('komnickname').focus();");
        }
        return $resp;
    }
    
    // xajax für namencheck
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    $xajax->register(XAJAX_FUNCTION, 'checkKomName');
    $xajax->processRequest();
    
    if ($menu->get(1) == 'ajax') {
        exit();
    }
    $xajax = new xajax();
    $xajax->configureMany(array('decodeUTF8Input' => true ,'characterEncoding' => 'ISO-8859-1', 'requestURI' => 'admin.php?news-ajax'));
    $xajax->register(XAJAX_FUNCTION, 'checkKomNickname');
    $xajax->processRequest();
    
    if ($menu->get(1) == 'ajax') {
        exit();
    }
    
    if (!is_numeric($menu->get(1))) {
        if ($menu->get(1) == 'rss' || $menu->get(1) == 'atom') {
            // ob_clean();
            $feed_type = $menu->get(1);
    
            $abf = "SELECT MAX(news_time) AS last_update FROM prefix_news";
            $erg = db_query($abf);
            $row = db_fetch_assoc($erg);
            $last_update = str_replace(' ', 'T', $row['last_update']) . 'Z';
    
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0));
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,";
            $abf .= ($feed_type == 'atom') ? 'a.news_time as datum,' : "DATE_FORMAT(a.news_time,'%a, %e %b %y %H:%i:%s') as datum,";
            $abf .=
            "a.news_kat as kate,
          a.news_text as text,
          b.nickname as username,
          a.html
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        WHERE (a.news_recht | 1) = a.news_recht AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND a.news_id != $tn_id AND a.`archiv` != 1 AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY news_time DESC LIMIT 15";
            $erg = db_query($abf);
            $tpl = new tpl('news_' . $menu->get(1) . '.htm');
    
            header('Content-type: application/' . $menu->get(1) . '+xml');
    
            $tpl->set_ar_out(array('FEEDTITLE' => $allgAr['title'],
                    'UPDATED' => $last_update,
                    'SITEURL' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])), 0);
            while ($row = db_fetch_assoc($erg)) {
                if ($feed_type == 'atom') {
                    $Z = (date('Z') > 0 ? '+' : '') . date('H:i:s', date('Z') + 23 * 3600);
                    $row['datum'] = str_replace(' ', 'T', $row['datum']) . $Z;
                }
    
                $a = explode('[PREVIEWENDE]', $row['text']);
                $tpl->set_ar_out(array('TITLE' => $row['title'],
                        'TXT' => $row['html'] ? $a[0] : bbcode($a[0]),
                        'LINK' => 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/index.php?news-' . $row['id'],
                        'AUTHOR' => $row['username'],
                        'DATE' => $row['datum']
                        ), 1);
            }
            $tpl->out(2);
            exit;
        } else {
            $design->header();
            $limit = $allgAr['Nlimit'];
            $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
     
            // Topnews ausgeben
            $tn_id = intval(@db_result($news_opts = db_query("SELECT v1, v2 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 0, 0));
            $tn_koms = @db_result($news_opts, 0, 1);
            $tn_sql = db_query("SELECT news_title, news_text, news_kat, news_recht, news_groups, html FROM prefix_news WHERE news_id = $tn_id AND `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())");
            if (db_num_rows($tn_sql) > 0) {
                $tn_r = db_fetch_object($tn_sql);
    
    			$dontShow = false;
    			if ((pow(2, abs($_SESSION['authright'])) | $tn_r->news_recht) != $tn_r->news_recht) {
    				$dontShow = true;
    			}
    			if ($dontShow) {
    				foreach($_SESSION['authgrp'] as $id => $bool) {
    					if ($bool and (pow(2, abs($id)) | $tn_r->news_groups) == $tn_r->news_groups) {
    						$dontShow = false;
    						break;
    					}
    				}
    			}
            	if (!$dontShow) {
    				$tn_tpl = new tpl ('news/top');
    				$tn_tpl->set('title', $tn_r->news_title);
    				$tn_tpl->set('koms', $tn_koms == '1' ? '<br /><a href="index.php?news-' . $tn_id . '">' . db_count_query("SELECT COUNT(id) FROM prefix_koms WHERE uid = $tn_id AND cat = 'NEWS'") . ' ' . $lang['comments'] . ' </a>' : '');
                    if (strpos ($tn_r->news_text , '[PREVIEWENDE]') !== false) {
                        $a = explode('[PREVIEWENDE]' , $tn_r->news_text);
                        $tn_r->news_text = $a[0];
                        $tn_tpl->set('readwholenews', '<a href="index.php?news-' . $tn_id . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>');
                    } else {
                        $tn_tpl->set('readwholenews', '');
                    }
                    $tn_tpl->set('kate', news_find_kat($tn_r->news_kat));
                    $tn_tpl->set_out('txt', $tn_r->html ? $tn_r->news_text : bbcode($tn_r->news_text), 0);
    				unset($tn_tpl);
            	}
            }
    
    		//Kategorie einschränken
    		if ($menu->get(1) != '' and ($menu->getA(1) != 'p' or $menu->getE(1) == 0)) {
    			$kats = $katssql = array();  #collect given kats
    			$i = 1;
    			while($kat = escape($menu->get($i), 'string')){
    				$kats[] = $kat;
    				$katssql[] = '"' . $kat . '"';
    				$i++;
    			}
    			$news_kat = 'news_kat IN ('.implode(',', $katssql).') AND';
    			$katmpl = '-'.implode('-', $kats);
    			$page = $menu->getE('p');
    			if ($page < 1) {
    				$page = 1;
    			}
    			$katmpl = str_replace('-p'.$page, '', $katmpl);
    		} else {
    			$news_kat = $katmpl = '';
    			$page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
    		}
    
            $anfang = ($page - 1) * $limit;
    		//Gruppenrechte
    		$groups = getGroupRights();
    
    		$MPL = db_make_sites ($page , "WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | news_recht) = news_recht) OR
    			(news_groups != 0 AND ((news_groups ^ $groups) != (news_groups | $groups)))) AND $news_kat `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND archiv != 1 AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())" , $limit , '?news'.$katmpl , 'news');
            // Normale News
            $tpl = new tpl ('news/news.htm');
    
            $abf = "SELECT
          a.news_title as title,
          a.news_id as id,
          DATE_FORMAT(a.news_time,'%d. %m. %Y - %H:%i Uhr') as datum,
          DATE_FORMAT(a.news_time,'%W') as dayofweek,
          a.news_kat as kate,
          a.news_text as text,
          b.nickname as username,
          c.nickname as editorname,
          a.html,
          a.edit_time,
          a.klicks,
          b.id as uid
        FROM prefix_news as a
        LEFT JOIN prefix_user as b ON a.user_id = b.id
        LEFT JOIN prefix_user as c ON a.editor_id = c.id
        WHERE (((" . pow(2, abs($_SESSION['authright'])) . " | a.news_recht) = a.news_recht) OR
    	      (a.news_groups != 0 AND ((a.news_groups ^ $groups) != (a.news_groups | $groups)))) AND $news_kat
    		a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND a.`archiv` != 1 AND
    		(a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP())
        ORDER BY a.news_time DESC
        LIMIT " . $anfang . "," . $limit;
     
            // echo '<pre>'.$abf.'</pre>';
            $erg = db_query($abf);
            if (db_num_rows($erg) == 0 and !empty($news_kat)) {
                echo 'Keine News in dieser Kategorie gefunden.<br />
                   <a href="index.php?news">News&uuml;bersichtsseite aufrufen</a>';
                $design->footer(1);
            }
            while ($row = db_fetch_assoc($erg)) {
                $k0m = db_query("SELECT COUNT(ID) FROM `prefix_koms` WHERE uid = " . $row['id'] . " AND cat = 'NEWS'");
                $row['kom'] = db_result($k0m, 0);
     
                $row['kate'] = news_find_kat($row['kate']);
                $row['datum'] = $lang[$row['dayofweek']] . ' ' . $row['datum'];
                if (strpos ($row['text'] , '[PREVIEWENDE]') !== false) {
                    $a = explode('[PREVIEWENDE]' , $row['text']);
                    $row['text'] = $a[0];
                    $row['readwholenews'] = '<a href="index.php?news-' . $row['id'] . '" alt="mehr lesen" title="mehr lesen"><img src="include/images/icons/news/more.gif" alt="mehr lesen" border="0"></a>';
                } else {
                    $row['readwholenews'] = '';
                }
                $row['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' . $row['klicks'] . ' mal gelesen" title="' . $row['klicks'] . ' mal gelesen" border="0">';
                if (!$row['html']) {
                    $row['text'] = bbcode($row['text']);
                }
                $row['edit'] = is_null($row['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($row['edit_time'])) . '&nbsp;Uhr';
                if (!empty($row['edit']) and $row['editorname'] != $row['username']) {
                    $row['edit'] .= ' von ' . $row['editorname'] . '</i>';
                } elseif (!empty($row['edit'])) {
                    $row['edit'] .= '</i>';
                }
                $tpl->set_ar_out($row, 0);
            }
            $tpl->set_out('SITELINK', $MPL, 1);
            unset($tpl);
        }
    } else {
        $design->header();
        $xajax->printJavascript();
     
        $nid = escape($menu->get(1), 'integer');
        $erg = db_query("SELECT * FROM `prefix_news` WHERE `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id = '" . $nid . "'");
        if (db_num_rows($erg) == 0) {
            $dontShow = true;
        } else {
            $dontShow = false;
            $row = db_fetch_object($erg);
              
            if ((pow(2, abs($_SESSION['authright'])) | $row->news_recht) != $row->news_recht) {
                $dontShow = true;
            }
            if ($dontShow) {
                foreach($_SESSION['authgrp'] as $id => $bool) {
                    if ($bool and (pow(2, abs($id)) | $row->news_groups) == $row->news_groups) {
                        $dontShow = false;
                        break;
                    }
                }
            }
        }
     
        if ($dontShow) {
            echo 'News existiert nicht oder Sie haben keine Rechte sie zu sehen.  <a href="javascript:history.back();">zur&uuml;ck</a>';
            $design->footer(1);
        }
     
        $komsOK = true;
        if ($allgAr['Ngkoms'] == 0) {
            if (loggedin()) {
                $komsOK = true;
            } else {
                $komsOK = false;
            }
        }
        if ($allgAr['Nukoms'] == 0) {
            $komsOK = false;
        }
     
        $kom_info = '';
        // kommentar add
        if ((loggedin() OR chk_antispam ('newskom')) AND $komsOK AND !empty($_POST['name']) AND !empty($_POST['txt'])) {
            $_POST['txt'] = escape($_POST['txt'], 'string');
            $_POST['name'] = escape($_POST['name'], 'string');
            if (checkNickname($_POST['name']) or loggedin()) {
                if (loggedin()) {
                    $_POST['nickname'] = $_SESSION['authnickname'];
                }
                db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`,`date`) VALUES (".$nid.",'NEWS','".$_POST['name']."','".$_POST['txt']."', '".time()."')");
            } else {
                $kom_info = '<span style="color:red;">Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.</span><br />';
            }
        }
        // kommentar add
        // kommentar loeschen
        if ($menu->getA(2) == 'd' AND is_numeric($menu->getE(2)) AND has_right(- 7, 'news')) {
            $kommentar_id = escape($menu->getE(2), 'integer');
            db_query("DELETE FROM prefix_koms WHERE uid = " . $nid . " AND cat = 'NEWS' AND id = " . $kommentar_id);
        }
        // kommentar loeschen
        $kategorie = news_find_kat($row->news_kat);
     
        $textToShow = $row->html ? $row->news_text : bbcode($row->news_text);
        $textToShow = str_replace('[PREVIEWENDE]', '', $textToShow);
        if (!empty($such)) {
            $textToShow = markword($textToShow, $such);
        }
        
        
        
        
        // klicks zaehlen
        db_query("UPDATE prefix_news SET klicks = klicks + 1 WHERE news_id = " . $nid);
    
        $tpl = new tpl ('news/news.htm');
        $ar = array (
            'TEXT' => $textToShow,
            'KATE' => $kategorie,
            'NID' => $nid,
            'uname' => $_SESSION['authnickname'],
            'SMILIES' => getsmilies(),
            'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
            'NAME' => $row->news_title,
            'info' => $kom_info
            );
        $tpl->set_ar_out($ar, 2);
    
        if ($komsOK) {
            $tpl->set_ar_out (array ('NAME' => $row->news_title , 'NID' => $nid, 'style' => loggedin() ? 'style="display:none;"' : ''), 3);
        }
        $time= date("d.m.Y",$timestamp);
        $erg1 =  db_query("SELECT `a`.`text`, `a`.`name`, `a`.`date`, `a`.`id`, `b`.`id` AS `userid`, `b`.`nickname` AS `username`, `b`.`avatar`
                         FROM `prefix_koms` AS `a`
                        LEFT JOIN `prefix_user` AS `b` ON `a`.`name` = `b`.`nickname`    
                         WHERE `a`.`uid` = " . $nid . " AND `a`.`cat` = 'NEWS' ORDER BY `a`.`id` DESC");
            $ergAnz1 = db_num_rows($erg1);
            if ( $ergAnz1 == 0 ) {
              echo '<b>'.$lang['nocomments'].'</b>';
            } else {
              $zahl = $ergAnz1;
              while ($row1 = db_fetch_assoc($erg1)) {
           
            $username = empty($row1['userid']) ? '<em>Gast</em> '.$row1['nickname'] : '<a href="index.php?user-details-'.$row1['userid'].'">'.$row1['username'].'</a>';
            $komavatar = (empty($row1['userid']) ? '<img src="include/images/avatars/guest.png" alt="Gast" />' : (!empty($row1['avatar']) && file_exists($row1['avatar']) ? '<a href="index.php?user-details-'.$row1['userid'].'"><img src="'.$row1['avatar'].'" border="0" alt="'.$row1['username'].'" title="'.$row1['username'].'"></a>' : '<img src="include/images/avatars/noavatar.png" alt="Kein Avatar" />'));  
           
            $row1['text'] = bbcode(trim($row1['text']));
            if (has_right(-7, 'news')) {
              $row1['text'] .= '<a href="?news-'.$nid.'-d'.$row1['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' => $username,
                                    'AVATAR' => $komavatar,
                                    'TEXT' => $row1['text'],
                                    'CDATE' => date('d.m.Y H:i',$row1['date']),
                                    'ZAHL' => $zahl ) , 4 );
            $zahl--;
            }
        }
        $tpl->out(5);
    }
     
    $design->footer();
     
    ?>

    und dier nochmal den auszug aus der news/news.htm
    ........
    {EXPLODE}
    <script language="JavaScript" type="text/javascript">
    function delkom (NID, ID) {
    var Check = confirm("Kommentar wirklich löschen?")
    if (Check == true) window.open("index.php?news-"+NID+"-d"+ID,"_self");
    }</script>
    <!-- News Kommentare und Mehr lesen -->
    <a href="index.php?news"><center><font size="1">{_lang_backtonews}</font></center></a>
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          
         <td>{KATE}</td><td align="left" width="90%"><b><font size="2">{NAME}</font></b><br />
         <font size="1">{datum} von <a href="index.php?user-details-{uid}"></font><font size="1">{username}</a>
         <br />
         zuletzt geändert am {edit}</font></td></tr>
    
    
    
        <tr>
          <td colspan="2"><hr style="height: 0px; border: dotted #000000 0px; border-top-width: 1px; " /></td>
          </tr>
    <table width="100%"  border="0" cellspacing="0" cellpadding="2">
        <tr>
    	  <td>{TEXT}</td>
    	</tr>
        <tr>
    	  <td><hr style="height: 0px; border: dotted #000000 0px; border-top-width: 1px; " /></td>
    	</tr>
        <td >
     
            {EXPLODE}
    ......


    Danke schon mal im vorraus
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten