diff options
| author | Marc Alexander <admin@m-a-styles.de> | 2013-12-07 13:32:19 +0100 |
|---|---|---|
| committer | Marc Alexander <admin@m-a-styles.de> | 2013-12-07 13:32:19 +0100 |
| commit | 47ea6bc9e61c71f6d54df848b6c61ace052d9e2a (patch) | |
| tree | 9a4181d1c3c2d045abc1575634480d2ab5b1a634 /phpBB/phpbb/avatar | |
| parent | f32a30eecacba212850a11b7b4740d0a69bd49de (diff) | |
| parent | 71169de8230812f2d05b87bfba42331e04663b81 (diff) | |
| download | forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.tar forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.tar.gz forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.tar.bz2 forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.tar.xz forums-47ea6bc9e61c71f6d54df848b6c61ace052d9e2a.zip | |
Merge branch 'develop' of https://github.com/phpbb/phpbb into ticket/11997
Conflicts:
tests/functional/fixtures/ext/foo/bar/config/services.yml
Diffstat (limited to 'phpBB/phpbb/avatar')
| -rw-r--r-- | phpBB/phpbb/avatar/manager.php | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/phpBB/phpbb/avatar/manager.php b/phpBB/phpbb/avatar/manager.php index 5fe5e2b0a1..6ce924d2eb 100644 --- a/phpBB/phpbb/avatar/manager.php +++ b/phpBB/phpbb/avatar/manager.php @@ -178,14 +178,16 @@ class manager } /** - * Strip out user_ and group_ prefixes from keys + * Strip out user_, group_, or other prefixes from array keys * - * @param array $row User data or group data + * @param array $row User data or group data + * @param string $prefix Prefix of data keys (e.g. user), should not include the trailing underscore * - * @return array User data or group data with keys that have been - * stripped from the preceding "user_" or "group_" + * @return array User or group data with keys that have been + * stripped from the preceding "user_" or "group_" + * Also the group id is prefixed with g, when the prefix group is removed. */ - static public function clean_row($row) + static public function clean_row($row, $prefix = '') { // Upon creation of a user/group $row might be empty if (empty($row)) @@ -193,23 +195,19 @@ class manager return self::$default_row; } - $keys = array_keys($row); - $values = array_values($row); - - $keys = array_map(array('\phpbb\avatar\manager', 'strip_prefix'), $keys); + $output = array(); + foreach ($row as $key => $value) + { + $key = preg_replace("#^(?:{$prefix}_)#", '', $key); + $output[$key] = $value; + } - return array_combine($keys, $values); - } + if ($prefix === 'group' && isset($output['id'])) + { + $output['id'] = 'g' . $output['id']; + } - /** - * Strip prepending user_ or group_ prefix from key - * - * @param string Array key - * @return string Key that has been stripped from its prefix - */ - static protected function strip_prefix($key) - { - return preg_replace('#^(?:user_|group_)#', '', $key); + return $output; } /** |
