first commit
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
if ( defined( 'WP_ADMIN' ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
add_action( 'template_redirect', 'icl_language_canonical_redirects', 1 );
|
||||
|
||||
function icl_language_canonical_redirects() {
|
||||
global $wp_query, $sitepress_settings;
|
||||
if ( 3 == $sitepress_settings['language_negotiation_type'] && is_singular() && empty( $wp_query->posts ) ) {
|
||||
$pid = get_query_var( 'p' );
|
||||
$permalink = html_entity_decode( get_permalink( $pid ) );
|
||||
if ( $permalink ) {
|
||||
wp_redirect( $permalink, 301 );
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
define( 'ICL_PRODUCTION_MODE', '2.1.1' );
|
||||
@@ -0,0 +1,166 @@
|
||||
<?php
|
||||
|
||||
if ( ! function_exists( '_cleanup_header_comment' ) ) {
|
||||
function _cleanup_header_comment( $str ) {
|
||||
return trim( preg_replace( '/\s*(?:\*\/|\?>).*/', '', $str ) );
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! defined( 'E_DEPRECATED' ) ) {
|
||||
define( 'E_DEPRECATED', 8192 ); }
|
||||
|
||||
if ( ! function_exists( 'esc_textarea' ) ) :
|
||||
|
||||
function esc_textarea( $text ) {
|
||||
$safe_text = esc_html( $text );
|
||||
return apply_filters( 'esc_textarea', $safe_text, $text );
|
||||
}
|
||||
|
||||
endif;
|
||||
|
||||
/**
|
||||
* This file is part of the array_column library
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*
|
||||
* @copyright Copyright (c) 2013 Ben Ramsey <http://benramsey.com>
|
||||
* @license http://opensource.org/licenses/MIT MIT
|
||||
*/
|
||||
|
||||
if ( ! function_exists( 'array_column' ) ) {
|
||||
|
||||
/**
|
||||
* Returns the values from a single column of the input array, identified by
|
||||
* the $columnKey.
|
||||
*
|
||||
* Optionally, you may provide an $indexKey to index the values in the returned
|
||||
* array by the values from the $indexKey column in the input array.
|
||||
*
|
||||
* @param array $input A multi-dimensional array (record set) from which to pull
|
||||
* a column of values.
|
||||
* @param mixed $columnKey The column of values to return. This value may be the
|
||||
* integer key of the column you wish to retrieve, or it
|
||||
* may be the string key name for an associative array.
|
||||
* @param mixed $indexKey (Optional.) The column to use as the index/keys for
|
||||
* the returned array. This value may be the integer key
|
||||
* of the column, or it may be the string key name.
|
||||
* @return array|false
|
||||
*/
|
||||
function array_column( $input = null, $columnKey = null, $indexKey = null ) {
|
||||
// Using func_get_args() in order to check for proper number of
|
||||
// parameters and trigger errors exactly as the built-in array_column()
|
||||
// does in PHP 5.5.
|
||||
$argc = func_num_args();
|
||||
$params = func_get_args();
|
||||
|
||||
if ( $argc < 2 ) {
|
||||
trigger_error( "array_column() expects at least 2 parameters, {$argc} given", E_USER_WARNING );
|
||||
return null;
|
||||
}
|
||||
|
||||
if ( ! is_array( $params[0] ) ) {
|
||||
trigger_error( 'array_column() expects parameter 1 to be array, ' . gettype( $params[0] ) . ' given', E_USER_WARNING );
|
||||
return null;
|
||||
}
|
||||
|
||||
if ( ! is_int( $params[1] )
|
||||
&& ! is_float( $params[1] )
|
||||
&& ! is_string( $params[1] )
|
||||
&& $params[1] !== null
|
||||
&& ! ( is_object( $params[1] ) && method_exists( $params[1], '__toString' ) )
|
||||
) {
|
||||
trigger_error( 'array_column(): The column key should be either a string or an integer', E_USER_WARNING );
|
||||
return false;
|
||||
}
|
||||
|
||||
if ( isset( $params[2] )
|
||||
&& ! is_int( $params[2] )
|
||||
&& ! is_float( $params[2] )
|
||||
&& ! is_string( $params[2] )
|
||||
&& ! ( is_object( $params[2] ) && method_exists( $params[2], '__toString' ) )
|
||||
) {
|
||||
trigger_error( 'array_column(): The index key should be either a string or an integer', E_USER_WARNING );
|
||||
return false;
|
||||
}
|
||||
|
||||
$paramsInput = $params[0];
|
||||
$paramsColumnKey = ( $params[1] !== null ) ? (string) $params[1] : null;
|
||||
|
||||
$paramsIndexKey = null;
|
||||
if ( isset( $params[2] ) ) {
|
||||
if ( is_float( $params[2] ) || is_int( $params[2] ) ) {
|
||||
$paramsIndexKey = (int) $params[2];
|
||||
} else {
|
||||
$paramsIndexKey = (string) $params[2];
|
||||
}
|
||||
}
|
||||
|
||||
$resultArray = array();
|
||||
|
||||
foreach ( $paramsInput as $row ) {
|
||||
|
||||
$key = $value = null;
|
||||
$keySet = $valueSet = false;
|
||||
|
||||
if ( $paramsIndexKey !== null && array_key_exists( $paramsIndexKey, $row ) ) {
|
||||
$keySet = true;
|
||||
$key = (string) $row[ $paramsIndexKey ];
|
||||
}
|
||||
|
||||
if ( $paramsColumnKey === null ) {
|
||||
$valueSet = true;
|
||||
$value = $row;
|
||||
} elseif ( is_array( $row ) && array_key_exists( $paramsColumnKey, $row ) ) {
|
||||
$valueSet = true;
|
||||
$value = $row[ $paramsColumnKey ];
|
||||
}
|
||||
|
||||
if ( $valueSet ) {
|
||||
if ( $keySet ) {
|
||||
$resultArray[ $key ] = $value;
|
||||
} else {
|
||||
$resultArray[] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $resultArray;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! function_exists( 'array_replace_recursive' ) ) {
|
||||
function array_replace_recursive( $array, $array1 ) {
|
||||
// handle the arguments, merge one by one
|
||||
$args = func_get_args();
|
||||
$array = $args[0];
|
||||
if ( ! is_array( $array ) ) {
|
||||
return $array;
|
||||
}
|
||||
$args_count = count( $args );
|
||||
for ( $i = 1; $i < $args_count; $i ++ ) {
|
||||
if ( is_array( $args[ $i ] ) ) {
|
||||
$array = array_replace_recursive_recurse( $array, $args[ $i ] );
|
||||
}
|
||||
}
|
||||
|
||||
return $array;
|
||||
}
|
||||
|
||||
function array_replace_recursive_recurse( $array, $array1 ) {
|
||||
foreach ( $array1 as $key => $value ) {
|
||||
// create new key in $array, if it is empty or not an array
|
||||
if ( ! isset( $array[ $key ] ) || ( isset( $array[ $key ] ) && ! is_array( $array[ $key ] ) ) ) {
|
||||
$array[ $key ] = array();
|
||||
}
|
||||
|
||||
// overwrite the value in the base array
|
||||
if ( is_array( $value ) ) {
|
||||
$value = array_replace_recursive_recurse( $array[ $key ], $value );
|
||||
}
|
||||
$array[ $key ] = $value;
|
||||
}
|
||||
|
||||
return $array;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
/*
|
||||
$_pingback_url_parts = parse_url(get_bloginfo('pingback_url'));
|
||||
if($_SERVER['REQUEST_URI'] == $_pingback_url_parts['path']){
|
||||
function __icl_void_error_handler($errno, $errstr, $errfile, $errline){
|
||||
throw new Exception ($errstr . ' [' . $errno . '] in '. $errfile . ':' . $errline);
|
||||
}
|
||||
set_error_handler('__icl_void_error_handler',E_ALL);
|
||||
}
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
global $PHP_SELF;
|
||||
if ( is_admin() ) {
|
||||
// wp-admin pages are checked more carefully
|
||||
if ( is_network_admin() ) {
|
||||
preg_match( '#/wp-admin/network/?(.*?)$#i', $PHP_SELF, $self_matches );
|
||||
} elseif ( is_user_admin() ) {
|
||||
preg_match( '#/wp-admin/user/?(.*?)$#i', $PHP_SELF, $self_matches );
|
||||
} else {
|
||||
preg_match( '#/wp-admin/?(.*?)$#i', $PHP_SELF, $self_matches );
|
||||
}
|
||||
$pagenow = $self_matches[1];
|
||||
$pagenow = trim( $pagenow, '/' );
|
||||
$pagenow = preg_replace( '#\?.*?$#', '', $pagenow );
|
||||
if ( '' === $pagenow || 'index' === $pagenow || 'index.php' === $pagenow ) {
|
||||
$pagenow = 'index.php';
|
||||
} else {
|
||||
preg_match( '#(.*?)(/|$)#', $pagenow, $self_matches );
|
||||
$pagenow = strtolower( $self_matches[1] );
|
||||
if ( '.php' !== substr( $pagenow, -4, 4 ) ) {
|
||||
$pagenow .= '.php'; // for Options +Multiviews: /wp-admin/themes/index.php (themes.php is queried)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( preg_match( '#([^/]+\.php)([?/].*?)?$#i', $PHP_SELF, $self_matches ) ) {
|
||||
$pagenow = strtolower( $self_matches[1] );
|
||||
} else {
|
||||
$pagenow = 'index.php';
|
||||
}
|
||||
}
|
||||
unset( $self_matches );
|
||||
|
||||
Reference in New Issue
Block a user