@@ -4619,6 +4619,92 @@ function phpbb_build_hidden_fields_for_query_params($request, $exclude = null)
46194619 return $ hidden ;
46204620}
46214621
4622+ /**
4623+ * Get user avatar
4624+ *
4625+ * @param array $user_row Row from the users table
4626+ * @param string $alt Optional language string for alt tag within image, can be a language key or text
4627+ * @param bool $ignore_config Ignores the config-setting, to be still able to view the avatar in the UCP
4628+ *
4629+ * @return string Avatar html
4630+ */
4631+ function phpbb_get_user_avatar ($ user_row , $ alt = 'USER_AVATAR ' , $ ignore_config = false )
4632+ {
4633+ $ row = \phpbb \avatar \manager::clean_row ($ user_row , 'user ' );
4634+ return phpbb_get_avatar ($ row , $ alt , $ ignore_config );
4635+ }
4636+
4637+ /**
4638+ * Get group avatar
4639+ *
4640+ * @param array $group_row Row from the groups table
4641+ * @param string $alt Optional language string for alt tag within image, can be a language key or text
4642+ * @param bool $ignore_config Ignores the config-setting, to be still able to view the avatar in the UCP
4643+ *
4644+ * @return string Avatar html
4645+ */
4646+ function phpbb_get_group_avatar ($ user_row , $ alt = 'GROUP_AVATAR ' , $ ignore_config = false )
4647+ {
4648+ $ row = \phpbb \avatar \manager::clean_row ($ user_row , 'group ' );
4649+ return phpbb_get_avatar ($ row , $ alt , $ ignore_config );
4650+ }
4651+
4652+ /**
4653+ * Get avatar
4654+ *
4655+ * @param array $row Row cleaned by \phpbb\avatar\driver\driver::clean_row
4656+ * @param string $alt Optional language string for alt tag within image, can be a language key or text
4657+ * @param bool $ignore_config Ignores the config-setting, to be still able to view the avatar in the UCP
4658+ *
4659+ * @return string Avatar html
4660+ */
4661+ function phpbb_get_avatar ($ row , $ alt , $ ignore_config = false )
4662+ {
4663+ global $ user , $ config , $ cache , $ phpbb_root_path , $ phpEx ;
4664+ global $ request ;
4665+ global $ phpbb_container ;
4666+
4667+ if (!$ config ['allow_avatar ' ] && !$ ignore_config )
4668+ {
4669+ return '' ;
4670+ }
4671+
4672+ $ avatar_data = array (
4673+ 'src ' => $ row ['avatar ' ],
4674+ 'width ' => $ row ['avatar_width ' ],
4675+ 'height ' => $ row ['avatar_height ' ],
4676+ );
4677+
4678+ $ phpbb_avatar_manager = $ phpbb_container ->get ('avatar.manager ' );
4679+ $ driver = $ phpbb_avatar_manager ->get_driver ($ row ['avatar_type ' ], $ ignore_config );
4680+ $ html = '' ;
4681+
4682+ if ($ driver )
4683+ {
4684+ $ html = $ driver ->get_custom_html ($ user , $ row , $ alt );
4685+ if (!empty ($ html ))
4686+ {
4687+ return $ html ;
4688+ }
4689+
4690+ $ avatar_data = $ driver ->get_data ($ row , $ ignore_config );
4691+ }
4692+ else
4693+ {
4694+ $ avatar_data ['src ' ] = '' ;
4695+ }
4696+
4697+ if (!empty ($ avatar_data ['src ' ]))
4698+ {
4699+ $ html = '<img src=" ' . $ avatar_data ['src ' ] . '" ' .
4700+ ($ avatar_data ['width ' ] ? ('width=" ' . $ avatar_data ['width ' ] . '" ' ) : '' ) .
4701+ ($ avatar_data ['height ' ] ? ('height=" ' . $ avatar_data ['height ' ] . '" ' ) : '' ) .
4702+ 'alt=" ' . ((!empty ($ user ->lang [$ alt ])) ? $ user ->lang [$ alt ] : $ alt ) . '" /> ' ;
4703+ }
4704+
4705+ return $ html ;
4706+ }
4707+
46224708/**
46234709* Generate page header
46244710*/
@@ -4830,6 +4916,7 @@ function page_header($page_title = '', $display_online_list = false, $item_id =
48304916
48314917 // The following assigns all _common_ variables that may be used at any point in a template.
48324918 $ template ->assign_vars (array (
4919+ 'CURRENT_USER_AVATAR ' => phpbb_get_user_avatar ($ user ->data ),
48334920 'SITENAME ' => $ config ['sitename ' ],
48344921 'SITE_DESCRIPTION ' => $ config ['site_desc ' ],
48354922 'PAGE_TITLE ' => $ page_title ,
0 commit comments