<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[ougcNetwork - Resources]]></title>
		<link>https://community.ougc.network/</link>
		<description><![CDATA[ougcNetwork - https://community.ougc.network]]></description>
		<pubDate>Thu, 25 Jun 2026 14:47:13 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[MP3 Audio - Custom Thread Field]]></title>
			<link>https://community.ougc.network/entry?xthreads-mp3-audio-custom-thread-field</link>
			<pubDate>Mon, 17 Mar 2025 00:49:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://community.ougc.network/member.php?action=profile&uid=1">Omar G.</a>]]></dc:creator>
			<guid isPermaLink="false">https://community.ougc.network/entry?xthreads-mp3-audio-custom-thread-field</guid>
			<description><![CDATA[<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=108" target="_blank" title="" class="attachment__link">Screenshot 2025-03-16 at 17-47-31 RASTACHAI - Pizza Con Piña (Videoclip Oficial).png</a>
    <span class="attachment__data">(Size: 81.25 KB / Downloads: 376)</span>
    </div></div></p>
<p>Hi, here I’m going to share how to use add a custom thread field for users to upload MP3 files that users can play in threads.</p>
<p>For this tutorial, a single custom thread field is necessary.</p>
<p><span style="font-size: large;" class="mycode_size">xThreads Field</span><br />
Next step would be us creating and configuring our xThreads field. We are going to create a file field using the following details:</p>
<p>
<ol type="1" class="mycode_list"><li>
[<em>]<span style="font-weight: bold;" class="mycode_b">Key:</span> <code>files_audio_mp3</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Input Field Type:</span> <code>File</code><br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Valid File Extensions:</span> <code>mp3</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Maximum File Size:</span> <code>5000000</code> for 5 Megabytes<br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Allow multiple values for this field:</span> <code>Yes</code> <span style="color: #E82A1F;" class="mycode_color">It is advised to never change this setting once the field is created.</span><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Maximum Number of Values:</span> <code>10</code> Maximum number of files to be allowed to be uploaded. Can be changed after creating the field.<br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Multiple Value Delimiter:</span> <code>(space)</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Display Item Format:</span> <div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;audio controls&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;source src="{URL}" type="audio/mpeg"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Your browser does not support the audio element.<br />
&lt;/audio&gt;</code><br />
    </div>
</div>
</li>
<li>Save the field.<br />
</li>
</ol>
</p>
<p>Any option not mentioned is to be configured as you see fit.</p>
<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=109" target="_blank" title="" class="attachment__link">Screenshot 2025-03-16 at 17-46-08 New Thread in My Forum.png</a>
    <span class="attachment__data">(Size: 64.19 KB / Downloads: 349)</span>
    </div>]]></description>
			<content:encoded><![CDATA[<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=108" target="_blank" title="" class="attachment__link">Screenshot 2025-03-16 at 17-47-31 RASTACHAI - Pizza Con Piña (Videoclip Oficial).png</a>
    <span class="attachment__data">(Size: 81.25 KB / Downloads: 376)</span>
    </div></div></p>
<p>Hi, here I’m going to share how to use add a custom thread field for users to upload MP3 files that users can play in threads.</p>
<p>For this tutorial, a single custom thread field is necessary.</p>
<p><span style="font-size: large;" class="mycode_size">xThreads Field</span><br />
Next step would be us creating and configuring our xThreads field. We are going to create a file field using the following details:</p>
<p>
<ol type="1" class="mycode_list"><li>
[<em>]<span style="font-weight: bold;" class="mycode_b">Key:</span> <code>files_audio_mp3</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Input Field Type:</span> <code>File</code><br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Valid File Extensions:</span> <code>mp3</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Maximum File Size:</span> <code>5000000</code> for 5 Megabytes<br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Allow multiple values for this field:</span> <code>Yes</code> <span style="color: #E82A1F;" class="mycode_color">It is advised to never change this setting once the field is created.</span><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Maximum Number of Values:</span> <code>10</code> Maximum number of files to be allowed to be uploaded. Can be changed after creating the field.<br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Multiple Value Delimiter:</span> <code>(space)</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Display Item Format:</span> <div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;audio controls&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;source src="{URL}" type="audio/mpeg"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;Your browser does not support the audio element.<br />
&lt;/audio&gt;</code><br />
    </div>
</div>
</li>
<li>Save the field.<br />
</li>
</ol>
</p>
<p>Any option not mentioned is to be configured as you see fit.</p>
<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=109" target="_blank" title="" class="attachment__link">Screenshot 2025-03-16 at 17-46-08 New Thread in My Forum.png</a>
    <span class="attachment__data">(Size: 64.19 KB / Downloads: 349)</span>
    </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Force referral at registration]]></title>
			<link>https://community.ougc.network/entry?tutorial-force-referral-at-registration</link>
			<pubDate>Mon, 16 Aug 2021 05:40:06 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://community.ougc.network/member.php?action=profile&uid=1">Omar G.</a>]]></dc:creator>
			<guid isPermaLink="false">https://community.ougc.network/entry?tutorial-force-referral-at-registration</guid>
			<description><![CDATA[<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=64" target="_blank" title="" class="attachment__link">forcereferral.jpg</a>
    <span class="attachment__data">(Size: 25.26 KB / Downloads: 1106)</span>
    </div>]]></description>
			<content:encoded><![CDATA[<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=64" target="_blank" title="" class="attachment__link">forcereferral.jpg</a>
    <span class="attachment__data">(Size: 25.26 KB / Downloads: 1106)</span>
    </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Use a custom display for the newest thread in the forum display thread list]]></title>
			<link>https://community.ougc.network/entry?tutorial-use-a-custom-display-for-the-newest-thread-in-the-forum-display-thread-list</link>
			<pubDate>Wed, 11 Aug 2021 23:47:26 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://community.ougc.network/member.php?action=profile&uid=1">Omar G.</a>]]></dc:creator>
			<guid isPermaLink="false">https://community.ougc.network/entry?tutorial-use-a-custom-display-for-the-newest-thread-in-the-forum-display-thread-list</guid>
			<description><![CDATA[<p>It is possible you want to display the newest thread in the forum thread list in a special way than the rest, probably separated. You will need a plugin to accomplish this.</p>
<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=56" target="_blank" title="" class="attachment__link">newest00.jpg</a>
    <span class="attachment__data">(Size: 32.69 KB / Downloads: 1028)</span>
    </div></div></p>
<p>Attached is a Hooks file, once you import the attached file to the <a href="https://github.com/frostschutz/MyBB-Hooks" target="_blank" rel="noopener" class="mycode_url">Hooks plugin</a> system you will be able to:<ul class="mycode_list"><li>[<em>]Use <code>{&#36;newestThread}</code> inside the <code>forumdisplay_threadlist</code> template to display the newest thread<br />
[</em>]Create custom <code>newest_forumdisplay_thread</code> and <code>newest_forumdisplay_thread_deleted</code> templates to format the newest thread differently.<br />
</li>
</ul>
</p>
<p>Please, note that there are some considerations for this feature:<ul class="mycode_list"><li>
[<em>]Only one thread will be affected, the newest thread in the forum for the current user, based on pagination, permissions, or filtering features.<br />
[</em>]You can try to use <code>{&#36;newestThread}</code> inside other templates, like in the <code>forumdisplay</code> template, but this was not tested thoroughly.<br />
</li>
<li>If the <code>newest_forumdisplay_thread</code> and <code>newest_forumdisplay_thread_deleted</code> templates are not found in the theme, the code will simply fallback to the core <code>forumdisplay_thread</code> and <code>forumdisplay_thread_deleted</code> templates.<br />
</li>
</ul>
</p>
<p>You can check the attached images for a final result. The <code>newest_forumdisplay_thread</code> template for the attached previews is the following (based off the default theme):<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;br class="clear" /&gt;<br />
&lt;table border="0" cellspacing="{&#36;theme['borderwidth']}" cellpadding="{&#36;theme['tablespace']}" class="tborder clear"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr class="inline_row"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}" width="2%"&gt;&lt;span class="thread_status {&#36;folder}" title="{&#36;folder_label}"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}" width="2%"&gt;{&#36;icon}&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td class="{&#36;bgcolor}{&#36;thread_type_class}"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&#36;attachment_count}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;span&gt;{&#36;prefix} {&#36;gotounread}{&#36;thread['threadprefix']}&lt;span class="{&#36;inline_edit_class} {&#36;new_class}" id="tid_{&#36;inline_edit_tid}"&gt;&lt;a href="{&#36;thread['threadlink']}"&gt;{&#36;thread['subject']}&lt;/a&gt;&lt;/span&gt;{&#36;thread['multipage']}&lt;/span&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;&lt;span class="author smalltext"&gt;{&#36;thread['profilelink']}{&#36;lang-&gt;comma}&lt;/span&gt;&lt;span class="thread_start_datetime smalltext"&gt;{&#36;thread['start_datetime']}&lt;/span&gt;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}"&gt;&lt;a href="{&#36;mybb-&gt;settings['bburl']}/misc.php?action=whoposted&amp;tid={&#36;thread['tid']}" onclick="MyBB.whoPosted({&#36;thread['tid']}); return false;"&gt;{&#36;thread['replies']}&lt;/a&gt;{&#36;unapproved_posts}&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}"&gt;{&#36;thread['views']}&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&#36;rating}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td class="{&#36;bgcolor}{&#36;thread_type_class}" style="white-space: nowrap; text-align: right;"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;span class="lastpost smalltext"&gt;{&#36;lastpostdate}&lt;br /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="{&#36;thread['lastpostlink']}"&gt;{&#36;lang-&gt;lastpost}&lt;/a&gt;: {&#36;lastposterlink}&lt;/span&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;{&#36;modbit}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&lt;/table&gt;<br />
&lt;br class="clear" /&gt;</code><br />
    </div>
</div>
</p>
<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=57" target="_blank" title="" class="attachment__link">newest01.jpg</a>
    <span class="attachment__data">(Size: 27.42 KB / Downloads: 1154)</span>
    </div>]]></description>
			<content:encoded><![CDATA[<p>It is possible you want to display the newest thread in the forum thread list in a special way than the rest, probably separated. You will need a plugin to accomplish this.</p>
<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=56" target="_blank" title="" class="attachment__link">newest00.jpg</a>
    <span class="attachment__data">(Size: 32.69 KB / Downloads: 1028)</span>
    </div></div></p>
<p>Attached is a Hooks file, once you import the attached file to the <a href="https://github.com/frostschutz/MyBB-Hooks" target="_blank" rel="noopener" class="mycode_url">Hooks plugin</a> system you will be able to:<ul class="mycode_list"><li>[<em>]Use <code>{&#36;newestThread}</code> inside the <code>forumdisplay_threadlist</code> template to display the newest thread<br />
[</em>]Create custom <code>newest_forumdisplay_thread</code> and <code>newest_forumdisplay_thread_deleted</code> templates to format the newest thread differently.<br />
</li>
</ul>
</p>
<p>Please, note that there are some considerations for this feature:<ul class="mycode_list"><li>
[<em>]Only one thread will be affected, the newest thread in the forum for the current user, based on pagination, permissions, or filtering features.<br />
[</em>]You can try to use <code>{&#36;newestThread}</code> inside other templates, like in the <code>forumdisplay</code> template, but this was not tested thoroughly.<br />
</li>
<li>If the <code>newest_forumdisplay_thread</code> and <code>newest_forumdisplay_thread_deleted</code> templates are not found in the theme, the code will simply fallback to the core <code>forumdisplay_thread</code> and <code>forumdisplay_thread_deleted</code> templates.<br />
</li>
</ul>
</p>
<p>You can check the attached images for a final result. The <code>newest_forumdisplay_thread</code> template for the attached previews is the following (based off the default theme):<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;br class="clear" /&gt;<br />
&lt;table border="0" cellspacing="{&#36;theme['borderwidth']}" cellpadding="{&#36;theme['tablespace']}" class="tborder clear"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr class="inline_row"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}" width="2%"&gt;&lt;span class="thread_status {&#36;folder}" title="{&#36;folder_label}"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}" width="2%"&gt;{&#36;icon}&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td class="{&#36;bgcolor}{&#36;thread_type_class}"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&#36;attachment_count}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;span&gt;{&#36;prefix} {&#36;gotounread}{&#36;thread['threadprefix']}&lt;span class="{&#36;inline_edit_class} {&#36;new_class}" id="tid_{&#36;inline_edit_tid}"&gt;&lt;a href="{&#36;thread['threadlink']}"&gt;{&#36;thread['subject']}&lt;/a&gt;&lt;/span&gt;{&#36;thread['multipage']}&lt;/span&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&gt;&lt;span class="author smalltext"&gt;{&#36;thread['profilelink']}{&#36;lang-&gt;comma}&lt;/span&gt;&lt;span class="thread_start_datetime smalltext"&gt;{&#36;thread['start_datetime']}&lt;/span&gt;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}"&gt;&lt;a href="{&#36;mybb-&gt;settings['bburl']}/misc.php?action=whoposted&amp;tid={&#36;thread['tid']}" onclick="MyBB.whoPosted({&#36;thread['tid']}); return false;"&gt;{&#36;thread['replies']}&lt;/a&gt;{&#36;unapproved_posts}&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}"&gt;{&#36;thread['views']}&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&#36;rating}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td class="{&#36;bgcolor}{&#36;thread_type_class}" style="white-space: nowrap; text-align: right;"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;span class="lastpost smalltext"&gt;{&#36;lastpostdate}&lt;br /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;a href="{&#36;thread['lastpostlink']}"&gt;{&#36;lang-&gt;lastpost}&lt;/a&gt;: {&#36;lastposterlink}&lt;/span&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;{&#36;modbit}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />
&lt;/table&gt;<br />
&lt;br class="clear" /&gt;</code><br />
    </div>
</div>
</p>
<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=57" target="_blank" title="" class="attachment__link">newest01.jpg</a>
    <span class="attachment__data">(Size: 27.42 KB / Downloads: 1154)</span>
    </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Disable edit time limit for first posts]]></title>
			<link>https://community.ougc.network/entry?tutorial-disable-edit-time-limit-for-first-posts</link>
			<pubDate>Wed, 23 Jun 2021 06:12:11 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://community.ougc.network/member.php?action=profile&uid=1">Omar G.</a>]]></dc:creator>
			<guid isPermaLink="false">https://community.ougc.network/entry?tutorial-disable-edit-time-limit-for-first-posts</guid>
			<description><![CDATA[<p>The group permission <code>Edit Time Limit</code> might be useful for some boards, probably as a moderation mechanism. Unfortunately, this permission doesn’t distinguish between threads (first posts) and replies (posts), and if set to a value higher than zero, this will block edition of all posts alike. To change this, you can import the attached file to the <a href="https://github.com/frostschutz/MyBB-Hooks" target="_blank" rel="noopener" class="mycode_url">Hooks plugin</a> system.</p>
<p>This should accomplish the following:<ul class="mycode_list"><li>[<em>]The edit button for threads (first posts) should be visible, based on permissions.<br />
[</em>]Users should be able to always edit threads (first post), by quick or full edit, based on permissions.<br />
</li>
</ul>
</p>
<p>In summary, this should completely ignore the <code>Edit Time Limit</code> permission for threads (first posts), respecting all other checks MyBB does for the user or replies.</p>
]]></description>
			<content:encoded><![CDATA[<p>The group permission <code>Edit Time Limit</code> might be useful for some boards, probably as a moderation mechanism. Unfortunately, this permission doesn’t distinguish between threads (first posts) and replies (posts), and if set to a value higher than zero, this will block edition of all posts alike. To change this, you can import the attached file to the <a href="https://github.com/frostschutz/MyBB-Hooks" target="_blank" rel="noopener" class="mycode_url">Hooks plugin</a> system.</p>
<p>This should accomplish the following:<ul class="mycode_list"><li>[<em>]The edit button for threads (first posts) should be visible, based on permissions.<br />
[</em>]Users should be able to always edit threads (first post), by quick or full edit, based on permissions.<br />
</li>
</ul>
</p>
<p>In summary, this should completely ignore the <code>Edit Time Limit</code> permission for threads (first posts), respecting all other checks MyBB does for the user or replies.</p>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Setup GMail as your SMTP mail provider.]]></title>
			<link>https://community.ougc.network/entry?tutorial-setup-gmail-as-your-smtp-mail-provider</link>
			<pubDate>Wed, 30 Sep 2020 00:33:26 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://community.ougc.network/member.php?action=profile&uid=1">Omar G.</a>]]></dc:creator>
			<guid isPermaLink="false">https://community.ougc.network/entry?tutorial-setup-gmail-as-your-smtp-mail-provider</guid>
			<description><![CDATA[<p>Unless mailing is an important part of your site, apart from sending registration or account related links (password recovery, etc), it is probably unnecessary for you to set up a mail service in your server. This in in my opinion one of the reasons people stick with PHP mail handler as long as it works. Likewise, I would recommend people to avoid putting resources or effort into setting up such mail services and instead either pay for a third party provider like Amazon SES, G Suite, Elastic Email, etc. or to simply use free alternatives that match their requirements.</p>
<p>I myself like configuring my MyBB sites using Google’s Gmail SMTP service. Some benefits of this approach include:<ul class="mycode_list"><li>
[<em>]It is reliable; Google SMTP server is a reliable handler, I myself have never received a mail to my spam directory for instance.<br />
[</em>]Novice friendly; you don’t need to setup your own mail server or anything complex to manage your mail.<br />
</li>
<li>Secure; you can secure your google account and all content is backed up in Google’s server.<br />
</li>
</ul>
</p>
<p>Ok, let put ourselves into configuring our boards.</p>
<p><span style="font-weight: bold;" class="mycode_b">First, you will need to configure your domain mail forwarding.</span><br />
<div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=30" target="_blank" title="" class="attachment__link">smtp2.png</a>
    <span class="attachment__data">(Size: 5.2 KB / Downloads: 1747)</span>
    </div></div></p>
<p>This is very straightforward, as you will simply redirect all email from your domain registrar to your google account. You can create one single redirect for all email or you can create individual email redirects to the same Gmail account. In my case I’d go with the second option, as this will limit the existing emails users can send mail to.</p>
<p>In the image above you can see I created two mail redirects, one for <code>contact@ougc.network</code> and other for <code>omarg@ougc.network</code>, but I also created one for setting up <code>automatic@ougc.network</code> and removed it after finishing the whole process. This is so I can send mails using <code>automatic@ougc.network</code> but it will stop people from replying to them directly.</p>
<p>Below you can find attached images of other domain registrar setups I have, though their are mostly the same or very similar configurations.</p>
<p>You can  test your mail forwarding by sending a mail to the configured address, as mail delivery should work now.</p>
<p><span style="font-weight: bold;" class="mycode_b">Then, you would want to configure mail sending from your Gmail account.</span><br />
<div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=34" target="_blank" title="" class="attachment__link">smtp6.png</a>
    <span class="attachment__data">(Size: 7.72 KB / Downloads: 1459)</span>
    </div></div></p>
<p>
<ol type="1" class="mycode_list"><li>
[<em>]From the GMail settings page, refer to the <code>Accounts and Import</code> tab.<br />
[</em>]In the <code>Send mail as</code> section click <code>Add another email address</code>, a popup window should open.<br />
[<em>]Fill the <code>Name</code> and <code>Email address</code> field accordingly. In this case I ran the setup thrice each for <code>contact@ougc.network</code>, <code>omarg@ougc.network</code>, and <code>automatic@ougc.network</code>.<br />
[</em>]Once confirmed continue to update the <code>edit info</code> link. The previous PopUp should return asking for your SMTP details.<ul class="mycode_list"><li>[<em>]<span style="font-weight: bold;" class="mycode_b">SMTP Server:</span> <code>smtp.gmail.com</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Port:</span> <code>465</code><br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Username:</span> <code>mygmailusername@gmail.com</code> <span style="font-style: italic;" class="mycode_i">(your Gmail address)</span><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Password:</span> <span style="font-style: italic;" class="mycode_i">Your Gmail password or <a href="https://support.google.com/mail/answer/185833" target="_blank" rel="noopener" class="mycode_url">application password if you are using 2FA</a>.<br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Secured connection using SSL (recommended):</span> [i]yes</span><br />
</li>
</ul>
[</em>]You will be prompted to verify you own the email address, check your inbox and confirm the email by clicking the link they sent you.<br />
</li>
<li>Finally, you should now be able to both send and receive emails to and from the configured email addresses from your Gmail account.<br />
</li>
</ol>
</p>
<p><span style="font-weight: bold;" class="mycode_b">As a final step, you will need to configure your MyBB mail settings.</span></p>
<p>
<ol type="1" class="mycode_list"><li>
[<em>]Go to the page settings on <code>Home » Board Settings » Mail Settings</code>.<br />
[</em>]Fill the settings according to the description below.<ul class="mycode_list"><li>[<em>]<span style="font-weight: bold;" class="mycode_b">Mail handler:</span> <code>SMTP mail</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">SMTP hostname:</span> <code>smtp.gmail.com</code><br />
[<em>]<span style="font-weight: bold;" class="mycode_b">SMTP port:</span> <code>465</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">SMTP username:</span> <code>mygmailusername@gmail.com</code> <span style="font-style: italic;" class="mycode_i">(your Gmail address)</span><br />
[<em>]<span style="font-weight: bold;" class="mycode_b">SMTP password:</span> [i]Your Gmail password or <a href="https://support.google.com/mail/answer/185833" target="_blank" rel="noopener" class="mycode_url">application password if you are using 2FA</a>.<br />
[</em>]<span style="font-weight: bold;" class="mycode_b">SMTP Encryption Mode:</span> <code>SSL encryption</code><br />
</li>
</ul>
</li>
<li>Save; your board should now be able to deliver emails from your Gmail account. Don’t forget to update your <code>Site Details</code> for existing and configured mail addresses.<br />
</li>
</ol>
</p>
<p>After following these steps your board should be configured to use Google’s Gmail SMTP service.</p>
<p>Regards.</p>
<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=31" target="_blank" title="" class="attachment__link">smtp4.png</a>
    <span class="attachment__data">(Size: 17.54 KB / Downloads: 1412)</span>
    </div><br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=32" target="_blank" title="" class="attachment__link">smtp5.png</a>
    <span class="attachment__data">(Size: 13.54 KB / Downloads: 1322)</span>
    </div><br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=33" target="_blank" title="" class="attachment__link">smtp3.png</a>
    <span class="attachment__data">(Size: 31.17 KB / Downloads: 1411)</span>
    </div>]]></description>
			<content:encoded><![CDATA[<p>Unless mailing is an important part of your site, apart from sending registration or account related links (password recovery, etc), it is probably unnecessary for you to set up a mail service in your server. This in in my opinion one of the reasons people stick with PHP mail handler as long as it works. Likewise, I would recommend people to avoid putting resources or effort into setting up such mail services and instead either pay for a third party provider like Amazon SES, G Suite, Elastic Email, etc. or to simply use free alternatives that match their requirements.</p>
<p>I myself like configuring my MyBB sites using Google’s Gmail SMTP service. Some benefits of this approach include:<ul class="mycode_list"><li>
[<em>]It is reliable; Google SMTP server is a reliable handler, I myself have never received a mail to my spam directory for instance.<br />
[</em>]Novice friendly; you don’t need to setup your own mail server or anything complex to manage your mail.<br />
</li>
<li>Secure; you can secure your google account and all content is backed up in Google’s server.<br />
</li>
</ul>
</p>
<p>Ok, let put ourselves into configuring our boards.</p>
<p><span style="font-weight: bold;" class="mycode_b">First, you will need to configure your domain mail forwarding.</span><br />
<div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=30" target="_blank" title="" class="attachment__link">smtp2.png</a>
    <span class="attachment__data">(Size: 5.2 KB / Downloads: 1747)</span>
    </div></div></p>
<p>This is very straightforward, as you will simply redirect all email from your domain registrar to your google account. You can create one single redirect for all email or you can create individual email redirects to the same Gmail account. In my case I’d go with the second option, as this will limit the existing emails users can send mail to.</p>
<p>In the image above you can see I created two mail redirects, one for <code>contact@ougc.network</code> and other for <code>omarg@ougc.network</code>, but I also created one for setting up <code>automatic@ougc.network</code> and removed it after finishing the whole process. This is so I can send mails using <code>automatic@ougc.network</code> but it will stop people from replying to them directly.</p>
<p>Below you can find attached images of other domain registrar setups I have, though their are mostly the same or very similar configurations.</p>
<p>You can  test your mail forwarding by sending a mail to the configured address, as mail delivery should work now.</p>
<p><span style="font-weight: bold;" class="mycode_b">Then, you would want to configure mail sending from your Gmail account.</span><br />
<div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=34" target="_blank" title="" class="attachment__link">smtp6.png</a>
    <span class="attachment__data">(Size: 7.72 KB / Downloads: 1459)</span>
    </div></div></p>
<p>
<ol type="1" class="mycode_list"><li>
[<em>]From the GMail settings page, refer to the <code>Accounts and Import</code> tab.<br />
[</em>]In the <code>Send mail as</code> section click <code>Add another email address</code>, a popup window should open.<br />
[<em>]Fill the <code>Name</code> and <code>Email address</code> field accordingly. In this case I ran the setup thrice each for <code>contact@ougc.network</code>, <code>omarg@ougc.network</code>, and <code>automatic@ougc.network</code>.<br />
[</em>]Once confirmed continue to update the <code>edit info</code> link. The previous PopUp should return asking for your SMTP details.<ul class="mycode_list"><li>[<em>]<span style="font-weight: bold;" class="mycode_b">SMTP Server:</span> <code>smtp.gmail.com</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Port:</span> <code>465</code><br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Username:</span> <code>mygmailusername@gmail.com</code> <span style="font-style: italic;" class="mycode_i">(your Gmail address)</span><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">Password:</span> <span style="font-style: italic;" class="mycode_i">Your Gmail password or <a href="https://support.google.com/mail/answer/185833" target="_blank" rel="noopener" class="mycode_url">application password if you are using 2FA</a>.<br />
[<em>]<span style="font-weight: bold;" class="mycode_b">Secured connection using SSL (recommended):</span> [i]yes</span><br />
</li>
</ul>
[</em>]You will be prompted to verify you own the email address, check your inbox and confirm the email by clicking the link they sent you.<br />
</li>
<li>Finally, you should now be able to both send and receive emails to and from the configured email addresses from your Gmail account.<br />
</li>
</ol>
</p>
<p><span style="font-weight: bold;" class="mycode_b">As a final step, you will need to configure your MyBB mail settings.</span></p>
<p>
<ol type="1" class="mycode_list"><li>
[<em>]Go to the page settings on <code>Home » Board Settings » Mail Settings</code>.<br />
[</em>]Fill the settings according to the description below.<ul class="mycode_list"><li>[<em>]<span style="font-weight: bold;" class="mycode_b">Mail handler:</span> <code>SMTP mail</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">SMTP hostname:</span> <code>smtp.gmail.com</code><br />
[<em>]<span style="font-weight: bold;" class="mycode_b">SMTP port:</span> <code>465</code><br />
[</em>]<span style="font-weight: bold;" class="mycode_b">SMTP username:</span> <code>mygmailusername@gmail.com</code> <span style="font-style: italic;" class="mycode_i">(your Gmail address)</span><br />
[<em>]<span style="font-weight: bold;" class="mycode_b">SMTP password:</span> [i]Your Gmail password or <a href="https://support.google.com/mail/answer/185833" target="_blank" rel="noopener" class="mycode_url">application password if you are using 2FA</a>.<br />
[</em>]<span style="font-weight: bold;" class="mycode_b">SMTP Encryption Mode:</span> <code>SSL encryption</code><br />
</li>
</ul>
</li>
<li>Save; your board should now be able to deliver emails from your Gmail account. Don’t forget to update your <code>Site Details</code> for existing and configured mail addresses.<br />
</li>
</ol>
</p>
<p>After following these steps your board should be configured to use Google’s Gmail SMTP service.</p>
<p>Regards.</p>
<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=31" target="_blank" title="" class="attachment__link">smtp4.png</a>
    <span class="attachment__data">(Size: 17.54 KB / Downloads: 1412)</span>
    </div><br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=32" target="_blank" title="" class="attachment__link">smtp5.png</a>
    <span class="attachment__data">(Size: 13.54 KB / Downloads: 1322)</span>
    </div><br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=33" target="_blank" title="" class="attachment__link">smtp3.png</a>
    <span class="attachment__data">(Size: 31.17 KB / Downloads: 1411)</span>
    </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Reduce attachments.php file resources usage.]]></title>
			<link>https://community.ougc.network/entry?tutorial-reduce-attachments-php-file-resources-usage</link>
			<pubDate>Sun, 16 Aug 2020 00:46:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://community.ougc.network/member.php?action=profile&uid=1">Omar G.</a>]]></dc:creator>
			<guid isPermaLink="false">https://community.ougc.network/entry?tutorial-reduce-attachments-php-file-resources-usage</guid>
			<description><![CDATA[<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=25" target="_blank" title="" class="attachment__link">attachmentserror.png</a>
    <span class="attachment__data">(Size: 5.82 KB / Downloads: 908)</span>
    </div><br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=26" target="_blank" title="" class="attachment__link">attachmentserrornopermission.png</a>
    <span class="attachment__data">(Size: 22.16 KB / Downloads: 890)</span>
    </div>]]></description>
			<content:encoded><![CDATA[<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=25" target="_blank" title="" class="attachment__link">attachmentserror.png</a>
    <span class="attachment__data">(Size: 5.82 KB / Downloads: 908)</span>
    </div><br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=26" target="_blank" title="" class="attachment__link">attachmentserrornopermission.png</a>
    <span class="attachment__data">(Size: 22.16 KB / Downloads: 890)</span>
    </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Disable xThreads attachment download for guests.]]></title>
			<link>https://community.ougc.network/entry?xthreads-disable-xthreads-attachment-download-for-guests</link>
			<pubDate>Sun, 12 Apr 2020 01:32:41 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://community.ougc.network/member.php?action=profile&uid=1">Omar G.</a>]]></dc:creator>
			<guid isPermaLink="false">https://community.ougc.network/entry?xthreads-disable-xthreads-attachment-download-for-guests</guid>
			<description><![CDATA[<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=16" target="_blank" title="" class="attachment__link">xthreads1.png</a>
    <span class="attachment__data">(Size: 6.28 KB / Downloads: 1022)</span>
    </div>]]></description>
			<content:encoded><![CDATA[<br /><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="PNG Image" border="0" alt=".png" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=16" target="_blank" title="" class="attachment__link">xthreads1.png</a>
    <span class="attachment__data">(Size: 6.28 KB / Downloads: 1022)</span>
    </div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Replacing MyBB ratings with Semantic UI ratings module.]]></title>
			<link>https://community.ougc.network/entry?tutorial-replacing-mybb-ratings-with-semantic-ui-ratings-module</link>
			<pubDate>Thu, 19 Mar 2020 04:10:55 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://community.ougc.network/member.php?action=profile&uid=1">Omar G.</a>]]></dc:creator>
			<guid isPermaLink="false">https://community.ougc.network/entry?tutorial-replacing-mybb-ratings-with-semantic-ui-ratings-module</guid>
			<description><![CDATA[<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=11" target="_blank" title="" class="attachment__link">ratings1.jpg</a>
    <span class="attachment__data">(Size: 10.61 KB / Downloads: 1201)</span>
    </div></div></p>
<p>Hi. Below I share the process to replace the core MyBB rating JS for the <a href="https://semantic-ui.com/" target="_blank" rel="noopener" class="mycode_url">Semantic UI</a> module. Please check the screenshots to visualize the final result.</p>
<p>The first steps require us to change some templates. These changes are presented below are based on the default MyBB theme.</p>
<p>
<ol type="1" class="mycode_list"><li>For this tutorial we’re going to use the <a href="https://semantic-ui.com/modules/rating.html" target="_blank" rel="noopener" class="mycode_url">Semantic UI rating module</a>. Open the <code>headerinclude</code> template and add the following at the end:<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/rating.min.js" integrity="sha256-jprk9qns6QqU1UWGtHMwug9A/ls7tVMV8p2mueJlj74=" crossorigin="anonymous"&gt;&lt;/script&gt;<br />
<br />
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/rating.min.css" integrity="sha256-rvfNRXAaYgOVCEbNgSflI9FdWFSre18sLFjJKkiuV6w=" crossorigin="anonymous" /&gt;</code><br />
    </div>
</div>
</p>
<p></li>
<li>Open the <code>showthread_ratethread</code> template and replace its entire content with the following:<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;div style="margin-top: 6px; padding-right: 10px;" class="float_right"&gt;<br />
&lt;div class="ui star rating" data-rating="{&#36;thread['averagerating']}" data-max-rating="5" id="rating_thread_{&#36;thread['tid']}"&gt;&lt;/div&gt;<br />
&lt;script&gt;<br />
&#36;('#rating_thread_{&#36;thread['tid']}').rating({<br />
initialRating: {&#36;thread['averagerating']},<br />
maxRating: 5,<br />
clearable: false,<br />
interactive: &lt;if (int)&#36;mybb-&gt;user['uid'] &amp;&amp; (int)&#36;mybb-&gt;user['uid'] === (int)&#36;thread['uid'] then&gt;false&lt;else&gt;true&lt;/if&gt;,<br />
onRate: function (rating) {<br />
&#36;.ajax(<br />
{<br />
url: '{&#36;mybb-&gt;settings['bburl']}/ratethread.php?ajax=1&amp;my_post_key='+my_post_key+'&amp;tid={&#36;thread['tid']}&amp;rating='+rating,<br />
async: true,<br />
method: 'post',<br />
dataType: 'json',<br />
complete: function (request)<br />
{<br />
var json = JSON.parse(request.responseText);<br />
if(json.hasOwnProperty("errors"))<br />
{<br />
&#36;.each(json.errors, function(i, error)<br />
{<br />
&#36;.jGrowl(lang.ratings_update_error + ' ' + error, {theme:'jgrowl_error'});<br />
});<br />
}<br />
else if(json.hasOwnProperty("success"))<br />
{<br />
return true;<br />
}<br />
}<br />
});<br />
return false;<br />
}<br />
});<br />
&lt;/script&gt;<br />
&lt;/div&gt;</code><br />
    </div>
</div>
</p>
<p></li>
<li>Open the <code>forumdisplay_threadlist_rating</code> template and replace its entire content with the following (we are only removing the core JavaScript:<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;td class="tcat" align="center" width="80"&gt;<br />
&lt;span class="smalltext"&gt;&lt;strong&gt;&lt;a href="{&#36;sorturl}&amp;amp;sortby=rating&amp;amp;order=desc"&gt;{&#36;lang-&gt;rating}&lt;/a&gt; {&#36;orderarrow['rating']}&lt;/strong&gt;&lt;/span&gt;<br />
&lt;/td&gt;</code><br />
    </div>
</div>
</p>
<p></li>
<li>Open the <code>forumdisplay_thread_rating</code> template and replace its entire content with the following:<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}"&gt;<br />
&lt;div class="ui star rating" data-rating="{&#36;thread['averagerating']}" data-max-rating="5" id="rating_thread_{&#36;thread['tid']}"&gt;&lt;/div&gt;<br />
&lt;script&gt;<br />
&#36;('#rating_thread_{&#36;thread['tid']}').rating({<br />
initialRating: {&#36;thread['averagerating']},<br />
maxRating: 5,<br />
interactive: &lt;if (int)&#36;mybb-&gt;user['uid'] &amp;&amp; (int)&#36;mybb-&gt;user['uid'] === (int)&#36;thread['uid'] then&gt;false&lt;else&gt;true&lt;/if&gt;,<br />
onRate: function (rating) {<br />
&#36;.ajax(<br />
{<br />
url: '{&#36;mybb-&gt;settings['bburl']}/ratethread.php?ajax=1&amp;my_post_key='+my_post_key+'&amp;tid={&#36;thread['tid']}&amp;rating='+rating,<br />
async: true,<br />
method: 'post',<br />
dataType: 'json',<br />
complete: function (request)<br />
{<br />
var json = JSON.parse(request.responseText);<br />
if(json.hasOwnProperty("errors"))<br />
{<br />
&#36;.each(json.errors, function(i, error)<br />
{<br />
&#36;.jGrowl(lang.ratings_update_error + ' ' + error, {theme:'jgrowl_error'});<br />
});<br />
}<br />
else if(json.hasOwnProperty("success"))<br />
{<br />
return true;<br />
}<br />
}<br />
});<br />
return false;<br />
}<br />
});<br />
&lt;/script&gt;<br />
&lt;/td&gt;</code><br />
    </div>
</div>
</p>
<p></li>
<li>Finally, import the attached file using the <a href="https://github.com/frostschutz/MyBB-Hooks" target="_blank" rel="noopener" class="mycode_url">Hooks</a> plugin.<br />
</li>
</ol>
</p>
<p>Once all of this is done, users should be able to update their ratings without issues. At the moment it isn’t possible for users to remove or delete their rates, but is is possible to do so by adding one extra hook. This is outside the scope of this tutorial but might be added on the future.</p>
<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=12" target="_blank" title="" class="attachment__link">ratings2.jpg</a>
    <span class="attachment__data">(Size: 37.95 KB / Downloads: 1215)</span>
    </div></div></p>
<p>It is also possible to use heart ratings instead of start ratings. For this it would be necessary to change <code>ui star rating</code> for <code>ui heart rating</code> in the two occurrences in the steps above.</p>
<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=13" target="_blank" title="" class="attachment__link">ratings3.jpg</a>
    <span class="attachment__data">(Size: 13.53 KB / Downloads: 1189)</span>
    </div></div></p>
<p>Other enhancement could be to use star or heart rating on a per forum basis.</p>
]]></description>
			<content:encoded><![CDATA[<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=11" target="_blank" title="" class="attachment__link">ratings1.jpg</a>
    <span class="attachment__data">(Size: 10.61 KB / Downloads: 1201)</span>
    </div></div></p>
<p>Hi. Below I share the process to replace the core MyBB rating JS for the <a href="https://semantic-ui.com/" target="_blank" rel="noopener" class="mycode_url">Semantic UI</a> module. Please check the screenshots to visualize the final result.</p>
<p>The first steps require us to change some templates. These changes are presented below are based on the default MyBB theme.</p>
<p>
<ol type="1" class="mycode_list"><li>For this tutorial we’re going to use the <a href="https://semantic-ui.com/modules/rating.html" target="_blank" rel="noopener" class="mycode_url">Semantic UI rating module</a>. Open the <code>headerinclude</code> template and add the following at the end:<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/rating.min.js" integrity="sha256-jprk9qns6QqU1UWGtHMwug9A/ls7tVMV8p2mueJlj74=" crossorigin="anonymous"&gt;&lt;/script&gt;<br />
<br />
&lt;link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/rating.min.css" integrity="sha256-rvfNRXAaYgOVCEbNgSflI9FdWFSre18sLFjJKkiuV6w=" crossorigin="anonymous" /&gt;</code><br />
    </div>
</div>
</p>
<p></li>
<li>Open the <code>showthread_ratethread</code> template and replace its entire content with the following:<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;div style="margin-top: 6px; padding-right: 10px;" class="float_right"&gt;<br />
&lt;div class="ui star rating" data-rating="{&#36;thread['averagerating']}" data-max-rating="5" id="rating_thread_{&#36;thread['tid']}"&gt;&lt;/div&gt;<br />
&lt;script&gt;<br />
&#36;('#rating_thread_{&#36;thread['tid']}').rating({<br />
initialRating: {&#36;thread['averagerating']},<br />
maxRating: 5,<br />
clearable: false,<br />
interactive: &lt;if (int)&#36;mybb-&gt;user['uid'] &amp;&amp; (int)&#36;mybb-&gt;user['uid'] === (int)&#36;thread['uid'] then&gt;false&lt;else&gt;true&lt;/if&gt;,<br />
onRate: function (rating) {<br />
&#36;.ajax(<br />
{<br />
url: '{&#36;mybb-&gt;settings['bburl']}/ratethread.php?ajax=1&amp;my_post_key='+my_post_key+'&amp;tid={&#36;thread['tid']}&amp;rating='+rating,<br />
async: true,<br />
method: 'post',<br />
dataType: 'json',<br />
complete: function (request)<br />
{<br />
var json = JSON.parse(request.responseText);<br />
if(json.hasOwnProperty("errors"))<br />
{<br />
&#36;.each(json.errors, function(i, error)<br />
{<br />
&#36;.jGrowl(lang.ratings_update_error + ' ' + error, {theme:'jgrowl_error'});<br />
});<br />
}<br />
else if(json.hasOwnProperty("success"))<br />
{<br />
return true;<br />
}<br />
}<br />
});<br />
return false;<br />
}<br />
});<br />
&lt;/script&gt;<br />
&lt;/div&gt;</code><br />
    </div>
