alecpl
2009-06-24 ac622998f911743630acd03197c7ee4529adcd1c
program/include/rcube_mdb2.php
@@ -470,6 +470,26 @@
  /**
   * Return list of elements for use with SQL's IN clause
   *
   * @param  string Input array
   * @return string Elements list string
   * @access public
   */
  function array2list($arr, $type=null)
    {
    if (!is_array($arr))
      return $this->quote($arr, $type);
    $res = array();
    foreach ($arr as $item)
      $res[] = $this->quote($item, $type);
    return implode(',', $res);
    }
  /**
   * Return SQL statement to convert a field value into a unix timestamp
   *
   * @param  string  Field name
@@ -537,6 +557,54 @@
  /**
   * Encodes non-UTF-8 characters in string/array/object (recursive)
   *
   * @param  mixed  Data to fix
   * @return mixed  Properly UTF-8 encoded data
   * @access public
   */
  function encode($input)
    {
    if (is_object($input)) {
      foreach (get_object_vars($input) as $idx => $value)
        $input->$idx = $this->encode($value);
      return $input;
      }
    else if (is_array($input)) {
      foreach ($input as $idx => $value)
        $input[$idx] = $this->encode($value);
      return $input;
      }
    return utf8_encode($input);
    }
  /**
   * Decodes encoded UTF-8 string/object/array (recursive)
   *
   * @param  mixed  Input data
   * @return mixed  Decoded data
   * @access public
   */
  function decode($input)
    {
    if (is_object($input)) {
      foreach (get_object_vars($input) as $idx => $value)
        $input->$idx = $this->decode($value);
      return $input;
      }
    else if (is_array($input)) {
      foreach ($input as $idx => $value)
        $input[$idx] = $this->decode($value);
      return $input;
      }
    return utf8_decode($input);
    }
  /**
   * Adds a query result and returns a handle ID
   *
   * @param  object  Query handle