[ Index ]
 

Code source de Mantis 1.1.0rc3

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/core/adodb/ -> rsfilter.inc.php (source)

   1  <?php
   2  /** 

   3   * @version V4.93 10 Oct 2006 (c) 2000-2007 John Lim (jlim#natsoft.com.my). All rights reserved.

   4   * Released under both BSD license and Lesser GPL library license. 

   5   * Whenever there is any discrepancy between the two licenses, 

   6   * the BSD license will take precedence. 

   7   *

   8   * Set tabs to 4 for best viewing.

   9   * 

  10   * Latest version is available at http://php.weblogs.com

  11   *

  12   * Requires PHP4.01pl2 or later because it uses include_once

  13  */
  14  
  15  /*

  16      Filter all fields and all rows in a recordset and returns the 

  17      processed recordset. We scroll to the beginning of the new recordset

  18      after processing.

  19      

  20      We pass a recordset and function name to RSFilter($rs,'rowfunc');

  21      and the function will be called multiple times, once

  22      for each row in the recordset. The function will be passed

  23      an array containing one row repeatedly.

  24      

  25      Example: 

  26       

  27      // ucwords() every element in the recordset

  28      function do_ucwords(&$arr,$rs)

  29      {

  30          foreach($arr as $k => $v) {

  31              $arr[$k] = ucwords($v);

  32          }

  33      }

  34      $rs = RSFilter($rs,'do_ucwords');

  35   */
  36  function &RSFilter($rs,$fn)
  37  {
  38      if ($rs->databaseType != 'array') {
  39          if (!$rs->connection) return false;
  40          
  41          $rs = &$rs->connection->_rs2rs($rs);
  42      }
  43      $rows = $rs->RecordCount();
  44      for ($i=0; $i < $rows; $i++) {
  45          if (is_array ($fn)) {
  46              $obj = $fn[0];
  47              $method = $fn[1];
  48              $obj->$method ($rs->_array[$i],$rs);
  49        } else {
  50              $fn($rs->_array[$i],$rs);
  51        }
  52        
  53      }
  54      if (!$rs->EOF) {
  55          $rs->_currentRow = 0;
  56          $rs->fields = $rs->_array[0];
  57      }
  58      
  59      return $rs;
  60  }
  61  ?>


Généré le : Thu Nov 29 09:42:17 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics