public function getEntity() { $currentUser = Users_Record_Model::getCurrentUserModel(); $db = PearDatabase::getInstance(); $data = $this->getQuery(); $result = $db->pquery($data['query'], $data['params']); $return = []; while ($record = $db->fetch_array($result)) { $item = []; $crmid = $record['activityid']; $activitytype = $record['activitytype']; $item['id'] = $crmid; $item['module'] = $this->getModuleName(); $item['title'] = $record['subject']; $item['url'] = 'index.php?module=' . $this->getModuleName() . '&view=Detail&record=' . $crmid; $item['set'] = $record['activitytype'] == 'Task' ? 'Task' : 'Event'; $item['lok'] = $record['location']; $item['pri'] = $record['priority']; $item['sta'] = $record['status']; $item['vis'] = $record['visibility']; $item['state'] = $record['state']; $item['smownerid'] = Vtiger_Functions::getOwnerRecordLabel($record['smownerid']); //translate $item['labels']['sta'] = vtranslate($record['status'], $this->getModuleName()); $item['labels']['pri'] = vtranslate($record['priority'], $this->getModuleName()); $item['labels']['state'] = vtranslate($record['state'], $this->getModuleName()); //Relation $item['link'] = $record['link']; $item['linkl'] = $record['linklabel']; $item['linkm'] = $record['linkmod']; //Process $item['process'] = $record['process']; $item['procl'] = $record['processlabel']; $item['procm'] = $record['processmod']; //Subprocess $item['subprocess'] = $record['subprocess']; $item['subprocl'] = $record['subprocesslabel']; $item['subprocm'] = $record['subprocessmod']; if ($record['linkmod'] != 'Accounts' && (!empty($record['link']) || !empty($record['process']))) { $findId = 0; $findMod = ''; if (!empty($record['link'])) { $findId = $record['link']; $findMod = $record['linkmod']; } if (!empty($record['process'])) { $findId = $record['process']; $findMod = $record['processmod']; } $tabInfo = $this->relationAcounts[$findMod]; if ($tabInfo) { $findResult = $db->pquery('SELECT accountid, accountname FROM vtiger_account ' . 'INNER JOIN ' . $tabInfo[0] . ' ON vtiger_account.accountid = ' . $tabInfo[0] . '.' . $tabInfo[2] . ' WHERE ' . $tabInfo[1] . ' = ?;', [$findId]); if ($db->num_rows($findResult) > 0) { $item['accid'] = $db->query_result_raw($findResult, 0, 'accountid'); $item['accname'] = $db->query_result_raw($findResult, 0, 'accountname'); } } } $dateTimeFieldInstance = new DateTimeField($record['date_start'] . ' ' . $record['time_start']); $userDateTimeString = $dateTimeFieldInstance->getFullcalenderDateTimevalue($currentUser); $startDateTimeDisplay = $dateTimeFieldInstance->getDisplayDateTimeValue(); $startTimeDisplay = $dateTimeFieldInstance->getDisplayTime(); $dateTimeComponents = explode(' ', $userDateTimeString); $dateComponent = $dateTimeComponents[0]; $startTimeFormated = $dateTimeComponents[1]; //Conveting the date format in to Y-m-d . since full calendar expects in the same format $startDateFormated = DateTimeField::__convertToDBFormat($dateComponent, $currentUser->get('date_format')); $dateTimeFieldInstance = new DateTimeField($record['due_date'] . ' ' . $record['time_end']); $userDateTimeString = $dateTimeFieldInstance->getFullcalenderDateTimevalue($currentUser); $endDateTimeDisplay = $dateTimeFieldInstance->getDisplayDateTimeValue(); $dateTimeComponents = explode(' ', $userDateTimeString); $dateComponent = $dateTimeComponents[0]; $endTimeFormated = $dateTimeComponents[1]; //Conveting the date format in to Y-m-d . since full calendar expects in the same format $endDateFormated = DateTimeField::__convertToDBFormat($dateComponent, $currentUser->get('date_format')); $item['start'] = $startDateFormated . ' ' . $startTimeFormated; $item['end'] = $endDateFormated . ' ' . $endTimeFormated; // display date time values $item['start_display'] = $startDateTimeDisplay; $item['end_display'] = $endDateTimeDisplay; $item['hour_start'] = $startTimeDisplay; $hours = Vtiger_Functions::getDateTimeHoursDiff($item['start'], $item['end']); $item['hours'] = Vtiger_Functions::decimalTimeFormat($hours)['short']; $item['allDay'] = $record['allday'] == 1 ? true : false; $item['className'] = ' userCol_' . $record['smownerid'] . ' calCol_' . $activitytype; $return[] = $item; } return $return; }