/** * Get a value from the database from this specific guess. * * @param string $columnName The column name. * * @return mixed The value. * * @throws Exception Throws if an error occurred. */ private function getDatabaseValue($columnName) { // Prepare a query for the database to list guesses with this ID $statement = Database::getPDO()->prepare('SELECT ' . $columnName . ' FROM ' . GuessManager::getDatabaseTableName() . ' WHERE guess_id=:id'); $statement->bindParam(':id', $this->id, PDO::PARAM_INT); // Execute the prepared query if (!$statement->execute()) { throw new Exception('Failed to query the database.'); } // Return the result $data = $statement->fetch(PDO::FETCH_ASSOC); return $data[$columnName]; }
/** * Get the number of guesses left for this client. * * @return int Number of guesses left. * * @throws Exception Throws if an error occurred. */ public static function getClientGuessesLeft() { return max(GuessManager::getMaximumGuessesPerClient() - self::getClientGuessCount(), 0); }
<fieldset data-role="controlgroup" data-type="vertical" class="ui-shadow ui-corner-all"> <?php if (!GuessManager::hasClientGuesses()) { ?> <a href="guess.php" class="ui-btn ui-icon-plus ui-btn-icon-left">Schatting insturen</a> <?php } elseif (GuessManager::hasClientGuessesLeft()) { ?> <a href="guess.php" class="ui-btn ui-icon-plus ui-btn-icon-left">Schatting voor een ander insturen</a> <?php } ?> <a href="overview.php" class="ui-btn ui-icon-info ui-btn-icon-left">Overzicht bekijken</a> <?php if (GuessManager::hasClientGuesses()) { ?> <a href="myguesses.php" class="ui-btn ui-icon-bullets ui-btn-icon-left">Mijn schattingen</a> <?php } ?> </fieldset> </div> <?php PageFooterBuilder::create()->build(); ?> </div> <?php // Include the page bottom require_once 'bottom.php';
} else { ?> <p><i>Je hebt nog geen schattingen ingestuurd.</i></p> <?php } // Check whether this client has any guesses left, if so, show the entry button if (GuessManager::hasClientGuessesLeft()) { ?> <br /> <fieldset data-role="controlgroup" data-type="vertical" class="ui-shadow ui-corner-all"> <?php if (!GuessManager::hasClientGuesses()) { ?> <a href="guess.php" class="ui-btn ui-icon-plus ui-btn-icon-left">Schatting insturen</a> <?php } elseif (GuessManager::hasClientGuessesLeft()) { ?> <a href="guess.php" class="ui-btn ui-icon-plus ui-btn-icon-left">Schatting voor een ander insturen</a> <?php } ?> </fieldset> <?php } ?> </div> <?php PageFooterBuilder::create()->build(); ?> </div>
<?php use app\guess\GuessManager; use app\util\AccountUtils; // Initialize the ajax scripts require_once 'ajaxinit.php'; // Make sure all parameters are set if (!isset($_GET['guess_first_name']) || !isset($_GET['guess_last_name']) || !isset($_GET['guess_mail']) || !isset($_GET['guess_weight'])) { returnError("Received invalid data. Some parameters are missing."); } // Get all parameters $firstName = $_GET['guess_first_name']; $lastName = $_GET['guess_last_name']; $mail = $_GET['guess_mail']; $weight = $_GET['guess_weight']; // Make sure the full name is valid if (!AccountUtils::isValidName($firstName) || !AccountUtils::isValidName($lastName)) { returnError("Ongeldige naam."); } // Make sure the mail is valid if (!AccountUtils::isValidMail($mail)) { returnError("Ongeldig E-mail adres."); } // TODO: Make sure the guessed value is valid! if (!GuessManager::hasClientGuessesLeft()) { returnError("Maximum aantal schattingen overschreden."); } // Add the guess $guess = GuessManager::createGuess($firstName, $lastName, $mail, $weight); // Return the result with JSON returnJson(array('result' => 'success'));
<?php use app\guess\Guess; use app\guess\GuessManager; // Initialize the ajax scripts require_once 'ajaxinit.php'; // Get all guesses $guesses = GuessManager::getGuesses(); $clientGuesses = GuessManager::getClientGuesses(); // Create an array of guesses $guessesArray = array(); $clientGuessesArray = array(); // Add each guess to the data array foreach ($guesses as $guess) { // Validate the guess instance if (!$guess instanceof Guess) { returnError("Internal error occurred"); } // Append the guess $guessesArray[] = array('id' => $guess->getId(), 'firstName' => $guess->getFirstName(), 'weight' => $guess->getWeight()); } // Add each guess from this client to the data array foreach ($clientGuesses as $guess) { // Validate the guess instance if (!$guess instanceof Guess) { returnError("Internal error occurred"); } // Append the guess $clientGuessesArray[] = array('id' => $guess->getId(), 'firstName' => $guess->getFirstName(), 'lastName' => $guess->getLastName(), 'weight' => $guess->getWeight()); } // Return the result with JSON
echo __('pageStatus', 'currentStatusShownBelow'); ?> </p><br /> <table class="ui-responsive list-table"> <tr> <td><?php echo __('general', 'database'); ?> </td> <td><span style="color: green;">Connected!</span></td> </tr> <tr> <td>Schattingen</td> <td><?php echo GuessManager::getGuessCount(); ?> </td> </tr> <tr> <td>Sessie</td> <td><?php echo getSessionKey(); ?> </td> </tr> <tr> <td><?php echo __('pageStatus', 'uptime'); ?> </td>