Go Back   vb.org Archive > vBulletin Modifications > vBulletin 3.8 Modifications > vBulletin 3.8 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
iQuote vB3 - Fast & Easy Text Quoting Details »»
iQuote vB3 - Fast & Easy Text Quoting
Version: 1.10, by MoMan MoMan is offline
Developer Last Online: Oct 2022 Show Printable Version Email this Page

Category: Show Thread Enhancements - Version: 3.8.x Rating:
Released: 09-13-2010 Last Update: 03-24-2011 Installs: 46
Uses Plugins Auto-Templates
Re-useable Code Additional Files  
No support by the author.

New version (1.1) released 3/23/2011: added support for social groups.

This is a vBulletin 3 implementation of the following mod: https://vborg.vbsupport.ru/showthread.php?t=248504

It allows users to quickly quote selected parts of a post inline. Simply highlight some text, and the quote option will appear. As of v1.1, social groups are also supported, but the quoting will only work properly if you have this template mod installed.

On my board, this is one of my users' favorite features!

Note: this requires quick reply to be on and your showthread template must have the $template_hook['showthread_after_activeusers'] hook! To check if the mod is working, view the page of any showthread page and search for 'iquote'. If there are no matches, then the template hook isn't there.

Installation instructions are provided in the zip. Enjoy!

Download Now

File Type: zip iQuote_vB3.zip (34.1 KB, 237 views)
File Type: zip iQuote_vB3_v11.zip (33.0 KB, 192 views)

Screenshots

File Type: gif qq.gif (4.8 KB, 0 views)

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
5 благодарности(ей) от:
karabaja3, magic77, vijayninel, xorex

Comments
  #52  
Old 08-17-2011, 11:19 AM
imedic's Avatar
imedic imedic is offline
 
Join Date: Mar 2008
Location: Romania
Posts: 178
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Many thanks for suggestion. I have made the modification and minified the file. Only uploading the file (minified) from the previous version over last version worked.

For who is lazy and want the file already edited so after citation page to be repositioned over the quick reply box can use attached file.

Best regards and thank you for a great great mod. It should be developed further to be able to quote that text in a PM / email or maybe even in social media.
Nice way to interact with content.
I will keep an eye here and vote all stars and nominate it too. This should be standard in vb

NOTE: Dont forget to change extension of saved file to .js (I cant upload js file to vb)!
Attached Files
File Type: txt rcd_iquote.txt (3.9 KB, 12 views)
Reply With Quote
  #53  
Old 08-21-2011, 02:30 PM
cclaerhout's Avatar
cclaerhout cclaerhout is offline
 
Join Date: Aug 2004
Location: Paris (France)
Posts: 448
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The members of "my" forum LOVE that addon. They also wanted to have this function in the 'newreply' page with the Advanced Editor. Fortunately the Javascript file was greatly documented. It took me hours, but I've succeed to do it

Thanks again Imedic to convert this hack to vB 3 !


P.S :
  • This mod uses what I called a "minimalist design". I didn't want a big menu to display.
  • To make it work with the "newreply' page, your template 'newreply_reviewbit' must not have been edited, which shouldn't be a problem.
Attached Files
File Type: zip iQuote_vB3 (mod minimalist & newreply).zip (42.8 KB, 15 views)
Reply With Quote
Благодарность от:
mk craig 42
  #54  
Old 09-02-2011, 11:21 AM
MoMan MoMan is offline
 
Join Date: Oct 2005
Location: USA
Posts: 301
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

FYI version 1.1 in the original post supports social groups, but I've lost the non-minified file and will have to go looking for it.

I'd very much like to add the functionality for PMs as well.
Reply With Quote
  #55  
Old 09-13-2011, 05:39 PM
Konstantinos Konstantinos is offline
 
Join Date: Apr 2006
Posts: 443
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

it works well but in chrome when u click the instant quote while the quoted text enters into quick reply the popup stays there and doesnt vanish

edit. it also quotes singatures and if someone has quoted someone else in a post and u quote the quoted text it inserts the quote username wrong
Reply With Quote
  #56  
Old 02-13-2012, 03:45 AM
mk craig 42 mk craig 42 is offline
 
Join Date: Feb 2009
Location: Bedford
Posts: 132
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Everything works great however, it doesn't display the name
for example, it does this when I click it:

HTML Code:
[quote]=;2333]This is my quoted text[/quote]
As opposed to this:
HTML Code:
[quote=Craig;2333]This is my quoted text[/quote]
Any ideas? Here is my js file:

PHP Code:
var iQuote={selected_post_number:0,selected_text:"",context_menu:null,init:function(a){var b=fetch_object(a);if(!b){return}var c=fetch_tags(b,"td");for(var d=0;d<c.length;d++){if(!c[d].id||-1===c[d].id.indexOf("td_post_")){continue}var e=c[d].id;var f=e.substr(e.lastIndexOf("_")+1);YAHOO.util.Event.on(e,"mouseup",iQuote.selectionEnd,f);YAHOO.util.Event.on(e,"mousedown",iQuote.selectionStart,f)}iQuote.context_menu=new YAHOO.widget.Menu("iquote_popup_menu",{clicktohide:false});iQuote.context_menu.render(document.body)},selectionStart:function(a,b){var c=window.event||a;var d=!YAHOO.env.ua.ie&&c.button==0||YAHOO.env.ua.ie&&c.button==1;if(d){if(window.getSelection){window.getSelection().removeAllRanges()}else if(document.selection){document.selection.empty()}}if(iQuote.context_menu){iQuote.hide_menu()}iQuote.selected_post_number=b},selectionEnd:function(a,b){var c=window.event||a;var d=!YAHOO.env.ua.ie&&c.button==0||YAHOO.env.ua.ie&&c.button==1;if(!d){return}if(iQuote.selected_post_number&&iQuote.selected_post_number==b){iQuote.selected_text=iQuote.getSelectedText();if(""!==iQuote.selected_text){var e=YAHOO.util.Event.getXY(a);e[0]=e[0]+7;e[1]=e[1]-35;iQuote.context_menu.cfg.setProperty("xy",e);if(!YAHOO.env.ua.ie){var f=function(a){var b=document.createRange();b.setStart(a.anchorNode,a.anchorOffset);b.setEnd(a.focusNode,a.focusOffset);window.getSelection().addRange(b)};var g=function(a,b,c){f(c);iQuote.context_menu.unsubscribe("blur",g)};var h=function(a,b,c){iQuote.context_menu.subscribe("blur",g,c);iQuote.context_menu.blur();iQuote.context_menu.unsubscribe("focus",h)};if(window.getSelection){var i=window.getSelection().getRangeAt(0);var j={anchorNode:i.startContainer,anchorOffset:i.startOffset,focusNode:i.endContainer,focusOffset:i.endOffset};iQuote.context_menu.subscribe("focus",h,j)}}iQuote.context_menu.show();var k=function(a){iQuote.hide_menu();return true};YAHOO.util.Event.on(document,"keydown",k);YAHOO.util.Event.on(document,"contextmenu",k)}}else{iQuote.selected_text="";iQuote.selected_post_number=0}},getSelectedText:function(){if(window.getSelection){return window.getSelection().toString()}if(document.getSelection){return document.getSelection()}if(document.selection&&document.selection.createRange){return document.selection.createRange().text}return""},quote_text:function(){if(!iQuote.selected_post_number||!iQuote.selected_text){return false}var a=iQuote.getScrollXY();iQuote.qr_activate(iQuote.selected_post_number);var b=iQuote.getPosterName(iQuote.selected_post_number);var c=vB_Editor[QR_EditorID].wysiwyg_mode?"<br /><br />":"\r\n\r\n";vB_Editor[QR_EditorID].insert_text("[quote="+b+";"+iQuote.selected_post_number+"]"+iQuote.selected_text+"[/quote]"+c,false);iQuote.selected_post_number=0;iQuote.selected_text="";iQuote.hide_menu();window.location.hash="qrform";return false},qr_activate:function(a){var b=fetch_object("collapseobj_quickreply");if(b&&b.style.display=="none"){toggle_collapse("quickreply")}},getPosterName:function(a){var b=document.getElementById("postmenu_"+a);var c=YAHOO.util.Dom.getElementsByClassName("bigusername","a",b)[0];c=c.text||c.textContent||c.innerText||c.innerHTML.replace(/<[^>]+>/g,"");return PHP.htmlspecialchars(c)},hide_menu:function(){var a=iQuote.context_menu.srcElement.cloneNode(true);a.id="iquote_popup_menu";iQuote.context_menu.destroy();iQuote.context_menu=new YAHOO.widget.Menu(a,{clicktohide:false});iQuote.context_menu.render(document.body)},getScrollXY:function(){var a=0,b=0;if(typeof window.pageYOffset=="number"){b=window.pageYOffset;a=window.pageXOffset}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){b=document.body.scrollTop;a=document.body.scrollLeft}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){b=document.documentElement.scrollTop;a=document.documentElement.scrollLeft}if(typeof window.pageYOffset!="number"&&!document.body&&!document.documentElement){return false}return[a,b]}} 
Reply With Quote
  #57  