</div>
</p>
<p></li>
<li>Open the <code>forumdisplay_threadlist_rating</code> template and replace its entire content with the following (we are only removing the core JavaScript:<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;td class="tcat" align="center" width="80"&gt;<br />
&lt;span class="smalltext"&gt;&lt;strong&gt;&lt;a href="{&#36;sorturl}&amp;amp;sortby=rating&amp;amp;order=desc"&gt;{&#36;lang-&gt;rating}&lt;/a&gt; {&#36;orderarrow['rating']}&lt;/strong&gt;&lt;/span&gt;<br />
&lt;/td&gt;</code><br />
    </div>
</div>
</p>
<p></li>
<li>Open the <code>forumdisplay_thread_rating</code> template and replace its entire content with the following:<br />
<div class="codeblock">
    <div class="codeblock__title">Code:</div>
    <div class="codeblock__body" dir="ltr">
        <code>&lt;td align="center" class="{&#36;bgcolor}{&#36;thread_type_class}"&gt;<br />
&lt;div class="ui star rating" data-rating="{&#36;thread['averagerating']}" data-max-rating="5" id="rating_thread_{&#36;thread['tid']}"&gt;&lt;/div&gt;<br />
&lt;script&gt;<br />
&#36;('#rating_thread_{&#36;thread['tid']}').rating({<br />
initialRating: {&#36;thread['averagerating']},<br />
maxRating: 5,<br />
interactive: &lt;if (int)&#36;mybb-&gt;user['uid'] &amp;&amp; (int)&#36;mybb-&gt;user['uid'] === (int)&#36;thread['uid'] then&gt;false&lt;else&gt;true&lt;/if&gt;,<br />
onRate: function (rating) {<br />
&#36;.ajax(<br />
{<br />
url: '{&#36;mybb-&gt;settings['bburl']}/ratethread.php?ajax=1&amp;my_post_key='+my_post_key+'&amp;tid={&#36;thread['tid']}&amp;rating='+rating,<br />
async: true,<br />
method: 'post',<br />
dataType: 'json',<br />
complete: function (request)<br />
{<br />
var json = JSON.parse(request.responseText);<br />
if(json.hasOwnProperty("errors"))<br />
{<br />
&#36;.each(json.errors, function(i, error)<br />
{<br />
&#36;.jGrowl(lang.ratings_update_error + ' ' + error, {theme:'jgrowl_error'});<br />
});<br />
}<br />
else if(json.hasOwnProperty("success"))<br />
{<br />
return true;<br />
}<br />
}<br />
});<br />
return false;<br />
}<br />
});<br />
&lt;/script&gt;<br />
&lt;/td&gt;</code><br />
    </div>
