+--------------------------------------------------------------------+
| CiviCRM version 5 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2019 |
+ | Copyright CiviCRM LLC (c) 2004-2020 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2019
+ * @copyright CiviCRM LLC (c) 2004-2020
*/
/**
*
* @return array|int
*/
- public static function getSurveySummary($params = array(), $onlyCount = FALSE) {
+ public static function getSurveySummary($params = [], $onlyCount = FALSE) {
//build the limit and order clause.
$limitClause = $orderByClause = $lookupTableJoins = NULL;
if (!$onlyCount) {
- $sortParams = array(
+ $sortParams = [
'sort' => 'created_date',
'offset' => 0,
'rowCount' => 10,
'sortOrder' => 'desc',
- );
+ ];
foreach ($sortParams as $name => $default) {
if (!empty($params[$name])) {
$sortParams[$name] = $params[$name];
}
//build the where clause.
- $queryParams = $where = array();
+ $queryParams = $where = [];
//we only have activity type as a
//difference between survey and petition.
$petitionTypeID = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Petition');
if ($petitionTypeID) {
$where[] = "( survey.activity_type_id != %1 )";
- $queryParams[1] = array($petitionTypeID, 'Positive');
+ $queryParams[1] = [$petitionTypeID, 'Positive'];
}
if (!empty($params['title'])) {
$where[] = "( survey.title LIKE %2 )";
- $queryParams[2] = array('%' . trim($params['title']) . '%', 'String');
+ $queryParams[2] = ['%' . trim($params['title']) . '%', 'String'];
}
if (!empty($params['campaign_id'])) {
$where[] = '( survey.campaign_id = %3 )';
- $queryParams[3] = array($params['campaign_id'], 'Positive');
+ $queryParams[3] = [$params['campaign_id'], 'Positive'];
}
if (!empty($params['activity_type_id'])) {
$typeId = $params['activity_type_id'];
return (int) CRM_Core_DAO::singleValueQuery($query, $queryParams);
}
- $surveys = array();
- $properties = array(
+ $surveys = [];
+ $properties = [
'id',
'title',
'campaign_id',
'release_frequency',
'max_number_of_contacts',
'default_number_of_contacts',
- );
+ ];
$survey = CRM_Core_DAO::executeQuery($query, $queryParams);
while ($survey->fetch()) {
*/
public static function getSurveys($onlyActive = TRUE, $onlyDefault = FALSE, $forceAll = FALSE, $includePetition = FALSE) {
$cacheKey = 0;
- $cacheKeyParams = array('onlyActive', 'onlyDefault', 'forceAll', 'includePetition');
+ $cacheKeyParams = ['onlyActive', 'onlyDefault', 'forceAll', 'includePetition'];
foreach ($cacheKeyParams as $param) {
$cacheParam = $$param;
if (!$cacheParam) {
//difference between survey and petition.
$petitionTypeID = CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'petition');
- $where = array();
+ $where = [];
if ($petitionTypeID) {
$where[] = "( survey.activity_type_id != {$petitionTypeID} )";
}
survey.title as title
FROM civicrm_survey as survey
WHERE {$whereClause}";
- $surveys[$cacheKey] = array();
+ $surveys[$cacheKey] = [];
$survey = CRM_Core_DAO::executeQuery($query);
while ($survey->fetch()) {
$surveys[$cacheKey][$survey->id] = $survey->title;
* @param string $returnColumn
* @param bool $includePetitionActivityType
*
- * @return string
+ * @return mixed
*/
public static function getSurveyActivityType($returnColumn = 'label', $includePetitionActivityType = FALSE) {
static $activityTypes;
$cacheKey = "{$returnColumn}_{$includePetitionActivityType}";
if (!isset($activityTypes[$cacheKey])) {
- $activityTypes = array();
+ $activityTypes = [];
$campaignCompId = CRM_Core_Component::getComponentID('CiviCampaign');
if ($campaignCompId) {
$condition = " AND v.component_id={$campaignCompId}";
*
* @return array
*/
- public static function getSurveyCustomGroups($surveyTypes = array()) {
- $customGroups = array();
+ public static function getSurveyCustomGroups($surveyTypes = []) {
+ $customGroups = [];
if (!is_array($surveyTypes)) {
- $surveyTypes = array($surveyTypes);
+ $surveyTypes = [$surveyTypes];
}
if (!empty($surveyTypes)) {
* @return array
* array of contact info.
*/
- public static function voterDetails($voterIds, $returnProperties = array()) {
- $voterDetails = array();
+ public static function voterDetails($voterIds, $returnProperties = []) {
+ $voterDetails = [];
if (!is_array($voterIds) || empty($voterIds)) {
return $voterDetails;
}
$autocompleteContactSearch = CRM_Core_BAO_Setting::valueOptions(CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
'contact_autocomplete_options'
);
- $returnProperties = array_fill_keys(array_merge(array(
- 'contact_type',
- 'contact_sub_type',
- 'sort_name',
- ),
+ $returnProperties = array_fill_keys(array_merge(
+ ['contact_type', 'contact_sub_type', 'sort_name'],
array_keys($autocompleteContactSearch)
), 1);
}
- $select = $from = array();
+ $select = $from = [];
foreach ($returnProperties as $property => $ignore) {
- $value = (in_array($property, array(
+ $value = (in_array($property, [
'city',
'street_address',
- ))) ? 'address' : $property;
+ ])) ? 'address' : $property;
switch ($property) {
case 'sort_name':
case 'contact_type':
* @return array
* array of survey activity.
*/
- public static function voterActivityDetails($surveyId, $voterIds, $interviewerId = NULL, $statusIds = array()) {
- $activityDetails = array();
+ public static function voterActivityDetails($surveyId, $voterIds, $interviewerId = NULL, $statusIds = []) {
+ $activityDetails = [];
if (!$surveyId ||
!is_array($voterIds) || empty($voterIds)
) {
$assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
$targetID = CRM_Utils_Array::key('Activity Targets', $activityContacts);
- $params[1] = array($surveyId, 'Integer');
+ $params[1] = [$surveyId, 'Integer'];
$query = "
SELECT activity.id, activity.status_id,
activityTarget.contact_id as voter_id,
AND ( activity.is_deleted IS NULL OR activity.is_deleted = 0 ) ";
if (!empty($interviewerId)) {
$query .= "AND activityAssignment.contact_id = %2 ";
- $params[2] = array($interviewerId, 'Integer');
+ $params[2] = [$interviewerId, 'Integer'];
}
$query .= "AND activityTarget.contact_id IN {$targetContactIds}
$whereClause";
$activity = CRM_Core_DAO::executeQuery($query, $params);
while ($activity->fetch()) {
- $activityDetails[$activity->voter_id] = array(
+ $activityDetails[$activity->voter_id] = [
'voter_id' => $activity->voter_id,
'status_id' => $activity->status_id,
'activity_id' => $activity->id,
'interviewer_id' => $activity->interviewer_id,
- );
+ ];
}
return $activityDetails;
$voterIds = NULL,
$onlyCount = FALSE
) {
- $activities = array();
+ $activities = [];
$surveyActivityCount = 0;
if (!$surveyId) {
return ($onlyCount) ? 0 : $activities;
}
- $where = array();
+ $where = [];
if (!empty($statusIds)) {
$where[] = '( activity.status_id IN ( ' . implode(',', array_values($statusIds)) . ' ) )';
}
AND ( activity.is_deleted IS NULL OR activity.is_deleted = 0 )
$whereClause";
- $params = array(
- 1 => array($surveyId, 'Integer'),
- 2 => array($actTypeId, 'Integer'),
- );
+ $params = [
+ 1 => [$surveyId, 'Integer'],
+ 2 => [$actTypeId, 'Integer'],
+ ];
if ($onlyCount) {
$dbCount = CRM_Core_DAO::singleValueQuery($query, $params);
$activity = CRM_Core_DAO::executeQuery($query, $params);
while ($activity->fetch()) {
- $activities[$activity->id] = array(
+ $activities[$activity->id] = [
'id' => $activity->id,
'voter_id' => $activity->voter_id,
'voter_name' => $activity->voter_name,
'interviewer_id' => $activity->interviewer_id,
'result' => $activity->result,
'activity_date_time' => $activity->activity_date_time,
- );
+ ];
}
return $activities;
* @return array
* Survey related contact ids.
*/
- public static function getSurveyVoterInfo($surveyId, $interviewerId = NULL, $statusIds = array()) {
- $voterIds = array();
+ public static function getSurveyVoterInfo($surveyId, $interviewerId = NULL, $statusIds = []) {
+ $voterIds = [];
if (!$surveyId) {
return $voterIds;
}
$cacheKey = "{$cacheKey}_" . implode('_', $statusIds);
}
- static $contactIds = array();
+ static $contactIds = [];
if (!isset($contactIds[$cacheKey])) {
$activities = self::getSurveyActivities($surveyId, $interviewerId, $statusIds);
foreach ($activities as $values) {
* an array of option groups.
*/
public static function getResultSets($valueColumnName = 'title') {
- $resultSets = array();
+ $resultSets = [];
$valueColumnName = CRM_Utils_Type::escape($valueColumnName, 'String');
$query = "SELECT id, {$valueColumnName} FROM civicrm_option_group WHERE name LIKE 'civicrm_survey_%' AND is_active=1";
* an array of option values
*/
public static function getResponsesOptions($surveyId) {
- $responseOptions = array();
+ $responseOptions = [];
if (!$surveyId) {
return $responseOptions;
}
* $url array of permissioned links
*/
public static function buildPermissionLinks($surveyId, $enclosedInUL = FALSE, $extraULName = 'more') {
- $menuLinks = array();
+ $menuLinks = [];
if (!$surveyId) {
return $menuLinks;
}
- static $voterLinks = array();
+ static $voterLinks = [];
if (empty($voterLinks)) {
$permissioned = FALSE;
if (CRM_Core_Permission::check('manage campaign') ||
}
if ($permissioned || CRM_Core_Permission::check("reserve campaign contacts")) {
- $voterLinks['reserve'] = array(
+ $voterLinks['reserve'] = [
'name' => 'reserve',
'url' => 'civicrm/survey/search',
'qs' => 'sid=%%id%%&reset=1&op=reserve',
'title' => ts('Reserve Respondents'),
- );
+ ];
}
if ($permissioned || CRM_Core_Permission::check("interview campaign contacts")) {
- $voterLinks['release'] = array(
+ $voterLinks['release'] = [
'name' => 'interview',
'url' => 'civicrm/survey/search',
'qs' => 'sid=%%id%%&reset=1&op=interview&force=1',
'title' => ts('Interview Respondents'),
- );
+ ];
}
if ($permissioned || CRM_Core_Permission::check("release campaign contacts")) {
- $voterLinks['interview'] = array(
+ $voterLinks['interview'] = [
'name' => 'release',
'url' => 'civicrm/survey/search',
'qs' => 'sid=%%id%%&reset=1&op=release&force=1',
'title' => ts('Release Respondents'),
- );
+ ];
}
}
if (CRM_Core_Permission::check('access CiviReport')) {
$reportID = self::getReportID($surveyId);
if ($reportID) {
- $voterLinks['report'] = array(
+ $voterLinks['report'] = [
'name' => 'report',
'url' => "civicrm/report/instance/{$reportID}",
'qs' => 'reset=1',
'title' => ts('View Survey Report'),
- );
+ ];
}
}
- $ids = array('id' => $surveyId);
+ $ids = ['id' => $surveyId];
foreach ($voterLinks as $link) {
if (!empty($link['qs']) &&
!CRM_Utils_System::isNull($link['qs'])
return NULL;
}
- static $ufIds = array();
+ static $ufIds = [];
if (!array_key_exists($surveyId, $ufIds)) {
//get the profile id.
- $ufJoinParams = array(
+ $ufJoinParams = [
'entity_id' => $surveyId,
'entity_table' => 'civicrm_survey',
'module' => 'CiviCampaign',
- );
+ ];
list($first, $second) = CRM_Core_BAO_UFJoin::getUFGroupIds($ufJoinParams);
if ($first) {
- $ufIds[$surveyId] = array($first);
+ $ufIds[$surveyId] = [$first];
}
if ($second) {
$ufIds[$surveyId][] = array_shift($second);
*
* @return mixed
*/
- public Static function getReportID($surveyId) {
- static $reportIds = array();
+ public static function getReportID($surveyId) {
+ static $reportIds = [];
if (!array_key_exists($surveyId, $reportIds)) {
$query = "SELECT MAX(id) as id FROM civicrm_report_instance WHERE name = %1";
- $reportID = CRM_Core_DAO::singleValueQuery($query, array(1 => array("survey_{$surveyId}", 'String')));
+ $reportID = CRM_Core_DAO::singleValueQuery($query, [1 => ["survey_{$surveyId}", 'String']]);
$reportIds[$surveyId] = $reportID;
}
return $reportIds[$surveyId];
static $profileTypes;
if (!isset($profileTypes)) {
- $profileTypes = array_merge(array('Activity', 'Contact'), CRM_Contact_BAO_ContactType::basicTypes());
- $profileTypes = array_diff($profileTypes, array('Organization', 'Household'));
+ $profileTypes = array_merge(['Activity', 'Contact'], CRM_Contact_BAO_ContactType::basicTypes());
+ $profileTypes = array_diff($profileTypes, ['Organization', 'Household']);
}
return $profileTypes;
*/
public static function getSurveyResponseFields($surveyId, $surveyTypeId = NULL) {
if (empty($surveyId)) {
- return array();
+ return [];
}
static $responseFields;
return $responseFields[$cacheKey];
}
- $responseFields[$cacheKey] = array();
+ $responseFields[$cacheKey] = [];
$profileId = self::getSurveyProfileId($surveyId);
);
//don't load these fields in grid.
- $removeFields = array('File', 'RichTextEditor');
+ $removeFields = ['File', 'RichTextEditor'];
$supportableFieldTypes = self::surveyProfileTypes();
$whereClause = ' WHERE survey.activity_type_id IN ( ' . implode(' , ', array_keys($activityTypes)) . ' )';
}
- $interviewers = array();
+ $interviewers = [];
$activityContacts = CRM_Activity_BAO_ActivityContact::buildOptions('record_type_id', 'validate');
$assigneeID = CRM_Utils_Array::key('Activity Assignees', $activityContacts);
WHERE activity.is_deleted = 0
AND activity.status_id = %1
AND activity.activity_type_id IN ( ' . implode(', ', $surveyActivityTypesIds) . ' )';
- $activity = CRM_Core_DAO::executeQuery($query, array(1 => array($reserveStatusId, 'Positive')));
- $releasedIds = array();
+ $activity = CRM_Core_DAO::executeQuery($query, [1 => [$reserveStatusId, 'Positive']]);
+ $releasedIds = [];
while ($activity->fetch()) {
if (!$activity->release_frequency) {
continue;
}
}
- $rtnMsg = array(
+ $rtnMsg = [
'is_error' => 0,
'messages' => "Number of respondents released = {$releasedCount}",
- );
+ ];
return $rtnMsg;
}
*
* @return array|bool
*/
- public static function buildOptions($fieldName, $context = NULL, $props = array()) {
- $params = array();
+ public static function buildOptions($fieldName, $context = NULL, $props = []) {
+ $params = [];
// Special logic for fields whose options depend on context or properties
switch ($fieldName) {
case 'activity_type_id':
$campaignCompId = CRM_Core_Component::getComponentID('CiviCampaign');
if ($campaignCompId) {
- $params['condition'] = array("component_id={$campaignCompId}");
+ $params['condition'] = ["component_id={$campaignCompId}"];
}
break;
}