Commit 1f6a780f authored by Indra Raja's avatar Indra Raja

yang indra

parent 2e081da6
This diff is collapsed.
......@@ -2005,5 +2005,6 @@
"platform": {
"php": "^5.6 || ^7.0"
},
"platform-dev": []
"platform-dev": [],
"plugin-api-version": "1.1.0"
}
<?php
require __DIR__ . '/vendor/autoload.php';
$options = array(
'cluster' => 'ap1',
'useTLS' => true
);
$pusher = new Pusher\Pusher(
'6b79efb8b6f3090d226f',
'359430515216001dbb5a',
'1107824',
$options
);
$data['message'] = 'success';
$pusher->trigger('my-channel', 'my-event', $data);
?>
\ No newline at end of file
......@@ -155,6 +155,20 @@ return [
],
],
],
'cobain' => [
'type' => Segment::class,
'options' => [
'route' => '/cobain[/][:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
'defaults' => [
'controller' => Controller\CobainController::class,
'action' => 'index',
'isAuthorizationRequired' => false
],
],
],
],
],
'controllers' => [
......@@ -166,6 +180,7 @@ return [
Controller\UmumController::class => Factory\UmumControllerFactory::class,
// Master\GlobalActionController::class => Factory\GlobalActionControllerFactory::class,
Controller\ApiController::class => Factory\ApiControllerFactory::class,
Controller\CobainController::class => Factory\CobainControllerFactory::class,
// Controller\ApiController::class => InvokableFactory::class,
],
......
......@@ -12,8 +12,6 @@ use Zend\View\Model\ViewModel;
use Khansia\Generic\Result;
class AdminController extends \Application\Master\GlobalActionController
{
......@@ -54,7 +52,8 @@ class AdminController extends \Application\Master\GlobalActionController
$view = new ViewModel();
$result = new Result();
$session = $this->getSession();
/* get url */
$uri = $this->getRequest()->getUri();
$baseurl = sprintf('//%s', $uri->getHost());
......@@ -62,7 +61,9 @@ class AdminController extends \Application\Master\GlobalActionController
// echo "<pre>";
$this->headScript->appendScript(' var baseURL = "' . $baseurl . '"');
$this->headScript->appendScript(' var baseURL = "' . $baseurl . '"');
$this->headScript->appendScript(' var id_poli = "' . $session->get('id_poli') . '"');
$this->headScript->appendFile('/action-js/antrian-js/action-admin.js');
$this->layout("layout/layoutAdmin");
......@@ -107,14 +108,14 @@ class AdminController extends \Application\Master\GlobalActionController
$this->isLoggedIn();
$view = new ViewModel();
$result = new Result();
$session = $this->getSession();
/* get url */
$uri = $this->getRequest()->getUri();
$baseurl = sprintf('//%s', $uri->getHost());
$this->headScript->appendScript(' var baseURL = "' . $baseurl . '"');
$this->headScript->appendScript(' var id_poli = "' . $session->get('id_poli') . '"');
$this->headScript->appendFile('/action-js/antrian-js/action-kelolaantrian.js');
$this->layout("layout/layoutAdmin");
return $view;
}
......@@ -123,13 +124,16 @@ class AdminController extends \Application\Master\GlobalActionController
$this->isLoggedIn();
$view = new ViewModel();
$result = new Result();
$session = $this->getSession();
/* get url */
$uri = $this->getRequest()->getUri();
$baseurl = sprintf('//%s', $uri->getHost());
$this->headScript->appendScript(' var baseURL = "' . $baseurl . '"');
$this->headScript->appendScript(' var baseURL = "' . $baseurl . '"');
$this->headScript->appendScript(' var id_poli = "' . $session->get('id_poli') . '"');
$this->headScript->appendFile('/action-js/antrian-js/action-kelolaantrianunreg.js');
$this->layout("layout/layoutAdmin");
return $view;
......
<?php
/**
* @link http://github.com/zendframework/ZendSkeletonApplication for the canonical source repository
* @copyright Copyright (c) 2005-2016 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use Khansia\Generic\Result;
class CobainController extends \Application\Master\GlobalActionController
{
public function __construct($headScript)
{
$this->headScript = $headScript;
}
public function indexAction()
{
echo 'forbidden';die;
}
public function dasboardAction()
{
$this->isLoggedIn();
$view = new ViewModel();
$result = new Result();
$uri = $this->getRequest()->getUri();
$baseurl = sprintf('//%s', $uri->getHost());
$this->headScript->appendScript(' var baseURL = "' . $baseurl . '"');
$this->headScript->appendFile('/action-js/antrian-js/action-dasboaard.js');
// $this->headScript->appendFile('/tamplateadmin/js/demo/chart-bar-demo.js');
// $this->headScript->appendFile('/tamplateadmin/js/demo/chart-area-demo.js');
$this->headScript->appendFile('/tamplateadmin/js/demo/chart-pie-demo.js');
$this->layout("layout/layoutAdmin");
return $view;
}
public function cobainAction()
{
$view = new ViewModel();
$result = new Result();
/* get url */
$uri = $this->getRequest()->getUri();
$baseurl = sprintf('//%s', $uri->getHost());
$getpath = explode("/",$uri->getPath());
// echo "<pre>";
$this->headScript->appendScript(' var baseURL = "' . $baseurl . '"');
$this->headScript->appendFile('/action-js/antrian-js/action-admin.js');
$this->layout("layout/layoutSelect");
return $view;
}
}
......@@ -37,7 +37,7 @@ class UmumController extends \Application\Master\GlobalActionController
$this->headScript->appendScript(' var baseURL = "' . $baseurl . '"');
$this->headScript->appendFile('/action-js/tampilanantiran-js/action-pilihantrian.js');
$this->layout("layout/layoutUmum");
$this->layout("layout/layoutSelect");
return $view;
}
......
......@@ -25,7 +25,8 @@ class UserController extends \Application\Master\GlobalActionController
public function loginAction(){
try {
$view = new ViewModel();
$session = $this->getSession();
......@@ -44,10 +45,17 @@ class UserController extends \Application\Master\GlobalActionController
'message' => $message,
'token_keamanan' => $token_keamanan
));
$uri = $this->getRequest()->getUri();
$baseurl = sprintf('//%s', $uri->getHost());
$getpath = explode("/",$uri->getPath());
// echo "<pre>";
$this->headScript->appendScript(' var baseURL = "' . $baseurl . '"');
$this->headScript->appendFile('/action-js/antrian-js/action-admin.js');
//$view->setTerminal(true);
$this->layout("layout/layoutUmum");
$this->layout("layout/layout");
return $view;
} catch (Exception $ex) {
......@@ -55,7 +63,7 @@ class UserController extends \Application\Master\GlobalActionController
return $this->redirect()->toRoute('login');
}
}
public function authenticateAction(){
try {
......@@ -115,6 +123,7 @@ class UserController extends \Application\Master\GlobalActionController
'create_dtm' => $user->create_dtm,
'access' => $accessArray,
'role_code' => $access->data[0]['role_code'],
'id_poli' => $user->id_poli,
));
......
<?php
namespace Application\Factory;
use Zend\ServiceManager\Factory\FactoryInterface;
use Interop\Container\ContainerInterface;
class CobainControllerFactory implements FactoryInterface
{
public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
{
/* get helpermanager gan */
$headScript = $container->get('ViewHelperManager')->get('headScript');
return new \Application\Controller\CobainController($headScript);
}
}
\ No newline at end of file
......@@ -158,6 +158,10 @@ class Param extends Mapper {
$data = $this->_storage->loadDokter($id);
return $data;
}
public function loadDokterWaktu($id = null){
$data = $this->_storage->loadDokterWaktu($id);
return $data;
}
public function loadAntrianAdmin($idokter = null){
$data = $this->_storage->loadAntrianAdmin($idokter);
return $data;
......
......@@ -321,15 +321,13 @@ class Mysql extends \Khansia\Db\Storage implements Skeleton {
public function loadUserData($id){
$result = new Result();
try {
$sql = " SELECT antrian_pasien.id_pasien, antrian_pasien.nama, antrian_pasien.no_antrian,antrian_pasien.no_rekam_medis, dokter_to_poli.nama_dokter, poli.nama_poli , dokter_to_poli.kode_dokter, dokter_to_poli.id_dokter,antrian_pasien.sisa_antrian, antrian_pasien.create_date
FROM antrian_pasien
INNER JOIN dokter_to_poli
ON antrian_pasien.id_dokter = dokter_to_poli.id_dokter
INNER JOIN poli
ON antrian_pasien.id_poli = poli.id_poli
WHERE antrian_pasien.id_antrian = $id
WHERE antrian_pasien.id_antrian = $id
";
$stmt = $this->_db->query($sql);
......@@ -1000,7 +998,7 @@ class Mysql extends \Khansia\Db\Storage implements Skeleton {
$result = new Result();
try {
$sql = " SELECT register_dokter.id_register, dokter_to_poli.nama_dokter, poli.nama_poli, ruang.nama_ruang,register_dokter.antrian_all,register_dokter.waktu_antrian, register_dokter.jam_mulai, register_dokter.create_date
$sql = " SELECT register_dokter.id_register, dokter_to_poli.nama_dokter, poli.nama_poli, ruang.nama_ruang,register_dokter.antrian_all,register_dokter.waktu_antrian, register_dokter.jam_mulai, register_dokter.create_date,poli.id_poli,ruang.id_ruang,dokter_to_poli.id_dokter
FROM register_dokter
INNER JOIN poli
ON register_dokter.id_poli = poli.id_poli
......@@ -1301,7 +1299,7 @@ class Mysql extends \Khansia\Db\Storage implements Skeleton {
ON dokter_to_poli.id_dokter = antrian_pasien.id_dokter
INNER JOIN counter_status
ON counter_status.status_code = antrian_pasien.status_code
WHERE antrian_pasien.id_pasien IS NOT NULL AND antrian_pasien.create_date > CURRENT_TIMESTAMP - INTERVAL '24 HOUR'AND antrian_pasien.status_code=60
WHERE antrian_pasien.id_pasien IS NOT NULL AND antrian_pasien.create_date > CURRENT_TIMESTAMP - INTERVAL '24 HOUR'AND antrian_pasien.status_code=60 and antrian_pasien.id_poli = $id
";
......@@ -1350,7 +1348,7 @@ class Mysql extends \Khansia\Db\Storage implements Skeleton {
INNER JOIN dokter_to_poli
on dokter_to_poli.id_dokter = antrian_pasien.id_dokter
WHERE id_pasien IS NOT NULL AND antrian_pasien.create_date > CURRENT_TIMESTAMP - INTERVAL '24 HOUR'
WHERE id_pasien IS NOT NULL AND antrian_pasien.create_date > CURRENT_TIMESTAMP - INTERVAL '24 HOUR' and antrian_pasien.id_poli = $id
ORDER BY poli.nama_poli asc
";
......@@ -1520,6 +1518,49 @@ class Mysql extends \Khansia\Db\Storage implements Skeleton {
$result->info = 'nok';
}
}catch (\Zend\Db\Adapter\Exception\RuntimeException $ex) {
$result->code = 3;
$result->info = 'ERROR : ' . $ex->getMessage();
}catch (\Exception $ex) {
$result->code = 4;
$result->info = 'ERROR : ' . $ex->getMessage();
}
return $result;
}
public function loadDokterWaktu($id = null){
$result = new Result();
try {
$sql = " SELECT DISTINCT on (idd.create_date) idd.create_date,dp.id_dokter, dp.nama_dokter,pl.id_poli
FROM antrian_pasien idd
LEFT JOIN dokter_to_poli dp
on idd.id_dokter = dp.id_dokter
LEFT JOIN poli pl
on idd.id_poli = pl.id_poli
WHERE idd.create_date > CURRENT_TIMESTAMP - INTERVAL '24 HOUR' AND pl.id_poli=$id";
$stmt = $this->_db->query($sql);
$resdata = $stmt->execute();
$listdata = array();
foreach($resdata as $val){
// print_r($val);die;
array_push($listdata, $val);
}
if ($listdata) {
$result->code = 0;
$result->info = 'OK';
$result->data = $listdata;
}else{
$result->code = 1;
$result->info = 'nok';
}
}catch (\Zend\Db\Adapter\Exception\RuntimeException $ex) {
$result->code = 3;
$result->info = 'ERROR : ' . $ex->getMessage();
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pure CSS Styled Select</title>
<style>
body {
background-color: #e74c3c;
font-family: 'Source Sans Pro', sans-serif;
<div class="container">
<!-- Outer Row -->
<div class="row justify-content-center">
<div class="col-lg-5">
<div class="card o-hidden border-0 shadow-lg my-5">
<div class="card-body p-0">
<!-- Nested Row within Card Body -->
<div class="col-lg">
<div class="p-5">
<div class="modal-header">
<div class="text-center " >
<h1 class="h4 text-gray-900 mb-4 " style="font-family: Times New Roman, Times, serif;font-size: 30px">PILIH TAMPILAN ANTRIAN</h1>
</div>
</div>
<fieldset>
<center>
<div class="form-group" style="margin-top:20px;">
<label>Pilih poli</label><br>
<select name="nama_poli" id="antrian_poli" class="form-control">
}
.demo {
margin: 100px auto;
}
.dropdown-container {
width: 250px;
margin: 100px auto;
position: relative;
}
select {
width: 100%;
height: 50;
font-size: 200%;
font-weight: bold;
cursor: pointer;
border-radius: 0;
background-color: #c0392b;
border: none;
border-bottom: 2px solid #962d22;
color: white;
appearance: none;
padding: 10px;
padding-right: 38px;
-webkit-appearance: none;
-moz-appearance: none;
transition: color 0.3s ease, background-color 0.3s ease, border-bottom-color 0.3s ease;
}
/* For IE <= 11 */
select::-ms-expand {
display: none;
}
.select-icon {
position: absolute;
top: 4px;
right: 4px;
width: 30px;
height: 36px;
pointer-events: none;
border: 2px solid #962d22;
padding-left: 5px;
transition: background-color 0.3s ease, border-color 0.3s ease;
}
.select-icon svg.icon {
transition: fill 0.3s ease;
fill: white;
}
select:hover,
select:focus {
color: #c0392b;
background-color: white;
border-bottom-color: #DCDCDC;
}
select:hover ~ .select-icon,
select:focus ~ .select-icon {
background-color: white;
border-color: #DCDCDC;
}
select:hover ~ .select-icon svg.icon,
select:focus ~ .select-icon svg.icon {
fill: #c0392b;
}
</style>
</head>
<body>
<div class="demo">
<div class="dropdown-container">
<select name="nama_poli" id="antrian_poli" class="form-control" onchange="loaddatadokter()">
<option disabled selected> Pilih </option>
</select>
</label>
</div>
<div class="space"></div>
<div class="modal-footer">
<button type="submit" id="pilih" class="btn btn-primary btn-user btn-block"> Pilih </button>
<div class="select-icon">
<div class="modal-footer">
</div>
</center>
</fieldset>
</form>
</div>
</div>
<svg focusable="false" viewBox="0 0 104 128" width="25" height="35" class="icon">
<path d="m2e1 95a9 9 0 0 1 -9 9 9 9 0 0 1 -9 -9 9 9 0 0 1 9 -9 9 9 0 0 1 9 9zm0-3e1a9 9 0 0 1 -9 9 9 9 0 0 1 -9 -9 9 9 0 0 1 9 -9 9 9 0 0 1 9 9zm0-3e1a9 9 0 0 1 -9 9 9 9 0 0 1 -9 -9 9 9 0 0 1 9 -9 9 9 0 0 1 9 9zm14 55h68v1e1h-68zm0-3e1h68v1e1h-68zm0-3e1h68v1e1h-68z"></path>
</svg>
</div>
</div>
</div>
</body>
</html>
</div>
<script type="text/javascript">
// 1 detik = 1000
window.setTimeout("waktu()",1000);
function waktu() {
var tanggal = new Date();
setTimeout("waktu()",1000);
document.getElementById("tanggalku").innerHTML
= tanggal.getHours()+":"+tanggal.getMinutes()+":"+tanggal.getSeconds();
}
</script>
<!-- Page header -->
<div class="row">
<div class="page-header" style="border-bottom: 0px solid #ddd0;">
<!-- Header content -->
<div class="page-header-content">
<div class="page-title">
<h4 style="color: #fff;font-size:25px;"><span class="text-semibold">Rumah Sakit - Mohon Antri Dengan Tertib</span></h4>
</div>
<h4 style="color: #fff;font-size:35px;"><span class="text-semibold">Rumah Sakit - Mohon Antri Dengan Tertib</span></h4>
<div class="heading-elements">
<div class="heading-btn-group">
<div style="color: #fff;font-size: 17px;font-weight: 600;margin-top:-20px;">
<?php echo $this->today; ?>
</div>
</div>
<div class="page-header-content">
<div class="heading-btn-group">
<div style="color: #fff9ff;font-size: 25px;font-weight: 600;">
<?php echo $this->today; ?>
<span id="tanggalku"></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="justify-content-center">
......
<div class="container"></div>
<form class="form-inline">
<div class="form-group form-control-lg ">
<label>Pilih poli</label><br>
<select name="nama_poli" id="poli" class="form-control" >
<option disabled selected> Pilih </option>
</select>
</div>
<div class="form-group form-control-lg">
<label>Pilih dokter</label> <br>
<select id="dokter" name="nama_dokter" class="form-control">
......@@ -37,7 +32,7 @@
<div class="col-lg-5 ">
<div class="card 1-hidden border-1 shadow-lg my-3">
<div class="card-header">
<h6 class="panel-title"><i class="icon-cog3 position-left"></i> Nomor Antrian</h6>
<h6 class="panel-title"><i class="icon-cog3 position-left"></i> Aksi Antrian</h6>
</div>
<div class="card-body">
......
......@@ -4,6 +4,8 @@
<div class="card-body ">
<h1 class="h4 text-center text-gray-900 mb-4" style="font-size: 50px;font-weight: bold">Kelola Dokter</h1>
<button type="button" class="btn btn-primary fa fa-plus btn-lg" data-toggle="modal" data-target="#addData" id="tambahmodal"> Tambah</button>
<button type="button" class="btn btn-info fa btn-lg" style="float: right;" id="update"> Update Seluruh Kondisi </button>
<br>
<br>
......@@ -72,9 +74,9 @@
</div>
<div class="modal-footer">
<button button type="button" class="btn btn-primary" id="tambah">Add</button>
<button button type="button" class="btn btn-primary" id="tambah">Tambah</button>
<button button type="button" class="btn btn-danger" onclick="reset()">Reset</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Keluar</button>
</div>
</form>
</div>
......@@ -123,7 +125,7 @@
<div class="modal-footer">
<button button type="button" class="btn btn-primary" id="edit">Edit</button>
<button button type="button" class="btn btn-danger" onclick="reset()">Reset</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Keluar</button>
</div>
</form>
</div>
......
......@@ -74,9 +74,9 @@
<input type="file" name="gambar_poli" id="gambar_poli" class="form-control-file">
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary" id="tambah">Add</button>
<button type="submit" class="btn btn-primary" id="tambah">Tambah</button>
<button type="button" class="btn btn-danger" onclick="reset()">Reset</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Keluar</button>
</div>
</form>
</div>
......
......@@ -18,6 +18,7 @@
<div class="card-body ">
<h1 class="h4 text-center text-gray-900 mb-4" style="font-size: 50px;font-weight: bold">Kelola Ruangan</h1>
<button type="button" class="btn btn-primary fa fa-plus btn-lg" data-toggle="modal" data-target="#addData" id="tambahmodal"> Tambah</button>
<button type="button" class="btn btn-info fa btn-lg" style="float: right;" id="update"> Update Seluruh Kondisi</button>
<br>
<br>
<table class="table table-bordered" id="dataTable">
......@@ -72,9 +73,9 @@
<input type="input" id="nama_ruang" name="nama_ruang" class="form-control" placeholder="Nama Ruangan" required /></input>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="tambah">Add</button>
<button type="button" class="btn btn-primary" id="tambah">Tambah</button>
<button type="button" class="btn btn-danger" onclick="reset()">Reset</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Keluar</button>
</div>
</form>
</div>
......@@ -113,7 +114,7 @@
<div class="modal-footer">
<button button type="button" class="btn btn-primary" id="edit">Edit</button>
<button button type="button" class="btn btn-danger" onclick="reset()">Reset</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Keluar</button>
</div>
</form>
</div>
......
......@@ -5,8 +5,8 @@
<div class="card o-hidden border-0 shadow-lg my-5">
<div class="card-body ">
<h1 class="h4 text-center text-gray-900 mb-4" style="font-size: 50px;font-weight: bold">Kelola Jadwal Dokter</h1>
<button type="button" class="btn btn-primary fa fa-plus btn-lg" data-toggle="modal" data-target="#addData" id="tambahmodal"> Tambah</button>
<a type="button" class="btn btn-dark fa btn-lg" href="<?php echo $this->basePath('admin/registrasialldok') ?>"> Lihat Seluruh Antrian</a>
<button type="button" class="btn btn-primary fa fa-plus " data-toggle="modal" data-target="#addData" id="tambahmodal"> Tambah</button>
<a type="button" class="btn btn-dark fa " href="<?php echo $this->basePath('admin/registrasialldok') ?>"> Lihat Seluruh Antrian</a>
<br>
<br>
<table class="table table-bordered" id="dataTable">
......@@ -90,9 +90,9 @@
</div>
</div>
<div class="modal-footer">
<button button type="button" class="btn btn-primary" id="tambah">Add</button>
<button button type="button" class="btn btn-primary" id="tambah">Tambah</button>
<button button type="button" class="btn btn-danger" onclick="reset()">Reset</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Keluar</button>
</div>
</form>
</div>
......@@ -118,6 +118,11 @@
<form id="myForm" >
<input type="hidden" id="id_register" class="form-control" /></input>
<input type="hidden" id="antrian_before" class="form-control" /></input>
<input type="hidden" id="id_dokter" class="form-control" /></input>
<input type="hidden" id="id_poli" class="form-control" /></input>
<input type="hidden" id="id_ruang" class="form-control" /></input>
<input type="hidden" id="tanggal_before" class="form-control" /></input>
<!-- <input type="text" id="antrian_before" class="form-control" /></input> -->
<div class="form-group">
......@@ -169,7 +174,7 @@
<div class="modal-footer">
<button button type="button" class="btn btn-primary" id="edit">Edit</button>
<button button type="button" class="btn btn-danger" onclick="reset()">Reset</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-default" data-dismiss="modal">Keluar</button>
</div>
</form>
</div>
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pure CSS Styled Select</title>
<style>
body {
background-color: #e74c3c;
font-family: 'Source Sans Pro', sans-serif;
}
.demo {
margin: 100px auto;
}
.dropdown-container {
width: 250px;
margin: 100px auto;
position: relative;
}
select {
width: 100%;
height: 50px;
font-size: 100%;
font-weight: bold;
cursor: pointer;
border-radius: 0;
background-color: #c0392b;
border: none;
border-bottom: 2px solid #962d22;
color: white;
appearance: none;
padding: 10px;
padding-right: 38px;
-webkit-appearance: none;
-moz-appearance: none;
transition: color 0.3s ease, background-color 0.3s ease, border-bottom-color 0.3s ease;
}
/* For IE <= 11 */
select::-ms-expand {
display: none;
}
.select-icon {
position: absolute;
top: 4px;
right: 4px;
width: 30px;
height: 36px;
pointer-events: none;
border: 2px solid #962d22;
padding-left: 5px;
transition: background-color 0.3s ease, border-color 0.3s ease;
}
.select-icon svg.icon {
transition: fill 0.3s ease;
fill: white;
}
select:hover,
select:focus {
color: #c0392b;
background-color: white;
border-bottom-color: #DCDCDC;
}
select:hover ~ .select-icon,
select:focus ~ .select-icon {
background-color: white;
border-color: #DCDCDC;
}
select:hover ~ .select-icon svg.icon,
select:focus ~ .select-icon svg.icon {
fill: #c0392b;
}
</style>
</head>
<body>
<div class="demo">
<div class="dropdown-container">
<select>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
<div class="select-icon">
<svg focusable="false" viewBox="0 0 104 128" width="25" height="35" class="icon">
<path d="m2e1 95a9 9 0 0 1 -9 9 9 9 0 0 1 -9 -9 9 9 0 0 1 9 -9 9 9 0 0 1 9 9zm0-3e1a9 9 0 0 1 -9 9 9 9 0 0 1 -9 -9 9 9 0 0 1 9 -9 9 9 0 0 1 9 9zm0-3e1a9 9 0 0 1 -9 9 9 9 0 0 1 -9 -9 9 9 0 0 1 9 -9 9 9 0 0 1 9 9zm14 55h68v1e1h-68zm0-3e1h68v1e1h-68zm0-3e1h68v1e1h-68z"></path>
</svg>
</div>
</div>
</div>
</body>
</html>
view rawcss-styled-select.html hosted with ❤ by GitHub
\ No newline at end of file
<div class="container">
<!-- Outer Row -->
<div class="row justify-content-center">
<div class="col-lg-5">
<div class="card o-hidden border-0 shadow-lg my-5">
<div class="card-body p-0">
<!-- Nested Row within Card Body -->
<div class="col-lg">
<div class="p-5">
<div class="modal-header">
<div class="text-center " >
<h1 class="h4 text-gray-900 mb-4 " style="font-family: Times New Roman, Times, serif;font-size: 30px">LOGIN</h1>
</div>
</div>
<div class=container>
<form method="post" id="login" action="<?php echo $this->basePath()?>/user/authenticate">
<fieldset>
<center>
<div class="form-group" style="margin-top:20px;">
<span class="block input-icon input-icon-right">
<input type="text" id="username" name="username" class="form-control form-control-user" placeholder="Username" required />
</span>
</label>
</div>
<br>
<div class="form-group">
<span class="block input-icon input-icon-right">
<input type="password" id="passwd" name="passwd" class="form-control form-control-user" placeholder="Password" required />
</span>
</label>
</div>
<br>
<div class="space"></div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary btn-user btn-block">
Login
</button>
</div>
<div class="container" onclick="onclick">
<div class="top"></div>
<div class="bottom"></div>
<div class="center">
<h2>Please Login</h2>
<input type="text" id="username" name="username" class="form-control form-control-user" placeholder="Username" required />
<input type="password" id="passwd" name="passwd" class="form-control form-control-user" placeholder="Password" required />
<div style="font-weight: bold;"><?php if(isset($this->message)) { echo $this->message; }?></div>
</center>
</fieldset>
</form>
</div>
</div>
<button type="submit" class="btn btn-primary btn-user btn-block" style="display: none;">
</button>
</div>
<h2>&nbsp;</h2>
</div>
</div>
</div>
</div>
</form>
</div>
\ No newline at end of file
<?= $this->doctype() ?>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>RUMAH SAKIT</title>
<!-- Custom fonts for this template-->
<?= $this->headLink(['rel' => 'sylesheet', 'type' => 'text/css'])
->prependStylesheet($this->basePath('tamplateadmin/assets/css/admin.css'))
// ->prependStylesheet($this->basePath('tamplateadmin/assets/css/components.css'))
// ?>
</head>
<style type=text/css>
</style>
<body>
<?= $this->content ?>
<!-- Core JS files --> <script type="text/javascript" src="<?php $this->basePath();?> /tamplateadmin/assets/js/plugins/notifications/sweet_alert.min.js"></script>
<!-- /core JS files -->
<?= $this->headScript()
->prependFile($this->basePath('js/bootstrap.min.js'))
->prependFile($this->basePath('js/jquery-3.1.0.min.js'))
->prependFile(('https://js.pusher.com/7.0/pusher.min.js'))
?>
<?= $this->inlineScript() ?>
</body>
</html>
......@@ -67,7 +67,7 @@
<!-- Sidebar -->
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
<!-- Sidebar - Brand -->
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="index.html">
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="<?php echo $this->basePath('admin/dasboard') ?>">
<div class="sidebar-brand-icon rotate-n-15">
<i class="fas fa-laugh-wink"></i>
</div>
......
<?= $this->doctype() ?>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>RUMAH SAKIT</title>
<!-- Custom fonts for this template-->
<?= $this->headLink(['rel' => 'sylesheet', 'type' => 'text/css' , 'href' => $this->basePath() . '/tamplate/img/favicon.png'])
->prependStylesheet($this->basePath('/tamplateadmin/vendor/fontawesome-free/css/all.min.css'))
?>
<?= $this->headLink(['rel' => 'sylesheet', 'type' => 'text/css'])
->prependStylesheet($this->basePath('/tamplateadmin/css/sb-admin-2.min.css'))
->prependStylesheet($this->basePath('tamplateadmin/assets/css/core.css'))
// ->prependStylesheet($this->basePath('tamplateadmin/assets/css/components.css'))
->prependStylesheet($this->basePath('tamplateadmin/assets/css/bootstrap.css'))
->prependStylesheet($this->basePath('/css/dasboard.css'))
// ?>
</head>
<style>
@import url("https://fonts.googleapis.com/css?family=Raleway:400,700");
*, *:before, *:after {
box-sizing: border-box;
}
body {
min-height: 100vh;
font-family: "Raleway", sans-serif;
}
.container {
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
}
.container:hover .top:before, .container:active .top:before, .container:hover .bottom:before, .container:active .bottom:before, .container:hover .top:after, .container:active .top:after, .container:hover .bottom:after, .container:active .bottom:after {
margin-left: 200px;
transform-origin: -200px 50%;
transition-delay: 0s;
}
.container:hover .center, .container:active .center {
opacity: 1;
transition-delay: 0.2s;
}
.top:before, .bottom:before, .top:after, .bottom:after {
content: "";
display: block;
position: absolute;
width: 200vmax;
height: 200vmax;
top: 50%;
left: 50%;
margin-top: -100vmax;
transform-origin: 0 50%;
transition: all 0.5s cubic-bezier(0.445, 0.05, 0, 1);
z-index: 10;
opacity: 0.65;
transition-delay: 0.2s;
}
.top:before {
transform: rotate(45deg);
background: #e46569;
}
.top:after {
transform: rotate(135deg);
background: #ecaf81;
}
.bottom:before {
transform: rotate(-45deg);
background: #60b8d4;
}
.bottom:after {
transform: rotate(-135deg);
background: #3745b5;
}
.center {
position: absolute;
width: 400px;
height: 400px;
top: 50%;
left: 50%;
margin-left: -200px;
margin-top: -200px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 30px;
opacity: 0;
transition: all 0.5s cubic-bezier(0.445, 0.05, 0, 1);
transition-delay: 0s;
color: #333;
}
.center input {
width: 100%;
padding: 15px;
margin: 5px;
border-radius: 1px;
border: 1px solid #ccc;
font-family: inherit;
}
</style>
<body>
<?= $this->content ?>
<!-- Core JS files --> <script type="text/javascript" src="<?php $this->basePath();?> /tamplateadmin/assets/js/plugins/notifications/sweet_alert.min.js"></script>
<!-- /core JS files -->
<?= $this->headScript()
->prependFile($this->basePath('js/bootstrap.min.js'))
->prependFile($this->basePath('js/jquery-3.1.0.min.js'))
->prependFile(('https://js.pusher.com/7.0/pusher.min.js'))
?>
<?= $this->inlineScript() ?>
</body>
</html>
<?= $this->doctype() ?>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>RUMAH SAKIT</title>
<!-- Custom fonts for this template-->
</head><style>
body {
background-color: #e74c3c;
font-family: 'Source Sans Pro', sans-serif;
}
.demo {
margin: 100px auto;
}
.dropdown-container {
width: 250px;
margin: 100px auto;
position: relative;
}
select {
width: 100%;
height: 50;
font-size: 200%;
font-weight: bold;
cursor: pointer;
border-radius: 0;
background-color: #c0392b;
border: none;
border-bottom: 2px solid #962d22;
color: white;
appearance: none;
padding: 10px;
padding-right: 38px;
-webkit-appearance: none;
-moz-appearance: none;
transition: color 0.3s ease, background-color 0.3s ease, border-bottom-color 0.3s ease;
}
/* For IE <= 11 */
select::-ms-expand {
display: none;
}
.select-icon {
position: absolute;
top: 4px;
right: 4px;
width: 30px;
height: 36px;
pointer-events: none;
border: 2px solid #962d22;
padding-left: 5px;
transition: background-color 0.3s ease, border-color 0.3s ease;
}
.select-icon svg.icon {
transition: fill 0.3s ease;
fill: white;
}
select:hover,
select:focus {
color: #c0392b;
background-color: white;
border-bottom-color: #DCDCDC;
}
select:hover ~ .select-icon,
select:focus ~ .select-icon {
background-color: white;
border-color: #DCDCDC;
}
select:hover ~ .select-icon svg.icon,
select:focus ~ .select-icon svg.icon {
fill: #c0392b;
}
</style>
<body>
<?= $this->content ?>
<!-- Core JS files --> <script type="text/javascript" src="<?php $this->basePath();?> /tamplateadmin/assets/js/plugins/notifications/sweet_alert.min.js"></script>
<!-- /core JS files -->
<?= $this->headScript()
->prependFile($this->basePath('js/bootstrap.min.js'))
->prependFile($this->basePath('js/jquery-3.1.0.min.js'))
->prependFile(('https://js.pusher.com/7.0/pusher.min.js'))
?>
<?= $this->inlineScript() ?>
</body>
</html>
......@@ -4,15 +4,10 @@
function textToAudio() {
// let msg1 = "nomor antrian";
let no_antrian = document.getElementById("no_antrian").innerHTML;
let voice = "nomor antrian " + no_antrian;
console.log(voice)
let speech = new SpeechSynthesisUtterance();
speech.lang = "id";
speech.text = voice;
speech.volume = 1;
speech.rate = 0.70;
......@@ -40,15 +35,15 @@ function textToAudioRuang() {
window.speechSynthesis.speak(speech);
}
loadpoli();
$('#poli').on('change', function () {
var idpoli = $('#poli').val();
console.log(id_poli)
loaddokter()
function loaddokter() {
var idpoli = id_poli;
// console.log(idpoli);
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loaddokter',
url: baseURL + '/api/loadDokterWaktu',
data: {
id_poli: idpoli
},
......@@ -65,33 +60,7 @@ $('#poli').on('change', function () {
$("select#dokter").removeAttr('disabled');
$("select#dokter").html(optionseg);
} else {
bootbox.alert({ message: 'Data Dokter Kosong', centerVertical: true });
}
}
});
});
function loadpoli() {
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loadpoli',
success: function (result) {
if (result['code'] == 0) {
//console.log (result);
var res = result['data'];
optionseg = '';
optionseg += '<option value="Pilih" disabled selected>Pilih</option>';
for (var i = 0; i < res.length; i++) {
optionseg += '<option value="' + res[i].id_poli + '">' + res[i].nama_poli + '</option>';
}
$("select#poli").html(optionseg);
} else {
bootbox.alert({ message: 'Data Poli Kosong', centerVertical: true });
bootbox.alert({ message: 'Data Dokter di poli ini kosong', centerVertical: true });
}
}
});
......@@ -376,3 +345,5 @@ function actionqueue(antrianno, status) {
});
}
......@@ -120,7 +120,7 @@ $('#poli').on('change', function () {
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loaddokter',
url: baseURL + '/api/loadDokterWaktu',
data: {
id_poli: idpoli
},
......
......@@ -159,7 +159,7 @@ $('#poli').on('change', function () {
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loaddokter',
url: baseURL + '/api/loadDokterWaktu',
data: {
id_poli: idpoli
},
......@@ -176,7 +176,7 @@ $('#poli').on('change', function () {
$("select#dokter").removeAttr('disabled');
$("select#dokter").html(optionseg);
} else {
bootbox.alert({ message: 'Data Poli Kosong', centerVertical: true });
bootbox.alert({ message: 'Dokter di poli ini belum ada yg didaftarkan', centerVertical: true });
}
}
});
......@@ -186,7 +186,7 @@ function loadpoli() {
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loadpoli',
url: baseURL + '/api/loadregisterpoli',
success: function (result) {
if (result['code'] == 0) {
......@@ -234,7 +234,7 @@ function validasipasien(id_poli, dokter, id_pasien) {
let nama = result.data[0]['nama'];
swal({
title: "Pasien dengan nama'" + nama + "' telah melakukan pendaftaran di poli dan dokter ini! \n Apakah anda ingin mencetak no antrian lagi ? ",
title: "Pasien dengan nama '" + nama + "' telah melakukan pendaftaran di poli dan dokter ini! \n Apakah anda ingin mencetak no antrian lagi ? ",
type: "warning",
confirmButtonClass: "success",
confirmButtonText: "Yes!",
......
......@@ -2,13 +2,13 @@
Loadpasien();
function Loadpasien() {
// var iddokter = $('#dokter').val();
var id_pol = id_poli;
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loadantrianmiss',
data: {
// id: iddokter
id: id_pol
},
......
......@@ -2,15 +2,15 @@
Loadunregister();
function Loadunregister() {
// var iddokter = $('#dokter').val();
var id_pol = id_poli;
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loadantrianunregis',
// data: {
// id: iddokter
data: {
id: id_pol,
// },
},
success: function (result) {
// console.log(result.data);
......@@ -133,4 +133,4 @@ function unregister(id_pasien) {
}
});
}
}
\ No newline at end of file
......@@ -497,7 +497,7 @@ function Delete(param) {
let nama_dokter = result.data[0].nama_dokter;
swal({
title: "Apakah yakin mengahapus dokter '" + nama_dokter + "'? ",
type: "error",
type: "warning",
confirmButtonClass: "btn-danger",
confirmButtonText: "Yes!",
showCancelButton: true,
......@@ -574,4 +574,39 @@ function Update(id_dokter, id_condition) {
}
});
}
$('#update').on('click', function () {
setruang()
})
function setruang() {
param = null
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/updateconditionseluruhdokter',
data: {
id: param,
},
success: function (result) {
console.log(result);
// console.log(result)
if (result.code == 0) {
location.reload();
} else {
bootbox.alert({ message: 'Gagal ', centerVertical: true });
}
},
error: function () {
bootbox.alert({ message: 'Data dokter masih terdaftar dalam poli ', centerVertical: true });
}
});
}
\ No newline at end of file
......@@ -277,7 +277,7 @@ function Delete(id_pasien) {
let nama_pasien = result.data[0].nama;
swal({
title: "Apakah yakin mengahapus pasien '" + nama_pasien + "'? ",
type: "error",
type: "warning",
confirmButtonClass: "btn-danger",
confirmButtonText: "Yes!",
showCancelButton: true,
......
......@@ -438,7 +438,7 @@ function Delete(param) {
let nama_poli = result.data[0].nama_poli;
swal({
title: "Apakah yakin mengahapus poli '" + nama_poli + "'? \nJika anda menghapus Poli ini \nmaka Dokter Dan Ruangan \ndengan nama poli '" + nama_poli + "' akan terhapus",
type: "error",
type: "warning",
confirmButtonClass: "btn-danger",
confirmButtonText: "Yes!",
showCancelButton: true,
......
......@@ -424,7 +424,7 @@ function Delete(param) {
let lantai = result.data[0].lantai;
swal({
title: "Apakah yakin mengahapus ruang '" + nama_ruang + " ' lantai '" + lantai + "'? ",
type: "error",
type: "warning",
confirmButtonClass: "btn-danger",
confirmButtonText: "Yes!",
showCancelButton: true,
......@@ -501,4 +501,38 @@ function Update(id_ruang, id_condition) {
}
});
}
$('#update').on('click', function () {
setruang()
})
function setruang() {
param = null
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/updateconditionseluruhruang',
data: {
id: param,
},
success: function (result) {
console.log(result);
// console.log(result)
if (result.code == 0) {
location.reload();
} else {
bootbox.alert({ message: 'Gagal ', centerVertical: true });
}
},
error: function () {
bootbox.alert({ message: 'Data dokter masih terdaftar dalam poli ', centerVertical: true });
}
});
}
\ No newline at end of file
......@@ -102,7 +102,7 @@ function Delete(param) {
let nama_ruang = result.data[0].nama_ruang;
swal({
title: "Apakah yakin mengahapus Registrasi Dokter dengan Nama Poli '" + nama_poli + "', Nama Dokter '" + nama_dokter + "' dan Nama Ruangan '" + nama_ruang + "' ini ? ",
type: "error",
type: "warning",
confirmButtonClass: "btn-danger",
confirmButtonText: "Yes!",
showCancelButton: true,
......
......@@ -84,7 +84,7 @@ $('#poli').on('change', function () {
$("select#dokter").html(optionseg);
$("select#ruang").html(optionseg);
bootbox.alert({ message: 'Data Dokter Kosong', centerVertical: true });
// bootbox.alert({ message: 'Data Dokter Kosong', centerVertical: true });
}
}
......@@ -115,7 +115,7 @@ $('#poli').on('change', function () {
$("select#ruang").html(optionseg);
} else {
bootbox.alert({ message: 'Data Ruang Kosong', centerVertical: true });
// bootbox.alert({ message: 'Data Ruang Kosong', centerVertical: true });
}
}
......@@ -245,9 +245,18 @@ $('#tambahmodal').on('click', function () {
$('#tambah').on('click', function () {
let ruang = $("#ruang option:selected").attr("value");
let poli = $('#poli option:selected').attr("value");
let dokter = $('#dokter option:selected').attr("value");
SaveDataRegister()
if (validasijadwal(poli, ruang, dokter) == 1) {
bootbox.alert({ message: 'Dokter dipoli sudah ada!', centerVertical: true });
}
if (validasijadwal(poli, ruang, dokter) == 2) {
bootbox.alert({ message: 'Ruangan dipoli sudah ada!', centerVertical: true });
} else {
SaveDataRegister()
}
})
......@@ -261,7 +270,6 @@ function SaveDataRegister(param) {
let waktu_antrian = $('#waktu_antrian').val();
let jam_mulai = $('#jam_mulai').val();
if (ruang == null || ruang == "") {
swal({
title: "",
......@@ -309,7 +317,7 @@ function SaveDataRegister(param) {
return false;
}
else if (parseInt(antrian_all) > 30) {
else if (parseInt(antrian_all) > 50) {
swal({
title: "",
text: "antrian seluruh tidak boleh lebih dari 30!",
......@@ -342,7 +350,6 @@ function SaveDataRegister(param) {
ijam_mulai: jam_mulai,
},
......@@ -385,6 +392,53 @@ function SaveDataRegister(param) {
}
function validasijadwal(poli, ruang, dokter) {
var exist = 0;
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loadantrianregister',
async: false,
data: {
id: null,
},
success: function (result) {
console.log(result)
var data = result.data;
for (x in data) {
if (poli == data[x]['id_poli']) {
if (dokter == data[x]['id_dokter']) {
exist = 1;
}
}
if (poli == data[x]['id_poli']) {
if (ruang == data[x]['id_ruang']) {
exist = 2;
}
}
}
},
error: function (xhr) {
//alert(xhr.status+'-'+xhr.statusText);
}
});
return exist;
}
$('#edit').on('click', function () {
......@@ -399,15 +453,17 @@ $('#edit').on('click', function () {
function editregister(id_register) {
let ruang = $("#ruang option:selected").attr("value");
let poli = $('#poli option:selected').attr("value");
let dokter = $('#dokter option:selected').attr("value");
let poli = $('#id_poli').val();
let ruang = $('#id_ruang').val();
let dokter = $('#id_dokter').val();
let antrian_all = $('#antrian_alledt').val();
let waktu_antrian = $('#waktu_antrianedt').val();
let jam_mulai = $('#jam_mulaiedt').val();
console.log(antrian_all)
let antrian_before = $('#antrian_before').val();
let tanggal_before = $('#tanggal_before').val();
console.log(poli)
if (antrian_all == null || antrian_all == "") {
swal({
title: "",
......@@ -430,7 +486,7 @@ function editregister(id_register) {
else if (parseInt(antrian_all) > 30) {
else if (parseInt(antrian_all) > 100) {
swal({
title: "",
text: "antrian seluruh tidak boleh lebih dari 30!",
......@@ -462,11 +518,13 @@ function editregister(id_register) {
iwaktu_antrian: waktu_antrian,
ijam_mulai: jam_mulai,
iantrian_before: antrian_before,
itanggal_before: tanggal_before,
},
success: function (response) {
console.log(response);
if (response['code'] == 0) {
success: function (result) {
if (result.code == 0) {
$('#editData').modal('hide');
swal({
title: "",
......@@ -477,10 +535,6 @@ function editregister(id_register) {
function () {
location.reload();
});
} else {
swal({
title: "",
......@@ -518,9 +572,9 @@ function loadedit(id_register) {
id: id_register,
},
success: function (result) {
// console.log(result.code);
// $('.loaddata').empty();
// console.log(result);
console.log(result);
if (result.code == 0) {
......@@ -532,7 +586,8 @@ function loadedit(id_register) {
optrua = `<p class="card-text">` + data[0].nama_ruang + `</p>`
// console.log(data[0].nama_poli);
$('#id_register').val(data[0].id_register);
$('#tanggal_before').val(data[0].create_date);
console.log(data[0].create_date)
$('#poliedt').html(optpol);
$('#dokteredt').html(optdok);
$('#ruangedt').html(optrua);
......@@ -540,6 +595,12 @@ function loadedit(id_register) {
$('#antrian_alledt').val(data[0].antrian_all);
$('#id_dokter').val(data[0].id_dokter);
$('#id_poli').val(data[0].id_poli);
$('#id_ruang').val(data[0].id_ruang);
$('#antrian_before').val(data[0].antrian_all);
$('#jam_mulaiedt').val(data[0].jam_mulai);
$('#waktu_antrianedt').val(data[0].waktu_antrian);
......@@ -575,7 +636,7 @@ function Delete(param) {
let nama_ruang = result.data[0].nama_ruang;
swal({
title: "Apakah yakin mengahapus Registrasi Dokter dengan Nama Poli '" + nama_poli + "', Nama Dokter '" + nama_dokter + "' dan Nama Ruangan '" + nama_ruang + "' ini ? ",
type: "error",
type: "warning",
confirmButtonClass: "btn-danger",
confirmButtonText: "Yes!",
showCancelButton: true,
......@@ -600,21 +661,81 @@ function Delete(param) {
location.reload();
});
} else {
bootbox.alert({ message: 'Data Kosong', centerVertical: true });
swal({
title: "",
text: "Data Gagal Dihapus!",
icon: "succes",
button: "ok",
});
}
},
error: function (xhr) {
alert(xhr.status + '-' + xhr.statusText);
error: function () {
bootbox.alert({ message: 'Data ruang masih terdaftar dalam poli ', centerVertical: true });
}
});
},
function () {
// This function will run if the user clicked "cancel"
window.location.href = "<?php echo Yii::$app->request->baseUrl;?>/todo/index/";
}
);
}
});
}
\ No newline at end of file
}
// function differenceday(){
// date = new Date();
// $.ajax({
// type: 'POST',
// dataType: 'json',
// url: baseURL + '/api/loadRegisterRuang',
// data: {
// id_poli: null
// },
// success: function (result) {
// if (result['code'] == 0) {
// var res = result['data'];
// for(x in res){
// date = res[x]['date'];
// date = new Date(date);
// now = new Date();
// if( date.getDate() == now.getDate() ){
// }else if(date.getDate() == now.getDate() && date.getMonth() != now.getMonth()){
// setruang();
// }
// else if(date.getDate() != now.getDate()){
// setruang();
// }
// }
// } else {
// bootbox.alert({ message: 'Data Ruang Kosong', centerVertical: true });
// }
// }
// });
// //
// }
// function setruang(){
// param = null
// $.ajax({
// type: 'POST',
// dataType: 'json',
// url: baseURL + '/api/updateconditionruang',
// data: {
// id: param,
// }
// })
// }
\ No newline at end of file
loadantrianumum();
function loadantrianumum() {
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loadantrian',
success: function (result) {
// console.log(result);
// console.log(result.data);
$('loadantrian').empty();
if (result.code == 0) {
var res = result['data'];
let hasil = '';
for (var i = 0; i < res.length; i++) {
hasil += "<div class='box one" + i + "'> <div class='date'> <h4 >" + res[i]['nama_poli'] + "</h4> <h4 >" + res[i]['nama_ruang'] + "</h4></div> <div class='poster p" + i + "'> <h4 >" + res[i]['kode_dokter'] + "" + res[i]['no_antrian'] + "</h4> </div> </div>"
}
$("#box").append(hasil);
} else {
alert(result.info);
}
},
error: function (xhr) {
console.log('ERROR AJAX:' + xhr.status + '-' + xhr.statusText);
}
});
}
Pusher.logToConsole = true;
$(document).ready(function () {
loadantrian(id_poli);
});
var pusher = new Pusher('6b79efb8b6f3090d226f', {
cluster: 'ap1'
});
var channel = pusher.subscribe('my-channel');
channel.bind('my-event', function (data) {
if (data.message === 'success') {
loadantrian(id_poli);
}
});
function loadantrian(param) {
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + `/api/loadantrian`,
data: {
id_poli: param,
},
success: function (result) {
console.log(result);
// $('.loaddata').empty();
// console.log(result);
if (result['code'] == 0) {
var res = result['data'];
$("#listdata").empty();
$('#no_antrian').empty();
let hasil = '';
for (var i = 0; i < res.length; i++) {
$('#no_antrian').empty();
if (res[i]['status_code'] == 30) {
valTemp = res[i]['kode_dokter'] + res[i]['no_antrian'];
$('#no_antrian_panggil').empty();
$('#no_antrian_panggil').append(valTemp);
ruang = res[i]['nama_ruang'];
$('#ruang_panggil').empty();
$('#ruang_panggil').append(ruang);
}
hasil =
`
<div class="card col-sm-2" style="border-color: #e94c72;background: #faebd73b; width: 20rem;">
<div class="alert alert-info alert-styled-left alert-arrow-left alert-component" style="background: #faebd73b;">
<div><input type="hidden" value="nomer antrian" id="text-to-speech" placeholder="Enter text to speak..."/></div>
<h1 class="error-title" style=" font-weight:;font-size:53px;font-family: Times New Roman, Times, serif;color: #fff"><span > `+ res[i]['kode_dokter'] + `-` + res[i]['no_antrian'] + ` </span></h1>
</div>
<div><input type="hidden" value="no_antrian" id="no_antrian" /></div>
<div><input type="hidden" value="nama_ruang" id="nama_ruang" /><span style="visibility:hidden" id="nama_ruang"></span></div>
</div>
`
$("#listdata").append(hasil);
}
} else {
$('#no_antrian').empty();
$('#no_antrian').append("-");
}
},
error: function (xhr) {
alert(xhr.status + '-' + xhr.statusText);
}
});
}
\ No newline at end of file
loadpoli();
$('#pilih').on('click', function () {
loaddatadokter()
});
function loaddatadokter() {
let poli =$("#antrian_poli option:selected").attr("value");
console.log(poli);
let poli = $("#antrian_poli option:selected").attr("value");
console.log(poli);
/* save data */
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loadpoli',
url: baseURL + '/api/loadregisterpoli',
data: {
id_poli: poli,
},
......@@ -49,11 +46,11 @@ function loadpoli() {
$.ajax({
type: 'POST',
dataType: 'json',
url: baseURL + '/api/loadpoli',
url: baseURL + '/api/loadregisterpoli',
success: function (result) {
if (result['code'] == 0) {
console.log (result);
console.log(result);
var res = result['data'];
optionseg = '';
optionseg += '<option value="Pilih" disabled selected>Pilih</option>';
......@@ -64,10 +61,10 @@ function loadpoli() {
let $id = result.data[0].id_poli;
// let $id = result.data['id_poli'];
// console.log($id);
} else {
}
}
});
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
@import url("https://fonts.googleapis.com/css?family=Raleway:400,700");
*, *:before, *:after {
box-sizing: border-box;
}
body {
min-height: 100vh;
font-family: "Raleway", sans-serif;
}
.container {
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
}
.container:hover .top:before, .container:active .top:before, .container:hover .bottom:before, .container:active .bottom:before, .container:hover .top:after, .container:active .top:after, .container:hover .bottom:after, .container:active .bottom:after {
margin-left: 200px;
transform-origin: -200px 50%;
transition-delay: 0s;
}
.container:hover .center, .container:active .center {
opacity: 1;
transition-delay: 0.2s;
}
.top:before, .bottom:before, .top:after, .bottom:after {
content: "";
display: block;
position: absolute;
width: 200vmax;
height: 200vmax;
top: 50%;
left: 50%;
margin-top: -100vmax;
transform-origin: 0 50%;
transition: all 0.5s cubic-bezier(0.445, 0.05, 0, 1);
z-index: 10;
opacity: 0.65;
transition-delay: 0.2s;
}
.top:before {
transform: rotate(45deg);
background: #e46569;
}
.top:after {
transform: rotate(135deg);
background: #ecaf81;
}
.bottom:before {
transform: rotate(-45deg);
background: #60b8d4;
}
.bottom:after {
transform: rotate(-135deg);
background: #3745b5;
}
.center {
position: absolute;
width: 400px;
height: 400px;
top: 50%;
left: 50%;
margin-left: -200px;
margin-top: -200px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 30px;
opacity: 0;
transition: all 0.5s cubic-bezier(0.445, 0.05, 0, 1);
transition-delay: 0s;
color: #333;
}
.center input {
width: 100%;
padding: 15px;
margin: 5px;
border-radius: 1px;
border: 1px solid #ccc;
font-family: inherit;
}
......@@ -60,7 +60,7 @@ class ClassLoader
public function getPrefixes()
{
if (!empty($this->prefixesPsr0)) {
return call_user_func_array('array_merge', $this->prefixesPsr0);
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
}
return array();
......
......@@ -13,6 +13,9 @@ class ComposerAutoloaderInitfe7d3cb9e3e556360705ee29bb11bde9
}
}
/**
* @return \Composer\Autoload\ClassLoader
*/
public static function getLoader()
{
if (null !== self::$loader) {
......
# Ingore common cruft
.DS_STORE
coverage
.idea
# Ignore binary files
guzzle.phar
guzzle-min.phar
# Ignore potentially sensitive phpunit file
phpunit.xml
# Ignore composer generated files
composer.phar
composer.lock
composer-test.lock
vendor/
# Ignore build files
build/
phing/build.properties
# Ignore subsplit working directory
.subsplit
docs/_build
docs/*.pyc
language: php
php:
- 5.3
- 5.4
- 5.5
- 5.6
- hhvm
before_script:
- curl --version
- pecl install uri_template-beta || echo "pecl uri_template not available"
- composer self-update
- composer install --no-interaction --prefer-source --dev
- ~/.nvm/nvm.sh install v0.6.14
script: composer test
This diff is collapsed.
Copyright (c) 2011 Michael Dowling, https://github.com/mtdowling <mtdowling@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Guzzle, PHP HTTP client and webservice framework
================================================
# This is an old version of Guzzle
This repository is for Guzzle 3.x. Guzzle 5.x, the new version of Guzzle, has
been released and is available at
[https://github.com/guzzle/guzzle](https://github.com/guzzle/guzzle). The
documentation for Guzzle version 5+ can be found at
[http://guzzlephp.org](http://guzzlephp.org).
Guzzle 3 is only maintained for bug and security fixes. Guzzle 3 will be EOL
at some point in late 2015.
### About Guzzle 3
[![Composer Downloads](https://poser.pugx.org/guzzle/guzzle/d/total.png)](https://packagist.org/packages/guzzle/guzzle)
[![Build Status](https://secure.travis-ci.org/guzzle/guzzle3.png?branch=master)](http://travis-ci.org/guzzle/guzzle3)
- Extremely powerful API provides all the power of cURL with a simple interface.
- Truly take advantage of HTTP/1.1 with persistent connections, connection pooling, and parallel requests.
- Service description DSL allows you build awesome web service clients faster.
- Symfony2 event-based plugin system allows you to completely modify the behavior of a request.
Get answers with: [Documentation](http://guzzle3.readthedocs.org/en/latest/), [Forums](https://groups.google.com/forum/?hl=en#!forum/guzzle), IRC ([#guzzlephp](irc://irc.freenode.net/#guzzlephp) @ irc.freenode.net)
### Installing via Composer
The recommended way to install Guzzle is through [Composer](http://getcomposer.org).
```bash
# Install Composer
curl -sS https://getcomposer.org/installer | php
# Add Guzzle as a dependency
php composer.phar require guzzle/guzzle:~3.9
```
After installing, you need to require Composer's autoloader:
```php
require 'vendor/autoload.php';
```
## Known Issues
1. Problem following a specific redirect: https://github.com/guzzle/guzzle/issues/385.
This has been fixed in Guzzle 4/5.
2. Root XML attributes not serialized in a service description: https://github.com/guzzle/guzzle3/issues/5.
This has been fixed in Guzzle 4/5.
3. Accept-Encoding not preserved when following redirect: https://github.com/guzzle/guzzle3/issues/9
Fixed in Guzzle 4/5.
4. String "Array" Transmitted w/ PostFiles and Duplicate Aggregator: https://github.com/guzzle/guzzle3/issues/10
Fixed in Guzzle 4/5.
5. Recursive model references with array items: https://github.com/guzzle/guzzle3/issues/13
Fixed in Guzzle 4/5
6. String "Array" Transmitted w/ PostFiles and Duplicate Aggregator: https://github.com/guzzle/guzzle3/issues/10
Fixed in Guzzle 4/5.
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<project name="guzzle" default="test">
<!-- set local values, like git location -->
<property file="phing/build.properties.dist" override="true" />
<property file="phing/build.properties" override="true" />
<property name="dir.output" value="${project.basedir}/build/artifacts" />
<property name="dir.imports" value="${project.basedir}/phing/imports" />
<property name="dir.bin" value="${project.basedir}/bin" />
<property name="repo.dir" value="${project.basedir}" />
<import file="${dir.imports}/dependencies.xml"/>
<import file="${dir.imports}/deploy.xml"/>
<target name="composer-lint" description="lint-check composer.json only">
<composerlint dir="${project.basedir}/src" file="{$project.basedir}/composer.json" />
</target>
<target name="test" description="Run unit tests">
<exec passthru="true" command="vendor/bin/phpunit" checkReturn="true" />
</target>
<target name="build-init" description="Initialize local phing properties">
<copy file="phing/build.properties.dist" tofile="phing/build.properties" overwrite="false" />
</target>
<target name="clean">
<delete dir="${dir.output}"/>
<delete dir="${project.basedir}/build/pearwork"/>
</target>
<target name="prepare" depends="clean,build-init">
<mkdir dir="${dir.output}"/>
<mkdir dir="${dir.output}/logs" />
</target>
<target name="coverage" depends="prepare">
<exec passthru="true" command="vendor/bin/phpunit --coverage-html=${dir.output}/coverage" />
</target>
<target name="view-coverage">
<exec passthru="true" command="open ${dir.output}/coverage/index.html" />
</target>
</project>
{
"name": "guzzle/guzzle",
"type": "library",
"description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle",
"keywords": ["framework", "http", "rest", "web service", "curl", "client", "HTTP client"],
"homepage": "http://guzzlephp.org/",
"license": "MIT",
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Guzzle Community",
"homepage": "https://github.com/guzzle/guzzle/contributors"
}
],
"replace": {
"guzzle/batch": "self.version",
"guzzle/cache": "self.version",
"guzzle/common": "self.version",
"guzzle/http": "self.version",
"guzzle/inflection": "self.version",
"guzzle/iterator": "self.version",
"guzzle/log": "self.version",
"guzzle/parser": "self.version",
"guzzle/plugin": "self.version",
"guzzle/plugin-async": "self.version",
"guzzle/plugin-backoff": "self.version",
"guzzle/plugin-cache": "self.version",
"guzzle/plugin-cookie": "self.version",
"guzzle/plugin-curlauth": "self.version",
"guzzle/plugin-error-response": "self.version",
"guzzle/plugin-history": "self.version",
"guzzle/plugin-log": "self.version",
"guzzle/plugin-md5": "self.version",
"guzzle/plugin-mock": "self.version",
"guzzle/plugin-oauth": "self.version",
"guzzle/service": "self.version",
"guzzle/stream": "self.version"
},
"require": {
"php": ">=5.3.3",
"ext-curl": "*",
"symfony/event-dispatcher": "~2.1"
},
"autoload": {
"psr-0": {
"Guzzle": "src/",
"Guzzle\\Tests": "tests/"
}
},
"suggest": {
"guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
},
"scripts": {
"test": "phpunit"
},
"require-dev": {
"doctrine/cache": "~1.3",
"symfony/class-loader": "~2.1",
"monolog/monolog": "~1.0",
"psr/log": "~1.0",
"zendframework/zend-cache": "2.*,<2.3",
"zendframework/zend-log": "2.*,<2.3",
"phpunit/phpunit": "3.7.*"
},
"extra": {
"branch-alias": {
"dev-master": "3.9-dev"
}
}
}
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
-rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Guzzle.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Guzzle.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/Guzzle"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Guzzle"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
{
"additionalProperties": true,
"name": {
"type": "string",
"description": "Name of the web service"
},
"apiVersion": {
"type": ["string", "number"],
"description": "Version identifier that the service description is compatible with"
},
"baseUrl": {
"type": "string",
"description": "Base URL of the web service. Any relative URI specified in an operation will be merged with the baseUrl using the process defined in RFC 2396"
},
"basePath": {
"type": "string",
"description": "Alias of baseUrl"
},
"_description": {
"type": "string",
"description": "Short summary of the web service. This is actually called 'description' but this JSON schema wont validate using just description."
},
"operations": {
"description": "Operations of the web service",
"type": "object",
"properties": {
"extends": {
"type": "string",
"description": "Extend from another operation by name. The parent operation must be defined before the child."
},
"httpMethod": {
"type": "string",
"description": "HTTP method used with the operation (e.g. GET, POST, PUT, DELETE, PATCH, etc)"
},
"uri": {
"type": "string",
"description": "URI of the operation. The uri attribute can contain URI templates. The variables of the URI template are parameters of the operation with a location value of uri"
},
"summary": {
"type": "string",
"description": "Short summary of what the operation does"
},
"class": {
"type": "string",
"description": "Custom class to instantiate instead of the default Guzzle\\Service\\Command\\OperationCommand"
},
"responseClass": {
"type": "string",
"description": "This is what is returned from the method. Can be a primitive, class name, or model name."
},
"responseNotes": {
"type": "string",
"description": "A description of the response returned by the operation"
},
"responseType": {
"type": "string",
"description": "The type of response that the operation creates. If not specified, this value will be automatically inferred based on whether or not there is a model matching the name, if a matching class name is found, or set to 'primitive' by default.",
"enum": [ "primitive", "class", "model", "documentation" ]
},
"deprecated": {
"type": "boolean",
"description": "Whether or not the operation is deprecated"
},
"errorResponses": {
"description": "Errors that could occur while executing the operation",
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "number",
"description": "HTTP response status code of the error"
},
"reason": {
"type": "string",
"description": "Response reason phrase or description of the error"
},
"class": {
"type": "string",
"description": "A custom exception class that would be thrown if the error is encountered"
}
}
}
},
"data": {
"type": "object",
"additionalProperties": "true"
},
"parameters": {
"$ref": "parameters",
"description": "Parameters of the operation. Parameters are used to define how input data is serialized into a HTTP request."
},
"additionalParameters": {
"$ref": "parameters",
"description": "Validation and serialization rules for any parameter supplied to the operation that was not explicitly defined."
}
}
},
"models": {
"description": "Schema models that can be referenced throughout the service description. Models can be used to define how an HTTP response is parsed into a Guzzle\\Service\\Resource\\Model object.",
"type": "object",
"properties": {
"$ref": "parameters",
"description": "Parameters of the model. When a model is referenced in a responseClass attribute of an operation, parameters define how a HTTP response message is parsed into a Guzzle\\Service\\Resource\\Model."
}
},
"includes": {
"description": "Service description files to include and extend from (can be a .json, .js, or .php file)",
"type": "array",
"items": {
"type": "string",
"pattern": ".+\\.(js|json|php)$"
}
},
"definitions": {
"parameters": {
"extends": "http://json-schema.org/schema",
"id": "parameters",
"name": {
"type": "string",
"description": "Unique name of the parameter"
},
"type": {
"type": ["string", "array"],
"description": "Type of variable (string, number, integer, boolean, object, array, numeric, null, any). Types are using for validation and determining the structure of a parameter. You can use a union type by providing an array of simple types. If one of the union types matches the provided value, then the value is valid."
},
"instanceOf": {
"type": "string",
"description": "When the type is an object, you can specify the class that the object must implement"
},
"required": {
"type": "boolean",
"description": "Whether or not the parameter is required"
},
"default": {
"description": "Default value to use if no value is supplied"
},
"static": {
"type": "bool",
"description": "Set to true to specify that the parameter value cannot be changed from the default setting"
},
"description": {
"type": "string",
"description": "Documentation of the parameter"
},
"location": {
"type": "string",
"description": "The location of a request used to apply a parameter. Custom locations can be registered with a command, but the defaults are uri, query, statusCode, reasonPhrase, header, body, json, xml, postField, postFile, responseBody"
},
"sentAs": {
"type": "string",
"description": "Specifies how the data being modeled is sent over the wire. For example, you may wish to include certain headers in a response model that have a normalized casing of FooBar, but the actual header is x-foo-bar. In this case, sentAs would be set to x-foo-bar."
},
"filters": {
"type": "array",
"description": "Array of static method names to to run a parameter value through. Each value in the array must be a string containing the full class path to a static method or an array of complex filter information. You can specify static methods of classes using the full namespace class name followed by ‘::’ (e.g. FooBar::baz()). Some filters require arguments in order to properly filter a value. For complex filters, use a hash containing a ‘method’ key pointing to a static method, and an ‘args’ key containing an array of positional arguments to pass to the method. Arguments can contain keywords that are replaced when filtering a value: '@value‘ is replaced with the value being validated, '@api‘ is replaced with the Parameter object.",
"items": {
"type": ["string", {
"object": {
"properties": {
"method": {
"type": "string",
"description": "PHP function to call",
"required": true
},
"args": {
"type": "array"
}
}
}
}]
}
}
}
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment