/** * 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 * * @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_Auction_BAO_Item object * @access public * @static */ static function retrieve(&$params, &$defaults) { $auction = new CRM_Auction_DAO_Item(); $auction->copyValues($params); if ($auction->find(true)) { CRM_Core_DAO::storeValues($auction, $defaults); return $auction; } return null; }
/** * function to add the auction * * @param array $params reference array contains the values submitted by the form * * @access public * @static * * @return object */ static function add(&$params) { require_once 'CRM/Utils/Hook.php'; if (!empty($params['id'])) { CRM_Utils_Hook::pre('edit', 'Auction_Item', $params['id'], $params); } else { CRM_Utils_Hook::pre('create', 'Auction_Item', NULL, $params); } $auction = new CRM_Auction_DAO_Item(); $auction->copyValues($params); $auction->save(); // add attachments as needed CRM_Core_BAO_File::formatAttachment($params, $params, 'civicrm_auction_item', $auction->id); // add attachments as needed CRM_Core_BAO_File::processAttachment($params, 'civicrm_auction_item', $auction->id); if (!empty($params['id'])) { CRM_Utils_Hook::post('edit', 'Auction_Item', $auction->id, $auction); } else { CRM_Utils_Hook::post('create', 'Auction_Item', $auction->id, $auction); } return $result; }