Introducing "Custom_Rank" Addon for Cody Chat!
Take your Cody Chat site to the next level with the "Custom_Rank" addon! This powerful feature allows administrators to assign custom ranks and titles to users, adding a new layer of personalization and fun to the chat experience. Custom ranks are purely visual and do not grant any actual staff privileges or functionalities.To ensure smooth functionality, a few adjustments need to be made to your Cody Chat files during or after installation. Here’s a step-by-step guide to get you started:
Required File Adjustments:
- Open chat_log.php in the system/ directory:
- Locate the following code snippet:
boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb, boom_users.user_cover, boom_users.country, boom_users.user_bot - Replace it with:
boom_users.custom_rank, boom_users.custom_rank_name, boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb, boom_users.user_cover, boom_users.country, boom_users.user_bot - Again, locate the same code snippet:
boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb, boom_users.user_cover, boom_users.country, boom_users.user_bot - Replace it with:
boom_users.custom_rank, boom_users.custom_rank_name, boom_users.user_name, boom_users.user_color, boom_users.user_font, boom_users.user_rank, boom_users.bccolor, boom_users.user_sex, boom_users.user_age, boom_users.user_tumb, boom_users.user_cover, boom_users.country, boom_users.user_bot
- Locate the following code snippet:
- Open function.php in the system/ directory:
- Locate the following function:
function chatRank($user){
<span>global</span> <span>$data</span>;<br> <span>if</span>(<span>isBot</span>(<span>$user</span>)){<br> <span>return</span> <span>''</span>;<br> }<br> - Add a new line after the if(isBot($user)){ return ''; } line and insert the following code:
if(!empty($user['custom_rank']) or !empty($user['custom_rank_name'])){
<span>return</span> <span>customRank</span>(<span>$user</span>, <span>'chat_rank'</span>);<br>}<br> - The updated chatRank function should look like this:
function chatRank($user){
<span>global</span> <span>$data</span>;<br> <span>if</span>(<span>isBot</span>(<span>$user</span>)){<br> <span>return</span> <span>''</span>;<br> }<br> <span>if</span>(!<span>empty</span>(<span>$user</span>[<span>'custom_rank'</span>]) <span>or</span> !<span>empty</span>(<span>$user</span>[<span>'custom_rank_name'</span>])){<br> <span>return</span> <span>customRank</span>(<span>$user</span>, <span>'chat_rank'</span>);<br> }<br> <span>$rank</span> = <span>systemRank</span>(<span>$user</span>[<span>'user_rank'</span>], <span>'chat_rank'</span>);<br> <span>if</span>(<span>$rank</span> != <span>''</span>){<br> <span>return</span> <span>$rank</span>;<br> }<br>}<br> - Locate the following function:
function proRanking($user, $type){
<span>if</span>(<span>isBot</span>(<span>$user</span>)){<br> <span>return</span> <span>proRank</span>(<span>$type</span>, <span>botRankTitle</span>(), <span>botRankIcon</span>());<br> }<br> - Add a new line after the if(isBot($user)){ return proRank($type, botRankTitle(), botRankIcon()); } line and insert the following code:
else if(!empty($user['custom_rank']) or !empty($user['custom_rank_name'])){
<span>return</span> <span>customRankPro</span>(<span>$user</span>, <span>$type</span>);<br>}<br> - The updated proRanking function should look like this:
function proRanking($user, $type){
<span>if</span>(<span>isBot</span>(<span>$user</span>)){<br> <span>return</span> <span>proRank</span>(<span>$type</span>, <span>botRankTitle</span>(), <span>botRankIcon</span>());<br> }<br> <span>else</span> <span>if</span>(!<span>empty</span>(<span>$user</span>[<span>'custom_rank'</span>]) <span>or</span> !<span>empty</span>(<span>$user</span>[<span>'custom_rank_name'</span>])){<br> <span>return</span> <span>customRankPro</span>(<span>$user</span>, <span>$type</span>);<br> }<br> <span>else</span> {<br> <span>switch</span>(<span>$user</span>[<span>'user_rank'</span>]){<br> <span>case</span> 0:<br> <span>case</span> 1:<br> <span>case</span> 2:<br> <span>case</span> 8:<br> <span>case</span> 9:<br> <span>case</span> 10:<br> <span>case</span> 11:<br> <span>return</span> <span>proRank</span>(<span>$type</span>, <span>rankTitle</span>(<span>$user</span>[<span>'user_rank'</span>]), <span>rankIcon</span>(<span>$user</span>[<span>'user_rank'</span>]));<br> <span>default</span>:<br> <span>return</span> <span>''</span>;<br> }<br> }<br>}<br> - Locate the following function:
<span><span>function</span> <span>proRank</span>(<span><span>$type</span>, <span>$txt</span>, <span>$icon</span></span>)</span>{<br> <span>return</span> <span>'<img src="default_images/rank/'</span> . <span>$icon</span> . <span>'" class="'</span> . <span>$type</span> . <span>'"/> '</span> . <span>$txt</span>;<br>}<br> - Add a new line after the return '<img src="default_images/rank/' . $icon . '" class="' . $type . '"/> ' . $txt; line and insert the following code:
function customRank($list, $type){
<span>return</span> <span>'<img src="'</span> . <span>$list</span>[<span>'custom_rank'</span>] . <span>'" class="'</span> . <span>$type</span> . <span>'" title="'</span> . <span>$list</span>[<span>'custom_rank_name'</span>] . <span>'"/>'</span>;<br>}<br><span><span>function</span> <span>customRankPro</span>(<span><span>$list</span>, <span>$type</span></span>)</span>{<br> <span>return</span> <span>'<img src="'</span> . <span>$list</span>[<span>'custom_rank'</span>] . <span>'" class="'</span> . <span>$type</span> . <span>'"/> '</span> . <span>$list</span>[<span>'custom_rank_name'</span>];<br>}<br> - Locate the following function:
function getRankIcon($list, $type){
<span>if</span>(<span>isBot</span>(<span>$list</span>)){<br> <span>return</span> <span>botRank</span>(<span>$type</span>);<br> }<br> - Add a new line after the if(isBot($list)){ return botRank($type); } line and insert the following code:
else if(!empty($list['custom_rank']) or !empty($list['custom_rank_name'])){
<span>return</span> <span>customRank</span>(<span>$list</span>, <span>$type</span>);<br>}<br> - The updated getRankIcon function should look like this:
function getRankIcon($list, $type){
<span>if</span>(<span>isBot</span>(<span>$list</span>)){<br> <span>return</span> <span>botRank</span>(<span>$type</span>);<br> }<br> <span>else</span> <span>if</span>(!<span>empty</span>(<span>$list</span>[<span>'custom_rank'</span>]) <span>or</span> !<span>empty</span>(<span>$list</span>[<span>'custom_rank_name'</span>])){<br> <span>return</span> <span>customRank</span>(<span>$list</span>, <span>$type</span>);<br> }<br> <span>else</span> <span>if</span>(<span>haveRole</span>(<span>$list</span>[<span>'user_role'</span>]) && !<span>isStaff</span>(<span>$list</span>[<span>'user_rank'</span>])){<br> <span>return</span> <span>roomRank</span>(<span>$list</span>[<span>'user_role'</span>], <span>$type</span>);<br> }<br> <span>else</span> {<br> <span>return</span> <span>systemRank</span>(<span>$list</span>[<span>'user_rank'</span>], <span>$type</span>);<br> }<br>}<br>
- Locate the following function:
- Open user_list.php in the system/panel directory:
- Locate the following code snippet:
SELECT user_name, user_mobile, user_color, user_font, user_rank, user_dj, user_onair, user_join, user_tumb, user_status, user_sex, user_age, user_cover, country, - Replace it with:
SELECT custom_rank, custom_rank_name, user_name, user_mobile, user_color, user_font, user_rank, user_dj, user_onair, user_join, user_tumb, user_status, user_sex, user_age, user_cover, country, - Again, locate the same code snippet:
SELECT user_name, user_mobile, user_color, user_font, user_rank, user_dj, user_onair, user_join, user_tumb, user_status, user_sex, user_age, user_cover, country, - Replace it with:
SELECT custom_rank, custom_rank_name, user_name, user_mobile, user_color, user_font, user_rank, user_dj, user_onair, user_join, user_tumb, user_status, user_sex, user_age, user_cover, country,
- Locate the following code snippet:
Features:
- Assign Custom Ranks: Easily give users fake ranks and create unique rank titles.
- Personalize User Experience: Enhance the chat experience by adding custom ranks that reflect user achievements or roles.
- Seamless Integration: Simple adjustments to existing Cody Chat files ensure a smooth integration of custom ranks.
Please Note: The custom ranks provided by this addon are purely visual and do not grant any actual staff privileges or functionalities.