mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[feature/avatars] Move avatar specific settings to drivers
PHPBB3-10018
This commit is contained in:
parent
9b61204a17
commit
726d1a16d7
7 changed files with 76 additions and 9 deletions
|
@ -28,7 +28,7 @@ class acp_board
|
||||||
{
|
{
|
||||||
global $db, $user, $auth, $template;
|
global $db, $user, $auth, $template;
|
||||||
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
|
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
|
||||||
global $cache;
|
global $cache, $phpbb_avatar_manager;
|
||||||
|
|
||||||
$user->add_lang('acp/board');
|
$user->add_lang('acp/board');
|
||||||
|
|
||||||
|
@ -107,6 +107,15 @@ class acp_board
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'avatar':
|
case 'avatar':
|
||||||
|
$avatar_drivers = $phpbb_avatar_manager->get_valid_drivers();
|
||||||
|
sort($avatar_drivers);
|
||||||
|
$avatar_vars = array();
|
||||||
|
foreach ($avatar_drivers as $driver)
|
||||||
|
{
|
||||||
|
$avatar = $phpbb_avatar_manager->get_driver($driver);
|
||||||
|
$avatar_vars += $avatar->prepare_form_acp();
|
||||||
|
}
|
||||||
|
|
||||||
$display_vars = array(
|
$display_vars = array(
|
||||||
'title' => 'ACP_AVATAR_SETTINGS',
|
'title' => 'ACP_AVATAR_SETTINGS',
|
||||||
'vars' => array(
|
'vars' => array(
|
||||||
|
@ -118,18 +127,15 @@ class acp_board
|
||||||
'avatar_max_height' => array('lang' => 'MAX_AVATAR_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false),
|
'avatar_max_height' => array('lang' => 'MAX_AVATAR_SIZE', 'validate' => 'int:0', 'type' => false, 'method' => false, 'explain' => false),
|
||||||
|
|
||||||
'allow_avatar' => array('lang' => 'ALLOW_AVATARS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
'allow_avatar' => array('lang' => 'ALLOW_AVATARS', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||||
'allow_avatar_gravatar' => array('lang' => 'ALLOW_GRAVATAR', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
|
||||||
'allow_avatar_local' => array('lang' => 'ALLOW_LOCAL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
|
||||||
'allow_avatar_remote' => array('lang' => 'ALLOW_REMOTE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
|
||||||
'allow_avatar_upload' => array('lang' => 'ALLOW_UPLOAD', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
|
||||||
'allow_avatar_remote_upload'=> array('lang' => 'ALLOW_REMOTE_UPLOAD', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
|
||||||
'avatar_filesize' => array('lang' => 'MAX_FILESIZE', 'validate' => 'int:0', 'type' => 'text:4:10', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']),
|
|
||||||
'avatar_min' => array('lang' => 'MIN_AVATAR_SIZE', 'validate' => 'int:0', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
|
'avatar_min' => array('lang' => 'MIN_AVATAR_SIZE', 'validate' => 'int:0', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
|
||||||
'avatar_max' => array('lang' => 'MAX_AVATAR_SIZE', 'validate' => 'int:0', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
|
'avatar_max' => array('lang' => 'MAX_AVATAR_SIZE', 'validate' => 'int:0', 'type' => 'dimension:3:4', 'explain' => true, 'append' => ' ' . $user->lang['PIXEL']),
|
||||||
'avatar_path' => array('lang' => 'AVATAR_STORAGE_PATH', 'validate' => 'rwpath', 'type' => 'text:20:255', 'explain' => true),
|
|
||||||
'avatar_gallery_path' => array('lang' => 'AVATAR_GALLERY_PATH', 'validate' => 'rpath', 'type' => 'text:20:255', 'explain' => true),
|
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (sizeof($avatar_vars))
|
||||||
|
{
|
||||||
|
$display_vars['vars'] += $avatar_vars;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'message':
|
case 'message':
|
||||||
|
|
|
@ -126,6 +126,14 @@ abstract class phpbb_avatar_driver implements phpbb_avatar_driver_interface
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
**/
|
||||||
|
public function prepare_form_acp()
|
||||||
|
{
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @inheritdoc
|
* @inheritdoc
|
||||||
**/
|
**/
|
||||||
|
|
|
@ -77,6 +77,16 @@ class phpbb_avatar_driver_gravatar extends phpbb_avatar_driver
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
**/
|
||||||
|
public function prepare_form_acp()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'allow_avatar_gravatar' => array('lang' => 'ALLOW_GRAVATAR', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @inheritdoc
|
* @inheritdoc
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -62,6 +62,13 @@ interface phpbb_avatar_driver_interface
|
||||||
**/
|
**/
|
||||||
public function prepare_form($template, $row, &$error);
|
public function prepare_form($template, $row, &$error);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepare form for changing the acp settings of this avatar
|
||||||
|
*
|
||||||
|
* @return array Return the array containing the acp settings
|
||||||
|
**/
|
||||||
|
public function prepare_form_acp();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Process form data
|
* Process form data
|
||||||
*
|
*
|
||||||
|
|
|
@ -109,6 +109,17 @@ class phpbb_avatar_driver_local extends phpbb_avatar_driver
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
**/
|
||||||
|
public function prepare_form_acp()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'allow_avatar_local' => array('lang' => 'ALLOW_LOCAL', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
||||||
|
'avatar_gallery_path' => array('lang' => 'AVATAR_GALLERY_PATH', 'validate' => 'rpath', 'type' => 'text:20:255', 'explain' => true),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @inheritdoc
|
* @inheritdoc
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -58,6 +58,16 @@ class phpbb_avatar_driver_remote extends phpbb_avatar_driver
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
**/
|
||||||
|
public function prepare_form_acp()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'allow_avatar_remote' => array('lang' => 'ALLOW_REMOTE', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @inheritdoc
|
* @inheritdoc
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -122,6 +122,21 @@ class phpbb_avatar_driver_upload extends phpbb_avatar_driver
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
**/
|
||||||
|
public function prepare_form_acp()
|
||||||
|
{
|
||||||
|
global $user;
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'allow_avatar_upload' => array('lang' => 'ALLOW_UPLOAD', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => false),
|
||||||
|
'allow_avatar_remote_upload'=> array('lang' => 'ALLOW_REMOTE_UPLOAD', 'validate' => 'bool', 'type' => 'radio:yes_no', 'explain' => true),
|
||||||
|
'avatar_filesize' => array('lang' => 'MAX_FILESIZE', 'validate' => 'int:0', 'type' => 'text:4:10', 'explain' => true, 'append' => ' ' . $user->lang['BYTES']),
|
||||||
|
'avatar_path' => array('lang' => 'AVATAR_STORAGE_PATH', 'validate' => 'rwpath', 'type' => 'text:20:255', 'explain' => true),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @inheritdoc
|
* @inheritdoc
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue