From 81fb4268cd141259fe5b3bc9ad51adf2e29e0772 Mon Sep 17 00:00:00 2001
From: Igor Wiedler <igor@wiedler.ch>
Date: Sun, 8 Apr 2012 16:40:19 +0200
Subject: [feature/avatars] Introduce an avatar driver interface

PHPBB3-10018
---
 phpBB/includes/avatar/driver/interface.php | 71 ++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)
 create mode 100644 phpBB/includes/avatar/driver/interface.php

(limited to 'phpBB/includes/avatar/driver/interface.php')

diff --git a/phpBB/includes/avatar/driver/interface.php b/phpBB/includes/avatar/driver/interface.php
new file mode 100644
index 0000000000..dcec5811bb
--- /dev/null
+++ b/phpBB/includes/avatar/driver/interface.php
@@ -0,0 +1,71 @@
+<?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;
+}
+
+/**
+* Interface for avatar drivers
+* @package avatars
+*/
+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
+	*        and board configuration configuration option, or should just render
+	*        the avatar anyways. Useful for the ACP.
+	* @return array Avatar data, must have keys src, width and height, e.g.
+	*         ['src' => '', 'width' => 0, 'height' => 0]
+	*/
+	public function get_data($row, $ignore_config = false);
+
+	/**
+	* Returns custom html for displaying this avatar.
+	* Only called if $custom_html is true.
+	*
+	* @param $ignore_config Whether this function should respect the users prefs
+	*        and board configuration configuration option, or should just render
+	*        the avatar anyways. Useful for the ACP.
+	* @return string HTML
+	*/
+	public function get_custom_html($row, $ignore_config = false);
+
+	/**
+	* @TODO
+	**/
+	public function prepare_form($template, $row, &$error, &$override_focus);
+
+	/**
+	* @TODO
+	**/
+	public function process_form($template, $row, &$error);
+
+	/**
+	* @TODO
+	**/
+	public function delete($row);
+
+	/**
+	* @TODO
+	**/
+	public static function clean_row($row, $src = phpbb_avatar_driver_interface::FROM_USER);
+}
-- 
cgit v1.2.1