</div>
</p>
<p></li>
<li>Finally, import the attached file using the <a href="https://github.com/frostschutz/MyBB-Hooks" target="_blank" rel="noopener" class="mycode_url">Hooks</a> plugin.<br />
</li>
</ol>
</p>
<p>Once all of this is done, users should be able to update their ratings without issues. At the moment it isn’t possible for users to remove or delete their rates, but is is possible to do so by adding one extra hook. This is outside the scope of this tutorial but might be added on the future.</p>
<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=12" target="_blank" title="" class="attachment__link">ratings2.jpg</a>
    <span class="attachment__data">(Size: 37.95 KB / Downloads: 1215)</span>
    </div></div></p>
<p>It is also possible to use heart ratings instead of start ratings. For this it would be necessary to change <code>ui star rating</code> for <code>ui heart rating</code> in the two occurrences in the steps above.</p>
<p><div style="text-align: center;" class="mycode_align"><div class="attachments__attachment attachment">
    <span class="attachment__icon"><img src="https://cdn.ougc.network/images/attachtypes/image.png" title="JPG Image" border="0" alt=".jpg" /></span>
    <a href="https://community.ougc.network/attachment.php?aid=13" target="_blank" title="" class="attachment__link">ratings3.jpg</a>
    <span class="attachment__data">(Size: 13.53 KB / Downloads: 1189)</span>
    </div></div></p>
<p>Other enhancement could be to use star or heart rating on a per forum basis.</p>
]]></content:encoded>
		</item>
	</channel>
</rss>