Seite 2 von 2

Verfasst: 08.10.2004 20:33
von charly
Hallo zusammen!

Bei mir im Forum ( http://www.superabc.de ) habe ich ein versteckten Forumbereich ( Area51).
Es hat nur eine Gruppe Zugang.
Bei der bisherigen Lösung von Smartor funktioniert die Zugriffssteuerung, so das nur die Mitglieder der Gruppe auch die Topics gesehen haben.
Es bestand aber der Wunsch die Topics separat darzustellen oder zu kennzeichnen.
Ich habe das hier beschriebene übernommen und es klappt soweit tadellos!
Zu sehen ist das unter http://www.superabc.de/forum/portal_test.php
In der rechten Box sind oben die "normalen" Topics und darunter die aus Area51.

Nun wird aber immer alles angezeigt.
Erst beim anklicken kommt die Loginaufforderung.

Wie bekomme ich es hin das die zweite Liste nur zu sehen ist wenn der User die nötigen Rechte dafür hat ?

Verfasst: 09.10.2004 11:45
von Acid

Code: Alles auswählen

WHERE t.forum_id IN (" . $special_forums . ")
..ersetze das mal mit..

Code: Alles auswählen

WHERE t.forum_id IN (". $special_forums .") AND t.forum_id NOT IN (". $except_forum_id .")

Verfasst: 09.10.2004 14:06
von charly
Das klappt leider nicht.

Ich habe ja in dem ersten recent Topic Code bei

Code: Alles auswählen

 $CFG['exceptional_forums'] = '17,18'; 
die versteckten Foren eingetragen, um zu verhindern das die Topics bei einem berechtigten User das Topic in der oberen Liste erscheint.

Könnte man nicht die Zugriffssteuerung von Smartor entsprechend anpassen?

Code: Alles auswählen

$sql = "SELECT * FROM ". FORUMS_TABLE . " ORDER BY forum_id"; 
if (!$result = $db->sql_query($sql)) 
{ 
   message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql); 
} 
$forum_data = array(); 
while( $row = $db->sql_fetchrow($result) ) 
{ 
   $forum_data[] = $row; 
} 

$is_auth_ary = array(); 
$is_auth_ary = auth(AUTH_ALL, AUTH_LIST_ALL, $userdata, $forum_data); 

if( $CFG['exceptional_forums'] == '' ) 
{ 
   $except_forum_id = '\'start\''; 
} 
else 
{ 
   $except_forum_id = $CFG['exceptional_forums']; 
} 

for ($i = 0; $i < count($forum_data); $i++) 
{ 
   if ((!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_read']) or (!$is_auth_ary[$forum_data[$i]['forum_id']]['auth_view'])) 
   { 
      if ($except_forum_id == '\'start\'') 
      { 
         $except_forum_id = $forum_data[$i]['forum_id']; 
      } 
      else 
      { 
         $except_forum_id .= ',' . $forum_data[$i]['forum_id']; 
      } 
   } 
} 
Ich habe das zwar probiert aber es ging nicht.
Mir fehlt einfach das nötige Wissen......

Verfasst: 09.10.2004 21:12
von Acid
Speichere mal die portal.php (?) als .txt ab und verlinke sie hier.
(Markiere in der Datei mit // *hier*//, was der zweite recent-Block ist.)

Verfasst: 09.10.2004 22:08
von charly
Ich habe nun die momentan online befindliche portal_test.php als Textdatei hier gespeichert.

Es würde ja auch reichen wenn die Topics aus den versteckten Foren eine andere Farbe oder zwei Punkte davor hätten.
Es müßte ja keine zweite Liste sein.
Hauptsache man kann sie unterscheiden und nur die dafür vorgesehenen User sehen das.

Ich weiß nicht was einfacher zu realisieren ist.

Verfasst: 11.10.2004 07:30
von charly
Ok, ich habe es gefunden.

Am Sonntag habe ich mich bei Smartor durch das Forum gelesen.
Da hatte ich zwar vorher schon mal gesucht aber nichts gefunden.
Hier ist die Lösung: http://smartor.is-root.com/viewtopic.php?t=11715
:) :lol:

Verfasst: 06.05.2006 00:22
von emha
Hallo Acid,

ich habe deinen Code eingebaut - funktioniert super! :grin:

In meinem Forum können im Titel auch Smilies angegeben werden - wäre es möglich, die auch in diesem Teil des Portals anzeigen zu lassen?


Deinen Status-Mod (http://www.phpbb.de/moddb/mod.php?id=165) hatte ich in meinem alten Forum - jetzt hab ich ein 2.0.20 - kann ich dort den Mod auch wieder einbauen?

Wenn ja: Können die Grafiken, die zu diesem Mod gehören auch im Portal angezeigt werden?


Wär klasse, wenn du mir hier weiterhelfen könntest! ;)


Viele Grüße,
emha