Menü

  Login

  Shoutbox

  Forum » Fragen zu Ilch » Module von dieser Seite » Top News Rechte


Top News Rechte
lordwurzel
Grünschnabel

User Pic

Posts: 6
# 07.03.2016 - 13:20:29
    zitieren



Hallo =)

Ich habe heute erstmals eine TOP-News erstellt und dabei leider festgestellt,
dass diese, unabhängig davon welche Rechtestufe im Adminbereich für diese eingestellt ist, solange sie als TOP-News deklariert ist, immer angezeigt wird.
Also auch nicht eingeloggten Gästen.

Ist das so gewollt, oder habe ich eine zu alte Extended-News-Version installiert und es wurde mitlerweile gefixt? (Weiß leider nicht mehr wwelche Version ich installiert hatte, glaube aber schon C)
Mairu
Administrator

User Pic

Posts: 1908
# 08.03.2016 - 07:56:21
    zitieren



Hallo,

also in der neusten Version 1.4c sollte die Topnews nur angezeigt werden, wenn man auch die Rechte hat, diese zu sehen.
lordwurzel
Grünschnabel

User Pic

Posts: 6
# 08.03.2016 - 20:05:23
    zitieren



Hast du denn zufällig einen Tipp, wie ich feststellen kann, ob ich schon 1.4c habe?
Ist ja schon von 2012... bin da eigentlich sehr zuversichtlich, aber fakt ist ja, dass es derzeit nicht funktioniert Lachen

Würd es ungern einfach drüber installieren, da ich die Dateien um einiges personalisiert hatte
Mairu
Administrator

User Pic

Posts: 1908
# 09.03.2016 - 02:16:55
    zitieren



Naja, der Code der dafür zuständig ist, ist in der contents/news/news.php
 Php von Datei contents/news/news.php
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
  // Topnews ausgeben
        
$tn_id intval(@db_result($news_opts db_query("SELECT v1, v2 FROM prefix_allg WHERE k = 'news' LIMIT 1"), 00));
        
$tn_koms = @db_result($news_opts01);
        
$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 - %H:%i Uhr') 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(2abs($_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(2abs($_SESSION['authright'])) | $tn_r['news_recht']) != $tn_r['news_recht']) {
                
$dontShow true;
            }
            if (
$dontShow) {
                foreach(
$_SESSION['authgrp'] as $id => $bool) {
                    if (
$bool and (pow(2abs($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_r['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_r['readwholenews'] = '';
                }
                
$tn_r['id'] = $tn_id;
                
$tn_r['klicks'] = '<img src="include/images/icons/news/counter.gif" alt="' $tn_r['klicks']. ' mal gelesen" title="' $tn_r['klicks']. ' mal gelesen" border="0">';
                
$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_r0);
                unset(
$tn_tpl);
            }
        }


Da bei Zeile 144 und folgend ist die Stelle, wo die Rechte geprüft werden.
lordwurzel
Grünschnabel

User Pic

Posts: 6
# 09.03.2016 - 19:25:08
    zitieren



jo alles klar, da hab ich ja vieeel weniger... hab bei mir noch manuell das kategoriebild hinzugefügt, da sieht meins so aus:

 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
  <?php
//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, 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);
        
$tn_tpl = new tpl 'news/top');
        
$tn_tpl->set('kategorie',news_find_kat($tn_r->news_kat));
        
$tn_tpl->set('title',$tn_r->news_title);
        
$tn_tpl->set('koms'$tn_koms == '1' '<br /><a href="index.php?newsextended-'.$tn_id.'">'.db_count_query("SELECT COUNT(id) FROM prefix_koms WHERE uid = $tn_id AND cat = 'NEWS'").' '.$lang['comments'].' </a>' '' );
        
$tn_tpl->set_out('txt'$tn_r->html $tn_r->news_text bbcode($tn_r->news_text), );
        unset(
$tn_tpl);
    }

    
$MPL db_make_sites ($page "WHERE news_recht >= {$_SESSION['authright']} AND `show` > 0 AND `show` <= UNIX_TIMESTAMP() AND news_id != $tn_id AND archiv != 1 AND (endtime IS NULL OR endtime > UNIX_TIMESTAMP())" $limit '?newsextended' 'news' );

    
//Normale News
?>
lordwurzel
Grünschnabel

User Pic

Posts: 6
# 09.03.2016 - 19:41:05
    zitieren



schade, die alte Ausgabe durch die neue zu ersetzen funktioniert nicht....

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 ') != (a.news_groups | ))))' at line 15
in 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 - %H:%i Uhr') 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 ic3_news a LEFT JOIN ic3_user as b ON a.user_id = b.id LEFT JOIN ic3_user as c ON a.editor_id = c.id WHERE a.news_id = 113 AND a.`show` > 0 AND a.`show` <= UNIX_TIMESTAMP() AND (a.endtime IS NULL OR a.endtime > UNIX_TIMESTAMP()) AND (((512 | a.news_recht) = a.news_recht) OR (a.news_groups != 0 AND ((a.news_groups ^ ) != (a.news_groups | ))))
Debug backtrace:
@ mysql.php:46 -- debug_bt()
@ mysql.php:64 -- db_check_error(...)
@ news.php:162 -- db_query(...)
@ newsextended.php:13 -- require_once(...)
@ index.php:27 -- require_once(...)

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/www/sk10254/html/include/includes/func/db/mysql.php on line 85
Mairu
Administrator

User Pic

Posts: 1908
# 10.03.2016 - 07:46:52
    zitieren



Wenn es dir "nur" um die Kategorie geht, die ist in der neusten Version ja auch mit dabei.
Da gibt es auch ein eigenes Template zur Anpassung der Topnews mit den gleichen Möglichkeiten wie bei den normalen News.

Wenn du keine anderen Änderungen hast, würde ich dir ein Update auf die neuste Version empfehlen.
lordwurzel
Grünschnabel

User Pic

Posts: 6
# 11.03.2016 - 13:30:08
    zitieren



ich muss das nochmal genau durchprüfen, habe auf den verschiedensten seiten viele kleine anpassungen vorgenommen weil ich das template für einen pokerverein und nicht für einen multigaming clan nutze Zwinker

aber ich denke ich krieg das hin, die newsseiten dürften tatsächlich mit am wenigsten verändert worden sein.

danke schonmal bis hier hin!
lordwurzel
Grünschnabel

User Pic

Posts: 6
# 11.03.2016 - 14:01:12
    zitieren



alles klar, tut soweit. musste tatsächlich noch die ganzen links und verweise von newsextended auf news zurückändern... wundert mich tatsächlich sehr, dass ich so eine alte version hatte.

danke danke!