aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/avatar/manager.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/avatar/manager.php')
-rw-r--r--phpBB/includes/avatar/manager.php309
1 files changed, 0 insertions, 309 deletions
diff --git a/phpBB/includes/avatar/manager.php b/phpBB/includes/avatar/manager.php
deleted file mode 100644
index 58d994c3c0..0000000000
--- a/phpBB/includes/avatar/manager.php
+++ /dev/null
@@ -1,309 +0,0 @@
-<?php
-/**
-*
-* @package phpBB3
-* @copyright (c) 2011 phpBB Group
-* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
-*
-*/
-
-/**
-* @ignore
-*/
-if (!defined('IN_PHPBB'))
-{
- exit;
-}
-
-/**
-* @package avatar
-*/
-class phpbb_avatar_manager
-{
- /**
- * phpBB configuration
- * @var phpbb_config
- */
- protected $config;
-
- /**
- * Array that contains a list of enabled drivers
- * @var array
- */
- static protected $enabled_drivers = false;
-
- /**
- * Array that contains all available avatar drivers which are passed via the
- * service container
- * @var array
- */
- protected $avatar_drivers;
-
- /**
- * Service container object
- * @var object
- */
- protected $container;
-
- /**
- * Default avatar data row
- * @var array
- */
- static protected $default_row = array(
- 'avatar' => '',
- 'avatar_type' => '',
- 'avatar_width' => '',
- 'avatar_height' => '',
- );
-
- /**
- * Construct an avatar manager object
- *
- * @param phpbb_config $config phpBB configuration
- * @param array $avatar_drivers Avatar drivers passed via the service container
- * @param object $container Container object
- */
- public function __construct(phpbb_config $config, $avatar_drivers, $container)
- {
- $this->config = $config;
- $this->avatar_drivers = $avatar_drivers;
- $this->container = $container;
- }
-
- /**
- * Get the driver object specified by the avatar type
- *
- * @param string $avatar_type Avatar type; by default an avatar's service container name
- * @param bool $load_enabled Load only enabled avatars
- *
- * @return object Avatar driver object
- */
- public function get_driver($avatar_type, $load_enabled = true)
- {
- if (self::$enabled_drivers === false)
- {
- $this->load_enabled_drivers();
- }
-
- $avatar_drivers = ($load_enabled) ? self::$enabled_drivers : $this->get_all_drivers();
-
- // Legacy stuff...
- switch ($avatar_type)
- {
- case AVATAR_GALLERY:
- $avatar_type = 'avatar.driver.local';
- break;
- case AVATAR_UPLOAD:
- $avatar_type = 'avatar.driver.upload';
- break;
- case AVATAR_REMOTE:
- $avatar_type = 'avatar.driver.remote';
- break;
- }
-
- if (!isset($avatar_drivers[$avatar_type]))
- {
- return null;
- }
-
- /*
- * There is no need to handle invalid avatar types as the following code
- * will cause a ServiceNotFoundException if the type does not exist
- */
- $driver = $this->container->get($avatar_type);
-
- return $driver;
- }
-
- /**
- * Load the list of enabled drivers
- * This is executed once and fills self::$enabled_drivers
- */
- protected function load_enabled_drivers()
- {
- if (!empty($this->avatar_drivers))
- {
- self::$enabled_drivers = array();
- foreach ($this->avatar_drivers as $driver)
- {
- if ($this->is_enabled($driver))
- {
- self::$enabled_drivers[$driver->get_name()] = $driver->get_name();
- }
- }
- asort(self::$enabled_drivers);
- }
- }
-
- /**
- * Get a list of all avatar drivers
- *
- * As this function will only be called in the ACP avatar settings page, it
- * doesn't make much sense to cache the list of all avatar drivers like the
- * list of the enabled drivers.
- *
- * @return array Array containing a list of all avatar drivers
- */
- public function get_all_drivers()
- {
- $drivers = array();
-
- if (!empty($this->avatar_drivers))
- {
- foreach ($this->avatar_drivers as $driver)
- {
- $drivers[$driver->get_name()] = $driver->get_name();
- }
- asort($drivers);
- }
-
- return $drivers;
- }
-
- /**
- * Get a list of enabled avatar drivers
- *
- * @return array Array containing a list of the enabled avatar drivers
- */
- public function get_enabled_drivers()
- {
- if (self::$enabled_drivers === false)
- {
- $this->load_enabled_drivers();
- }
-
- return self::$enabled_drivers;
- }
-
- /**
- * Strip out user_ and group_ prefixes from keys
- *
- * @param array $row User data or group data
- *
- * @return array User data or group data with keys that have been
- * stripped from the preceding "user_" or "group_"
- */
- static public function clean_row($row)
- {
- // Upon creation of a user/group $row might be empty
- if (empty($row))
- {
- return self::$default_row;
- }
-
- $keys = array_keys($row);
- $values = array_values($row);
-
- $keys = array_map(array('phpbb_avatar_manager', 'strip_prefix'), $keys);
-
- return array_combine($keys, $values);
- }
-
- /**
- * 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);
- }
-
- /**
- * Clean driver names that are returned from template files
- * Underscores are replaced with dots
- *
- * @param string $name Driver name
- *
- * @return string Cleaned driver name
- */
- static public function clean_driver_name($name)
- {
- return str_replace('_', '.', $name);
- }
-
- /**
- * Prepare driver names for use in template files
- * Dots are replaced with underscores
- *
- * @param string $name Clean driver name
- *
- * @return string Prepared driver name
- */
- static public function prepare_driver_name($name)
- {
- return str_replace('.', '_', $name);
- }
-
- /**
- * Check if avatar is enabled
- *
- * @param object $driver Avatar driver object
- *
- * @return bool True if avatar is enabled, false if it's disabled
- */
- public function is_enabled($driver)
- {
- $config_name = $this->get_driver_config_name($driver);
-
- return $this->config["allow_avatar_{$config_name}"];
- }
-
- /**
- * Get the settings array for enabling/disabling an avatar driver
- *
- * @param object $driver Avatar driver object
- *
- * @return array Array of configuration options as consumed by acp_board
- */
- public function get_avatar_settings($driver)
- {
- $config_name = $this->get_driver_config_name($driver);
-
- return array(
- 'allow_avatar_' . $config_name => array('lang' => 'ALLOW_' . strtoupper($config_name), 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
- );
- }
-
- /**
- * Get the config name of an avatar driver
- *
- * @param object $driver Avatar driver object
- *
- * @return string Avatar driver config name
- */
- public function get_driver_config_name($driver)
- {
- return preg_replace('#^phpbb_avatar_driver_#', '', get_class($driver));
- }
-
- /**
- * Replace "error" strings with their real, localized form
- *
- * @param phpbb_user phpBB User object
- * @param array $error Array containing error strings
- * Key values can either be a string with a language key or an array
- * that will be passed to vsprintf() with the language key in the
- * first array key.
- *
- * @return array Array containing the localized error strings
- */
- public function localize_errors(phpbb_user $user, $error)
- {
- foreach ($error as $key => $lang)
- {
- if (is_array($lang))
- {
- $lang_key = array_shift($lang);
- $error[$key] = vsprintf($user->lang($lang_key), $lang);
- }
- else
- {
- $error[$key] = $user->lang("$lang");
- }
- }
-
- return $error;
- }
-}