mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/11525] Use foreach instead of array_walk in method clean_row()
This approach is cleaner and probably even faster the previous ways that included using array_walk() or array_map() and other helper functions and methods. PHPBB3-11525
This commit is contained in:
parent
0ec644532d
commit
13a4ceedb1
2 changed files with 22 additions and 60 deletions
|
@ -195,33 +195,19 @@ class manager
|
||||||
return self::$default_row;
|
return self::$default_row;
|
||||||
}
|
}
|
||||||
|
|
||||||
$keys = array_keys($row);
|
$output = array();
|
||||||
$values = array_values($row);
|
foreach ($row as $key => $value)
|
||||||
|
|
||||||
array_walk($keys, array('\phpbb\avatar\manager', 'strip_prefix'), $prefix);
|
|
||||||
$row = array_combine($keys, $values);
|
|
||||||
|
|
||||||
if ($prefix == 'group')
|
|
||||||
{
|
{
|
||||||
$row['id'] = 'g' . $row['id'];
|
$key = preg_replace("#^(?:{$prefix}_)#", '', $key);
|
||||||
|
$output[$key] = $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $row;
|
if ($prefix === 'group' && isset($output['id']))
|
||||||
}
|
{
|
||||||
|
$output['id'] = 'g' . $output['id'];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
return $output;
|
||||||
* Strip prepending user_ or group_ prefix from key
|
|
||||||
*
|
|
||||||
* @param string $key Array key
|
|
||||||
* @param string $null Parameter is ignored by the function, just required by the array_walk
|
|
||||||
* @param string $prefix Prefix that should be stripped off from the keys (e.g. user)
|
|
||||||
* Should not include the trailing underscore
|
|
||||||
* @return null
|
|
||||||
*/
|
|
||||||
static protected function strip_prefix(&$key, $null, $prefix)
|
|
||||||
{
|
|
||||||
$regex = ($prefix !== '') ? "#^(?:{$prefix}_)#" : '#^(?:user_|group_)#';
|
|
||||||
$key = preg_replace($regex, '', $key);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -152,31 +152,20 @@ class phpbb_avatar_manager_test extends PHPUnit_Framework_TestCase
|
||||||
return array(
|
return array(
|
||||||
array(
|
array(
|
||||||
array(
|
array(
|
||||||
'user_avatar' => '',
|
'user_avatar' => '',
|
||||||
'user_avatar_type' => '',
|
'user_avatar_type' => '',
|
||||||
'user_avatar_width' => '',
|
'user_avatar_width' => '',
|
||||||
'user_avatar_height' => '',
|
'user_avatar_height' => '',
|
||||||
|
'group_avatar' => '',
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'avatar' => '',
|
'user_avatar' => '',
|
||||||
'avatar_type' => '',
|
'user_avatar_type' => '',
|
||||||
'avatar_width' => '',
|
'user_avatar_width' => '',
|
||||||
'avatar_height' => '',
|
'user_avatar_height' => '',
|
||||||
),
|
'group_avatar' => '',
|
||||||
),
|
|
||||||
array(
|
|
||||||
array(
|
|
||||||
'group_avatar' => '',
|
|
||||||
'group_avatar_type' => '',
|
|
||||||
'group_avatar_width' => '',
|
|
||||||
'group_avatar_height' => '',
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
'avatar' => '',
|
|
||||||
'avatar_type' => '',
|
|
||||||
'avatar_width' => '',
|
|
||||||
'avatar_height' => '',
|
|
||||||
),
|
),
|
||||||
|
'foobar',
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
array(),
|
array(),
|
||||||
|
@ -187,20 +176,6 @@ class phpbb_avatar_manager_test extends PHPUnit_Framework_TestCase
|
||||||
'avatar_height' => '',
|
'avatar_height' => '',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
array(
|
|
||||||
array(
|
|
||||||
'foobar_avatar' => '',
|
|
||||||
'foobar_avatar_type' => '',
|
|
||||||
'foobar_avatar_width' => '',
|
|
||||||
'foobar_avatar_height' => '',
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
'foobar_avatar' => '',
|
|
||||||
'foobar_avatar_type' => '',
|
|
||||||
'foobar_avatar_width' => '',
|
|
||||||
'foobar_avatar_height' => '',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
array(
|
array(
|
||||||
array(
|
array(
|
||||||
'user_avatar' => '',
|
'user_avatar' => '',
|
||||||
|
@ -208,8 +183,9 @@ class phpbb_avatar_manager_test extends PHPUnit_Framework_TestCase
|
||||||
'group_id' => 4,
|
'group_id' => 4,
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'avatar' => '',
|
'user_avatar' => '',
|
||||||
'id' => 4,
|
'user_id' => 5,
|
||||||
|
'group_id' => 4,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
|
|
Loading…
Add table
Reference in a new issue