The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Whodownloaded_IP with Dates Details »» | |||||||||||||||||||||||||
Welcome to Mr Blunt's "Whodownloaded_IP" Series for vBulletin 3.5.2
This is FREE CODE AND CAN BE used, abused, and released as desired!! I only ask it REMAIN FREE - unless maybe you compensate me as well?? If any code looks familiar, I'm sorry and ASSURE YOU it's coincidence!! Paypal Donations are graciously accepted if you like this script. I'm just a broke amateur who enjoys writing free stuff (for now). Donations goto my - Help Rebuild My PC Fund. But the script is free if your broke too ... So enjoy it either way!! mr_blunt@sbcglobal.net Please email me for comments, questions, or anything else on your mind. Put the exact word "Whodownloaded" in subject to get by my spam filters! My nick "Mr Blunt" is also at www.vbulletin.org & www.vbulletin.com Support thread: https://vborg.vbsupport.ru/showthread.php?t=93167 IMPORTANT KEY NOTES: This script REQUIRES vBulletin 3.5.0 or above and was tested with vb 3.5.2 Failure to upload all files to server WILL PRODUCE DATABASE ERRORS. Install "Product" file as a "PRODUCT" ... not as a "PLUGIN" or "STYLE". Features of Whodownloaded_IP:
JUST IN CASE YOU HAVE ANY OF MY OLD vb3.0.x VERSIONS: Uninstall any "NON-IP" version before installing this. vBulletin PHP FILE: attachment.php -- (307 versions edited this) 3rd Party PHP FILE: whodownloaded.php vBulletin TEMPLATE: postbit_attachment vBulletin TEMPLATE: headinclude 3rd Party TEMPLATE: whodownloads 3rd Party TEMPLATE: whodownloadsbit 3rd Party TEMPLATE: whodownloads_error 3rd Party TEMPLATE: whodownloads_error_nop vBulletin DATABASE TABLE: user 3rd Party DATABASE FIELD: user.downloads
Test it and come back to the file's vbulletin.org forum support thread and CLICK INSTALL so I can alert you when this hack gets important updates. NO, I DO NOT SPAM!!! Alerts will only be sent AFTER major changes!! Whodownloaded_IP Uninstallation Procedures:
And the order of steps is important, so please be careful. Whodownloaded_IP Files To Upload:
File Name: product_blunts_whodl_ip.xml Product ID: blunts_whodl_ip Title: Whodownloaded_IP Version: 1.2.0 3rd Party PLUGIN: Whodownloaded IP - Enable Bitfields 3rd Party PLUGIN: Whodownloaded IP - Enable Viewing 3rd Party PLUGIN: Whodownloaded IP - Enable Logging 3rd Party MASTER PHRASES: 65 Phrases with 'blunts_whodl_' prefix 3rd Party MASTER TEMPLATE: blunts_whodownloaded_ip_main 3rd Party MASTER TEMPLATE: blunts_whodownloaded_ip_namebit 3rd Party MASTER TEMPLATE: blunts_whodownloaded_ip_datebit 3rd Party DATABASE TABLE: blunts_whodownloaded_ip 3rd Party DATABASE FIELD: blunts_whodownloaded_ip.whodownloaded_ipid 3rd Party DATABASE FIELD: blunts_whodownloaded_ip.userid 3rd Party DATABASE FIELD: blunts_whodownloaded_ip.username 3rd Party DATABASE FIELD: blunts_whodownloaded_ip.filename 3rd Party DATABASE FIELD: blunts_whodownloaded_ip.fileid 3rd Party DATABASE FIELD: blunts_whodownloaded_ip.ipaddress 3rd Party DATABASE FIELD: blunts_whodownloaded_ip.alt_ip 3rd Party DATABASE FIELD: blunts_whodownloaded_ip.dateline 3rd Party DATABASE FIELD: usergroup.bluntswhodlpermissions 3rd Party DATABASE FIELD: settinggroup.blunts_whodl 3rd Party DATABASE FIELD: settings.blunts_whodl_popisactive 3rd Party DATABASE FIELD: settings.blunts_whodl_poplarge 3rd Party DATABASE FIELD: settings.blunts_whodl_popsmall 3rd Party DATABASE FIELD: settings.blunts_whodl_logwhat Whodownloaded_IP Style File Contents: File Name: style_blunts_whodl_ip.xml OVERWRITES these 4 standard vBulletin templates: vBulletin Template: modifyattachmentsbit (November 1st, 2005) vBulletin Template: postbit_attachment (Aug 20th, 2005) vBulletin Template: postbit_attachmentmoderated (Aug 20th, 2005) vBulletin Template: postbit_attachmentthumbnail (Aug 20th, 2005) Use these manual template edit instructions if you use other hacks!! Template: modifyattachmentsbit FIND THIS: Code:
<div class="smallfont">$post[postdate] <if condition="!$show['detailedtime']"><span class="time">$post[posttime]</span></if></div> Code:
<if condition="$show['blunts_whodl_width']"><div class="smallfont"><input type="button" class="button" value="$vbphrase[blunts_whodl_who_downloaded]" tabindex="1" onclick="window.open('blunts_whodownloaded_ip.php?$session[sessionurl]fid=$post[attachmentid]','blunts_whodownloaded_ip','toolbar=no, scrollbars=yes, resizable=yes, width=$show[blunts_whodl_width], height=450, top=50, left=50'); return false;" title="$vbphrase[blunts_whodl_who_downloaded]: $post[attachmentid]" /></div></if> Template: postbit_attachmentmoderated FIND THE LAST: Code:
</tr> Code:
<td><if condition="$show['blunts_whodl_width']"><input type="button" class="button" value="$vbphrase[blunts_whodl_who_downloaded]" tabindex="1" onclick="window.open('blunts_whodownloaded_ip.php?$session[sessionurl]fid=$attachment[attachmentid]','blunts_whodownloaded_ip','toolbar=no, scrollbars=yes, resizable=yes, width=$show[blunts_whodl_width], height=450, top=50, left=50'); return false;" title="$vbphrase[blunts_whodl_who_downloaded]: $attachment[attachmentid]" /></if></td> FIND THE LAST: Code:
<if condition="$show['br']"><br /><br /></if> Code:
<if condition="$show['blunts_whodl_width']"> <if condition="is_browser('ie', '5.5')"> <input type="button" class="button" value="$vbphrase[blunts_whodl_who_downloaded]" tabindex="1" onclick="window.open('blunts_whodownloaded_ip.php?$session[sessionurl]fid=$attachment[attachmentid]','blunts_whodownloaded_ip','toolbar=no, scrollbars=yes, resizable=yes, width=$show[blunts_whodl_width], height=450, top=50, left=50'); return false;" title="$vbphrase[blunts_whodl_who_downloaded]: $attachment[attachmentid]" style="writing-mode:tb-rl" /> <else /> <a href="blunts_whodownloaded_ip.php?$session[sessionurl]fid=$attachment[attachmentid]"<if condition="$show['newwindow']"> target="_blank"</if>><img class="button" src="$stylevar[imgdir_attach]/blunts_whodl_vertical.bmp" alt="$vbphrase[blunts_whodl_who_downloaded]" border="1" title="$vbphrase[blunts_whodl_who_downloaded]: $attachment[attachmentid]" /></a> </if> </if> v-1.0.0 - July 29th, 2005:
mr_blunt@sbcglobal.net Supporters / CoAuthors Show Your Support
|
Comments |
#22
|
|||
|
|||
Quote:
|
#23
|
|||
|
|||
Quote:
vb2 hacks won't work with vb3. vb3 hacks won't work with vb350. Whodownloaded_IP is strictly a vb350 hack. So if you have Commish's old vb2 hack installed, you'd have to get rid of any edits before the upgrade to EITHER vb3 or vb350 ... meaning clean vb files and reverting your old templates. If you move into vb3.0.8 then you'll have to settle for my super old vb3 hack. If you move into vb3.5.0 then you have the option of using either of my vb350 whodownloaded hacks (with IP or without), but note that if you choose the OTHER non IP version, then you still aren't saving dates which is "somewhat dumb" if you plan to use this IP version in the future. Now note: Files and templates are not "database data". The "data" that was saved with each download won't get touched while you do the vb upgrade and will remain stored in the database. The only thing that changes when you upgrade vB is it will stop logging downloads from that day forward (until you install a hack for that version) and there won't be a way to view the saved data since your templates and files won't have the "hack" to process the data. So summary.... New IP hack can be installed on vb350 at any time no matter if you've got old data sitting around or not ... because new IP hack is independent. We just won't add to the old column anymore. The old data won't be "viewable today"!!! Soon it will be viewable ... as if it was never missing. Let it sit where it is in the database and "I'll import it" when I make the proper install script. Once it's imported, then it will magically be "viewable again". The imported data will be easy to spot because there will be a date from 1969 (since old hack didn't track dateline). Feel free to install this the same day you upgrade to vb350!! LAST NOTE: This is still beta so I do NOT suggest installing it on a live forum just yet. I'm not saying "you can't", because you can. If you do, just make darn sure you "CLICK INSTALL" on this thread so you will get a notice when I make a major change to this .... and do not overlook changes I make ... until such time as I remove the "beta checkmark" at the top of the thread. I have a long agenda (you saw the todo list). I've already dropped a month of my life into this. And I expect at least one more month before I finish that list!! There's still no major flaws that I know of, so that's a plus, LOL. |
#24
|
|||
|
|||
Quote:
|
#25
|
|||
|
|||
I'm on it...
How stupid of me to think you couldn't use a quote in name. What would the irish do, LOL. I think $myvar = addslashes($vbulletin->userinfo['username']) should fix it. I tested it on my forum yesterday and it seems to work fine. Can anyone with experience verify that this is all I need to do?? And then I just stripslashes() after reading from DB? What I don't understand is why I don't physically see the slashes in my database fields. I just see the exact text name in the db. Is this normal? |
#26
|
|||
|
|||
Addslashes is depreciated in 3.5, please use $vbulletin->db->escape_string instead.
And you will only see something different in the database if you use a special character like a quote. |
#27
|
|||
|
|||
Quote:
I really appreciate you following me around and helping me out. I looked at that function and see it used "during" the db connection. Does this imply that there's no "special handling" needed for after a db read? Also while searching vb's code, I notice escape_string() is used for IPADDRESS in places, so I suppose I should do this for 4 of my 6 insertion variables (username, filename, ipaddress, & alt_ip)?? I'm so close with this thing .... For the past few days I've been learning how to JOIN LEFT, ROFLMAO. So that is knocking off a couple queries for me now. I'm getting there.... |
#28
|
|||
|
|||
Basicly you should sanitize all 'untrusted' (ie provided by outside sources like user input) variables used in queries.
|
#29
|
|||
|
|||
<font size="4">I just posted a new version (v105)!!
This is a crtical update!! To anyone who had issues - I'M SORRY!!</font> I also rewrote many parts of the top post so might I suggest re-reading it please. The v105 zip file's readme is the same as the post (as of this writing) so pick one to read. Sometimes I think I spend more time writing the readme's than I do the researching and writing code, LOL, but it's for YOUR own good .... not mine!! Please see the version history for full list of changes. The really critical update is for the ENABLE LOGGING plugin. Boofo, New screen shots are posted!! C.Birch and MarcoH64, Thanks guys for pointing out why and how to better clean things like usernames before trying to write them into the database!! If someone can double check me, I think I have all the bases covered now ... as far as db writes go anyways. I now clean all the non numeric numbers (hope that's sufficient, if not, could someone please say so??). C.Birch, Sorry it took me a few days before posting a fix, but I didn't want to post a patch when major release with many changes was so close to being ready. Laycomp, Now that I'm feeling good about this version ... Here's my short answer!! No better time than the present to install this. The longer you wait, the less data you'll have to retrieve about those downloads later on. I PROMISE that soon I will figure out how to automate the process with a product update and your old saved data will reappear like it was never gone. Think of the old saved data as simply "not available today, but will be soon". |
#30
|
|||
|
|||
Thank you very much for the new Release.
Great Great Great Mr.Blunt !!!! |
#31
|
||||
|
||||
Quote:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|