First commit
This commit is contained in:
commit
c6e2478c40
13918 changed files with 2303184 additions and 0 deletions
215
sites/all/modules/civicrm/CRM/Case/PseudoConstant.php
Normal file
215
sites/all/modules/civicrm/CRM/Case/PseudoConstant.php
Normal file
|
@ -0,0 +1,215 @@
|
|||
<?php
|
||||
/*
|
||||
+--------------------------------------------------------------------+
|
||||
| CiviCRM version 4.7 |
|
||||
+--------------------------------------------------------------------+
|
||||
| Copyright CiviCRM LLC (c) 2004-2017 |
|
||||
+--------------------------------------------------------------------+
|
||||
| This file is a part of CiviCRM. |
|
||||
| |
|
||||
| CiviCRM is free software; you can copy, modify, and distribute it |
|
||||
| under the terms of the GNU Affero General Public License |
|
||||
| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
|
||||
| |
|
||||
| CiviCRM is distributed in the hope that it will be useful, but |
|
||||
| WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
||||
| See the GNU Affero General Public License for more details. |
|
||||
| |
|
||||
| You should have received a copy of the GNU Affero General Public |
|
||||
| License and the CiviCRM Licensing Exception along |
|
||||
| with this program; if not, contact CiviCRM LLC |
|
||||
| at info[AT]civicrm[DOT]org. If you have questions about the |
|
||||
| GNU Affero General Public License or the licensing of CiviCRM, |
|
||||
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
|
||||
+--------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @package CRM
|
||||
* @copyright CiviCRM LLC (c) 2004-2017
|
||||
*/
|
||||
|
||||
/**
|
||||
* This class holds all the Pseudo constants that are specific for CiviCase.
|
||||
*/
|
||||
class CRM_Case_PseudoConstant extends CRM_Core_PseudoConstant {
|
||||
|
||||
/**
|
||||
* Activity type
|
||||
* @var array
|
||||
*/
|
||||
static $activityTypeList = array();
|
||||
|
||||
/**
|
||||
* Get all the case statues.
|
||||
*
|
||||
*
|
||||
* @param string $column
|
||||
* @param bool $onlyActive
|
||||
* @param null $condition
|
||||
* @param bool $fresh
|
||||
*
|
||||
* @return array
|
||||
* array reference of all case statues
|
||||
*/
|
||||
public static function caseStatus($column = 'label', $onlyActive = TRUE, $condition = NULL, $fresh = FALSE) {
|
||||
if (!$condition) {
|
||||
$condition = 'AND filter = 0';
|
||||
}
|
||||
|
||||
return CRM_Core_OptionGroup::values('case_status',
|
||||
FALSE, FALSE, FALSE, $condition,
|
||||
$column, $onlyActive, $fresh
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all the redaction rules.
|
||||
*
|
||||
*
|
||||
* @param null $filter
|
||||
*
|
||||
* @return array
|
||||
* array reference of all redaction rules
|
||||
*/
|
||||
public static function redactionRule($filter = NULL) {
|
||||
$condition = NULL;
|
||||
if ($filter === 0) {
|
||||
$condition = " AND (v.filter = 0 OR v.filter IS NULL)";
|
||||
}
|
||||
elseif ($filter === 1) {
|
||||
$condition = " AND v.filter = 1";
|
||||
}
|
||||
|
||||
return CRM_Core_OptionGroup::values('redaction_rule', TRUE, FALSE, FALSE, $condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all the case type.
|
||||
*
|
||||
*
|
||||
* @param string $column
|
||||
* @param bool $onlyActive
|
||||
*
|
||||
* @return array
|
||||
* array reference of all case type
|
||||
*/
|
||||
public static function caseType($column = 'title', $onlyActive = TRUE) {
|
||||
if ($onlyActive) {
|
||||
$condition = " is_active = 1 ";
|
||||
}
|
||||
else {
|
||||
$condition = NULL;
|
||||
}
|
||||
$caseType = NULL;
|
||||
// FIXME: deprecated?
|
||||
CRM_Core_PseudoConstant::populate(
|
||||
$caseType,
|
||||
'CRM_Case_DAO_CaseType',
|
||||
TRUE,
|
||||
$column,
|
||||
'',
|
||||
$condition,
|
||||
'weight',
|
||||
'id'
|
||||
);
|
||||
|
||||
return $caseType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all the Encounter Medium.
|
||||
*
|
||||
*
|
||||
* @param string $column
|
||||
* @param bool $onlyActive
|
||||
*
|
||||
* @return array
|
||||
* array reference of all Encounter Medium.
|
||||
*/
|
||||
public static function encounterMedium($column = 'label', $onlyActive = TRUE) {
|
||||
return CRM_Core_OptionGroup::values('encounter_medium',
|
||||
FALSE, FALSE, FALSE, NULL,
|
||||
$column, $onlyActive
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all Activity types for the CiviCase component.
|
||||
*
|
||||
* The static array activityType is returned
|
||||
*
|
||||
* @param bool $indexName
|
||||
* True return activity name in array.
|
||||
* key else activity id as array key.
|
||||
*
|
||||
* @param bool $all
|
||||
*
|
||||
*
|
||||
* @return array
|
||||
* array reference of all activity types.
|
||||
*/
|
||||
public static function &caseActivityType($indexName = TRUE, $all = FALSE) {
|
||||
$cache = (int) $indexName . '_' . (int) $all;
|
||||
|
||||
if (!array_key_exists($cache, self::$activityTypeList)) {
|
||||
self::$activityTypeList[$cache] = array();
|
||||
|
||||
$query = "
|
||||
SELECT v.label as label ,v.value as value, v.name as name, v.description as description, v.icon
|
||||
FROM civicrm_option_value v,
|
||||
civicrm_option_group g
|
||||
WHERE v.option_group_id = g.id
|
||||
AND g.name = 'activity_type'
|
||||
AND v.is_active = 1
|
||||
AND g.is_active = 1";
|
||||
|
||||
if (!$all) {
|
||||
$componentId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Component',
|
||||
'CiviCase',
|
||||
'id', 'name'
|
||||
);
|
||||
$query .= " AND v.component_id = {$componentId} ";
|
||||
}
|
||||
|
||||
$query .= " ORDER BY v.weight";
|
||||
|
||||
$dao = CRM_Core_DAO::executeQuery($query);
|
||||
|
||||
$activityTypes = array();
|
||||
while ($dao->fetch()) {
|
||||
if ($indexName) {
|
||||
$index = $dao->name;
|
||||
}
|
||||
else {
|
||||
$index = $dao->value;
|
||||
}
|
||||
$activityTypes[$index] = array();
|
||||
$activityTypes[$index]['id'] = $dao->value;
|
||||
$activityTypes[$index]['label'] = $dao->label;
|
||||
$activityTypes[$index]['name'] = $dao->name;
|
||||
$activityTypes[$index]['icon'] = $dao->icon;
|
||||
$activityTypes[$index]['description'] = $dao->description;
|
||||
}
|
||||
self::$activityTypeList[$cache] = $activityTypes;
|
||||
}
|
||||
return self::$activityTypeList[$cache];
|
||||
}
|
||||
|
||||
/**
|
||||
* Flush given pseudoconstant so it can be reread from db
|
||||
* next time it's requested.
|
||||
*
|
||||
*
|
||||
* @param bool|string $name pseudoconstant to be flushed
|
||||
*/
|
||||
public static function flush($name = 'cache') {
|
||||
if (isset(self::$$name)) {
|
||||
self::$$name = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue