Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
The Itemshop v5 (Original) Details »»
The Itemshop v5 (Original)
Version: 1.00, by Vivi Ornitier Vivi Ornitier is offline
Developer Last Online: Mar 2008 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 04-29-2002 Last Update: Never Installs: 102
 
No support by the author.

Again, I'm posting this for a friend. He is the original itemshop creator. (see this thread):

Let's start with the beginning. You may wonder why this thread has the word original in its name. Well, there are too many itemshops out there. So here's a short version of the itemshop history:
  1. First of all, afterlab had the idea of an itemshop, which he also did, but it was pure text. People would have to talk to him to buy items, and he would have to manually substract the points.
  2. Then, as a member of ffr, i started talking about how easy and convenient it would be to have an automated itemshop. People just click on the link, and the item is added, points substracted. Later that day, i did the very first version of the itemshop. Nothing big, just a buy function. The items were stored in an array.
  3. I had released my itemshop on vb.org and afterlab was pretty unsatisfied that i hadn't given him any credit for the original idea. Actually i didn't even consider the itemshop a hack, it was more of a joke, something i had made for fun. I had no idea it would become so popular.
  4. 2 days later, version 4: This one had error pages, improved buy and sell function. I was planning a database powered itemshop, with admin cp interface.
  5. afterlab then pretty much copied my code 3 times, and released his first version "with item categories". It felt pretty unfair, while i was struggling to do something way more advanced, he was getting all the credit for something that was still 85% mine.
  6. then my computer broke, just as I was working on the admin cp of my database version. I was also planning to do the battle system hack.
  7. in the meantime, about one week later, afterlab released his itemshop 3 i think, database powered.
  8. couple of weeks later afterlab started all the battle system stuff.
  9. about 2 months after my computer crashed, it got finally fixed, and i began to work to complete my own itemshop.
  10. So well, here it is.
nice story, isn't it?

here's a quick list of features:

