You are here

function paypal_donations_block_view in PayPal Donations 7

Implements hook_block_view().

File

./paypal_donations.module, line 89

Code

function paypal_donations_block_view($delta = '') {
  $block = array();
  switch ($delta) {
    case 'paypal_donations_single':
      drupal_add_js(drupal_get_path('module', 'paypal_donations') . '/js/paypal_donations.js');
      $predefined = variable_get('paypal_donations_single_predefined_donation_amounts', "5,10,15");
      $predefined = explode(',', $predefined);
      $top_logo = variable_get('paypal_donations_header_logo', '');
      if (!empty($top_logo)) {
        $top_logo = file_load($top_logo);
      }
      $account_email = variable_get('paypal_donations_single_account_email', '');
      $block['subject'] = t('Single donation');
      if (empty($account_email)) {
        $block['content'] = t("Your PayPal account is not set,") . " " . l(t('please go to the configuration first'), 'admin/config/services/paypal_donations');
        break;
      }
      $block['content'] = array(
        '#theme' => 'paypal_donations_single',
        '#predefined_amounts' => $predefined,
        '#notify_url' => url(variable_get('paypal_donations_ipn_url', 'paypal/payment/ipn'), array(
          'absolute' => TRUE,
        )),
        '#return_url' => url(variable_get('paypal_donations_single_return_url', 'donation/thank-you'), array(
          'absolute' => TRUE,
        )),
        '#item_name' => variable_get('paypal_donations_single_item_name', t('Donation')),
        '#currency_code' => variable_get('paypal_donations_single_currency_code', 'USD'),
        '#currency_sign' => variable_get('paypal_donations_single_currency_sign', '$'),
        '#submit_value' => variable_get('paypal_donations_single_submit_value', 'Donate now'),
        '#account_email' => $account_email,
        '#custom_amount_allowed' => variable_get('paypal_donations_single_custom_amount_allowed', 1),
        '#custom_amount_label' => variable_get('paypal_donations_single_custom_amount_label', 'Other'),
        '#top_logo' => $top_logo,
      );
      break;
    case 'paypal_donations_recurring':
      drupal_add_js(drupal_get_path('module', 'paypal_donations') . '/js/paypal_donations.js');
      $predefined = variable_get('paypal_donations_recurring_predefined_donation_amounts', '5,10,15');
      $predefined = explode(',', $predefined);
      $top_logo = variable_get('paypal_donations_header_logo', '');
      if (!empty($top_logo)) {
        $top_logo = file_load($top_logo);
      }
      $account_email = variable_get('paypal_donations_recurring_account_email', '');
      $block['subject'] = t('Recurring donation');
      if (empty($account_email)) {
        $block['content'] = t("Your PayPal account is not set,") . " " . l(t('please go to the configuration first'), 'admin/config/services/paypal_donations');
        break;
      }
      $block['content'] = array(
        '#theme' => 'paypal_donations_recurring',
        '#predefined_amounts' => $predefined,
        '#notify_url' => url(variable_get('paypal_donations_ipn_url', 'paypal/payment/ipn'), array(
          'absolute' => TRUE,
        )),
        '#return_url' => url(variable_get('paypal_donations_recurring_return_url', 'donation/thank-you'), array(
          'absolute' => TRUE,
        )),
        '#item_name' => variable_get('paypal_donations_recurring_item_name', t('Donation')),
        '#currency_code' => variable_get('paypal_donations_recurring_currency_code', 'USD'),
        '#currency_sign' => variable_get('paypal_donations_recurring_currency_sign', '$'),
        '#submit_value' => variable_get('paypal_donations_recurring_submit_value', 'Donate now'),
        '#account_email' => $account_email,
        '#custom_amount_allowed' => variable_get('paypal_donations_recurring_custom_amount_allowed', 1),
        '#custom_amount_label' => variable_get('paypal_donations_recurring_custom_amount_label', 'Other'),
        '#recurring_period' => variable_get('paypal_donations_recurring_period', 1),
        '#recurring_unit' => variable_get('paypal_donations_recurring_unit', 'M'),
        '#top_logo' => $top_logo,
      );
      break;
  }
  return $block;
}