10.09.2008, 19:10
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:
Ich weiß, das die Zeilen der Querrys für die Userabfrage noch nicht sehr elegant ist, wird aber noch angepasst
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