minor tidy-ups
[civicrm-core.git] / CRM / Case / BAO / Case.php
index 877907b6dad0be0a8d5025374f1c1dd605ad3ea0..6c6601bbd9ad82a93ce819928b5ec920559327e3 100644 (file)
@@ -23,7 +23,7 @@
  | GNU Affero General Public License or the licensing of CiviCRM,     |
  | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
  +--------------------------------------------------------------------+
-*/
+ */
 
 /**
  *
  */
 
 /**
- * This class contains the functions for Case Management
+ * This class contains the functions for Case Management.
  *
  */
 class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
 
   /**
-   * Static field for all the case information that we can potentially export
+   * Static field for all the case information that we can potentially export.
    *
    * @var array
-   * @static
    */
   static $_exportableFields = NULL;
 
   /**
+   * Class constructor.
    */
   public function __construct() {
     parent::__construct();
@@ -64,9 +64,9 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
   }
 
   /**
-   * Takes an associative array and creates a case object
+   * Create a case object.
    *
-   * the function extract all the params it needs to initialize the create a
+   * The function extracts all the params it needs to initialize the create a
    * case object. the params array could contain additional unused name/value
    * pairs
    *
@@ -74,7 +74,6 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    *   (reference ) an assoc array of name/value pairs.
    *
    * @return CRM_Case_BAO_Case
-   * @static
    */
   public static function add(&$params) {
     $caseDAO = new CRM_Case_DAO_Case();
@@ -84,7 +83,7 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
 
   /**
    * Given the list of params in the params array, fetch the object
-   * and store the values in the values array
+   * and store the values in the values array.
    *
    * @param array $params
    *   Input parameters to find object.
@@ -93,8 +92,8 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    * @param array $ids
    *   The array that holds all the db ids.
    *
-   * @return CRM_Case_BAO_Case|null the found object or null
-   * @static
+   * @return CRM_Case_BAO_Case|null
+   *   The found object or null
    */
   public static function &getValues(&$params, &$values, &$ids) {
     $case = new CRM_Case_BAO_Case();
@@ -110,13 +109,12 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
   }
 
   /**
-   * Takes an associative array and creates a case object
+   * Takes an associative array and creates a case object.
    *
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   *   (reference) an assoc array of name/value pairs.
    *
    * @return CRM_Case_BAO_Case
-   * @static
    */
   public static function &create(&$params) {
     $transaction = new CRM_Core_Transaction();
@@ -155,9 +153,10 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
   }
 
   /**
-   * Create case contact record
+   * Create case contact record.
    *
-   * @param array case_id, contact_id
+   * @param array $params
+   *   case_id, contact_id
    *
    * @return object
    */
@@ -197,11 +196,9 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
   }
 
   /**
-   * Delet case contact record
+   * Delete case contact record.
    *
-   * @param int case_id
-   *
-   * @return Void
+   * @param int $caseID
    */
   public static function deleteCaseContact($caseID) {
     $caseContact = new CRM_Case_DAO_CaseContact();
@@ -217,12 +214,18 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
   }
 
   /**
-   * convert associative array names to values
-   * and vice-versa.
+   * Convert associative array names to values and vice-versa.
    *
    * This function is used by both the web form layer and the api. Note that
    * the api needs the name => value conversion, also the view layer typically
    * requires value => name conversion
+   *
+   * @param array $defaults
+   * @param string $property
+   * @param array $lookup
+   * @param bool $reverse
+   *
+   * @return bool
    */
   public static function lookupValue(&$defaults, $property, &$lookup, $reverse) {
     $id = $property . '_id';
@@ -260,7 +263,6 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    *   (reference) the array that holds all the db ids.
    *
    * @return CRM_Case_BAO_Case
-   * @static
    */
   public static function retrieve(&$params, &$defaults, &$ids) {
     $case = CRM_Case_BAO_Case::getValues($params, $defaults, $ids);
@@ -274,7 +276,6 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    * @param array $params
    *   (reference ) an assoc array of name/value pairs.
    *
-   * @static
    */
   public static function processCaseActivity(&$params) {
     $caseActivityDAO = new CRM_Case_DAO_CaseActivity();
@@ -286,13 +287,12 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
   }
 
   /**
-   * Get the case subject for Activity
+   * Get the case subject for Activity.
    *
    * @param int $activityId
    *   Activity id.
    *
    * @return string|null
-   * @static
    */
   public static function getCaseSubject($activityId) {
     $caseActivity = new CRM_Case_DAO_CaseActivity();
@@ -311,7 +311,6 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    *
    * @return string
    *   case type
-   * @static
    */
   public static function getCaseType($caseId, $colName = 'title') {
     $query = "
@@ -336,7 +335,6 @@ WHERE civicrm_case.id = %1";
    *
    * @return bool
    *   is successful
-   * @static
    */
   public static function deleteCase($caseId, $moveToTrash = FALSE) {
     CRM_Utils_Hook::pre('delete', 'Case', $caseId, CRM_Core_DAO::$_nullArray);
@@ -382,7 +380,7 @@ WHERE civicrm_case.id = %1";
   }
 
   /**
-   * Enable disable case related relationships
+   * Enable disable case related relationships.
    *
    * @param int $caseId
    *   Case id.
@@ -390,7 +388,6 @@ WHERE civicrm_case.id = %1";
    *   Action.
    *
    * @return void
-   * @static
    */
   public static function enableDisableCaseRelationships($caseId, $enable) {
     $contactIds = self::retrieveContactIdsByCaseId($caseId);
@@ -409,13 +406,12 @@ WHERE civicrm_case.id = %1";
   }
 
   /**
-   * Delete the activities related to case
+   * Delete the activities related to case.
    *
    * @param int $activityId
    *   Id of the activity.
    *
    * @return void
-   * @static
    */
   public static function deleteCaseActivity($activityId) {
     $case = new CRM_Case_DAO_CaseActivity();
@@ -450,7 +446,7 @@ WHERE civicrm_case.id = %1";
   }
 
   /**
-   * Look up a case using an activity ID
+   * Look up a case using an activity ID.
    *
    * @param int $activityId
    *
@@ -515,7 +511,7 @@ WHERE civicrm_case.id = %1";
   }
 
   /**
-   * Retrieve case_id by contact_id
+   * Retrieve case_id by contact_id.
    *
    * @param int $contactID
    * @param bool $includeDeleted
@@ -712,8 +708,7 @@ LEFT JOIN civicrm_option_group aog ON aog.name='activity_type'
   }
 
   /**
-   * Retrieve cases related to particular contact or whole contact
-   * used in Dashboad and Tab
+   * Retrieve cases related to particular contact or whole contact used in Dashboard and Tab.
    *
    * @param bool $allCases
    *
@@ -975,7 +970,6 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    * @return array
    *   case role / relationships
    *
-   * @static
    */
   public static function getCaseRoles($contactID, $caseID, $relationshipID = NULL) {
     $query = '
@@ -1039,7 +1033,6 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    * @return array
    *   Array of case activities
    *
-   * @static
    */
   public static function getCaseActivity($caseID, &$params, $contactID, $context = NULL, $userID = NULL, $type = NULL) {
     $values = array();
@@ -1361,7 +1354,7 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
       }
 
       if ($allowEdit) {
-        $values[$dao->id]['status'] = '<a class="crm-activity-status crm-activity-status-' . $dao->id . ' ' . $values[$dao->id]['class'] . ' crm-activity-change-status crm-editable-enabled" activity_id=' . $dao->id . ' current_status=' . $dao->status . ' case_id=' . $caseID . ' href="#" title=\'' . $statusTitle . '\'>' . $values[$dao->id]['status'] . '</a>';
+        $values[$dao->id]['status'] = '<div class="crmf-status_id crm-activity-status-' . $dao->id . ' ' . $values[$dao->id]['class'] . ' crm-editable" data-type="select" data-action="create" data-refresh="true">' . $values[$dao->id]['status'] . '</div>';
       }
     }
     $dao->free();
@@ -1380,7 +1373,6 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    * @return array
    *   array of return properties
    *
-   * @static
    */
   public static function getRelatedContacts($caseID, $skipDetails = FALSE) {
     $values = array();
@@ -1601,7 +1593,6 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    *
    * @return array|void
    *   $activity object of newly creted activity via email
-   * @access public
    */
   public static function recordActivityViaEmail($file) {
     if (!file_exists($file) ||
@@ -1696,7 +1687,6 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    *   Array of scheduled activity type and date
    *
    *
-   * @static
    */
   public static function getNextScheduledActivity($cases, $type = 'upcoming') {
     $session = CRM_Core_Session::singleton();
@@ -1734,7 +1724,6 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    *
    * @return array
    *   array of exportable Fields
-   * @static
    */
   public static function &exportableFields() {
     if (!self::$_exportableFields) {
@@ -1765,7 +1754,6 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    *   Id of the case to restore.
    *
    * @return bool
-   * @static
    */
   public static function restoreCase($caseId) {
     //restore activities
@@ -1867,7 +1855,6 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    * @return array
    *   case activities due dates
    *
-   * @static
    */
   public static function getCaseActivityDates($caseID, $criteriaParams = array(), $latestDate = FALSE) {
     $values = array();
@@ -1875,7 +1862,7 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
     $where = $groupBy = ' ';
 
     if (!$caseID) {
-      return;
+      return NULL;
     }
 
     if ($latestDate) {
@@ -1922,7 +1909,6 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    * @return void
    *   on success creates activity and case activity
    *
-   * @static
    */
   public static function createCaseRoleActivity($caseId, $relationshipId, $relContactId = NULL, $contactId = NULL) {
     if (!$caseId || !$relationshipId || empty($relationshipId)) {
@@ -2017,11 +2003,10 @@ SELECT case_status.label AS case_status, status_id, civicrm_case_type.title AS c
    * @return array
    *   array of contact on success otherwise empty
    *
-   * @static
    */
   public static function getCaseManagerContact($caseType, $caseId) {
     if (!$caseType || !$caseId) {
-      return;
+      return NULL;
     }
 
     $caseManagerContact = array();
@@ -2054,14 +2039,16 @@ SELECT civicrm_contact.id as casemanager_id,
   }
 
   /**
-   * Get all cases with no end dates
+   * Get all cases with no end dates.
    *
    * @param array $params
    * @param array $excludeCaseIds
    * @param bool $excludeDeleted
    *
+   * @param bool $includeClosed
+   *
    * @return array
-   *   case and related data keyed on case id
+   *   Case and related data keyed on case id
    */
   public static function getUnclosedCases($params = array(), $excludeCaseIds = array(), $excludeDeleted = TRUE, $includeClosed = FALSE) {
     //params from ajax call.
@@ -2339,6 +2326,9 @@ INNER JOIN  civicrm_case_contact ON ( civicrm_case.id = civicrm_case_contact.cas
    * @see CRM_Dedupe_Merger::cpTables()
    *
    * TODO: use the 3rd $sqls param to append sql statements rather than executing them here
+   *
+   * @param int $mainContactId
+   * @param int $otherContactId
    */
   public static function mergeContacts($mainContactId, $otherContactId) {
     self::mergeCases($mainContactId, NULL, $otherContactId);
@@ -2361,9 +2351,8 @@ INNER JOIN  civicrm_case_contact ON ( civicrm_case.id = civicrm_case_contact.cas
    * @param bool $changeClient
    *
    * @return int|NULL
-   * @static
    */
-  static function mergeCases(
+  public static function mergeCases(
     $mainContactId, $mainCaseId = NULL, $otherContactId = NULL,
     $otherCaseId = NULL, $changeClient = FALSE) {
     $moveToTrash = TRUE;
@@ -2777,7 +2766,6 @@ WHERE id IN (' . implode(',', $copiedActivityIds) . ')';
    *   Info of the activity.
    *
    * @return void
-   * @static
    */
   public static function buildPermissionLinks(&$tplParams, $activityParams) {
     $activityTypeId = CRM_Core_DAO::getFieldValue('CRM_Activity_DAO_Activity', $activityParams['source_record_id'],
@@ -2823,8 +2811,7 @@ WHERE id IN (' . implode(',', $copiedActivityIds) . ')';
    * @param bool $checkComponent
    *   Do we need to check component enabled.
    *
-   * @return boolean
-   * @static
+   * @return bool
    */
   public static function checkPermission($activityId, $operation, $actTypeId = NULL, $contactId = NULL, $checkComponent = TRUE) {
     $allow = FALSE;
@@ -3135,7 +3122,7 @@ WHERE id IN (' . implode(',', $copiedActivityIds) . ')';
    * @param int $activityID
    *   Activity id.
    *
-   * @return boolean
+   * @return bool
    */
   public static function isCaseActivity($activityID) {
     $isCaseActivity = FALSE;
@@ -3305,6 +3292,8 @@ WHERE id IN (' . implode(',', $copiedActivityIds) . ')';
   /**
    * Helper function, also used by the upgrade in case of error
    *
+   * @param string $section
+   *
    * @return string
    */
   public static function createCaseViewsQuery($section = 'upcoming') {
@@ -3382,7 +3371,6 @@ WHERE id IN (' . implode(',', $copiedActivityIds) . ')';
    *
    * @return array
    *   associated array with client ids
-   * @static
    */
   public static function getCaseClients($caseId) {
     $clients = array();
@@ -3403,11 +3391,11 @@ WHERE id IN (' . implode(',', $copiedActivityIds) . ')';
    *
    * @param string $fieldName
    * @param string $context
-   *   @see CRM_Core_DAO::buildOptionsContext.
+   * @see CRM_Core_DAO::buildOptionsContext
    * @param array $props
    *   Whatever is known about this dao object.
    *
-   * @return Array|bool
+   * @return array|bool
    */
   public static function buildOptions($fieldName, $context = NULL, $props = array()) {
     $className = __CLASS__;
@@ -3420,4 +3408,5 @@ WHERE id IN (' . implode(',', $copiedActivityIds) . ')';
     }
     return CRM_Core_PseudoConstant::get($className, $fieldName, $params, $context);
   }
+
 }