Example #1
0
        echo "<span style='margin-right: 40px;'><label style='cursor: pointer;'>" . $GLOBALS['mod_strings']['LBL_WHOLE_DAY'] . " <input type='checkbox' id='whole_day_checkbox' onclick='toggle_whole_day();' style='position: relative; top:-3px;'></label></span>";
    }
    echo "<a href='#' class='tabFormAdvLink' onclick='toggle_settings()'><img border='0' align='absmiddle' width='13' height='13' src='" . SugarThemeRegistry::current()->getImageURL('edit.gif', false) . "'> " . $GLOBALS['mod_strings']['LBL_SETTINGS'] . "</a>";
    echo "&nbsp;&nbsp;&nbsp;&nbsp;</div>";
    echo "<div style='clear: both;'></div>";
    echo "</div>";
    ?>
	<div id="settings_div" align="center" style="display:none;"></div>
<?php 
    global $mod_strings;
    echo "<div class='monthHeader'>";
    echo "<div style='float: left; width: 20%;'>";
    template_get_previous_calendar($args);
    echo "</div>";
    echo "<div style='float: left; width: 60%; text-align: center;'><h3>";
    template_echo_date_info($args['view'], $args['calendar']->date_time);
    echo "</h3></div>";
    echo "<div style='float: right;'>";
    template_get_next_calendar($args);
    echo "</div>";
    echo "<br style='clear:both; '>";
    echo "</div>";
}
if ($_REQUEST['view'] == "week") {
    include "PageWeek.php";
} else {
    if ($_REQUEST['view'] == "day") {
        include "PageDay.php";
    } else {
        if ($_REQUEST['view'] == "month") {
            include "PageMonth.php";
function template_calendar($args)
{
    global $timedate;
    if (isset($args['size']) && $args['size'] == 'small') {
        $args['calendar']->show_activities = false;
        $args['calendar']->show_week_on_month_view = false;
    }
    $newargs = array();
    $newargs['view'] = $args['view'];
    $newargs['calendar'] = $args['calendar'];
    if (!isset($args['size']) || $args['size'] != 'small') {
        template_cal_tabs($newargs);
    }
    if (isset($_REQUEST['view']) && $_REQUEST['view'] == 'shared') {
        global $ids;
        global $current_user;
        global $mod_strings;
        global $app_list_strings, $current_language, $currentModule, $action, $app_strings;
        $current_module_strings = return_module_language($current_language, 'Calendar');
        $ids = array();
        $user_ids = $current_user->getPreference('shared_ids');
        //get list of user ids for which to display data
        if (!empty($user_ids) && count($user_ids) != 0 && !isset($_REQUEST['shared_ids'])) {
            $ids = $user_ids;
        } elseif (isset($_REQUEST['shared_ids']) && count($_REQUEST['shared_ids']) > 0) {
            $ids = $_REQUEST['shared_ids'];
            $current_user->setPreference('shared_ids', $_REQUEST['shared_ids']);
        } else {
            //$ids = get_user_array(false);
            //$ids = array_keys($ids);
            $ids = array($current_user->id);
        }
        //get team id for which to display user list
        $tools = '<div align="right"><a href="index.php?module=' . $currentModule . '&action=' . $action . '&view=shared" class="tabFormAdvLink">&nbsp;<a href="javascript: toggleDisplay(\'shared_cal_edit\');" class="tabFormAdvLink">' . SugarThemeRegistry::current()->getImage('edit', 'alt="' . $current_module_strings['LBL_EDIT'] . '"  border="0"  align="absmiddle"') . '&nbsp;' . $current_module_strings['LBL_EDIT'] . '</a></div>';
        echo get_form_header($mod_strings['LBL_SHARED_CAL_TITLE'], $tools, false);
        if (empty($_SESSION['shared_ids'])) {
            $_SESSION['shared_ids'] = "";
        }
        echo "\n\t\t\t<script language=\"javascript\">\n\t\t\tfunction up(name) {\n\t\t\t\tvar td = document.getElementById(name+'_td');\n\t\t\t\tvar obj = td.getElementsByTagName('select')[0];\n\t\t\t\tobj =(typeof obj == \"string\") ? document.getElementById(obj) : obj;\n\t\t\t\tif(obj.tagName.toLowerCase() != \"select\" && obj.length < 2)\n\t\t\t\t\treturn false;\n\t\t\t\tvar sel = new Array();\n\n\t\t\t\tfor(i=0; i<obj.length; i++) {\n\t\t\t\t\tif(obj[i].selected == true) {\n\t\t\t\t\t\tsel[sel.length] = i;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor(i in sel) {\n\t\t\t\t\tif(sel[i] != 0 && !obj[sel[i]-1].selected) {\n\t\t\t\t\t\tvar tmp = new Array(obj[sel[i]-1].text, obj[sel[i]-1].value);\n\t\t\t\t\t\tobj[sel[i]-1].text = obj[sel[i]].text;\n\t\t\t\t\t\tobj[sel[i]-1].value = obj[sel[i]].value;\n\t\t\t\t\t\tobj[sel[i]].text = tmp[0];\n\t\t\t\t\t\tobj[sel[i]].value = tmp[1];\n\t\t\t\t\t\tobj[sel[i]-1].selected = true;\n\t\t\t\t\t\tobj[sel[i]].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction down(name) {\n\t\t\t\tvar td = document.getElementById(name+'_td');\n\t\t\t\tvar obj = td.getElementsByTagName('select')[0];\n\t\t\t\tif(obj.tagName.toLowerCase() != \"select\" && obj.length < 2)\n\t\t\t\t\treturn false;\n\t\t\t\tvar sel = new Array();\n\t\t\t\tfor(i=obj.length-1; i>-1; i--) {\n\t\t\t\t\tif(obj[i].selected == true) {\n\t\t\t\t\t\tsel[sel.length] = i;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor(i in sel) {\n\t\t\t\t\tif(sel[i] != obj.length-1 && !obj[sel[i]+1].selected) {\n\t\t\t\t\t\tvar tmp = new Array(obj[sel[i]+1].text, obj[sel[i]+1].value);\n\t\t\t\t\t\tobj[sel[i]+1].text = obj[sel[i]].text;\n\t\t\t\t\t\tobj[sel[i]+1].value = obj[sel[i]].value;\n\t\t\t\t\t\tobj[sel[i]].text = tmp[0];\n\t\t\t\t\t\tobj[sel[i]].value = tmp[1];\n\t\t\t\t\t\tobj[sel[i]+1].selected = true;\n\t\t\t\t\t\tobj[sel[i]].selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t</script>\n\n\t\t\t<div id='shared_cal_edit' style='display: none;'>\n\t\t\t<form name='shared_cal' action=\"index.php\" method=\"post\" >\n\t\t\t<input type=\"hidden\" name=\"module\" value=\"" . $currentModule . "\">\n\t\t\t<input type=\"hidden\" name=\"action\" value=\"" . $action . "\">\n\t\t\t<input type=\"hidden\" name=\"view\" value=\"shared\">\n\t\t\t<input type=\"hidden\" name=\"edit\" value=\"0\">\n\t\t\t<table cellpadding=\"0\" cellspacing=\"3\" border=\"0\" align=\"center\">\n\t\t\t<tr><th valign=\"top\"  align=\"center\" colspan=\"2\">\n\t\t\t";
        echo $current_module_strings['LBL_SELECT_USERS'];
        echo "\n\t\t\t</th>\n\t\t\t</tr>\n\t\t\t<tr><td valign=\"top\">";
        echo "\n            </td><td valign=\"top\">\n\n\t\t\t<table cellpadding=\"1\" cellspacing=\"1\" border=\"0\" class=\"edit view\" align=\"center\">\n\t\t\t<tr>\n\t\t\t\t<td valign='top' nowrap><b>" . $current_module_strings['LBL_USERS'] . "</b></td>\n\t\t\t\t<td valign='top' id=\"shared_ids_td\"><select id=\"shared_ids\" name=\"shared_ids[]\" multiple size='3'>";
        echo get_select_options_with_id(get_user_array(false), $ids);
        echo "\t</select></td>\n\t\t\t\t<td><a onclick=\"up('shared_ids');\">" . SugarThemeRegistry::current()->getImage('uparrow_big', 'border="0" style="margin-bottom: 1px;" alt="' . $app_strings['LBL_SORT'] . '"') . "</a><br>\n\t\t\t\t<a onclick=\"down('shared_ids');\">" . SugarThemeRegistry::current()->getImage('downarrow_big', 'border="0" style="margin-top: 1px;"  alt="' . $app_strings['LBL_SORT'] . '"') . "</a></td>\n\t\t\t</tr>\n\t\t\t<tr>";
        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>\n\t\t\t</tr>\n\t\t\t</table>\n\t\t\t</td></tr>\n\t\t\t</table>\n\t\t\t</form>";
    }
    // end "shared" view
    echo "</div></p>";
    if (isset($_REQUEST['edit']) && $_REQUEST['edit']) {
        echo " <script language=\"javascript\"> toggleDisplay('shared_cal_edit'); </script>";
    }
    echo "\n\t\t<table id=\"daily_cal_table_outside\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"monthBox\">\n\t\t<tr>\n\t\t<td>\n\t\t  <table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"monthHeader\">\n\t\t  <tr>\n\t\t  <td width=\"1%\" nowrap>";
    if (!isset($args['size']) || $args['size'] != 'small') {
        template_get_previous_calendar($args);
    }
    echo "\n\t\t  </td>\n\t\t  <td width=\" 98 % \" align=center scope='row'>";
    if (isset($args['size']) && ($args['size'] = 'small')) {
        ?>
		<a style="text-decoration: none;"
			href="index.php?module=Calendar&action=index&view=month<?php 
        echo $args['calendar']->date_time->get_date_str();
        ?>
">
<?php 
    }
    ?>
<h3>
<?php 
    template_echo_date_info($args['view'], $args['calendar']->date_time);
    ?>
</h3>
<?php 
    if (isset($args['size']) && ($args['size'] = 'small')) {
        echo "</a>";
    }
    ?>

  </td>
  <td align="right" width="1%" nowrap><?php 
    if (!isset($args['size']) || $args['size'] != 'small') {
        template_get_next_calendar($args);
    }
    ?>
 </td>
  </tr>
  </table>
</td>
</tr>
<tr>
<td class="monthCalBody">
<?php 
    if ($args['calendar']->view == 'month') {
        template_calendar_month($args);
    } else {
        if ($args['calendar']->view == 'year') {
            template_calendar_year($args);
        } else {
            if ($args['calendar']->view == 'shared') {
                global $current_user, $shared_user;
                $shared_args = array();
                foreach ($args as $key => $val) {
                    $shared_args[$key] = $val;
                }
                $shared_args['calendar'] = $args['calendar'];
                $shared_user = new User();
                foreach ($ids as $member) {
                    $shared_user->retrieve($member);
                    $shared_args['calendar']->show_tasks = true;
                    $shared_args['calendar']->add_activities($shared_user);
                    $shared_args['show_link'] = 'off';
                    if ($shared_user->id == $current_user->id) {
                        $shared_args['show_link'] = 'on';
                    }
                    echo '<h5 class="calSharedUser">' . $shared_user->full_name . '</h5>';
                    template_calendar_horizontal($shared_args);
                }
            } else {
                template_calendar_vertical($args);
            }
        }
    }
    ?>
</td>
</tr>
<tr>
<td>
  <table width="100%" cellspacing="0" cellpadding="0" class="monthFooter">
  <tr>
  <td width="50%"><?php 
    template_get_previous_calendar($args);
    ?>
</td>
  <td align="right" width="50%"><?php 
    template_get_next_calendar($args);
    ?>
</td>
  </tr>
  </table>

</td>
</tr>
</table>
<?php 
}
function template_shared_calendar(&$args)
{
    global $current_user;
    global $app_strings;
    global $mod_strings;
    $date_arr = array("activity_focus" => $args['activity_focus']);
    $calendar = new Calendar("day", $date_arr);
    $calendar->show_tasks = false;
    $calendar->toggle_appt = false;
    foreach ($args['users'] as $user) {
        /*
        	if ($user->id != $current_user->id)
        	{
        */
        $calendar->add_activities($user, 'vfb');
        /*
        	}
        */
    }
    ?>
<p>

<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr><td><h5 class="listViewSubHeadS1"><?php 
    echo $mod_strings['LBL_USER_CALENDARS'];
    ?>
</h5>
</td>
<td align=right>
<h5 class="listViewSubHeadS1"><?php 
    template_echo_date_info("day", $calendar->date_time);
    ?>
</h5>
</td></tr></table>
<table cellpadding="0" cellspacing="0" width="100%" border="0" class="listView">
        <tr height="20">
        <td scope="col" width="25%" class="listViewThS1"><?php 
    echo $app_strings['LBL_LIST_NAME'];
    ?>
</td>
<?php 
    $start_slice_idx = $calendar->get_start_slice_idx();
    $end_slice_idx = $calendar->get_end_slice_idx();
    $cur_slice_idx = 1;
    $slice_args = array();
    for ($cur_slice_idx = $start_slice_idx; $cur_slice_idx <= $end_slice_idx; $cur_slice_idx++) {
        $slice_args['slice'] = $calendar->slice_hash[$calendar->slices_arr[$cur_slice_idx]];
        $slice_args['calendar'] = $calendar;
        //print_r($cur_time);
        ?>
	<td class="listViewThS1"><?php 
        template_echo_slice_date($slice_args);
        ?>
</td>
<?php 
    }
    ?>
        </tr>
<?php 
    global $hilite_bg, $click_bg, $odd_bg, $even_bg;
    $oddRow = true;
    foreach ($args['users'] as $curr_user) {
        if ($oddRow) {
            $bg_color = $odd_bg;
            $row_class = 'oddListRowS1';
        } else {
            $bg_color = $even_bg;
            $row_class = 'evenListRowS1';
        }
        $oddRow = !$oddRow;
        ?>
<tr height="20"> 
<td scope="row" valign=TOP  class="<?php 
        echo $row_class;
        ?>
" bgcolor="<?php 
        echo $bg_color;
        ?>
"><a href="index.php?action=DetailView&module=Users&record=<?php 
        echo $curr_user->id;
        ?>
" class="listViewTdLinkS1">
<?php 
        echo $curr_user->full_name;
        ?>
</a></td>
<?php 
        // loop through each slice for this user and show free/busy
        for ($cur_slice_idx = $start_slice_idx; $cur_slice_idx <= $end_slice_idx; $cur_slice_idx++) {
            $cur_slice = $calendar->slice_hash[$calendar->slices_arr[$cur_slice_idx]];
            // if this current activitiy occurs within this time slice
            if (Calendar::occurs_within_slice($cur_slice, $calendar->activity_focus)) {
                /*
                		$got_conflict = 0;
                		if ( isset($cur_slice->acts_arr[$curr_user->id]) )
                		{
                			foreach( $cur_slice->acts_arr[$curr_user->id] as $act)
                			{
                				if ($act->sugar_bean->id != $calendar->activity_focus->sugar_bean->id)
                				{
                					$got_conflict = 1;
                				}
                			}
                		}
                */
                if (isset($cur_slice->acts_arr[$curr_user->id]) && count($cur_slice->acts_arr[$curr_user->id]) > 1) {
                    ?>

  <td class="listViewCalConflictAppt">&nbsp;</td>
<?php 
                } else {
                    ?>
  <td class="listViewCalCurrentAppt">&nbsp;</td>
<?php 
                }
            } else {
                if (isset($cur_slice->acts_arr[$curr_user->id])) {
                    ?>
  <td class="listViewCalOtherAppt">&nbsp;</td>
<?php 
                } else {
                    ?>
  <td class="<?php 
                    echo $row_class;
                    ?>
" bgcolor="<?php 
                    echo $bg_color;
                    ?>
">&nbsp;</td>
<?php 
                }
            }
        }
        ?>

</tr>
<tr><td colspan="20" class="listViewHRS1"></td></tr>
<?php 
    }
    ?>
</table>

<table width="100%" cellspacing="2" cellpadding="0" border="0">
<tr height="15">
	<td width="100%"></td>
    <td class="listViewCalCurrentApptLgnd"><img src="include/images/blank.gif" alt="<?php 
    echo $mod_strings['LBL_SCHEDULED'];
    ?>
" width="15" height="15">&nbsp;</td>
    <td>&nbsp;<?php 
    echo $mod_strings['LBL_SCHEDULED'];
    ?>
&nbsp;</td>
    <td class="listViewCalOtherApptLgnd"><img src="include/images/blank.gif" alt="<?php 
    echo $mod_strings['LBL_BUSY'];
    ?>
" width="15" height="15">&nbsp;</td>
    <td>&nbsp;<?php 
    echo $mod_strings['LBL_BUSY'];
    ?>
&nbsp;</td>
    <td class="listViewCalConflictApptLgnd"><img src="include/images/blank.gif" alt="<?php 
    echo $mod_strings['LBL_CONFLICT'];
    ?>
" width="15" height="15">&nbsp;</td>
    <td>&nbsp;<?php 
    echo $mod_strings['LBL_CONFLICT'];
    ?>
</td>
</tr>
</table>
</p>
<?php 
}