Database driven
Full Template Set (everything that is outputted is generted through templates)
Infinite items categories and items
Items and category descriptions
Stock (idea by Crono)
Detailed items/categories/shops stats (number of sold items, profit)
All the item and category adding/editing/deleting and option editing is done through the cp.
Special icon column for different item display possibilities
!!!! Personal Shops !!! (members can create their own shops and sell items. You can specify how much it costs through the cp. while each category has it's own slot, all the personal shops work under one slot. That means, you can only have one item from all the personal shops)
An own donation system included

what it adds:

The itemshop adds 4 tables to the vbulletin database:
  • [items] - This is where all the items are stored
  • [items_cats] - This is where all the categories are stored
  • [items_options] - This is where the configuration data is stored
  • [items_user] - This is where all the user stuff and items he bought, are stored

26 templates to the main template set:
  • itemshop
  • itemshop_buypers
  • itemshop_delpers
  • itemshop_donate
  • itemshop_donate-error
  • itemshop_donate-more
  • itemshop_donate-self
  • itemshop_donate-thanks
  • itemshop_error-nosell
  • itemshop_error-noshop
  • itemshop_info
  • itemshop_its
  • itemshop_itsbits
  • itemshop_own
  • itemshop_pers
  • itemshop_persform
  • itemshop_personal
  • itemshop_pheader
  • itemshop_redir-del
  • itemshop_redir-edit
  • itemshop_redir-sell
  • itemshop_redir-thanks
  • itemshop_tablebottom
  • itemshop_tablemiddle
  • itemshop_tabletop
  • itemshop_view
Like i said, anything there is to edit can be edited through templates

File and Template Modifications:
there are 4 file modifications, but only one of them is neccessary.
and one template modification: postbit, wherever you want the donation link to be.
important!!!!: remember to change your points field and remove any old itemshop templates!!!

Installation method
First of all, be sure to back up your database!! This is a fairly large hack. Adds a lot of stuff to the database.

the installation is done through the install script install_itemshop.php. It will guide you through 5 easy steps.
the only manual edits you'll have to do are the ones above, file and template edits.

Included Files

readme.htm - general information
root/itemshop.php - main itemshop file
admin/itemadmin.php - itemshop admin interface
admin/install_itemshop.php - itemshop installation file
images/itemshop - itemshop image file. This is where you will have to upload all coresponding graphics.

Contact Information
mail: gheghe@rnc.ro
aim: MewtwoAlx

If you wish to colaborate with me in continuing this hack or to add item descriptions for further versions please contact me.
This hack can easily be used not only for rpg boards.. As an example: you add computer categories: cpu, hdd, monitor etc, replace points with $ and let people on your forum build themselves a computer!


I've already got a list of stuff i gotta update in the next version, but if there's any request feel free to ask.
The shop is 100% functional, but i want to improve stuff, make it more efficient.


[And please, before releasing any new mod/edit/version to this hack ask for permission] - If you agree to that condition you are allowed to freely use and distribute the zip below, as long asthe copyright and author information remains intact.
By not agreeing, you are not allowed to use this hack, nor will you get any support.

- Thank you! That was just to prevent my hours hard work on the itemshop to be stolen

Whoa, that was a lot of typing! I hope you like it! Attached file below.


screenshots attached:
https://vborg.vbsupport.ru/showthrea...268#post246268

https://vborg.vbsupport.ru/showthrea...277#post246277


*** update
all bugs reported by Kaelon are fixed.
i've also added some extra stuff:
ascending or descending order
postbit edit: well, for the postbit, i couldn't just put the imgs, cause all the items of the same type have the same image. so i put the image and a link to a separate item info page.
1 new template required for the item info page.
added remove feature in installation script. ( note: it will simply drop the tables and remove the templates).
75% faster!!! and less stress on your server
***

***
new update: bank hack integrated!!!
***

***

Show Your Support

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

Comments
  #392  
Old 12-04-2002, 03:48 PM
tdphillipsjr tdphillipsjr is offline
 
Join Date: Sep 2002
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Invalid SQL: SELECT field5 FROM userfield WHERE userid=Array
Looks like you declared an array and didn't give it any values. Whatever variable your using (userid = '$myarray'), you're probably not defining an index for it to look at.

Try, before that query doing something like:

$temp = $arrayname[userid]

where $arrayname is the name of the array that is being returned by mysql_fetch_array() and replacing your query with:

SELECT field5 FROM userfield WHERE userid = '$temp'

Just a quick guess without actually seeing any of the files.
Reply With Quote
  #393  
Old 12-04-2002, 09:54 PM
Mijae's Avatar
Mijae Mijae is offline
 
Join Date: Nov 2001
Location: Russia
Posts: 523
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Code:
Database error in vBulletin 2.2.6:

Invalid SQL: SELECT field5 FROM userfield WHERE userid=Array
mysql error: Unknown column 'Array' in 'where clause'

mysql error number: 1054

Date: Wednesday 04th of December 2002 04:57:07 PM
Script: http://www.invoid.net/forum/forum/itemshop.php
Referer: http://www.invoid.net/forum/itemshop.php?action=donate
PHP Code:
if($action==donate && isset($user)) {
    if (
$bbuserinfo['userid']==0) {
    eval(
"dooutput(\"".gettemplate("error_notreg")."\");");
    } else {
        if(
$user == $bbuserinfo[userid]) {
        eval(
"dooutput(\"".gettemplate("itemshop_donate-self")."\");");
        exit;
        } else {
            if(
$points 0) {
            eval(
"dooutput(\"".gettemplate("itemshop_donate")."\");");
            exit;
            } else {
            eval(
"dooutput(\"".gettemplate("itemshop_donate-error")."\");");
            exit;
            }
        }
    }
}
if (isset(
$iddonate)) {
    if(
$points >= $amount) {
    
$dpointss=$DB_site->query_first("SELECT $pointfield FROM userfield WHERE userid=$iddonate");
    
$dpoints = (int) $dpointss[$pointfield];
    
$donated = ($dpoints $amount);
    
$substr = ($points $amount);
    
$DB_site->query("UPDATE userfield SET $pointfield='$donated' WHERE userid=$iddonate");
    
$DB_site->query("UPDATE userfield SET $pointfield='$substr' WHERE userid=$bbuserinfo[userid]");
    eval(
"dooutput(\"".gettemplate("itemshop_donate-thanks")."\");");
    exit;
    } else {
    eval(
"dooutput(\"".gettemplate("itemshop_donate-more")."\");");
    exit;
    }

Something has to be wrong there, but since I am a newbie I have no idea what it can be.
Reply With Quote
  #394  
Old 12-05-2002, 03:07 AM
tdphillipsjr tdphillipsjr is offline
 
Join Date: Sep 2002
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

is $iddonate set somewhere in this file? That looks to be the problem in the query.
Reply With Quote
  #395  
Old 12-05-2002, 07:51 AM
Mijae's Avatar
Mijae Mijae is offline
 
Join Date: Nov 2001
Location: Russia
Posts: 523
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nope, thats the only part.
Reply With Quote
  #396  
Old 12-05-2002, 02:50 PM
tdphillipsjr tdphillipsjr is offline
 
Join Date: Sep 2002
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Void, on the form where you enter the donations... the one where there's a text field to enter how much you are donating and a submit botton that says "Donate!"

Do a view source on that. There shoudl be a hidden field in the form that looks like

<input type="hidden" name="iddonate" value="something">

Can you tell me what the Value is?
Reply With Quote
  #397  
Old 12-05-2002, 07:31 PM
Bitsys's Avatar
Bitsys Bitsys is offline
 
Join Date: Oct 2002
Posts: 444
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

tdphillipsjr, here is the view source on my forums:

Code:
<input type="hidden" name="iddonate" value="23">
Here is the code from the itemshop_donate template that corresponds to the above code:

Code:
<input type="hidden" name="iddonate" value="$user">
As you can see, "iddonate" comes from yet another variable. Here is the code from postbit that sets the "$user" variable:

Code:
<a href="#" onclick="javascript:window.open('itemshop.php?action=donate&user=$post[userid]', '', 'toolbar=no,scrollbars=no,resizable=no,width=200,height=50');">Donate</a>
I am not having the "Array" problem on my forum with any of the above code, and that's why I don't know how to solve the problem. Let me know if you figure it out for v0id!
Reply With Quote
  #398  
Old 12-05-2002, 08:39 PM
Mijae's Avatar
Mijae Mijae is offline
 
Join Date: Nov 2001
Location: Russia
Posts: 523
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Code:
{htmldoctype}
<html>
<head>
$metarefresh
<title>$bbtitle - Itemshop</title>
$headinclude
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">
  <tr>
    <td valign="middle" align="center">
<form action="$PHP_SELF" method=post>
<input type="hidden" name="iddonate" value="$user">
<input type="text" class="bginput" name="amount" value="0">
<input type="submit" class="bginput" value="Donate!"></form></td>
  </tr>
</table>
that is my itemshop_donate template, looks fine to me.
Reply With Quote
  #399  
Old 12-05-2002, 08:41 PM
Mijae's Avatar
Mijae Mijae is offline
 
Join Date: Nov 2001
Location: Russia
Posts: 523
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh, I did a view source and I have this:

Code:
<input type="hidden" name="iddonate" value="Array">
Reply With Quote
  #400  
Old 12-05-2002, 11:55 PM
tdphillipsjr tdphillipsjr is offline
 
Join Date: Sep 2002
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, we are tracking it down. The value in your view source should be a digit, as in the code chunk bitsys posted.

which means the problem is further back in the postbit code. $post[userid] is not being set correctly. When it pops open the window, $post[userid] should have a userid, and instead it's still returning it's object... which means it never gets the userid it's supposed to.

window.open('itemshop.php?action=donate&user=$post[userid]
Reply With Quote
  #401  
Old 12-06-2002, 08:44 AM
Mijae's Avatar
Mijae Mijae is offline
 
Join Date: Nov 2001
Location: Russia
Posts: 523
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Doesnt matter where I enter the ID, I even typed the url manually, I still get "Array"
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 06:21 AM.


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.05212 seconds
  • Memory Usage 2,337KB
  • Queries Executed 27 (?)
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
  • (6)bbcode_code
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (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_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
  • 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