[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 <?php 2 /*+*********************************************************************************** 3 * The contents of this file are subject to the vtiger CRM Public License Version 1.0 4 * ("License"); You may not use this file except in compliance with the License 5 * The Original Code is: vtiger CRM Open Source 6 * The Initial Developer of the Original Code is vtiger. 7 * Portions created by vtiger are Copyright (C) vtiger. 8 * All Rights Reserved. 9 *************************************************************************************/ 10 11 class Calendar_CalendarUserActions_Action extends Vtiger_Action_Controller{ 12 13 function __construct() { 14 $this->exposeMethod('deleteUserCalendar'); 15 $this->exposeMethod('addUserCalendar'); 16 $this->exposeMethod('deleteCalendarView'); 17 $this->exposeMethod('addCalendarView'); 18 } 19 20 public function checkPermission(Vtiger_Request $request) { 21 $moduleName = $request->getModule(); 22 $record = $request->get('record'); 23 24 if(!Users_Privileges_Model::isPermitted($moduleName, 'Save', $record)) { 25 throw new AppException('LBL_PERMISSION_DENIED'); 26 } 27 } 28 29 public function process(Vtiger_Request $request) { 30 $mode = $request->getMode(); 31 if(!empty($mode) && $this->isMethodExposed($mode)) { 32 $this->invokeExposedMethod($mode, $request); 33 return; 34 } 35 } 36 37 /** 38 * Function to delete the user calendar from shared calendar 39 * @param Vtiger_Request $request 40 * @return Vtiger_Response $response 41 */ 42 function deleteUserCalendar(Vtiger_Request $request) { 43 $currentUser = Users_Record_Model::getCurrentUserModel(); 44 $userId = $currentUser->getId(); 45 $sharedUserId = $request->get('userid'); 46 47 $db = PearDatabase::getInstance(); 48 $result = $db->pquery('SELECT 1 FROM vtiger_shareduserinfo WHERE userid=? AND shareduserid=?', array($userId, $sharedUserId)); 49 if($db->num_rows($result) > 0) { 50 $db->pquery('UPDATE vtiger_shareduserinfo SET visible=? WHERE userid=? AND shareduserid=?', array('0', $userId, $sharedUserId)); 51 } else { 52 $db->pquery('INSERT INTO vtiger_shareduserinfo (userid, shareduserid, visible) VALUES(?, ?, ?)', array($userId, $sharedUserId, '0')); 53 } 54 55 $result = array('userid' => $userId, 'sharedid' => $sharedUserId, 'username' => getUserFullName($sharedUserId)); 56 $response = new Vtiger_Response(); 57 $response->setResult($result); 58 $response->emit(); 59 } 60 61 /** 62 * Function to add other user calendar to shared calendar 63 * @param Vtiger_Request $request 64 * @return Vtiger_Response $response 65 */ 66 function addUserCalendar(Vtiger_Request $request) { 67 $currentUser = Users_Record_Model::getCurrentUserModel(); 68 $userId = $currentUser->getId(); 69 $sharedUserId = $request->get('selectedUser'); 70 $color = $request->get('selectedColor'); 71 72 $db = PearDatabase::getInstance(); 73 74 $queryResult = $db->pquery('SELECT 1 FROM vtiger_shareduserinfo WHERE userid=? AND shareduserid=?', array($userId, $sharedUserId)); 75 76 if($db->num_rows($queryResult) > 0) { 77 $db->pquery('UPDATE vtiger_shareduserinfo SET color=?, visible=? WHERE userid=? AND shareduserid=?', array($color, '1', $userId, $sharedUserId)); 78 } else { 79 $db->pquery('INSERT INTO vtiger_shareduserinfo (userid, shareduserid, color, visible) VALUES(?, ?, ?, ?)', array($userId, $sharedUserId, $color, '1')); 80 } 81 82 $response = new Vtiger_Response(); 83 $response->setResult(array('success' => true)); 84 $response->emit(); 85 } 86 87 /** 88 * Function to delete the calendar view from My Calendar 89 * @param Vtiger_Request $request 90 * @return Vtiger_Response $response 91 */ 92 function deleteCalendarView(Vtiger_Request $request) { 93 $currentUser = Users_Record_Model::getCurrentUserModel(); 94 $userId = $currentUser->getId(); 95 $viewmodule = $request->get('viewmodule'); 96 $viewfieldname = $request->get('viewfieldname'); 97 98 99 $db = PearDatabase::getInstance(); 100 $db->pquery('UPDATE vtiger_calendar_user_activitytypes 101 INNER JOIN vtiger_calendar_default_activitytypes ON vtiger_calendar_default_activitytypes.id = vtiger_calendar_user_activitytypes.defaultid 102 SET vtiger_calendar_user_activitytypes.visible=? WHERE vtiger_calendar_user_activitytypes.userid=? AND vtiger_calendar_default_activitytypes.module=? AND vtiger_calendar_default_activitytypes.fieldname=?', 103 array('0', $userId, $viewmodule, $viewfieldname)); 104 105 $result = array('viewmodule' => $viewmodule, 'viewfieldname' => $viewfieldname, 'viewfieldlabel' => $request->get('viewfieldlabel')); 106 $response = new Vtiger_Response(); 107 $response->setResult($result); 108 $response->emit(); 109 } 110 111 /** 112 * Function to add calendar views to My calendar 113 * @param Vtiger_Request $request 114 * @return Vtiger_Response $response 115 */ 116 function addCalendarView(Vtiger_Request $request) { 117 $currentUser = Users_Record_Model::getCurrentUserModel(); 118 $userId = $currentUser->getId(); 119 $viewmodule = $request->get('viewmodule'); 120 $viewfieldname = $request->get('viewfieldname'); 121 $viewcolor = $request->get('viewColor'); 122 123 $db = PearDatabase::getInstance(); 124 125 $db->pquery('UPDATE vtiger_calendar_user_activitytypes 126 INNER JOIN vtiger_calendar_default_activitytypes ON vtiger_calendar_default_activitytypes.id = vtiger_calendar_user_activitytypes.defaultid 127 SET vtiger_calendar_user_activitytypes.color=?, vtiger_calendar_user_activitytypes.visible=? 128 WHERE vtiger_calendar_user_activitytypes.userid=? AND vtiger_calendar_default_activitytypes.module=? AND vtiger_calendar_default_activitytypes.fieldname=?', 129 array($viewcolor, '1', $userId, $viewmodule, $viewfieldname)); 130 131 $response = new Vtiger_Response(); 132 $response->setResult(array('success' => true)); 133 $response->emit(); 134 } 135 136 137 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |