Mysidia Adoptables v1.3.6[Security Release]

Forum
Last Post
Threads / Messages

Hall of Famer

Administrator
Staff member
Administrator
Joined
Dec 15, 2008
Messages
4,563
Points
48
Location
United States
Mysidian Dollar
214,216
It's been a few months since Mys v1.3.5 was released, and we will finally have Mys v1.3.6 which is projected to be the last release of Mys v1.3.x before we move on to the next major version. Compared to the previous releases, Mys v1.3.6 does not add major new features, but mostly are QoL updates. Below are a list of features/updates introduced in Mys v1.3.6


1. Full Fledged MVC architecture with proper data models:
Since version v1.3.2 we've been transitioning Mysidia Adoptables into MVC web project structure, and the progress is finally complete. Mys v1.3.6 will have a model layer that contain code for data access and business logic, and you can find model class files that represent each database table. The model layer currently uses active record, but we will be switching to data mapper/repository in Mys v1.4.0. There is also a service layer that handles application logic, which contain useful classes for application services, builders, validators, etc. If you are not a coder, theres no need to worry about this change. But if you are a programmer yourself, you'll find that Mys v1.3.6 looking a lot more 'modern' than the code that was written 10 years ago.

2. PHP 7/8 and MySQL 8 compatibility:
As most of you are aware of, the current Mysidia Adoptables aint compatible with PHP 7, and you will need a PHP 5.3-5.6 server to run it. As PHP 5 has long been outdated, it makes things inconvenient for some users who cannot use MysidiaHost. Also it limits the kind of third party library/software you can use together with Mysidia Adoptables. Fortunately, this will no longer be an issue in the upcoming Mys 1.3.6, it will be compatible with PHP 7/8. The minimum version has also been bumped from PHP 5.3 to 5.4, but I suspect that most of you will be running PHP 5.6 at least. On the other hand, Mys v1.3.6 is compatible with MySQL 8 and will work even if you have STRICT_TRANS_TABLE mode on. New servers on MysidiaHost will be using PHP 7.4 from now on, and you may read the blog post below to learn more about this compatibility update:


3. Custom Smarty Templates:
Starting in Mys v1.3.6 admins will find it possible to define custom smarty templates for HTML elements, instead of using the programmatic way of GUI API. It may not be useful for absolute beginners, but will make lives significantly easier for the advanced users who are customizing the built-in view/pages from original Mysidia Adoptables script, or even building their own views/pages. With this new addition, you will not have to wrap a long HTML string inside a HTML comment object if you do not know how to use the GUI API, simply define your template files in /templates/common directory and it will work like a charm. The custom smarty templates work especially well for contents that are mostly static, and you may read the blog post below to learn more about this update:


4. MyBB forum integration in ACP:
It appears that integration with MyBB forum is quite difficult for some users, and I've made it possible in Mys v1.3.6 for site admins to do this directly in ACP. You will still have to install your MyBB forum, and then you may simply go to ACP -> Settings -> Forum Integration and complete the form to integrate your MyBB forum with your adoptables site easily. Mysidia also checks if the forum can be integrated with your site, and it will complain if the user IDs from the adoptables site and MyBB forum databases cannot be synchronized. In this case, you will have to go to PhpMyAdmin to modify the auto-increment ID field for the users tables to make sure they match each other. Mys v1.3.6 works with the latest version of MyBB 1.8. For more details of this feature, read the blog post below to find out:


5. New Password Hashing using BCrypt:
Since PHP 5.5, the standard way to hash user password is to use bcrypt which is easy and more secure than any userland customized password hashing algorithm. Mys v1.3.6 will be using new bcrypt with password_hash to encrypt user password, it will make brute force hacking much more difficult than before. With this, the salt and pepper are no longer needed. For sites on old versions, upgrading to Mys v1.3.6's new password hash will be smooth. Users will just have to log in and the password will be automatically rehashed, theres no need to force password reset.

6. Miscellaneous QoL Updates:
There are a few more QoL updates other than the major ones listed above. For instance, it is now possible to edit the shop and alternate forms for existing adoptables after they are created. The CKEditor has been updated to version 4, with 3 different mode of text editors available for various purposes(ie. basic for shoutbox, standard for PM, full for site content editor in ACP). I've also changed several ACP fields from textboxes to dropdown lists, and this should sharply reduce the chance of newbie admins accidentally blowing up their sites. On the other hand, the database tables are now linked by integer IDs as foreign keys instead of string unique values such as adoptables type, username, item name, etc.


