vBulletin Mods

The Official vBulletin Modifications Site
https://www.vbulletin.org/forum/showthread.php?t=220193

MySmilies vB (v3.8.0)
by Eric
04 Aug 2009 22:46

3 Attachment(s)
Please click Mark as Installed if you are using this hack, and Nominate For MOTM or Support Developer if you enjoy this hack and would like to support it's development.
.

Please read the entire thread before posting your problem, chances are it's been fixed.

Those who have "Mark As Installed" will receive priority support



NOTE: I have marked this hack as Re-usable Code - This means that code from this hack may be used in other hacks, which can ONLY be released on official vB sites that use Jelsoft's verification system to verify your vBulletin license status, and as long as Kentaurus, Mosh, and I (SecondV) are credited in your hack.

This is a port of Mosh's MySmilies VB for v3.7.x to work with vBulletin v3.8.0.
Mosh's was a port of Kentaurus's MySmilies VB for v3.6.x (version 1.03) to work with vBulletin v3.7.0.



vBulletin Version Compatibility & Permission Info

This hack was tested on vB 3.8.x - but it should work on vB 3.7.0 and later.

Permission for me to port his hack is granted here:
Quote:

Info for hackers:
You may modify, improve, upgrade, redistribute this hack, include it
in another hack or yours or translate it provided you do it free of
charge and you distribute it in www.vbulletin.org at least, there is no
need to pm me asking for permission
Some portions of the code are (c) Jelsoft Enterprises Ltd.
And here:
Quote:

NOTE: I have marked this hack as Re-usable Code - This means that code from this hack may be used in other hacks, which can ONLY be released on official vB sites that use Jelsoft's verification system to verify your vBulletin license status, and as long as Kentaurus and I are credited in your hack.


What Does This Hack Do?

This hack puts the control of the smilies on the users. It lets any user (that you give permission to) upload or modify the smilies that he can use.

These are not the smilies that vb uses, these are user-customized smilies. The smilies that you already have in place are preserved and are still used. But users may upload their own smilies for their use, and they are kept separate from the standard forum smilies.

For users:
  • Users can keep a library of their own smilies (they can upload them from their computer or web)
  • Users enter their replacement text, for example, :iamhappy: would be changed to their own user happy smilie
  • The custom smilies are parsed in any post, signature, or pm
  • If they have enabled the WYSIWYG editor, smilies are shown there

For administrators:
  • Usergroup control of who may upload custom smilies
  • Usergroup control of the size (width, height, size in bytes) of the smilie
  • Smilie quota, both for max number of smilies and max number of bytes or hard disk space
  • The administrator can choose where to save the smilies (the directory, default: mysmiliesvb)
  • Auto-template Injection - if the appropriate template hooks are available, you will not need to make any template edits at all, if edits needed you only need to paste a single variable where you need it



Installation Instructions

See the included Installation Instructions.txt file in the sv_mysmiliesvb.zip zip file.

ADDITIONAL NOTE:
A limitation exists with the fix that rectifies the problem of attachments showing when also posting them inline within the same post; when applied, all attachments will need to be displayed inline, if they have not been, then the ones that have not been posted inline will be hidden along with the ones that have been posted inline. Read Post #106 for more information on this. -- I'm working on this




Uninstall Instructions
  1. Delete mysmiliesvb.php from your forum's root directory.
  2. Delete the mysmiliesvb directory from your forum's root directory.
  3. Delete class_dm_mysmiliesvb.php from your forum's /includes directory.
  4. Delete bitfield_mysmiliesvb.xml from your forum's /includes/xml directory.
  5. Delete delete.gif from your forum's /images/misc directory (if more than one style remember to delete it from all misc directories).
  6. Optional Step: This step is only if the auto template injection does not work, and you did the optional template edits.

    In the USERCP_SHELL template, find and delete:

    Block Disabled:      (Update License Status)  
    Suspended or Unlicensed Members Cannot View Code.

    In the navbar template, find and delete:

    Block Disabled:      (Update License Status)  
    Suspended or Unlicensed Members Cannot View Code.

  7. Uninstall the product in vB using the AdminCP Product Manager.



To Do List

Features are being done in the order that they appear on the list.
  1. Admin Control Panel utility to view/delete one, some or all custom smilies
  2. Add custom user smilies to the misc.php?do=showsmilies page and to the "More Smilies" popup.



Version History
v3.8.005 - June 23rd, 2011
-- Fixed: "Warning: Invalid argument supplied for foreach()" errors.
-- Changed: how the smilie datastore cache is generated/accessed.
-- Added: Option to pull all user smilies for the editor or just the current user id's smilies.

v3.8.004 - January 15th, 2010
-- Changed: query() calls were being used instead of query_read()
-- Changed: Smilies are now built and added to datastore cache
-- Changed: Since smilies are stored in the datastore, smilies are no longer queried/parsed by userid.
-- Fixed: Custom smilies not parsed when quoted by other users.
-- Added: /includes/functions_mysmiliesvb.php - build_mysmilies_datastore() function.

v3.8.003 - August 5th, 2009
-- Fixed: Ok, should finally be fixed on upgrade - no more parse errors.
-- Fixed: Those upgrading from Mosh's version should be fine now.

v3.8.002 - August 4th, 2009
-- Fixed: errors when upgrading from previous versions of MySMilies should be fixed.

v3.8.001 - August 4th, 2009
-- Initial v3.8.0 release - mod taken over by Eric Sizemore (SecondV)
-- Fixed: standard_error calls were not using eval() as they should be
-- Fixed: Some queries were not using TABLE_PREFIX
-- Fixed: Even though phrases were in place, some parts of the mod used hardcoded langauge strings.
-- Fixed: Some errors in templates, missing ending tags, etc.
-- Fixed: Upload - the upload source didn't appear to be detected properly.
-- Changed: "maxversion" in the product XML increased.
-- Changed: "hard delete" option no longer on by default.
-- Changed: The "mysmiliesvb" table was altered to have KEY's on the "userid" and "dateline" columns. Hopefully this will increase performance/smilie lookups.



Thanks

My thanks go out to Kentaurus (who originally created this fantastic hack), Mosh who updated the hack to v3.7, and Paul M who gave permission to use some of his install code.



Show Your Appreciation

Although not required, if you have enjoyed the benefits of this hack, and would like to show your appreciation for my efforts, then please feel free to click on the Support Developer link and donate any amount you feel is appropriate. This would go a long way in encouraging me to continue to develop this project, as I'm currently unemployed.

----

Because of the limitations on screenshots in place by vBulletin.org (can only upload 10) - you can view the screenshots here:

... coming again soon ...

Eric 04 Aug 2009 22:48

reserved...

Hostboard 04 Aug 2009 23:01

First install...w00t...

Been running the older version and seem to be ok. Will be upgrading tonight to this one since it officialy is released for 3.8 Are there directions on how to upgrade?

Thank you

Eric 04 Aug 2009 23:16

Really, just follow the normal install instructions - but when you import the product XML - just set it to Allow Overwrite.

am-fs 04 Aug 2009 23:48

Will this verison work with MGC Chatbox Evo?
http://www.vbulletin.org/forum/showthread.php?t=168992

Error on Upgrade

Database error in vBulletin 3.8.1:

Invalid SQL:
ALTER TABLE usergroup ADD mysmiliesvb_permissions INT DEFAULT 1 NOT NULL;

MySQL Error : Duplicate column name 'mysmiliesvb_permissions'
Error Number : 1060
Request Date : Tuesday, August 4th 2009 @ 05:51:18 PM
Error Date : Tuesday, August 4th 2009 @ 05:51:18 PM
Script : http://localhost/forum/admincp/plugi...=productimport
Referrer : http://localhost/forum/admincp/plugin.php?do=productadd
IP Address : 127.0.0.1
Username : am-fs
Classname : vB_Database
MySQL Version : 5.1.30-community

goxy63 05 Aug 2009 00:35

This is great
Thanks a lot

Hope it will work with my other mods

Small question, smiley shortcuts created by user will be good only for him of course, and as usual all generic smileys will keep their shortcuts?
User will be refused to use reserved generic shortcuts?

Cheers

Eric 05 Aug 2009 00:39

Looking into this error - as far as MGC Chatbox, honestly I'm not sure if it will or not.

Quote:

Originally Posted by am-fs (Post 1861468)
Will this verison work with MGC Chatbox Evo?
http://www.vbulletin.org/forum/showthread.php?t=168992

Error on Upgrade

Database error in vBulletin 3.8.1:

