aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/avatar
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2012-04-08 21:29:52 +0200
committerIgor Wiedler <igor@wiedler.ch>2012-04-08 21:29:52 +0200
commit3b71e81cfba726043063b05cb793e18186143252 (patch)
tree3cd21125fa22e33082d2fc30b2bcd70639369ced /phpBB/includes/avatar
parent81fb4268cd141259fe5b3bc9ad51adf2e29e0772 (diff)
downloadforums-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.php41
-rw-r--r--phpBB/includes/avatar/driver/interface.php11
-rw-r--r--phpBB/includes/avatar/manager.php19
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);
+ }
}