Installation Guide:
1. Use ftp to Upload the entire folder Mysidia Adoptables v1.3.6 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. Also change the CMD of the subfolders "cache", "compile" and "config" in your template folder to 777.
3. Rename the file config_adopts to config.php, otherwise the script will tell you config.php does not exist.
4. Access your site by the appropriate url and you will be automatically redirected to installation page, follow the instructions and proceed.
5. Congrats, you've successfully installed Mys v1.3.6, 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. Also make sure your server is running on PHP 5.4.0+ and supports PDO, the latter is especially important.


Upgrade Guide:
An upgrader from mys v1.3.5 is available, and should be easy to use. To upgrade, simply upload all script files to your folder and overwrite the existing ones. Then delete the admincp folder from your site, or the upgrader will not run. Now run the /install/upgrade.php script to complete this task, shouldnt take more than 30 secs. If you are upgrading from Mys v1.3.4, you will need to upgrade to Mys v1.3.5 first.

Do not use the upgrader if you have a site with heavily modified script! Mys v1.3.6 makes heavy changes to existing folder structure and architecture, so old mods/addons are not expected to work in the new version. I will convert some of my own plugins to Mys v1.3.6 compatible in the next few weeks. What can be sure is that the upgrader will not do its job if your script is highly customized, in this case you need to upgrade manually.


MyBB Forum Integration Guide:
With Mys v1.3.6, integration with MyBB forum will be a lot easier than before. Simply install your forum, then go to ACP to fill in some details, you will not need to touch the config_forums.php file at all. However, if you wish to integrate your forum manually somehow, you can still open the file and enter the fields one by one(dont forget to change mybbenabled from 0 to 1). Also it is highly recommended to disable registration on the forum and instead show a notice to your forum users to sign up on the adoptables site instead.


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

Internal Mirrors:
https://forums.mysidiaadoptables.com/index.php?resources/mysidia-adoptables-v1-3-6.13/

Mediafire Links:
zip: https://www.mediafire.com/file/398mcqnourbgitq/Mysidia+Adoptables+v1.3.6.zip
rar: https://www.mediafire.com/file/zgildvj29ekzlu7/Mysidia+Adoptables+v1.3.6.rar

4Shared Links:
zip: https://www.4shared.com/zip/gCl8SAg5ea/Mysidia_Adoptables_v136.html
rar: https://www.4shared.com/rar/bJlzUQT5iq/Mysidia_Adoptables_v136.html

Following Mys v1.3.6's release, we are done with Mys v1.3.x branch and development will completely shift to the next major release Mys v1.4.x(unless major issue in Mys v1.3.6 makes me decide to work on another minor new release). The next major version is projected to be available sometime between 2022 to 2023, it will add major new features such as Adoptable Stats system, Clangroup system, newly revamped ACP as well as a possible replacement of the current Trade system by Usershops. Stay tuned, and check Mysidia Official Blogs for any new updates that may come in the next few months.

Have a great day everyone. This hot summer will end soon, and I hope you will enjoy with the release of our new version.

Hall of Famer
August 28, 2021
 
Last edited:
Thats great to hear @pachoofoosh, lemme know if you encounter any issues. I've tested the script thoroughly and it should be free of major bugs. Also if you are on PHP 5.6 server before, its okay to upgrade to PHP 7/8 now.
:)
 
Hello! I installed new version
Could you please help me with item function? I created an Item, with function level1. But when I'm trying to use it on my adoptable, it shows:

an error has occurred...​

The item function specified is invalid...

also, in Manage Items page from acp, there is a function 0 (i tried a different functions with the same result)
dCE6W_yZXxA.jpg


Is there could be my mistake, or this is a bug? Please help, thank you)
(let me know, if you don't see the image)
 
Seems that the column for item function should be varchar(40) instead of INT(11). I will reupload the script later today to fix the issue in the installer script.

Edit: Thanks for reporting this bug, I've fixed it on your site so you should be fine now. The links in this thread has also been updated so the issue is considered fixed. :)
 
Last edited:
Checking in here and looks good, I had a really busy (health wise, the worst kind, not me but fam) year in 2021 and wasn't able to do much of what I wanted to, pet sim wise.

Things are finally looking up, and I like this update/upgrade a LOT!! :)

Great work HOF <3
 
