/** * undocumented function * * @param string $type * @param string $query * @return void * @access public */ function find($type, $query = array()) { $args = func_get_args(); switch ($type) { case 'gift_types': $query['office_id'] = Gift::officeId(); $conditions = array(); if (!empty($query['office_id'])) { $conditions['GiftTypesOffice.office_id'] = $query['office_id']; } $types = ClassRegistry::init('GiftTypesOffice')->find('all', array('conditions' => $conditions, 'contain' => array('GiftType(name, id, humanized)'), 'order' => array('GiftType.name' => 'asc'))); $result = array(); foreach ($types as $t) { $result[$t['GiftType']['id']] = $t['GiftType']['humanized']; } return $result; case 'frequencies': $query['office_id'] = Gift::officeId(); $conditions = array(); if (!empty($query['office_id'])) { $conditions['FrequenciesOffice.office_id'] = $query['office_id']; } $frequencies = ClassRegistry::init('FrequenciesOffice')->find('all', array('conditions' => $conditions, 'contain' => array('Frequency(name, id, humanized)'), 'order' => array('Frequency._order' => 'asc'))); $result = array(); foreach ($frequencies as $f) { $result[$f['Frequency']['id']] = $f['Frequency']['humanized']; } return $result; case 'amounts': $query['office_id'] = Gift::officeId(); $amounts = '5,10,15'; if (!isset($query['options']) && !empty($query['office_id'])) { $amounts = ClassRegistry::init('Office')->find('first', array('conditions' => array('id' => $query['office_id']), 'fields' => array('amounts'))); $amounts = $amounts['Office']['amounts']; } return $amounts; case 'min_amount': $amounts = Gift::find('amounts', $query); return $amounts[0]; case 'currencies': $query['office_id'] = Gift::officeId(); $conditions = array(); if (!empty($query['office_id'])) { $conditions['CurrenciesOffice.office_id'] = $query['office_id']; } $currencies = ClassRegistry::init('CurrenciesOffice')->find('all', array('conditions' => $conditions, 'contain' => array('Currency(iso_code, id)'), 'order' => array('Currency.iso_code' => 'asc'))); return Set::combine($currencies, '/Currency/id', '/Currency/iso_code'); } return call_user_func_array(array('parent', 'find'), $args); }