+--------------------------------------------------------------------+
| CiviCRM version 4.6 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014 |
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
- * $Id$
- *
+ * @copyright CiviCRM LLC (c) 2004-2015
*/
/**
- * Business object for managing custom data groups
- *
+ * Business object for managing custom data groups.
*/
class CRM_Core_BAO_CustomGroup extends CRM_Core_DAO_CustomGroup {
/**
- * Class constructor
+ * Class constructor.
*/
public function __construct() {
parent::__construct();
}
/**
- * Takes an associative array and creates a custom group object
+ * Takes an associative array and creates a custom group object.
*
* This function is invoked from within the web form layer and also from the api layer
*
$params['extends'][0] == 'ParticipantEventName' ||
$params['extends'][0] == 'ParticipantEventType'
) {
- $group->extends_entity_column_id =
- CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue', $params['extends'][0], 'value', 'name');
+ $group->extends_entity_column_id = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue', $params['extends'][0], 'value', 'name');
}
//this is format when form get submit.
if ((!empty($params['is_multiple']) || $isMultiple) &&
($params['is_multiple'] != $isMultiple)
) {
- $oldTableName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup',
+ $oldTableName = CRM_Core_DAO::getFieldValue(
+ 'CRM_Core_DAO_CustomGroup',
$params['id'],
'table_name'
);
}
/**
- * Fetch object based on array of properties
+ * Fetch object based on array of properties.
*
* @param array $params
* (reference ) an assoc array of name/value pairs.
}
/**
- * Update the is_active flag in the db
+ * Update the is_active flag in the db.
*
* @param int $id
* Id of the database record.
- * @param bool $is_activeValue we want to set the is_active field.
+ * @param bool $is_active
* Value we want to set the is_active field.
*
* @return Object
$dao = new CRM_Core_DAO_CustomGroup();
$dao->extends = $extends;
$dao->extends_entity_column_id = $columnId;
- $escapedValue =
- CRM_Core_DAO::VALUE_SEPARATOR . CRM_Core_DAO::escapeString($columnValue) .
- CRM_Core_DAO::VALUE_SEPARATOR;
+ $escapedValue = CRM_Core_DAO::VALUE_SEPARATOR . CRM_Core_DAO::escapeString($columnValue) . CRM_Core_DAO::VALUE_SEPARATOR;
$dao->whereAdd("extends_entity_column_value LIKE \"%$escapedValue%\"");
//$dao->extends_entity_column_value = $columnValue;
return $dao->find() ? TRUE : FALSE;
}
$cacheKey = "CRM_Core_DAO_CustomGroup_Query " . md5($cacheString);
- $multipleFieldGroupCacheKey =
- "CRM_Core_DAO_CustomGroup_QueryMultipleFields " . md5($cacheString);
+ $multipleFieldGroupCacheKey = "CRM_Core_DAO_CustomGroup_QueryMultipleFields " . md5($cacheString);
$cache = CRM_Utils_Cache::singleton();
$tablesWithEntityData = array();
if ($fromCache) {
*
* @param bool $getCount
*
- * @return boolean
+ * @return bool
* does this entity have data in this custom table
*/
static public function customGroupDataExistsForEntity($entityID, $table, $getCount = FALSE) {
* (reference) the group tree being build.
* @param string $table
* Table name.
- * @param unknown_type $groupID
+ * @param int $groupID
* Custom group ID.
- * @param unknown_type $fieldID
+ * @param int $fieldID
* Custom field ID.
*/
static public function buildCustomFieldData($dao, &$groupTree, $table, $groupID, $fieldID) {
'name' => ts('Delete Attached File'),
'url' => 'civicrm/file',
'qs' => 'reset=1&id=%%id%%&eid=%%eid%%&fid=%%fid%%&action=delete',
- 'extra' => 'onclick = "if (confirm( \'' . $deleteExtra .
- '\' ) ) this.href+=\'&confirmed=1\'; else return false;"',
+ 'extra' => 'onclick = "if (confirm( \'' . $deleteExtra
+ . '\' ) ) this.href+=\'&confirmed=1\'; else return false;"',
),
);
$customValue['deleteURL'] = CRM_Core_Action::formLink($deleteURL,
'entity_id',
'file_id'
);
- $customValue['imageURL'] =
- str_replace('persist/contribute', 'custom', $config->imageUploadURL) .
+ $customValue['imageURL'] = str_replace('persist/contribute', 'custom', $config->imageUploadURL) .
$fileDAO->uri;
- list($path) = CRM_Core_BAO_File::path($fileDAO->id, $entityId,
- NULL, NULL
- );
+ list($path) = CRM_Core_BAO_File::path($fileDAO->id, $entityId, NULL, NULL);
if ($path && file_exists($path)) {
list($imageWidth, $imageHeight) = getimagesize($path);
list($imageThumbWidth, $imageThumbHeight) = CRM_Contact_BAO_Contact::getThumbSize($imageWidth, $imageHeight);
*
* @return string
* title
- *
*/
public static function getTitle($id) {
return CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $id, 'title');
*
* @return array
* array consisting of all group and field details
- *
- *
*/
public static function &getGroupDetail($groupId = NULL, $searchable = NULL, &$extends = NULL, $inSelector = NULL) {
// create a new tree
* Add the whereAdd clause for the DAO depending on the type of entity
* the custom group is extending.
*
- * @param $customGroupDAO
+ * @param object $customGroupDAO
* @param string $entityType
* What entity are we extending here ?.
*
- * @param object CRM_Core_DAO_CustomGroup (reference) - Custom Group DAO.
+ * @param int $entityID
* @param bool $allSubtypes
- *
- * @return void
- *
*/
private static function _addWhereAdd(&$customGroupDAO, $entityType, $entityID = NULL, $allSubtypes = FALSE) {
$addSubtypeClause = FALSE;
/**
* Delete the Custom Group.
*
- * @param $group
- * Object the DAO custom group object.
+ * @param CRM_Core_BAO_CustomGroup $group
+ * Custom group object.
* @param bool $force
* whether to force the deletion, even if there are custom fields.
*
- * @return boolean
- * false if field exists for this group, true if group gets deleted.
- *
+ * @return bool
+ * False if field exists for this group, true if group gets deleted.
*/
public static function deleteGroup($group, $force = FALSE) {
- //check wheter this contain any custom fields
+ //check whether this contain any custom fields
$customField = new CRM_Core_DAO_CustomField();
$customField->custom_group_id = $group->id;
$customField->find();
}
/**
- * @param $groupTree
- * @param $defaults
+ * Set defaults.
+ *
+ * @param array $groupTree
+ * @param array $defaults
* @param bool $viewMode
* @param bool $inactiveNeeded
* @param int $action
}
/**
- * @param $groupTree
+ * PostProcess function.
+ *
+ * @param array $groupTree
* @param array $params
* @param bool $skipFile
*/
case 'CheckBox':
if (!empty($v)) {
$customValue = array_keys($v);
- $groupTree[$groupID]['fields'][$fieldId]['customValue']['data'] =
- CRM_Core_DAO::VALUE_SEPARATOR .
- implode(CRM_Core_DAO::VALUE_SEPARATOR, $customValue) .
- CRM_Core_DAO::VALUE_SEPARATOR;
+ $groupTree[$groupID]['fields'][$fieldId]['customValue']['data'] = CRM_Core_DAO::VALUE_SEPARATOR
+ . implode(CRM_Core_DAO::VALUE_SEPARATOR, $customValue)
+ . CRM_Core_DAO::VALUE_SEPARATOR;
}
else {
$groupTree[$groupID]['fields'][$fieldId]['customValue']['data'] = NULL;
//added for Multi-Select
case 'Multi-Select':
if (!empty($v)) {
- $groupTree[$groupID]['fields'][$fieldId]['customValue']['data'] =
- CRM_Core_DAO::VALUE_SEPARATOR .
- implode(CRM_Core_DAO::VALUE_SEPARATOR, $v) .
- CRM_Core_DAO::VALUE_SEPARATOR;
+ $groupTree[$groupID]['fields'][$fieldId]['customValue']['data'] = CRM_Core_DAO::VALUE_SEPARATOR
+ . implode(CRM_Core_DAO::VALUE_SEPARATOR, $v)
+ . CRM_Core_DAO::VALUE_SEPARATOR;
}
else {
$groupTree[$groupID]['fields'][$fieldId]['customValue']['data'] = NULL;
}
/**
- * Generic function to build all the form elements for a specific group tree
+ * Generic function to build all the form elements for a specific group tree.
*
* @param CRM_Core_Form $form
* The form object.
* Return inactive custom groups.
* @param string $prefix
* Prefix for custom grouptree assigned to template.
- *
- * @return void
*/
public static function buildQuickForm(&$form, &$groupTree, $inactiveNeeded = FALSE, $prefix = '') {
$form->assign_by_ref("{$prefix}groupTree", $groupTree);
}
/**
- * Extract the get params from the url, validate
- * and store it in session
+ * Extract the get params from the url, validate and store it in session.
*
* @param CRM_Core_Form $form
* The form object.
* @param array $removeCustomFieldTypes
* Remove custom fields of a type eg: array("Individual") ;.
*
- *
- * @return boolean
+ * @return bool
* false if it matches else true
*/
public static function checkCustomField($customFieldId, &$removeCustomFieldTypes) {
* @param array $groupTree
* @param int $groupCount
* Group count by default 1, but can varry for multiple value custom data.
- * @param object form object
+ * @param object $form
*
* @return array
*/
}
/**
- * Build custom data view
+ * Build custom data view.
*
* @param CRM_Core_Form $form
* Page object.
//changed isset CRM-4601
if (CRM_Utils_System::isNull($value)) {
- return;
+ return NULL;
}
$htmlType = CRM_Utils_Array::value('html_type', $field);
switch ($dataType) {
case 'Date':
- $customTimeFormat = '';
$customFormat = NULL;
- switch ($timeFormat) {
- case 1:
- $customTimeFormat = '%l:%M %P';
- break;
-
- case 2:
- $customTimeFormat = '%H:%M';
- break;
-
- default:
- // if time is not selected remove time from value
- $value = substr($value, 0, 10);
- }
-
- $supportableFormats = array(
- 'mm/dd' => "%B %E%f $customTimeFormat",
- 'dd-mm' => "%E%f %B $customTimeFormat",
- 'yy' => "%Y $customTimeFormat",
- 'M yy' => "%b %Y $customTimeFormat",
- 'yy-mm' => "%Y-%m $customTimeFormat",
- );
+ $actualPHPFormats = CRM_Core_SelectValues::datePluginToPHPFormats();
if ($format = CRM_Utils_Array::value('date_format', $field)) {
- if (array_key_exists($format, $supportableFormats)) {
- $customFormat = $supportableFormats["$format"];
+ if (array_key_exists($format, $actualPHPFormats)) {
+ $customTimeFormat = (array) CRM_Utils_Array::value($format, $actualPHPFormats);
+ switch ($timeFormat) {
+ case 1:
+ $customTimeFormat[] = 'g:iA';
+ break;
+
+ case 2:
+ $customTimeFormat[] = 'G:i';
+ break;
+
+ default:
+ // if time is not selected remove time from value
+ $value = substr($value, 0, 10);
+ }
+ $customFormat = implode(" ", $customTimeFormat);
}
}
-
- $retValue = CRM_Utils_Date::customFormat($value, $customFormat);
+ $retValue = CRM_Utils_Date::processDate($value, NULL, FALSE, $customFormat);
break;
case 'Boolean':
* @param array $fieldIds
* Array of custom field ids.
*
- * @return array
+ * @return array|NULL
* array consisting of groups and fields labels with ids.
*/
public static function getGroupTitles($fieldIds) {
if (!is_array($fieldIds) && empty($fieldIds)) {
- return;
+ return NULL;
}
$groupLabels = array();
* @param int $gID
* Custom group id.
*
- * @return boolean
+ * @return bool|NULL
* true if empty otherwise false.
*/
public static function isGroupEmpty($gID) {
if (!$gID) {
- return;
+ return NULL;
}
$tableName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup',