CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME, 'search_autocomplete_count', NULL, 10), 'sort_name' => CRM_Utils_Type::escape(CRM_Utils_Array::value('term', $_GET, ''), 'String'), ); $excludeCaseIds = array(); if (!empty($_GET['excludeCaseIds'])) { $excludeCaseIds = explode(',', CRM_Utils_Type::escape($_GET['excludeCaseIds'], 'String')); } $unclosedCases = CRM_Case_BAO_Case::getUnclosedCases($params, $excludeCaseIds); $results = array(); foreach ($unclosedCases as $caseId => $details) { $results[] = array( 'id' => $caseId, 'text' => $details['sort_name'] . ' (' . $details['case_type'] . ': ' . $details['case_subject'] . ')', 'extra' => $details, ); } print json_encode($results); CRM_Utils_System::civiExit(); } function processCaseTags() { $caseId = CRM_Utils_Type::escape($_POST['case_id'], 'Integer'); $tags = CRM_Utils_Type::escape($_POST['tag'], 'String'); $tagList = $_POST['taglist']; if (empty($caseId)) { echo 'false'; CRM_Utils_System::civiExit(); } $tagIds = array(); if ($tags) { $tagIds = explode(',', $tags); } if (!empty($tagIds)) { $params = array( 'entity_id' => $caseId, 'entity_table' => 'civicrm_case', ); CRM_Core_BAO_EntityTag::del($params); foreach ($tagIds as $tagid) { if (is_numeric($tagid)) { $params['tag_id'] = $tagid; CRM_Core_BAO_EntityTag::add($params); } } } if (!empty($tagList)) { CRM_Core_Form_Tag::postProcess($tagList, $caseId, 'civicrm_case', CRM_Core_DAO::$_nullObject); } $session = CRM_Core_Session::singleton(); $activityParams = array(); $activityParams['source_contact_id'] = $session->get('userID'); $activityParams['activity_type_id'] = CRM_Core_OptionGroup::getValue('activity_type', 'Change Case Tags', 'name'); $activityParams['activity_date_time'] = date('YmdHis'); $activityParams['status_id'] = CRM_Core_OptionGroup::getValue('activity_status', 'Completed', 'name'); $activityParams['case_id'] = $caseId; $activityParams['is_auto'] = 0; $activityParams['subject'] = 'Change Case Tags'; $activity = CRM_Activity_BAO_Activity::create($activityParams); $caseParams = array( 'activity_id' => $activity->id, 'case_id' => $caseId, ); CRM_Case_BAO_Case::processCaseActivity($caseParams); echo 'true'; CRM_Utils_System::civiExit(); } function caseDetails() { $caseId = CRM_Utils_Type::escape($_GET['caseId'], 'Integer'); $sql = "SELECT * FROM civicrm_case where id = %1"; $dao = CRM_Core_DAO::executeQuery($sql, array(1 => array($caseId, 'Integer'))); if ($dao->fetch()) { $caseType = CRM_Case_BAO_Case::getCaseType((str_replace(CRM_Core_DAO::VALUE_SEPARATOR, "", $dao->case_type_id ))); $caseStatuses = CRM_Case_PseudoConstant::caseStatus(); $cs = $caseStatuses[$dao->status_id]; $caseDetails = "" . CRM_Utils_Date::customFormat($dao->end_date) . "
" . ts('Case Subject') . "{$dao->subject}
" . ts('Case Type') . "{$caseType}
" . ts('Case Status') . "{$cs}
" . ts('Case Start Date') . "" . CRM_Utils_Date::customFormat($dao->start_date) . "
" . ts('Case End Date') . "
"; echo $caseDetails; } else { echo ts('Could not find valid Case!'); } CRM_Utils_System::civiExit(); } function addClient() { $caseId = CRM_Utils_Type::escape($_POST['caseID'], 'Integer'); $contactId = CRM_Utils_Type::escape($_POST['contactID'], 'Integer'); $params = array( 'case_id' => $caseId, 'contact_id' => $contactId, ); CRM_Case_BAO_Case::addCaseToContact($params); // add case relationships CRM_Case_BAO_Case::addCaseRelationships($caseId, $contactId); $session = CRM_Core_Session::singleton(); $activityParams = array(); $activityParams['source_contact_id'] = $session->get('userID'); $activityParams['activity_type_id'] = CRM_Core_OptionGroup::getValue('activity_type', 'Add Client To Case', 'name'); $activityParams['activity_date_time'] = date('YmdHis'); $activityParams['status_id'] = CRM_Core_OptionGroup::getValue('activity_status', 'Completed', 'name'); $activityParams['case_id'] = $caseId; $activityParams['is_auto'] = 0; $activityParams['subject'] = 'Client Added To Case'; $activity = CRM_Activity_BAO_Activity::create($activityParams); $caseParams = array( 'activity_id' => $activity->id, 'case_id' => $caseId, ); CRM_Case_BAO_Case::processCaseActivity($caseParams); echo json_encode(TRUE); CRM_Utils_System::civiExit(); } /** * Function to delete relationships specific to case and relationship type */ static function deleteCaseRoles() { $caseId = CRM_Utils_Type::escape($_POST['case_id'], 'Integer'); $relType = CRM_Utils_Type::escape($_POST['rel_type'], 'Integer'); $sql = "DELETE FROM civicrm_relationship WHERE case_id={$caseId} AND relationship_type_id={$relType}"; CRM_Core_DAO::executeQuery($sql); CRM_Utils_System::civiExit(); } }