Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Mys v1.1.x Mods (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=20)
-   -   Simple Inventory Script (http://www.mysidiaadoptables.com/forum/showthread.php?t=1950)

The Codfin Keeper 02-23-2011 01:38 PM

Simple Inventory Script
 
NOTE: This is just a simple inventory addon/mod, not anything too fancy.

First, log in to phpMyAdmin or wherever you can manage your database and add a new table with the following:


id, int(11), not null, auto_increment
owner, varchar(40), latin1_general_ci, yes (NULL)
itemtype, varchar(40), latin1_general_ci, yes (NULL)
imgurl, varchar(120), latin1_general_ci, yes (NULL)

This allows for ID search if such a mod is made, the owner, what kind of item it is, and its image's URL.

Now create a new page with this script.

PHP Code:

<?php

// **********************************************************************
// Mysidia Adoptables Script: blank.php, the standard dev file
// Copyright 2011 Mysidia Adoptables staff team
// For help and support: http://www.mysidiaadoptables.com/forum/
//
// Redistribution prohibited without written permission
// **********************************************************************


// Wake the sleeping giant

// **********************************************************************
// Basic Configuration Info
// **********************************************************************

include("inc/functions.php");
include(
"inc/config.php");

$themeurl grabanysetting("themeurl");

// **********************************************************************
// Define our top links by calling getlinks()
// **********************************************************************

$links getlinks();

// **********************************************************************
// Define our ads by calling getads()
// **********************************************************************

$ads getads("any");

// **********************************************************************
// Grab any dynamic article content from the content table
// **********************************************************************

$pagecontent getsitecontent("index");
$article_title $pagecontent[title];
$article_content $pagecontent[content];
$article_content nl2br($article_content);

// **********************************************************************
// Grab any settings that we will need for the current page from the DB
// **********************************************************************

$browsertitle grabanysetting("browsertitle");
$sitename grabanysetting("sitename");
$slogan grabanysetting("slogan");

// **********************************************************************
// Check and see if the user is logged in to the site
// **********************************************************************

$loginstatus logincheck();
$isloggedin $loginstatus[loginstatus];
$loggedinname $loginstatus[username];

// **********************************************************************
// End Prepwork - Output the page to the user
// **********************************************************************

$article_title "Your Inventory";

if (
$isloggedin == "yes") {
$article_content "Here you can see a list of items that you have collected.<table width='500' border='2'>
<tr>
    <td width='200'><strong>Picture:</strong></td>
    <td width='230'><strong>Item Type: </strong></td>
    <td width='70'><strong>ID Number:</strong></td>
</tr>"
;
 
$query "SELECT * FROM ".$prefix."useritems WHERE Owner = '$loggedinname'";
$result mysql_query($query);
$num mysql_numrows($result);

$i=0;
while (
$i $num) {

$iid=@mysql_result($result,$i,"ID");
$object=@mysql_result($result,$i,"Item");
$url=@mysql_result($result,$i,"imageurl");


$article_content $article_content."<tr>
    <td><center><img src='"
.$url."'></center></td>
    <td><center>"
.$object."</center></td>
    <td><center>"
.$iid."</center></td>
  </tr>"
;

unset(
$iid);
unset(
$object);

$i $i 1;
}
$article_content $article_content."</table>";

}
else {

$article_content "You must be logged in to view items.";

}
// **********************************************************************
// Begin Template Definition
// **********************************************************************

//Define our current theme
$file $themeurl;

// Do the template changes and echo the ready template
$template file_get_contents($file);

$template replace(':ARTICLETITLE:',$article_title,$template);
$template replace(':ARTICLECONTENT:',$article_content,$template);
$template replace(':ARTICLEDATE:',$article_date,$template);

$template replace(':BROWSERTITLE:',$browsertitle,$template);
$template replace(':SITENAME:',$sitename,$template);

//Define our links
$template replace(':LINKSBAR:',$links,$template);

//Get the content for the side bar...

$sidebar getsidebar();
$template replace(':SIDEFEED:',$sidebar,$template);

//Get the ad content...
$template replace(':ADS:',$ads,$template);

//Get the slogan info
$template replace(':SLOGAN:',$slogan,$template);


echo 
$template;

// **********************************************************************
// End Template Definition
// **********************************************************************



?>

That is the page for users to view their inventory. You may edit the text on the page and code if you add more parameters to items, and this page's script can be used in other areas, such as the little inventory box on TCKAS' front page.

Now, in order for users to hold items, they need them to begin with, correct? To make a page (or part of a page) hand out an item to the current user, add this script where needed:

PHP Code:

is ($isloggedin == "yes"){
$itemurl "URL_OF_IMAGE_GOES_HERE";
mysql_query("INSERT INTO ".$prefix."useritems VALUES ('','$loggedinname','NAME_OF_ITEM_GOES_HERE','$itemurl')");
}
else{
$article_content $article_content."You must be logged in to receive this item.";


And it adds the item into the table of users' items with the logged in user (doesn't add the item if the recipient is a guest), the item's name, and the image URL, which displays on the inventory page or wherever the inventory shows.

If I missed anything, please tell me, as well as if you find any glitches. This is my first major modification, so it can be improved. So give me feedback :colonu:

EDIT: btw, if you need a replacement image or temporary image for an item, you may use what I made;

http://img37.imageshack.us/img37/1815/74598913.png
Code:

http://img37.imageshack.us/img37/1815/74598913.png

Lunaria 02-23-2011 02:40 PM

this was very helpful, thanks! :3

The Codfin Keeper 02-23-2011 03:50 PM

I'm glad it helped you. :pleased:

Sasoragon 02-23-2011 04:28 PM

YOU POSTED IT! :happycbig::smile:

This is definitely going to be useful. :OHSHITALION:

I LOL'd at the text version of the :OHSHITALION: smiley. XDDDDD
/off-topic

The Codfin Keeper 02-23-2011 04:54 PM

Yus, I finally posted it.

Now all we need is an awesome face smiley...:OHSHITALION:

AlexC 03-21-2011 02:20 PM

I'm having a problem with this script, it's not showing up and telling me I have an error on line 113, which is the following;

$template = file_get_contents($file); It's saying it can't find the file?

Hall of Famer 03-22-2011 03:08 AM

Well this script is incompatible with Mys v1.2.x, you will have to make slight modifications for it to work. Simply take out the site information at the beginning and template definition at the bottom of this script file and it should work just fine.

AlexC 03-22-2011 08:52 AM

I tried doing that and it looked okay, but then it kept saying I wasn't logged in every time I visited. Someone helped me edit the script a little, i'll try again.

fadillzzz 03-22-2011 03:07 PM

Quote:

Originally Posted by Gloometh (Post 15650)
I tried doing that and it looked okay, but then it kept saying I wasn't logged in every time I visited. Someone helped me edit the script a little, i'll try again.

Well, did you remember to include the functions.php file?

AlexC 03-22-2011 03:35 PM

my inventory script looks like this right now;

Code:

<?php

include("inc/functions.php");
include("inc/config.php");

//***************//
//  START SCRIPT //
//***************//

$themeurl = grabanysetting("themeurl");
$links = getlinks();
$ads = getads("any");
$pagecontent = getsitecontent("index");
$article_title = $pagecontent[title];
$article_content = $pagecontent[content];
$article_content = nl2br($article_content);

$article_title = "Your Inventory";

if ($isloggedin == "yes") {
$article_content = "Here you can see a list of items that you have collected.<table width='500' border='2'>
<tr>
    <td width='200'><strong>Picture:</strong></td>
    <td width='230'><strong>Item Type: </strong></td>
    <td width='70'><strong>ID Number:</strong></td>
</tr>";
 
$query = "SELECT * FROM ".$prefix."useritems WHERE Owner = '$loggedinname'";
$result = mysql_query($query);
$num = mysql_numrows($result);

$i=0;
while ($i < $num) {

$iid=@mysql_result($result,$i,"ID");
$object=@mysql_result($result,$i,"Item");
$url=@mysql_result($result,$i,"imageurl");


$article_content = $article_content."<tr>
    <td><center><img src='".$url."'></center></td>
    <td><center>".$object."</center></td>
    <td><center>".$iid."</center></td>
  </tr>";

unset($iid);
unset($object);

$i = $i + 1;
}
$article_content = $article_content."</table>";

}
else {

$article_content = "You must be logged in to view items.";

}
//***************//
//  OUTPUT PAGE  //
//***************//

echo showpage($article_title, $article_content, $date);

?>

the page is now showing up, but the layout is out of whack - it has large text, and it says "Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /home/gloometh/public_html/inventory.php on line 30" near the top of the page.

the page looks fine when i'm logged out though.


All times are GMT -5. The time now is 08:30 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.