Dinocanid |
12-16-2017 08:59 PM |
I managed to convert the main part of the script, which involves creating groups and sorting pets on the myadopts index.
http://www.clipular.com/c/5136285479...3wLqmwuS_9ZWD0
That's the table setup for adopts_pet_groups. You need new column in owned_adoptables called "pet_group". (Not "group! "group" is a reserved name in phpMyAdmin.) Also make sure that "default as defined" is set to 0.
I did the entire thing in blank.php/blankview.php for testing purposes, so that's why it looks the way it does.
PHP Code:
<?php class BlankView extends View{ public function index(){ $mysidia = Registry::get("mysidia"); $document = $this->document; $document->setTitle("<center>Sort Testing!</center>"); //pet group variables? I think? if ($_SERVER['REQUEST_METHOD'] == 'POST') { $group = $_REQUEST["group"]; } //var end //convenient vars $username = $mysidia->user->username; $uid = $mysidia->user->uid; //var end //Pet sorting! if(!$group == ""){ if(!is_numeric($group)){ $document->setTitle("No group"); $document->add(new Comment("Group does not exist.")); return; } else{ $row = $mysidia->db->select("pet_groups", array(), "uid='{$uid}' and id='{$group}'")->fetchObject(); if($row->id == $group and $row->uid == $uid){ $groupquery = "AND pet_group = '{$group}'"; } else{ // Invalid group $article_title = "No group"; $article_content = "Group does not exist."; } } } else{ $groupquery = "AND pet_group = '0'"; } // We need to get all of the user's adoptables from the database and display them... $rowsperpage = 10; //$pagination = new Pagination($adopts, $query, $rowsperpage, "http://".constant("DOMAIN").constant("SCRIPTPATH")."/stable.php?group={$group}"); //$pagination->setPage($_GET[page]); $pagination = new Pagination($total, 10, "myadopts"); $pagination->setPage($mysidia->input->get("page")); //$stmt = $mysidia->db->query($query); $stmt = $mysidia->db->select("owned_adoptables", array("aid"), "owner = '{$mysidia->user->username}' {$groupquery} ORDER BY totalclicks LIMIT {$pagination->getLimit()},{$rowsperpage}"); $groups = ""; // Get groups $stmt2 = $mysidia->db->select("pet_groups", array(), "uid='{$uid}'"); $document->add(new Comment(" <b>Group:</b><br> <form method='post' action='blank'> <select name='group' id='group'> <option value='0'>Ungrouped</option>")); while($row = $stmt2->fetchObject()) { $id = $row->id; $name = $row->name; $document->add(new Comment("<option value='{$id}'>{$name}</option>")); } $document->add(new Comment(" </select><br> <input type='submit' value='Go'> </form> <a href='blank/creategroup'>Create a new group</a> | <a href='blank/deletegroup'>Delete a group</a> <br><br> <table class='table table-bordered table-dark'> <thead> <tr> <th>Image</th> <th>Info</th> <th>Action</th> </tr> </thead> <tbody>", FALSE)); while($row = $stmt->fetchObject()){ $adopt = new OwnedAdoptable($row->aid); $image = $adopt->getImage(); $document->add(new Comment(" <tr> <td><img src='{$adopt->getImage()}'></td> <td><b><em>{$adopt->getName()}</b></em><br></br> Level {$adopt->getCurrentLevel()}<br></br> {$Gender}</td> <td><a href='/myadopts/manage/{$row->aid}' class='btn btn-primary' style='width:200px; height:auto;'>Manage</a></td> </tr> ", FALSE)); } $document->add(new Comment("</table><br /><br />{$pagination->showPage()}")); //Sorting end } public function creategroup(){ $mysidia = Registry::get("mysidia"); $document = $this->document; $username = $mysidia->user->username; $uid = $mysidia->user->uid; //$document->setTitle("<center>Sort Testing!</center>"); $groupCount = $mysidia->db->select("pet_groups", array("uid"), "uid = '{$mysidia->user->uid}'")->rowCount(); if($groupCount >= 5) { $document->setTitle("<center>Sorry!</center>"); $document->add(new Comment("You can only have 5 groups. <br><br> <a href='myadopts'>Go back?</a>")); } else{ $document->setTitle("<center>Create a new group</center>"); $document->add(new Comment(" <form method='post' action='creategroup'> <b>Group Name:</b> <br> Max length is 15.<br> <input type='text' name='groupname' id='groupname' maxlength='15' /><br> <input type='submit' name='submit'> </form> <a href='/blank'>Go back</a>")); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $groupCount = $mysidia->db->select("pet_groups", array("uid"), "uid = '{$mysidia->user->uid}'")->rowCount(); if($groupCount >= 5) { $document->setTitle("<center>Sorry!</center>"); $document->add(new Comment("You can only have 5 groups. <br><br> <a href='myadopts'>Go back?</a>")); } else{ $groupname = $_REQUEST["groupname"]; $mysidia->db->insert("pet_groups", array("username" => $username, "uid" => $uid, "name" => $groupname)); $group = $mysidia->db->select("pet_groups", array(), "name='{$groupname}' and uid='{$uid}'")->fetchObject(); $id = $group->id; $document->setTitle("Created group ''{$groupname}''"); $document->add(new Comment(" You created a new group called '{$groupname}'.<br><br> <a href='/blank'>Go back</a>")); } } } public function deletegroup(){ $mysidia = Registry::get("mysidia"); $document = $this->document; $username = $mysidia->user->username; $uid = $mysidia->user->uid; $stmt2 = $mysidia->db->select("pet_groups", array(), "uid='{$uid}'"); //$document->setTitle("<center>Sort Testing!</center>"); $groupCount = $mysidia->db->select("pet_groups", array("uid"), "uid = '{$mysidia->user->uid}'")->rowCount(); if($groupCount = 0) { $document->setTitle("<center>Sorry!</center>"); $document->add(new Comment("You don't have any groups. <br><br> <a href='/blank'>Go back?</a>")); } else{ $document->setTitle("<center>Delete a group</center>"); $document->add(new Comment(" <b>Group:</b><br> <form method='post' action='deletegroup'> <select name='group' id='group'> <option value='0' {$selected}>Ungrouped</option>")); while($row = $stmt2->fetchObject()) { $id = $row->id; $name = $row->name; $document->add(new Comment("<option value='{$id}'>{$name}</option>")); } $document->add(new Comment(" </select><br> <input type='submit' value='Go'> </form> <a href='/blank'>Go back</a>")); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { $group = $_REQUEST["group"]; $group_info = $mysidia->db->select("pet_groups", array(), "id='{$group}' and uid='{$uid}'")->fetchObject(); $document->setTitle("Deleted ''{$group_info->name}''"); $document->add(new Comment(" '{$group_info->name}' has been deleted. All pets organized under it are now ''ungrouped''.<br><br> <a href='/blank'>Go back</a>")); $mysidia->db->update("owned_adoptables", array("pet_group" => 0), "pet_group = '{$group}'"); $mysidia->db->delete("pet_groups", "uid='{$uid}' AND id = '{$group}'"); } } } ?>
PHP Code:
<?php
class BlankController extends AppController{
public function index(){ $mysidia = Registry::get("mysidia"); } public function creategroup(){ $mysidia = Registry::get("mysidia"); } public function deletegroup(){ $mysidia = Registry::get("mysidia"); } } ?>
This version doesn't use AJAX, but it basically works the same. It just handles the variables internally instead of passing it to the URL.
|