ilch Forum » Ilch Clan 1.1 » Allgemein » 2 Fragen 1.Order By und 2.Online frage

Geschlossen
  1. #1
    User Pic
    whazza Mitglied
    Registriert seit
    18.10.2009
    Beiträge
    1.160
    Beitragswertungen
    35 Beitragspunkte
    Hi ich wollte mal fragen wie ich hier order by ASC rein bekomme

    $tpl->set_ar_out(array('NAME' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl) , 4);
                $zahl--;


    Weil ich wollte bei den News Kommentare die Kommentare von Vorne nach hinten anzeigen lassen und nicht wie es jetzt ist von hinten nach vorne.
    Das geht auch nur die Zahlen sortieren sich nicht mit die bleiben einfach so.

    Und dann wollte ich noch ne online anzeige rein machen mit diesen Code

    $abf8 = "SELECT * FROM prefix_online WHERE uid = '".$uid."'";
        $erg8 = db_query($abf8);
        $row8 = db_fetch_assoc($erg8);
       
        if(isset($row8['uid'])){
            $online = '<img src="include/images/forum/uonline.png" alt="online" border="0"/>';
        }else{
            $online = '<img src="include/images/forum/uoffline.png" alt="offline" border="0" />';
        }

    Die Sache ist nur entweder bekomme ich es hin das alle online angezeigt werden oder alle als offline aber nicht das es vernünftig funktioniert.



    <?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 . '">';
        } 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 checkName($name) {
        if (db_count_query("SELECT COUNT(name) FROM prefix_user WHERE name LIKE '$name'")) {
            return false;
        } else {
            return true;
        }
    }
    
    function checkKomName($name) {
        $resp = new xajaxResponse();
        if (checkName($name) OR loggedin()) {
            $resp->script('document.forms["komform"].submit();');
        } else {
            $resp->assign('komname', 'value' , '');
            $resp->alert('Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.');
            $resp->script("document.getElementById('komname').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();
    }
    
    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.name 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.name as username,
          c.name 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 (checkName($_POST['name']) or loggedin()) {
                if (loggedin()) {
                    $_POST['name'] = $_SESSION['authname'];
                }
                db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`name`,`text`) VALUES (" . $nid . ",'NEWS','" . $_POST['name'] . "','" . $_POST['txt'] . "')");
            } 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);
    	
    $abf8 = "SELECT * FROM prefix_online WHERE uid = '".$uid."'";
        $erg8 = db_query($abf8);
        $row8 = db_fetch_assoc($erg8);
       
        if(isset($row8['uid'])){
            $online = '<img src="include/images/forum/uonline.png" alt="online" border="0"/>';
        }else{
            $online = '<img src="include/images/forum/uoffline.png" alt="offline" border="0" />';
        }
    
    
        $tpl = new tpl ('news/news.htm');
    
        $ar = array (
            'TEXT' => $textToShow,
            'KATE' => $kategorie,
            'NID' => $nid,
            'uname' => $_SESSION['authname'],
            'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
            'NAME' => $row->news_title,
    	 'STATUS2'   => $online,
            '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);
        }
        $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id DESC");
        $ergAnz1 = db_num_rows($erg1);
        if ($ergAnz1 == 0) {
            echo '<b>' . $lang['nocomments'] . '</b>';
        } else {
            $zahl = $ergAnz1;
            while ($row1 = db_fetch_assoc($erg1)) {
                $row1['text'] = bbcode(trim($row1['text']));
                if (has_right(- 7, 'news')) {
                    $row1['text'] .= '&nbsp;&nbsp;&nbsp;<a href="javascript:delkom(' . $nid . ',' . $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' => $row1['name'], 'TEXT' => $row1['text'], 'ZAHL' => $zahl) , 4);
                $zahl--;
            }
        }
        $tpl->out(5);
    }
    
    $design->footer();
    
    ?>


    mfg
    whazza


    verwendete ilchClan Version: 1.1 N

    betroffene Homepage: externer Link


    Zuletzt modifiziert von whazza am 16.03.2011 - 13:50:29
    ez-skinz.com
    Unmögliches wird sofort erledigt, auf Wunsch wird auch gehext. Nur Wunder dauern etwas länger.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Treicio gelöschter User
    zu 1. ..

    in zeile 350

    $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id DESC");


    in

    $erg1 = db_query("SELECT text, name, id FROM `prefix_koms` WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id ASC");


    edit:

    $uid ist die überhaupt festgelegt? ich glaube dort wird $nid genutzt :-)

    $abf8 = "SELECT * FROM prefix_online WHERE uid = '".$nid."'";
        $erg8 = db_query($abf8);
        $row8 = db_fetch_assoc($erg8);
       
        if(db_num_rows($erg8) > 0){
            $online = '<img src="include/images/forum/uonline.png" alt="online" border="0"/>';
        }else{
            $online = '<img src="include/images/forum/uoffline.png" alt="offline" border="0" />';
        }


    sollte gehen.. nichts getestet^^

    Zuletzt modifiziert von Treicio am 16.03.2011 - 15:02:07
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    whazza Mitglied
    Registriert seit
    18.10.2009
    Beiträge
    1.160
    Beitragswertungen
    35 Beitragspunkte
    Zu 1. Das habe ich ja gemacht da sortiert sich aber nur der Text da aber die zahl da oben nicht mit drin ist sortiert er die Zahlen nicht.


    Und zu 2. das geht leider auch nicht


    Zuletzt modifiziert von whazza am 16.03.2011 - 15:03:27
    ez-skinz.com
    Unmögliches wird sofort erledigt, auf Wunsch wird auch gehext. Nur Wunder dauern etwas länger.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Treicio gelöschter User
    edit: da warst du im editieren schneller als ich im antworten
    hab den code vorhin nochma leicht geändert hatte nen fehler drinne versuch nochmal

    edit2: sry habs gesehen ^^ werd eben schnell gucken

    so ka obs geht:
    $erg = db_query("SELECT * FROM `prefix_news` WHERE news_id = '" . $nid . "'");
    $row = db_fetch_assoc($erg);
    $abf8 = "SELECT * FROM prefix_online WHERE uid = '".$row['user_id']."'";
        $erg8 = db_query($abf8);
        $row8 = db_fetch_assoc($erg8);
       
        if(db_num_rows($abf8) > 0){
            $online = '<img src="include/images/forum/uonline.png" alt="online" border="0"/>';
        }else{
            $online = '<img src="include/images/forum/uoffline.png" alt="offline" border="0" />';
        }



    Zuletzt modifiziert von Treicio am 16.03.2011 - 15:13:31
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    whazza Mitglied
    Registriert seit
    18.10.2009
    Beiträge
    1.160
    Beitragswertungen
    35 Beitragspunkte
    Leider auch ohne erfolg

    beta.warriorofheaven.de/index.php?news-266

    Bin auf der Seite online aber in den News noch offline.
    ez-skinz.com
    Unmögliches wird sofort erledigt, auf Wunsch wird auch gehext. Nur Wunder dauern etwas länger.
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Treicio gelöschter User
    ich hab komplett falsch gedacht xD

    $erg = db_query("SELECT name FROM `prefix_koms` WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id DESC");
    $row = db_fetch_assoc($erg);
    $erg2 = db_query("SELECT id FROM `prefix_user` WHERE name = '".$row['name']."'");
    $row2 = db_fetch_assoc($erg2);
    $abf8 = "SELECT * FROM prefix_online WHERE uid = '".$row2['id']."'";
        $erg8 = db_query($abf8);
        $row8 = db_fetch_assoc($erg8);
       
        if(db_num_rows($erg8) > 0){
            $online = '<img src="include/images/forum/uonline.png" alt="online" border="0"/>';
        }else{
            $online = '<img src="include/images/forum/uoffline.png" alt="offline" border="0" />';
        }


    versuch mal^^
    dauer editiererei

    Zuletzt modifiziert von Treicio am 16.03.2011 - 15:36:26
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    whazza Mitglied
    Registriert seit
    18.10.2009
    Beiträge
    1.160
    Beitragswertungen
    35 Beitragspunkte
    Auch ohne erfolg weinen
    ez-skinz.com
    Unmögliches wird sofort erledigt, auf Wunsch wird auch gehext. Nur Wunder dauern etwas länger.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Treicio gelöschter User
    habs nochmal editiert
    edit: editiert ^^


    Zuletzt modifiziert von Treicio am 16.03.2011 - 15:31:47
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    whazza Mitglied
    Registriert seit
    18.10.2009
    Beiträge
    1.160
    Beitragswertungen
    35 Beitragspunkte
    Das verflixte Ding will nit traurig
    ez-skinz.com
    Unmögliches wird sofort erledigt, auf Wunsch wird auch gehext. Nur Wunder dauern etwas länger.
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Treicio gelöschter User
    hab nochma editiert aber so langsam kommt mein latein an sein ende
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    whazza Mitglied
    Registriert seit
    18.10.2009
    Beiträge
    1.160
    Beitragswertungen
    35 Beitragspunkte
    Funktioniert auch nicht, könnte es sein das der Code an eine andere stelle müsste?
    ez-skinz.com
    Unmögliches wird sofort erledigt, auf Wunsch wird auch gehext. Nur Wunder dauern etwas länger.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Tiborius Mitglied
    Registriert seit
    31.12.2008
    Beiträge
    505
    Beitragswertungen
    4 Beitragspunkte
    schau dir mal das an
    externer Link

    meinst du das so?

    wenn ja dann schau dir mal meine php an vielleicht könnt ihr da sehen was anders ist. Es ist aber nicht die Standard News die ich 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 . '">';
        } 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 checkName($name) {
        if (db_count_query("SELECT COUNT(name) FROM prefix_user WHERE name LIKE '$name'")) {
            return false;
        } else {
            return true;
        }
    }
    
    function checkKomName($name) {
        $resp = new xajaxResponse();
        if (checkName($name) OR loggedin()) {
            $resp->script('document.forms["komform"].submit();');
        } else {
            $resp->assign('komname', 'value' , '');
            $resp->alert('Dieser Name ist bereits an einen User vergeben, benutze bitte einen anderen.');
            $resp->script("document.getElementById('komname').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();
    }
    
    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.name 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);
    
            //Gruppenrechte
            $groups = getGroupRights();
    
            // 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 a.news_title as title, a.news_text, a.news_kat, a.news_recht, a.news_groups, a.html,
                    DATE_FORMAT(a.news_time,'%d. %m. %Y') as datum,
                    DATE_FORMAT(a.news_time,'%W') as dayofweek,
                    b.name as username,
                    c.name as editorname,
                    a.html,
                    a.edit_time,
                    a.klicks,
                    b.id as uid
                FROM prefix_news 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 a.news_id = $tn_id AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP()) AND
                (((" . 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))))");
            if (db_num_rows($tn_sql) > 0) {
                $tn_r = db_fetch_assoc($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');
                    if ($tn_koms) {
                        $tn_r['kom'] = db_count_query("SELECT COUNT(id) FROM prefix_koms WHERE uid = $tn_id AND cat = 'NEWS'");
                    }
            	    $tn_r['showkom'] = $tn_koms;
                    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">mehr lesen</a>');
                    } else {
                        $tn_tpl->set('readwholenews', '');
                    }
                    $tn_r['id'] = $tn_id;
            	    $tn_r['klicks'] = ''. $tn_r['klicks'].'' ;
                    $tn_r['datum']  = $lang[$tn_r['dayofweek']] . ' ' . $tn_r['datum'];
            	    $tn_r['edit']   = is_null($tn_r['edit_time']) ? '' : '<br /><i>zuletzt ge&auml;ndert am ' . date('d.m.Y - H:i', strtotime($tn_r['edit_time'])) . '&nbsp;Uhr';
            	    if (!empty($tn_r['edit']) and $tn_r['editorname'] != $tn_r['username']) {
            	        $tn_r['edit'].= ' von ' . $tn_r['editorname']. '</i>';
            	    } elseif (!empty($tn_r['edit'])) {
            	        $tn_r['edit'].= '</i>';
            	    }
    
                    $tn_r['kate'] = news_find_kat($tn_r['news_kat']);
            	    $tn_r['text'] = $tn_r['html']? $tn_r['news_text']: bbcode($tn_r['news_text']);
                    $tn_tpl->set_ar_out($tn_r, 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;
    
    		$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') as datum,
          a.news_kat as kate,
          a.news_text as text,
          b.name as username,
          c.name 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'] = '&nbsp;&nbsp;<a style="font-size:10px; color:#9aa4af; font-family:Tahoma" href="index.php?news-' . $row['id'] . '" alt="mehr lesen" title="mehr lesen">» mehr lesen</a>';
                } else {
                    $row['readwholenews'] = '';
                }
                $row['klicks'] = ''. $row['klicks'] .'' ;
                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>';
                }
    			
    			if ($allgAr['fb'] == 1) {
            $row['fb'] = '<br><iframe src="http://www.facebook.com/plugins/like.php?href=http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/index.php?news-'.$row['id'].'&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=50" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:50px;" allowTransparency="true"></iframe>';
          } else {
            $row['fb'] = '';
          }
                $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;
        }
    	 $date = time();
        $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 (checkName($_POST['name']) or loggedin()) {
                if (loggedin()) {
                    $_POST['name'] = $_SESSION['authname'];
                }
                db_query("INSERT INTO `prefix_koms` (`uid`,`cat`,`date`,`name`,`text`) VALUES (" . $nid . ",'NEWS','" . $date . "','" . $_POST['name'] . "','" . $_POST['txt'] . "')");
            } 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);
    	
    	if ($allgAr['fb'] == 1) {
                        $fb = '<iframe src="http://www.facebook.com/plugins/like.php?href=http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).'/index.php?news-'.$nid.'&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=50" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:50px;" allowTransparency="true"></iframe><br>';
                    } else {
                        $fb = '';
                    }
    
        $tpl = new tpl ('news/news.htm');
        $ar = array (
            'TEXT' => $textToShow,
            'KATE' => $kategorie,
            'NID' => $nid,
            'uname' => $_SESSION['authname'],
            'ANTISPAM' => (loggedin()?'':get_antispam ('newskom', 0)),
            'NAME' => $row->news_title,
            'info' => $kom_info,
    		'FB' => $fb
            );
        $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);
        }
        $erg1 = db_query("SELECT text, name, id, date FROM `prefix_koms` WHERE uid = " . $nid . " AND cat = 'NEWS' ORDER BY id");
        $ergAnz1 = db_num_rows($erg1);
        if ($ergAnz1 == 0) {
            echo '<b>' . $lang['nocomments'] . '</b>';
        } else {
            $zahl = '1';
            while ($row1 = db_fetch_assoc($erg1)) {
                $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' => $row1['name'], 'TEXT' => $row1['text'], 'CDATE' => date('d.m.Y H:i',$row1['date']), 'ZAHL' => $zahl ) , 4 );
                $zahl++;
            }
        }
        $tpl->out(5);
    }
    
    $design->footer();
    
    ?>



    Zuletzt modifiziert von Tiborius am 16.03.2011 - 17:38:43
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten