| Server IP : 195.130.67.5 / Your IP : 216.73.216.231 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/Helpdesk/application/controllers/ |
Upload File : |
<?php
class Requests extends Controller
{
public function index()
{
header('location: '.APP_BASE.'requests/toners/');
}
public function toners($list="")
{
global $administrators;
if (!in_array($_SESSION["username"], $administrators) and (date("Y-m-d")<REQUESTS_TONERS_DATE_FROM or date("Y-m-d")>REQUESTS_TONERS_DATE_TO or !in_array($_SESSION["idiotita"], array("Διοικητικός Υπάλληλος", "Εκπαιδευτικό Προσωπικό", "Ειδικό Τεχνικό Προσωπικό", "Εξωσχολικός Συνεργάτης"))))
header('location: '.APP_BASE);
if (!in_array($list, array("peruser", "percode")))
$list = "";
if (!in_array($_SESSION["username"], $administrators))
$list = "";
$menu = "requests/toners".(!empty($list)?"/$list":"");
if ($list=="peruser")
$title = "Λίστα αιτημάτων αναλωσίμων ανά χρήστη";
elseif (($list=="percode"))
$title = "Λίστα αιτημάτων αναλωσίμων ανά κωδικό";
else
$title = "Αίτηση αναλωσίμων εκτυπωτών";
$toners_model = $this->loadModel('tonersModel');
$toners = $toners_model->getAll();
$requests_model = $this->loadModel('requestsModel');
if ($list=="percode")
$requests = $requests_model->getAllTonersRequestsPerCode(REQUESTS_TONERS_PERIOD);
else
$requests = $requests_model->getAllTonersRequests((!empty($list)?NULL:$_SESSION["username"]), REQUESTS_TONERS_PERIOD);
$js_files = array(
APP_BASE."theme/plugins/sweetalert/sweetalert.min.js",
APP_BASE."theme/plugins/select2/select2.min.js",
APP_BASE."theme/plugins/jquery-validation/jquery.validate.js",
APP_BASE."theme/plugins/jquery-validation/localization/messages_el.js",
APP_BASE."theme/plugins/jquery-datatable/jquery.dataTables.js",
APP_BASE."theme/plugins/jquery-datatable/skin/bootstrap/js/dataTables.bootstrap.min.js",
APP_BASE."theme/plugins/jquery-datatable/extensions/export/buttons.html5.min.js",
APP_BASE."theme/plugins/jquery-datatable/extensions/export/buttons.print.min.js",
APP_BASE."theme/plugins/jquery-datatable/extensions/export/jszip.min.js",
APP_BASE."theme/plugins/jquery-datatable/extensions/export/pdfmake.min.js",
APP_BASE."theme/plugins/jquery-datatable/extensions/export/vfs_fonts.js",
APP_BASE."theme/plugins/jquery-datatable/extensions/export/dataTables.buttons.min.js",
APP_BASE."theme/plugins/jquery-datatable/skin/bootstrap/js/buttons.bootstrap.min.js",
APP_BASE."theme/plugins/jquery-datatable/extensions/filter/jquery.dataTables.yadcf.js",
APP_BASE."theme/plugins/moment/min/moment.min.js",
APP_BASE."theme/plugins/jquery-datatable/extensions/export/datetime-moment.js",
APP_BASE."theme/js/requests_toners".(!empty($list)?"_$list":"").".js",
);
$css_files = array(
APP_BASE."theme/plugins/sweetalert/sweetalert.css",
APP_BASE."theme/plugins/select2/select2.min.css",
APP_BASE."theme/plugins/jquery-datatable/skin/bootstrap/css/dataTables.bootstrap.min.css",
APP_BASE."theme/plugins/jquery-datatable/skin/bootstrap/css/buttons.bootstrap.min.css",
APP_BASE."theme/plugins/jquery-datatable/extensions/filter/jquery.dataTables.yadcf.css",
);
require 'application/views/global/header.php';
require 'application/views/requests/toners'.(!empty($list)?"_$list":"").'.php';
require 'application/views/global/footer.php';
}
public function saveTonerRequest()
{
if (isset($_POST["toner_id"]) and isset($_POST["quantity"])) {
$requests_model = $this->loadModel('requestsModel');
if ($_POST["toner_id"]==-1) {
$toners_model = $this->loadModel('tonersModel');
$toner["printer"] = trim(mb_strtoupper($_POST["printer"], "UTF-8"));
$toner["type"] = $_POST["type"];
$toner["color"] = $_POST["color"];
$toner["code"] = trim(mb_strtoupper($_POST["code"], "UTF-8"));
if ($existing_toner = $toners_model->getByName($toner["printer"], $toner["type"], $toner["color"])) {
$record["toner_id"] = $existing_toner->id;
} else {
if ($toners_model->save($toner)) {
$record["toner_id"] = $this->db->insert_id();
} else {
$record["toner_id"] = -1;
$_SESSION['message']= "<script>$(function (){\$.notify({message:'Η δημιουργία του νέου αναλώσιμου απέτυχε'},{type:'danger',delay:5000,newest_on_top: true});});</script>";
}
}
} else {
$record["toner_id"] = $_POST["toner_id"];
}
$record["quantity"] = $_POST["quantity"];
$record["quantity_approved"] = $_POST["quantity"];
$record["username"] = $_SESSION["username"];
$record["fullname"] = $_SESSION["fullname"];
$record["mobile"] = $_SESSION["mobile"];
$record["period"] = REQUESTS_TONERS_PERIOD;
$record["added"] = date("Y-m-d H:i:s");
if ($requests_model->isDoubleTonerRequest($record["toner_id"], $record["username"], $record["period"])) {
$status = 0;
$msg = "Προσοχή! Έχετε κάνει ήδη αίτηση για το ίδιο αναλώσιμο.";
if (empty($_POST["ajax-post"]))
$_SESSION['message']= "<script>$(function (){\$.notify({message:'".$msg."'},{type:'danger',delay:5000,newest_on_top: true});});</script>";
} elseif ($record["toner_id"]>0 and $requests_model->saveTonerRequest($record)) {
$status = 1;
$msg = "Η αίτηση για το αναλώσιμο αποθηκεύτηκε επιτυχώς.";
if (empty($_POST["ajax-post"]))
$_SESSION['message']= "<script>$(function (){\$.notify({message:'".$msg."'},{type:'info',delay:5000,newest_on_top: true});});</script>";
} else {
$status = 0;
$msg = "H αποθήκευση της αίτησης για το αναλώσιμο απέτυχε.";
if (empty($_POST["ajax-post"]))
$_SESSION['message']= "<script>$(function (){\$.notify({message:'".$msg."'},{type:'danger',delay:5000,newest_on_top: true});});</script>";
}
if (!empty($_POST["ajax-post"])) {
echo '<div id="ajax_output"><div id="response_status">'.$status.'</div><div id="response_text">'.$msg.'</div></div>';
exit;
}
}
if (isset($_POST["id"]) and (isset($_POST["quantity"]) or isset($_POST["quantity_approved"]))) {
$requests_model = $this->loadModel('requestsModel');
$record["id"] = $_POST["id"];
if (isset($_POST["quantity"])) {
$record["quantity"] = $_POST["quantity"];
$record["quantity_approved"] = $_POST["quantity"];
}
if (isset($_POST["quantity_approved"]))
$record["quantity_approved"] = $_POST["quantity_approved"];
if ($requests_model->saveTonerRequest($record)) {
$status = 1;
$msg = "Η ποσότητα του αναλώσιμου ενημερώθηκε επιτυχώς.";
} else {
$status = 0;
$msg = "H ενημέρωση της ποσότητας για το αναλώσιμο απέτυχε.";
}
echo '<div id="ajax_output"><div id="response_status">'.$status.'</div><div id="response_text">'.$msg.'</div></div>';
exit;
}
header('location: '.APP_BASE.'requests/toners/');
}
public function saveTonerCodePrice()
{
if (isset($_POST["toner_id"]) and (isset($_POST["code"]) or isset($_POST["price"]) or isset($_POST["original"]))) {
$toners_model = $this->loadModel('tonersModel');
$toner["id"] = $_POST["toner_id"];
if (isset($_POST["code"])) {
$toner["code"] = trim(mb_strtoupper($_POST["code"], "UTF-8"));
} elseif (isset($_POST["price"])) {
$toner["price"] = (float) trim(str_replace(",", ".", $_POST["price"]));
if ($toner["price"]==0)
$toner["price"] = "NULL";
} elseif (isset($_POST["original"])) {
$toner["original"] = $_POST["original"];
}
if ($toners_model->save($toner)) {
$status = 1;
$msg = "Τα δεδομένα για το αναλώσιμο αποθηκεύτηκαν επιτυχώς.";
} else {
$status = 0;
$msg = "H αποθήκευση των δεδομένων για το αναλώσιμο απέτυχε.";
}
echo '<div id="ajax_output"><div id="response_status">'.$status.'</div><div id="response_text">'.$msg.'</div></div>';
exit;
}
header('location: '.APP_BASE.'requests/toners/');
}
public function deleteTonerRequest($id)
{
$requests_model = $this->loadModel('requestsModel');
if ($requests_model->deleteTonerRequest($id))
$_SESSION['message']= "<script>$(function (){\$.notify({message:'Το αναλώσιμο διαγράφηκε επιτυχώς'},{type:'info',delay:5000,newest_on_top: true});});</script>";
else
$_SESSION['message']= "<script>$(function (){\$.notify({message:'Η διαγραφή του αναλωσίμου απέτυχε'},{type:'danger',delay:5000,newest_on_top: true});});</script>";
header('location: '.APP_BASE.'requests/toners/');
}
}
?>