| | |
| | | |
| | | |
| | | /** |
| | | * 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 |
| | |
| | | |
| | | |
| | | /** |
| | | * 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 |