<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<?php
//Month Names
$uxtime_first_of_month = gmmktime(0, 0, 0, $prev_month, 1, $offset_year);
list($tmp, $year, $prev_month, $weekday) = explode(',', gmstrftime('%m,%Y,%b,%w', $uxtime_first_of_month));
$uxtime_first_of_month = gmmktime(0, 0, 0, $next_month, 1, $offset_year);
list($tmp, $year, $next_month, $weekday) = explode(',', gmstrftime('%m,%Y,%b,%w', $uxtime_first_of_month));
//Creating switching links
$pn = array( $prev_month=>$prev_link, $next_month=>$next_link);
$document = &JFactory::getDocument();
$document->addStyleSheet( JURI::base() . '/modules/mod_eventlistcal15q/mod_eventlistcal15q.css' );
//Output
echo "<div class='eventcalq' align='center'>";
$calendar = '';
$month_href = NULL;
$year = $offset_year;
$month = $offset_month;
$uxtime_first_of_month = gmmktime(0, 0, 0, $month, 1, $year);
#remember that mktime will automatically correct if invalid dates are entered
# for instance, mktime(0,0,0,12,32,1997) will be the date for Jan 1, 1998
# this provides a built in "rounding" feature to generate_calendar()
$day_names = array(); #generate all the day names according to the current locale
$day_names_short = array();
$day_names_long = array();
if ($UseJoomlaLanguage == 1)
{
if ($first_day ==1)
{
$day_names_long = array(JText::_('MONDAY'),JText::_('TUESDAY'),JText::_('WEDNESDAY'),JText::_('THURSDAY'),JText::_('FRIDAY'),JText::_('SATURDAY'),JText::_('SUNDAY'));
$day_names_short = array(JText::_('MON'),JText::_('TUE'),JText::_('WED'),JText::_('THU'),JText::_('FRI'),JText::_('SAT'),JText::_('SUN'));
}
else
{
$day_names_long = array(JText::_('SUNDAY'),JText::_('MONDAY'),JText::_('TUESDAY'),JText::_('WEDNESDAY'),JText::_('THURSDAY'),JText::_('FRIDAY'),JText::_('SATURDAY'));
$day_names_short = array(JText::_('SUN'),JText::_('MON'),JText::_('TUE'),JText::_('WED'),JText::_('THU'),JText::_('FRI'),JText::_('SAT'));
}
}
else
{
for( $n = 0, $t = ( 3 + $first_day ) *24 *60 *60; $n < 7; ++$n, $t += 24 *60 *60) #January 4, 1970 was a Sunday
{
if (!function_exists('mb_convert_case'))
{
$day_names_long[$n] = ucfirst(gmstrftime('%A',$t)); #%A means full textual day name
$day_names_short[$n] = ucfirst(gmstrftime('%A',$t)); #%a means short day name
}
else
{
$day_names_long[$n] = mb_convert_case(gmstrftime('%A',$t),MB_CASE_TITLE); #%A means full textual day name
$day_names_short[$n] = mb_convert_case(gmstrftime('%A',$t),MB_CASE_TITLE); #%a means short day name
}
}
}
// print_r (array_values($day_names_long));
list($month, $year, $month_name_long, $month_name_short, $weekday) = explode(',', gmstrftime('%m,%Y,%B,%b,%w', $uxtime_first_of_month));
if ($UseJoomlaLanguage == 1)
{
switch ($month)
{
case 1: $month_name_short= JText::_('JANUARY_SHORT');
$month_name_long = JText::_('JANUARY');
break;
case 2: $month_name_short= JText::_('FEBRUARY_SHORT');
$month_name_long = JText::_('FEBRUARY');
break;
case 3: $month_name_short= JText::_('MARCH_SHORT');
$month_name_long = JText::_('MARCH');
break;
case 4: $month_name_short= JText::_('APRIL_SHORT');
$month_name_long = JText::_('APRIL');
break;
case 5: $month_name_short= JText::_('MAY_SHORT');
$month_name_long = JText::_('MAY');
break;
case 6: $month_name_short= JText::_('JUNE_SHORT');
$month_name_long = JText::_('JUNE');
break;
case 7: $month_name_short= JText::_('JULY_SHORT');
$month_name_long = JText::_('JULY');
break;
case 8: $month_name_short= JText::_('AUGUST_SHORT');
$month_name_long = JText::_('AUGUST');
break;
case 9: $month_name_short= JText::_('SEPTEMBER_SHORT');
$month_name_long = JText::_('SEPTEMBER');
break;
case 10: $month_name_short= JText::_('OCTOBER_SHORT');
$month_name_long = JText::_('OCTOBER');
break;
case 11: $month_name_short= JText::_('NOVEMBER_SHORT');
$month_name_long = JText::_('NOVEMBER');
break;
case 12: $month_name_short= JText::_('DECEMBER_SHORT');
$month_name_long = JText::_('DECEMBER');
break;
}
}
$weekday = ($weekday + 7 - $first_day) % 7; #adjust for $first_day
$year_length = $Year_length ? $year : substr($year, 2, 3);
if (!function_exists('mb_convert_case'))
{
$the_month = ucfirst($Month_length ? $month_name_short : $month_name_long);
}
else
{
$the_month = mb_convert_case($Month_length ? $month_name_short : $month_name_long ,MB_CASE_TITLE);
}
$title = $the_month.' '.$year_length; #note that some locales don't capitalize month and day names
#Begin calendar. Uses a real <caption>. See http://diveintomark.org/archives/2002/07/03
// Modified by Toni to display << and >> for previous and next months
@list($p, $pl) = each($pn); @list($n, $nl) = each($pn); #previous and next links, if applicable
// Modified by Toni to display << and >> for previous and next months
if($p) $p = ($pl ? '<a href="'.htmlspecialchars($pl).'"><< </a>' : $p).' '; //Modified by Toni
if($n) $n = ' '.($nl ? '<a href="'.htmlspecialchars($nl).'"> >></a>' : $n); //Modified by Toni
$month_href = NULL;
$calendar .= '<table class="mod_eventlistcalq_calendar" cellspacing="0" cellpadding="0">'."\n".
'<caption class="mod_eventlistcalq_calendar-month">'.$p.($month_href ? '<a href="'.htmlspecialchars($month_href).'">'.$title.'</a>' : $title).$n."</caption>\n<tr>";
if($day_name_length){ #if the day names should be shown ($day_name_length > 0)
#if day_name_length is >3, the full name of the day will be printed
if ($day_name_length >3){
foreach($day_names_long as $d)
$calendar .= '<th class="mod_eventlistcalq_daynames" abbr="'.$d.'"> '.$d.' </th>';
$calendar .= "</tr>\n<tr>";
}
else
{
foreach($day_names_short as $d)
if (function_exists('mb_substr'))
{
$calendar .= '<th class="mod_eventlistcalq_daynames" abbr="'.$d.'"> '.mb_substr($d,0,$day_name_length).' </th>';
}
else
{
$calendar .= '<th class="mod_eventlistcalq_daynames" abbr="'.$d.'"> '.substr($d,0,$day_name_length).' </th>';
}
$calendar .= "</tr>\n<tr>";
}
}
// Today
$config =& JFactory::getConfig();
$tzoffset = $config->getValue('config.offset');
$time = time() + (($tzoffset + $Time_offset)*60*60); //25/2/08 Change for v 0.6 to incorporate server offset into time;
$today = date( 'j', $time);
$currmonth = date( 'm', $time);
$curryear = date( 'Y', $time);
for ($counti = 0; $counti < $weekday; $counti++) {
$calendar .= '<td class="mod_eventlistcalq"> </td>'; #initial 'empty' days
}
for($day = 1, $days_in_month = gmdate('t', $uxtime_first_of_month); $day <= $days_in_month; $day++, $weekday++) {
if($weekday == 7){
$weekday = 0; #start a new week
$calendar .= "</tr>\n<tr>";
}
if (($day == $today) & ($currmonth == $month) & ($curryear == $year)) {
$istoday = 1;
} else {
$istoday = 0;
}
$tdbaseclass = ( $istoday ) ? 'mod_eventlistcalq_caltoday' : 'mod_eventlistcalq_calday';
//space in front of daynumber when day < 10
($day < 10) ? $space = ' ': $space = '';
if (isset($days[$day][1]))
{
$link = $days[$day][0];
$title = $days[$day][1];
if ($Show_Tooltips==1)
{
$calendar .= '<td class="'.$tdbaseclass.'link">';
if ($link)
{
$tip = '';
$title = explode('+', $title);
if ($Show_Tooltips_Title == 1)
{
if (count( $title ) > 1) {
$tipTitle = count( $title ) . ' ' . JText::_($CalTooltipsTitlePl);
}
else {
$tipTitle = '1 ' . JText::_($CalTooltipsTitle);
}
}
else
{
$tipTitle = '';
}
foreach ( $title as $t ) {
$tip .= trim($t) . '<br />';
}
$calendar .= JHTML::tooltip($tip, $tipTitle, 'tooltip.png', $space.$day, htmlspecialchars($link));
}
$calendar .= '</td>';
}
else
{
$calendar .= '<td class="'.$tdbaseclass.'link">'.($link ? '<a href="'.htmlspecialchars($link).'">'.$space.$day.'</a>' : $space.$day).'</td>';
}
} else {
$calendar .= '<td class="'.$tdbaseclass.'">'.$space.$day.'</td>';
}
}
for ($counti = $weekday; $counti < 7; $counti++) {
$calendar .= '<td class="mod_eventlistcalq"> </td>'; #remaining 'empty' days
}
echo $calendar."</tr>\n</table>\n";
echo "</div>";
?>
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
by: gamebitsPosted on 2009-07-02 at 13:10:39ID: 24767292
Can you post the source code of an actual page so we can relate with the script?