aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/avatar/driver/driver.php
blob: 9a213ce730dfda6daa102a78210c97022715ed46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?php
/**
*
* @package avatar
* @copyright (c) 2011 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

/**
* Base class for avatar drivers
* @package avatars
*/
abstract class phpbb_avatar_driver implements phpbb_avatar_driver_interface
{
	private $name;

	/**
	* Returns the name of the driver.
	*
	* @return string		Name of wrapped driver.
	*/
	public function get_name()
	{
		return $this->name;
	}

	/**
	* Sets the name of the driver.
	*
	* @param string	$name The driver name
	*/
	public function set_name($name)
	{
		$this->name = $name;
	}

	/**
	* Current board configuration
	* @type phpbb_config
	*/
	protected $config;

	/**
	* Current board configuration
	* @type phpbb_config
	*/
	protected $request;

	/**
	* Current $phpbb_root_path
	* @type string
	*/
	protected $phpbb_root_path;

	/**
	* Current $phpEx
	* @type string
	*/
	protected $phpEx;

	/**
	* A cache driver
	* @type phpbb_cache_driver_interface
	*/
	protected $cache;

	/**
	* This flag should be set to true if the avatar requires a nonstandard image
	* tag, and will generate the html itself.
	* @type boolean
	*/
	public $custom_html = false;

	/**
	* Construct an driver object
	*
	* @param $config The phpBB configuration
	* @param $request The request object
	* @param $phpbb_root_path The path to the phpBB root
	* @param $phpEx The php file extension
	* @param $cache A cache driver
	*/
	public function __construct(phpbb_config $config, phpbb_request $request, $phpbb_root_path, $phpEx, phpbb_cache_driver_interface $cache = null)
	{
		$this->config = $config;
		$this->request = $request;
		$this->phpbb_root_path = $phpbb_root_path;
		$this->phpEx = $phpEx;
		$this->cache = $cache;
	}

	/**
	* @inheritdoc
	*/
	public function get_data($row, $ignore_config = false)
	{
		return array(
			'src' => '',
			'width' => 0,
			'height' => 0,
		);
	}

	/**
	* @inheritdoc
	*/
	public function get_custom_html($row, $ignore_config = false, $alt = '')
	{
		return '';
	}

	/**
	* @inheritdoc
	**/
	public function prepare_form($template, $row, &$error)
	{
		return false;
	}

	/**
	* @inheritdoc
	**/
	public function process_form($template, $row, &$error)
	{
		return false;
	}

	/**
	* @inheritdoc
	**/
	public function delete($row)
	{
		return true;
	}

	/**
	* @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));
		$template = "ucp_avatar_options_$driver.html";

		return $template;
	}
}