DonatShell
Server IP : 180.180.241.3  /  Your IP : 216.73.216.252
Web Server : Microsoft-IIS/7.5
System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586
User : IUSR ( 0)
PHP Version : 5.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /AppServ/www/news/modules/mod_eventlistcal15q/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /AppServ/www/news/modules/mod_eventlistcal15q/helper.php
<?php
/**
 * Helper class for mod_eventlistcalq module
 * 
 * @package    Qivva Eventlist Calendar Module for Joomla 1.5.x
 * @subpackage Modules
 * @link http://extensions.qivva.com
 * @license        http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * @copyright (C) 2008 Toni Smillie www.qivva.com
 * Eventlist Calendar Q by Toni Smillie www.qivva.com
 * 
* Version 0.93 
* Changes for v0.93:
* Added nofollow to month links
* Fixed accents problem with htmlentities
* Common template padding problem with th fixed - now declares 0px padding
* Use upgrade method for install
* Separate switch for current and archive events - so now can get both at the same time
* Internal - Title Separator changed from + to +%+%+
* Fix for double slash in stylesheet reference
* Allow user defined stylesheets
* UTF-8 fix for mb_substr and mb_convert_case
* Fixed right border on month header
*
  * Version 0.8
 * Changes for v0.8
 * 1. Roll over year end bug fixed
 * 2. Check for mb_substr
 * 3. Removed hard coded text align center (Now uses stylesheet)
  * Version 0.7
 * Changes for v0.7
 * 1. Removed JDate again - causing too many date/time problems
 * 2. Better Tooltips
 * Version 0.6
 * Changes for v0.6
 * 1. Use JDate for month and day languages
 * 2. XHTML validation fixes
 * 3. Tests if mbstring functions are installed before using them, defaults to ucfirst if no mb_convert_case
 * 4. Allows a calendar offset so can have multiple calendars displaying different months
 *
  * Version 0.5
 * Changes for v0.5
 * 1. Remember which month was being viewed, so doesn't revery back to "today" on a page change - controlled by Parameter
 * 2. Fix for Windows IIS servers
 * 3. Fix for SEF links
 * 4. Replace instead of concatenate month view changes
 * 5. Set $month_href = NULL; (bug fix)
 * 6. Use multibyte strings for days and months. Parameter overrides for locale and charset.
 *
 * Version 0.4
 * Changes for v0.4
 * 1. New Parameters Category ID and Venue ID to allow for filtering of calendar module events
 * 2. Removed the 2 styling parameters form the parameter list. All styling is now done in the CSS
 * 3. Enhanced styling and new stylesheet
 * 
 * Changes for v0.3
 * 1. Fixed timeoffset properly for Joomla 1.5
 * 2. Fixed problem that caused "Notice: Undefined index:" with PHP5
 * 
 * Changes for v0.2
 * 1. Added Title on Tooltips
 * 2. Fix for time offset
 * 3 Bug fix - not picking up all events when on the same day
 * 
 * Original Eventlist calendar from Christoph Lukes www.schlu.net
 * PHP Calendar (version 2.3), written by Keith Devens
 * http://keithdevens.com/software/php_calendar
 * see example at http://keithdevens.com/weblog
 * License: http://keithdevens.com/software/license
*/

class modeventlistcalqhelper
{

