public function execute() { global $gvOfficeCode; $deskList = Desk::fromDatabaseCompleteList(); $content = array(); if (!$deskList) { $content['ErrorCode'] = "AE004"; $content['ErrorMsg'] = "No desks in this office"; return $content; } $content['OfficeCode'] = $gvOfficeCode; $content['NumDesks'] = count($deskList); $content['Desks'] = array(); foreach ($deskList as $desk) { if ($desk->getOpCode() != null) { $ticket = Ticket::fromDatabaseByDesk($desk->getNumber()); if ($ticket) { $ticket = $ticket->getTextString(); } else { $ticket = ''; } } else { $ticket = ''; } $deskObj = array('Number' => $desk->getNumber(), 'Ticket' => $ticket); $content['Desks'][] = $deskObj; } return $content; }
public function execute() { global $gvPath; // Trim data $this->desk_number = trim($this->desk_number); $this->desk_ip_address = trim($this->desk_ip_address); // Data validation if ($this->desk_number === '' && $this->desk_ip_address === '') { $this->message = "Errore: tutti i campi sono obbligatori."; return true; } // desk_number should contain... numbers if (preg_match('/^[1-9][0-9]*$/', $this->desk_number) !== 1) { $this->message = "Errore: il numero dello sportello non è valido."; return true; } // Check ip_address if (!filter_var($this->desk_ip_address, FILTER_VALIDATE_IP)) { $this->message = "Errore: l'indirizzo IP non è valido."; return true; } $desk = Desk::fromDatabaseByNumber($this->desk_number); if ($desk && ($this->desk_id === 0 || $this->desk_id !== (int) $desk->getId())) { $this->message = "Errore: il numero sportello non è disponibile."; return true; } unset($desk); // Check ip is not taken $desk = Desk::fromDatabaseByIpAddress($this->desk_ip_address); $device = Device::fromDatabaseByIpAddress($this->desk_ip_address); if ($device || $desk && ($this->desk_id === 0 || $this->desk_id !== (int) $desk->getId())) { $this->message = "Errore: l'indirizzo IP è gia stato assegnato."; return true; } unset($desk); if ($this->desk_id === 0) { $desk = Desk::newRecord(); } else { $desk = Desk::fromDatabaseById($this->desk_id); } if ($desk->isOpen()) { $this->message = "Errore: il desk è aperto. Chiudere la sessione prima di continuare."; return true; } $desk->setNumber($this->desk_number); $desk->setIpAddress($this->desk_ip_address); if ($desk->save()) { gfSetDelayedMsg('Operazione effettuata correttamente', 'Ok'); $redirect = new RedirectOutput("{$gvPath}/application/adminDeskList"); return $redirect; } else { $this->message = "Impossibile salvare le modifiche. Ritentare in seguito."; return true; } }
private function removeDesk() { $desk_id = $_GET['desk_id']; $desk = Desk::fromDatabaseById($desk_id); if ($desk) { if ($desk->isOpen()) { return 'deskOpen'; } if ($desk->delete()) { return 'true'; } } return 'false'; }
public static function loginOperator($code) { $_SESSION['userLevel'] = Page::OPERATOR_USER; $_SESSION['op_code'] = $code; // Determine desk number $desk_ip_address = $_SERVER['REMOTE_ADDR']; $desk = Desk::fromDatabaseByIpAddress($desk_ip_address); if (!$desk) { session_destroy(); throw new UnknownDeskException(); } $_SESSION['desk_number'] = $desk->getNumber(); $desk->updateLastActivityTime(); $desk->setOpCode($code); $desk->save(); }
private function getTableBody() { global $gvPath; $desks = Desk::fromDatabaseCompleteList(); if (count($desks) === 0) { return '<tr><td colspan="3" class="noEntry">Nessuno sportello</td></tr>'; } $ret = ""; foreach ($desks as $desk) { $ret .= <<<EOS <tr> <td>{$desk->getNumber()}</td> <td>{$desk->getIpAddress()}</td> \t<td><a href="{$gvPath}/application/adminDeskEdit?desk_id={$desk->getId()}" class="tdEditLink">Modifica</a> <a class="ajaxRemove" href="{$gvPath}/ajax/removeRecord?desk_id={$desk->getId()}">Rimuovi</a></td> </tr> EOS; } return $ret; }
public function testGetHostname() { $hostname = Desk::getHostname('foobar'); $this->assertSame('https://foobar.desk.com', $hostname); }
private function getDesk() { if (!$this->desk) { if (isset($_SESSION['desk'])) { $this->desk = $_SESSION['desk']; } else { if (isset($_SESSION['desk_number'])) { $this->desk = Desk::fromDatabaseByNumber($_SESSION['desk_number']); } else { throw new Exception("Unable to retrieve operator's desk."); } } } return $this->desk; }
if ($content = getContentForRedirect($dev, (int) $deskNumber)) { $output = new JsonOutput(); $output->setContent($content); $output->output(); exit; } // Response is json $output = new JsonOutput(); $pageTicketCode = gfGetVar('ticketCode', ''); $pageTicketNumber = gfGetVar('ticketNumber', ''); $startTime = time(); while (time() - $startTime < 120) { sleep(1); // Check every second // Update table for session timed out $desk = Desk::fromDatabaseByNumber($deskNumber); $desk->isOpen(); $currentTicket = Ticket::fromDatabaseByDesk($deskNumber); if (!$currentTicket) { if ($pageTicketCode == '' && $pageTicketNumber == '') { // Still no ticket continue; } // Desk is closing send empty stuff $output->setContent(array('status' => 'changed', 'code' => '', 'number' => '')); $output->output(); die; } if ($currentTicket->getCode() != $pageTicketCode || $currentTicket->getNumber() != $pageTicketNumber) { // New ticket called $output->setContent(array('status' => 'changed', 'code' => $currentTicket->getCode(), 'number' => $currentTicket->getNumber()));
<?php include '../Setup.php'; $desks = Desk::fromDatabaseCompleteList(); foreach ($desks as $desk) { if (time() - $desk->getLastActivityTime() >= $gvSessionTimeout) { $desk->setLastActivityTime(null); $desk->setOpCode(null); $desk->save(); } } Database::getConnection()->commit();
private function getCombobox() { $ret = '<select name="dev_desk_number" id="dev_desk_number">'; $ret .= PHP_EOL . '<option value="0">Display di sala</option>'; foreach (Desk::getUsedDeskNumbers() as $num) { $selected = $this->dev_desk_number === $num ? ' selected' : ''; $ret .= "\n<option value=\"{$num}\"{$selected}>Display sportello {$num}</option>"; } $ret .= "\n</select>"; return $ret; }
<?php set_exception_handler(function (\Exception $e) { echo $e->getMessage() . "\n"; exit(1); }); foreach (glob('src/*.php') as $file) { require_once $file; } $desk = new Desk(); $args = $argv; array_shift($args); foreach ($args as $move) { $desk->move($move); } $desk->dump();
<?php require_once __DIR__ . '/vendor/autoload.php'; $desk = new \Desk(); $desk->addCell(new \Cell(3, 3, true)); $desk->addCell(new \Cell(3, 4, true)); $desk->addCell(new \Cell(3, 5, true)); $desk->addCell(new \Cell(5, 5, true)); $desk->addCell(new \Cell(6, 6, true)); $desk->addCell(new \Cell(6, 7, true)); $desk->addCell(new \Cell(7, 7, true)); $desk->addCell(new \Cell(6, 8, true)); $desk->addCell(new \Cell(6, 9, true)); $desk->addCell(new \Cell(2, 9, true)); $desk->addCell(new \Cell(3, 9, true)); $desk->addCell(new \Cell(5, 9, true)); $desk->addCell(new \Cell(9, 9, true)); $desk->addCell(new \Cell(9, 10, true)); $desk->addCell(new \Cell(10, 10, true)); $desk->addCell(new \Cell(13, 14, true)); $desk->addCell(new \Cell(13, 13, true)); $desk->addCell(new \Cell(13, 12, true)); $rules = new \Rules(); $renderer = new \Renderer(); $game = new \Game($desk, $rules, $renderer); $game->fetchGameStateInOutput(); for ($i = 1; $i < 100; $i++) { $game->makeGameStep(); $game->fetchGameStateInOutput(); }
public static function clearTableForLogout($op_code, $desk = null, $ticket = null) { if (!$desk) { // Load desk $desk = Desk::fromDatabaseByOperator($op_code); } if (!$ticket) { // Load ticket $ticket = Ticket::fromDatabaseByOperator($op_code); } if ($desk) { $desk->setLastActivityTime(null); $desk->setOpCode(null); $desk->save(); } if ($ticket) { $stats = TicketStats::newFromTicket($ticket); $ticket->delete(); $stats->save(); } }
public function fetchGameStateInOutput() { $this->renderer->renderCells($this->desk->getDeskWithCells()); }