PDA

View Full Version : Mysidia Adoptables v1.3.2[Security Release]


Hall of Famer
11-22-2012, 09:47 PM
Well guess the development for Mys v1.3.2 has been taking longer than expected, I almost put it off for like half a year. The good news is that the new version is finally ready to be released. Happy Turkeys day everyone, and now allow me to introduce the changes and new features in Mys v1.3.2:

1. Improvement of Object Oriented Design: If Mys v1.3.1 was our first step towards OOP, Mys v1.3.2 sure pushed this forward quite a bit. In this version several core mysidia classes are created, they will prove quite useful for us in not so distant future. Mys v1.3.2 introduces 50+ new classes, and old classes are revised to improve performance. The ACP brings up the concept of controller, which you will see a lot in Mys v1.3.3.

2. New AdminCP Layout and functionality: Well this isnt the grand ACP overhaul project I was talking about for Mys v1.4.0, but its a rather important step to achieve the goal. I already posted the new ACP layout in a blog entry, I like the way it looks thanks to Nyxi's awesome work. The ACP menu items expand/collapse using javascript, something you may find intriguing once you get used to how it works.

3. Adoptables Shop System: It is now possible to buy adoptables from various shops in the marketplace! The shop works in a similar way as itemshop, in which admins can specify whether the shop is open and how much tax to charge. The adoption center now only shows pets not purchasable from adoptables shop. This was supposed to be the main new feature for Mys v1.3.2, though it didnt take me much time to complete.

4. Protected Custom Pages: If you have paid attention to a recent blog I posted, you'd figure out that the content management system has received a major improvement. In additional to the usage of CKEditor, admins can even specify protected pages with the following conditions: promocode, item, time and usergroup. The four aint mutually exclusive, so it is up for you to build an highly protected page for authorized users only.

5. MyBB Forum Integration Basics: It's been quite a long time since we first supported MyBB forum integration. In Mys v1.3.1 there was a problem that forum stats could not rebuild, which led to messed up forum stats. This has been fixed in Mys v1.3.2, and at this point all basics of MyBB bridge are completed. Future updates will probably bring up advanced features such as user sync and forum posts/activity in user profile tab.

6. Old glitches fixed in new release: umm this happens in every release, doesnt it? One major issue was the font size glitch with pagination, this has been resolved in Mys v1.3.2. The promocode now supports both public and private promocodes equally well. Adoptables hard deletion is also working as it should be. Anyway Mys v1.3.1 fixed most glitches in the original release, so there probably aint many noticeable ones this time.

Installation Guide:
1. Use ftp to Upload the entire folder Mysidia Adoptables v1.3.2 to your preferred directory, and change the name to whatever you like.
2. Change the CMD of folder "picuploads" to 777, together with its subfolders, this is required to enable user uploading images.
3. Rename the file config_adopts to config.php, otherwise the script will tell you config.php does not exist.
4. Access the installer script at "http://yoursitename.com/install/index.php", follow the instructions and proceed.
5. Congrats, you've successfully installed Mys v1.3.2. There is no need to manually encrypt your password in Mys v1.3.2, so cheers!

Note: The value pepper code can be generated from a website called: http://strongpasswordgenerator.com/, it can be of any length and may contain symbols. Make sure to delete the file install/index.php after running this script, or your site is potentially at danger if this file is accessed by someone else.

Upgrade Mini-Guide:
An upgrader from mys v1.3.1 is available, but the megaupgrader from Mys v1.2.x will have to wait till probably in my winter break. To upgrade, simply upload all script files to your folder and overwrite the existing ones. The config file is named config_adopts.php by default, so your old config file should be safe. Now run the upgrade.php script to complete this task, shouldnt take more than 10 secs. Note you need to manually remove the file lang.php from your /inc directory before proceeding, and the upgrade.php file too after you have completed this process.

Do not use the upgrader if you have a site with heavily modified script! Unlike Mys v1.3.1, Mys v1.3.2's changes are way too dramatic. If you have modified any script files before, or added your own piece of code, your site will surely not function at all. Even old Mods/Addons for Mys v1.3.1 do not work on this version, for this reason I will update my 'Gender Ratio' Mod a few hours later to be compatible with this version. Of course if you are intermediate or advanced programmer, you should be fine making changes on your own to get it to work somehow.


Forum Integration Guide:

First of all, make sure you have both fresh installation of Mysidia Adoptables and MyBB forum. Open the file /inc/config_forums.php, enter each empty field for the database info of your MyBB forum. Then Change the variable mybbenabled from 0 to 1. The very last step is to disable registration on the forum. It is all said and done, new users will have accounts created from both the adoptables site and the forum from now on. In Mys v1.3.2 they also log into site and forum accounts simultaneously! The forum stats is automatically updated whenever a new registration is completed, so there is no need for admins to update forum stats in ACP from now on.

Download Links(both .rar and .zip are provided):

Rapidshare links:

Rar version:
https://rapidshare.com/files/2866623410/Mysidia%20Adoptables%20v1.3.2.rar

Zip version:
https://rapidshare.com/files/1617330747/Mysidia%20Adoptables%20v1.3.2.zip

Mediafire Links:

Rar version:
http://www.mediafire.com/?xk38s8mocccvnw4

Zip version:
http://www.mediafire.com/?9zpf0xvaxs2d76h

The fact is that, well, Mys v1.3.2 is a dramatic change from Mys v1.3.1. It comes with a few new features, but these features alone should not have taken more than 2 months for me. The real challenge was with the improvement of script quality. I am trying to establish an organized coding style and structure for this script. Some programmers refer to this as framework, though at this point this script still does not really have a complete framework yet.

Starting from Mys v1.3.2 we are making a huge step in the transition from procedural PHP to object oriented PHP. The new code will probably give a headache to some of you, especially if you are so used to traditional php programming. This cannot be helped, its the way of future. The only thing I am sure is that once the transition is complete, development of Mysidia adoptables script will be moving forward in a different level. Much faster and much less redundant work.

I thank you everyone who stick to us and this project for this long without a stable release being made. The next version should not take more than one and a half month though, the transition from Mys v1.3.1 to v1.3.2 really was one of the hardest since we had to find a direction where this script should go.

Hall of Famer
November 22, 2012

Abronsyth
11-23-2012, 10:12 AM
Yes! Yes! Yes! Downloading this right away! Finally decided that, since I love drawing them so much, I'm going to go ahead and make a Pine Marten site :D Can't wait to get working on my site!

You have no idea how grateful and happy I am for this script!

EDIT:
Okay, just finished installing the script and all went well...but when I tried to access my site, I got this:
Fatal error: Can't inherit abstract function Creator::create() (previously declared abstract in UserCreator) in /home/u526740665/public_html/classes/abstract/abstract_usercreator.php on line 3

Hall of Famer
11-23-2012, 03:20 PM
umm weird, never happened to me before, are you trying to upgrade from an old site? Can you show me the two script files abstract_usercreator.php and class_membercreator.php? It looks to me that the script is trying to inherit the same method twice.

Abronsyth
11-23-2012, 04:36 PM
Okay, here's the abstract_usercreator.php:
<?php

abstract class UserCreator implements Creator{
// The abstract factory class UserCreator

abstract public function create();
abstract public function massproduce();

public static function logincheck(){
global $mysidia;

//Check for cookie
if(!$mysidia->cookies->getcookies("mysuid") or !$mysidia->cookies->getcookies("myssession")) return FALSE;
else{
$uid = secure($mysidia->cookies->getcookies("mysuid"));
$session = secure($mysidia->cookies->getcookies("myssession"));

//Run login operation
$luser = $mysidia->db->select("users", array("uid", "session"), "uid = '{$uid}'")->fetchObject();
$luid=$luser->uid;
$lsess=$luser->session;

if($uid == $luid and $session == $lsess) return TRUE;
else{
if(isset($_COOKIE['mysuid'])) setcookie("mysuid", $uid, time() - 10);
if(isset($_COOKIE['myssession'])) setcookie("myssession", $session, time() - 10);
return FALSE;
}
}
// End of login check
}

protected function getusergroup($userinfo){
global $mysidia;
$whereclause = (is_numeric($userinfo))?"uid ='{$userinfo}'":"username ='{$userinfo}'";
$usergroup = $mysidia->db->select("users", array("usergroup"), $whereclause)->fetchColumn();
if(empty($usergroup)) throw new Exception('Invalid Usergroup, cannot instantiate user object');
return $usergroup;
}

protected function getgroupcategory(){
global $mysidia;
$category = $mysidia->db->select("groups", array("category"), "uid ='{$uid}'")->fetchColumn();
if(empty($category)) throw new Exception('Invalid Usergroup Category, cannot instantiate user object');
return $category;
}

protected function getidentity(){
$spiderip = array();
if(in_array($_SERVER['REMOTE_ADDR'], $spiderip)) $identity = "Spider";
else $identity = "Guest";
return $identity;
}

}
?>

And here's the class_membercreator.php:
<?php

class MemberCreator extends UserCreator{
// The abstract factory class UserCreator
protected $userinfo;
protected $usergroup;
protected $user;

public function __construct($userinfo){
if(empty($userinfo)) throw new Exception('User id or Username does not exist...');
$this->userinfo = $userinfo;
$this->usergroup = $this->getgroupid();
}

public function getgroupid(){
global $mysidia;
$whereclause = $whereclause = (is_numeric($this->userinfo))?"uid ='{$this->userinfo}'":"username ='{$this->userinfo}'";
$gid = $mysidia->db->select("users", array("usergroup"), $whereclause)->fetchColumn();
return $gid;
}

public function getgroupcategory(){
// This feature will be fully implemented in Mys v1.3.3 or v1.3.4.
if($this->usergroup == 1 or $this->usergroup == 2) return "Admin";
elseif($this->usergroup == 4 or $this->usergroup == 6) return "Mod";
elseif($this->usergroup == 3) return "Registered";
elseif($this->usergroup == 5) return "Banned";
else throw new Exception('Cannot recognize usergroup category for this user, he/she may be a guest, a bot, or else...');
}

public function create(){
$category = $this->getgroupcategory();
switch($category){
case "Admin":
$this->user = $this->create_admin();
break;
case "Mod":
$this->user = $this->create_mod();
break;
case "Banned":
$this->user = $this->create_banned();
break;
default:
$this->user = $this->create_member();
}
return $this->user;
}

public function massproduce(){
return FALSE;
}

private function create_admin(){
return new Admin($this->userinfo);
}

private function create_mod(){
return new Mod($this->userinfo);
}

private function create_member(){
return new Member($this->userinfo);
}

private function create_banned(){
return new Banned($this->userinfo);
}
}
?>

