Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.39 veröffentlicht (02.06.25)


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.518 28.09.2015, 06:29
Letzter Beitrag: Keiji
  Gesucht - Plugin für Zusage zu Events Frank 2 1.780 06.08.2014, 10:42
Letzter Beitrag: Frank
  Zusage zu Events tafkae 1 1.810 13.07.2012, 16:50
Letzter Beitrag: StefanT
  Events on Index Plugin - Weitere Modifikationen Spiro 14 7.196 13.05.2009, 16:01
Letzter Beitrag: GPTrader
  Events on Index Ulrich 2 1.958 30.08.2008, 19:29
Letzter Beitrag: Ulrich