function save_new_application() { if (isset($_POST['num_leaves']) and intval(trim($_POST['num_leaves'])) > 0) { //Αν ο αριθμός ημερών δεν είναι κενός και το αριθμός είναι μεγαλύτερος του 0 global $db, $user, $message_list; // Check if the number of days requested is available (remaining days) if (trim($_POST['leave_type']) == 2) { $afm = trim($_POST['user_tel']); if (intval(trim($_POST['num_leaves'])) > get_remaining_leaves_for_user(afm_to_id($afm))) { $message_list[] = array('type' => 'danger', 'message' => 'Σφάλμα! Το υπόλοιπο των ημερών αδείας του υπαλλήλου σας δεν επαρκεί.'); return; } } else { if (intval(trim($_POST['num_leaves'])) > get_remaining_leaves()) { $message_list[] = array('type' => 'danger', 'message' => 'Σφάλμα! Το υπόλοιπο των ημερών αδείας σας δεν επαρκεί.'); return; } } $query = $db->prepare('INSERT INTO leaves_submissions (leave_id, employee_afm, type_id, date_submitted, submitted_by, date_starts, date_ends, num_leaves, ip_submitted, remaining_leaves, filename) VALUES(NULL, :employee_afm, :type_id, :date_submitted, :submitted_by, :date_starts, :date_ends, :num_leaves, :ip_submitted, :remaining_leaves, :filename)'); $afm = $user->afm; $submitted_by = ''; if (trim($_POST['leave_type']) == 2) { // This is request via telephone $afm = trim($_POST['user_tel']); $submitted_by = $user->afm; } $submission_date = date("Y-m-d H:i:s"); $filename = date("Y-m-d_H_i_s") . '_' . get_rand_id(5) . '.pdf'; $query->bindValue(':employee_afm', $afm, PDO::PARAM_STR); $query->bindValue(':type_id', trim($_POST['leave_type']), PDO::PARAM_INT); $query->bindValue(':date_submitted', $submission_date, PDO::PARAM_STR); $query->bindValue(':submitted_by', $submitted_by, PDO::PARAM_STR); $query->bindValue(':date_starts', trim($_POST['date_starts']), PDO::PARAM_STR); $query->bindValue(':date_ends', trim($_POST['date_ends']), PDO::PARAM_STR); $query->bindValue(':num_leaves', trim($_POST['num_leaves']), PDO::PARAM_INT); $query->bindValue(':ip_submitted', $_SERVER['REMOTE_ADDR'], PDO::PARAM_STR); $query->bindValue(':remaining_leaves', get_remaining_leaves(), PDO::PARAM_STR); $query->bindValue(':filename', $filename, PDO::PARAM_STR); $query->execute(); $id = $db->lastInsertId(); if ($id != 0) { // Prepare the pdf body $leave_user = get_user_details_by_afm($afm); $pdf_body = '<h4>Αίτηση Άδειας</h4>'; $pdf_body .= '<p>Όνομα: ' . $leave_user->first_name . '</p>'; $pdf_body .= '<p>Επίθετο: ' . $leave_user->last_name . '</p>'; $pdf_body .= '<p>Ημερομηνία Έναρξης Άδειας: ' . printDate(trim($_POST['date_starts'])) . '</p>'; $pdf_body .= '<p>Ημερομηνία Λήξης Άδειας: ' . printDate(trim($_POST['date_ends'])) . '</p>'; $pdf_body .= '<p>Ημέρες Άδειας: ' . trim($_POST['num_leaves']) . '</p>'; $pdf_body .= '<p>Ημέρομηνία Υποβολής: ' . printDate($submission_date) . '</p>'; // Also print the pdf $full_path_filename = getcwd() . '/apps/leaves/files/' . $filename; print_pdf($full_path_filename, $pdf_body); if (DEBUG) { // This is in development mode.. $address = LEAVES_DEBUG_USER_EMAIL; $receiver = LEAVES_DEBUG_USER_NAME; } else { // Send email to the employer $address = $leave_user->email; $receiver = $leave_user->first_name . ' ' . $leave_user->last_name; } $subject = 'Η Αίτηση Αδείας σας υποβλήθηκε επιτυχώς'; $body = '<p>Η Αίτηση Αδείας σας υποβλήθηκε επιτυχώς</p>'; $body .= '<p>Επισυνάπτεται αντίγραφο της αίτησή σας.</p>'; $body .= '<p>Θα ενημερωθείτε με νεώτερο email μετά το πέρας της επεξεργασίας της αίτησής σας.</p>'; email_send($address, $receiver, $subject, $body, $full_path_filename); if (trim($_POST['leave_type']) != 2) { // If it is by telephone no need to alert the supervisors // Maybe send this no matter what..? $supervisors = get_user_supervisors($leave_user); foreach ($supervisors as $supervisor) { if (DEBUG) { // This is in development mode.. $address = LEAVES_DEBUG_USER_EMAIL; $receiver = LEAVES_DEBUG_USER_NAME; } else { // Send email to the supervisor $address = $supervisor['email']; $receiver = $supervisor['first_name'] . ' ' . $supervisor['last_name']; } if (DEBUG) { $message_list[] = array('type' => 'message', 'message' => 'Ενημερώθηκε ηλεκτρονικά ο ' . $supervisor['first_name'] . ' ' . $supervisor['last_name']); } $subject = 'Νέα Αίτηση Αδείας απο τον ' . $leave_user->first_name . ' ' . $leave_user->last_name; $body = '<p>O ' . $leave_user->first_name . ' ' . $leave_user->last_name . ' υπέβαλλε νέα αίτηση αδείας.</p>'; $body .= '<p>Συνδεθείτε για να επεξεργαστείτε την αίτηση.</p>'; $body .= '<p><a href="' . URL . '?p=leaves|applications">' . URL . '</a></p>'; email_send($address, $receiver, $subject, $body); } } $message_list[] = array('type' => 'success', 'message' => 'Η Αίτηση καταχωρήθηκε επιτυχώς..'); } else { $message_list[] = array('type' => 'danger', 'message' => 'Σφάλμα! Η Αίτηση δεν καταχωρήθηκε επιτυχώς..'); } //echo $query->getSQL(); //For debug } }
<h3 class="page-title">Οι Αιτήσεις μου</h3> </div> </div> <?php if (isset($_GET['cancel'])) { save_cancel_application(); print_messages(); } ?> <!-- /.row --> <div class="row"> <div class="col-lg-12"> <div class="panel panel-default"> <div class="panel-heading"> Πίνακας Καταχωρημένων Αιτήσεων | Υπόλοιπο Ημερών Άδειας: <strong><?php echo get_remaining_leaves(); ?> </strong> </div> <!-- /.panel-heading --> <div class="panel-body"> <div class="dataTable_wrapper"> <table class="table table-striped table-bordered table-hover" id="dataTables-example"> <thead> <tr> <th>Ημ/νία Υποβολής</th> <th>Είδος Άδειας</th> <th>Αριθ. Ημερών</th> <th>Από</th> <th>Εώς</th> <th>Κατάσταση</th>
<div class="row"> <div class="col-lg-12"> <h3 class="page-title">Υποβολή Νέας Αίτησης</h3> </div> </div> </script> <?php save_new_application(); print_messages(); $remainin_leaves = get_remaining_leaves(); ?> <div class="row"><div class="col-sm-12"><div id="errorer" class="alert alert-danger" style="display:none;">Συμπληρώστε τα απαραίτητα πεδία</div></div></div> <div class="row"> <div class="col-lg-12"> <div class=""> <form name="leaveform" id="leaveform" method="post" action="<?php echo URL; ?> /?p=leaves|new"> <div class="row"> <div class="col-md-2"> <div id="remaining" data-leaves="<?php echo $remainin_leaves; //Εμφάνιση υπολοίπου ημερών άδειας ?> " ></div> <div class="alert alert-info" style="margin-top: 10px;">Υπόλοιπο Ημερών Άδειας: <strong><?php echo $remainin_leaves;