]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - modules/Calendar/index.php
Release 6.1.4
[Github/sugarcrm.git] / modules / Calendar / index.php
1 <?php
2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 /*********************************************************************************
4  * SugarCRM is a customer relationship management program developed by
5  * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
6  * 
7  * This program is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU Affero General Public License version 3 as published by the
9  * Free Software Foundation with the addition of the following permission added
10  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
11  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
12  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
13  * 
14  * This program is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
17  * details.
18  * 
19  * You should have received a copy of the GNU Affero General Public License along with
20  * this program; if not, see http://www.gnu.org/licenses or write to the Free
21  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22  * 02110-1301 USA.
23  * 
24  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
25  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
26  * 
27  * The interactive user interfaces in modified source and object code versions
28  * of this program must display Appropriate Legal Notices, as required under
29  * Section 5 of the GNU Affero General Public License version 3.
30  * 
31  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
32  * these Appropriate Legal Notices must retain the display of the "Powered by
33  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
34  * technical reasons, the Appropriate Legal Notices must display the words
35  * "Powered by SugarCRM".
36  ********************************************************************************/
37
38 global $theme, $current_language, $mod_strings;
39
40
41 require_once('modules/Calendar/templates/templates_calendar.php');
42 require_once('modules/Calendar/Calendar.php');
43 setlocale( LC_TIME ,$current_language);
44 if(!ACLController::checkAccess('Calendar', 'list', true)){
45         ACLController::displayNoAccess(true);
46 }
47
48 echo get_module_title($mod_strings['LBL_MODULE_NAME'], "<span class='pointer'>&raquo;</span>".$mod_strings['LBL_MODULE_ACTION'], true);
49
50 if ( empty($_REQUEST['view']))
51 {
52         $_REQUEST['view'] = 'day';
53 }
54
55 $date_arr = array();
56
57 if ( isset($_REQUEST['ts']))
58 {
59         $date_arr['ts'] = $_REQUEST['ts'];
60 }
61
62 if ( isset($_REQUEST['day']))
63 {
64
65         $date_arr['day'] = $_REQUEST['day'];
66 }
67
68 if ( isset($_REQUEST['month']))
69 {
70         $date_arr['month'] = $_REQUEST['month'];
71 }
72
73 if ( isset($_REQUEST['week']))
74 {
75         $date_arr['week'] = $_REQUEST['week'];
76 }
77
78 if ( isset($_REQUEST['year']))
79 {
80         if ($_REQUEST['year'] > 2037 || $_REQUEST['year'] < 1970)
81         {
82                 print("Sorry, calendar cannot handle the year you requested");
83                 print("<br>Year must be between 1970 and 2037");
84                 exit;
85         }
86         $date_arr['year'] = $_REQUEST['year'];
87 }
88
89 // today adjusted for user's timezone
90 if(empty($date_arr)) {
91         global $timedate;
92     $gmt_today = $timedate->get_gmt_db_datetime();
93     $user_today = $timedate->handle_offset($gmt_today, $GLOBALS['timedate']->get_db_date_time_format());
94         preg_match('/(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/',$user_today,$matches);
95
96     $date_arr = array(
97       'year'=>$matches[1],
98       'month'=>$matches[2],
99       'day'=>$matches[3],
100       'hour'=>$matches[4],
101       'min'=>$matches[5]);
102
103
104 $args['calendar'] = new Calendar($_REQUEST['view'], $date_arr);
105 if ($_REQUEST['view'] == 'day' || $_REQUEST['view'] == 'week' || $_REQUEST['view'] == 'month')
106 {
107         global $current_user;
108         $args['calendar']->add_activities($current_user);
109 }
110 $args['view'] = $_REQUEST['view'];
111
112 ?>
113 <script type="text/javascript" language="JavaScript">
114 <!-- Begin
115 function toggleDisplay(id){
116
117         if(this.document.getElementById( id).style.display=='none'){
118                 this.document.getElementById( id).style.display='inline'
119                 if(this.document.getElementById(id+"link") != undefined){
120                         this.document.getElementById(id+"link").style.display='none';
121                 }
122         }else{
123                 this.document.getElementById(  id).style.display='none'
124                 if(this.document.getElementById(id+"link") != undefined){
125                         this.document.getElementById(id+"link").style.display='inline';
126                 }
127         }
128 }
129                 //  End -->
130         </script>
131 <table width="100%" border="0" cellpadding="0" cellspacing="0">
132 <tr>
133 <td valign=top width="70%" style="padding-right: 10px; padding-top: 2px;">
134 <?php template_calendar($args); ?>
135 </td>
136 <?php if ($_REQUEST['view'] == 'day') { ?>
137 <td valign=top width="30%">
138 <?php include("modules/Calendar/TasksListView.php") ;?>
139 </td>
140 <?php } ?>
141 </tr>
142 </table>