Invalid SQL:
ALTER TABLE usergroup ADD mysmiliesvb_permissions INT DEFAULT 1 NOT NULL;

MySQL Error : Duplicate column name 'mysmiliesvb_permissions'
Error Number : 1060
Request Date : Tuesday, August 4th 2009 @ 05:51:18 PM
Error Date : Tuesday, August 4th 2009 @ 05:51:18 PM
Script : http://localhost/forum/admincp/plugi...=productimport
Referrer : http://localhost/forum/admincp/plugin.php?do=productadd
IP Address : 127.0.0.1
Username : am-fs
Classname : vB_Database
MySQL Version : 5.1.30-community

yes, yes
Quote:

Originally Posted by goxy63 (Post 1861496)
This is great
Thanks a lot

Hope it will work with my other mods

Small question, smiley shortcuts created by user will be good only for him of course, and as usual all generic smileys will keep their shortcuts?
User will be refused to use reserved generic shortcuts?

Cheers


Eric 05 Aug 2009 01:11

v3.8.002 - August 4th, 2009
-- Fixed: errors when upgrading from previous versions of MySMilies should be fixed.

alfaowner 05 Aug 2009 01:50

Will this show custom smilies on blogs and other addons? The old version didnt.

trotskid 05 Aug 2009 09:05

Thansk for the update!

It's necessary to full uninstall the old version or just import the product?

Eric 05 Aug 2009 10:18

Quote:

Originally Posted by alfaowner (Post 1861520)
Will this show custom smilies on blogs and other addons? The old version didnt.

It should show the smilies for anything that uses the bbcode parser and the editor (either standard or wysiwyg) - I do not have the Blog product, so I can't confirm that for you.

Quote:

Originally Posted by trotskid (Post 1861673)
Thansk for the update!

It's necessary to full uninstall the old version or just import the product?

Re-upload the files, and re-import the product with "Allow Overwrite" set to yes, and that should take care of it. There are no major changes as far as the database table for MySmilies - everything should be fine. :)

But, if you're a 'safety freak' like I am, hehe, make a backup of your current MySmilies database table, and files before doing so.

Oblivion Knight 05 Aug 2009 11:22

I get a parse error on both the install and uninstall of this product..

Parse error: syntax error, unexpected '{' in /xxx/xxx/xxx/forums/admincp/plugin.php(1575) : eval()'d code on line 11

Eric 05 Aug 2009 11:38

Quote:

Originally Posted by Oblivion Knight (Post 1861730)
I get a parse error on both the install and uninstall of this product..

Parse error: syntax error, unexpected '{' in /xxx/xxx/xxx/forums/admincp/plugin.php(1575) : eval()'d code on line 11

Ahh, can't believe I missed that -- download the new zip file, re-import the product file with Allow Overwrite = yes - and you shouldn't get this errors.

trotskid 05 Aug 2009 11:39

Quote:

Originally Posted by SecondV (Post 1861702)
Re-upload the files, and re-import the product with "Allow Overwrite" set to yes, and that should take care of it. There are no major changes as far as the database table for MySmilies - everything should be fine. :)

Thanks, but when I configure the usergroups appears a MySQL error:


MySQL Error : Unknown column 'mysmiliesvb_permissions' in 'field list'
Error Number : 1054


Also when re-import the product appears two MySmiles on the Installed products list because the previous version (3.7.005) has another filename (ms_mysmiliesvb.xml).

v3.8.3

Eric 05 Aug 2009 11:44

Quote:

Originally Posted by trotskid (Post 1861739)
Thanks, but when I configure the usergrups appears a MySQL error:


MySQL Error : Unknown column 'mysmiliesvb_permissions' in 'field list'
Error Number : 1054


Also when re-import the product appears two MySmiles on the Installed products list because the previous version (3.7.005) has another filename (ms_mysmiliesvb.xml).

v3.8.3

Hmm. Try disabling (don't uninstall it!) the one with 'ms_mysmiliesvb' - then re-import mine with allow overwrite.


All times are GMT. The time now is 20:23.

Powered by vBulletin® Version 3.8.14
Copyright © 2020, MH Sub I, LLC dba vBulletin. All Rights Reserved. vBulletin® is a registered trademark of MH Sub I, LLC
Copyright ©2001 - , vbulletin.org. All rights reserved.