uawdijnntqw1x1x1
IP : 216.73.216.168
Hostname : server.fattispazio.it
Kernel : Linux server.fattispazio.it 3.10.0-1160.144.1.el7.tuxcare.els4.x86_64 #1 SMP Tue Apr 7 08:40:40 UTC 2026 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
poliximo
/
public_html
/
4690b
/
..
/
home_
/
plugins
/
..
/
components
/
com_jcalpro
/
jcalpro.php
/
/
<?php /* ********************************************** Copyright (c) 2006-2009 Anything-Digital.com ********************************************** JCal Pro is a fork of the existing Extcalendar component for Joomla! (com_extcal_0_9_2_RC4.zip from mamboguru.com). Extcal (http://sourceforge.net/projects/extcal) was renamed and adapted to become a Mambo/Joomla! component by Matthew Friedman, and further modified by David McKinnis (mamboguru.com) to repair some security holes. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This header must not be removed. Additional contributions/changes may be added to this header as long as no information is deleted. ********************************************** $Id: jcalpro.php 516 2009-10-29 23:05:47Z shumisha $ ********************************************** Get the latest version of JCal Pro at: http://dev.anything-digital.com// ********************************************** */ /** ensure this file is being included by a parent file */ defined( '_JEXEC' ) or die( 'Direct Access to this location is not allowed.' ); require_once( JPATH_BASE."/components/com_jcalpro/config.inc.php" ); // If using pop-up event view, and request is for an event view // disable main menu and search calendar blocks $show_main_menu = TRUE; $isAPopup = JRequest::getCmd( 'tmpl', '') == 'component'; $isShajax = JRequest::getCmd( 'shajax', false); $isPrint = JRequest::getInt( 'print', 0) == 1; if( ($CONFIG_EXT['popup_event_mode'] && !$isShajax && $isAPopup) || $isPrint) { $show_main_menu = FALSE; $CONFIG_EXT['search_view'] = FALSE; } /*@comment_do_not_remove@*/ // starting to switch to MVC architecture $format = JRequest::getCmd( 'format'); // for now, feeds requests are handled separately if ($format == 'feed') { // Require the display feeds library require_once(JPATH_COMPONENT.DS.'include'.DS. 'feeds.inc.php'); // display the feeds $view = new JclFeeds(); $view->display(); // for now we need to return, as there is old code left behind return; } switch($extmode) { case 'addevent' : case 'eventform' : if (require_priv('add')) { //jcPageHeader($lang_main_menu['add_event']); //print_add_event_form($date); } break; case 'event' : include( $CONFIG_EXT['FS_PATH'].'admin_events.php' ); break; case 'view' : jcPageHeader($lang_event_view['section_title']); if(!empty($event_id)) print_event_view($event_id); else print_monthly_view(); break; case 'day': jcPageHeader($lang_main_menu['daily_view']); print_daily_view($date); break; case 'week': jcPageHeader($lang_main_menu['weekly_view']); print_weekly_view($date); break; case 'cats' : jcPageHeader($lang_main_menu['categories_view']); print_categories_view(); break; case 'cat' : if(!empty($cat_id)) { $cat_info = get_cat_info($cat_id); jcPageHeader(sprintf($lang_cat_events_view['section_title'], $cat_info['cat_name'])); print_cat_content($cat_id); } else { jcPageHeader($lang_main_menu['categories_view']); print_categories_view(); } break; case 'flyer' : case 'flat' : jcPageHeader($lang_main_menu['flat_view']); print_flat_view($date); break; case 'month' : case 'cal' : jcPageHeader($lang_main_menu['cal_view']); print_monthly_view($date); break; case 'extcal_search' : jcPageHeader($lang_event_search_data['section_title']); include( $CONFIG_EXT['FS_PATH'].'cal_search.php' ); break; case 'minical' : print_minical(); break; case 'calendar_select': $target = JRequest::getString( 'cal_id_selector'); if (!empty( $target)) { jc_shRedirect( $target); } break; default: $extmode = ''; jcPageHeader($lang_main_menu['cal_view']); print_monthly_view($date); break; } // footer : don't show when replying to an ajax call for minical if ($extmode != 'minical') { pagefooter(); } // Functions function print_event_view($extid) { // function to display details on a specific event global $CONFIG_EXT, $lang_system, $lang_general, $lang_add_event_view; $event = new JCalEvent(); if (!$event->loadEvent($extid)) { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] ); theme_redirect_dialog($lang_system['system_caption'], $lang_system['non_exist_event'], $lang_general['back'], $sef_href); } else { if ( !has_priv ( 'calendar' . $event->cal_id ) || !has_priv ( 'category' . $event->catId ) || !$event->published ) { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] ); theme_redirect_dialog($lang_system['system_caption'], $lang_system['non_exist_event'], $lang_general['back'], $sef_href); } else { // additional field processing $event->title = format_text($event->title,false,$CONFIG_EXT['capitalize_event_titles']); $event->description = process_content(format_text($event->description,true,false)); // check if request is for iCal response, and if yes, process it // if this is an ical request, we won't return from this function call $filename = 'event_' . $extid; $eventList = array( 0 => array( 3 => $event)); // right now, we must fake other views data format jclProcessICalRequest( $filename, null, null, $eventList); // add rss feeds link $feeds_main_link = $CONFIG_EXT['enable_feeds'] ? JRoute::_($CONFIG_EXT['calendar_calling_page']. '&view=feeds&format=feed') : ''; theme_view_event($event,$CONFIG_EXT['popup_event_mode'],$feeds_main_link); } if ($CONFIG_EXT['search_view']) extcal_search(); } } function print_daily_view($date = '') { // function to display daily events global $CONFIG_EXT, $today, $lang_daily_event_view, $lang_system; global $lang_general, $lang_date_format, $todayclr, $mainframe; global $option, $Itemid_Querystring, $cat_id, $cal_id; $mosConfig_live_site = rtrim( JURI::base(), '/'); if ($CONFIG_EXT['daily_view'] || has_priv('add')) { // Check date. if no date is passed as argument, then we pick today if (empty($date)) { $day = $today['day']; $month = $today['month']; $year = $today['year']; } else { $day = $date['day']; $month = $date['month']; $year = $date['year']; } // check if "show past events" is enabled, else force the date to today's date if(mktime(0,0,0,$month,$day,$year) < mktime(0,0,0,$today['month'],$today['day'],$today['year']) && !$CONFIG_EXT['archive']) { $day = $today['day']; $month = $today['month']; $year = $today['year']; } $we = mktime(0,0,0,$month,$day,$year); $we = jcTSToFormat( $we, '%w'); $we++; $nextday = mktime(0,0,0,$month,$day + 1,$year); $nextday = jcTSToFormat( $nextday, '%d'); $nextmonth = mktime(0,0,0,$month,$day + 1,$year); $nextmonth = jcTSToFormat( $nextmonth, '%m'); $nextyear = mktime(0,0,0,$month,$day + 1,$year); $nextyear = jcTSToFormat( $nextyear, '%Y'); $previousday = mktime(0,0,0,$month,$day - 1,$year); $previousday = jcTSToFormat( $previousday, '%d'); $previousmonth = mktime(0,0,0,$month,$day - 1,$year); $previousmonth = jcTSToFormat( $previousmonth, '%m'); $previousyear = mktime(0,0,0,$month,$day - 1,$year); $previousyear = jcTSToFormat( $previousyear, '%Y'); // Build the category and calendar filters for the url $cat_filter = ''; if(isset($cat_id) && is_numeric($cat_id)) $cat_filter .= "&cat_id=".$cat_id; $cal_filter = ''; if(isset($cal_id) && is_numeric($cal_id)) $cal_filter .= "&cal_id=".$cal_id; // get all events in one query $date_stamp = jcUserTimeToUTC(0,0,0,$month,$day,$year, '%Y-%m-%d %H:%M:%S'); $startTS = jcUTCDateToTs( $date_stamp); $endTS = $startTS + 86399; $end_date = jcTSToUTC( $endTS, '%Y-%m-%d %H:%M:%S'); // check if request is for iCal response, and if yes, process it // if this is an ical request, we won't return from this function call $filename = 'daily_' . $year . '_' . $month . '_' . $day; jclProcessICalRequest( $filename, $date_stamp, $end_date); // get events from database $events = get_events($date_stamp, $end_date, $CONFIG_EXT['show_recurrent_events'],$CONFIG_EXT['show_overlapping_recurrences_dailyview']); // start output starttable('100%', $lang_daily_event_view['section_title'], 3); echo "<tr class='tablec'>"; $previous_day_date = jcTSToFormat( mktime(0,0,0,$previousmonth,$previousday,$previousyear), '%Y-%m-%d'); $next_day_date = jcTSToFormat( mktime(0,0,0,$nextmonth,$nextday,$nextyear), '%Y-%m-%d'); // add rss feeds link $feedsLink = $CONFIG_EXT['enable_feeds'] ? JRoute::_($CONFIG_EXT['calendar_calling_page']. '&view=feeds&format=feed') : ''; // insert rss feeds link in head if allowed jclInsertFeedsLinks( $feedsLink); // link to previous day echo "<td class='previousday' nowrap='nowrap' width='33%'>"; if ((mktime(0,0,0,$previousmonth,$previousday,$previousyear) >= mktime(0,0,0,$today['month'],1,$today['year'])) || $CONFIG_EXT["archive"]) { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=day&date=".$previous_day_date . $cat_filter . $cal_filter ); //echo "<a href=\"$sef_href\"><img class='miniarrow' src='$mosConfig_live_site/components/com_jcalpro/images/mini_arrowleft.gif' border='0' alt=\"".$lang_daily_event_view['previous_day']."\" /></a>"; echo "<span id='shajaxProgressPrevDay'></span><a href=\"$sef_href\" rel='shajaxLinkPrevDay extcalendar prefetch' >" . $lang_daily_event_view['previous_day'] . "</a>"; } $bgcolor = ($day == $today['day'] && $month == $today['month'] && $year == $today['year']) ? 'background: '.$todayclr : ''; // Current day cell $class = 'currentday' . (($day == $today['day'] && $month == $today['month'] && $year == $today['year']) ? ' currentdaytoday' : ''); echo "</td><td class='$class' nowrap='nowrap'>"; $date = jcTSToFormat( mktime(0,0,0,(int)$month,(int)$day,(int)$year), $lang_date_format['full_date']); echo $date."</td>"; // link to next day echo "<td class='nextday' nowrap='nowrap' width='33%'>"; $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=day&date=".$next_day_date . $cat_filter . $cal_filter ); echo "<a href=\"$sef_href\" rel='shajaxLinkNextDay extcalendar prefetch' >" . $lang_daily_event_view['next_day'] . "</a><span id='shajaxProgressNextDay'></span>"; //echo "<a href=\"$sef_href\"><img class='miniarrow' src='$mosConfig_live_site/components/com_jcalpro/images/mini_arrowright.gif' border='0' alt='".$lang_daily_event_view['next_day']."' /></a></td>"; echo "</td></tr>\n"; if (empty( $events[intval($day)])) { // display no events on selected day message echo " <!-- BEGIN message_row --> <tr class='tableb'> <td class='tableb' colspan='3'> <p class='cal_message'>{$lang_daily_event_view['no_events']}</p> </td> </tr> <!-- END message_row --> "; } else { // print results of query while (list(,$event_row) = each($events[intval($day)])) { $event = $event_row[3]; JCalEvent::FixUpEvent( $event); $urlTargetDate = jcUTCDateToFormat( $event->start_date, '%Y-%m-%d'); $returnTo = JRequest::getString( 'return_to'); if (empty( $returnTo)) { // no pre-existing return to url passed, let's calculate current view url to pass // that as a return url $returnTo = JRoute::_( $CONFIG_EXT['calendar_calling_page'] . "&extmode=day&date=$urlTargetDate" ); $returnTo = base64_encode( $returnTo); } // popup or link ? if ($CONFIG_EXT['popup_event_mode']) { $non_sef_href = "index.php?option=" . $option . $Itemid_Querystring ."&extmode=view&extid=".$event->extid . '&tmpl=component' . "&date=$urlTargetDate" . (empty( $returnTo) ? '' : '&return_to=' . $returnTo); $link = 'href="'.JRoute::_($non_sef_href).'" class="jcal_modal" rel="{handler: \'iframe\'}" '; } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=view&extid=".$event->extid . "&date=$urlTargetDate" . (empty( $returnTo) ? '' : '&return_to=' . $returnTo)); $link = "href=\"$sef_href\""; } if ( $CONFIG_EXT['show_event_times_in_daily_view'] ) { $event_date_string = ' ('.mf_get_timerange($event, $day).')'; } else { $event_date_string = ''; } echo "<tr><td colspan='3'>\n<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n"; echo "<tr><td width='6' bgcolor='".$event->color."'><img src='$mosConfig_live_site/components/com_jcalpro/images/spacer.gif' width='6' height='1' alt='' /></td>\n"; echo "<td class='tableb' width='100%'><div class='eventdesc'><a ".$link." class='eventtitle'>".format_text(sub_string($event->title,$CONFIG_EXT['daily_view_max_chars'],'...'),false,$CONFIG_EXT['capitalize_event_titles']).$event_date_string."</a>\n"; echo "</div></td></tr></table></td></tr>\n"; } } display_cat_legend (3); endtable(); // set the page title $menu = & JSite::getMenu(); $currentMenuItem = $menu->getActive(); jclSetPageTitle( $date . ' | ' . $currentMenuItem->name, 'extcalendar'); if ($CONFIG_EXT['search_view']) extcal_search(); } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] ); theme_redirect_dialog($lang_daily_event_view['section_title'], $lang_system['section_disabled'], $lang_general['back'], $sef_href); } } function print_weekly_view($date = '') { // function to display weekly events global $CONFIG_EXT, $today, $lang_weekly_event_view, $lang_daily_event_view, $lang_system, $mainframe; global $lang_general, $lang_date_format, $todayclr; global $option, $Itemid_Querystring, $cat_id, $cal_id; $mosConfig_live_site = rtrim( JURI::base(), '/'); if ($CONFIG_EXT['weekly_view'] || has_priv('add')) { // Check date. if no date is passed as argument, then we pick today if (empty($date)) { $day = $today['day']; $month = $today['month']; $year = $today['year']; } else { $day = $date['day']; $month = $date['month']; $year = $date['year']; } $current_weeknumber = get_week_number($today['day'], $today['month'], $today['year']); // Calculationg the week number $weeknumber = get_week_number($day, $month, $year); // check if "show past events" is enabled, else force the date to today's date // if(($weeknumber < $current_weeknumber && $year <= $today['year'] ) && !$CONFIG_EXT['archive']) { if(mktime(0,0,0,$month,$day,$year) < mktime(0,0,0,$today['month'],$today['day'],$today['year']) && !$CONFIG_EXT['archive']) { $day = $today['day']; $month = $today['month']; $year = $today['year']; $weeknumber = $current_weeknumber; } // Build the category and calendar filters for the url $cat_filter = ''; if(isset($cat_id) && is_numeric($cat_id)) $cat_filter .= "&cat_id=".$cat_id; $cal_filter = ''; if(isset($cal_id) && is_numeric($cal_id)) $cal_filter .= "&cal_id=".$cal_id; // add rss feeds link $feedsLink = $CONFIG_EXT['enable_feeds'] ? JRoute::_($CONFIG_EXT['calendar_calling_page']. '&view=feeds&format=feed') : ''; // insert rss feeds link in head if allowed jclInsertFeedsLinks( $feedsLink); $week_bound = array(); $week_bound = get_week_bounds($day,$month,$year); $fdy = $week_bound['first_day']['year']; $fdm = $week_bound['first_day']['month']; $fdd = $week_bound['first_day']['day']; $ldy = $week_bound['last_day']['year']; $ldm = $week_bound['last_day']['month']; $ldd = $week_bound['last_day']['day']; $period = sprintf($lang_weekly_event_view['week_period'],jcUTCDateToFormatNoOffset( "$fdy-$fdm-$fdd", $lang_date_format['mini_date']), jcUTCDateToFormatNoOffset( "$ldy-$ldm-$ldd", $lang_date_format['mini_date'])); // compute date range $date_stamp = jcUserTimeToUTC(0,0,0,$fdm,$fdd,$fdy); $dateStampOfLastDay = jcUserTimeToUTC( 23,59,59,$ldm,$ldd,$ldy); // check if request is for iCal response, and if yes, process it // if this is an ical request, we won't return from this function call $filename = 'weekly_' . $year . '_' . $weeknumber; jclProcessICalRequest( $filename, $date_stamp, $dateStampOfLastDay); // get events from database $events = get_events( $date_stamp, $dateStampOfLastDay, $CONFIG_EXT['show_recurrent_events'],$CONFIG_EXT['show_overlapping_recurrences_monthlyview']); // start output // header (with links) starttable('100%', $lang_weekly_event_view['section_title'], 3, '', $period); echo "<tr class='tablec'>"; echo "<td class='previousweek'>"; // previous and next week links // Calculationg the week number that contains the first day of current month and year if ($CONFIG_EXT['archive'] || mktime(0,0,0,$fdm,$fdd,$fdy) >= mktime(0,0,0,$today['month'], $today['day'],$today['year'])) { $time_stamp = (mktime(0,0,0,$fdm,$fdd-7,$fdy) >= mktime(0,0,0,$today['month'], $today['day'],$today['year']) || $CONFIG_EXT['archive']) ? mktime(0,0,0,$fdm,$fdd-7,$fdy):mktime(0,0,0,$today['month'], $today['day'],$today['year']); $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=week&date=".date("Y-m-d", $time_stamp) . $cat_filter . $cal_filter ); echo "<span id='shajaxProgressPrevWeek'></span>"; echo "<a href=\"$sef_href\" rel='shajaxLinkPrevWeek extcalendar prefetch' >"; echo $lang_weekly_event_view['previous_week']; echo "</a> "; } // Current week cell $class = 'currentweek' . ($weeknumber == ($current_weeknumber) ? ' currentweektoday' : ''); echo "</td><td class='$class'>"; echo sprintf($lang_weekly_event_view['selected_week'], $weeknumber). "</td>"; // link to next week echo "<td class='nextweek'>"; $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=week&date=".date("Y-m-d", mktime(0,0,0,$ldm,$ldd+1,$ldy)) . $cat_filter . $cal_filter ); echo "<a href=\"$sef_href\" rel='shajaxLinkNextWeek extcalendar prefetch' >"; echo $lang_weekly_event_view['next_week']; echo "</a>"; echo "<span id='shajaxProgressNextWeek'></span>"; echo "</td></tr>\n"; $i = 0; while ($i < 7) { $currentDay = intval( $fdd); $previousweekday = 0; if (!empty( $events[$currentDay])) { while (list(,$event_row) = each($events[$currentDay])) { $event = $event_row[3]; // now we get the whole event from the db JCalEvent::FixUpEvent( $event); $weekday = jcTSToFormat( mktime(0,0,0,$fdm,$fdd,$fdy), '%w'); $weekday++; $date_stamp = mktime(0,0,0,$fdm,$fdd,$fdy); // added to pass date to recurring events $date = jcTSToFormat( $date_stamp, $lang_date_format['full_date'] ); if($previousweekday != $weekday ) { echo "<tr class='tableh2'><td colspan='3' class='tableh2'><a id=\"w".$weekday."\" name=\"w".$weekday."\"></a>$date</td></tr>"; } $previousweekday = $weekday; $urlTargetDate = jcUTCDateToFormat( $event->start_date, '%Y-%m-%d'); $returnTo = JRequest::getString( 'return_to'); if (empty( $returnTo)) { // no pre-existing return to url passed, let's calculate current view url to pass // that as a return url $returnTo = JRoute::_( $CONFIG_EXT['calendar_calling_page'] . "&extmode=week&date=$urlTargetDate" ); $returnTo = base64_encode( $returnTo); } if ($CONFIG_EXT['popup_event_mode']) { $non_sef_href = "index.php?option=" . $option . $Itemid_Querystring ."&extmode=view&extid=".$event->extid . '&tmpl=component' . "&date=$urlTargetDate" . (empty( $returnTo) ? '' : '&return_to=' . $returnTo); $link = 'href="'.JRoute::_($non_sef_href).'" class="jcal_modal" rel="{handler: \'iframe\'}" '; } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=view&extid=". $event->extid . "&date=$urlTargetDate" . (empty( $returnTo) ? '' : '&return_to=' . $returnTo)); $link = "href=\"$sef_href\""; } if ( $CONFIG_EXT['show_event_times_in_weekly_view'] ) { $event_date_string = ' ('.mf_get_timerange($event, $currentDay).')'; } else { $event_date_string = ''; } echo "<tr><td colspan='3'>\n<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n"; echo "<tr><td width='6' bgcolor='".$event->color."'><img src='$mosConfig_live_site/components/com_jcalpro/images/spacer.gif' width='6' height='1' alt='' /></td>\n"; echo "<td class='tableb' width='100%'><div class='eventdesc'><a $link class='eventtitle'>".format_text(sub_string($event->title,$CONFIG_EXT['weekly_view_max_chars'],'...'),false,$CONFIG_EXT['capitalize_event_titles']).$event_date_string."</a>\n"; echo "</div></td>\n"; echo "</tr></table></td></tr>\n"; } } else if (empty( $events[$currentDay]) && JC_SHOW_EMPTY_DAYS_ON_WEEK_VIEWS) { // no events on this day $weekday = jcTSToFormat( mktime(0,0,0,$fdm,$fdd,$fdy), '%w'); $weekday++; $date_stamp = mktime(0,0,0,$fdm,$fdd,$fdy); // added to pass date to recurring events $date = jcTSToFormat( $date_stamp, $lang_date_format['full_date'] ); echo "<tr class='tableh2'><td colspan='3' class='tableh2'><a id=\"w".$weekday."\" name=\"w".$weekday."\"></a>$date</td></tr>"; echo " <!-- BEGIN message_row --> <tr class='tableb'> <td align='center' class='tableb' colspan='3'> <br /> <strong>{$lang_daily_event_view['no_events']}</strong> <br /><br /> </td> </tr> <!-- END message_row --> "; } $fdy = jcTSToFormat( mktime(0,0,0,$fdm,$fdd+1,$fdy), '%Y'); if (jcTSToFormat( mktime(0,0,0,$fdm,$fdd+1,$fdy), '%m')==$fdm) { $fdd = jcTSToFormat( mktime(0,0,0,$fdm,$fdd+1,$fdy), '%d'); } else { $fdm = jcTSToFormat( mktime(0,0,0,$fdm,$fdd+1,$fdy), '%m'); $fdd = jcTSToFormat( mktime(0,0,0,$fdm,1,$fdy), '%d'); } $i++; } if(!$weekday) { // display no events on selected week message echo " <!-- BEGIN message_row --> <tr class='tableb'> <td align='center' class='tableb' colspan='3'> <br /><br /> <strong>{$lang_weekly_event_view['no_events']}</strong> <br /><br /><br /> </td> </tr> <!-- END message_row --> "; } display_cat_legend (3); endtable(); // set the page title $menu = & JSite::getMenu(); $currentMenuItem = $menu->getActive(); jclSetPageTitle( sprintf($lang_weekly_event_view['selected_week'], $weeknumber) . ' | ' . $currentMenuItem->name, 'extcalendar'); if ($CONFIG_EXT['search_view']) extcal_search(); } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] ); theme_redirect_dialog($lang_weekly_event_view['section_title'], $lang_system['section_disabled'], $lang_general['back'], $sef_href); } } function print_monthly_view($date = '') { // function to display monthly events global $CONFIG_EXT, $today, $lang_monthly_event_view, $lang_system, $THEME_DIR; global $lang_general, $lang_date_format, $event_icons, $template_monthly_view, $todayclr, $cat_id, $cal_id; global $lang_event_search_data; if ($CONFIG_EXT['monthly_view'] || has_priv('add')) { // Check date. if no date is passed as argument, then we pick today if (empty($date)) { $day = $today['day']; $month = $today['month']; $year = $today['year']; } else { $day = $date['day']; $month = $date['month']; $year = $date['year']; } // check if "show past events" is enabled, else force the date to today's date if(mktime(0,0,0,$month,$day,$year) < mktime(0,0,0,$today['month'],1,$today['year']) && !$CONFIG_EXT['archive']) { $day = $today['day']; $month = $today['month']; $year = $today['year']; } // insert date into an array an pass it to the theme monthly view $target_date = array( 'day' => $day, 'month' => $month, 'year' => $year ); // Build the category and calendar filters for the url $cat_filter = ''; if(isset($cat_id) && is_numeric($cat_id)) $cat_filter .= "&cat_id=".$cat_id; $cal_filter = ''; if(isset($cal_id) && is_numeric($cal_id)) $cal_filter .= "&cal_id=".$cal_id; // number of days in asked month $nr = date("t", TSServerToUser( mktime(1,0,1,$month,5,$year))); $previous_month_date = jcTSToFormat( mktime(0,0,0,$month-1,1,$year), '%Y-%m-%d'); $next_month_date = jcTSToFormat( mktime(0,0,0,$month+1,1,$year), '%Y-%m-%d'); $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=cal&date=".$previous_month_date . $cat_filter . $cal_filter ); $info_data['previous_month_url'] = $sef_href; $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=cal&date=".$next_month_date . $cat_filter . $cal_filter ); $info_data['next_month_url'] = $sef_href; $info_data['current_month_color'] = ($month == $today['month'] && $year == $today['year']) ? 'background: '.$todayclr : ''; if ($CONFIG_EXT['archive'] || ($month != date("n") || $year != date("Y"))) { $info_data['show_past_months'] = true; } else { $info_data['show_past_months'] = false; } // get the weekdays for ($i=0;$i<=6;$i++) { $array_index = $CONFIG_EXT['day_start']?($i+1)%7:$i; if ($array_index) { $css_class = "weekdaytopclr"; // weekdays } else { $css_class = "sundaytopclr"; // sunday } $info_data['weekdays'][$i]['name'] = $lang_date_format['day_of_week'][$array_index]; $info_data['weekdays'][$i]['class'] = $css_class; } // add rss feeds link $info_data['feeds_main_link'] = $CONFIG_EXT['enable_feeds'] ? JRoute::_($CONFIG_EXT['calendar_calling_page']. '&view=feeds&format=feed' . (!empty($cat_id) ? 'cat_id='.$cat_id : ''). (!empty($cal_id) ? 'cal_id='.$cal_id : '')) : ''; $event_stack = array(); // get all events in one query $date_stamp = jcUserTimeToUTC( 0,0,0,$month,1,$year); // we must use server time, not UTC $dateStampOfLastDay = jcUserTimeToUTC( 23,59,59,$month,$nr,$year); // check if request is for iCal response, and if yes, process it // if this is an ical request, we won't return from this function call $filename = 'monthly_' . $year . '_' . $month; jclProcessICalRequest( $filename, $date_stamp, $dateStampOfLastDay); // continue if this was not an iCal request $events = get_events( $date_stamp, $dateStampOfLastDay, $CONFIG_EXT['show_recurrent_events'],$CONFIG_EXT['show_overlapping_recurrences_monthlyview']); // 'existing' days in month for ($i=1;$i<=$nr;$i++) { $date_stamp = jcUserTimeToUTC( 0,0,0,$month,$i,$year); // we must use not UTC //$event_stack[$i]['events'] = $events; $event_stack[$i]['week_number'] = (int) get_week_number($i, $month, $year); // iterate over each event for this day if (!empty( $events[$i])) { while (list(,$event_info) = each($events[$i])) { // Initialize the event object RP: moved from outside the while loop as we need a new event created each time $event = $event_info[3]; // now we get the whole event from the db JCalEvent::FixUpEvent( $event); $event_style = jclGetStyle(jcUTCDateToTs($date_stamp), $event_info[1],$event_info[2], $event->rec_type_select, $event->rec_id, $event->detached_from_rec); $event_icon = $event_icons[$event_style]; $title = format_text(sub_string($event->title,$CONFIG_EXT['cal_view_max_chars'],'...'),false,$CONFIG_EXT['capitalize_event_titles']); $event_stack[$i]['events'][] = array( 'title' => $title, 'style' => $event_style, 'icon' => $event_icon, 'color' => $event->color, 'extid' => $event->extid, 'eventdata' => $event, 'isPrivate' => $event->private ); } } } theme_monthly_view($target_date, $event_stack, $info_data); if ($CONFIG_EXT['search_view']) extcal_search(); } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] ); theme_redirect_dialog($lang_weekly_event_view['section_title'], $lang_system['section_disabled'], $lang_general['back'], $sef_href); } } function print_flat_view($date = '') { // function to display monthly events in a flat view mode global $CONFIG_EXT, $today, $lang_flat_event_view, $lang_system, $THEME_DIR; global $lang_general, $lang_date_format, $todayclr, $mainframe; global $option, $Itemid_Querystring, $cal_id, $cat_id; $mosConfig_live_site = rtrim( JURI::base(), '/'); if ($CONFIG_EXT['flyer_view'] || has_priv('add')) { // add rss feeds link $feedsLink = $CONFIG_EXT['enable_feeds'] ? JRoute::_($CONFIG_EXT['calendar_calling_page']. '&view=feeds&format=feed') : ''; // insert rss feeds link in head if allowed jclInsertFeedsLinks( $feedsLink); // Check date. if no date is passed as argument, then we pick today if (empty($date)) { $day = $today['day']; $month = $today['month']; $year = $today['year']; } else { $day = $date['day']; $month = $date['month']; $year = $date['year']; } // check if "show past events" is enabled, else force the date to today's date if(mktime(0,0,0,$month,$day,$year) < mktime(0,0,0,$today['month'],1,$today['year']) && !$CONFIG_EXT['archive']) { $day = $today['day']; $month = $today['month']; $year = $today['year']; } // previous month $pm = $month; if ($month == "1") $pm = "12"; else $pm--; // previous year $py = $year; if ($pm == "12") $py--; // next month $nm = $month; if ($month == "12") $nm = "1"; else $nm++; // next year $ny = $year; if ($nm == 1) $ny++; $firstday = jcTSToFormat( mktime(12,0,0,$month,1,$year), '%w'); $firstday++; // nr of days in askedmonth $nr = date("t", TSServerToUser( mktime(12,0,0,$month,1,$year))); // Build the category and calendar filters for the url $cat_filter = ''; if(isset($cat_id) && is_numeric($cat_id)) $cat_filter .= "&cat_id=".$cat_id; $cal_filter = ''; if(isset($cal_id) && is_numeric($cal_id)) $cal_filter .= "&cal_id=".$cal_id; // get all events in one query $date_stamp = jcUserTimeToUTC( 0,0,0,$month,1,$year); // we must use server time, not UTC $dateStampOfLastDay = jcUserTimeToUTC( 23,59,59,$month,$nr,$year); // check if request is for iCal response, and if yes, process it // if this is an ical request, we won't return from this function call $filename = 'flat_' . $year . '_' . $month; jclProcessICalRequest( $filename, $date_stamp, $dateStampOfLastDay); // load events from DB $events = get_events( $date_stamp, $dateStampOfLastDay, $CONFIG_EXT['show_recurrent_events'],$CONFIG_EXT['show_overlapping_recurrences_monthlyview']); // start output $today_date = jcTSToFormat( mktime(0,0,0,$today['month'],$today['day'],$today['year']), $lang_date_format['full_date']); starttable('100%', $lang_flat_event_view['section_title'], 3, '', $today_date); echo "<tr class='tablec'>"; echo "<td class='previousmonth' nowrap='nowrap' width='33%'> "; $previous_month_date = jcTSToFormat( mktime(0,0,0,$pm,1,$py), '%Y-%m-%d'); $next_month_date = jcTSToFormat( mktime(0,0,0,$nm,1,$ny), '%Y-%m-%d'); if ($month != date("n") || $year != date("Y")) { // date for previous month $date = jcTSToFormat( mktime(0,0,0,$pm,1,$py), $lang_date_format['month_year']); $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=flat&date=".$previous_month_date . $cat_filter . $cal_filter ); echo '<span id="shajaxProgressPrevMonth"></span>'; echo "<a href=\"$sef_href\" rel=\"shajaxLinkPrevMonth extcalendar prefetch\">"; echo $date; echo "</a>"; } elseif ($CONFIG_EXT['archive'] == '1') { // date for previous month $date = jcTSToFormat( mktime(0,0,0,$pm,1,$py), $lang_date_format['month_year']); $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=flat&date=".$previous_month_date . $cat_filter . $cal_filter ); echo '<span id="shajaxProgressPrevMonth"></span>'; echo "<a href=\"$sef_href\" rel=\"shajaxLinkPrevMonth extcalendar prefetch\" >"; echo $date; echo "</a>"; } // date for current month $currentMonth = jcTSToFormat( mktime(0,0,0,$month,1,$year), $lang_date_format['month_year']); $class = 'currentmonth' . ($month == $today['month'] && $year == $today['year'] ? ' currentmonthtoday' : ''); echo "</td><td class='$class' nowrap='nowrap'>"; echo $currentMonth."</td>"; // date for next month $date = jcTSToFormat( mktime(0,0,0,$nm,1,$ny), $lang_date_format['month_year']); echo "<td class='nextmonth' nowrap='nowrap' width='33%'>"; $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=flat&date=".$next_month_date . $cat_filter . $cal_filter ); echo "<a href=\"$sef_href\" rel=\"shajaxLinkNextMonth extcalendar prefetch\" >"; echo $date; echo "</a>"; echo '<span id="shajaxProgressNextMonth"></span>'; echo "</td></tr>\n"; for ($i=1;$i<=$nr;$i++) { $date_stamp = mktime(0,0,0,$month,$i,$year); // if result, let's go for that day ! if (!empty( $events[$i])) { $date = jcTSToFormat( mktime(0,0,0,$month,$i,$year), $lang_date_format['full_date']); echo "<tr class='tableh2'><td colspan='3' class='tableh2'><a id=\"w$i\" name=\"w$i\"></a>".$date."</td></tr>"; while (list(,$event_info) = each($events[$i])) { $event = $event_info[3]; // now we get the whole event from the db JCalEvent::FixUpEvent( $event); if ( $CONFIG_EXT['show_event_times_in_flat_view'] ) { $event_date_string = ' ('.mf_get_timerange($event).')'; } else { $event_date_string = ''; } echo "<tr><td colspan='3'>\n<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n"; echo "<tr><td width='6' bgcolor='".$event->color."'><img src='$mosConfig_live_site/components/com_jcalpro/images/spacer.gif' width='6' height='1' alt='' /></td>\n"; $returnTo = JRequest::getString( 'return_to'); if (empty( $returnTo)) { // no pre-existing return to url passed, let's calculate current view url to pass // that as a return url $returnTo = JRoute::_( $CONFIG_EXT['calendar_calling_page'] . "&extmode=flat&date=$year-$month-$day" ); $returnTo = base64_encode( $returnTo); } $urlTargetDate = jcUTCDateToFormat( $event->start_date, '%Y-%m-%d'); if ($CONFIG_EXT['popup_event_mode']) { $non_sef_href = "index.php?option=" . $option . $Itemid_Querystring ."&extmode=view&extid=".$event->extid . '&tmpl=component' . "&date=$urlTargetDate" . (empty( $returnTo) ? '' : '&return_to=' . $returnTo); echo "<td class='tableb' width='100%'><div class='eventdesc'><a href=\"".JRoute::_($non_sef_href)."\" class=\"jcal_modal\" rel=\"{handler: 'iframe'}\" >"; } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=view&extid=". $event->extid . "&date=$urlTargetDate" . (empty( $returnTo) ? '' : '&return_to=' . $returnTo)); echo "<td class='tableb' width='100%'><div class='eventdesc'><a href=\"$sef_href\" class='eventtitle'>"; } echo format_text($event->title,false,$CONFIG_EXT['capitalize_event_titles']).$event_date_string."</a><br />\n"; // picture if ($CONFIG_EXT["flyer_show_picture"]) { if ($event->picture) echo "<img src=\"".$CONFIG_EXT['calendar_url'].'/upload/'.$event->picture."\" align=\"right\" alt=\"\" /><br />"; } // title // description echo process_content(format_text(sub_string($event->description,$CONFIG_EXT['flyer_view_max_chars'],'...'),true,false))."<br />\n"; echo "<img src='$mosConfig_live_site/components/com_jcalpro/images/spacer.gif' width='1' height='4' alt='' /><br />\n"; // contact if ($event->contact) echo "<strong>".$lang_flat_event_view['contact_info']." :</strong> ".stripslashes($event->contact)." \n"; // email if ($event->email) echo "<strong>".$lang_flat_event_view['contact_email']." :</strong> $event->email\n"; // url if ($event->url) echo "<strong>Url:</strong> <a href=".$event->url.">".$event->url."</a>\n"; echo "<img src='$mosConfig_live_site/components/com_jcalpro/images/spacer.gif' width='1' height='8' alt='' /><br />\n"; echo "</div></td></tr></table></td></tr>\n"; } } } display_cat_legend (3); endtable(); // set the page title $menu = & JSite::getMenu(); $currentMenuItem = $menu->getActive(); jclSetPageTitle( $currentMonth . ' | ' . $currentMenuItem->name, 'extcalendar'); if ($CONFIG_EXT['search_view']) extcal_search(); } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] ); theme_redirect_dialog($lang_flat_event_view['section_title'], $lang_system['section_disabled'], $lang_general['back'], $sef_href); } } function print_categories_view() { // function to display a list of event categories global $CONFIG_EXT, $today, $lang_cats_view, $lang_system, $cat_id, $cat_list, $cal_id, $cal_list; global $lang_general, $lang_date_format; $db = &JFactory::getDBO(); if ($CONFIG_EXT['cats_view'] || has_priv('add')) // enabled or not ? { // add rss feeds link $feedsLink = $CONFIG_EXT['enable_feeds'] ? JRoute::_($CONFIG_EXT['calendar_calling_page']. '&view=feeds&format=feed') : ''; // insert rss feeds link in head if allowed jclInsertFeedsLinks( $feedsLink); // read applicable categories list $query = "SELECT * FROM " . $CONFIG_EXT['TABLE_CATEGORIES'] . " WHERE published = '1'"; // apply category restrictions if(!empty($cat_id) && is_numeric($cat_id)) { $query .= " AND cat_id = ".$db->Quote( $cat_id) . ' '; } else if (!empty( $cat_list)) { // if not a specific cat requested, apply categories list restrictions $query .= " AND cat_id IN (" . $cat_list . ") "; } // apply sort order $query .= " ORDER BY cat_name"; // query db $db->setQuery($query); $rows = $db->loadObjectList(); if (empty($rows)) { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] ); theme_redirect_dialog($lang_system['system_caption'], $lang_cats_view['no_cats'], $lang_general['back'], $sef_href); } else { $total_cats = 0; $all_events = 0; $count = 0; $cat_rows = ''; // apply calendar restrictions if (!empty( $cal_id)) { $calendarQuery = " AND cal_id = ".$db->Quote( $cal_id) . ' '; } else if (!empty( $cal_list)) { // if not a specific cal requested, apply calendars list restrictions $calendarQuery = " AND cal_id IN (" . $cal_list . ") "; } foreach( $rows as $row) { if ( has_priv ( 'category' . $row->cat_id ) ) { if($CONFIG_EXT['archive']) { $query = "SELECT * FROM ".$CONFIG_EXT['TABLE_EVENTS'] . " WHERE cat = '$row->cat_id' AND approved = 1 $calendarQuery AND published = 1 ORDER BY title"; } else { $day_pattern = sprintf("%04d%02d%02d",$today['year'],$today['month'],$today['day']); // day pattern: 20041231 for 'December 31, 2004' $query = "SELECT * FROM ".$CONFIG_EXT['TABLE_EVENTS'] . " AS e WHERE (DATE_FORMAT(e.start_date,'%Y%m%d') >= $day_pattern) AND cat = '$row->cat_id' $calendarQuery AND approved = 1 AND published = 1 ORDER BY title"; } $db->setQuery($query); $db->query(); $total_events = $db->getNumRows(); $day_pattern = sprintf("%04d%02d%02d",$today['year'],$today['month'],$today['day']); // day pattern: 20041231 for 'December 31, 2004' $query = "SELECT count(`extid`) FROM ".$CONFIG_EXT['TABLE_EVENTS'] . " AS e WHERE (DATE_FORMAT(e.start_date,'%Y%m%d') > $day_pattern OR DATE_FORMAT(e.recur_until,'%Y%m%d') >= $day_pattern) AND cat = $row->cat_id $calendarQuery AND approved = 1 and published = 1"; $db->setQuery($query); $upcoming_events = $db->loadResult(); $cat_rows[$count]['total_events'] = $total_events; $cat_rows[$count]['upcoming_events'] = $upcoming_events; $cat_rows[$count]['color'] = $row->color; $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=cat&cat_id=".$row->cat_id ); $cat_rows[$count]['link'] = $sef_href; $cat_rows[$count]['cat_id'] = $row->cat_id; $cat_rows[$count]['cat_name'] = stripslashes($row->cat_name); $cat_rows[$count]['description'] = stripslashes($row->description); $all_events += $total_events; $total_cats ++; $count ++; } } $stat_string = sprintf($lang_cats_view['stats_string'], $all_events, $total_cats); theme_cats_list($cat_rows, $stat_string); } if ($CONFIG_EXT['search_view']) extcal_search(); } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] ); theme_redirect_dialog($lang_cats_view['section_title'], $lang_system['section_disabled'], $lang_general['back'], $sef_href); } } function print_cat_content($cat_id) { // function to display events under a specific category global $CONFIG_EXT, $today, $lang_cat_events_view, $lang_system, $next_recurrence_stamp; global $lang_general, $lang_date_format; global $option, $Itemid_Querystring; global $cat_list, $cal_id, $cal_list; $db = &JFactory::getDBO(); if ( ( $CONFIG_EXT['cats_view'] || has_priv('add') ) AND ( has_priv ( 'category' . $cat_id ) ) ) // enabled or not ? { // add rss feeds link $feedsLink = $CONFIG_EXT['enable_feeds'] ? JRoute::_($CONFIG_EXT['calendar_calling_page']. '&view=feeds&format=feed&cat_id='.$cat_id) : ''; // insert rss feeds link in head if allowed jclInsertFeedsLinks( $feedsLink); // check requested cat_id is within the current page authorized cat list (from menu item parameter) if (!empty( $cat_list)) { $list = explode( ',', $cat_list); if (!empty( $list)) { foreach($list as $key => $listItem) { $list[$key] = intval( $listItem); } if (!in_array($cat_id, $list)) { $cat_id = ''; } } } $cat_info = get_cat_info($cat_id); if (!$cat_info) { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] . "&extmode=cats" ); theme_redirect_dialog($lang_system['system_caption'], $lang_system['non_exist_cat'], $lang_general['back'], $sef_href); } else { $total_cats = 0; $count = 0; $event_rows = ''; // apply calendar restrictions if (!empty( $cal_id)) { $calendarQuery = " AND cal_id = ".$db->Quote( $cal_id) . ' '; } else if (!empty( $cal_list)) { // if not a specific cal requested, apply calendars list restrictions $calendarQuery = " AND cal_id IN (" . $cal_list . ") "; } if($CONFIG_EXT['archive']) { $query = "SELECT * FROM ".$CONFIG_EXT['TABLE_EVENTS'] . " WHERE cat = '$cat_id' $calendarQuery AND approved = 1 AND published = 1 ORDER BY start_date asc, title asc"; } else { $day_pattern = sprintf("%04d%02d%02d",$today['year'],$today['month'],$today['day']); // day pattern: 20041231 for 'December 31, 2004' $query = "SELECT * FROM ".$CONFIG_EXT['TABLE_EVENTS'] . " AS e WHERE (DATE_FORMAT(e.start_date,'%Y%m%d') >= $day_pattern OR DATE_FORMAT(e.end_date,'%Y%m%d') >= $day_pattern) AND cat = '$cat_id' $calendarQuery AND approved = 1 AND published = 1 ORDER BY start_date asc, title asc"; } $db->setQuery( $query); $rows = $db->loadObjectList(); // find time constraints $date_stamp = $CONFIG_EXT['archive'] ? JCL_DATE_MIN : jcUserTimeToUTC( 0,0,0,$today['month'],$today['day'],$today['year']); // we must use server time, not UTC $dateStampOfLastDay = JCL_DATE_MAX; // load events from DB $rows = get_events( $date_stamp, $dateStampOfLastDay, $CONFIG_EXT['show_recurrent_events'],$CONFIG_EXT['show_overlapping_recurrences_monthlyview']); $total_events = $rows === false ? false : count( $rows); if ($total_events) { foreach( $rows as $day => $dayRow) { foreach( $dayRow as $rawRow) { $row = $rawRow[3]; /*$month = ($row->month)?$lang_date_format['months'][$row->month-1]:$lang_general['everymonth']; $year = ($row->year)?$row->year:$lang_general['everyyear']; $eventStartDay = jcUTCDateToFormat( $row->start_date, '%d'); $eventEndDay = jcUTCDateToFormat( $row->end_date, '%d'); if ( $day == $eventStartDay) { // we are on the day the event start $event_rows[$count]['date'] = mf_process_category_date($row, $day); } else if ( $day == $eventEndDay) { // we are on the day the event ends $event_rows[$count]['date'] = mf_process_category_date($row, $day); } else { // we are on another day // get current month/year $curMonth = jcUTCDateToFormat( $row->start_date, '%m'); $curYear = jcUTCDateToFormat( $row->start_date, '%Y'); $eventCurDateTS = jcUserTimeToUTC( 0,0,0,$curMonth,$day, $curYear); $event_rows[$count]['date'] = jcUTCDateToFormat( $eventCurDateTS, $lang_date_format['full_date']) . ' (...)'; }*/ $event_rows[$count]['date'] = mf_process_category_date($row, $day); if ($CONFIG_EXT['popup_event_mode']) { $non_sef_href = "index.php?option=" . $option . $Itemid_Querystring ."&extmode=view&extid=".$row->extid . '&tmpl=component'; $event_rows[$count]['link'] = 'href="' . $non_sef_href . '" class="jcal_modal" rel="{handler: \'iframe\'}" '; } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page']."&extmode=view&extid=".$row->extid ); $event_rows[$count]['link'] = "href='$sef_href'"; } $event_rows[$count]['extid'] = $row->extid; $event_rows[$count]['title'] = format_text(sub_string($row->title,$CONFIG_EXT['cats_view_max_chars'],'...'),false,$CONFIG_EXT['capitalize_event_titles']); $count ++; } } } $stats['total_events'] = (int)$total_events; // check if request is for iCal response, and if yes, process it // if this is an ical request, we won't return from this function call $filename = 'cat_' . $cat_id; $eventList = null; $format = JRequest::getVar( 'format', 'html'); if ($format == 'ical' && $total_events) { // pre-process events, to match format of other views foreach($rows as $dayEvents) { foreach( $dayEvents as $event) { $eventList[] = $event; } } } jclProcessICalRequest( $filename, null, null, $eventList); theme_cat_events_list($event_rows, $cat_info, $stats); } if ($CONFIG_EXT['search_view']) extcal_search(); } else { $sef_href = JRoute::_( $CONFIG_EXT['calendar_calling_page'] ); theme_redirect_dialog($lang_cats_view['section_title'], $lang_system['section_disabled'], $lang_general['back'], $sef_href); } } /** * Echoes the content of the minical. Used for ajax updates * */ function print_minical() { // fetch the module parameters $moduleId = JRequest::getString( 'minical_id', 0); if ($moduleId == 'cbjcalprominical') { // calling from CB plugin, need to get params from CB $db = &JFactory::getDBO(); $query = 'SELECT params FROM `#__comprofiler_plugin` WHERE element = ' . $db->Quote( 'cbjcalprominical'); $db->setQuery( $query); $rawParams = $db->loadResult(); $params = new JParameter($rawParams); } else if ($moduleId == 'jsjcalprominical') { // calling from joomsocial plugin, need to get params from js $db = &JFactory::getDBO(); $query = 'SELECT params FROM `#__plugins` WHERE element = ' . $db->Quote( 'jsjcalprominical'); $db->setQuery( $query); $rawParams = $db->loadResult(); $params = new JParameter($rawParams); } else { // sanitize $moduleId = intval( $moduleId); // normal call, from main page : get params from module jimport( 'joomla.application.module.helper'); $mod = jclGetModuleById( $moduleId); if ($mod->name != 'jcalpro_minical_J15') { return; } $params = new JParameter( $mod->params); } // include the required code if( is_readable(JPATH_ROOT. DS. 'components'.DS.'com_jcalpro'.DS.'include'.DS.'minical.inc.php') ) { include( JPATH_ROOT. DS. 'components'.DS.'com_jcalpro'.DS.'include'.DS.'minical.inc.php' ); } else { // don't do anything return; } // get the module output $moduleContent = jclMinical( $params, $moduleId); // echo it echo $moduleContent; } ?>
/home/poliximo/public_html/4690b/../home_/plugins/../components/com_jcalpro/jcalpro.php