aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/includes/acp/acp_board.php2
-rw-r--r--phpBB/includes/acp/acp_groups.php35
-rw-r--r--phpBB/includes/acp/acp_users.php35
-rw-r--r--phpBB/includes/avatar/driver/driver.php10
-rw-r--r--phpBB/includes/avatar/driver/interface.php7
-rw-r--r--phpBB/includes/avatar/manager.php29
-rw-r--r--phpBB/includes/ucp/ucp_groups.php33
-rw-r--r--phpBB/includes/ucp/ucp_profile.php33
8 files changed, 88 insertions, 96 deletions
diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php
index 95da62dedf..c3bdf89866 100644
--- a/phpBB/includes/acp/acp_board.php
+++ b/phpBB/includes/acp/acp_board.php
@@ -108,7 +108,7 @@ class acp_board
case 'avatar':
$phpbb_avatar_manager = $phpbb_container->get('avatar.manager');
- $avatar_drivers = $phpbb_avatar_manager->get_valid_drivers();
+ $avatar_drivers = $phpbb_avatar_manager->get_valid_drivers(true);
sort($avatar_drivers);
$avatar_vars = array();
foreach ($avatar_drivers as $driver)
diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php
index 19006df306..a15a1b9a78 100644
--- a/phpBB/includes/acp/acp_groups.php
+++ b/phpBB/includes/acp/acp_groups.php
@@ -528,27 +528,24 @@ class acp_groups
{
$avatar = $phpbb_avatar_manager->get_driver($driver);
- if ($avatar->is_enabled())
+ $avatars_enabled = true;
+ $config_name = preg_replace('#^avatar\.driver.#', '', $driver);
+ $template->set_filenames(array(
+ 'avatar' => "acp_avatar_options_$config_name.html",
+ ));
+
+ if ($avatar->prepare_form($template, $avatar_data, $avatar_error))
{
- $avatars_enabled = true;
- $config_name = preg_replace('#^avatar\.driver.#', '', $driver);
- $template->set_filenames(array(
- 'avatar' => "acp_avatar_options_$config_name.html",
+ $driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
+ $driver_upper = strtoupper($driver_name);
+ $template->assign_block_vars('avatar_drivers', array(
+ 'L_TITLE' => $user->lang($driver_upper . '_TITLE'),
+ 'L_EXPLAIN' => $user->lang($driver_upper . '_EXPLAIN'),
+
+ 'DRIVER' => $driver_name,
+ 'SELECTED' => $driver == $focused_driver,
+ 'OUTPUT' => $template->assign_display('avatar'),
));
-
- if ($avatar->prepare_form($template, $avatar_data, $avatar_error))
- {
- $driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
- $driver_upper = strtoupper($driver_name);
- $template->assign_block_vars('avatar_drivers', array(
- 'L_TITLE' => $user->lang($driver_upper . '_TITLE'),
- 'L_EXPLAIN' => $user->lang($driver_upper . '_EXPLAIN'),
-
- 'DRIVER' => $driver_name,
- 'SELECTED' => $driver == $focused_driver,
- 'OUTPUT' => $template->assign_display('avatar'),
- ));
- }
}
}
}
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php
index e0dcea6d58..d5532e35b6 100644
--- a/phpBB/includes/acp/acp_users.php
+++ b/phpBB/includes/acp/acp_users.php
@@ -1809,28 +1809,25 @@ class acp_users
{
$avatar = $phpbb_avatar_manager->get_driver($driver);
- if ($avatar->is_enabled())
- {
- $avatars_enabled = true;
- $config_name = preg_replace('#^avatar\.driver.#', '', $driver);
- $template->set_filenames(array(
- 'avatar' => "acp_avatar_options_$config_name.html",
- ));
+ $avatars_enabled = true;
+ $config_name = preg_replace('#^avatar\.driver.#', '', $driver);
+ $template->set_filenames(array(
+ 'avatar' => "acp_avatar_options_$config_name.html",
+ ));
- if ($avatar->prepare_form($template, $avatar_data, $error))
- {
- $driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
- $driver_upper = strtoupper($driver_name);
+ if ($avatar->prepare_form($template, $avatar_data, $error))
+ {
+ $driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
+ $driver_upper = strtoupper($driver_name);
- $template->assign_block_vars('avatar_drivers', array(
- 'L_TITLE' => $user->lang($driver_upper . '_TITLE'),
- 'L_EXPLAIN' => $user->lang($driver_upper . '_EXPLAIN'),
+ $template->assign_block_vars('avatar_drivers', array(
+ 'L_TITLE' => $user->lang($driver_upper . '_TITLE'),
+ 'L_EXPLAIN' => $user->lang($driver_upper . '_EXPLAIN'),
- 'DRIVER' => $driver_name,
- 'SELECTED' => $driver == $focused_driver,
- 'OUTPUT' => $template->assign_display('avatar'),
- ));
- }
+ 'DRIVER' => $driver_name,
+ 'SELECTED' => $driver == $focused_driver,
+ 'OUTPUT' => $template->assign_display('avatar'),
+ ));
}
}
}
diff --git a/phpBB/includes/avatar/driver/driver.php b/phpBB/includes/avatar/driver/driver.php
index 6710f1f153..cde4fd95a6 100644
--- a/phpBB/includes/avatar/driver/driver.php
+++ b/phpBB/includes/avatar/driver/driver.php
@@ -130,16 +130,6 @@ abstract class phpbb_avatar_driver implements phpbb_avatar_driver_interface
/**
* @inheritdoc
*/
- public function is_enabled()
- {
- $driver = preg_replace('#^phpbb_avatar_driver_#', '', get_class($this));
-
- return $this->config["allow_avatar_$driver"];
- }
-
- /**
- * @inheritdoc
- */
public function get_template_name()
{
$driver = preg_replace('#^phpbb_avatar_driver_#', '', get_class($this));
diff --git a/phpBB/includes/avatar/driver/interface.php b/phpBB/includes/avatar/driver/interface.php
index d2f25a989f..7a58a40b0c 100644
--- a/phpBB/includes/avatar/driver/interface.php
+++ b/phpBB/includes/avatar/driver/interface.php
@@ -92,13 +92,6 @@ interface phpbb_avatar_driver_interface
public function delete($row);
/**
- * Check if avatar is enabled
- *
- * @return bool True if avatar is enabled, false if it's disabled
- */
- public function is_enabled();
-
- /**
* Get the avatars template name
*
* @return string Avatar's template name
diff --git a/phpBB/includes/avatar/manager.php b/phpBB/includes/avatar/manager.php
index ae628f0ce2..8953557acb 100644
--- a/phpBB/includes/avatar/manager.php
+++ b/phpBB/includes/avatar/manager.php
@@ -101,15 +101,20 @@ class phpbb_avatar_manager
/**
* Load the list of valid drivers
* This is executed once and fills self::$valid_drivers
+ *
+ * @param bool $force_all Force showing all avatar drivers
*/
- protected function load_valid_drivers()
+ protected function load_valid_drivers($force_all = false)
{
if (!empty($this->avatar_drivers))
{
self::$valid_drivers = array();
foreach ($this->avatar_drivers as $driver)
{
- self::$valid_drivers[$driver->get_name()] = $driver->get_name();
+ if ($force_all || $this->is_enabled($driver))
+ {
+ self::$valid_drivers[$driver->get_name()] = $driver->get_name();
+ }
}
}
}
@@ -117,13 +122,15 @@ class phpbb_avatar_manager
/**
* Get a list of valid avatar drivers
*
+ * @param bool $force_all Force showing all avatar drivers
+ *
* @return array Array containing a list of the valid avatar drivers
*/
- public function get_valid_drivers()
+ public function get_valid_drivers($force_all = false)
{
if (self::$valid_drivers === false)
{
- $this->load_valid_drivers();
+ $this->load_valid_drivers($force_all);
}
return self::$valid_drivers;
@@ -178,4 +185,18 @@ class phpbb_avatar_manager
{
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 = preg_replace('#^phpbb_avatar_driver_#', '', get_class($driver));
+
+ return $this->config["allow_avatar_{$config_name}"];
+ }
}
diff --git a/phpBB/includes/ucp/ucp_groups.php b/phpBB/includes/ucp/ucp_groups.php
index 3860d22917..f17e535b0c 100644
--- a/phpBB/includes/ucp/ucp_groups.php
+++ b/phpBB/includes/ucp/ucp_groups.php
@@ -653,26 +653,23 @@ class ucp_groups
{
$avatar = $phpbb_avatar_manager->get_driver($driver);
- if ($avatar->is_enabled())
+ $avatars_enabled = true;
+ $template->set_filenames(array(
+ 'avatar' => $avatar->get_template_name(),
+ ));
+
+ if ($avatar->prepare_form($template, $avatar_data, $avatar_error))
{
- $avatars_enabled = true;
- $template->set_filenames(array(
- 'avatar' => $avatar->get_template_name(),
+ $driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
+ $driver_upper = strtoupper($driver_name);
+ $template->assign_block_vars('avatar_drivers', array(
+ 'L_TITLE' => $user->lang($driver_upper . '_TITLE'),
+ 'L_EXPLAIN' => $user->lang($driver_upper . '_EXPLAIN'),
+
+ 'DRIVER' => $driver_name,
+ 'SELECTED' => $driver == $focused_driver,
+ 'OUTPUT' => $template->assign_display('avatar'),
));
-
- if ($avatar->prepare_form($template, $avatar_data, $avatar_error))
- {
- $driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
- $driver_upper = strtoupper($driver_name);
- $template->assign_block_vars('avatar_drivers', array(
- 'L_TITLE' => $user->lang($driver_upper . '_TITLE'),
- 'L_EXPLAIN' => $user->lang($driver_upper . '_EXPLAIN'),
-
- 'DRIVER' => $driver_name,
- 'SELECTED' => $driver == $focused_driver,
- 'OUTPUT' => $template->assign_display('avatar'),
- ));
- }
}
}
}
diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php
index c8547e48d8..f5c04bb432 100644
--- a/phpBB/includes/ucp/ucp_profile.php
+++ b/phpBB/includes/ucp/ucp_profile.php
@@ -633,27 +633,24 @@ class ucp_profile
{
$avatar = $phpbb_avatar_manager->get_driver($driver);
- if ($avatar->is_enabled())
- {
- $avatars_enabled = true;
- $template->set_filenames(array(
- 'avatar' => $avatar->get_template_name(),
- ));
+ $avatars_enabled = true;
+ $template->set_filenames(array(
+ 'avatar' => $avatar->get_template_name(),
+ ));
- if ($avatar->prepare_form($template, $avatar_data, $error))
- {
- $driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
- $driver_upper = strtoupper($driver_name);
+ if ($avatar->prepare_form($template, $avatar_data, $error))
+ {
+ $driver_name = $phpbb_avatar_manager->prepare_driver_name($driver);
+ $driver_upper = strtoupper($driver_name);
- $template->assign_block_vars('avatar_drivers', array(
- 'L_TITLE' => $user->lang($driver_upper . '_TITLE'),
- 'L_EXPLAIN' => $user->lang($driver_upper . '_EXPLAIN'),
+ $template->assign_block_vars('avatar_drivers', array(
+ 'L_TITLE' => $user->lang($driver_upper . '_TITLE'),
+ 'L_EXPLAIN' => $user->lang($driver_upper . '_EXPLAIN'),
- 'DRIVER' => $driver_name,
- 'SELECTED' => $driver == $focused_driver,
- 'OUTPUT' => $template->assign_display('avatar'),
- ));
- }
+ 'DRIVER' => $driver_name,
+ 'SELECTED' => $driver == $focused_driver,
+ 'OUTPUT' => $template->assign_display('avatar'),
+ ));
}
}
}