⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.php

📁 This is the script which used on 10minutemail.com for temporary email.
💻 PHP
📖 第 1 页 / 共 4 页
字号:
            if (PEAR::isError($db)) {                return $db;            }            if (isset($db->function) && is_a($db->function, 'MDB2_Driver_Function_Common')) {                return $db->function->now('date');            }            return 'CURRENT_DATE';        }        return $this->_quoteText($value, $quote, $escape_wildcards);    }    // }}}    // {{{ _quoteTimestamp()    /**     * Convert a text value into a DBMS specific format that is suitable to     * compose query statements.     *     * @param string $value text string value that is intended to be converted.     * @param bool $quote determines if the value should be quoted and escaped     * @param bool $escape_wildcards if to escape escape wildcards     * @return string text string that represents the given argument value in     *       a DBMS specific format.     * @access protected     */    function _quoteTimestamp($value, $quote, $escape_wildcards)    {        if ($value === 'CURRENT_TIMESTAMP') {            $db =& $this->getDBInstance();            if (PEAR::isError($db)) {                return $db;            }            if (isset($db->function) && is_a($db->function, 'MDB2_Driver_Function_Common')) {                return $db->function->now('timestamp');            }            return 'CURRENT_TIMESTAMP';        }        return $this->_quoteText($value, $quote, $escape_wildcards);    }    // }}}    // {{{ _quoteTime()    /**     * Convert a text value into a DBMS specific format that is suitable to     *       compose query statements.     *     * @param string $value text string value that is intended to be converted.     * @param bool $quote determines if the value should be quoted and escaped     * @param bool $escape_wildcards if to escape escape wildcards     * @return string text string that represents the given argument value in     *       a DBMS specific format.     * @access protected     */    function _quoteTime($value, $quote, $escape_wildcards)    {        if ($value === 'CURRENT_TIME') {            $db =& $this->getDBInstance();            if (PEAR::isError($db)) {                return $db;            }            if (isset($db->function) && is_a($db->function, 'MDB2_Driver_Function_Common')) {                return $db->function->now('time');            }            return 'CURRENT_TIME';        }        return $this->_quoteText($value, $quote, $escape_wildcards);    }    // }}}    // {{{ _quoteFloat()    /**     * Convert a text value into a DBMS specific format that is suitable to     * compose query statements.     *     * @param string $value text string value that is intended to be converted.     * @param bool $quote determines if the value should be quoted and escaped     * @param bool $escape_wildcards if to escape escape wildcards     * @return string text string that represents the given argument value in     *       a DBMS specific format.     * @access protected     */    function _quoteFloat($value, $quote, $escape_wildcards)    {        if (preg_match('/^(.*)e([-+])(\d+)$/i', $value, $matches)) {            $decimal = $this->_quoteDecimal($matches[1], $quote, $escape_wildcards);            $sign = $matches[2];            $exponent = str_pad($matches[3], 2, '0', STR_PAD_LEFT);            $value = $decimal.'E'.$sign.$exponent;        } else {            $value = $this->_quoteDecimal($value, $quote, $escape_wildcards);        }        return $value;    }    // }}}    // {{{ _quoteDecimal()    /**     * Convert a text value into a DBMS specific format that is suitable to     * compose query statements.     *     * @param string $value text string value that is intended to be converted.     * @param bool $quote determines if the value should be quoted and escaped     * @param bool $escape_wildcards if to escape escape wildcards     * @return string text string that represents the given argument value in     *       a DBMS specific format.     * @access protected     */    function _quoteDecimal($value, $quote, $escape_wildcards)    {        $value = (string)$value;        if (preg_match('/[^.0-9]/', $value)) {            if (strpos($value, ',')) {                // 1000,00                if (!strpos($value, '.')) {                    // convert the last "," to a "."                    $value = strrev(str_replace(',', '.', strrev($value)));                // 1.000,00                } elseif (strpos($value, '.') && strpos($value, '.') < strpos($value, ',')) {                    $value = str_replace('.', '', $value);                    // convert the last "," to a "."                    $value = strrev(str_replace(',', '.', strrev($value)));                // 1,000.00                } else {                    $value = str_replace(',', '', $value);                }            }        }        return $value;    }    // }}}    // {{{ writeLOBToFile()    /**     * retrieve LOB from the database     *     * @param resource $lob stream handle     * @param string $file name of the file into which the LOb should be fetched     * @return mixed MDB2_OK on success, a MDB2 error on failure     * @access protected     */    function writeLOBToFile($lob, $file)    {        $db =& $this->getDBInstance();        if (PEAR::isError($db)) {            return $db;        }        if (preg_match('/^(\w+:\/\/)(.*)$/', $file, $match)) {            if ($match[1] == 'file://') {                $file = $match[2];            }        }        $fp = @fopen($file, 'wb');        while (!@feof($lob)) {            $result = @fread($lob, $db->options['lob_buffer_length']);            $read = strlen($result);            if (@fwrite($fp, $result, $read) != $read) {                @fclose($fp);                return $db->raiseError(MDB2_ERROR, null, null,                    'could not write to the output file', __FUNCTION__);            }        }        @fclose($fp);        return MDB2_OK;    }    // }}}    // {{{ _retrieveLOB()    /**     * retrieve LOB from the database     *     * @param array $lob array     * @return mixed MDB2_OK on success, a MDB2 error on failure     * @access protected     */    function _retrieveLOB(&$lob)    {        if (is_null($lob['value'])) {            $lob['value'] = $lob['resource'];        }        $lob['loaded'] = true;        return MDB2_OK;    }    // }}}    // {{{ readLOB()    /**     * Read data from large object input stream.     *     * @param resource $lob stream handle     * @param string $data reference to a variable that will hold data     *                          to be read from the large object input stream     * @param integer $length    value that indicates the largest ammount ofdata     *                          to be read from the large object input stream.     * @return mixed the effective number of bytes read from the large object     *                      input stream on sucess or an MDB2 error object.     * @access public     * @see endOfLOB()     */    function _readLOB($lob, $length)    {        return substr($lob['value'], $lob['position'], $length);    }    // }}}    // {{{ _endOfLOB()    /**     * Determine whether it was reached the end of the large object and     * therefore there is no more data to be read for the its input stream.     *     * @param array $lob array     * @return mixed true or false on success, a MDB2 error on failure     * @access protected     */    function _endOfLOB($lob)    {        return $lob['endOfLOB'];    }    // }}}    // {{{ destroyLOB()    /**     * Free any resources allocated during the lifetime of the large object     * handler object.     *     * @param resource $lob stream handle     * @access public     */    function destroyLOB($lob)    {        $lob_data = stream_get_meta_data($lob);        $lob_index = $lob_data['wrapper_data']->lob_index;        fclose($lob);        if (isset($this->lobs[$lob_index])) {            $this->_destroyLOB($this->lobs[$lob_index]);            unset($this->lobs[$lob_index]);        }        return MDB2_OK;    }    // }}}    // {{{ _destroyLOB()    /**     * Free any resources allocated during the lifetime of the large object     * handler object.     *     * @param array $lob array     * @access private     */    function _destroyLOB(&$lob)    {        return MDB2_OK;    }    // }}}    // {{{ implodeArray()    /**     * apply a type to all values of an array and return as a comma seperated string     * useful for generating IN statements     *     * @access public     *     * @param array $array data array     * @param string $type determines type of the field     *     * @return string comma seperated values     */    function implodeArray($array, $type = false)    {        if (!is_array($array) || empty($array)) {            return 'NULL';        }        if ($type) {            foreach ($array as $value) {                $return[] = $this->quote($value, $type);            }        } else {            $return = $array;        }        return implode(', ', $return);    }    // }}}    // {{{ matchPattern()    /**     * build a pattern matching string     *     * EXPERIMENTAL     *     * WARNING: this function is experimental and may change signature at     * any time until labelled as non-experimental     *     * @access public     *     * @param array $pattern even keys are strings, odd are patterns (% and _)     * @param string $operator optional pattern operator (LIKE, ILIKE and maybe others in the future)     * @param string $field optional field name that is being matched against     *                  (might be required when emulating ILIKE)     *     * @return string SQL pattern     */    function matchPattern($pattern, $operator = null, $field = null)    {        $db =& $this->getDBInstance();        if (PEAR::isError($db)) {            return $db;        }        $match = '';        if (!is_null($operator)) {            $operator = strtoupper($operator);            switch ($operator) {            // case insensitive            case 'ILIKE':                if (is_null($field)) {                    return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null,                        'case insensitive LIKE matching requires passing the field name', __FUNCTION__);                }                $db->loadModule('Function', null, true);                $match = $db->function->lower($field).' '.'LIKE ';                break;            // case sensitive            case 'LIKE':                $match = is_null($field) ? 'LIKE ' : $field.' LIKE ';                break;            default:                return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null,                    'not a supported operator type:'. $operator, __FUNCTION__);            }        }        $match.= "'";        foreach ($pattern as $key => $value) {            if ($key % 2) {                $match.= $value;            } else {                if ($operator === 'ILIKE') {                    $value = strtolower($value);                }                $match.= $db->escapePattern($db->escape($value));            }        }        $match.= "'";        $match.= $this->patternEscapeString();        return $match;    }    // }}}    // {{{ patternEscapeString()    /**     * build string to define pattern escape character     *     * EXPERIMENTAL     *     * WARNING: this function is experimental and may change signature at     * any time until labelled as non-experimental     *     * @access public     *     * @return string define pattern escape character     */    function patternEscapeString()    {        return '';    }    // }}}    // {{{ mapNativeDatatype()    /**     * Maps a native array description of a field to a MDB2 datatype and length     *     * @param array  $field native field description     * @return array containing the various possible types, length, sign, fixed     * @access public     */    function mapNativeDatatype($field)    {        $db =& $this->getDBInstance();        if (PEAR::isError($db)) {            return $db;        }        return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null,            'method not implemented', __FUNCTION__);    }    // }}}    // {{{ mapPrepareDatatype()    /**     * Maps an mdb2 datatype to mysqli prepare type     *     * @param string $type     * @return string     * @access public     */    function mapPrepareDatatype($type)    {        $db =& $this->getDBInstance();        if (PEAR::isError($db)) {            return $db;        }        if (!empty($db->options['datatype_map'][$type])) {            $type = $db->options['datatype_map'][$type];            if (!empty($db->options['datatype_map_callback'][$type])) {                $parameter = array('type' => $type);                return call_user_func_array($db->options['datatype_map_callback'][$type], array(&$db, __FUNCTION__, $parameter));            }        }        return $type;    }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -