MyBB Hacks

Full Version: Download System
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Ah, yes. Thanks for the pointer, Lee.
Here I am again, with the new download system, structure just like the plugin download system here!
  1. The first and only custom thread field we have to create, is for the file upload.
    1. Title: File Upload
    2. Key: fupload
    3. Description: Upload a file to the forum.
    4. Applicable Forums: any
    5. Input Field Type: file
    6. Valid File Extensions: any
    7. Maximum File Size: any
    8. Editable by / Required Field?: Everyone (required)
    9. Display Order: 2
  2. Now, create a new template, named: download_postbit_first

    PHP Code:
    {$ignore_bit}
    <a name="pid{$post['pid']}" id="pid{$post['pid']}"></a>
    <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" style="{$post_extra_style} {$post_visibility}" id="post_{$post['pid']}">
    	<tbody>
    		<tr>
    			<td colspan=2 class="tcat">
    				<div class="float_left smalltext">
    					{$post['postdate']}, {$post['posttime']} <span id="edited_by_{$post['pid']}">{$post['editedmsg']}</span>
    				</div>
    				{$post['posturl']}
    			</td>
    		</tr>
    
    		<tr>
    			<td class="trow1 {$unapproved_shade}">
    				<table cellspacing="0" cellpadding="0" border="0" style="width: 100%;">
    					<tr>
    						<td class="post_avatar" width="1" style="{$post['avatar_padding']}">
    							{$post['useravatar']}
    						</td>
    						<td class="post_author">
    							<strong><span class="largetext">{$post['profilelink']}</span></strong> {$post['onlinestatus']}<br />
    							<span class="smalltext">
    								{$post['usertitle']}<br />
    								{$post['userstars']}
    								{$post['groupimage']}
    							</span>
    						</td>
    						<td class="smalltext post_author_info" width="165">
    							{$post['user_details']}
    						</td>
    					</tr>
    				</table>
    			</td>
    			<td rowspan=3 class="trow1" style="white-space: nowrap; width: 10%; vertical-align: top;" border=1> 
    				<div style="overflow: hidden; width: 100%;"> 
    					<if $mybb->user['uid'] then>
    						<div style="text-align: center;"><strong>Download: <a href="{$GLOBALS['threadfields']['fupload']['url']}">{$GLOBALS['threadfields']['fupload']['filename']}</a></strong></div>
    					<else>
    						<div style="text-align: center;">Download: {$GLOBALS['threadfields']['fupload']['filename']}</strong></div>
    						<div class="smalltext" style="text-align: center;">
    						<em>You must login to download this file.</em>
    						</div>
    					</if>
    					<div class="smalltext" style="text-align: center;"> 
    						Size: {$GLOBALS['threadfields']['fupload']['filesize_friendly']}<br />
    						MD5 Hash: {$GLOBALS['threadfields']['fupload']['md5hash']}<br />
    						Downloads: {$GLOBALS['threadfields']['fupload']['downloads_friendly']}<br /> 
    						Last Updated: {$GLOBALS['threadfields']['fupload']['update_date']}, {$GLOBALS['threadfields']['fupload']['update_time']}<br /> 
    						Uploaded: {$GLOBALS['threadfields']['fupload']['upload_date']}, {$GLOBALS['threadfields']['fupload']['upload_time']}<br />
    
    					</div>
    				</div> 
    			</td>
    		</tr>
    
    		<tr>
    			<td class="trow2 post_content {$unapproved_shade}">
    				<span class="smalltext"><strong>{$post['icon']}{$post['subject']} {$post['subject_extra']}</strong></span>
    
    				<div class="post_body" id="pid_{$post['pid']}">
    					{$post['message']}
    				</div>
    				{$post['attachments']}
    				{$post['signature']}
    
    				<div class="post_meta" id="post_meta_{$post['pid']}">
    				{$post['iplogged']}
    				</div>
    			</td>
    		</tr>
    
    		<tr>
    			<td class="trow1 post_buttons {$unapproved_shade}">
    				<div class="author_buttons float_left">
    					{$post['button_email']}{$post['button_pm']}{$post['button_www']}{$post['button_find']}
    				</div>
    				<div class="post_management_buttons float_right">{$post['button_edit']}{$post['button_quickdelete']}{$post['button_quote']}{$post['button_multiquote']}{$post['button_report']}{$post['button_warn']}{$post['button_reply_pm']}{$post['button_replyall_pm']}{$post['button_forward_pm']}{$post['button_delete_pm']}
    				</div>
    			</td>
    		</tr>
    	</tbody>
    </table>

  3. Now, create a new template, named: download_postbit_first_classic

    PHP Code:
    {$ignore_bit}
    <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" style="{$post_extra_style} {$post_visibility}" id="post_{$post['pid']}">
    	<tr>
    		<td class="{$altbg}" width="15%" valign="top" style="white-space: nowrap; text-align: center;"><a name="pid{$post['pid']}" id="pid{$post['pid']}"></a>
    		<strong><span class="largetext">{$post['profilelink']}</span></strong> {$post['onlinestatus']}<br />
    		<span class="smalltext">
    			{$post['usertitle']}<br />
    			{$post['userstars']}
    			{$post['groupimage']}
    			{$post['useravatar']}<br />
    			{$post['user_details']}
    		</span>
    	</td>
    	<td class="{$altbg}" valign="top">
    		<table width="100%">
    			<tr><td>{$post['posturl']}<span class="smalltext"><strong>{$post['icon']}{$post['subject']} {$post['subject_extra']}</strong></span>
    			<br />
    			<div id="pid_{$post['pid']}" style="padding: 5px 0 5px 0;">
    				{$post['message']}
    			</div>
    			{$post['attachments']}
    			{$post['signature']}
    			<div style="text-align: right; vertical-align: bottom;" id="post_meta_{$post['pid']}">
    				<div id="edited_by_{$post['pid']}">{$post['editedmsg']}</div>
    				{$post['iplogged']}
    			</div>
    			</td>
    			</tr>
    			</table>
    	</td>
    	<td rowspan=2 class="{$altbg}" width="15%" valign="top" style="white-space: nowrap; text-align: center;"> 
    		<div style="overflow: hidden; width: 100%;"> 
    			<if $mybb->user['uid'] then>
    				<div style="text-align: center;"><strong>Download: <a href="{$GLOBALS['threadfields']['fupload']['url']}">{$GLOBALS['threadfields']['fupload']['filename']}</a></strong></div>
    			<else>
    				<div style="text-align: center;">Download: {$GLOBALS['threadfields']['fupload']['filename']}</strong></div>
    				<div class="smalltext" style="text-align: center;">
    				<em>You must login to download this file.</em>
    				</div>
    			</if>
    			<div class="smalltext" style="text-align: center;"> 
    				Size: {$GLOBALS['threadfields']['fupload']['filesize_friendly']}<br />
    				MD5 Hash: {$GLOBALS['threadfields']['fupload']['md5hash']}<br />
    				Downloads: {$GLOBALS['threadfields']['fupload']['downloads_friendly']}<br /> 
    				Last Updated: {$GLOBALS['threadfields']['fupload']['update_date']}, {$GLOBALS['threadfields']['fupload']['update_time']}<br /> 
    				Uploaded: {$GLOBALS['threadfields']['fupload']['upload_date']}, {$GLOBALS['threadfields']['fupload']['upload_time']}<br />
    			</div>
    		</div> 
    	</td>
    </tr>
    <tr>
    	<td class="{$altbg}" style="white-space: nowrap; text-align: center; vertical-align: middle;"><span class="smalltext">{$post['postdate']} {$post['posttime']}</span></td>
    	<td class="{$altbg}" style="vertical-align: middle;">
    		<table width="100%" border="0" cellpadding="0" cellspacing="0">
    			<tr valign="bottom">
    				<td align="left" ><span class="smalltext">{$post['button_email']}{$post['button_pm']}{$post['button_www']}{$post['button_find']}</span></td>
    				<td align="right">{$post['button_edit']}{$post['button_quickdelete']}{$post['button_quote']}{$post['button_multiquote']}{$post['button_report']}{$post['button_warn']}{$post['button_reply_pm']}{$post['button_replyall_pm']}{$post['button_forward_pm']}{$post['button_delete_pm']}</td>
    			</tr>
    		</table>
    	</td>
    </tr>
    </table>

  4. Finally, for each forum in 4d, edit the settings to match:
    1. Template Prefix: download
    2. Show first post on every showthread page: yes



And then you should be done!

Please, check for errors and report them, as I just copied and pasted from my own forum.
Thanks for sharing, wnd Smile It's great.
wnd...this isn't working for me. I can add the thread with the file no problem, but it doesn't show on the showthread page.
What is your template prefix for that forum?
Found the problem...{$first_post} was missing from my showthread template.
Ah... Great Smile
Wheres the Xthread options in forum settings?
When you edit a forum, there is XThreads Options, just above Forum Permission.
Hello, is there any option to add downloads to other languages? Smile

Contact for PM Wink
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Reference URL's