Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard

Reply
 
Thread Tools
vB Drafts Details »»
vB Drafts
Version: 2.2, by RedTyger RedTyger is offline
Developer Last Online: Nov 2022 Show Printable Version Email this Page

Category: New Posting Features - Version: 3.8.x Rating:
Released: 02-26-2009 Last Update: Never Installs: 28
DB Changes Uses Plugins Auto-Templates
Code Changes Additional Files Translations Is in Beta Stage  
No support by the author.

Modification currently on hold for some major bugfixing.

vB Drafts adds a feature to temporarily save posts, threads and private messages that have not been submitted, allowing members to return to their unpublished submissions later on and continue writing where they left off.

Drafts can be periodically saved automatically or saved manually, with either option restricted to certain usergroups. Drafts can also be restricted to just posts, threads quick replies or private messages, or to specified fora and/or usergroups.

The system allows for as many drafts as you could need. Each member gets 1 post draft per thread, 1 thread draft per forum, 1 PM draft per private message and 1 for a new PM.

vB Drafts use AJAX, so saving a draft is as good as invisible. Either one click for manual saving or just a subtle, brief notification when a draft is saved automatically. For automated saving, the admin has full control over how often saves are performed.

Restoring a draft is even more invisible. Simply return to where you were writing and the draft will be there waiting for you.

vB Drafts for 3.8 is a mostly unchanged update of the older version with a few minor bugfixes and improvements, plus new support for private message quick replies.

Installation instructions
1. Extract the contents of the download file to your computer.
2. Upload the file in the product folder via the Product Manager at AdminCP > Plugins & Products > Manage Products > [Add/Import Product].
3. Upload the contents of the uploads folder to the equivalent location in your forum on your server. The directory structure within the download file is the same as your forum. So includes/cron/drafts.php goes in your forum's cron directory, etc.
4. Perform the file edit described below if you want Quick Reply drafts.
5. The options for vB Drafts are in the main vBulletin Options menu.
6. Done!

Upgrade instructions
1. Uninstall the vB Drafts product file ensuring that the option to delete saved drafts is set to Yes in the vB Drafts menu. All saved drafts must be deleted for the upgrade.
2. Follow the instructions for a new installation.

Uninstallation instructions
1. Uninstall the vB Drafts product file ensuring that the option to delete saved drafts is set to Yes in the vB Drafts menu. All saved drafts must be deleted for the upgrade.
2. Delete /clientscript/drafts.js.
3. Delete includes/cron/drafts.php.
4. Done!




File edits
For file edits, you will need to edit the original files that vBulletin was shipped with. Make your changes in an appropriate editor (anything that does not use formatting like MS Word will do) and then upload the files to your server, overwriting the existing files.

The file edit is only necessary if you intend to use autosaving with Quick Reply.

