Mini_Cal Ausgabe

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
vinci
Beiträge: 80
Registriert: So 26.Dez, 2004 21:21
Wohnort: Stuttgart
Kontaktdaten:

Mini_Cal Ausgabe

Beitrag von vinci »

Hey,

hab hier ein kleines Problem. Und zwar gibt der mini_calendar momentan ja immer nur den text bzw. die einzelnen tage aus ... ich möchte aber gerne, dass schon gleich die fertige zelle ausgegeben wird. für den heutigen tag sowie für tage an denen eine vent stattfindet hab ich schon hinbekommen. Nur die normalen Tage sollten auch richtig ausgegeben werden und ich komm da einfach nicht klar. erstmal ein kleiner problem-screenshot:


Bild


heir der ursprüngliche code:

Code: Alles auswählen

<?php
/***************************************************************************
 *                             mini_cal.php
 *                            -------------------
 *   Author  		: 	netclectic - Adrian Cockburn - phpbb@netclectic.com
 *   Created 		: 	Sunday, July 14, 2002
 *	 Last Updated	:	Thursday, March 25, 2004
 *
 *	 Version		: 	MINI_CAL - 2.0.4
 *
 ***************************************************************************/
if ( !defined('IN_PHPBB') )
{
	die("Hacking attempt");
}
define ('IN_MINI_CAL', 1);

	include_once($phpbb_root_path . 'mini_cal_config.'.$phpEx);
	include_once($phpbb_root_path . 'mini_cal_common.'.$phpEx);
	include_once($phpbb_root_path . 'calendarSuite.'.$phpEx);

    
    // get the mode (if any)
    if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
    {
    	$mini_cal_mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];
    }
    $mini_cal_mode = ($mini_cal_mode == 'personal') ? $mini_cal_mode : 'default';
    
    // get the user (for personal calendar)
    if( isset($HTTP_GET_VARS[POST_USERS_URL]) || isset($HTTP_POST_VARS[POST_USERS_URL]) )
    {
    	$mini_cal_user = ( isset($HTTP_POST_VARS[POST_USERS_URL]) ) ? intval($HTTP_POST_VARS[POST_USERS_URL]) : intval($HTTP_GET_VARS[POST_USERS_URL]);
    }
    
    // get the calendar month
    $mini_cal_month = 0;
    if( isset($HTTP_GET_VARS['month']) || isset($HTTP_POST_VARS['month']) )
    {
    	$mini_cal_month = ( isset($HTTP_POST_VARS['month']) ) ? intval($HTTP_POST_VARS['month']) : intval($HTTP_GET_VARS['month']);
    }
    
    // initialise our calendarsuite class
	$mini_cal = new calendarSuite();
    
    // initialise the mini_cal lang files
    // for maximum efficiency you might want to move the mini_cal lang variables into lang_main
    // and remove these lines
    $use_lang = ( !@file_exists($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main_mini_cal.'.$phpEx) ) ? 'english' : $board_config['default_lang'];
    include($phpbb_root_path . 'language/lang_' . $use_lang . '/lang_main_mini_cal.' . $phpEx);

    // setup our mini_cal template
	$template->set_filenames(array(
		'mini_cal_body'         => 'mini_cal_body.tpl')
	);

    // initialise some variables
    $mini_cal_today = create_date('Ymd', time(), $board_config['board_timezone']);
    $s_cal_month = ($mini_cal_month != 0) ? $mini_cal_month . ' month' : $mini_cal_today;
	$mini_cal->getMonth($s_cal_month);
	$mini_cal_count=MINI_CAL_FDOW;
    $mini_cal_this_year = $mini_cal->dateYYYY;
    $mini_cal_this_month = $mini_cal->dateMM;
    $mini_cal_this_day = $mini_cal->dateDD;
    $mini_cal_month_days = $mini_cal->daysMonth;

    if ( MINI_CAL_CALENDAR_VERSION != 'NONE' )
    {
        // include the required events calendar support
        $mini_cal_inc = 'mini_cal_' . MINI_CAL_CALENDAR_VERSION;
    	include_once($phpbb_root_path . $mini_cal_inc . '.' . $phpEx);

        // include the required events calendar support
        $mini_cal_auth = getMiniCalForumsAuth($userdata);
        $mini_cal_event_days = getMiniCalEventDays($mini_cal_auth['view']);
        getMiniCalEvents($mini_cal_auth);
		getMiniCalPostForumsList($mini_cal_auth['post']);
    }

    // output the days for the current month 
    // if MINI_CAL_DATE_SEARCH = POSTS then hyperlink any days which have already past
    // if MINI_CAL_DATE_SEARCH = EVENTS then hyperkink any which have events
	for($i=0; $i < $mini_cal_month_days;) 
	{
        // is this the first day of the week?
		if($mini_cal_count==MINI_CAL_FDOW)
		{
			$template->assign_block_vars('mini_cal_row', array());
		}
        
        // is this a valid weekday?
		if($mini_cal_count==($mini_cal->day[$i][7])) 
		{
            $mini_cal_this_day = $mini_cal->day[$i][0];
        
            $d_mini_cal_today = $mini_cal_this_year . ( ($mini_cal_this_month <= 9) ? '0' . $mini_cal_this_month : $mini_cal_this_month ) . ( ($mini_cal_this_day <= 9) ? '0' . $mini_cal_this_day : $mini_cal_this_day );
            $mini_cal_day = ( $mini_cal_today == $d_mini_cal_today ) ? '<span class="' . MINI_CAL_TODAY_CLASS . '">'.$mini_cal_this_day.'</span>' : $mini_cal_this_day;

            if ( (MINI_CAL_CALENDAR_VERSION != 'NONE') && (MINI_CAL_DATE_SEARCH == 'EVENTS') )
            {
                $mini_cal_day_link = '<a href="' . getMiniCalSearchURL($d_mini_cal_today) . '" class="' . MINI_CAL_DAY_LINK_CLASS . '">' . ( $mini_cal_day ) . '</a>';
                $mini_cal_day = ( in_array($mini_cal_this_day, $mini_cal_event_days) ) ? $mini_cal_day_link : $mini_cal_day;
            }
            else
            {
                $nichts_mini_cal_today = gmmktime($board_config['board_timezone'], 0, 0, $mini_cal_this_month, $mini_cal_this_day, $mini_cal_this_year);
                $mini_cal_day_link = '<a href="' . append_sid($phpbb_root_path . "search.$phpEx?search_id=mini_cal&d=" . $nichts_mini_cal_today) . '" class="' . MINI_CAL_DAY_LINK_CLASS . '">' . ( $mini_cal_day ) . '</a>';
                $mini_cal_day = ( $mini_cal_today >= $d_mini_cal_today ) ? $mini_cal_day_link : $mini_cal_day;
            }
            
			$template->assign_block_vars('mini_cal_row.mini_cal_days', array(
				'MINI_CAL_DAY'      => $mini_cal_day
				)
			); 
			$i++;
		} 
        // no day
		else 
		{
			$template->assign_block_vars('mini_cal_row.mini_cal_days', array(
				'MINI_CAL_DAY' => ' ')
			); 
		}

        // is this the last day of the week?
        if ($mini_cal_count==6)
        {
            // if so then reset the count
            $mini_cal_count=0;
        }
        else
        {
            // otherwise increment the count
            $mini_cal_count++;
        }
	}
	

    // output our general calendar bits
    $prev_qs = setQueryStringVal('month', $mini_cal_month -1);
    $next_qs = setQueryStringVal('month', $mini_cal_month +1);
    $prev_month = '<a href="' . append_sid($HTTP_SERVER_VARS["PHP_SELF"] . $prev_qs) . '" class="gen"><img src="' . $images['mini_cal_icon_left_arrow'] . '" title="' . $lang['View_previous_month'] . '" border="0" alt="<<"></a>';
    $next_month = '<a href="' . append_sid($HTTP_SERVER_VARS["PHP_SELF"] . $next_qs) . '" class="gen"><img src="' . $images['mini_cal_icon_right_arrow'] . '" title="' . $lang['View_next_month'] . '" border="0" alt=">>"></a>';
	$template->assign_vars(array(
		'L_MINI_CAL_MONTH' => $lang['mini_cal']['long_month'][$mini_cal->day[0][4]] . " " . $mini_cal->day[0][5],
		'L_MINI_CAL_ADD_EVENT' => $lang['Mini_Cal_add_event'],
		'L_MINI_CAL_CALENDAR' => $lang['Mini_Cal_calendar'], 
		'L_MINI_CAL_EVENTS' => $lang['Mini_Cal_events'], 
        'L_MINI_CAL_NO_EVENTS' => $lang['Mini_Cal_no_events'],
		'L_MINI_CAL_SUN' => $lang['mini_cal']['day'][1], 
		'L_MINI_CAL_MON' => $lang['mini_cal']['day'][2], 
		'L_MINI_CAL_TUE' => $lang['mini_cal']['day'][3], 
		'L_MINI_CAL_WED' => $lang['mini_cal']['day'][4], 
		'L_MINI_CAL_THU' => $lang['mini_cal']['day'][5], 
		'L_MINI_CAL_FRI' => $lang['mini_cal']['day'][6], 
		'L_MINI_CAL_SAT' => $lang['mini_cal']['day'][7], 
        'U_PREV_MONTH' => $prev_month,
        'U_NEXT_MONTH' => $next_month,
        )
    );
    
    // check for birthdays mod
    if ( isset($template->_tpldata['.'][0]['L_WHOSBIRTHDAY_TODAY']) || isset($template->vars['L_WHOSBIRTHDAY_TODAY']) )
    {
        $template->assign_block_vars( 'switch_mini_cal_birthdays', array());
    }
    
    // finally assign our mini_cal stuff to the template engine for output
    $template->assign_var_from_handle('MINI_CAL_OUTPUT', 'mini_cal_body');
?>


und hier noch der von modfizierte Teil (Line 96 - 109)

Code: Alles auswählen

            $d_mini_cal_today = $mini_cal_this_year . ( ($mini_cal_this_month <= 9) ? '0' . $mini_cal_this_month : $mini_cal_this_month ) . ( ($mini_cal_this_day <= 9) ? '0' . $mini_cal_this_day : $mini_cal_this_day );
            $mini_cal_day = ( $mini_cal_today == $d_mini_cal_today ) ? '<td style="border:1px solid #DDDDDD" align="center">' . '<span class="kalender_today">'.$mini_cal_this_day.'</span>' . '</td>' : $mini_cal_this_day;

            if ( (MINI_CAL_CALENDAR_VERSION != 'NONE') && (MINI_CAL_DATE_SEARCH == 'EVENTS') )
            {
                $mini_cal_day_link = '<a href="' . getMiniCalSearchURL($d_mini_cal_today) . '" class="kalender">' . ( $mini_cal_day ) . '</a>';
                $mini_cal_day = ( in_array($mini_cal_this_day, $mini_cal_event_days) ) ? '<td style="border:1px solid #BAF372" align="center">' . '<span class="kalender_today">'.$mini_cal_day_link.'</span>' . '</td>' : $mini_cal_day;
            }
            else
            {
                $nichts_mini_cal_today = gmmktime($board_config['board_timezone'], 0, 0, $mini_cal_this_month, $mini_cal_this_day, $mini_cal_this_year);
                $mini_cal_day_link = '<a href="' . append_sid($phpbb_root_path . "search.$phpEx?search_id=mini_cal&d=" . $nichts_mini_cal_today) . '" class="' . MINI_CAL_DAY_LINK_CLASS . '">' . ( $mini_cal_day ) . '</a>';
                $mini_cal_day = ( $mini_cal_today >= $d_mini_cal_today ) ? '<td style="border:1px solid #BAF372" align="center">' . '<span class="kalender_today">'.$mini_cal_day_link.'</span>' . '</td>' : $mini_cal_day;
            }


vermutlich eine recht simple sache .. nur bin ich halt n nullinger was php betrifft :)


Danke schon mal

Viele Grüße

Vinci
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, da müsstest Du Dich schon an den Autoren selber wenden.
Der Mini Cal fragt keine Events aus dem Kalender ab.
So zumindest das Script...

Zumal sich auch die Frage ausdrängt, auf welchen Kalender die Events zielen?
Es gibt ja mehrere...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
vinci
Beiträge: 80
Registriert: So 26.Dez, 2004 21:21
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von vinci »

HEy,

Der Autor gibt keinen Support mehr - musste schon diverse veränderungen vornehmen, dass das ding überhaupt läuft.

es handelt sich um den topic_calendar und ja, ich weiss, dass du dafür eher weniger support gibst.


aber die ausgabe muss sich in dieser datei befinden ... alles andere ergibt keinen sinn

wie man in dem screenshot sieht, hab ich es ja für den heutigen tag und für eventtage hinbekommen

ist ja nur ne ausgabe, aber habs halt nicht hinbekommen.


danke

viele grüße
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

ja, ich weiss, dass du dafür eher weniger support gibst.
Ja, da ich den Kalender nicht verwende und auch bislang nicht angepackt hatte.
Mit ist der schliesslich zu performancelastig...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
vinci
Beiträge: 80
Registriert: So 26.Dez, 2004 21:21
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von vinci »

ist auf jedenfall praktischer ... keine frage


naja, danke soweit

ciao ciao
Antworten