Thank you for the kind comment Anna. The new version has not only introduced new features, but also some important changes of the code in the right direction. It will make transitions to future and modernized script a lot easier.
 
I have ran into a few problems, which i believe are game breaking.

Hybrid breeding DOES NOT WORK., the two adoptables will create a completely different adopt.
items DO NOT function. (an error page pops up)
Last ID for the Alt Images do not work.
Signature images STILL do not work.

its 2022, im sorry but without a proper knowledge of coding, any person downloading this hoping to create a site is going to be extremely frustrated. Im starting to learn PHP myself because at this point it seems like my only hope of actually having a pet site like Magistream/Dragon Cave that actually works just isnt going to happen with this script.
 
I have ran into a few problems, which i believe are game breaking.

Hybrid breeding DOES NOT WORK., the two adoptables will create a completely different adopt.
items DO NOT function. (an error page pops up)
Last ID for the Alt Images do not work.
Signature images STILL do not work.

its 2022, im sorry but without a proper knowledge of coding, any person downloading this hoping to create a site is going to be extremely frustrated. Im starting to learn PHP myself because at this point it seems like my only hope of actually having a pet site like Magistream/Dragon Cave that actually works just isnt going to happen with this script.

I dont remember there was any bugs with breeding system. Did you set up the breeding line in admin control panel properly? Regarding items, which items do not function? I believe most of them are functional. Regarding last ID, it is working but a bit tricky. You need to enter the last Alt ID, not the adoptable's ID. These two are different IDs, but yeah I understand it can be confusing. Also I believe signature images work, if they dont it may be an issue with your server configuration. If you are using Nginx or customized version of Apache, its necessary to configure them.
 
im using the script as of today. it doesnt work also, promocodes dont work as well. not sure if this is because i did something wrong but im running on a fresh install of 1.3.6. using dummy magi stream creatures as filler placements. and its not working.
 
Maybe you can show me what you did that didnt work in detail? I understand some things may be confusing to you.
 
So is this still going or has Famer finally moved onto something else? Or just taking a break? I dont mind either way, I'm just curious, and if I try this again I dont want to do it just before a new version drops. XD
 
Well currently I am a bit busy, got a new job at the beginning of this year. Things will settle down a bit next year though, and I will be able to develop more.
 
Not sure if it's better to post it here or on the help forum?

When trying to soft delete an adoptable:
Database error 1054 - Unknown column 'id' in 'where clause'
 
Not sure if it's better to post it here or on the help forum?

When trying to soft delete an adoptable:
Database error 1054 - Unknown column 'id' in 'where clause'
I am having the same issue. I'm familiar with databases but not enough to troubleshoot this.

There is a workaround that worked for me...
In your ACP, Edit Existing Adoptable, Choose the adoptable you're trying to soft delete and scroll down to where it says "Reset only the date condition for this adoptable to the following value:", check the box and enter a date already past, ex: 2023-10-31, and submit changes.

This will at least remove it from your adoptable availability until a database update is available.
 
Last edited:
@BellaDonna @Kandria in model/domainmodel/adoptable.php at line 181 you'll find the softDelete() function. Replace line 183 with the following:

PHP:
$mysidia->db->update("owned_adoptables", ["currentlevel" => 1], "aid = '{$this->id}' AND currentlevel = 0");

The change is in the final argument to the call to update(), where we change id to aid since owned_adoptables uses that name for its primary key column instead of the former.
 
@BellaDonna @Kandria in model/domainmodel/adoptable.php at line 181 you'll find the softDelete() function. Replace line 183 with the following:

PHP:
$mysidia->db->update("owned_adoptables", ["currentlevel" => 1], "aid = '{$this->id}' AND currentlevel = 0");

The change is in the final argument to the call to update(), where we change id to aid since owned_adoptables uses that name for its primary key column instead of the former.
I don't think this would work if you are soft deleting a specific adoptable breed. You would want the code to look like this:

PHP:
$mysidia->db->update("owned_adoptables", ["currentlevel" => 1], "adopt = '{$this->id}' AND currentlevel = 0");

The adopt field holds the id of the adoptable breed or type. aid holds the id of the specific individual adoptable that a user already owns of that breed.
 

Users who are viewing this thread

  • Forum Contains New Posts
  • Forum Contains No New Posts

Forum statistics

Threads
4,267
Messages
33,049
Members
1,602
Latest member
BerrieMilk
BETA

Latest Threads

Latest Posts

Top