*/ function getName() { $name = $this->get('subject'); if(empty($name)) { $name = parent::getName(); } return $name; } /** * Function to insert details about reminder in to Database * @param $reminderSent * @param $recurId * @param $reminderMode like edit/delete */ public function setActivityReminder($reminderSent = 0, $recurId = '', $reminderMode = '') { $moduleInstance = CRMEntity::getInstance($this->getModuleName()); $moduleInstance->activity_reminder($this->getId(), $this->get('reminder_time'), $reminderSent, $recurId, $reminderMode); } /** * Function returns the Module Name based on the activity type * @return */ function getType() { $activityType = $this->get('activitytype'); if($activityType == 'Task') { return 'Calendar'; } return 'Events'; } /** * Function to get the Detail View url for the record * @return - Record Detail View Url */ public function getDetailViewUrl() { $module = $this->getModule(); return 'index.php?module=Calendar&view='.$module->getDetailViewName().'&record='.$this->getId(); } /** * Function returns recurring information for EditView * @return - which contains recurring Information */ public function getRecurrenceInformation() { $recurringObject = $this->getRecurringObject(); if ($recurringObject) { $recurringData['recurringcheck'] = 'Yes'; $recurringData['repeat_frequency'] = $recurringObject->getRecurringFrequency(); $recurringData['eventrecurringtype'] = $recurringObject->getRecurringType(); $recurringEndDate = $recurringObject->getRecurringEndDate(); if(!empty($recurringEndDate)){ $recurringData['recurringenddate'] = $recurringEndDate->get_formatted_date(); } $recurringInfo = $recurringObject->getUserRecurringInfo(); if ($recurringObject->getRecurringType() == 'Weekly') { $noOfDays = count($recurringInfo['dayofweek_to_repeat']); for ($i = 0; $i < $noOfDays; ++$i) { $recurringData['week'.$recurringInfo['dayofweek_to_repeat'][$i]] = 'checked'; } } elseif ($recurringObject->getRecurringType() == 'Monthly') { $recurringData['repeatMonth'] = $recurringInfo['repeatmonth_type']; if ($recurringInfo['repeatmonth_type'] == 'date') { $recurringData['repeatMonth_date'] = $recurringInfo['repeatmonth_date']; } else { $recurringData['repeatMonth_daytype'] = $recurringInfo['repeatmonth_daytype']; $recurringData['repeatMonth_day'] = $recurringInfo['dayofweek_to_repeat'][0]; } } } else { $recurringData['recurringcheck'] = 'No'; } return $recurringData; } function save() { //Time should changed to 24hrs format $_REQUEST['time_start'] = Vtiger_Time_UIType::getTimeValueWithSeconds($_REQUEST['time_start']); $_REQUEST['time_end'] = Vtiger_Time_UIType::getTimeValueWithSeconds($_REQUEST['time_end']); parent::save(); } /** * Function to get recurring information for the current record in detail view * @return - which contains Recurring Information */ public function getRecurringDetails() { $recurringObject = $this->getRecurringObject(); if ($recurringObject) { $recurringInfoDisplayData = $recurringObject->getDisplayRecurringInfo(); $recurringEndDate = $recurringObject->getRecurringEndDate(); } else { $recurringInfoDisplayData['recurringcheck'] = vtranslate('LBL_NO', $currentModule); $recurringInfoDisplayData['repeat_str'] = ''; } if(!empty($recurringEndDate)){ $recurringInfoDisplayData['recurringenddate'] = $recurringEndDate->get_formatted_date(); } return $recurringInfoDisplayData; } /** * Function to get the recurring object * @return Object - recurring object */ public function getRecurringObject() { $db = PearDatabase::getInstance(); $query = 'SELECT vtiger_recurringevents.*, vtiger_activity.date_start, vtiger_activity.time_start, vtiger_activity.due_date, vtiger_activity.time_end FROM vtiger_recurringevents INNER JOIN vtiger_activity ON vtiger_activity.activityid = vtiger_recurringevents.activityid WHERE vtiger_recurringevents.activityid = ?'; $result = $db->pquery($query, array($this->getId())); if ($db->num_rows($result)) { return RecurringType::fromDBRequest($db->query_result_rowdata($result, 0)); } return false; } /** * Function updates the Calendar Reminder popup's status */ public function updateReminderStatus($status=1) { $db = PearDatabase::getInstance(); $db->pquery("UPDATE vtiger_activity_reminder_popup set status = ? where recordid = ?", array($status, $this->getId())); } }