• Willkommen, Gast!
  • Donnerstag, 03. Dezember 2020, 23:57:06
Position: Home » Boardsolution » Boardsolution v1.4x » Fragen zu Änderungen » "aktuelle themen" nur zu einem hauptforum
Antworten
Thema: "aktuelle themen" nur zu einem hauptforum [Seite 1 2 ]

Kein neuer Beitrag Kevin , 23.10.2012, 13:48
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 02.08.2005, 18:42
 

Forum-Gott mit 225 Punkte, 149 Beiträge
hallo...

ich hab in das board eine zusätzliche seite eingefügt und sie so aufgeteilt wie die portalseite.
jetzt hätte ich gern das auf der rechten seite wie auf der portalseite so eine tabelle mit
"aktuelle themen" angezeigt wird. jedoch will ich nicht das die aktuellen themen wie beim portal
vom ganzem forum angezeigt werden sondern nur von einem bestimmten hauptforum. ich hoffe dies ist
irgendwie möglich.

mfg kev

 
Kein neuer Beitrag Nils , 23.10.2012, 15:11
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Hallo,

ja, das geht. Im Prinzip musst du nur aus der front/module/portal/module.php die Funktionen
_add_latest_topics_small und _get_lastpost in deine Modul-Klasse kopieren und erstere aufrufen. Die
fügt dann die Variable "topics" zum Template hinzu. Dann könntest du in dein Template den
entsprechenden Abschnitt aus der portal.htm kopieren (Zeile 154-201). Das sollte schon soweit
passen bis auf das natürlich Themen aus allen Foren angezeigt werden.
Das Forum zu wählen ist leider an der Stelle nicht vorgesehen, aber mit einem kleinen Trick geht
das auch recht leicht ohne was an BS ändern zu müssen. Und zwar kannst du angeben aus welchen Foren
die Themen nicht kommen sollen (das ist dafür gedacht Foren wegzulassen, zu denen man keinen
Zugriff hat). Also brauchst du nur alle Foren-IDs zu sammeln bis auf die, die du haben willst :)
Dafür brauchst du nur diese Zeile:
PHP:
1
$denied = BS_ForumUtils::get_denied_forums(false);

mit:
PHP:
1
2
$forums = FWS_Props::get()->forums();
$denied = $forums->get_nodes_with_other_ids(2,false);

zu ersetzen, wobei 2 die gewünschte Foren-ID ist.

mfg Nils

 
Kein neuer Beitrag Kevin , 23.10.2012, 16:08
Beitrag #3   

IP: n/a
Rang: * * * * * * *
Registrierung: 02.08.2005, 18:42
 

Forum-Gott mit 225 Punkte, 149 Beiträge
geht das irgendwie bei der forum-id nen bereich einzugeben. also lasse forum 1 bis 190 weg. oder
muss ich jede id extra eintragen. oder geht das nach der strucktur das es reicht wenn ich vom
hauptforum die id angebe und die die untergeordnet sind werden dann automatisch mit ausgeschlossen?

 
Kein neuer Beitrag Nils , 23.10.2012, 16:54
Beitrag #4   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7812 Punkte, 7566 Beiträge
Kevin hat folgendes geschrieben:
geht das irgendwie bei der forum-id nen bereich einzugeben. also lasse forum 1 bis 190 weg. oder
muss ich jede id extra eintragen. oder geht das nach der strucktur das es reicht wenn ich vom
hauptforum die id angebe und die die untergeordnet sind werden dann automatisch mit ausgeschlossen?

Da fällt mir gerade auf, ich habe es oben falsch gemacht. Man kann, wie der Name der Funktion auch
sagt, mehrere Ids angeben. Also:
PHP:
1
2
$forums = FWS_Props::get()->forums();
$denied = $forums->get_nodes_with_other_ids(array(2),false);

Dann kannst du also auch einen Bereich angeben. Die Hierarchie der Foren wird allerdings nicht
berücksichtigt. Den Bereich 1 bis 190 kannst du wie folgt angeben:
PHP:
1
2
$forums = FWS_Props::get()->forums();
$denied = $forums->get_nodes_with_other_ids(range(1,190),false);

