diff options
| author | Igor Wiedler <igor@wiedler.ch> | 2012-04-08 21:29:52 +0200 |
|---|---|---|
| committer | Igor Wiedler <igor@wiedler.ch> | 2012-04-08 21:29:52 +0200 |
| commit | 3b71e81cfba726043063b05cb793e18186143252 (patch) | |
| tree | 3cd21125fa22e33082d2fc30b2bcd70639369ced /phpBB/includes/avatar | |
| parent | 81fb4268cd141259fe5b3bc9ad51adf2e29e0772 (diff) | |
| download | forums-3b71e81cfba726043063b05cb793e18186143252.tar forums-3b71e81cfba726043063b05cb793e18186143252.tar.gz forums-3b71e81cfba726043063b05cb793e18186143252.tar.bz2 forums-3b71e81cfba726043063b05cb793e18186143252.tar.xz forums-3b71e81cfba726043063b05cb793e18186143252.zip | |
[feature/avatars] Simplify clean_row, move it to avatar manager
PHPBB3-10018
Diffstat (limited to 'phpBB/includes/avatar')
| -rw-r--r-- | phpBB/includes/avatar/driver/driver.php | 41 | ||||
| -rw-r--r-- | phpBB/includes/avatar/driver/interface.php | 11 | ||||
| -rw-r--r-- | phpBB/includes/avatar/manager.php | 19 |
3 files changed, 19 insertions, 52 deletions
diff --git a/phpBB/includes/avatar/driver/driver.php b/phpBB/includes/avatar/driver/driver.php index 277130e819..7028df4b64 100644 --- a/phpBB/includes/avatar/driver/driver.php +++ b/phpBB/includes/avatar/driver/driver.php @@ -119,45 +119,4 @@ abstract class phpbb_avatar_driver implements phpbb_avatar_driver_interface { return true; } - - /** - * @inheritdoc - **/ - public static function clean_row($row, $src = phpbb_avatar_driver_interface::FROM_USER) - { - $return = array(); - $prefix = false; - - if ($src == phpbb_avatar_driver_interface::FROM_USER) - { - $prefix = 'user_'; - } - else if ($src == phpbb_avatar_driver_interface::FROM_GROUP) - { - $prefix = 'group_'; - } - - if ($prefix) - { - $len = strlen($prefix); - foreach ($row as $key => $val) - { - $sub = substr($key, 0, $len); - if ($sub == $prefix) - { - $return[substr($key, $len)] = $val; - } - else - { - $return[$key] = $val; - } - } - } - else - { - $return = $row; - } - - return $return; - } } diff --git a/phpBB/includes/avatar/driver/interface.php b/phpBB/includes/avatar/driver/interface.php index dcec5811bb..8c8a067d13 100644 --- a/phpBB/includes/avatar/driver/interface.php +++ b/phpBB/includes/avatar/driver/interface.php @@ -22,12 +22,6 @@ if (!defined('IN_PHPBB')) interface phpbb_avatar_driver_interface { /** - * @TODO - */ - const FROM_USER = 0; - const FROM_GROUP = 1; - - /** * Get the avatar url and dimensions * * @param $ignore_config Whether this function should respect the users prefs @@ -63,9 +57,4 @@ interface phpbb_avatar_driver_interface * @TODO **/ public function delete($row); - - /** - * @TODO - **/ - public static function clean_row($row, $src = phpbb_avatar_driver_interface::FROM_USER); } diff --git a/phpBB/includes/avatar/manager.php b/phpBB/includes/avatar/manager.php index 41429f3a06..054bb0cee9 100644 --- a/phpBB/includes/avatar/manager.php +++ b/phpBB/includes/avatar/manager.php @@ -125,4 +125,23 @@ class phpbb_avatar_manager return array_keys(self::$valid_drivers); } + + /** + * Strip out user_ and group_ prefixes from keys + **/ + public static function clean_row($row) + { + $keys = array_keys($row); + $values = array_values($row); + + $keys = array_map( + function ($key) + { + return preg_replace('(user_|group_)', '', $key); + }, + $row + ); + + return array_combine($keys, $values); + } } |
