Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
33.33% |
1 / 3 |
CRAP | |
78.57% |
11 / 14 |
avatar | |
0.00% |
0 / 1 |
|
33.33% |
1 / 3 |
10.98 | |
78.57% |
11 / 14 |
getName | |
0.00% |
0 / 1 |
2.00 | |
0.00% |
0 / 1 |
|||
getFunctions | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
get_avatar | |
0.00% |
0 / 1 |
8.30 | |
83.33% |
10 / 12 |
<?php | |
/** | |
* | |
* This file is part of the phpBB Forum Software package. | |
* | |
* @copyright (c) phpBB Limited <https://www.phpbb.com> | |
* @license GNU General Public License, version 2 (GPL-2.0) | |
* | |
* For full copyright and license information, please see | |
* the docs/CREDITS.txt file. | |
* | |
*/ | |
namespace phpbb\template\twig\extension; | |
class avatar extends \Twig_Extension | |
{ | |
/** | |
* Get the name of this extension | |
* | |
* @return string | |
*/ | |
public function getName() | |
{ | |
return 'avatar'; | |
} | |
/** | |
* Returns a list of global functions to add to the existing list. | |
* | |
* @return array An array of global functions | |
*/ | |
public function getFunctions() | |
{ | |
return array( | |
new \Twig\TwigFunction('avatar', array($this, 'get_avatar')), | |
); | |
} | |
/** | |
* Get avatar for placing into templates. | |
* | |
* How to use in a template: | |
* - {{ avatar('mode', row, alt, ignore_config, lazy) }} | |
* | |
* The mode and row (group_row or user_row) are required. | |
* The other fields (alt|ignore_config|lazy) are optional. | |
* | |
* @uses \phpbb_get_group_avatar() | |
* @uses \phpbb_get_user_avatar() | |
* | |
* @return string The avatar HTML for the specified mode | |
*/ | |
public function get_avatar() | |
{ | |
$args = func_get_args(); | |
$mode = (string) $args[0]; | |
$row = (array) $args[1]; | |
$alt = isset($args[2]) ? (string) $args[2] : false; | |
$ignore_config = isset($args[3]) ? (bool) $args[3] : false; | |
$lazy = isset($args[4]) ? (bool) $args[4] : false; | |
// To prevent having to redefine alt attribute ('USER_AVATAR'|'GROUP_AVATAR'), we check if an alternative has been provided | |
switch ($mode) | |
{ | |
case 'group': | |
return $alt ? phpbb_get_group_avatar($row, $alt, $ignore_config, $lazy) : phpbb_get_group_avatar($row); | |
break; | |
case 'user': | |
return $alt ? phpbb_get_user_avatar($row, $alt, $ignore_config, $lazy) : phpbb_get_user_avatar($row); | |
break; | |
default: | |
return ''; | |
break; | |
} | |
} | |
} |