@@ -1380,16 +1380,21 @@ function watch_topic_forum($mode, &$s_watching, $user_id, $forum_id, $topic_id,
13801380*
13811381* @param array $user_data the current stored users data
13821382* @param int $user_posts the users number of posts
1383- * @param string &$rank_title the rank title will be stored here after execution
1384- * @param string &$rank_img the rank image as full img tag is stored here after execution
1385- * @param string &$rank_img_src the rank image source is stored here after execution
1383+ *
1384+ * @return array An associative array containing the rank title (title), the rank image source (img) and the rank image as full img tag (img)
13861385*
13871386* Note: since we do not want to break backwards-compatibility, this function will only properly assign ranks to guests if you call it for them with user_posts == false
13881387*/
1389- function phpbb_get_user_rank ($ user_data , $ user_posts, & $ rank_title , & $ rank_img , & $ rank_img_src )
1388+ function phpbb_get_user_rank ($ user_data , $ user_posts )
13901389{
13911390 global $ ranks , $ config , $ phpbb_root_path , $ phpbb_path_helper , $ phpbb_dispatcher ;
13921391
1392+ $ user_rank_data = array (
1393+ 'title ' => null ,
1394+ 'img ' => null ,
1395+ 'img_src ' => null ,
1396+ );
1397+
13931398 /**
13941399 * Preparing a user's rank before displaying
13951400 *
@@ -1411,11 +1416,11 @@ function phpbb_get_user_rank($user_data, $user_posts, &$rank_title, &$rank_img,
14111416 if (!empty ($ user_data ['user_rank ' ]))
14121417 {
14131418
1414- $ rank_title = (isset ($ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_title ' ])) ? $ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_title ' ] : '' ;
1419+ $ user_rank_data [ ' title ' ] = (isset ($ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_title ' ])) ? $ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_title ' ] : '' ;
14151420
1416- $ rank_img_src = (!empty ($ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_image ' ])) ? $ phpbb_path_helper ->update_web_root_path ($ phpbb_root_path . $ config ['ranks_path ' ] . '/ ' . $ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_image ' ]) : '' ;
1421+ $ user_rank_data [ ' img_src ' ] = (!empty ($ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_image ' ])) ? $ phpbb_path_helper ->update_web_root_path ($ phpbb_root_path . $ config ['ranks_path ' ] . '/ ' . $ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_image ' ]) : '' ;
14171422
1418- $ rank_img = (!empty ($ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_image ' ])) ? '<img src=" ' . $ rank_img_src . '" alt=" ' . $ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_title ' ] . '" title=" ' . $ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_title ' ] . '" /> ' : '' ;
1423+ $ user_rank_data [ ' img ' ] = (!empty ($ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_image ' ])) ? '<img src=" ' . $ user_rank_data [ ' img_src ' ] . '" alt=" ' . $ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_title ' ] . '" title=" ' . $ ranks ['special ' ][$ user_data ['user_rank ' ]]['rank_title ' ] . '" /> ' : '' ;
14191424 }
14201425 else if ($ user_posts !== false )
14211426 {
@@ -1425,14 +1430,16 @@ function phpbb_get_user_rank($user_data, $user_posts, &$rank_title, &$rank_img,
14251430 {
14261431 if ($ user_posts >= $ rank ['rank_min ' ])
14271432 {
1428- $ rank_title = $ rank ['rank_title ' ];
1429- $ rank_img_src = (!empty ($ rank ['rank_image ' ])) ? $ phpbb_path_helper ->update_web_root_path ($ phpbb_root_path . $ config ['ranks_path ' ] . '/ ' . $ rank ['rank_image ' ]) : '' ;
1430- $ rank_img = (!empty ($ rank ['rank_image ' ])) ? '<img src=" ' . $ rank_img_src . '" alt=" ' . $ rank ['rank_title ' ] . '" title=" ' . $ rank ['rank_title ' ] . '" /> ' : '' ;
1433+ $ user_rank_data [ ' title ' ] = $ rank ['rank_title ' ];
1434+ $ user_rank_data [ ' img_src ' ] = (!empty ($ rank ['rank_image ' ])) ? $ phpbb_path_helper ->update_web_root_path ($ phpbb_root_path . $ config ['ranks_path ' ] . '/ ' . $ rank ['rank_image ' ]) : '' ;
1435+ $ user_rank_data [ ' img ' ] = (!empty ($ rank ['rank_image ' ])) ? '<img src=" ' . $ user_rank_data [ ' img_src ' ] . '" alt=" ' . $ rank ['rank_title ' ] . '" title=" ' . $ rank ['rank_title ' ] . '" /> ' : '' ;
14311436 break ;
14321437 }
14331438 }
14341439 }
14351440 }
1441+
1442+ return $ user_rank_data ;
14361443}
14371444
14381445/**
@@ -1445,8 +1452,7 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
14451452 $ username = $ data ['username ' ];
14461453 $ user_id = $ data ['user_id ' ];
14471454
1448- $ rank_title = $ rank_img = $ rank_img_src = '' ;
1449- phpbb_get_user_rank ($ data , (($ user_id == ANONYMOUS ) ? false : $ data ['user_posts ' ]), $ rank_title , $ rank_img , $ rank_img_src );
1455+ $ user_rank_data = phpbb_get_user_rank ($ data , (($ user_id == ANONYMOUS ) ? false : $ data ['user_posts ' ]));
14501456
14511457 if ((!empty ($ data ['user_allow_viewemail ' ]) && $ auth ->acl_get ('u_sendemail ' )) || $ auth ->acl_get ('a_user ' ))
14521458 {
@@ -1527,7 +1533,7 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
15271533 // Dump it out to the template
15281534 $ template_data = array (
15291535 'AGE ' => $ age ,
1530- 'RANK_TITLE ' => $ rank_title ,
1536+ 'RANK_TITLE ' => $ user_rank_data [ ' title ' ] ,
15311537 'JOINED ' => $ user ->format_date ($ data ['user_regdate ' ]),
15321538 'LAST_ACTIVE ' => (empty ($ last_active )) ? ' - ' : $ user ->format_date ($ last_active ),
15331539 'POSTS ' => ($ data ['user_posts ' ]) ? $ data ['user_posts ' ] : 0 ,
@@ -1543,8 +1549,8 @@ function phpbb_show_profile($data, $user_notes_enabled = false, $warn_user_enabl
15431549 'AVATAR_IMG ' => phpbb_get_user_avatar ($ data ),
15441550 'ONLINE_IMG ' => (!$ config ['load_onlinetrack ' ]) ? '' : (($ online ) ? $ user ->img ('icon_user_online ' , 'ONLINE ' ) : $ user ->img ('icon_user_offline ' , 'OFFLINE ' )),
15451551 'S_ONLINE ' => ($ config ['load_onlinetrack ' ] && $ online ) ? true : false ,
1546- 'RANK_IMG ' => $ rank_img ,
1547- 'RANK_IMG_SRC ' => $ rank_img_src ,
1552+ 'RANK_IMG ' => $ user_rank_data [ ' img ' ] ,
1553+ 'RANK_IMG_SRC ' => $ user_rank_data [ ' img_src ' ] ,
15481554 'S_JABBER_ENABLED ' => ($ config ['jab_enable ' ]) ? true : false ,
15491555
15501556 'S_WARNINGS ' => ($ auth ->acl_getf_global ('m_ ' ) || $ auth ->acl_get ('m_warn ' )) ? true : false ,
0 commit comments