Wobei das eben wieder umgedreht wird. D.h. am Ende bekommst du die Themen aus den Foren 1 bis 190.

mfg Nils

 
Kein neuer Beitrag Kevin , 23.10.2012, 18:45
Beitrag #5   

IP: n/a
Rang: * * * * * * *
Registrierung: 02.08.2005, 18:42
 

Forum-Gott mit 225 Punkte, 149 Beiträge
super, es geht!
also wenn ich im module.php das so einsetze:

PHP:
1
2
$forums = FWS_Props::get()->forums();
$denied = $forums->get_nodes_with_other_ids(array(2283,2284,2285,2286),false); 


werden genau die 4 foren mit der id angezeigt.

danke... =)

 
Kein neuer Beitrag Kevin , 03.11.2012, 22:00
Beitrag #6   

IP: n/a
Rang: * * * * * * *
Registrierung: 02.08.2005, 18:42
 

Forum-Gott mit 225 Punkte, 149 Beiträge
hallo,

hab noch mal ne frage und zwar wenn ich das so mache:

PHP:
1
2
$forums = FWS_Props::get()->forums();
$denied = $forums->get_nodes_with_other_ids(range(1,190),false); 


nehme ich ja den bereich von 1 bis 190. was muss ich jetzt aber machen wenn ich einen zweiten
bereich noch dazu haben will sagen wir von 220 bis 250. hab das schon mal probiert mit in die
klammer zu schreiben kam aber ne fehlermeldung. kann mir da einer bitte sagen wie ich das schreiben
kann.

danke schon mal im vorraus... =)

mfg kev

 
Kein neuer Beitrag Rafioso , 03.11.2012, 23:51
Beitrag #7   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

müsste so gehen:

PHP:
1
2
3
4
    $denied1 = $forums->get_nodes_with_other_ids(range(1,2),false); //Erste Beschränkung
    $denied2 = $forums->get_nodes_with_other_ids(range(3,4),false); //Zweite Beschränkung
    //$denied3 usw. dritte Beschränkung
    $denied = array_unique(array_merge($denied1$denied2)); //weitere Variablen bei Bedarf einfügen


MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Kevin , 04.11.2012, 16:15
Beitrag #8   

IP: n/a
Rang: * * * * * * *
Registrierung: 02.08.2005, 18:42
 