In file clientscript/vbulletin_quick_reply.js:
FIND:
PHP Code:
vB_Editor[QR_EditorID].write_editor_contents(""
REPLACE WITH:
PHP Code:
    // vB Drafts
        // Old
    // vB_Editor[QR_EditorID].write_editor_contents("")
    // vB Drafts 

This file edit is only necessary if Quick Reply requires a click.

FIND:
PHP Code:
vB_Editor[QR_EditorID].enable_editor(""); 
REPLACE WITH:
PHP Code:
    // vB Drafts
    // Old:
    // vB_Editor[QR_EditorID].enable_editor("");

    // New:
       
if (typeof(asId) == 'undefined')
       {
           
vB_Editor[QR_EditorID].enable_editor('');
       }
       else
       {
           
// Agonising, painful, horrific way to replace the QR message + draft with just draft
           
if (vB_Editor[QR_EditorID].wysiwyg_mode)
           {
               
asSplit vbphrase['click_quick_reply_icon'].split('<br /><br />');
           }
           else
           {
               
asSplit vbphrase['click_quick_reply_icon'].split('\n\n');
           }            
           
asSplit[0] = '';
           
vbphrase['click_quick_reply_icon'] = asSplit.join('');
           
vB_Editor[QR_EditorID].enable_editor(vbphrase['click_quick_reply_icon']);
        } 
    
// vB Drafts 



Template edits
You should not have to make any template edits, the modification will do it for you. But if you find that the draft button or other aspects of the modification are not showing up correctly, it means you'll have to perform some or all of the template edits manually. They are described below.

In SHOWTHREAD
FIND:
Code:
id="qr_submit" onclick="clickedelm = this.value" />
REPLACE WITH:
Code:
id="qr_submit" onclick="clickedelm = this.value" /> <input onclick="draftsave();" type="button" class="button" name="draft" value="$vbphrase[draft_save_as_draft]" accesskey="d" tabindex="1" />
FIND:
Code:
id="qr_preview" onclick="clickedelm = this.value" />
REPLACE WITH:
Code:
id="qr_preview" onclick="clickedelm = this.value" /> <div id="draft_saving" style="display:none;margin-top:$stylevar[cellpadding]px;"><img id="draft_saving_img" src="$stylevar[imgdir_misc]/progress.gif" class="inlineimg" border="0" alt="" /> <strong>$vbphrase[draft_saving_draft_please_wait]</strong></div>


In newreply
FIND:
Code:
value="$vbphrase[submit_reply]" accesskey="s" tabindex="1" />
REPLACE WITH:
Code:
value="$vbphrase[submit_reply]" accesskey="s" tabindex="1" /> <input onclick="draftsave();" type="button" class="button" name="draft" value="$vbphrase[draft_save_as_draft]" accesskey="d" tabindex="1" />
FIND:
Code:
value="$vbphrase[preview_post]" accesskey="r" tabindex="1" />
REPLACE WITH:
Code:
value="$vbphrase[preview_post]" accesskey="r" tabindex="1" /> <div id="draft_saving" style="display:none;margin-top:$stylevar[cellpadding]px;"><img id="draft_saving_img" src="$stylevar[imgdir_misc]/progress.gif" class="inlineimg" border="0" alt="" /> <strong>$vbphrase[draft_saving_draft_please_wait]</strong></div>



In newthread
FIND:
Code:
value="$vbphrase[submit_new_thread]" accesskey="s" tabindex="1" />
REPLACE WITH:
Code:
value="$vbphrase[submit_new_thread]" accesskey="s" tabindex="1" /> <input onclick="draftsave();" type="button" class="button" name="draft" value="$vbphrase[draft_save_as_draft]" accesskey="d" tabindex="1" />
FIND:
Code:
value="$vbphrase[preview_post]" accesskey="r" tabindex="1" />
REPLACE WITH:
Code:
value="$vbphrase[preview_post]" accesskey="r" tabindex="1" /> <div id="draft_saving" style="display:none;margin-top:$stylevar[cellpadding]px;"><img id="draft_saving_img" src="$stylevar[imgdir_misc]/progress.gif" class="inlineimg" border="0" alt="" /> <strong>$vbphrase[draft_saving_draft_please_wait]</strong></div>



In pm_newpm
FIND:
Code:
value="$vbphrase[submit_message]" accesskey="s" tabindex="1" />
REPLACE WITH:
Code:
value="$vbphrase[submit_message]" accesskey="s" tabindex="1" /> <input onclick="draftsave();" type="button" class="button" name="draft" value="$vbphrase[draft_save_as_draft]" accesskey="d" tabindex="1" />
FIND:
Code:
value="$vbphrase[preview_message]" accesskey="r" name="preview" tabindex="1" />
REPLACE WITH:
Code:
value="$vbphrase[preview_message]" accesskey="r" name="preview" tabindex="1" /> <div id="draft_saving" style="display:none;margin-top:$stylevar[cellpadding]px;"><img id="draft_saving_img" src="$stylevar[imgdir_misc]/progress.gif" class="inlineimg" border="0" alt="" /> <strong>$vbphrase[draft_saving_draft_please_wait]</strong></div>



In pm_showpm
FIND:
Code:
id="qr_submit" class="button" accesskey="s" tabindex="1" />
REPLACE WITH:
Code:
id="qr_submit" class="button" accesskey="s" tabindex="1" /> <input onclick="draftsave();" type="button" class="button" name="draft" value="$vbphrase[draft_save_as_draft]" accesskey="d" tabindex="1" />
FIND:
Code:
name="preview" class="button" accesskey="x" tabindex="1"  />
REPLACE WITH:
Code:
name="preview" class="button" accesskey="x" tabindex="1"  /> <div id="draft_saving" style="display:none;margin-top:$stylevar[cellpadding]px;"><img id="draft_saving_img" src="$stylevar[imgdir_misc]/progress.gif" class="inlineimg" border="0" alt="" /> <strong>$vbphrase[draft_saving_draft_please_wait]</strong></div>

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #12  
Old 02-27-2009, 03:20 PM
Andyrew Andyrew is offline
 
Join Date: Aug 2005
Location: UK
Posts: 250
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by RedTyger View Post
I need to know your post editor type and where the draft is being saved/restored, as well as the saved text itself or some that produces the same effect.
I just tried again and it's working fine now.

Tested in IE 8 Beta and Chrome. :up:
Reply With Quote
  #13  
Old 02-27-2009, 03:21 PM
Switch02 Switch02 is offline
 
Join Date: Nov 2006
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice and useful good work
Reply With Quote
  #14  
Old 02-27-2009, 03:35 PM
Andyrew Andyrew is offline
 
Join Date: Aug 2005
Location: UK
Posts: 250
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Don't know what's going on but now i'm getting code again back in the recalled messages,
and if i tick the box to delete draft after submit, the post gets submitted but i get this error.

Fatal error: Call to undefined method vB_Database::query_slave() in /xxxx/xxxxxxx/public_html/forums/global.php(400) : eval()'d
code on line 211

Using WYSIWYG editor
Reply With Quote
  #15  
Old 02-27-2009, 03:42 PM
RedTyger's Avatar
RedTyger RedTyger is offline
 
Join Date: Nov 2006
Location: UK
Posts: 1,310
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try it again with the product file attached to this post. Just upload and overwrite existing.
Reply With Quote
  #16  
Old 02-27-2009, 04:03 PM
Andyrew Andyrew is offline
 
Join Date: Aug 2005
Location: UK
Posts: 250
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by RedTyger View Post
Try it again with the product file attached to this post. Just upload and overwrite existing.
That fixed the error, no code been recalled in to posts so far but when a message is recalled all carriage returns are removed.

I used your text from your first post, looked ok to start with but when recalled it looks like this.
Reply With Quote
  #17  
Old 02-27-2009, 04:21 PM
Andyrew Andyrew is offline
 
Join Date: Aug 2005
Location: UK
Posts: 250
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Firefox still puts in code when recalled, see before and after pictures.
Reply With Quote
  #18  
Old 02-27-2009, 06:30 PM
Capper5016 Capper5016 is offline
 
Join Date: Sep 2006
Location: Las Vegas, NV
Posts: 128
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
The file edit is only necessary if you intend to use autosaving with Quick Reply.

In file clientscript/vbulletin_quick_reply.js:
FIND:
PHP Code:
vB_Editor[QR_EditorID].write_editor_contents("")

REPLACE WITH:
PHP Code:
// vB Drafts
// Old
// vB_Editor[QR_EditorID].write_editor_contents("")
// vB Drafts
However, in the installation instructions, you say the edit should be made if you want to use drafts with Quick Reply.

The code you say to replace is not in the clientscript/vbulletin_quick_reply.js file.

Reply With Quote
  #19  
Old 02-27-2009, 06:46 PM
drsli's Avatar
drsli drsli is offline
 
Join Date: Jan 2008
Location: Germany
Posts: 128
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I found it there.
Btw.: I can second the Firefox-issues. Anyway: I´m happy, that this great addon is maintained.
Reply With Quote
  #20  
Old 02-27-2009, 07:22 PM
Capper5016 Capper5016 is offline
 
Join Date: Sep 2006
Location: Las Vegas, NV
Posts: 128
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah, I found it....using the search feature in notepad doesnt work.


Ok, here are a couple of issues. If you put text in the "QUICK REPLY" and hit "POST QUICK REPLY":

Quote:
The following errors occurred with your submission:
  1. The message you have entered is too short. Please lengthen your message to at least 10 characters.
If you click "GO ADVANCED" the post preview is there, the text is in the box, and the mod works correctly.

If you click "SAVE DRAFT", the text is there and the mod works correctly.


Also, when you click "SAVE DRAFT", you see the "working icon" and SAVING DRAFT....PLEASE WAIT. The "working icon then disappears, but SAVING DRAFT....PLEASE WAIT stays there.
Reply With Quote
  #21  
Old 02-27-2009, 07:37 PM
RedTyger's Avatar
RedTyger RedTyger is offline
 
Join Date: Nov 2006
Location: UK
Posts: 1,310
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, I'm beginning to remember why I abandoned this one in the first place. I've fixed a couple more bugs and it's stable enough with the ordinary editor but I'm having terrible trouble getting it to work with WYSIWYG.

I'll get back to it after the weekend. Download has been removed and marked as Beta while I try to patch it up.
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:21 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07293 seconds
  • Memory Usage 2,344KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (20)bbcode_code
  • (4)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete