• [Plugin: PDO (SQLite) For WordPress] 2.7.0

    To add or edit page, I have got a Warning hereunder.

    Warning: implode() [function.implode]: Invalid arguments passed in /wordpress/wp-includes/post.php on line 1980

    I have tried to fix with this patch.
    Almost copy and paste from the wpdb::escape().
    Is this right or are there any better way to fix?

    Index: /wordpress/wp-content/pdo/db.php
    ===================================================================
    --- /wordpress/wp-content/pdo/db.php	(revision 508)
    +++ /wordpress/wp-content/pdo/db.php	(working copy)
    @@ -113,8 +113,18 @@
     	 *	@param $string	string	the variable to be escaped
     	 *	@return	string	escaped variable
     	 */
    -	function escape($string) {
    -		return addslashes($string);
    +	function escape($data) {
    +		if ( is_array($data) ) {
    +			foreach ( (array) $data as $k => $v ) {
    +				if ( is_array($v) )
    +					$data[$k] = $this->escape( $v );
    +				else
    +					$data[$k] = addslashes( $v );
    +			}
    +		} else {
    +			$data = addslashes( $data );
    +		}
    +		return $data;
     	}
    
     	/**

    Note that.
    The wordpress try to escape an Array like this at wp-admin/page.php.

    array(1) { [0]=> string(4) “page” }

    https://www.ads-software.com/extend/plugins/pdo-for-wordpress/

  • The topic ‘[Plugin: PDO (SQLite) For WordPress] pdo_db::escape() is different from the original one.’ is closed to new replies.