	function getdays ($greq_year, $greq_month, &$params)
	{
		$db			=& JFactory::getDBO();
		$user		=& JFactory::getUser();
		
		$catid 				= trim( $params->get('catid') );
		$venid 				= trim( $params->get('venid') );
		$StraightToDetails	= $params->get( 'StraightToDetails', '1' );	
		$DisplayCat			= $params->get( 'DisplayCat', '0' );
		$DisplayVenue		= $params->get( 'DisplayVenue', '0' );
		$ArchivedEvents		= $params->get( 'ArchivedEvents', '0' );
		$CurrentEvents		= $params->get( 'CurrentEvents', '1' );
		
		//Get eventdates
		if ($catid)
		{
			$ids = explode( ',', $catid );
			JArrayHelper::toInteger( $ids );
			$categories = ' AND (c.id=' . implode( ' OR c.id=', $ids ) . ')';
		}
		if ($venid)
		{
			$ids = explode( ',', $venid );
			JArrayHelper::toInteger( $ids );
			$venues = ' AND (l.id=' . implode( ' OR l.id=', $ids ) . ')';
		}
		 if ($CurrentEvents==1) 
		 {
		  $wherestr = ' WHERE a.published = 1';
		 }
		 else
		 {
		  $wherestr = ' WHERE a.published = 0';
		 }

		 if ($ArchivedEvents==1) 
		 {
		   $wherestr = $wherestr. ' OR a.published = -1';
		 }
		 
		$query = 'SELECT a.*, l.venue, DAYOFMONTH(a.dates) AS created_day, YEAR(a.dates) AS created_year, MONTH(a.dates) AS created_month,c.id AS mcatid,c.catname,l.id AS mlocid,l.venue,'
		.' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug'
		. ' FROM #__eventlist_events AS a'
		. ' LEFT JOIN #__eventlist_categories AS c ON c.id = a.catsid'
		. ' LEFT JOIN #__eventlist_venues AS l ON l.id = a.locid'
		. $wherestr
		. ' AND c.access <= '.(int)$user->aid
		.($catid ? $categories : '')
		.($venid ? $venues : '')	
		;
		
		
		$db->setQuery( $query );
		$events = $db->loadObjectList();
		
		$days = array();
		foreach ( $events as $event )
		{
		   // Cope with no end date set i.e. set it to same as start date
			if  (($event->enddates == '0000-00-00') or (is_null($event->enddates)))
			{
				$eyear = $event->created_year;
				$emonth = $event->created_month;
				$eday = $event->created_day;
		
			}
			else
			{
				list($eyear, $emonth, $eday) = explode('-', $event->enddates);
			}
			// The two cases for roll over the year end with an event that goes across the year boundary.
			if ($greq_year < $eyear) 
			{
				$emonth = $emonth + 12; 
			}
					
			if ($event->created_year < $greq_year) 
			{
				$event->created_month = $event->created_month - 12;
			}

			if (  ($greq_year >= $event->created_year) && ($greq_year <= $eyear) 
			   && ($greq_month >= $event->created_month) && ($greq_month <= $emonth) )
		   {
			// Set end day for current month

				if ($emonth > $greq_month)
				{
					$emonth = $greq_month;

		//			$eday = cal_days_in_month(CAL_GREGORIAN, $greq_month,$greq_year);
					$eday = date('t', mktime(0,0,0, $greq_month, 1, $greq_year));
				}

			// Set start day for current month
				if ($event->created_month < $greq_month)
				{
					$event->created_month = $greq_month;
					$event->created_day = 1;
				}	
				$stod = 1;			
				for ($count = $event->created_day; $count <= $eday; $count++)
				{
		
				$uxdate = mktime(0,0,0,$greq_month,$count,$greq_year); 
				$tdate = strftime('%Y%m%d',$uxdate);// Toni change Joomla 1.5
				$created_day = $count;
		
	//			$tt = $days[$count][1];
		
	//			if (strlen($tt) == 0)

					if (empty($days[$count][1]))
					{
						$title = htmlspecialchars($event->title);
						if ($DisplayCat ==1)
						{
							$title = $title . '&nbsp;(' . htmlspecialchars($event->catname) . ')';
						}
						if ($DisplayVenue == 1)
						{
							if (isset($event->venue)) 
							{
							$title = $title . '&nbsp;@' . htmlspecialchars($event->venue);
							}
						}
						$stodid = $event->id;
						$stod = 1;
					}
					else
					{
						$tt = $days[$count][1];
						$title = $tt . '+%+%+' . htmlspecialchars($event->title);
						if ($DisplayCat ==1)
						{
							$title = $title . '&nbsp;(' . htmlspecialchars($event->catname) . ')';
						}
						if ($DisplayVenue == 1)
						{
							if (isset($event->venue)) 
							{
							$title = $title . '&nbsp;@' . htmlspecialchars($event->venue);
							}
						}
						$stod = 0;
					}	
					if (($StraightToDetails == 1) and ($stod==1))
					{
						$link = JRoute::_( EventListHelperRoute::getRoute($event->slug) );
						
					}
					else
					{	
						$link			= EventListHelperRoute::getRoute( $tdate, 'day') ;
					}		
				$days[$count] = array($link,$title);
				}
		}
	// End of Toni modification	
	}
	return $days;
	} //End of function getdays
} //End class

?> 

Anon7 - 2022
AnonSec Team