/**
  * Will get a the set of contributions of a given contact
  * 
  * caution: will only the contributions of the last year
  *
  * @return an array with contributions
  */
 public function getPotentialContributionsForContact($contact_id, CRM_Banking_Matcher_Context $context)
 {
     $config = $this->_plugin_config;
     // check in cache
     $cache_key = "_contributions_{$contact_id}_{$range_back}_{$config->received_date_check}";
     $contributions = $context->getCachedEntry($cache_key);
     if ($contributions != NULL) {
         return $contributions;
     }
     $contributions = array();
     if ($config->received_date_check) {
         $range_back = (int) $config->received_range_days;
         $date_restriction = " AND receive_date > (NOW() - INTERVAL {$range_back} DAY)";
     } else {
         $date_restriction = "";
     }
     $sql = "SELECT * FROM civicrm_contribution WHERE contact_id={$contact_id} AND is_test = 0 {$date_restriction};";
     $contribution = CRM_Contribute_DAO_Contribution::executeQuery($sql);
     while ($contribution->fetch()) {
         array_push($contributions, $contribution->toArray());
     }
     // cache result and return
     $context->setCachedEntry($cache_key, $contributions);
     return $contributions;
 }