Old 02-13-2012, 11:19 AM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I would check your postbit or postbit_legacy template- actually try it on a complete default style and see if you have the same problem or not.
Reply With Quote
Благодарность от:
mk craig 42
  #58  
Old 02-13-2012, 02:36 PM
mk craig 42 mk craig 42 is offline
 
Join Date: Feb 2009
Location: Bedford
Posts: 132
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
I would check your postbit or postbit_legacy template- actually try it on a complete default style and see if you have the same problem or not.
Thanks for your reply BirdOPrey5, I found the problem, but I don't know how to fix it!

It's because I have Username Images installed, so I was testing this on myself, where I have a username image & it's not fetching my username.. I logged on today and tried on someone who doesn't have a username image, and it worked perfectly...

Any ideas of a fix to that, here is that section on my postbit_legacy

PHP Code:
<!-- User Name Images by World Domination -->
<
div id="postmenu_$post[postid]">
                    <if 
condition="$show['profile']">
                    <
class="bigusername" href="member.php?$session[sessionurl]u=$post[userid]"><if condition="$post['field5']"><img src="$post[field5]max-width="170" max-height="30" border="0"/></a> <else />$post[musername]</a></if><script type="text/javascript"vbmenu_register("postmenu_$post[postid]"true); </script><else />$post[musername]</if>$threadauthor</div></center

       <
center><if condition="$post['usertitle']"><div class="smallfont">$post[usertitle]</div></if></center
Reply With Quote
  #59  
Old 02-14-2012, 01:34 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't know if it would work but I'd try this...

change this code:
Code:
<if condition="$post['field5']"><img src="$post[field5]" max-width="170" max-height="30" border="0"/></a> <else />$post[musername]</a></if>
to this:
Code:
<if condition="$post['field5']"><img src="$post[field5]" max-width="170" max-height="30" border="0"/><span style="display:none;">$post[musername]</span></a><else />$post[musername]</a></if>
I'm not sure it will help or not- it will at least create the username but it will be invisible.
Reply With Quote
  #60  
Old 02-14-2012, 11:11 PM
mk craig 42 mk craig 42 is offline
 
Join Date: Feb 2009
Location: Bedford
Posts: 132
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
I don't know if it would work but I'd try this...

change this code:
Code:
<if condition="$post['field5']"><img src="$post[field5]" max-width="170" max-height="30" border="0"/></a> <else />$post[musername]</a></if>
to this:
Code:
<if condition="$post['field5']"><img src="$post[field5]" max-width="170" max-height="30" border="0"/><span style="display:none;">$post[musername]</span></a><else />$post[musername]</a></if>
I'm not sure it will help or not- it will at least create the username but it will be invisible.
You genius! I never even thought to do something like that! Worked like a charm, thanks so much
Reply With Quote
Благодарность от:
BirdOPrey5
  #61  
Old 05-24-2015, 09:40 PM
karabaja3's Avatar
karabaja3 karabaja3 is offline
 
Join Date: Jan 2008
Posts: 143
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does anyone know how to disable usage in the latest post?
Reply With Quote
Reply


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 08:41 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06930 seconds
  • Memory Usage 2,449KB
  • Queries Executed 29 (?)
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
  • (4)bbcode_code
  • (2)bbcode_html
  • (2)bbcode_php
  • (2)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
  • (2)pagenav_pagelink
  • (11)post_thanks_box
  • (7)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (5)postbit_attachment
  • (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_postinfo_query
  • fetch_postinfo
  • 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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete