Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../themes/Divi/core/componen.../data
File: Utils.php
$this->libxml_disable_entity_loader( true );
[500] Fix | Delete
return simplexml_load_string( $data );
[501] Fix | Delete
}
[502] Fix | Delete
[503] Fix | Delete
/**
[504] Fix | Delete
* Creates a path string using the provided arguments.
[505] Fix | Delete
*
[506] Fix | Delete
* Examples:
[507] Fix | Delete
* - ```
[508] Fix | Delete
* et_()->path( '/this/is', 'a', 'path' );
[509] Fix | Delete
* // Returns '/this/is/a/path'
[510] Fix | Delete
* ```
[511] Fix | Delete
* - ```
[512] Fix | Delete
* et_()->path( ['/this/is', 'a', 'path', 'to', 'file.php'] );
[513] Fix | Delete
* // Returns '/this/is/a/path/to/file.php'
[514] Fix | Delete
* ```
[515] Fix | Delete
*
[516] Fix | Delete
* @since 4.0.6
[517] Fix | Delete
*
[518] Fix | Delete
* @param string|string[] ...$parts
[519] Fix | Delete
*
[520] Fix | Delete
* @return string
[521] Fix | Delete
*/
[522] Fix | Delete
public function path() {
[523] Fix | Delete
$parts = func_get_args();
[524] Fix | Delete
$path = '';
[525] Fix | Delete
[526] Fix | Delete
if ( 1 === count( $parts ) && is_array( reset( $parts ) ) ) {
[527] Fix | Delete
$parts = array_pop( $parts );
[528] Fix | Delete
}
[529] Fix | Delete
[530] Fix | Delete
foreach ( $parts as $part ) {
[531] Fix | Delete
$path .= "{$part}/";
[532] Fix | Delete
}
[533] Fix | Delete
[534] Fix | Delete
return substr( $path, 0, -1 );
[535] Fix | Delete
}
[536] Fix | Delete
[537] Fix | Delete
/**
[538] Fix | Delete
* Process an XML-RPC response string.
[539] Fix | Delete
*
[540] Fix | Delete
* @param $response
[541] Fix | Delete
*
[542] Fix | Delete
* @return mixed
[543] Fix | Delete
*/
[544] Fix | Delete
public function process_xmlrpc_response( $response, $skip_processing = false ) {
[545] Fix | Delete
$response = $this->simplexml_load_string( $response );
[546] Fix | Delete
$result = array();
[547] Fix | Delete
[548] Fix | Delete
if ( $skip_processing ) {
[549] Fix | Delete
return $response;
[550] Fix | Delete
}
[551] Fix | Delete
[552] Fix | Delete
if ( count( $response->fault ) > 0 ) {
[553] Fix | Delete
// An error was returned
[554] Fix | Delete
return $this->_parse_value( $response->fault->value );
[555] Fix | Delete
}
[556] Fix | Delete
[557] Fix | Delete
$single = count( $response->params->param ) === 1;
[558] Fix | Delete
[559] Fix | Delete
foreach ( $response->params->param as $param ) {
[560] Fix | Delete
$value = $this->_parse_value( $param->value );
[561] Fix | Delete
[562] Fix | Delete
if ( $single ) {
[563] Fix | Delete
return $value;
[564] Fix | Delete
} else {
[565] Fix | Delete
$result[] = $value;
[566] Fix | Delete
}
[567] Fix | Delete
}
[568] Fix | Delete
[569] Fix | Delete
return $result;
[570] Fix | Delete
}
[571] Fix | Delete
[572] Fix | Delete
/**
[573] Fix | Delete
* Removes empty directories recursively starting at and (possibly) including `$path`. `$path` must be
[574] Fix | Delete
* an absolute path located under {@see WP_CONTENT_DIR}. Current user must have 'manage_options'
[575] Fix | Delete
* capability. If the path or permissions check fails, no directories will be removed.
[576] Fix | Delete
*
[577] Fix | Delete
* @param string $path Absolute path to parent directory.
[578] Fix | Delete
*/
[579] Fix | Delete
public function remove_empty_directories( $path ) {
[580] Fix | Delete
$path = realpath( $path );
[581] Fix | Delete
[582] Fix | Delete
if ( empty( $path ) ) {
[583] Fix | Delete
// $path doesn't exist
[584] Fix | Delete
return;
[585] Fix | Delete
}
[586] Fix | Delete
[587] Fix | Delete
$path = $this->normalize_path( $path );
[588] Fix | Delete
$content_dir = $this->normalize_path( WP_CONTENT_DIR );
[589] Fix | Delete
[590] Fix | Delete
if ( 0 !== strpos( $path, $content_dir ) || $content_dir === $path ) {
[591] Fix | Delete
return;
[592] Fix | Delete
}
[593] Fix | Delete
[594] Fix | Delete
$capability = 0 === strpos( $path, "{$content_dir}/cache/et" ) ? 'edit_posts' : 'manage_options';
[595] Fix | Delete
[596] Fix | Delete
if ( ! wp_doing_cron() && ! et_core_security_check_passed( $capability ) ) {
[597] Fix | Delete
return;
[598] Fix | Delete
}
[599] Fix | Delete
[600] Fix | Delete
$this->_remove_empty_directories( $path );
[601] Fix | Delete
}
[602] Fix | Delete
[603] Fix | Delete
/**
[604] Fix | Delete
* Whether or not a value includes another value.
[605] Fix | Delete
*
[606] Fix | Delete
* @param mixed $haystack The value to look in.
[607] Fix | Delete
* @param string $needle The value to look for.
[608] Fix | Delete
*
[609] Fix | Delete
* @return bool
[610] Fix | Delete
*/
[611] Fix | Delete
public function includes( $haystack, $needle ) {
[612] Fix | Delete
if ( is_string( $haystack ) ) {
[613] Fix | Delete
return false !== strpos( $haystack, $needle );
[614] Fix | Delete
}
[615] Fix | Delete
[616] Fix | Delete
if ( is_object( $haystack ) ) {
[617] Fix | Delete
return property_exists( $haystack, $needle );
[618] Fix | Delete
}
[619] Fix | Delete
[620] Fix | Delete
if ( is_array( $haystack ) ) {
[621] Fix | Delete
return in_array( $needle, $haystack );
[622] Fix | Delete
}
[623] Fix | Delete
[624] Fix | Delete
return false;
[625] Fix | Delete
}
[626] Fix | Delete
[627] Fix | Delete
public function sanitize_text_fields( $fields ) {
[628] Fix | Delete
if ( ! is_array( $fields ) ) {
[629] Fix | Delete
return sanitize_text_field( $fields );
[630] Fix | Delete
}
[631] Fix | Delete
[632] Fix | Delete
$result = array();
[633] Fix | Delete
[634] Fix | Delete
foreach ( $fields as $field_id => $field_value ) {
[635] Fix | Delete
$field_id = sanitize_text_field( $field_id );
[636] Fix | Delete
[637] Fix | Delete
if ( is_array( $field_value ) ) {
[638] Fix | Delete
$field_value = $this->sanitize_text_fields( $field_value );
[639] Fix | Delete
} else {
[640] Fix | Delete
$field_value = sanitize_text_field( $field_value );
[641] Fix | Delete
}
[642] Fix | Delete
[643] Fix | Delete
$result[ $field_id ] = $field_value;
[644] Fix | Delete
}
[645] Fix | Delete
[646] Fix | Delete
return $result;
[647] Fix | Delete
}
[648] Fix | Delete
[649] Fix | Delete
/**
[650] Fix | Delete
* Recursively traverses an array and escapes the keys and values according to passed escaping function.
[651] Fix | Delete
*
[652] Fix | Delete
* @since 3.17.3
[653] Fix | Delete
*
[654] Fix | Delete
* @param array $values The array to be recursively escaped.
[655] Fix | Delete
* @param string $escaping_function The escaping function to be used on keys and values. Default 'esc_html'. Optional.
[656] Fix | Delete
*
[657] Fix | Delete
* @return array
[658] Fix | Delete
*/
[659] Fix | Delete
[660] Fix | Delete
public function esc_array( $values, $escaping_function = 'esc_html' ) {
[661] Fix | Delete
if ( ! is_array( $values ) ) {
[662] Fix | Delete
return $escaping_function( $values );
[663] Fix | Delete
}
[664] Fix | Delete
[665] Fix | Delete
$result = array();
[666] Fix | Delete
[667] Fix | Delete
foreach ( $values as $key => $value ) {
[668] Fix | Delete
$key = $escaping_function( $key );
[669] Fix | Delete
[670] Fix | Delete
if ( is_array( $value ) ) {
[671] Fix | Delete
$value = $this->esc_array( $value, $escaping_function );
[672] Fix | Delete
} else {
[673] Fix | Delete
$value = $escaping_function( $value );
[674] Fix | Delete
}
[675] Fix | Delete
[676] Fix | Delete
$result[ $key ] = $value;
[677] Fix | Delete
}
[678] Fix | Delete
[679] Fix | Delete
return $result;
[680] Fix | Delete
}
[681] Fix | Delete
[682] Fix | Delete
/**
[683] Fix | Delete
* Transforms an array of data into a new array based on the provided transformation definition.
[684] Fix | Delete
*
[685] Fix | Delete
* @since 3.10 Renamed from `transform_data_to` to `array_transform`.
[686] Fix | Delete
* @since 3.0.68
[687] Fix | Delete
*
[688] Fix | Delete
* @param array $data The data to transform.
[689] Fix | Delete
* @param array $data_map Transformation definition. See examples below.
[690] Fix | Delete
* @param string $direction The direction in which to transform. Accepts '->', '<-'. Default '->'
[691] Fix | Delete
* @param array $exclude_keys Keys that should be excluded from the result. Optional.
[692] Fix | Delete
*
[693] Fix | Delete
* @return array
[694] Fix | Delete
*/
[695] Fix | Delete
public function array_transform( $data, $data_map, $direction = '->', $exclude_keys = array() ) {
[696] Fix | Delete
$result = array();
[697] Fix | Delete
[698] Fix | Delete
if ( ! in_array( $direction, array( '->', '<-' ) ) ) {
[699] Fix | Delete
return $result;
[700] Fix | Delete
}
[701] Fix | Delete
[702] Fix | Delete
foreach ( $data_map as $address_1 => $address_2 ) {
[703] Fix | Delete
$from_address = '->' === $direction ? $address_1 : $address_2;
[704] Fix | Delete
$to_address = '->' === $direction ? $address_2 : $address_1;
[705] Fix | Delete
[706] Fix | Delete
$array_value_required = $negate_bool_value = false;
[707] Fix | Delete
[708] Fix | Delete
if ( 0 === strpos( $to_address, '@' ) || 0 === strpos( $from_address, '@' ) ) {
[709] Fix | Delete
$array_value_required = true;
[710] Fix | Delete
$to_address = ltrim( $to_address, '@' );
[711] Fix | Delete
$from_address = ltrim( $from_address, '@' );
[712] Fix | Delete
[713] Fix | Delete
} else if ( 0 === strpos( $to_address, '!' ) || 0 === strpos( $from_address, '!' ) ) {
[714] Fix | Delete
$negate_bool_value = true;
[715] Fix | Delete
$to_address = ltrim( $to_address, '!' );
[716] Fix | Delete
$from_address = ltrim( $from_address, '!' );
[717] Fix | Delete
}
[718] Fix | Delete
[719] Fix | Delete
if ( ! empty( $exclude_keys ) && array_key_exists( $to_address, $exclude_keys ) ) {
[720] Fix | Delete
continue;
[721] Fix | Delete
}
[722] Fix | Delete
[723] Fix | Delete
$value = $this->array_get( $data, $from_address, null );
[724] Fix | Delete
[725] Fix | Delete
if ( null === $value ) {
[726] Fix | Delete
// Unknown key, skip it.
[727] Fix | Delete
continue;
[728] Fix | Delete
}
[729] Fix | Delete
[730] Fix | Delete
if ( $array_value_required && ! is_array( $value ) ) {
[731] Fix | Delete
$value = array( $value );
[732] Fix | Delete
[733] Fix | Delete
} else if ( $negate_bool_value ) {
[734] Fix | Delete
$value = (bool) $value;
[735] Fix | Delete
$value = ! $value;
[736] Fix | Delete
}
[737] Fix | Delete
[738] Fix | Delete
$this->array_set( $result, $to_address, $value );
[739] Fix | Delete
}
[740] Fix | Delete
[741] Fix | Delete
return $result;
[742] Fix | Delete
}
[743] Fix | Delete
[744] Fix | Delete
/**
[745] Fix | Delete
* Converts xml data to array. Useful in cases where the xml doesn't adhere to XML-RPC spec.
[746] Fix | Delete
*
[747] Fix | Delete
* @param string|\SimpleXMLElement $xml_data
[748] Fix | Delete
*
[749] Fix | Delete
* @return array
[750] Fix | Delete
*/
[751] Fix | Delete
public function xml_to_array( $xml_data ) {
[752] Fix | Delete
if ( is_string( $xml_data ) ) {
[753] Fix | Delete
$xml_data = $this->simplexml_load_string( $xml_data );
[754] Fix | Delete
}
[755] Fix | Delete
[756] Fix | Delete
$json = wp_json_encode( $xml_data );
[757] Fix | Delete
return json_decode( $json, true );
[758] Fix | Delete
}
[759] Fix | Delete
[760] Fix | Delete
/**
[761] Fix | Delete
* Make sure that in provided selector do not exist sub-selectors that targets inputs placeholders
[762] Fix | Delete
*
[763] Fix | Delete
* If they exist they should be split in an apart selector.
[764] Fix | Delete
*
[765] Fix | Delete
* @param string $selector
[766] Fix | Delete
*
[767] Fix | Delete
* @return array Return a list of selectors
[768] Fix | Delete
*/
[769] Fix | Delete
public function sanitize_css_placeholders( $selector ) {
[770] Fix | Delete
$selectors = explode( ',', $selector );
[771] Fix | Delete
$selectors = array_map( 'trim', $selectors );
[772] Fix | Delete
$selectors = array_filter( $selectors );
[773] Fix | Delete
$main_selector = array();
[774] Fix | Delete
$exceptions = array();
[775] Fix | Delete
$placeholders = array(
[776] Fix | Delete
'::-webkit-input-placeholder',
[777] Fix | Delete
'::-moz-placeholder',
[778] Fix | Delete
':-ms-input-placeholder',
[779] Fix | Delete
);
[780] Fix | Delete
[781] Fix | Delete
// No need to sanitize if is a single selector or even no selectors at all
[782] Fix | Delete
// Also if selectors do not contain placeholder meta-selector
[783] Fix | Delete
if ( count( $selectors ) < 2 || ! preg_match( '/' . implode( '|', $placeholders ) . '/', $selector ) ) {
[784] Fix | Delete
return array( $selector );
[785] Fix | Delete
}
[786] Fix | Delete
[787] Fix | Delete
foreach ( $selectors as $_selector ) {
[788] Fix | Delete
foreach ( $placeholders as $placeholder ) {
[789] Fix | Delete
if ( strpos( $_selector, $placeholder ) !== false ) {
[790] Fix | Delete
$exceptions[] = $_selector;
[791] Fix | Delete
continue 2;
[792] Fix | Delete
}
[793] Fix | Delete
}
[794] Fix | Delete
[795] Fix | Delete
$main_selector[] = $_selector;
[796] Fix | Delete
}
[797] Fix | Delete
[798] Fix | Delete
return array_filter( array_merge( array( implode( ', ', $main_selector ) ), $exceptions ) );
[799] Fix | Delete
}
[800] Fix | Delete
[801] Fix | Delete
/**
[802] Fix | Delete
* Whether or not a string starts with a substring.
[803] Fix | Delete
*
[804] Fix | Delete
* @since 4.0
[805] Fix | Delete
*
[806] Fix | Delete
* @param string $string
[807] Fix | Delete
* @param string $substring
[808] Fix | Delete
*
[809] Fix | Delete
* @return bool
[810] Fix | Delete
*/
[811] Fix | Delete
public function starts_with( $string, $substring ) {
[812] Fix | Delete
return 0 === strpos( $string, $substring );
[813] Fix | Delete
}
[814] Fix | Delete
[815] Fix | Delete
/**
[816] Fix | Delete
* Convert string to camel case format.
[817] Fix | Delete
*
[818] Fix | Delete
* @since 4.0
[819] Fix | Delete
*
[820] Fix | Delete
* @param string $string Original string data.
[821] Fix | Delete
* @param array $no_strip Additional regex pattern exclusion.
[822] Fix | Delete
*
[823] Fix | Delete
* @return string
[824] Fix | Delete
*/
[825] Fix | Delete
public function camel_case( $string, $no_strip = array() ) {
[826] Fix | Delete
$words = preg_split( '/[^a-zA-Z0-9' . implode( '', $no_strip ) . ']+/i', strtolower( $string ) );
[827] Fix | Delete
[828] Fix | Delete
if ( count( $words ) === 1 ) {
[829] Fix | Delete
return $words[0];
[830] Fix | Delete
}
[831] Fix | Delete
[832] Fix | Delete
$camel_cased = implode( '', array_map( 'ucwords', $words ) );
[833] Fix | Delete
[834] Fix | Delete
$camel_cased[0] = strtolower( $camel_cased[0] );
[835] Fix | Delete
[836] Fix | Delete
return $camel_cased;
[837] Fix | Delete
}
[838] Fix | Delete
[839] Fix | Delete
/**
[840] Fix | Delete
* Returns the WP Filesystem instance.
[841] Fix | Delete
*
[842] Fix | Delete
* @since 4.0.6
[843] Fix | Delete
*
[844] Fix | Delete
* @return WP_Filesystem_Base {@see ET_Core_PageResource::wpfs()}
[845] Fix | Delete
*/
[846] Fix | Delete
public function WPFS() {
[847] Fix | Delete
return et_core_cache_dir()->wpfs;
[848] Fix | Delete
}
[849] Fix | Delete
[850] Fix | Delete
/**
[851] Fix | Delete
* Equivalent of usort but preserves relative order of equally weighted values.
[852] Fix | Delete
*
[853] Fix | Delete
* @since 4.0.9
[854] Fix | Delete
*
[855] Fix | Delete
* @param array &$array
[856] Fix | Delete
* @param callable $comparison_function
[857] Fix | Delete
*
[858] Fix | Delete
* @return array
[859] Fix | Delete
*/
[860] Fix | Delete
public function usort( &$array, $comparison_function ) {
[861] Fix | Delete
return $this->_user_sort( $array, 'usort', $comparison_function );
[862] Fix | Delete
}
[863] Fix | Delete
[864] Fix | Delete
/**
[865] Fix | Delete
* Equivalent of uasort but preserves relative order of equally weighted values.
[866] Fix | Delete
*
[867] Fix | Delete
* @since 4.0.9
[868] Fix | Delete
*
[869] Fix | Delete
* @param array &$array
[870] Fix | Delete
* @param callable $comparison_function
[871] Fix | Delete
*
[872] Fix | Delete
* @return array
[873] Fix | Delete
*/
[874] Fix | Delete
public function uasort( &$array, $comparison_function ) {
[875] Fix | Delete
return $this->_user_sort( $array, 'uasort', $comparison_function );
[876] Fix | Delete
}
[877] Fix | Delete
[878] Fix | Delete
/**
[879] Fix | Delete
* Equivalent of uksort but preserves relative order of equally weighted values.
[880] Fix | Delete
*
[881] Fix | Delete
* @since 4.0.9
[882] Fix | Delete
*
[883] Fix | Delete
* @param array &$array
[884] Fix | Delete
* @param callable $comparison_function
[885] Fix | Delete
*
[886] Fix | Delete
* @return array
[887] Fix | Delete
*/
[888] Fix | Delete
public function uksort( &$array, $comparison_function ) {
[889] Fix | Delete
return $this->_user_sort( $array, 'uksort', $comparison_function );
[890] Fix | Delete
}
[891] Fix | Delete
[892] Fix | Delete
/**
[893] Fix | Delete
* Returns a string with a valid CSS property value.
[894] Fix | Delete
*
[895] Fix | Delete
* With some locales (ex: ro_RO) the decimal point can be ',' (comma) and
[896] Fix | Delete
* we need to convert that to a '.' (period) decimal point to ensure that
[897] Fix | Delete
* the value is a valid CSS property value.
[898] Fix | Delete
*
[899] Fix | Delete
* @since 4.4.8
[900] Fix | Delete
*
[901] Fix | Delete
* @param float $float Original float value.
[902] Fix | Delete
*
[903] Fix | Delete
* @return string
[904] Fix | Delete
*/
[905] Fix | Delete
public function to_css_decimal( $float ) {
[906] Fix | Delete
return strtr( $float, ',', '.' );
[907] Fix | Delete
}
[908] Fix | Delete
[909] Fix | Delete
/**
[910] Fix | Delete
* Sort using a custom function accounting for the common undefined order
[911] Fix | Delete
* pitfall due to a return value of 0.
[912] Fix | Delete
*
[913] Fix | Delete
* @since 4.0.9
[914] Fix | Delete
*
[915] Fix | Delete
* @param array &$array Array to sort
[916] Fix | Delete
* @param callable $sort_function "usort", "uasort" or "uksort"
[917] Fix | Delete
* @param callable $comparison_function Custom comparison function
[918] Fix | Delete
*
[919] Fix | Delete
* @return array
[920] Fix | Delete
*/
[921] Fix | Delete
protected function _user_sort( &$array, $sort_function, $comparison_function ) {
[922] Fix | Delete
$allowed_sort_functions = array( 'usort', 'uasort', 'uksort' );
[923] Fix | Delete
[924] Fix | Delete
if ( ! $this->includes( $allowed_sort_functions, $sort_function ) ) {
[925] Fix | Delete
_doing_it_wrong( __FUNCTION__, esc_html__( 'Only custom sorting functions can be used.', 'et_core' ), esc_html( et_get_theme_version() ) );
[926] Fix | Delete
}
[927] Fix | Delete
[928] Fix | Delete
// Use properties temporarily to pass values in order to preserve PHP 5.2 support.
[929] Fix | Delete
$this->sort_arguments['array'] = $array;
[930] Fix | Delete
$this->sort_arguments['sort'] = $sort_function;
[931] Fix | Delete
$this->sort_arguments['comparison'] = $comparison_function;
[932] Fix | Delete
$this->sort_arguments['array_map'] = 'uksort' === $sort_function
[933] Fix | Delete
? array_flip( array_keys( $array ) )
[934] Fix | Delete
: array_values( $array );
[935] Fix | Delete
[936] Fix | Delete
$sort_function( $array, array( $this, '_user_sort_callback' ) );
[937] Fix | Delete
[938] Fix | Delete
$this->sort_arguments['array'] = array();
[939] Fix | Delete
$this->sort_arguments['array_map'] = array();
[940] Fix | Delete
$this->sort_arguments['sort'] = '__return_false';
[941] Fix | Delete
$this->sort_arguments['comparison'] = '__return_false';
[942] Fix | Delete
[943] Fix | Delete
return $array;
[944] Fix | Delete
}
[945] Fix | Delete
[946] Fix | Delete
/**
[947] Fix | Delete
* Sort callback only meant to acompany self::sort().
[948] Fix | Delete
* Do not use outside of self::_user_sort().
[949] Fix | Delete
*
[950] Fix | Delete
* @since 4.0.9
[951] Fix | Delete
*
[952] Fix | Delete
* @param mixed $a
[953] Fix | Delete
* @param mixed $b
[954] Fix | Delete
*
[955] Fix | Delete
* @return integer
[956] Fix | Delete
*/
[957] Fix | Delete
protected function _user_sort_callback( $a, $b ) {
[958] Fix | Delete
// @phpcs:ignore Generic.PHP.ForbiddenFunctions.Found
[959] Fix | Delete
$result = (int) call_user_func( $this->sort_arguments['comparison'], $a, $b );
[960] Fix | Delete
[961] Fix | Delete
if ( 0 !== $result ) {
[962] Fix | Delete
return $result;
[963] Fix | Delete
}
[964] Fix | Delete
[965] Fix | Delete
if ( 'uksort' === $this->sort_arguments['sort'] ) {
[966] Fix | Delete
// Intentional isset() use for performance reasons.
[967] Fix | Delete
$a_order = isset( $this->sort_arguments['array_map'][ $a ] ) ? $this->sort_arguments['array_map'][ $a ] : false;
[968] Fix | Delete
$b_order = isset( $this->sort_arguments['array_map'][ $b ] ) ? $this->sort_arguments['array_map'][ $b ] : false;
[969] Fix | Delete
} else {
[970] Fix | Delete
$a_order = array_search( $a, $this->sort_arguments['array_map'] );
[971] Fix | Delete
$b_order = array_search( $b, $this->sort_arguments['array_map'] );
[972] Fix | Delete
}
[973] Fix | Delete
[974] Fix | Delete
if ( false === $a_order || false === $b_order ) {
[975] Fix | Delete
// This should not be possible so we fallback to the undefined
[976] Fix | Delete
// sorting behavior by returning 0.
[977] Fix | Delete
return 0;
[978] Fix | Delete
}
[979] Fix | Delete
[980] Fix | Delete
return $a_order - $b_order;
[981] Fix | Delete
}
[982] Fix | Delete
[983] Fix | Delete
/**
[984] Fix | Delete
* Returns RFC 4211 compliant Universally Unique Identifier (UUID) version 4
[985] Fix | Delete
* https://tools.ietf.org/html/rfc4122
[986] Fix | Delete
*
[987] Fix | Delete
* @since 4.5.0
[988] Fix | Delete
*
[989] Fix | Delete
* @param array $random_sequence The initial random sequence. Mostly used for test purposes.
[990] Fix | Delete
*
[991] Fix | Delete
* @return string
[992] Fix | Delete
*/
[993] Fix | Delete
public static function uuid_v4( $random_sequence = null ) {
[994] Fix | Delete
$buffer = array();
[995] Fix | Delete
[996] Fix | Delete
for ( $i = 0; $i < 16; $i++) {
[997] Fix | Delete
$buffer[] = isset( $random_sequence[ $i ] ) ? $random_sequence[ $i ] : mt_rand(0, 0xff);
[998] Fix | Delete
}
[999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function