forked from CiviWare/org.agbu.annualgrantbudgets
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1012 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1012 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
class CRM_AnnualGrantBudgets_APIWrapper implements API_Wrapper {
 | 
						|
  /**
 | 
						|
   * the wrapper contains a method that allows you to alter the parameters of the api request (including the action and the entity)
 | 
						|
   */
 | 
						|
  public function fromApiInput($apiRequest) {
 | 
						|
    $params = $apiRequest['params'];
 | 
						|
    if (!empty($params['id'])) {
 | 
						|
      $ids = explode('_', $params['id']);
 | 
						|
      if (count($ids) == 2) {
 | 
						|
        unset($params['id']);
 | 
						|
        $gBParams = [
 | 
						|
          'financial_type_id' => $ids[0],
 | 
						|
          'fiscal_year' => $ids[1],
 | 
						|
        ];
 | 
						|
        try {
 | 
						|
          $gBId = civicrm_api3('GrantBudget', 'getvalue', $gBParams + ['return' => 'id']);
 | 
						|
          $params['id'] = $gBId;
 | 
						|
        }
 | 
						|
        catch (CiviCRM_API3_Exception $e) {
 | 
						|
          $params += $gBParams;
 | 
						|
        }
 | 
						|
        $apiRequest['params'] = $params;
 | 
						|
      }
 | 
						|
    }
 | 
						|
    return $apiRequest;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * alter the result before returning it to the caller.
 | 
						|
   */
 | 
						|
  public function toApiOutput($apiRequest, $result) {
 | 
						|
    return $result;
 | 
						|
  }
 | 
						|
 | 
						|
}
 |