Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.40 veröffentlicht (28.05.26)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Plugin - Events on Index manipulieren
#1
Tag,

Habe mir folgendes Addon herunter geladen:

http://mods.mybboard.net/view/events-on-index-1.5.3

Dieses Plugin habe ich soweit meinen Ansprüchen angepasst, nur habe noch 1 kleines Problem: Nutzerrestrictions werden leiter nicht so weit übernommen, dass die Anzeige verborgen wird, wenn man keine "Sehen"-Rechte hat - Leider ist meine MyBB Kenntnis nicht so weit fortgeschritten, dass ich dieses Problem in absehbarer Zeit nicht selbst lösen könnte.

Ich bitte um Rat:

PHP-Code:
function add_events() { global $db, $mybb, $templates, $index_events, $lang, $theme; $index_events = ''; if($mybb->settings['events_on_index'] == 1) { $lang->load("events"); require_once MYBB_ROOT."inc/class_parser.php"; require_once MYBB_ROOT."inc/functions_calendar.php"; $parser = new postParser; $day = my_date("j"); $month = my_date("n"); $year = my_date("Y"); $query = $db->simple_select("calendars", "*", "cid='".intval($mybb->settings['eoi_calendar'])."'"); $calendar = $db->fetch_array($query); $start_timestamp = gmmktime(0, 0, 0, $month, $day, $year); $end_timestamp = $start_timestamp+(86400*intval($mybb->settings['eoi_days'])); $events_cache = get_events($calendar['cid'], $start_timestamp, $end_timestamp); $comma = $events = ''; $arrWeek=array("(So)","(Mo)","(Di)","(Mi)","(Do)","(Fr)","(Sa)"); if(is_array($events_cache)) { // Notes: Falls innerhalb der nächsten xTage Events anstehen, steht das im $events_cache // Notes: Abfrage der nächsten xTage, dazu muss jedesmal aktueller timestamp in j-n-Y umgerechnet werden , damit es keine Komplikationen gibt for($i=0; $i<=intval($mybb->settings['eoi_days']); $i++) { //$intZeit = mktime(0,0,0,$month,$day,$year); $intPlusTage = $i * 24 * 60 * 60; $strDatum = date('j-n-Y', $start_timestamp+$intPlusTage); if(is_array($events_cache[$strDatum])) { foreach($events_cache[$strDatum] as $event) { $comma = "<br />"; $strDatumTempl = date('d-m-Y', $start_timestamp+$intPlusTage)." ".$arrWeek[date("w",$start_timestamp+$intPlusTage)]; $event['name'] = htmlspecialchars_uni($parser->parse_badwords($event['name'])); $query = $db->simple_select("users", "username, usergroup, displaygroup", "uid='".$event['uid']."'"); $user = $db->fetch_array($query); $user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']); $user['profilelink'] = build_profile_link($user['username'], $event['uid']); eval("\$events .= \"".$templates->get("events_row", 1, 0)."\";"); } } } } if($events != "") { eval("\$index_events = \"".$templates->get("events_on_index")."\";"); } } }

Ich weiß, das die Zeilen der Querrys für die Userabfrage noch nicht sehr elegant ist, wird aber noch angepasst Toungue
Zitieren
#2
Dafür gibt es die Funktion get_calendar_permissions(), an die du die ID des Kalenders übergeben musst:
PHP-Code:
$perms = get_calendar_permissions($cid); if($perms['canviewcalendar'] != 1) { // Benutzer hat nicht das Recht diesen Kalender zu sehen. }

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#3
Perfekt - vielen Dank
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Events im Mini-Kalender hervorheben, in einer anderen Farbe (Plugin:ProPortal) Keiji 6 3.905 28.09.2015, 06:29
Letzter Beitrag: Keiji
  Gesucht - Plugin für Zusage zu Events Frank 2 1.971 06.08.2014, 10:42
Letzter Beitrag: Frank
  Zusage zu Events tafkae 1 1.958 13.07.2012, 16:50
Letzter Beitrag: StefanT
  Events on Index Plugin - Weitere Modifikationen Spiro 14 7.805 13.05.2009, 16:01
Letzter Beitrag: GPTrader
  Events on Index Ulrich 2 2.141 30.08.2008, 19:29
Letzter Beitrag: Ulrich