Mysidia Adoptables Support Forum  

Home Community Mys-Script Creative Off-Topic
Go Back   Mysidia Adoptables Support Forum > Mysidia Adoptables > Addons and Modifications > Mys v1.3.x Mods

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 06-13-2017, 11:28 AM
Dinocanid's Avatar
Dinocanid Dinocanid is offline
Member
 
Join Date: Aug 2016
Location: Maryland, USA
Posts: 516
Gender: Unknown/Other
Credits: 79,295
Dinocanid is on a distinguished road
Default Pet Sorting

Pet Sorting mod (Mys 1.3.4)
Description: A non-invasive and minimal mod that allows users to sort their pets according to total clicks, gender, level, and name; without the use of javascript or ajax. This can easily be extended on to allow more sorting options as well (like species).
  Spoiler: Screenshot 


-Step 1-
Go into phpMyAdmin and add a new column in users_options:


-Step 2-
Open up myadopts.php and replace the entire public function index with this:
PHP Code:
    public function index(){
        
$mysidia Registry::get("mysidia");
        
$total $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}'")->rowCount();
        
$pagination = new Pagination($total10"myadopts");
        
$pagination->setPage($mysidia->input->get("page"));    
        
        
//Attempting to sort!
        
$sort $mysidia->db->select("users_options", array("petsort"), "username = '{$mysidia->user->username}'")->fetchColumn();
            switch (
$sort){
    case 
'clicks'
        
$stmt $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}' ORDER BY totalclicks LIMIT {$pagination->getLimit()},{$pagination->getRowsperPage()}");
        break;
    case 
'gender'
        
$stmt $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}' ORDER BY gender LIMIT {$pagination->getLimit()},{$pagination->getRowsperPage()}"); 
        break;
    case 
'level'
        
$stmt $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}' ORDER BY currentlevel LIMIT {$pagination->getLimit()},{$pagination->getRowsperPage()}");
        break;
    case 
'name'
        
$stmt $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}' ORDER BY name LIMIT {$pagination->getLimit()},{$pagination->getRowsperPage()}");
        break;
}
        
        
//Sorting ends here!
        
$this->setField("pagination"$pagination);
        
$this->setField("stmt", new DatabaseStatement($stmt));
    } 
-Step 3-
Finally, open myadoptsview.php and place this wherever you want the dropdown to be (I placed it above the table for adopts)
PHP Code:
//This is for sorting!
         
if($mysidia->input->post("sortpets")){
$choice $mysidia->input->post("sortlist");
$mysidia->db->update("users_options", array("petsort" => $choice), "username = '{$mysidia->user->username}'");
$document->add(new Comment("<meta http-equiv='refresh' content='0;url=/myadopts' />")); 
}
         
        
$sortForm = new Form("sortform""""post");
        
$sort_list = new DropdownList("sortlist");
        
$sort_list->add(new Option("Clicks""clicks"));
        
$sort_list->add(new Option("Gender""gender"));
        
$sort_list->add(new Option("Level""level"));
        
$sort_list->add(new Option("Name""name"));
        
$sortForm->add(new Comment("<b>Sort by:</b>"FALSE));
        
$sortForm->add($sort_list);
        
$sortForm->add(new Button("Sort Pets""sortpets""submit"));
        
$document->add($sortForm);
        
        
//Sorting ends here!!! 
  Spoiler: Different codes for refreshing 

It is also possible to refresh the page with:
PHP Code:
header("Location: $root/myadopts");
 
exit; 
Or:
PHP Code:
header("Location: /myadopts");
 
exit; 
But this might not work for everyone


(Also if anyone knows how to safely place the button next to the dropdown box that would be great!)
__________________

Last edited by Dinocanid; 06-13-2017 at 11:31 AM.
Reply With Quote
  #2  
Old 06-13-2017, 11:55 AM
parayna's Avatar
parayna parayna is offline
Member
 
Join Date: May 2013
Location: Devon, UK
Posts: 342
Gender: Female
Credits: 22,730
parayna is on a distinguished road
Default

Yay mod XD I also added a new option to mine at the top that says 'Select an option...' and instead of making it throw an error I made it set the users sort to the default (clicks). That way it's like a reset button and is basically a blank option XD Purely for aesthetic reasons lol If it resets what they had before then they were probably trying to change it anyway, so.. XD
__________________
It's been a long time. I had so much fun making a site back in 2016 that recently, when I started thinking about it again, I decided to come back and work on something small. It'll probably just be a personal project but who knows? We'll see, anyway.

Reply With Quote
  #3  
Old 06-13-2017, 12:44 PM
Abronsyth's Avatar
Abronsyth Abronsyth is offline
A Headache Embodied
 
Join Date: Aug 2011
Location: NY
Posts: 1,011
Gender: Male
Credits: 133,636
Abronsyth is on a distinguished road
Default

This is splendid, easy to edit, and simple to set up!!

Thank you very much for sharing, it is definitely a feature users appreciate!
__________________
My Mods Site (1.3.4, 2020 Mods)
Reply With Quote
  #4  
Old 08-09-2018, 06:15 AM
draugluin's Avatar
draugluin draugluin is offline
Member
 
Join Date: Oct 2011
Location: germany
Posts: 120
Gender: Unknown/Other
Credits: 12,565
draugluin is on a distinguished road
Default

Ah.. this is GREAT !! thank you Dinocanid !
Reply With Quote
  #5  
Old 07-19-2020, 07:03 PM
Missy Master's Avatar
Missy Master Missy Master is offline
Pet-Sim.Online
 
Join Date: Jan 2010
Posts: 475
Gender: Unknown/Other
Credits: 64,555
Missy Master is an unknown quantity at this point
Default

Late to the game but very nice Mod, have it installed and working, thank you!!
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 -5. The time now is 06:24 PM.

Currently Active Users: 699 (0 members and 699 guests)
Threads: 4,081, Posts: 32,032, Members: 2,016
Welcome to our newest members, jolob.
BETA





What's New?

What's Hot?

What's Popular?


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
vBCommerce I v2.0.0 Gold ©2010, PixelFX Studios
vBCredits I v2.0.0 Gold ©2010, PixelFX Studios
Emoticons by darkmoon3636