Thread: Mys 1.3.4 Raffle Mod
View Single Post
  #3  
Old 01-27-2017, 05:42 PM
Dinocanid's Avatar
Dinocanid Dinocanid is offline
Member
 
Join Date: Aug 2016
Location: Maryland, USA
Posts: 516
Gender: Unknown/Other
Credits: 65,500
Dinocanid is on a distinguished road
Default

With the ACP I didn't know how to make it affect the raffle page itself. While attempting to make it time-based through the ACP (start and end on a certain date), I found myself breaking much of the code that already worked so I stopped and kept what I had.

As for the error, that's weird since I literally just copy-pasted the code I had and it works fine for me. Did you try it again? I'll put my code here again just in case there is a difference in it somewhere, but there shouldn't be any:

PHP Code:
<?php 

use Resource\Native\String
use 
Resource\Collection\LinkedList

class 
RaffleView extends View
     
    public function 
index(){ 
        
$mysidia Registry::get("mysidia"); 
        
$document $this->document;         
            
$document->setTitle("Raffles"); 
                
$pool $mysidia->db->select("raffle", array("pool"))->fetchColumn(); 
                
$ticketcheck $mysidia->db->select("raffle_tickets")->rowCount(); 
                
$rafflecheck $mysidia->db->select("raffle")->rowCount(); 
                
$moneyvalidate $mysidia->user->getcash(); 
                 
               
//This part picks a winner from the database 
if($mysidia->input->post("win")){ 
//This checks if any tickets have been bought. 
if($ticketcheck 1){ 
$document->add(new Comment("<font color='red'>This raffle had no entries! A winner was not chosen.</font>")); 

else{ 
$winner $mysidia->db->select("raffle_tickets", array("owner"), "1 ORDER BY RAND() DESC LIMIT 1")->fetchColumn(); 
$winnermoneycheck $mysidia->db->select("users", array("money"), "username = '$winner'")->fetchColumn(); 
$mysidia->db->update("users", array("money" => ($winnermoneycheck $pool)), "username = '$winner'"); 
$document->add(new Comment"<font color='green'>{$winner} won {$pool} CURRENCY from the raffle!</font>")); 
$mysidia->db->query("TRUNCATE TABLE adopts_raffle_tickets"); 
$mysidia->db->query("TRUNCATE TABLE adopts_raffle"); 
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
return 
TRUE


//This starts a new raffle. For good measure, it deletes the previous raffle before making a new one. 
if($mysidia->input->post("new")){ 
$mysidia->db->query("TRUNCATE TABLE adopts_raffle_tickets"); 
$mysidia->db->query("TRUNCATE TABLE adopts_raffle"); 
$mysidia->db->insert("raffle", array("pool" => 0)); 
$document->add(new Comment"A new raffle has been started.")); 
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
return 
TRUE
}        
               
       
//This part adds the number of tickets the user buys to the database 
if($mysidia->input->post("buy")){ 
$chosenOption $mysidia->input->post("myList"); 
    if(
$chosenOption == "5"){ 
        if(
$moneyvalidate 25){ 
               
$document->add(new Comment("You cannot afford this!")); 
               
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
               return 
TRUE
               } 
               else{ 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->user->changecash(-25); 
        
$mysidia->db->update("raffle", array("pool" => ($pool 25))); 
        
$document->add(new Comment"You bought 5 tickets!")); 
        
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
return 
TRUE

           } 
    elseif(
$chosenOption == "10"){ 
    if(
$moneyvalidate 50){ 
               
$document->add(new Comment("You cannot afford this!")); 
               
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
               return 
TRUE
               } 
               else{ 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->user->changecash(-50); 
        
$mysidia->db->update("raffle", array("pool" => ($pool 50))); 
        
$document->add(new Comment"You bought 10 tickets!")); 
        
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
return 
TRUE

           } 
    elseif(
$chosenOption == "15"){ 
    if(
$moneyvalidate 75){ 
               
$document->add(new Comment("You cannot afford this!")); 
               
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
               return 
TRUE
               } 
               else{ 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->user->changecash(-75); 
        
$mysidia->db->update("raffle", array("pool" => ($pool 75))); 
        
$document->add(new Comment"You bought 15 tickets!")); 
        
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
return 
TRUE

           }            
    elseif(
$chosenOption == "20"){ 
    if(
$moneyvalidate 100){ 
               
$document->add(new Comment("You cannot afford this!")); 
               
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
               return 
TRUE
               } 
               else{ 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->db->insert("raffle_tickets", array("owner" => $mysidia->user->username)); 
        
$mysidia->user->changecash(-100); 
        
$mysidia->db->update("raffle", array("pool" => ($pool 100))); 
        
$document->add(new Comment"You bought 20 tickets!")); 
        
$document->add(new Comment("<meta http-equiv='refresh' content='1;url=raffle' />")); 
return 
TRUE

           }   
        } 
        
               
                 
                
//This section can only be seen by admins! 
if($mysidia->user instanceof Admin){ 
$document->add(new Comment"<h2>-Admin Section-</h2>")); 
         
$document->add(new Comment"Choosing a winner will end the current raffle. Starting a new raffle will end the current one, but will not pick a winner.")); 
          
$adminForm = new FormBuilder("adminForm""""post"); 
  
$adminForm->buildButton("Choose a winner!""win""submit"); 
  
$adminForm->buildButton("Start new raffle""new""submit"); 
        
$document->add($adminForm);    
                     
        } 
     
    
//This checks if a raffle is going on. 
    
if($rafflecheck 1){ 
$document->add(new Comment("<font color='red'><h2>There is no raffle going on right now. Come back later!</h2></font>")); 
return 
TRUE
}     
         
                if(
$pool 1){ 
                
$document->add(new Comment"There is currently 0 CURRENCY in the pool!")); 
$document->add(new Comment"It costs 5 CURRENCY per ticket.")); 
$document->add(new Paragraph()); 
                } 
                else{ 
$document->add(new Comment"There is currently {$pool} CURRENCY in the pool!")); 
$document->add(new Comment"It costs 5 CURRENCY per ticket.")); 
$document->add(new Paragraph()); 



//This section checks the date! It's commented out since it isn't being used. 
      //$currenttime = time(); 
     // $timerange = array(strtotime($this->stopdate)); 
        // if(!empty($timerange[1]) and $currenttime > $timerange[1]){ 
             // The raffle has ended! 
            // $winner = $mysidia->db->select("raffle_tickets", array("owner"), "1 ORDER BY RAND() DESC LIMIT 1")->fetchColumn(); 
                        // $document->add(new Comment( "{$winner} won {$pool} CURRENCY from the raffle! Congratulations!"));     
                        // $endraffle = TRUE; 
        // } 
         //else{ 
   
//This is the ticket form! 
$ticketForm = new FormBuilder("ticketForm""""post"); 
$exampleDropdown = new DropdownList("myList"); 
$exampleDropdown->add(new Option("5 tickets""5"));  
$exampleDropdown->add(new Option("10 tickets""10")); 
$exampleDropdown->add(new Option("15 tickets""15")); 
$exampleDropdown->add(new Option("20 tickets""20")); 
$ticketForm->buildComment("Amount: "FALSE); 
$ticketForm->add($exampleDropdown); 
$ticketForm->buildComment("<br></br>"); 
  
$ticketForm->buildButton("Buy tickets""buy""submit"); 
        
$document->add($ticketForm); 
         

//}         
         
    


?>
(^ raffleview.php)

PHP Code:
<?php

use Resource\Native\String;
use 
Resource\Collection\LinkedList;

class 
RaffleController extends AppController{
    
    public function 
index(){
        
$mysidia Registry::get("mysidia");
        }             
}
?>
(^ raffle.php)
__________________
Reply With Quote