Forum-Gott mit 225 Punkte, 149 Beiträge
ne sorry da wird leider nichts mehr angezeigt wenn ich das so mache... :-(

 
Kein neuer Beitrag Rafioso , 04.11.2012, 16:38
Beitrag #9   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

zeig doch mal den kompletten Inhalt der Methode.


MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Kevin , 04.11.2012, 16:44
Beitrag #10   

IP: n/a
Rang: * * * * * * *
Registrierung: 02.08.2005, 18:42
 

Forum-Gott mit 225 Punkte, 149 Beiträge
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
   * Adds the current topics to the template
   */

  private function _add_latest_topics_small()
  {
    $user = FWS_Props::get()->user();
    $cfg = FWS_Props::get()->cfg();
    $unread = FWS_Props::get()->unread();
    $tpl = FWS_Props::get()->tpl();

    $cache = array(
      'symbol_poll' =>        $user->get_theme_item_path('images/thread_type/poll.gif'),
      'symbol_event' =>        $user->get_theme_item_path('images/thread_type/event.gif'),
    );
    
    $forums = FWS_Props::get()->forums();
    $denied1 = $forums->get_nodes_with_other_ids(range(1,2267),false); //Erste Beschränkung
    $denied2 = $forums->get_nodes_with_other_ids(range(2273,2282),false); //Zweite Beschränkung
    //$denied3 usw. dritte Beschränkung
    $denied = array_unique(array_merge($denied1$denied2)); //weitere Variablen bei Bedarf 

 
Kein neuer Beitrag Rafioso , 04.11.2012, 17:38
Beitrag #11   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Das kann unmöglich alles sein ;)

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Kevin , 04.11.2012, 20:20
Beitrag #12   

IP: n/a
Rang: * * * * * * *
Registrierung: 02.08.2005, 18:42
 

Forum-Gott mit 225 Punkte, 149 Beiträge
dachte das reicht dir... ok hier ist alles... =)

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
<?php
/**
 * Contains the portal-module
 * 
 * @version         $Id: module.php 186 2009-10-24 17:11:05Z nasmussen $
 * @package         Boardsolution
 * @subpackage   front.module
 * @author         Nils Asmussen <nils@script-solution.de>
 * @copyright      2003-2008 Nils Asmussen
 * @link            http://www.script-solution.de
 */

/**
 * The portal-module
 * 
 * @package         Boardsolution
 * @subpackage   front.module
 * @author         Nils Asmussen <nils@script-solution.de>
 */
final class BS_Front_Module_sport extends BS_Front_Module
{
   /**
    * @see FWS_Module::init($doc)
    *
    * @param BS_Front_Document $doc
    */
   public function init($doc)
   {
      parent::init($doc);
      
      $locale = FWS_Props::get()->locale();
      $renderer = $doc->use_default_renderer();
      
      $renderer->set_robots_value('index,follow');
      $renderer->add_breadcrumb('Sport',BS_URL::build_mod_url('sport'));
   }
   
   /**
    * @see FWS_Module::run()
    */
   public function run()
   {
      $cfg = FWS_Props::get()->cfg();
      $auth = FWS_Props::get()->auth();
      $locale = FWS_Props::get()->locale();
      $user = FWS_Props::get()->user();
      $tpl = FWS_Props::get()->tpl();
      $functions = FWS_Props::get()->functions();
      $unread = FWS_Props::get()->unread();
      $forums = FWS_Props::get()->forums();

      // portal disabled?
      if($cfg['enable_portal'] == 0)
      {
         $this->report_error();
         return;
      }
      
      $online = array();
      $legend = '';
      $user_locations = '';
      $view_useronline = $auth->has_global_permission('view_useronline_list');
      if($view_useronline)
      {
         $online = BS_Front_OnlineUtils::get_currently_online_user();
         $legend = BS_Front_OnlineUtils::get_usergroup_legend();
      
         // user-locations
         if($cfg['display_denied_options'] ||
               $auth->has_global_permission('view_online_locations'))
         {
            $user_locations = '<a href="'.BS_URL::build_mod_url('user_locations').'">';
            $user_locations .= $online['online_total'].' '.$locale->lang('useronline').'</a>';
         }
         else
            $user_locations = $online['online_total'].' '.$locale->lang('useronline');
      }
      
      // check if the news are enabled and if the user can view at least one news-forum
      $enable_news = $cfg['enable_portal_news'] == 1 && $this->_are_news_visible();
      
      // content
      if($enable_news)
         $this->_add_news();
      else if($cfg['current_topic_enable'])
         $this->_add_latest_topics_full();
      
      // left-bar
      $show_compose_pm = $user->is_loggedin() && $cfg['enable_pms'] &&
         $user->get_profile_val('allow_pms');
      
      $show_latest_topics_small = $enable_news &&
         strpos($cfg['current_topic_loc'],'portal') !== false &&
         $cfg['current_topic_enable'];
      
      // build last active forum-list
      $nodes = array();
      foreach($this->_get_last_active_forums(BS_PORTAL_LAST_FORUMS_COUNT) as $node)
      {
         $data = $node->get_data();
         /* @var $data BS_Forums_NodeData */
         /* @var $node FWS_Tree_Node */
         
         $nodes[] = array(
            'name' => $data->get_name(),
            'id' => $data->get_id(),
            'path' => BS_ForumUtils::get_forum_path($data->get_id(),false),
            'is_unread' => $forums->is_unread_forum($data->get_id())
         );
      }
      
      $nm = BS_DAO::get_profile()->get_newest_user();
      $newsfeedurl = BS_URL::get_mod_url('news_feed');
      $tpl->add_variable_ref('online',$online);
      $tpl->add_variables(array(
         'show_news' => $enable_news,
         'forums_url' => BS_URL::build_forums_url(),
         'new_pm_url' => BS_URL::build_sub_url('userprofile','pmcompose'),
         'profile_config_url' => BS_URL::build_sub_url('userprofile','config'),
         'rss20_feed' => $newsfeedurl->set(BS_URL_MODE,'rss20')->to_url(),
         'atom_feed' => $newsfeedurl->set(BS_URL_MODE,'atom')->to_url(),
         'show_feeds' => $enable_news && $cfg['enable_news_feeds'],
         'total_user_online' => $user_locations,
         'user_online_count' => $view_useronline ? $online['online_total'] : 0,
         'view_useronline_list' => $view_useronline,
         'show_compose_pm' => $show_compose_pm,
         'legend' => $legend,
         'lastlogin' => BS_Front_OnlineUtils::get_last_activity(),
         'birthdays' => BS_Front_EventUtils::get_todays_birthdays(),
         'events' => BS_Front_EventUtils::get_current_events(),
         'current_topics_url' => BS_URL::build_mod_url('latest_topics'),
         'calendar_url' => BS_URL::build_mod_url('calendar'),
         'current_topics_url' => BS_URL::build_mod_url('latest_topics'),
         'show_latest_topics' => $show_latest_topics_small,
         'show_latest_topics_full' => !$enable_news &&
            strpos($cfg['current_topic_loc'],'portal') !== false && $cfg['current_topic_enable'],
         'team_url' => BS_URL::build_mod_url('team'),
         'newest_member' => BS_UserUtils::get_link($nm['id'],$nm['user_name'],$nm['user_group']),
         'forums' => $nodes
      ));
      
      if($show_latest_topics_small)
         $this->_add_latest_topics_small();
      
      $tpl->add_variables(array(
         'search_url' => BS_URL::build_mod_url('search')
      ));
      
      // mark the news read
      $unread->mark_news_read();
   }
   
   /**
    * Returns the last <var>$count</var> active forums
    *
    * @param int $count the max. number of forums
    * @return array the last active forums (the nodes)
    */
   private function _get_last_active_forums($count)
   {
      $forums = FWS_Props::get()->forums();
      
      // build forums for the list
      $nodes = array();
      foreach($forums->get_all_nodes() as $node)
      {
         $data = $node->get_data();
         $nodes[] = array($data->get_lastpost_time(),$node);
      }
      
      // filter out denied forums
      $denied = BS_ForumUtils::get_denied_forums(false); 
      $denied = array_flip($denied);
      foreach($nodes as $k => $node)
      {
         if(isset($denied[$node[1]->get_id()]))
            unset($nodes[$k]);
      }
      
      usort($nodes,array($this,'_sort_active_forums'));
      $res = array();
      for($i = 0,$len = min(count($nodes),$count);$i < $len;$i++)
         $res[] = $nodes[$i][1];
      return $res;
   }
   
   /**
    * The sort-function for the active-forums
    *
    * @param array $a the first forum
    * @param array $b the second forum
    * @return int the compare-result
    */
   private function _sort_active_forums($a,$b)
   {
      if($a[0] < $b[0])
         return 1;
      if($a[0] > $b[0])
         return -1;
      return 0;
   }
   
   /**
    * Adds the full version of the latest topics for the portal to the template
    */
   private function _add_latest_topics_full()
   {
      $locale = FWS_Props::get()->locale();
      $cfg = FWS_Props::get()->cfg();
      $murl = BS_URL::build_mod_url('latest_topics');
      $title = '<a href="'.$murl.'">'.$locale->lang('current_topics').'</a>';
      
      $num = $cfg['current_topic_num'];
      $topics = new BS_Front_Topics($title,' moved_tid = 0','lastpost','DESC',$num,0,true);
      $topics->set_show_topic_action(false);
      $topics->set_show_important_first(false);
      $topics->set_show_forum(true);
      $topics->set_show_topic_opening(false);
      $topics->set_show_topic_views(false);
      $topics->set_middle_width(60);
      $topics->add_topics();
   }
   
   /**
    * Adds the current topics to the template
    */
   private function _add_latest_topics_small()
   {
      $user = FWS_Props::get()->user();
      $cfg = FWS_Props::get()->cfg();
      $unread = FWS_Props::get()->unread();
      $tpl = FWS_Props::get()->tpl();

      $cache = array(
         'symbol_poll' =>            $user->get_theme_item_path('images/thread_type/poll.gif'),
         'symbol_event' =>            $user->get_theme_item_path('images/thread_type/event.gif'),
      );
      
      $forums = FWS_Props::get()->forums();
    $denied1 = $forums->get_nodes_with_other_ids(range(1,2267),false); //Erste Beschränkung
    $denied2 = $forums->get_nodes_with_other_ids(range(2273,2282),false); //Zweite Beschränkung
    //$denied3 usw. dritte Beschränkung
    $denied = array_unique(array_merge($denied1, $denied2)); //weitere Variablen bei Bedarf 

   


   
      $rurl = BS_URL::get_mod_url('redirect');
      $rurl->set(BS_URL_LOC,'show_post');
      $purl = BS_URL::get_mod_url('posts');
      
      $topics = array();
      foreach(BS_DAO::get_topics()->get_latest_topics($cfg['current_topic_num'],$denied) as $data)
      {
         $pagination = new BS_Pagination($cfg['posts_per_page'],$data['posts'] + 1);
         $is_unread = $unread->is_unread_thread($data['id']);
         
         $first_unread_url = '';
         if($is_unread)
         {
            $fup = $unread->get_first_unread_post($data['id']);
            if($pagination->get_page_count() > 1)
               $first_unread_url = $rurl->set(BS_URL_ID,$fup)->to_url();
            else
            {
               $purl->set(BS_URL_FID,$data['rubrikid']);
               $purl->set(BS_URL_TID,$data['id']);
               $purl->set_anchor('b_'.$fup);
               $purl->set_sef(true);
               $first_unread_url = $purl->to_url();
            }
         }
      
         // build topic-name
         list($tnamed,$tnamec) = BS_TopicUtils::get_displayed_name($data['name']);
         $posts_url = BS_URL::build_posts_url($data['rubrikid'],$data['id'],1);
         
         $topics[] = array(
            'is_important' => $data['important'] == 1,
            'is_unread' => $is_unread,
            'first_unread_url' => $first_unread_url,
            'name_complete' => $tnamec,
            'name' => $tnamed,
            'url' => $posts_url,
            'topic_symbol' => BS_TopicUtils::get_symbol(
               $cache,$data['type'],$data['symbol']
            ),
            'lastpost' => $this->_get_lastpost($data)
         );
      }
      
      $tpl->add_variable_ref('topics',$topics);
   }
   
   /**
    * Adds the news to the template
    */
   private function _add_news()
   {
      $cfg = FWS_Props::get()->cfg();
      $user = FWS_Props::get()->user();
      $tpl = FWS_Props::get()->tpl();
      $unread = FWS_Props::get()->unread();
      $locale = FWS_Props::get()->locale();
      $forums = FWS_Props::get()->forums();
      $auth = FWS_Props::get()->auth();

      $fids = FWS_Array_Utils::advanced_explode(',',$cfg['news_forums']);
      if(!FWS_Array_Utils::is_integer($fids) || count($fids) == 0)
         return;
      
      $cache = array(
         'unread_image'   => $user->get_theme_item_path('images/unread/post_unread.gif'),
         'read_image'      => $user->get_theme_item_path('images/unread/post_read.gif')
      );
      
      // remove the denied-forums from fids
      $denied = BS_ForumUtils::get_denied_forums(false);
      $denied = array_flip($denied);
      $myfids = array();
      foreach($fids as $fid)
      {
         if(!isset($denied[$fid]))
            $myfids[] = $fid;
      }
      
      $newslist = BS_DAO::get_posts()->get_news_from_forums($myfids,$cfg['news_count']);
      $num = count($newslist);
      
      $tpl->add_variables(array(
         'num' => $num
      ));
      
      $news = array();   
      if($num > 0)
      {
         $replyurl = BS_URL::get_mod_url('new_post');
         $posturl = BS_URL::get_mod_url('posts');
         $posturl->set_sef(true);
         foreach($newslist as $i => $data)
         {
            // build username
            if($data['post_user'] > 0)
            {
               $username = BS_UserUtils::get_link(
                  $data['post_user'],$data['user_name'],$data['user_group']
               );
            }
            else
               $username = $data['post_an_user'];
            
            // init bbcode-engine
            $use_bbcode = BS_PostingUtils::get_message_option('enable_bbcode') &&
               $data['use_bbcode'];
            $use_smileys = BS_PostingUtils::get_message_option('enable_smileys') &&
               $data['use_smileys'];
            $bbcode = new BS_BBCode_Parser($data['text'],'posts',$use_bbcode,$use_smileys);
            
            // read or unread?
            if($unread->is_unread_news($data['threadid']))
            {
               $news_icon = '<img alt="'.$locale->lang('unread_news').'" title="';
            $news_icon .= $locale->lang('unread_news').'"';
            $news_icon .= ' src="'.$cache['unread_image'].'" />';
            }
            else
           {
             $news_icon = '<img alt="'.$locale->lang('read_news').'" title="';
             $news_icon .= $locale->lang('read_news').'"';
             $news_icon .= ' src="'.$cache['read_image'].'" />';
           }
            
            // build comments-link
            if($data['posts'] > 0)
            {
               $posturl->set(BS_URL_FID,$data['rubrikid']);
               $posturl->set(BS_URL_TID,$data['threadid']);
               $comments = '<a href="'.$posturl->to_url().'">';
               $comments .= sprintf($locale->lang('xcomments'),$data['posts']).'</a>';
            }
            else
            {
               // closed or no comments allowed?
               if($forums->forum_is_closed($data['rubrikid']) || !$data['comallow'])
                  $comments = '';
               // no permission to reply in this forum?
               else if(!$auth->has_permission_in_forum(BS_MODE_REPLY,$data['rubrikid']))
                  $comments = '';
               // everything ok, so show the link
               else
               {
                  $replyurl->set(BS_URL_FID,$data['rubrikid']);
                  $replyurl->set(BS_URL_TID,$data['threadid']);
                  $comments = '<a href="'.$replyurl->to_url().'">'.$locale->lang('new_comment').'</a>';
               }
            }
            
            // show news
            $news[] = array(
               'news_title' => $data['name'],
               'id' => $data['id'],
               'news_icon' => $news_icon,
               'topic_url' => BS_URL::build_posts_url($data['rubrikid'],$data['threadid']),
               'username' => $username,
               'username_plain' => $data['post_user'] > 0 ? $data['user_name'] : $data['post_an_user'],
               'date' => FWS_Date::get_date($data['post_time']),
               'forum_path' => BS_ForumUtils::get_forum_path($data['rubrikid'],false),
               'text' => $bbcode->get_message_for_output(),
               'comments' => $comments,
               'show_separator' => $i < $num - 1
            );
         }
      }
      
      $tpl->add_variable_ref('news_list',$news);
   }

   /**
    * generates the lastpost-data
    *
    * @param array $data the topic-data
    * @return mixed the lastpost-info
    */
   private function _get_lastpost($data)
   {
      $cfg = FWS_Props::get()->cfg();
      $pagination = new BS_Pagination($cfg['posts_per_page'],$data['posts'] + 1);
      if($data['lastpost_id'] == 0)
         return false;

      // generate lastpost-URL
      $site = 1;
      if(BS_PostingUtils::get_posts_order() == 'ASC' && $pagination->get_page_count() > 1)
         $site = $pagination->get_page_count();
      $murl = BS_URL::build_posts_url($data['rubrikid'],$data['id'],$site);

      // determine username
      if($data['lastpost_user'] != 0)
      {
         $user_name = BS_UserUtils::get_link(
            $data['lastpost_user'],$data['lp_username'],$data['user_group']
         );
      }
      else
         $user_name = $data['lastpost_an_user'];

      return array(
         'username' => $user_name,
         'date' => FWS_Date::get_date($data['lastpost_time']),
         'url' => $murl.'#b_'.$data['lastpost_id'],
      );
   }
   
   /**
    * Checks wether there are visible news for the current user
    *
    * @return boolean true if so
    */
   private function _are_news_visible()
   {
      $cfg = FWS_Props::get()->cfg();

      if($cfg['news_count'] == 0)
         return 0;
      
      $fids = FWS_Array_Utils::advanced_explode(',',$cfg['news_forums']);
      if(!FWS_Array_Utils::is_integer($fids) || count($fids) == 0)
         return false;
      
      $denied = BS_ForumUtils::get_denied_forums(true);
      $visible = false;
      foreach($fids as $fid)
      {
         if(!in_array($fid,$denied))
         {
            $visible = true;
            break;
         }
      }
      
      return $visible;
   }
}
?>

 
Kein neuer Beitrag Rafioso , 05.11.2012, 00:20
Beitrag #13   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Hi,

soweit alles in Ordnung.

Nur nochmal, dass wir vom selben sprechen...

Du willst die Foren mit den IDs 1 - 2267, sowie 2273 - 2282 nicht anzeigen lassen?

MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

 
Kein neuer Beitrag Kevin , 05.11.2012, 00:26
Beitrag #14   

IP: n/a
Rang: * * * * * * *
Registrierung: 02.08.2005, 18:42
 

Forum-Gott mit 225 Punkte, 149 Beiträge
nein die sollen angezeigt werden... also wenn ich das so wie oben mache nur mit einem Bereich dann
wird auch nur der eine Bereich angezeigt. Aber wenn ich das so wie du gesagt hast mit zwei
Bereichen mache wird garnichts mehr angezeigt auch nicht die Foren außerhalb den Bereichen...

 
Kein neuer Beitrag Rafioso , 05.11.2012, 00:58
Beitrag #15   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1723 Punkte, 1537 Beiträge
Die oben stehende Änderung zeigt die angegebenen Foren NICHT an. Darum heißt es ja auch "denied".

Meine Änderung ist nichts anders als die von Nils. Das Array wird lediglich mit mehr Inhalt gefüllt.

D.h., wenn du 1-2267 und 2273-2282 angibst, werden diese ausgeblendet und so ist es auch korrekt.
Wenn du das nicht haben möchtest, dann musst du die IDs hinschreiben, die tatsächlich ausgeblendet
werden sollen.

MfG
Rafioso

Aktuellste Boardsolution-Version: v1.46
Kommende Boardsolution-Version: TBA
-----------------------------------------------------
Ich erstelle nur noch Modifikationen
für aktuelle Versionen!
-----------------------------------------------------

Abonnieren Druckansicht
Antworten

n/a n/a 1 2     (Anzeige: 1 – 15; insgesamt: 19) Weiter Letzte Seite
User in diesem Thema: 0 Registrierte, 0 Versteckte, 2 Gäste, 0 Bots
Keine
Legende: Administratoren, User, Moderatoren
Themenaktionen:
Beiträge verschieben

Toggle Ähnliche Themen zu „"aktuelle themen" nur zu einem hauptforum“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
Thema "Aktuelles" auf Portalseite nur nach Login? 2 54414 20.11.2014, 19:34
Von: Frank_M
21.11.2014, 11:37
Von: Frank_M Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  [BS v1.40 Beta2] Fehler aufruf "ähnliche Them ... 5 5891 17.01.2009, 09:24
Von: herzdrache
19.01.2009, 08:25
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Anzeige: "Aktuelle Termine" zeitliche Vorscha ... 1 7320 10.02.2008, 10:49
Von: schoeppsche
10.02.2008, 12:43
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, kein „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
Thema Liste "aktuelle Themen" begänzen?? 5 4593 16.11.2007, 11:51
Von: schoeppsche
20.11.2007, 17:39
Von: schoeppsche Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, kein „heißes Thema“
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
Thema "wichtige Themen" erstellen, aber wie? bei v1 ... 8 4915 29.07.2007, 09:59
Von: schoeppsche
06.08.2007, 16:25
Von: Nils Zum letzten Beitrag
  • 0.026327 Sek., 10 DB-Zugriffe, 1.129 MiB
  • Powered by Boardsolution v1.46