<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.5 |
+ | CiviCRM version 4.6 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
class CRM_Member_BAO_MembershipStatus extends CRM_Member_DAO_MembershipStatus {
/**
- * static holder for the default LT
+ * Static holder for the default LT
*/
static $_defaultMembershipStatus = NULL;
/**
- * class constructor
+ * Class constructor
*/
- function __construct() {
+ public function __construct() {
parent::__construct();
}
/**
- * Takes a bunch of params that are needed to match certain criteria and
- * retrieves the relevant objects. Typically the valid params are only
- * contact_id. We'll tweak this function to be more full featured over a period
- * of time. This is the inverse function of create. It also stores all the retrieved
- * values in the default array
+ * Fetch object based on array of properties
*
- * @param array $params (reference ) an assoc array of name/value pairs
- * @param array $defaults (reference ) an assoc array to hold the flattened values
+ * @param array $params
+ * (reference ) an assoc array of name/value pairs.
+ * @param array $defaults
+ * (reference ) an assoc array to hold the flattened values.
*
- * @return object CRM_Member_BAO_MembershipStatus object
- * @access public
+ * @return CRM_Member_BAO_MembershipStatus object
* @static
*/
- static function retrieve(&$params, &$defaults) {
+ public static function retrieve(&$params, &$defaults) {
$membershipStatus = new CRM_Member_DAO_MembershipStatus();
$membershipStatus->copyValues($params);
if ($membershipStatus->find(TRUE)) {
}
/**
- * 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 boolean $is_active value we want to set the is_active field
+ * @param int $id
+ * Id of the database record.
+ * @param bool $is_active
+ * Value we want to set the is_active field.
*
* @return Object DAO object on sucess, null otherwise
* @static
*/
- static function setIsActive($id, $is_active) {
+ public static function setIsActive($id, $is_active) {
return CRM_Core_DAO::setFieldValue('CRM_Member_DAO_MembershipStatus', $id, 'is_active', $is_active);
}
* Takes an associative array and creates a membership Status object
* See http://wiki.civicrm.org/confluence/display/CRM/Database+layer
*
- * @param array $params (reference ) an assoc array of name/value pairs
+ * @param array $params
+ * (reference ) an assoc array of name/value pairs.
*
* @throws Exception
- * @return object CRM_Member_BAO_MembershipStatus object
- * @access public
+ * @return CRM_Member_BAO_MembershipStatus object
* @static
*/
- static function create($params){
+ public static function create($params) {
$ids = array();
- if(!empty($params['id'])){
+ if (!empty($params['id'])) {
$ids['membershipStatus'] = $params['id'];
}
else{
return $membershipStatusBAO;
}
/**
- * function to add the membership types
+ * Add the membership types
*
- * @param array $params reference array contains the values submitted by the form
- * @param array $ids array contains the id - this param is deprecated
+ * @param array $params
+ * Reference array contains the values submitted by the form.
+ * @param array $ids
+ * Array contains the id - this param is deprecated.
*
- * @access public
* @static
*
* @return object
*/
- static function add(&$params, $ids = array()) {
- $params['is_active'] = CRM_Utils_Array::value('is_active', $params, FALSE);
- $params['is_current_member'] = CRM_Utils_Array::value('is_current_member', $params, FALSE);
- $params['is_admin'] = CRM_Utils_Array::value('is_admin', $params, FALSE);
- $params['is_default'] = CRM_Utils_Array::value('is_default', $params, FALSE);
+ public static function add(&$params, $ids = array()) {
+ $id = CRM_Utils_Array::value('id', $params, CRM_Utils_Array::value('membershipStatus', $ids));
+ if (!$id) {
+ CRM_Core_DAO::setCreateDefaults($params, self::getDefaults());
+ //copy name to label when not passed.
+ if (empty($params['label']) && !empty($params['name'])) {
+ $params['label'] = $params['name'];
+ }
+
+ if (empty($params['name']) && !empty($params['label'])) {
+ $params['name'] = $params['label'];
+ }
+ }
// set all other defaults to false.
- if ($params['is_default']) {
+ if (!empty($params['is_default'])) {
$query = "UPDATE civicrm_membership_status SET is_default = 0";
CRM_Core_DAO::executeQuery($query,
CRM_Core_DAO::$_nullArray
);
}
- //copy name to label when not passed.
- if (empty($params['label']) && !empty($params['name'])) {
- $params['label'] = $params['name'];
- }
-
- //for add mode, copy label to name.
- $statusId = !empty($params['id']) ? $params['id'] : CRM_Utils_Array::value('membershipStatus', $ids);
- if (!$statusId && !empty($params['label']) && empty($params['name'])) {
- $params['name'] = $params['label'];
- }
-
// action is taken depending upon the mode
$membershipStatus = new CRM_Member_DAO_MembershipStatus();
$membershipStatus->copyValues($params);
- $membershipStatus->id = $statusId;
+ $membershipStatus->id = $id;
$membershipStatus->save();
return $membershipStatus;
}
/**
- * Function to get membership status
+ * Get defaults for new entity
+ * @return array
+ */
+ public static function getDefaults() {
+ return array(
+ 'is_active' => FALSE,
+ 'is_current_member' => FALSE,
+ 'is_admin' => FALSE,
+ 'is_default' => FALSE,
+ );
+ }
+
+ /**
+ * Get membership status
*
* @param int $membershipStatusId
*
}
/**
- * Function to delete membership Types
+ * Delete membership Types
*
* @param int $membershipStatusId
- * @param
+ *
+ * @throws CRM_Core_Exception
* @static
*/
- static function del($membershipStatusId) {
+ public static function del($membershipStatusId) {
//check dependencies
//checking if membership status is present in some other table
$check = FALSE;
}
/**
- * Function to find the membership status based on start date, end date, join date & status date.
+ * Find the membership status based on start date, end date, join date & status date.
*
- * @param date $startDate start date of the member whose membership status is to be calculated.
- * @param date $endDate end date of the member whose membership status is to be calculated.
- * @param date $joinDate join date of the member whose membership status is to be calculated.
- * @param date $statusDate status date of the member whose membership status is to be calculated.
- * @param boolean $excludeIsAdmin exclude the statuses those having is_admin = 1
- * @param integer $membershipType membership type id - passed to the hook
- * @param array $membership membership params as available to calling function - passed to the hook
+ * @param string $startDate
+ * Start date of the member whose membership status is to be calculated.
+ * @param string $endDate
+ * End date of the member whose membership status is to be calculated.
+ * @param string $joinDate
+ * Join date of the member whose membership status is to be calculated.
+ * @param \date|string $statusDate status date of the member whose membership status is to be calculated.
+ * @param bool $excludeIsAdminExclude the statuses those having is_admin = 1.
+ * Exclude the statuses those having is_admin = 1.
+ * @param int $membershipTypeID
+ * @param array $membership
+ * Membership params as available to calling function - passed to the hook.
*
- * @return
- * @static
+ * @return array
+ @static
*/
- static function getMembershipStatusByDate($startDate, $endDate, $joinDate,
+ static function getMembershipStatusByDate(
+ $startDate, $endDate, $joinDate,
$statusDate = 'today', $excludeIsAdmin = FALSE, $membershipTypeID, $membership = array()
) {
$membershipDetails = array();
if (!$statusDate || $statusDate == 'today') {
- $statusDate = getDate();
+ $statusDate = getdate();
$statusDate = date('Ymd',
mktime($statusDate['hours'],
$statusDate['minutes'],
${$dat . 'Month'} + $membershipStatus->{$eve . '_event_adjust_interval'},
${$dat . 'Day'},
${$dat . 'Year'}
- ));
+ ));
}
// add in days
if ($membershipStatus->{$eve . '_event_adjust_unit'} == 'day') {
${$dat . 'Month'},
${$dat . 'Day'} + $membershipStatus->{$eve . '_event_adjust_interval'},
${$dat . 'Year'}
- ));
+ ));
}
// add in years
if ($membershipStatus->{$eve . '_event_adjust_unit'} == 'year') {
${$dat . 'Month'},
${$dat . 'Day'},
${$dat . 'Year'} + $membershipStatus->{$eve . '_event_adjust_interval'}
- ));
+ ));
}
// if no interval and unit, present
}
/**
* Function that return the status ids whose is_current_member is set
*
- * @return
- * @static
+ * @return array
+ @static
*/
public static function getMembershipStatusCurrent() {
$statusIds = array();
return $statusIds;
}
}
-