2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
5 /*********************************************************************************
6 * SugarCRM is a customer relationship management program developed by
7 * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
9 * This program is free software; you can redistribute it and/or modify it under
10 * the terms of the GNU Affero General Public License version 3 as published by the
11 * Free Software Foundation with the addition of the following permission added
12 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
13 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
14 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
16 * This program is distributed in the hope that it will be useful, but WITHOUT
17 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18 * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
21 * You should have received a copy of the GNU Affero General Public License along with
22 * this program; if not, see http://www.gnu.org/licenses or write to the Free
23 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
27 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
29 * The interactive user interfaces in modified source and object code versions
30 * of this program must display Appropriate Legal Notices, as required under
31 * Section 5 of the GNU Affero General Public License version 3.
33 * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
34 * these Appropriate Legal Notices must retain the display of the "Powered by
35 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
36 * technical reasons, the Appropriate Legal Notices must display the words
37 * "Powered by SugarCRM".
38 ********************************************************************************/
40 /////////////////////////////////
42 /////////////////////////////////
44 function template_cal_tabs($args) {
45 global $mod_strings, $sugar_version, $sugar_config;
46 $tabs = array('day', 'week', 'month', 'year', 'shared');
48 if($args['view'] != 'day') {
49 echo '<script type="text/javascript" src="' . getJSPath('include/javascript/sugar_grp_overlib.js') . '"></script>
50 <div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>';
54 <table id="cal_tabs" width="100%" border="0" cellpadding="0" cellspacing="0">
61 foreach($tabs as $tab) {
63 <input type="button" <?php if($args['view'] == $tab) {?>selected="selected" <?php } ?> value=" <?php echo $mod_strings["LBL_".$args['calendar']->get_view_name($tab)]; ?> " title="<?php echo $mod_strings["LBL_".$args['calendar']->get_view_name($tab)]; ?>" onclick="window.location.href='index.php?module=Calendar&action=index&view=<?php echo $tab; ?><?php echo $args['calendar']->date_time->get_date_str(); ?>'">
73 /////////////////////////////////
75 /////////////////////////////////
76 function template_cal_month_slice($args) {
80 template_echo_slice_date($args);
83 $cal_arr['month'] = $args['slice']->start_time->month;
84 $cal_arr['year'] = $args['slice']->start_time->year;
85 $newargs['calendar'] = new Calendar('month', $cal_arr);
86 $newargs['calendar']->show_only_current_slice = true;
87 $newargs['calendar']->show_activities = false;
88 $newargs['calendar']->show_week_on_month_view = false;
89 template_calendar_month($newargs);
95 /////////////////////////////////
97 /////////////////////////////////
98 function template_echo_slice_activities($args) {
99 global $app_list_strings, $current_user, $app_strings;
103 if(empty($args['slice']->acts_arr[$current_user->id])) {
106 foreach($args['slice']->acts_arr[$current_user->id] as $act) {
108 foreach($act->sugar_bean->field_name_map as $field) {
109 if(!empty($act->sugar_bean->$field['name']))
110 $fields[strtoupper($field['name'])] = $act->sugar_bean->$field['name'];
113 $extra = "id=\"adspan_{$act->sugar_bean->id}\" "
114 . "onmouseover=\"return SUGAR.util.getAdditionalDetails( '{$act->sugar_bean->module_dir}','{$act->sugar_bean->id}', 'adspan_{$act->sugar_bean->id}');\" "
115 . "onmouseout=\"return SUGAR.util.clearAdditionalDetailsCall()\" onmouseout=\"return nd(1000);\" ";
119 echo '<div style="margin-top: 1px;"><table cellpadding="0" cellspacing="0"
120 border="0" width="100%"><tr>';
121 if($act->sugar_bean->object_name == 'Call') {
122 if ( isset($app_list_strings['call_status_dom'][$act->sugar_bean->status]) ) {
123 $callStatus = $app_list_strings['call_status_dom'][$act->sugar_bean->status];
128 echo '<td>' . SugarThemeRegistry::current()->getImage('Calls','alt="'.$app_list_strings['call_status_dom'][$act->sugar_bean->status].': '.$act->sugar_bean->name.'"') . '</td>
129 <td width="100%"><a ' . $extra . ' href="index.php?module=Calls&action=DetailView&record=' .
130 $act->sugar_bean->id . '">' . $callStatus . ': ' . $act->sugar_bean->name . '</a></td>';
131 } else if($act->sugar_bean->object_name == 'Meeting') {
132 if ( isset($app_list_strings['meeting_status_dom'][$act->sugar_bean->status]) ) {
133 $meetingStatus = $app_list_strings['meeting_status_dom'][$act->sugar_bean->status];
138 $out = '<td>' . SugarThemeRegistry::current()->getImage('Meetings','alt="'.$app_list_strings['meeting_status_dom'][$act->sugar_bean->status].': '.$act->sugar_bean->name.'"') . '</td>
139 <td width="100%"><a ' . $extra . ' href="index.php?module=Meetings&action=DetailView&record=' .
140 $act->sugar_bean->id . '">' . $meetingStatus . ': ' . $act->sugar_bean->name .'</a>';
142 ///////////////////////////////////////////////////////////////
143 //// MEETING INTEGRATION
144 if(method_exists($act->sugar_bean, 'hasIntegratedMeeting')) {
145 if($act->sugar_bean->hasIntegratedMeeting()) {
146 $out .= $act->sugar_bean->miIcon;
149 //// END MEETING INTEGRATION
150 ///////////////////////////////////////////////////////////////
154 } else if($act->sugar_bean->object_name == 'Task') {
155 echo '<td>' . SugarThemeRegistry::current()->getImage('Tasks','alt="'.$app_list_strings['task_status_dom'][$act->sugar_bean->status].': '.$act->sugar_bean->name.'"') . '</td>
156 <td width="100%"><a ' . $extra . ' href="index.php?module=Tasks&action=DetailView&record=' . $act->sugar_bean->id . '">'.$app_list_strings['task_status_dom'][$fields['STATUS']].': ' . $act->sugar_bean->name . '</a></td>';
158 echo '</tr></table><div>';
162 function template_echo_slice_activities_shared($args) {
163 global $app_list_strings;
165 global $shared_user, $timedate;
167 if(empty($args['slice']->acts_arr[$shared_user->id])) {
173 foreach($args['slice']->acts_arr[$shared_user->id] as $act) {
175 echo "<div style=\"margin-top: 1px;\">
176 <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\">";
178 if($act->sugar_bean->object_name == 'Call') {
179 echo "<tr><td>" . SugarThemeRegistry::current()->getImage('Calls','alt=\"'.$app_list_strings['call_status_dom'][$act->sugar_bean->status].': '.$act->sugar_bean->name.'\"') . "</td>";
181 if(empty($act->sugar_bean->name)) {
182 echo "<td width=\"100%\">";
183 echo $timedate->getTimePart($act->sugar_bean->date_start);
186 echo "<td width=\"100%\">
187 <a href=\"index.php?module=Calls&action=DetailView&record=".
188 $act->sugar_bean->id."\">".
189 $app_list_strings['call_status_dom'][$act->sugar_bean->status].": ".
190 $act->sugar_bean->name."<br>(".
191 $timedate->getTimePart($act->sugar_bean->date_start).")</a></td></tr>";
193 } else if($act->sugar_bean->object_name == 'Meeting') {
195 SugarThemeRegistry::current()->getImage('Meetings','alt=\"'.$app_list_strings['meeting_status_dom'][$act->sugar_bean->status].': '.$act->sugar_bean->name.'\"');
198 if(empty($act->sugar_bean->name)) {
199 echo "<td width=\"100%\">".
200 $timedate->getTimePart($act->sugar_bean->date_start);
203 echo "<td width=\"100%\">
204 <a href=\"index.php?module=Meetings&action=DetailView&record=".
205 $act->sugar_bean->id."\">".
206 $app_list_strings['meeting_status_dom'][$act->sugar_bean->status].":".
207 $act->sugar_bean->name."<br>(".
208 $timedate->getTimePart($act->sugar_bean->date_start).")</a>";
210 // MEETING INTEGRATION
211 if($act->sugar_bean->hasIntegratedMeeting()) {
212 $out .= $act->sugar_bean->miIcon;
214 // END MEETING INTEGRATION
216 $out .= "</td></tr>";
219 } else if($act->sugar_bean->object_name == 'Task') {
221 SugarThemeRegistry::current()->getImage('Tasks','alt="'.$app_list_strings['task_status_dom'][$act->sugar_bean->status].': '.$act->sugar_bean->name.'"');
224 if(empty($act->sugar_bean->name)) {
225 echo "<td width=\"100%\">".
226 $timedate->getTimePart($act->sugar_bean->date_due);
229 echo "<td width=\"100%\">
230 <a href=\"index.php?module=Tasks&action=DetailView&record=".
231 $act->sugar_bean->id."\">".
232 $app_list_strings['task_status_dom'][$act->sugar_bean->status].': '.$act->sugar_bean->name."<br>(".
233 $timedate->getTimePart($act->sugar_bean->date_due).")</a></td></tr>";
236 echo "</table></div>";
240 /////////////////////////////////
242 /////////////////////////////////
243 function template_cal_day_slice($args) {
245 echo "cale:".$args['calendar']->view;
246 echo "cal1:".$args['calendar']->date_time->month;
247 echo "cal3:".$args['slice']->date_time->month;
249 if($args['calendar']->show_only_current_slice == false || $args['calendar']->date_time->month == $args['slice']->start_time->month) {
250 template_echo_slice_date($args);
252 if($args['calendar']->show_activities == true) {
253 template_echo_slice_activities($args);
259 /////////////////////////////////
261 /////////////////////////////////
262 function template_calendar($args) {
264 if(isset($args['size']) && $args['size'] == 'small') {
265 $args['calendar']->show_activities = false;
266 $args['calendar']->show_week_on_month_view = false;
270 $newargs['view'] = $args['view'];
271 $newargs['calendar'] = $args['calendar'];
272 if(!isset($args['size']) || $args['size'] != 'small') {
273 template_cal_tabs($newargs);
276 if(isset($_REQUEST['view']) && $_REQUEST['view'] == 'shared') {
278 global $current_user;
280 global $app_list_strings, $current_language, $currentModule, $action, $app_strings;
281 $current_module_strings = return_module_language($current_language, 'Calendar');
284 $user_ids = $current_user->getPreference('shared_ids');
285 //get list of user ids for which to display data
286 if(!empty($user_ids) && count($user_ids) != 0 && !isset($_REQUEST['shared_ids'])) {
289 elseif(isset($_REQUEST['shared_ids']) && count($_REQUEST['shared_ids']) > 0) {
290 $ids = $_REQUEST['shared_ids'];
291 $current_user->setPreference('shared_ids', $_REQUEST['shared_ids']);
293 //$ids = get_user_array(false);
294 //$ids = array_keys($ids);
295 $ids = array($current_user->id);
300 //get team id for which to display user list
302 $tools = '<div align="right"><a href="index.php?module='.$currentModule.'&action='.$action.'&view=shared" class="tabFormAdvLink"> <a href="javascript: toggleDisplay(\'shared_cal_edit\');" class="tabFormAdvLink">'.SugarThemeRegistry::current()->getImage('edit', 'alt="'.$current_module_strings['LBL_EDIT'].'" border="0" align="absmiddle"').' '.$current_module_strings['LBL_EDIT'].'</a></div>';
304 echo get_form_header($mod_strings['LBL_SHARED_CAL_TITLE'], $tools, false);
305 if(empty($_SESSION['shared_ids']))
306 $_SESSION['shared_ids'] = "";
309 <script language=\"javascript\">
311 var td = document.getElementById(name+'_td');
312 var obj = td.getElementsByTagName('select')[0];
313 obj =(typeof obj == \"string\") ? document.getElementById(obj) : obj;
314 if(obj.tagName.toLowerCase() != \"select\" && obj.length < 2)
316 var sel = new Array();
318 for(i=0; i<obj.length; i++) {
319 if(obj[i].selected == true) {
324 if(sel[i] != 0 && !obj[sel[i]-1].selected) {
325 var tmp = new Array(obj[sel[i]-1].text, obj[sel[i]-1].value);
326 obj[sel[i]-1].text = obj[sel[i]].text;
327 obj[sel[i]-1].value = obj[sel[i]].value;
328 obj[sel[i]].text = tmp[0];
329 obj[sel[i]].value = tmp[1];
330 obj[sel[i]-1].selected = true;
331 obj[sel[i]].selected = false;
336 function down(name) {
337 var td = document.getElementById(name+'_td');
338 var obj = td.getElementsByTagName('select')[0];
339 if(obj.tagName.toLowerCase() != \"select\" && obj.length < 2)
341 var sel = new Array();
342 for(i=obj.length-1; i>-1; i--) {
343 if(obj[i].selected == true) {
348 if(sel[i] != obj.length-1 && !obj[sel[i]+1].selected) {
349 var tmp = new Array(obj[sel[i]+1].text, obj[sel[i]+1].value);
350 obj[sel[i]+1].text = obj[sel[i]].text;
351 obj[sel[i]+1].value = obj[sel[i]].value;
352 obj[sel[i]].text = tmp[0];
353 obj[sel[i]].value = tmp[1];
354 obj[sel[i]+1].selected = true;
355 obj[sel[i]].selected = false;
361 <div id='shared_cal_edit' style='display: none;'>
362 <form name='shared_cal' action=\"index.php\" method=\"post\" >
363 <input type=\"hidden\" name=\"module\" value=\"".$currentModule."\">
364 <input type=\"hidden\" name=\"action\" value=\"".$action."\">
365 <input type=\"hidden\" name=\"view\" value=\"shared\">
366 <input type=\"hidden\" name=\"edit\" value=\"0\">
367 <table cellpadding=\"0\" cellspacing=\"3\" border=\"0\" align=\"center\">
368 <tr><th valign=\"top\" align=\"center\" colspan=\"2\">
371 echo $current_module_strings['LBL_SELECT_USERS'];
375 <tr><td valign=\"top\">";
377 </td><td valign=\"top\">
379 <table cellpadding=\"1\" cellspacing=\"1\" border=\"0\" class=\"edit view\" align=\"center\">
381 <td valign='top' nowrap><b>".$current_module_strings['LBL_USERS']."</b></td>
382 <td valign='top' id=\"shared_ids_td\"><select id=\"shared_ids\" name=\"shared_ids[]\" multiple size='3'>";
384 echo get_select_options_with_id(get_user_array(false), $ids);
386 echo " </select></td>
387 <td><a onclick=\"up('shared_ids');\">".SugarThemeRegistry::current()->getImage('uparrow_big', 'border="0" style="margin-bottom: 1px;" alt="'.$app_strings['LBL_SORT'].'"')."</a><br>
388 <a onclick=\"down('shared_ids');\">".SugarThemeRegistry::current()->getImage('downarrow_big', 'border="0" style="margin-top: 1px;" alt="'.$app_strings['LBL_SORT'].'"')."</a></td>
391 echo "<td align=\"right\" colspan=\"2\"><input class=\"button\" type=\"submit\" title=\"".$app_strings['LBL_SELECT_BUTTON_TITLE']."\" accessKey=\"".$app_strings['LBL_SELECT_BUTTON_KEY']."\" value=\"".$app_strings['LBL_SELECT_BUTTON_LABEL']."\" /><input class=\"button\" onClick=\"javascript: toggleDisplay('shared_cal_edit');\" type=\"button\" title=\"".$app_strings['LBL_CANCEL_BUTTON_TITLE']."\" accessKey=\"".$app_strings['LBL_CANCEL_BUTTON_KEY']."\" value=\"".$app_strings['LBL_CANCEL_BUTTON_LABEL']."\"/></td>
398 } // end "shared" view
402 if(isset($_REQUEST['edit']) && $_REQUEST['edit'])
403 echo " <script language=\"javascript\"> toggleDisplay('shared_cal_edit'); </script>";
406 <table id=\"daily_cal_table_outside\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"monthBox\">
409 <table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"monthHeader\">
411 <td width=\"1%\" nowrap>";
413 if(!isset($args['size']) || $args['size'] != 'small') {
414 template_get_previous_calendar($args);
419 <td width=\" 98 % \" align=center scope='row'>";
421 if(isset( $args['size']) && $args['size'] = 'small')
424 <a style="text-decoration: none;"
425 href="index.php?module=Calendar&action=index&view=month<?php echo $args['calendar']->date_time->get_date_str();?>">
431 <?php template_echo_date_info($args['view'],$args['calendar']->date_time); ?>
435 if(isset($args['size']) && $args['size'] = 'small') {
441 <td align="right" width="1%" nowrap><?php
444 if(!isset($args['size']) || $args['size'] != 'small') {
445 template_get_next_calendar($args);
453 <td class="monthCalBody">
456 if($args['calendar']->view == 'month') {
457 template_calendar_month($args);
459 if($args['calendar']->view == 'year') {
460 template_calendar_year($args);
462 if($args['calendar']->view == 'shared') {
464 global $current_user, $shared_user;
465 $shared_args = array();
466 foreach($args as $key => $val) {
467 $shared_args[$key] = $val;
469 $shared_args['calendar'] = $args['calendar'];
470 $shared_user = new User();
471 foreach($ids as $member) {
472 $shared_user->retrieve($member);
473 $shared_args['calendar']->show_tasks = true;
474 $shared_args['calendar']->add_activities($shared_user);
475 $shared_args['show_link'] = 'off';
476 if(($shared_user->id == $current_user->id))
477 $shared_args['show_link'] = 'on';
478 echo '<h5 class="calSharedUser">'.$shared_user->full_name.'</h5>';
479 template_calendar_horizontal($shared_args);
482 template_calendar_vertical($args);
489 <table width="100%" cellspacing="0" cellpadding="0" class="monthFooter">
491 <td width="50%"><?php template_get_previous_calendar($args); ?></td>
492 <td align="right" width="50%"><?php template_get_next_calendar($args); ?></td>
504 function template_calendar_vertical($args) {
506 <table id="daily_cal_table" border="0" cellpadding="0" cellspacing="1" width="100%">
509 // need to change these values after we find out what activities
510 // occur outside of these values
511 $start_slice_idx = $args['calendar']->get_start_slice_idx();
512 $end_slice_idx = $args['calendar']->get_end_slice_idx();
514 for($cur_slice_idx = $start_slice_idx; $cur_slice_idx <= $end_slice_idx; $cur_slice_idx ++) {
515 $calendar = $args['calendar'];
516 $args['slice'] = $calendar->slice_hash[$calendar->slices_arr[$cur_slice_idx]];
519 <?php template_cal_vertical_slice($args); ?>
530 function template_calendar_horizontal($args) {
531 echo "<table id=\"daily_cal_table\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\" width=\"100%\"><tr>";
533 // need to change these values after we find out what activities
534 // occur outside of these values
535 $start_slice_idx = $args['calendar']->get_start_slice_idx();
536 $end_slice_idx = $args['calendar']->get_end_slice_idx();
538 for($cur_slice_idx = $start_slice_idx; $cur_slice_idx <= $end_slice_idx; $cur_slice_idx ++) {
539 $calendar = $args['calendar'];
540 $args['slice'] = $calendar->slice_hash[$calendar->slices_arr[$cur_slice_idx]];
542 template_cal_horizontal_slice($args);
545 echo "</tr></table>";
548 function template_cal_vertical_slice($args) {
551 <th width="1%" id="bodytime">
552 <?php template_echo_slice_date($args) ; ?>
555 <td width="99%" id="bodyitem">
557 <div style="display:none;" id='<?php echo template_echo_daily_view_24_hour($args); ?>_appt'> <?php
559 require_once('modules/Calls/CallFormBase.php');
560 $callForm = new CallFormBase();
561 echo $callForm->getFormBody('', 'Calls', 'inlineCal'.template_echo_daily_view_24_hour($args).'CallSave', $timedate->to_display_date($args['calendar']->date_time->get_mysql_date(), false), $timedate->to_display_time(template_echo_daily_view_24_hour($args).':00:00', true, false))."<br>";
564 <?php template_echo_slice_activities($args); ?>
570 function template_cal_horizontal_slice($args) {
571 echo "<td width=\"14%\" id=\"bodyItem\" scope='row' valign=\"top\">";
573 if($args['show_link'] == 'on') {
574 template_echo_slice_date($args);
576 template_echo_slice_date_nolink($args);
579 template_echo_slice_activities_shared($args);
584 function template_calendar_year($args) {
587 <table cellspacing="0" cellpadding="0" border="0" width="100%">
589 <td class="yearCalBody">
590 <table id="daily_cal_table" border="0" cellpadding="0" cellspacing="1" width="100%">
594 for($i = 0; $i < 4; $i ++) {
599 for($j = 0; $j < 3; $j ++) {
600 $args['slice'] = $args['calendar']->slice_hash[$args['calendar']->slices_arr[$count]];
603 <td valign="top" align="center" scope='row' class="yearCalBodyMonth"><?php template_cal_month_slice($args); ?></td>
624 function template_calendar_month($args) {
628 <table width="100%" id="daily_cal_table" border="0" cellspacing="1" cellpadding="0" >
631 // need to change these values after we find out what activities
632 // occur outside of these values
634 $start_slice_idx = $args['calendar']->get_start_slice_idx();
635 $end_slice_idx = $args['calendar']->get_end_slice_idx();
639 if($args['calendar']->slice_hash[$args['calendar']->slices_arr[35]]->start_time->month != $args['calendar']->date_time->month) {
645 <tr class="monthCalBodyTH">
649 for($i = 0; $i < 7; $i ++) {
650 $first_row_slice = $args['calendar']->slice_hash[$args['calendar']->slices_arr[$i]];
652 <th width="14%"><?php echo $first_row_slice->start_time->get_day_of_week_short(); ?></th>
661 if(isset($_REQUEST['view']) && $_REQUEST['view'] == 'month') {
662 $height_class = "monthViewDayHeight";
664 if(isset($args['size']) && $args['size'] == 'small') {
667 $height_class = "monthViewDayHeight yearViewDayHeight";
670 for($i = 0; $i < $rows; $i ++) {
672 <tr class="<?php echo $height_class; ?>">
675 for($j = 0; $j < 7; $j ++) {
676 $args['slice'] = $args['calendar']->slice_hash[$args['calendar']->slices_arr[$count]];
679 <td <?php if($j==0 || $j==6) { ?>class="weekEnd"<?php } ?>><?php template_cal_day_slice($args); ?></td>
696 function get_current_day($args) {
698 $slice = $args['slice'];
699 if($slice->start_time->get_mysql_date() == $timedate->nowDbDate()) {
705 function template_echo_daily_view_hour($args) {
707 $slice = $args['slice'];
708 $hour = $slice->start_time->get_hour();
713 function template_echo_daily_view_24_hour($args) {
715 $slice = $args['slice'];
716 $hour = $slice->start_time->get_24_hour();
721 function template_echo_slice_date($args) {
724 $slice = $args['slice'];
726 if($slice->view != 'hour') {
727 if($slice->start_time->get_day_of_week_short() == 'Sun' || $slice->start_time->get_day_of_week_short() == 'Sat') {
728 echo "<a href=\"index.php?module=Calendar&action=index&view=".$slice->get_view().$slice->start_time->get_date_str()."\" ";
730 echo "<a href=\"index.php?module=Calendar&action=index&view=".$slice->get_view().$slice->start_time->get_date_str()."\" ";
734 if($slice->view == 'day' &&($args['calendar']->view == 'week')) {
736 echo $slice->start_time->get_day_of_week_short();
738 echo $slice->start_time->get_day();
740 elseif($args['calendar']->view == 'shared') {
742 echo $slice->start_time->get_day_of_week_short();
744 echo $slice->start_time->get_day();
746 if($slice->view == 'day') {
748 if($slice->start_time->get_month() == $args['calendar']->date_time->get_month()) {
749 echo $slice->start_time->get_day();
751 //echo $slice->start_time->get_day();
753 if($slice->view == 'month') {
755 echo $slice->start_time->get_month_name();
757 if($slice->view == 'hour') {
758 if($args['calendar']->toggle_appt == true) {
759 echo '<a href="javascript:void toggleDisplay(\''.$slice->start_time->get_24_hour().'_appt\');">';
761 //Bug 13324, We are now using the users time format instead of a custom AM/PM setting
762 echo $timedate->to_display_time($slice->start_time->get_24_hour() . ":00:00", true, false);
764 sugar_die("template_echo_slice_date: view not supported");
770 function template_echo_slice_date_nolink($args) {
772 $slice = $args['slice'];
773 echo $slice->start_time->get_day_of_week_short();
775 echo $slice->start_time->get_day();
778 function template_echo_date_info($view, $date_time) {
779 global $current_user;
780 $dateFormat = $current_user->getUserDateTimePreferences();
782 if($view == 'month') {
783 for($i=0; $i<strlen($dateFormat['date']); $i++) {
784 switch($dateFormat['date']{$i}) {
786 echo " ".$date_time->year;
789 echo " ".$date_time->get_month_name();
794 if($view == 'week' || $view == 'shared') {
795 $first_day = $date_time->get_day_by_index_this_week(0);
796 $last_day = $date_time->get_day_by_index_this_week(6);
798 for($i=0; $i<strlen($dateFormat['date']); $i++) {
799 switch($dateFormat['date']{$i}) {
801 echo " ".$first_day->year;
804 echo " ".$first_day->get_month_name();
807 echo " ".$first_day->get_day();
812 for($i=0; $i<strlen($dateFormat['date']); $i++) {
813 switch($dateFormat['date']{$i}) {
815 echo " ".$last_day->year;
818 echo " ".$last_day->get_month_name();
821 echo " ".$last_day->get_day();
827 echo $date_time->get_day_of_week()." ";
829 for($i=0; $i<strlen($dateFormat['date']); $i++) {
830 switch($dateFormat['date']{$i}) {
832 echo " ".$date_time->year;
835 echo " ".$date_time->get_month_name();
838 echo " ".$date_time->get_day();
843 if($view == 'year') {
844 echo $date_time->year;
846 sugar_die("echo_date_info: date not supported");
850 function template_get_next_calendar($args) {
854 <a href="index.php?action=index&module=Calendar&view=<?php echo $args['calendar']->view; ?><?php echo $args['calendar']->get_next_date_str(); ?>"><?php echo $mod_strings["LBL_NEXT_".$args['calendar']->get_view_name($args['calendar']->view)]; ?> <?php echo SugarThemeRegistry::current()->getImage('calendar_next','alt="'. $mod_strings["LBL_NEXT_".$args['calendar']->get_view_name($args['calendar']->view)].'" align="absmiddle" border="0"'); ?></a>
859 function template_get_previous_calendar($args) {
863 <a href="index.php?action=index&module=Calendar&view=<?php echo $args['calendar']->view; ?><?php echo $args['calendar']->get_previous_date_str(); ?>"><?php echo SugarThemeRegistry::current()->getImage('calendar_previous','alt="'. $mod_strings["LBL_PREVIOUS_".$args['calendar']->get_view_name($args['calendar']->view)].'" align="absmiddle" border="0"'); ?> <?php echo $mod_strings["LBL_PREVIOUS_".$args['calendar']->get_view_name($args['calendar']->view)]; ?></a>