Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


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(000$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"10)."\";");
                    }
                }
            }
        }
        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 2.879 28.09.2015, 05:29
Letzter Beitrag: Keiji
  Gesucht - Plugin für Zusage zu Events Frank 2 1.461 06.08.2014, 09:42
Letzter Beitrag: Frank
  Zusage zu Events tafkae 1 1.539 13.07.2012, 15:50
Letzter Beitrag: StefanT
  Events on Index Plugin - Weitere Modifikationen Spiro 14 6.074 13.05.2009, 15:01
Letzter Beitrag: GPTrader
  Events on Index Ulrich 2 1.631 30.08.2008, 18:29
Letzter Beitrag: Ulrich