(Sometimes I feel like it's just my job to find as many errors as possible...most of them being my fault for some reason XD)

Hall of Famer
11-23-2012, 05:29 PM
Well its perfectly fine, lol. An compile-time error like this should have been detected and fixed by me way before the official release if I can find it. Mvm...

I dont see anything wrong with the script, lets give this a try though. For the UserCreator class, find the first line::


abstract class UserCreator implements Creator{


remove the implements Creator parts so it becomes:


abstract class UserCreator{


See if it works. If not, post your class_visitorcreator.php too and I'd like to do a thorough search on what may be causing the error.

schepers12
11-24-2012, 07:59 AM
is htere also coming a tutorial coming for imlementing own scripts? (i.e. modifications), as i heard somewhere on this board that there are some changes in the variables~ (and i don't know what to change right now in my modifications):catfish:

Hall of Famer
11-24-2012, 08:06 AM
Well yeah, I will post a short tutorial on how to do this. In fact, its pretty simple.

And btw, do you encounter the 'cannot inherit abstract method' error Iris was getting? It never occurred on my server, but an error of this magnitude should be noticeable to me long before the script was completed. Weird.

Abronsyth
11-24-2012, 08:39 AM
Okay, edited as you said to, and got this error:
Fatal error: Call to undefined method DateTime::getTimestamp() in /home/u526740665/public_html/classes/class_visitor.php on line 15

And here's my class_visitor.php:
<?php

class Visitor extends User{
public $isloggedin;
public $error;

public function __construct($uid){
// Fetch the basic member properties for users

$this->uid = 0;
$this->ip = $_SERVER['REMOTE_ADDR'];
$this->usergroup = Usergroup::fetchgroup('Visitor');

$time = new DateTime();
$this->lastactivity = $time->getTimestamp();
$this->isloggedin = UserCreator::logincheck();
}

public function __call($method, $param){
// This magic method triggers when visitors attempt to visit pages inaccessible to guests

$this->error = "The functionality is unavailable for guests, please log in or register.";
return FALSE;
}

public function __get($param){
// This magic method triggers when visitors attempt to visit pages inaccessible to guests

$param = 0;
return $param;
}

public function register(){
// Will be added in future
global $mysidia;
$date = new DateTime;
$salt = codegen(15);
$password = passencr($mysidia->input->post("username"), $mysidia->input->post("pass1"), $salt);
// Insert the very first row of data for user registration
$mysidia->db->insert("users", array("uid" => NULL, "username" => $mysidia->input->post("username"), "salt" => $salt, "password" => $password, "session" => NULL, "email" => $mysidia->input->post("email"), "ip" => $_SERVER['REMOTE_ADDR'],
"usergroup" => 3, "birthday" => $mysidia->input->post("birthday"), "membersince" => $date->format('Y-m-d'), "money" => $mysidia->settings->startmoney, "friends" => NULL));
$uid = $mysidia->db->select("users", array("uid"), "username = '{$mysidia->input->post("username")}'")->fetchColumn();

// Now update the session
$myssession = md5($uid.$mysidia->session->getid());
$mysidia->db->update("users", array("session" => $myssession), "uid = '{$uid}'");

// Insert user data to the other tables
$mysidia->db->insert("users_contacts", array("uid" => $uid, "username" => $mysidia->input->post("username"), "website" => NULL, "facebook" => NULL, "twitter" => NULL,
"aim" => NULL, "yahoo" => NULL, "msn" => NULL, "skype" => NULL));

$mysidia->db->insert("users_options", array("uid" => $uid, "username" => $mysidia->input->post("username"), "newmessagenotify" => 1, "pmstatus" => 0,
"vmstatus" => 0, "tradestatus" => 0, "theme" => $mysidia->settings->theme));

$mysidia->db->insert("users_profile", array("uid" => $uid, "username" => $mysidia->input->post("username"), "avatar" => $mysidia->input->post("avatar"), "bio" => $mysidia->input->post("bio"), "color" => $mysidia->input->post("color"),
"about" => NULL, "favpet" => 0, "gender" => $mysidia->input->post("gender"), "nickname" => $mysidia->input->post("nickname")));

$mysidia->db->insert("users_status", array("uid" => $uid, "username" => $mysidia->input->post("username"), "canlevel" => 'yes', "canvm" => 'yes', "canfriend" => 'yes',
"cantrade" => 'yes', "canbreed" => 'yes', "canpound" => 'yes', "canshop" => 'yes'));

$mysidia->page->settitle($mysidia->lang->success_title);
$mysidia->page->addcontent($mysidia->lang->success.$mysidia->input->post("username").$mysidia->lang->success2);
}

public function login($username){
global $mysidia;
if($this->ip != $mysidia->session->clientip) throw new Exception('Your IP has changed since last session, please log in again.');
else{
$mysidia->cookies->setcookies($username);
$mysidia->db->update("users", array("session" => $mysidia->cookies->getcookies("myssession")), "username = '{$username}'");
include("inc/config_forums.php");
if($mybbenabled == 1){
include_once("functions/functions_forums.php");
mybblogin();
}
return TRUE;
}
}

public function getloginform(){
$loginform = "<form name='form1' method='post' action='login.php'>
<p>Username: <input name='username' type='text' id='username'></p>
<p>Password: <input name='password' type='password' id='password'></p>
<p><input type='submit' name='Submit' value='Submit'></p>
<p>Don't have an account?<br>
<a href='register.php'>Register Free</a> </p>
<a href='forgotpass.php'>Forgot your password? Click Here</a>
</form>";
return $loginform;
}

public function logout(){
global $mysidia;
$mysidia->page->settitle("Already logged out");
$mysidia->page->addcontent("It appears that you are already logged out from this site...", TRUE);
return FALSE;
}

public function resetpass($username, $email){
global $mysidia;
$newpw = codegen(12);
$newsalt = codegen(15,0);
$newpass = passencr($username, $newpw, $newsalt);

//Update the database with the new password...
$mysidia->db->update("users", array("password" => $newpass, "salt" => $newsalt), "username='{$username}' and email='{$email}'");

//Delete the entry from the password reset table
$mysidia->db->delete("passwordresets", "code='{$mysidia->input->post("code")}'");
return $newpw;
}
}
?>

Hall of Famer
11-24-2012, 09:26 AM
Well are you running PHP 5.2? This looks like a problem that should not have existed in the first place, your PHP version does not support advanced DateTime Object manipulation. Or it may have been misconfigured?

I can look up the files and use alternative approaches for you at this point so that you can bypass the DateTime functions missing error. But keep in mind that DateTime is a common class in PHP 5.3.x development, if you are indeed running PHP 5.2.x then its probably time to upgrade or switch host. I try to compromise for those using PHP 5.2.x for Mys v1.3.x releases, but in Mys v1.4.0 and onwards supports for older versions of PHP will be dropped.

schepers12
11-24-2012, 09:36 AM
i currently am a little too lazy to test it out, so don't expect me upgrading my site soon or reporting bugs..~ ^^;

Abronsyth
11-24-2012, 10:05 AM
I'll try to find out what version of PHP 99webs.info is using...since that's the host I am using for it.

Do you know, off the top of your head, what version 000webhost.com is using? They just say PHP 5, nothing more specific.

EDIT: 000webhost is running 5.2 as well. Do you know of any hosts that are running 5.3..? I'll try to find a free host that does support it...hm...

EDIT 2: Nevermind, I finally found a host that allows more than one database and also is running PHP 5.3.1, I guess I'll just be moving my site over to this host.

Hall of Famer
11-24-2012, 04:01 PM
Well many shared hosts such as hostgator and bluehost actually provide PHP 5.3 as alternative, you have to add an additional config file to PHP's directory. For 000webhost and x10hosting probably not, these are freehosts, not shared host.

Abronsyth
11-27-2012, 04:45 PM
Well, I've contacted 99webs.info about it, and they (Nemesis, I presume) said they'll look into getting it updated...hope so because the host I found does not allow Java, of all the things.

Hall of Famer
11-27-2012, 05:24 PM
I see, best of luck on that Iris. If the worst came to worst and this problem remains unresolved by the time I finish my last final exam, I will try to re-design the script so that it has backward compatibility with PHP 5.2.

Hall of Famer
11-30-2012, 05:07 AM
Update: The error Iris was getting early on turns out to be a PHP bug, not with this script. It affects PHP version 5.2 and early versions of 5.3, you need PHP 5.3.9 or newer to be able to use it properly. But if you do happen to use older version, do not worry, look at the first page and I've offered a solution to get through this error.
https://bugs.php.net/bug.php?id=43200

Kesstryl
12-05-2012, 03:02 PM
WOOT!!! I've been quiet and have done nothing for my site as I'm now currently returned to college and classes are taking ALL my time, that and running a guild in Everquest 2, but my dream to run my own pet site someday will happen. Thank you for your hard work and for making a script for us non/ankle deep programmers. I will upload this when I get a chance and play around with it. I probably won't do any serious work in my site until a much later version that is fully OOP as each change lately is so massive it generally requires a full installation.

Will there eventually be a premium version of this project that will require a purchase? I would definitely consider buying a premium version when this is in it's final form.

Hall of Famer
12-05-2012, 03:16 PM
Thanks for your comment Kesstryl. The script is likely to be mostly object oriented by version 1.4.0, I have no idea when it will be released though. The entire lifecycle of Mys v1.3.x will pave way for this transition, eventually an ORM-MVC framework will be constructed successfully for this product. It may take version v1.5.0 to make a fully object oriented truly professional script.

I am not sure for a premium version of this script, for the entire Mys v1.3.x and v1.4.x series it will remain as free product. If someday I feel like it, I may end up running hosting services for Mysidia Adoptables in which you can build a free default site with some features only available through purchasing. It will be like a much more upgraded version of MA, although you pretty much dont see much difference between Mysidia Adoptables and MyAdopts already. Not sure if this will happen though, but I dont rule out such a possibility.

Abronsyth
12-05-2012, 07:43 PM
As an update to my problem:

The other host I found isn't go to work out...nor is another I found. Both refused to return any questions I had, and just didn't work out at all. Luckilly, however, I have been assured that 99webs.info will be updating to a newer version of PHP :) Hopefully I can actually get my site up and running soon...switched from Pine Martens to Hamsters, since hamsters are pure love (though I hate those ugly little tails...they're still pretty cute).

Until then I'll just work on art...finally figured out how to shade realistically!

GuardiansWish
12-06-2012, 01:15 PM
Okie dokie. Everything so far is going pretty well but I have a question about forum integration. Our forum and adopts have been separate (not integrated) for months now. The integration seems easy enough but I'm worried for my members. What will happen to the accounts that are preexisting or that only have an account on one half of the site?

Hall of Famer
12-06-2012, 04:43 PM
These old accounts will not be integrated most likely, but there is a chance they will assuming the user Ids from adoptables and forum database match rach other. It won't hurt to try, in future I will create a user synchronization script that does the trick to you.

Abronsyth
12-08-2012, 05:54 PM
Hey, got impatient and found a host that is using 5.3.18 :D So, I uploaded everything and, whoo, it's working perfectly! I'll let you know if I encounter any problems :)

OH!One thing, it's not redirecting me after I log into the Admin CP, but I can fix this simply by refreshing the page. So, it's not a big problem, but it might throw some people off :)

Hall of Famer
12-08-2012, 05:57 PM
Well glad you figured this out Iris, and yeah its better to stick to a host with PHP 5.3. In Mys v1.4.0 support for PHP 5.2 will be dropped completely, so people have to make this transition sooner or later.

umm it wont redirect you? Weird, it does redirect me properly on my demo site. If you find any serious glitch please do report to me, I will make sure to fix them all in Mys v1.3.3.

LucasA33
12-08-2012, 11:46 PM
Update made all my adoptables free, and I can't even log in with out being logged out.
#fml

Hall of Famer
12-09-2012, 12:13 AM
Update made all my adoptables free, and I can't even log in with out being logged out.
#fml

Well how did you upgrade your site? Were you using Mys v1.3.1 before? If so, running the upgrader script should do you just good. Keep in mind that you cannot upgrade if you have a highly customized site.

LucasA33
12-09-2012, 12:16 AM
Yea, decided I'd go for clean install, just run it under the same database as the previous, now I get Cannot alter table prefix.adoptables

Hall of Famer
12-09-2012, 12:34 AM
What do you mean by clean install? The database structure is different from Mys v1.3.1 to Mys v1.3.2, if you install Mys v1.3.2 fresh there's no need to run upgrader. The upgrader simply alters database table for ya.

LucasA33
12-09-2012, 12:39 AM
The only issue I am having right now is that it automatically logs me off, even in the clean install.

The issue with the free adoptables is the fact that they have to be in shops to not be free. Now thats okay. I found the issue, you should note that in the upgrader area to prevent confusion..

Its even more annoying that it logs me out every 5 clicks..
Last time, it only happend sometimes..

Try it yourself.. game.pixelcore.tk/login.php
Using the game.pixelcore.tk redirects you to a temp page for my default users.

Hall of Famer
12-09-2012, 12:43 AM
Well Mys v1.3.2 is designed in a way that all adoptables are free unless they are in adoptables shops, this is the way it is. Not sure why it keeps logging you out though, do you notice any changes in the url by the time you are logged out? I mean, something like the http:// part becomes missing or appears out of nowhere?

LucasA33
12-09-2012, 12:47 AM
I have no idea what you are saying. I can make you a temporary admin just to let you see what I am saying.. I'm going to enable the old index sense there no way to get them yet.

http://game.pixelcore.tk

Also, how do I make it so my previous adoptables can be in a shop.

Levelup also gives a nasty error D:

Warning: mt_rand() [function.mt-rand]: max(0) is smaller than min(10) in /home/mineedit/public_html/game/classes/class_member.php on line 111

Fatal error: Uncaught exception 'Exception' with message 'Cannot change user money by a non-numeric value!' in /home/mineedit/public_html/game/classes/class_member.php:95 Stack trace: #0 /home/mineedit/public_html/game/levelup.php(75): Member->changecash(false) #1 {main} thrown in /home/mineedit/public_html/game/classes/class_member.php on line 95

PS. I fixed the previous issue, just now need help with the logging out, and why I cannot level up these adoptables.

Hall of Famer
12-09-2012, 01:25 AM
Well it seems to me that you have specified the money reward incorrectly. What does that look in your database? It needs to be in the format like 10, 20 or something like that. The second parameter needs to be bigger than the first.

LucasA33
12-09-2012, 01:31 AM
Will check. It also seems my theme (even after reverting it from a backup theme) randomly broke down aswell.

(issue after issue D:)

OK, after trialing and erroring, I guess it was missing WWW.. (http://WWW..).
Thats understandable.

I'm used to not even having WWW.. (http://WWW..)

Something i'd note out aswell on the main post.

Hall of Famer
12-09-2012, 01:39 AM
Oh so you found it out? Thats nice. My demo site always runs with 'http://www.', so I'd never be able to debug the script's possible malfunctioning without it. XD

LucasA33
12-09-2012, 01:46 AM
Yes, so if anyone across random log outs, and shiz; thats your answer apparently.
I would note that somewhere in the main post to save so much frustration.
(trust me, :P)

ps. where can I edit the sidebar (change theme, admin center ect,,

Hall of Famer
12-09-2012, 02:03 AM
I think you can edit the sidebar from the script file /classes/class_page.php. It is where sidebar is defined.

LucasA33
12-09-2012, 02:11 AM
Found it, but for some reason, my theme isn't working correctly anymore.

SilverDragonTears
12-11-2012, 06:09 AM
*sigh* This really sucks for people who have modified the script :(

Hall of Famer
12-11-2012, 07:04 AM
Well yeah, there are pros and cons for modifying your script lol. But if you want to add certain features to your site, you may as well look into the source code and see what you can do to implement a newly added feature to the old script. Its doable, just wont be too easy.

pachoofoosh
12-11-2012, 02:47 PM
This script is really awesome, I love all the different features it has! :3 I tried installing the script, and all went well, until I tried to access the site, and I got this message. I entered all the information correctly, and my host is using PHP 5.3, so i'm not quite sure why it's showing this message. ^^;

Could not connect to database, the following error has occurred:
could not find driver

Hall of Famer
12-11-2012, 02:54 PM
Your host appears to have not installed mysql driver for PDO, its weird. Please contact them to see if they can get mysql driver for you, if not I will figure out a solution for you to get by using a different driver.

*sigh* Perhaps its time for this script to go multi-database drivers, instead of having mysql-only.

SilverDragonTears
12-11-2012, 08:46 PM
I need help. I added all the tables needed and am now trying to figure out what files need adding or editing. I'm getting this when I access the shop.

Fatal error: Can't inherit abstract function Creator::create() (previously declared abstract in UserCreator) in /home/taleofdr/public_html/classes/abstract/abstract_usercreator.php on line 3

Hall of Famer
12-11-2012, 09:17 PM
Well your webhost is running PHP 5.2, right? Are you running a VPS server? If so, ask your server provider to upgrade PHP, thats the best way to resolve the problem.

But anyway, you probably do not need the UserCreator/MemberCreator/VisitorCreator classes if you only need the adoptshop feature.

SilverDragonTears
12-11-2012, 09:18 PM
But what is the problem?

Hall of Famer
12-11-2012, 09:19 PM
You mean the 'cannot inherit' error? Well thats what happens with PHP 5.2, its incompatible with Mys v1.3.2. There's a simple fix though, you just have to edit the UserCreator and remove the 'implements Creator' part. But keep in mind that in a long run you have to use PHP 5.3 anyway, Mys v1.4.0 will not support PHP 5.2 at all.

SilverDragonTears
12-11-2012, 09:20 PM
Well for now, which part exactly do I remove?

Hall of Famer
12-11-2012, 09:32 PM
Actually I posted a solution before:
http://www.mysidiaadoptables.com/forum/showpost.php?p=25038&postcount=5

This will get rid of the Creator method inherit error, but wont fix all incompatibility issue with PHP 5.2. I recommend you not to use all script files from Mys v1.3.2, just choose whatever you need to add the features. Like I told you, you shouldnt even need to touch these Creator type classes if you just want to add the adoptshop. You are overkilling by importing way too many classes from Mys v1.3.2 that does not really help you anything.

SilverDragonTears
12-11-2012, 09:34 PM
Well I had to keep adding in files. I'm only trying to add in what is needed but I'm not sure what IS needed.

Now I have this :/
Parse error: syntax error, unexpected T_PROTECTED in /home/taleofdr/public_html/classes/abstract/abstract_usercreator.php on line 33

Hall of Famer
12-11-2012, 09:40 PM
Well post the UserCreator.php file and I will find out the problem for ya. Looks like you did not edit the file correctly, something is missing.

SilverDragonTears
12-11-2012, 09:42 PM
I fixed it.... getting this. *sigh*

Fatal error: Declaration of Member::login() must be compatible with that of User::login() in /home/taleofdr/public_html/classes/class_member.php on line 3

Hall of Famer
12-11-2012, 10:07 PM
Well remove this line in classes/abstract/abstract_user.php:


abstract public function login($username);

SilverDragonTears
12-12-2012, 12:09 PM
Done and now:
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/taleofdr/public_html/classes/class_input.php on line 120

What on earth? lol

Hall of Famer
12-12-2012, 12:15 PM
You have a malfunctioning double colon operator in that script file, remove it and see what happens.

SilverDragonTears
12-12-2012, 12:24 PM
???
<?php

abstract class User{
// The abstract class User
public $uid = 0;
public $username;
public $ip;
public $usergroup;
public $lastactivity;

public function getid(){
return $this->uid;
}

public function getusername(){
return $this->username;
}

public function getcurrentip(){
return $this->ip;
}

public function getgroupid(){
if(is_numeric($this->usergroup)) return $this->usergroup;
else return $this->usergroup->gid;
}

public function getgroup(){
return $this->usergroup;
}

public function lastactivity(){
return $this->lastactivity;
}


public function isbanned(){
// will be added later
}

}
?>

Hall of Famer
12-12-2012, 12:30 PM
I mean, this file: classes/class_input.php

SilverDragonTears
12-12-2012, 12:48 PM
Oh. Ok what am I looking for exactly?

Hall of Famer
12-12-2012, 01:01 PM
Well I said you need to look into classes/class_input and search for line 120 that seems to be malfunctioning. It seems to have two colons that cause the trouble, you need to remove them.

SilverDragonTears
12-12-2012, 01:04 PM
I removed one and got Parse error: syntax error, unexpected ':' in /home/taleofdr/public_html/classes/class_input.php on line 120

Hall of Famer
12-12-2012, 01:12 PM
Then how about removing them both? What does that file look like on your server anyway?

SilverDragonTears
12-12-2012, 01:13 PM
I did. Still got an error.
Parse error: syntax error, unexpected T_VARIABLE in /home/taleofdr/public_html/classes/class_input.php on line 120

I'm starting to think I won't be able to add in the adopt shop :/

<?php

/**
* The Input Class, it is one of Mysidia system core classes.
* It acts as a secure wrapper for user input in $_GET and $_POST.
* Input is a final class, no child class shall derive from it.
* An instance of Input class is generated upon Mysidia system object's creation.
* This specific instance is available from Registry, just like any other Mysidia core objects.
* @category Resource
* @package Core
* @author Hall of Famer
* @copyright Mysidia Adoptables Script
* @link http://www.mysidiaadoptables.com
* @since 1.3.2
* @todo incorporate input class in Mysidia adoptables system.
*/

final class Input{

/**
* The request property, which holds request method information: get, post or else.
* @access public
* @var String
*/
public $request;

/**
* The post property, it stores all user input vars in $_POST.
* @access private
* @var ArrayObject
*/
private $post;

/**
* The get property, it stores all user input vars in $_GET.
* @access private
* @var ArrayObject
*/
private $get;

/**
* The action property, which specifies users action.
* @access private
* @var String
*/
private $action;


/**
* Constructor of Input Class, it generates basic properties for an input object.
* @access public
* @return Void
*/
public function __construct(){
$this->checkrequest();
$this->initialize();
}

/**
* The initialize method, which handles parsing of user input vars.
* @access public
* @return Void
*/
public function initialize(){
if(isset($_POST)){
$post = array_map('secure',$_POST);
$this->post = new ArrayObject($post, ArrayObject::ARRAY_AS_PROPS);
if(isset($this->post->action)) $this->action = $this->post->action;
unset($_POST);
}
if(isset($_GET)){
$get = array_map('secure',$_GET);
$this->get = new ArrayObject($get, ArrayObject::ARRAY_AS_PROPS);
if(isset($this->get->action)) $this->action = $this->get->action;
unset($_GET);
}
if(defined("SUBDIR")){
$parser = new UrlParser($_SERVER['REQUEST_URI']);
$elements = $parser->parse();
$get = array_map('secure', $elements);
$this->get = new ArrayObject($get, ArrayObject::ARRAY_AS_PROPS);
if(isset($this->get->action)) $this->action = $this->get->action;
}
}

/**
* The post method, returns a user input var stored in Input::$post property.
* @param String $key
* @access public
* @return Object
*/
public function post($key = ""){
if(empty($key) and !empty($this->post)) return $this->post;
elseif(isset($this->post->{$key})) return $this->post->{$key};
else return FALSE;
}

/**
* The get method, returns a user input var stored in Input::$get property.
* @param String $key
* @access public
* @return Object
*/
public function get($key = ""){
if(empty($key) and !empty($this->get)) return $this->get;
elseif(isset($this->get->{$key})) return $this->get->{$key};
else return FALSE;
}

/**
* The manipulate method, set values in a get variable from post variable.
* This can be manipulated by controller objects.
* It serves as a temporary solution to url rewrite problem with get forms.
* @param String $controller
* @access public
* @return Void
*/
public function manipulate($controller){
if(!($controller instanceof AppController)) throw new Exception("Controller not found.");
elseif(is_array($controller::$param)){
foreach($controller::$param as $key){
if($this->post->{$key}) $this->get->{$key} = $this->post->{$key};
}
}
else{
$key = $controller::$param;
if($this->post->{$key}) $this->get->{$key} = $this->post->{$key};
}
}

/**
* The action method, verifies whether a specified action is taken by this user.
* @param String $act
* @access private
* @return Boolean
*/
public function action(){
if(empty($this->action)) return FALSE;
else return $this->action;
}

/**
* The checkrequest method, checks to see the request method of a particular user
* @access private
* @return Boolean
*/
private function checkrequest(){
// This method checks if there is user input, and returns the request_method if evaluated to be true
if($_SERVER['REQUEST_METHOD'] == "POST"){
$this->request = "post";
return TRUE;
}
elseif($_SERVER['REQUEST_METHOD'] == "GET"){
$this->request = "get";
return TRUE;
}
else $this->request = FALSE;
}

/**
* The secure method, parse user input in a safe manner.
* @param Array $data
* @access private
* @return ArrayObject
*/
private function secure($data){
if(is_array($data) and SUBDIR != "AdminCP") die("Hacking Attempt!");
$data = htmlentities($data);
$data = addslashes($data);
$data = strip_tags($data, '');
return $data;
}
}
?>

Hall of Famer
12-12-2012, 02:04 PM
I see, you dont have a controller object, and thus the double colons are invalid. You shouldnt be using the input class at all, get rid of it and see what happens.

SilverDragonTears
12-12-2012, 02:08 PM
Ok where is it and what exact part? Sorry, I don't want to mess anything up and I'm not familiar with it at all.

Hall of Famer
12-12-2012, 02:19 PM
Well I just dont understand what you are trying to do actually. Do you just wish to incorporate the adoptables shop into your site? If so, you just need the following script files: class_adoptshop.php, class_itemshop.php, shop.php and maybe some files from ACP. You do not even need to play with the class_input.php at all, unless you want a full upgrade.

SilverDragonTears
12-12-2012, 02:27 PM
oh hmmmm, well I have all those files and I'm still getting errors.

I removed require init.php and get this:

EDIT: Wrong warning...
Fatal error: Call to a member function getstatus() on a non-object in /home/taleofdr/public_html/shoptest.php on line 7

Hall of Famer
12-12-2012, 02:40 PM
umm what does your shoptest.php file look like?

SilverDragonTears
12-12-2012, 02:41 PM
I edited my post with the correct warning, in case you didn't see that.

<?php


//***************//
// START SCRIPT //
//***************//
$mysidia->user->getstatus();
if(!$mysidia->user->isloggedin){
// The user is not logged in, show generic login error message
$mysidia->displayerror("guest");
}
else
if($mysidia->user->status->canshop == "no"){
// The user's permission to browse shops is banned, show error message
$mysidia->page->settitle($lang->global_guest_title);
$mysidia->page->addcontent($lang->denied);
}
elseif(!$mysidia->input->get("shopname")){
// The user has yet to enter a shop, so we may as well list the shop
$mysidia->page->settitle($lang->access);
$mysidia->page->addcontent($lang->type);
$shoplist = new Shoplist($mysidia->input->post("shoptype"));
$shoplist->display();
}
elseif(!$mysidia->input->get("itemname") and !$mysidia->input->get("adopttype")){
// The user has entered a shop but not yet specified the item or adoptables to purchase
$shoptype = $mysidia->db->select("shops", array("shoptype"), "shopname = '{$mysidia->input->get(shopname)}'")->fetchColumn();
$shoplist = new Shoplist($shoptype);
$shop = $shoplist->createshop($mysidia->input->get("shopname"));
$mysidia->page->settitle($lang->welcome);
$shop->display();
}
elseif($mysidia->input->get("itemname") and !$mysidia->input->get("adopttype")){
// The user has specified an item to purchase, let's process this request
$shop = new Itemshop($mysidia->input->get("shopname"));
$item = $shop->getitem($mysidia->input->get("itemname"));
$item->assign($mysidia->user->username);
$oldquantity = $item->getoldquantity();
$newquantity = $oldquantity + $mysidia->input->post("quantity");

if(!is_numeric($mysidia->input->post("quantity"))){
$mysidia->page->settitle($lang->global_action_title);
$mysidia->page->addcontent($lang->invalid_quantity);
}
elseif($newquantity > $item->cap){
$mysidia->page->settitle($lang->global_error);
$mysidia->page->addcontent($lang->full_quantity);
}
elseif($shop->purchase($item)){
// The item is purchased successfully, now let's process the request
$mysidia->page->addcontent("{$lang->purchase_item}{$item->getcost($shop->salestax)} {$mysidia->settings->cost}");
}
else{
$mysidia->page->settitle($lang->global_error);
$mysidia->page->addcontent($lang->money);
}
}
elseif(!$mysidia->input->get("itemname") and $mysidia->input->get("adopttype")){
// The user has specified an adoptable to purchase, let's process this request
$shop = new Adoptshop($mysidia->input->get("shopname"));
$adopt = $shop->getadopt($mysidia->input->get("adopttype"));
$adopt->assign($mysidia->user->username);

if($shop->purchase($adopt)){
// The adoptable is purchased successfully, now let'ss process the request
$mysidia->page->addcontent("{$lang->purchase_adopt}{$adopt->getcost($shop->salestax)} {$mysidia->settings->cost}");
}
else{
$mysidia->page->settitle($lang->global_error);
$mysidia->page->addcontent($lang->money);
}
}
else{
// Invalid action specified, show generic error message
$mysidia->displayerror("action");
}

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

$mysidia->output();

?>

Hall of Famer
12-12-2012, 03:43 PM
Well now I am confused, are you using Mys v1.3.2's code now? If your site is still a Mys v1.3.1 site, you need to replace variables beginning with $mysidia by their equivalent Mys v1.3.1 variables. Some examples are given below:


$mysidia->user->username => $GLOBALS['loggedinname'];
$mysidia->input->get($param) => $_POST[$param];
$mysidia->input->post($param) => $_POST[$param];
$mysidia->page->settitle("") => $article_title = "";
$mysidia->page->addcontent("") => $article_content .= "";
$mysidia->user->isloggedin() => $GLOBALS['isloggedin'];
$mysidia->output() => echo showpage($article_title, $article_content, $template);


There is no counterpart of $mysidia->user->getstatus() in Mys v1.3.1 though, so you have to get rid of all code associated with them.

SilverDragonTears
12-12-2012, 03:51 PM
I'm not sure I would know what to change everything to :( Sadly I guess I can't use this right now.

Hall of Famer
12-12-2012, 04:07 PM
Well... Would you mind starting a new thread in the questions & Support subforum? Id like to see what I can do to help you there, this thread will be reserved for newbies and old members who can upgrade their sites.

SilverDragonTears
12-12-2012, 04:16 PM
Sure thing :)

AlexC
12-13-2012, 03:17 PM
Er... I've upgraded to the newest version, but I can't seem to access the admin control panel? I logged in, got an error at the top of the page, something about the header being sent twice? I ignored it because it wasn't affecting anything else, but when I went elsewhere in the ACP, it started giving me "you can not access the acp" messages.

Hall of Famer
12-13-2012, 03:26 PM
umm are you running the site on a PHP 5.3 server? Its strange though, some people do get header being sent twice error, it is one of the problems even I get frequently. In most cases it is because the ACP theme aint loaded successfully.

AlexC
12-13-2012, 03:30 PM
I'm running Php 5.3.19 and MySQL 5.5.27. And the theme seems to be working just fine.

Hall of Famer
12-13-2012, 03:44 PM
umm thats weird... Does your site url has http:// or www.?

AlexC
12-13-2012, 03:46 PM
firefox is weird and hides them, but normally its rattiesftw.com minus a www.

also, I'm getting the following error trying to access a certain shop;

Fatal error: Call to a member function select() on a non-object in /home/rattie/domains/rattiesftw.com/public_html/classes/class_item.php on line 20

Hall of Famer
12-13-2012, 03:54 PM
Well without http:// or www it can get you into some problem, if the ACP aint working you better take a look at what the url is saying whenever you access ACP. If the url appears to be weird looking(such s having two http's), you know you get a problem.

umm did you just upgrade rather than installing a new copy? If so, are you sure the upgrade is performed successfully? Did you replace all old script files? If not, search for the class files and see if you have deprecated variable $adopts. Replace all instances of $adopts by $mysidia->db. This should do the tricky.

AlexC
12-15-2012, 08:35 AM
I do normally use without www. I've been trying to use www. more and that seems to have fixed the acp problem. I'm not sure how to redirect my domain so it shows up as www. everytime though. ;-;

I looked through the files and I do seem to have the mysidia->db variable.

pachoofoosh
12-15-2012, 10:48 AM
Your host appears to have not installed mysql driver for PDO, its weird. Please contact them to see if they can get mysql driver for you, if not I will figure out a solution for you to get by using a different driver.

*sigh* Perhaps its time for this script to go multi-database drivers, instead of having mysql-only.

Okay, thanks for the help! :happycbig:
I contacted my host to see if they could install a PDO Driver for MySQL; now to wait and see. :usedusedused:

Hall of Famer
12-15-2012, 03:44 PM
Well check if your host has PHP 5.3 on its server, if not you better just move host rather than wait for them to make changes. Its a different story though if you use a paid-host, they usually are much more reliable and can perform server upgrade for ya.

redheadturkey
01-10-2013, 08:44 AM
Hey!

Just installed this on a server running php 5.4.6 - got it all installed just fine, went through the whole installation, then when I got to the 'you need to log in before you can access the CP part' ---- this is what I got---------and the actual Admin section DID come up just fine, I just couldn't do anything there because of not being logged in ( it did make my account too) :

Fatal error: Uncaught exception 'Exception' with message 'Fatal Error: Class PDO either does not exist!' in /home/zpxarxwa/public_html/classes/class_loader.php:26 Stack trace: #0 [internal function]: Loader->load('PDO') #1 /home/zpxarxwa/public_html/classes/class_database.php(3): spl_autoload_call('PDO') #2 /home/zpxarxwa/public_html/classes/class_loader.php(20): include('/home/zpxarxwa/...') #3 [internal function]: Loader->load('Database') #4 [internal function]: spl_autoload_call('Database') #5 /home/zpxarxwa/public_html/classes/class_mysidia.php(65): class_exists('Database') #6 /home/zpxarxwa/public_html/classes/class_mysidia.php(30): Mysidia->loaddb() #7 /home/zpxarxwa/public_html/inc/init.php(26): Mysidia->__construct() #8 /home/zpxarxwa/public_html/vmessage.php(3): require('/home/zpxarxwa/...') #9 {main} thrown in /home/zpxarxwa/public_html/classes/class_loader.php on line 26


I can't imagine what's wrong since it did have the AdminCP part come up fine.

The site itself won't come up at all except for the AdminCP, as far as I can tell. I do have some files on the site from an older Mysidia I was toying with using-----should I re-install all the files for just the latest installation, or is that not causing this? Thanks! :)

PS the sites at: http://www.equus-sim.com

Hall of Famer
01-10-2013, 01:13 PM
umm it seems to me that your server does not have PDO? Do you run your own server? If so, compile PDO with the instruction given on PHP manual site. If you are with a host, contact them and ask to have PDO installed/enabled.

pachoofoosh
01-10-2013, 03:36 PM
Well check if your host has PHP 5.3 on its server, if not you better just move host rather than wait for them to make changes. Its a different story though if you use a paid-host, they usually are much more reliable and can perform server upgrade for ya.
Yup, they're a paid host and are using 5.3. ^^ It must be the PDO driver is messed up somehow. :o

I've contacted them a few times through support tickets, and each time they've responded with nothing helpful. :P I asked them if they could check if the PDO driver was configured correctly, because I was getting errors when the script tried to write the config file and access the site, and I got back this:

Hello,
Thank you for your inquiry. Unfortunately it is not possible to write a file into a directory which does not have writable permissions. I have created the config.php file in this directory and set it as writable, you should now be able to proceed with the installation as long as that is the only file which requires to be written.

If this is unsuccessful and other files need to be written in the directory, you may want to momentarily set writable permissions on that directory for installation purposes. Ensure you remove them upon completion of installation. These permissions can be set using the Brinkster File Manager located within the control panel. If you have further questions please let us know, we will be glad to provide further assistance. Have a great day.

So i'm assuming that the PDO errors might be happening because the script is trying to use PDO when it is not accessible? :o
I guess i'll just look for another host to use for my website if they can't allow the PDO driver to be used. :P

Hall of Famer
01-10-2013, 04:01 PM
Well PDO is required for this script, and in fact every webhost should have it enabled. The only one used to have this problem was x10hosting, but it only happened to one or their four servers since that server was malfunctioning. I've never encountered a webhost that actually disables PDO by default, more like something goes wrong with its server. If there's a webhost who goes as far as disable PDO, it goes out of business quickly.

pachoofoosh
01-15-2013, 07:05 PM
I managed to get PDO enabled and the php is version 5.3 now, and i've re-installed the script. :D

Although I have noticed there are a lot of php warnings everywhere when I browse my site:

(I've removed the beginning of the file paths for security :3)
Notice: Undefined index: REQUEST_URI in \webroot\www.fuzzified.com\classes\class_admin.php on line 18

Notice: Undefined index: REQUEST_URI in \webroot\www.fuzzified.com\classes\class_input.php on line 78
Notice: Undefined variable: margin in \webroot\www.fuzzified.com\classes\class_paginatio n.php on line 50

Notice: Undefined variable: padding in \webroot\www.fuzzified.com\classes\class_paginatio n.php on line 50Notice: Undefined variable: styleoptions in \webroot\www.fuzzified.com\changestyle.php on line 21
Warning: Cannot modify header information - headers already sent by (output started at \webroot\www.fuzzified.com\classes\class_admin.php :18) in \webroot\www.fuzzified.com\online.php on line 5
Notice: Undefined property: stdClass::$yim in \webroot\www.fuzzified.com\classes\class_member.ph p on line 358

Also when I try to log into the ACP, it keeps logging me out. .o. Could that be because of the "REQUEST_URI" notices?

Hall of Famer
01-15-2013, 09:21 PM
Nope, this shouldnt be the cause of your error. You are getting lots of notice warnings, these usually are suppressed by the server. You may ask your host to disable notice warnings.

pachoofoosh
01-16-2013, 04:15 PM
Okay. :3 I've disabled errors, but it still doesn't seem to let me log into the ACP. I'm putting "http://www." Before the domain name, and I've typed in my username and password correctly, but it just sends me back to the login page. :o

Although I've noticed in the URL, that after I try to login to the ACP, it sends me to "admincp/index/index/" instead of just "admincp/index/". Is this normal? Sorry, I just don't want to mess anything up, as i'm still rather new to PHP. >u<




EDIT :: Fixed it! :DD

If you go into "lang/admincp/lang_index.php", find the section that says "$lang['login_form']", and find where it says "<form name='form' method='post' action='index'>", and then change the form action to "index.php". :D

ChibiMaestro
02-09-2013, 09:10 AM
Wow. Love this! Especially the new ACP :)
It's much more organized and easier to edit the default page content too!

Just a question. When you visit the account.php page, and the content title says 'Username's account', what's the code that makes you show the username's name? I can't find it anywhere?
I want to find it to use on the side bar, e.g. 'Hi there Username!'.
Thanks :D
_
EDIT:
Also, where can I edit the donation form on the donate.php? Just that I want to add padding to the left to move it across (aesthetic reasons as the donation form is not inline with the content).

Empress_Swanbottom
02-09-2013, 11:10 AM
I'm not 100% positive, but I believe it's {USERNAME}

Abronsyth
02-09-2013, 01:37 PM
Chibi, to include the username in the side bar use this:
{$mysidia->user->username}

For the donate page...hm...I can't seem to find it. Checked the lang_donate.php file as well as several others that may or may not have been relevant, but can't find it.

ChibiMaestro
02-09-2013, 02:15 PM
Thanks Pero :) That worked!
In lang_donate.php, there's no mention of the form o-o

Hall of Famer
02-09-2013, 03:48 PM
@ Chibi: Check the file class_member.php, the donation form is currently stored in that library file. I know its absurd, will fix this kind of confusion and inconsistency in future releases.

ChibiMaestro
02-10-2013, 07:14 AM
Thanks Hof :)

Hall of Famer
05-01-2013, 07:24 AM
Thread locked.