[ Index ]

PHP Cross Reference of Nuke-Evolution v2.0.5

title

Body

[close]

/blocks/ -> block-Donations.php (source)

   1  <?php
   2  /*=======================================================================
   3   Nuke-Evolution Basic: Enhanced PHP-Nuke Web Portal System
   4   =======================================================================*/
   5  
   6  if(!defined('NUKE_EVO')) exit;
   7  
   8  /*==============================================================================================
   9      Function:    donation_block_get_values()
  10      In:          N/A
  11      Return:      Array of the values from the DB.
  12      Notes:       Will toss a DonateError if the values are not found
  13  ================================================================================================*/
  14  function donation_block_get_values() {
  15      global $db, $prefix, $lang_donate, $cache;
  16      static $block;
  17      if(isset($block) && is_array($block)) { return $block; }
  18      if (!$block = $cache->load('block', 'donations')) {
  19          $sql = 'SELECT config_value, config_name from `'.$prefix.'_donators_config` WHERE config_name LIKE "block_%"';
  20          $result = $db->sql_query($sql);
  21          while ($row = $db->sql_fetchrow($result)) {
  22              $block[str_replace('block_', '', $row['config_name'])] = $row['config_value'];
  23          }
  24          $cache->save('block', 'donations', $block);
  25          $db->sql_freeresult($result);
  26      }
  27      return $block;
  28  }
  29  
  30  /*==============================================================================================
  31      Function:    donation_block_gen_configs()
  32      In:          N/A
  33      Return:      An array of the current general settings
  34      Notes:       N/A
  35  ================================================================================================*/
  36  function donation_block_gen_configs () {
  37      global $db, $prefix, $lang_donate, $cache;
  38      static $gen;
  39      if(isset($gen) && is_array($gen)) { return $gen; }
  40      if (!$gen = $cache->load('general', 'donations')) {
  41          $sql = 'SELECT config_value, config_name from `'.$prefix.'_donators_config` WHERE config_name LIKE "gen_%"';
  42          $result = $db->sql_query($sql);
  43          while ($row = $db->sql_fetchrow($result)) {
  44              $gen[str_replace('gen_', '', $row['config_name'])] = $row['config_value'];
  45          }
  46          $db->sql_freeresult($result);
  47          $cache->save('general', 'donations', $gen);
  48      }
  49      return $gen;
  50  }
  51  
  52  /*==============================================================================================
  53      Function:    donation_block_get_currency_code()
  54      In:          N/A
  55      Return:      Returns the selected currency code
  56      Notes:       N/A
  57  ================================================================================================*/
  58  function donation_block_get_currency_code () {
  59      global $block_gen_configs;
  60      switch ($block_gen_configs['currency']) {
  61          case 'USD':
  62              return "&#36;";
  63          break;
  64          case 'AUD':
  65              return "&#36;";
  66          break;
  67          case 'CAD':
  68              return "&#36;";
  69          break;
  70          case 'EUR':
  71              return "&euro;";
  72          break;
  73          case 'GBP':
  74              return "&pound;";
  75          break;
  76          case 'JPY':
  77              return "&yen;";
  78          break;
  79          default:
  80              return '';
  81          break;
  82      }
  83  }
  84  
  85  /*==============================================================================================
  86      Function:    donation_block_make_image_button()
  87      In:          N/A
  88      Return:      Either a submit button or an image button
  89      Notes:       N/A
  90  ================================================================================================*/
  91  function donation_block_make_image_button () {
  92      global $block_block_configs;
  93      if (empty($block_block_configs['button_image'])) {
  94          return "<form action=\"modules.php?name=Donations&amp;op=make\" method=\"post\"><input type=\"submit\" value=\""._DONATE."\"></form>\n";
  95      } else {
  96          return "<form action=\"modules.php?name=Donations&amp;op=make\" method=\"post\"><input type=\"image\" src=\"".$block_block_configs['button_image']."\" name=\"submit\"></form>\n";
  97      }
  98  }
  99  
 100  /*==============================================================================================
 101      Function:    donation_block_get_donations()
 102      In:          N/A
 103      Return:      An array of the current donations
 104      Notes:       N/A
 105  ================================================================================================*/
 106  function donation_block_get_donations () {
 107      global $db, $prefix, $cache;
 108      $clear = $cache->load('donations_clear', 'donations');
 109      if(!isset($clear) || $clear <= time()) {
 110          $cache->delete('donations', 'donations');
 111          $cache->save('donations_clear', 'donations', strtotime("+1 Week"));
 112      }
 113      static $don;
 114      if (isset($don) && is_array($don)) { return $don; }
 115  
 116      if (!$don = $cache->load('donations', 'donations')) {
 117          $sql = 'SELECT * FROM `'.$prefix.'_donators` ORDER BY `id` DESC';
 118          $result = $db->sql_query($sql);
 119          $don = $db->sql_fetchrowset($result);
 120          $db->sql_freeresult($result);
 121          $cache->save('donations', 'donations', $don);
 122      }
 123      return $don;
 124  }
 125  
 126  /*==============================================================================================
 127      Function:    donation_block_get_donations_goal()
 128      In:          N/A
 129      Return:      An array of the current donations
 130      Notes:       N/A
 131  ================================================================================================*/
 132  function donation_block_get_donations_goal () {
 133      global $db, $prefix, $cache;
 134      static $don_goal;
 135      if (isset($don_goal) && is_array($don_goal)) { return $don_goal; }
 136  
 137      if (!$don_goal = $cache->load('donations_goal', 'donations')) {
 138          $sql = 'SELECT * FROM `'.$prefix.'_donators` WHERE MONTH(FROM_UNIXTIME(`dondate`)) = "'.date('n').'" ORDER BY `id` DESC';
 139          $result = $db->sql_query($sql);
 140          $don_goal = $db->sql_fetchrowset($result);
 141          $db->sql_freeresult($result);
 142          $cache->save('donations_goal', 'donations', $don_goal);
 143      }
 144      return $don_goal;
 145  }
 146  
 147  
 148  /*~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-*/
 149  
 150  //Get globals
 151  global $block_block_configs;
 152  $block_block_configs = donation_block_get_values();
 153  global $block_gen_configs;
 154  $block_gen_configs = donation_block_gen_configs();
 155  $currency_code = donation_block_get_currency_code();
 156  $block_donations = ($block_block_configs['show_goal'] == 'yes') ? donation_block_get_donations_goal() : donation_block_get_donations();
 157  
 158  $content = '';
 159  
 160  //Start the table or scroll
 161  if($block_block_configs['scroll'] == 'yes') {
 162      $content .= "<div style=\"overflow:auto; height:110px; width:140px\" align=\"center\">\n";
 163  } else {
 164      $content = "<table width=\"100%\" border=\"0\" align=\"center\">\n";
 165  }
 166  
 167  //Get donations
 168  $i = 1;
 169  $total = 0;
 170  if (count($block_donations) >= 1) {
 171      foreach ($block_donations as $donator) {
 172          if ((empty($donator['uname']) || $donator['donshow'] == 0) && $block_block_configs['show_anon_amount'] == 'no') {
 173              continue;
 174          }
 175          if($block_block_configs['scroll'] == 'no') {
 176              $content .= "<tr><td align=\"center\">\n";
 177          }
 178          if ($block_block_configs['numbers'] == 'yes') {
 179              $content .= "<span style=\"font-weight: bold;\">";
 180              $content .= ($i < 10) ? '0'.$i : $i;
 181              $content .= "</span>-&nbsp;";
 182          }
 183          if (empty($donator['uname']) || $donator['donshow'] == 0) {
 184              $content .= _DONATE_ANON;
 185          } else {
 186              $content .= UsernameColor(trim($donator['uname']));
 187          }
 188          if ($block_block_configs['numbers'] == 'yes') {
 189              $content .= "<br />";
 190          } else {
 191              $content .= "&nbsp;-&nbsp;";
 192          }
 193          if ($block_block_configs['show_amount'] == 'yes') {
 194              $content .= $currency_code.sprintf('%.2f',$donator['donated']);
 195          }
 196          if ($block_block_configs['show_dates'] == 'yes') {
 197              if (!strpos($donator['dondate'], '/')){
 198                  if (is_numeric($donator['dondate'])) {
 199                      $date = date($block_gen_configs['date_format'],$donator['dondate']);
 200                  } else {
 201                      $date = $donator['dondate'];
 202                  }
 203              } else {
 204                  $date = $donator['dondate'];
 205              }
 206              $date = ($date == '12/31/1969') ? $donator['dondate'] : $date;
 207              $content .= "<br />".$date;
 208          }
 209          if($block_block_configs['scroll'] == 'no') {
 210              $content .= "</td></tr>\n";
 211          }
 212          $i++;
 213          if ($i > $block_block_configs['num_donations'] && $block_block_configs['show_goal'] == 'no') {
 214              break;
 215          } else {
 216              $total += floatval($donator['donated']);
 217          }
 218          if($block_block_configs['scroll'] == 'yes') {
 219              $content .= "<br /><br />";
 220          }
 221      }
 222  }
 223  
 224  if($block_block_configs['scroll'] == 'yes') {
 225      $content .= "</div>\n<hr />\n";
 226  } else {
 227      $content .= "</table>\n<hr />\n";
 228  }
 229  
 230  if($block_block_configs['show_goal'] == 'yes') {
 231      $content .= "<table width=\"100%\" border=\"0\" align=\"center\">\n";
 232      $content .= "<tr>\n<td align=\"center\">\n";
 233      $content .= _DONATE_TOTAL ."&nbsp;";
 234      $content .= $currency_code.sprintf('%.2f',$total).'<br />';
 235      $content .= _DONATE_GOAL . "&nbsp;";
 236      $content .= $currency_code.sprintf('%.2f',$block_gen_configs['monthly_goal']) .'<br />';
 237      $content .= _DONATE_DIF . "&nbsp;";
 238      $content .= $currency_code.sprintf('%.2f',floatval($block_gen_configs['monthly_goal'] - $total));
 239      $content .= "</td>\n</tr>\n";
 240      $content .= "</table>\n<hr />\n";
 241  }
 242  
 243  $content .= "<div align=\"center\">";
 244  //Message
 245  $content .= (!empty($block_block_configs['message'])) ? $block_block_configs['message'].'<br /><br />' : '';
 246  
 247  //Button
 248  $content .= donation_block_make_image_button();
 249  $content .= "</div>";
 250  
 251  ?>


Generated: Wed Jun 6 11:38:01 2007 Cross-referenced by PHPXref 0.7