Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <title>a title</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=1000, initial-scale=1">
- <meta http-equiv="X-UA-Compatible" content="IE=Edge">
- <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Oxygen:400,700">
- <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
- <link rel="stylesheet" href="css/layout.css">
- <script charset="utf-8" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
- <script charset="utf-8" src="//cdn.datatables.net/1.10.0/js/jquery.dataTables.js"></script>
- <script charset="utf-8" src="//cdn.jsdelivr.net/jquery.validation/1.13.1/jquery.validate.min.js"></script>
- <script charset="utf-8" src="js/webapp.js"></script>
- </head>
- <body>
- <div id="page_container">
- <h1>Dead Sea Premier Admin Dashboard</h1>
- <button type="button" class="button" id="add_client">Add Client</button>
- <table class="datatable" id="table_users">
- <thead>
- <tr>
- <th>First Name</th>
- <th>Last Name</th>
- <th>Email</th>
- <th>Phone Number</th>
- <th>Address</th>
- <th>City</th>
- <th>Zip Code</th>
- <th>State</th>
- <th>Country</th>
- <th>Mailing List</th>
- </tr>
- </thead>
- <tbody>
- </tbody>
- </table>
- </div>
- <div class="lightbox_bg"></div>
- <div class="lightbox_container">
- <div class="lightbox_close"></div>
- <div class="lightbox_content">
- <h2>Add User</h2>
- <form class="form add" id="form_client" data-id="" novalidate>
- <div class="input_container">
- <label for="firstName">First Name: <span class="required">*</span></label>
- <div class="field_container">
- <input type="text" class="text" name="firstName" id="firstName" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="lastName">Last Name: <span class="required">*</span></label>
- <div class="field_container">
- <input type="text" class="text" name="lastName" id="lastName" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="email">Email: <span class="required">*</span></label>
- <div class="field_container">
- <input type="email" step="1" class="text" name="email" id="email" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="phone">Phone: <span class="required">*</span></label>
- <div class="field_container">
- <input type="text"class="text" name="phone" id="phone" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="address">Address: <span class="required">*</span></label>
- <div class="field_container">
- <input type="number" min="0" class="text" name="address" id="address" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="city">City: <span class="required">*</span></label>
- <div class="field_container">
- <input type="number" step="1" min="0" class="text" name="city" id="city" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="region">Region: <span class="required">*</span></label>
- <div class="field_container">
- <input type="text" class="text" name="region" id="region" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="country">Country: <span class="required">*</span></label>
- <div class="field_container">
- <input type="text" class="text" name="country" id="country" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="zip">Zip: <span class="required">*</span></label>
- <div class="field_container">
- <input type="text" class="text" name="zip" id="zip" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="mailing">Mailing List: <span class="required">*</span></label>
- <div class="field_container">
- <input type="text" class="text" name="mailing" id="mailing" value="" required>
- </div>
- </div>
- <div class="button_container">
- <button type="submit">Add Client</button>
- </div>
- </form>
- </div>
- </div>
- <noscript id="noscript_container">
- <div id="noscript" class="error">
- <p>JavaScript support is needed to use this page.</p>
- </div>
- </noscript>
- <div id="message_container">
- <div id="message" class="success">
- <p>This is a success message.</p>
- </div>
- </div>
- <div id="loading_container">
- <div id="loading_container2">
- <div id="loading_container3">
- <div id="loading_container4">
- Loading, please wait...
- </div>
- </div>
- </div>
- </div>
- </body>
- </html>
- $(document).ready(function(){
- // On page load: datatable
- var table_users = $('#table_users').dataTable({
- "ajax": "data.php?job=get_users",
- "columns": [
- { "data": "firstName", "sClass": "firstName" },
- { "data": "lastName"},
- { "data": "email"},
- { "data": "phone"},
- { "data": "address"},
- { "data": "city"},
- { "data": "region"},
- { "data": "country"},
- { "data": "zip"},
- { "data": "mailing"},
- { "data": "functions", "sClass": "functions" }
- ],
- "aoColumnDefs": [
- { "bSortable": false, "aTargets": [-1] }
- ],
- "lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
- "oLanguage": {
- "oPaginate": {
- "sFirst": " ",
- "sPrevious": " ",
- "sNext": " ",
- "sLast": " ",
- },
- "sLengthMenu": "Records per page: _MENU_",
- "sInfo": "Total of _TOTAL_ records (showing _START_ to _END_)",
- "sInfoFiltered": "(filtered from _MAX_ total records)"
- }
- });
- // On page load: form validation
- jQuery.validator.setDefaults({
- success: 'valid',
- errorPlacement: function(error, element){
- error.insertBefore(element);
- },
- highlight: function(element){
- $(element).parent('.field_container').removeClass('valid').addClass('error');
- },
- unhighlight: function(element){
- $(element).parent('.field_container').addClass('valid').removeClass('error');
- }
- });
- var form_client = $('#form_client');
- form_client.validate();
- // Show message
- function show_message(message_text, message_type){
- $('#message').html('<p>' + message_text + '</p>').attr('class', message_type);
- $('#message_container').show();
- if (typeof timeout_message !== 'undefined'){
- window.clearTimeout(timeout_message);
- }
- timeout_message = setTimeout(function(){
- hide_message();
- }, 8000);
- }
- // Hide message
- function hide_message(){
- $('#message').html('').attr('class', '');
- $('#message_container').hide();
- }
- // Show loading message
- function show_loading_message(){
- $('#loading_container').show();
- }
- // Hide loading message
- function hide_loading_message(){
- $('#loading_container').hide();
- }
- // Show lightbox
- function show_lightbox(){
- $('.lightbox_bg').show();
- $('.lightbox_container').show();
- }
- // Hide lightbox
- function hide_lightbox(){
- $('.lightbox_bg').hide();
- $('.lightbox_container').hide();
- }
- // Lightbox background
- $(document).on('click', '.lightbox_bg', function(){
- hide_lightbox();
- });
- // Lightbox close button
- $(document).on('click', '.lightbox_close', function(){
- hide_lightbox();
- });
- // Escape keyboard key
- $(document).keyup(function(e){
- if (e.keyCode == 27){
- hide_lightbox();
- }
- });
- // Hide iPad keyboard
- function hide_ipad_keyboard(){
- document.activeElement.blur();
- $('input').blur();
- }
- // Add company button
- $(document).on('click', '#add_client', function(e){
- e.preventDefault();
- $('.lightbox_content h2').text('Add Client');
- $('#form_client button').text('Add Client');
- $('#form_client').attr('class', 'form add');
- $('#form_client').attr('data-id', '');
- $('#form_client .field_container label.error').hide();
- $('#form_client .field_container').removeClass('valid').removeClass('error');
- $('#form_client #firstName').val('');
- $('#form_client #lastName').val('');
- $('#form_client #email').val('');
- $('#form_client #phone').val('');
- $('#form_client #address').val('');
- $('#form_client #city').val('');
- $('#form_client #region').val('');
- $('#form_client #country').val('');
- $('#form_client #zip').val('');
- $('#form_client #mailing').val('');
- show_lightbox();
- });
- // Add company submit form
- $(document).on('submit', '#form_client.add', function(e){
- e.preventDefault();
- // Validate form
- if (form_client.valid() == true){
- // Send company information to database
- hide_ipad_keyboard();
- hide_lightbox();
- show_loading_message();
- var form_data = $('#form_client').serialize();
- var request = $.ajax({
- url: 'data.php?job=add_user',
- cache: false,
- data: form_data,
- dataType: 'json',
- contentType: 'application/json; charset=utf-8',
- type: 'get'
- });
- request.done(function(output){
- if (output.result == 'success'){
- // Reload datable
- table_users.api().ajax.reload(function(){
- hide_loading_message();
- var firstName = $('#firstName').val();
- show_message("Client '" + firstName + "' was added successfully.", 'success');
- }, true);
- } else {
- hide_loading_message();
- show_message('Add request failed', 'error');
- }
- });
- request.fail(function(jqXHR, textStatus){
- hide_loading_message();
- show_message('Add request failed: ' + textStatus, 'error');
- });
- }
- });
- // Edit company button
- $(document).on('click', '.function_edit a', function(e){
- e.preventDefault();
- // Get company information from database
- show_loading_message();
- var id = $(this).data('id');
- var request = $.ajax({
- url: 'data.php?job=get_user',
- cache: false,
- data: 'id=' + id,
- dataType: 'json',
- contentType: 'application/json; charset=utf-8',
- type: 'get'
- });
- request.done(function(output){
- if (output.result == 'success'){
- $('.lightbox_content h2').text('Edit Client');
- $('#form_client button').text('Edit Client');
- $('#form_client').attr('class', 'form edit');
- $('#form_client').attr('data-id', id);
- $('#form_client .field_container label.error').hide();
- $('#form_client .field_container').removeClass('valid').removeClass('error');
- $('#form_client #firstName').val(output.data[0].firstName);
- $('#form_client #lastName').val(output.data[0].lastName);
- $('#form_client #email').val(output.data[0].email);
- $('#form_client #phone').val(output.data[0].phone);
- $('#form_client #address').val(output.data[0].address);
- $('#form_client #city').val(output.data[0].city);
- $('#form_client #region').val(output.data[0].region);
- $('#form_client #country').val(output.data[0].country);
- $('#form_client #zip').val(output.data[0].zip);
- $('#form_client #mailing').val(output.data[0].mailing);
- hide_loading_message();
- show_lightbox();
- } else {
- hide_loading_message();
- show_message('Information request failed', 'error');
- }
- });
- request.fail(function(jqXHR, textStatus){
- hide_loading_message();
- show_message('Information request failed: ' + textStatus, 'error');
- });
- });
- // Edit company submit form
- $(document).on('submit', '#form_client.edit', function(e){
- e.preventDefault();
- // Validate form
- if (form_client.valid() == true){
- // Send company information to database
- hide_ipad_keyboard();
- hide_lightbox();
- show_loading_message();
- var id = $('#form_client').attr('data-id');
- var form_data = $('#form_client').serialize();
- var request = $.ajax({
- url: 'data.php?job=edit_user&id=' + id,
- cache: false,
- data: form_data,
- dataType: 'json',
- contentType: 'application/json; charset=utf-8',
- type: 'get'
- });
- request.done(function(output){
- if (output.result == 'success'){
- // Reload datable
- table_users.api().ajax.reload(function(){
- hide_loading_message();
- var firstName = $('#firstName').val();
- show_message("Client '" + firstName + "' edited successfully.", 'success');
- }, true);
- } else {
- hide_loading_message();
- show_message('Edit request failed', 'error');
- }
- });
- request.fail(function(jqXHR, textStatus){
- hide_loading_message();
- show_message('Edit request failed: ' + textStatus, 'error');
- });
- }
- });
- // Delete company
- $(document).on('click', '.function_delete a', function(e){
- e.preventDefault();
- var firstName = $(this).data('name');
- if (confirm("Are you sure you want to delete '" + firstName + "'?")){
- show_loading_message();
- var id = $(this).data('id');
- var request = $.ajax({
- url: 'data.php?job=delete_user&id=' + id,
- cache: false,
- dataType: 'json',
- contentType: 'application/json; charset=utf-8',
- type: 'get'
- });
- request.done(function(output){
- if (output.result == 'success'){
- // Reload datable
- table_users.api().ajax.reload(function(){
- hide_loading_message();
- show_message("Client '" + firstName + "' deleted successfully.", 'success');
- }, true);
- } else {
- hide_loading_message();
- show_message('Delete request failed', 'error');
- }
- });
- request.fail(function(jqXHR, textStatus){
- hide_loading_message();
- show_message('Delete request failed: ' + textStatus, 'error');
- });
- }
- });
- });
- <?php
- // Database details
- $db_server = 'localhost';
- $db_username = 'root';
- $db_password = '';
- $db_name = 'premierDB';
- // Get job (and id)
- $job = '';
- $id = '';
- if (isset($_GET['job'])){
- $job = $_GET['job'];
- if ($job == 'get_users' ||
- $job == 'get_user' ||
- $job == 'add_user' ||
- $job == 'edit_user' ||
- $job == 'delete_user'){
- if (isset($_GET['id'])){
- $id = $_GET['id'];
- if (!is_numeric($id)){
- $id = '';
- }
- }
- } else {
- $job = '';
- }
- }
- // Prepare array
- $mysql_data = array();
- // Valid job found
- if ($job != ''){
- // Connect to database
- $db_connection = mysqli_connect($db_server, $db_username, $db_password, $db_name);
- if (mysqli_connect_errno()){
- $result = 'error';
- $message = 'Failed to connect to database: ' . mysqli_connect_error();
- $job = '';
- }
- // Execute job
- if ($job == 'get_users'){
- // Get companies
- $query = "SELECT * FROM users ORDER BY firstName ";
- $query = mysqli_query($db_connection, $query);
- if (!$query){
- $result = 'error';
- $message = 'query error';
- } else {
- $result = 'success';
- $message = 'query success';
- while ($user = mysqli_fetch_array($query)){
- $functions = '<div class="function_buttons"><ul>';
- $functions .= '<li class="function_edit"><a data-id="' . $user['id'] . '" data-name="' . $user['firstName'] . '"><span>Edit</span></a></li>';
- $functions .= '<li class="function_delete"><a data-id="' . $user['id'] . '" data-name="' . $user['firstName'] . '"><span>Delete</span></a></li>';
- $functions .= '</ul></div>';
- $mysql_data[] = array(
- "firstName" => $user['firstName'],
- "lastName" => $user['lastName'],
- "email" => $user['email'],
- "phone" => $user['phone'],
- "address" => $user['address'],
- "city" => $user['city'],
- "region" => $user['region'],
- "country" => $user['country'],
- "zip" => $user['zip'],
- "mailing" => $user['mailing'],
- "functions" => $functions
- );
- }
- }
- } elseif ($job == 'get_user'){
- // Get company
- if ($id == ''){
- $result = 'error';
- $message = 'id missing';
- } else {
- $query = "SELECT * FROM users WHERE id = '" . mysqli_real_escape_string($db_connection, $id) . "'";
- $query = mysqli_query($db_connection, $query);
- if (!$query){
- $result = 'error';
- $message = 'query error';
- } else {
- $result = 'success';
- $message = 'query success';
- while ($user = mysqli_fetch_array($query)){
- $mysql_data[] = array(
- "firstName" => $user['firstName'],
- "lastName" => $user['lastName'],
- "email" => $user['email'],
- "phone" => $user['phone'],
- "address" => $user['address'],
- "city" => $user['city'],
- "region" => $user['region'],
- "country" => $user['country'],
- "zip" => $user['zip'],
- "mailing" => $user['mailing'],
- );
- }
- }
- }
- } elseif ($job == 'add_user'){
- // Add company
- $query = "INSERT INTO users SET ";
- if (isset($_GET['firstName'])) { $query .= "firstName = '" . mysqli_real_escape_string($db_connection, $_GET['firstName']) . "', "; }
- if (isset($_GET['lastName'])) { $query .= "lastName = '" . mysqli_real_escape_string($db_connection, $_GET['lastName']) . "', "; }
- if (isset($_GET['email'])) { $query .= "email = '" . mysqli_real_escape_string($db_connection, $_GET['email']) . "', "; }
- if (isset($_GET['phone'])) { $query .= "phone = '" . mysqli_real_escape_string($db_connection, $_GET['phone']) . "', "; }
- if (isset($_GET['address'])) { $query .= "address = '" . mysqli_real_escape_string($db_connection, $_GET['address']) . "', "; }
- if (isset($_GET['city'])) { $query .= "city = '" . mysqli_real_escape_string($db_connection, $_GET['city']) . "', "; }
- if (isset($_GET['region'])) { $query .= "region = '" . mysqli_real_escape_string($db_connection, $_GET['region']) . "'"; }
- if (isset($_GET['country'])) { $query .= "country = '" . mysqli_real_escape_string($db_connection, $_GET['country']) . "'"; }
- if (isset($_GET['zip'])) { $query .= "zip = '" . mysqli_real_escape_string($db_connection, $_GET['zip']) . "'"; }
- if (isset($_GET['mailing'])) { $query .= "mailing = '" . mysqli_real_escape_string($db_connection, $_GET['mailing']) . "'"; }
- $query = mysqli_query($db_connection, $query);
- if (!$query){
- $result = 'error';
- $message = 'query error';
- } else {
- $result = 'success';
- $message = 'query success';
- }
- } elseif ($job == 'edit_user'){
- // Edit user
- if ($id == ''){
- $result = 'error';
- $message = 'id missing';
- } else {
- $query = "UPDATE users SET ";
- if (isset($_GET['firstName'])) { $query .= "firstName = '" . mysqli_real_escape_string($db_connection, $_GET['firstName']) . "', "; }
- if (isset($_GET['lastName'])) { $query .= "lastName = '" . mysqli_real_escape_string($db_connection, $_GET['lastName']) . "', "; }
- if (isset($_GET['email'])) { $query .= "email = '" . mysqli_real_escape_string($db_connection, $_GET['email']) . "', "; }
- if (isset($_GET['phone'])) { $query .= "phone = '" . mysqli_real_escape_string($db_connection, $_GET['phone']) . "', "; }
- if (isset($_GET['address'])) { $query .= "address = '" . mysqli_real_escape_string($db_connection, $_GET['address']) . "', "; }
- if (isset($_GET['city'])) { $query .= "city = '" . mysqli_real_escape_string($db_connection, $_GET['city']) . "', "; }
- if (isset($_GET['region'])) { $query .= "region = '" . mysqli_real_escape_string($db_connection, $_GET['region']) . "'"; }
- if (isset($_GET['country'])) { $query .= "country = '" . mysqli_real_escape_string($db_connection, $_GET['country']) . "'"; }
- if (isset($_GET['zip'])) { $query .= "zip = '" . mysqli_real_escape_string($db_connection, $_GET['zip']) . "'"; }
- if (isset($_GET['mailing'])) { $query .= "mailing = '" . mysqli_real_escape_string($db_connection, $_GET['mailing']) . "'"; }
- $query .= "WHERE id = '" . mysqli_real_escape_string($db_connection, $id) . "'";
- $query = mysqli_query($db_connection, $query);
- if (!$query){
- $result = 'error';
- $message = 'query error';
- } else {
- $result = 'success';
- $message = 'query success';
- }
- }
- } elseif ($job == 'delete_user'){
- // Delete company
- if ($id == ''){
- $result = 'error';
- $message = 'id missing';
- } else {
- $query = "DELETE FROM users WHERE id = '" . mysqli_real_escape_string($db_connection, $id) . "'";
- $query = mysqli_query($db_connection, $query);
- if (!$query){
- $result = 'error';
- $message = 'query error';
- } else {
- $result = 'success';
- $message = 'query success';
- }
- }
- }
- // Close database connection
- mysqli_close($db_connection);
- }
- // Prepare data
- $data = array(
- "result" => $result,
- "message" => $message,
- "data" => $mysql_data
- );
- // Convert PHP array to JSON array
- $json_data = json_encode($data);
- print $json_data;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement