Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- index.php
- <?php
- error_reporting(E_ALL ^ E_NOTICE);
- session_start();
- $dbuid = $_SESSION['userID'];
- $username = $_SESSION['username'];
- $fullname = $_SESSION['fullname'];
- ?>
- <!--
- Developed by: Raja Syahrul Mukhzani
- -->
- <!doctype html>
- <html lang="en" dir="ltr">
- <head>
- <title>CIEE Mart | Proof Read</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" type="text/css" 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/file.js"></script>
- </head>
- <body>
- <div id="page_container">
- <div id="navi">
- <ul>
- <li><a href="index.php">Home</a></li>
- <li><a href="update-user.php">Update User</a></li>
- <li><a href="export-info.php">Export Info</a></li>
- <li><a href="approval.php">Proofread</a></li>
- </ul>
- </div>
- <h1>Proof Read</h1>
- <table class="datatable" id="table_users">
- <thead>
- <tr>
- <th>Post ID</th>
- <th>User ID</th>
- <th>Category</th>
- <th>Title</th>
- <th>Condition</th>
- <th>Description</th>
- <th>Price</th>
- <th>Date</th>
- <th>Approval</th>
- <th>Functions</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_user" data-id="" novalidate>
- <div class="input_container">
- <label for="postID">Post ID: <span class="required"></span></label>
- <div class="field_container">
- <input type="text" class="text" name="postID" id="postID" value="" disabled>
- </div>
- </div>
- <div class="input_container">
- <label for="userID">User ID: <span class="required"></span></label>
- <div class="field_container">
- <input type="text" class="text" name="userID" id="userID" value="" disabled>
- </div>
- </div>
- <div class="input_container">
- <label for="category">Category: <span class="required"></span></label>
- <div class="field_container">
- <input type="text" class="text" name="category" id="category" value="" disabled>
- </div>
- </div>
- <div class="input_container">
- <label for="title">Title: <span class="required"></span></label>
- <div class="field_container">
- <input type="text" class="text" name="title" id="title" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="item_condition">Condition: <span class="required"></span></label>
- <div class="field_container">
- <input type="text" class="text" name="item_condition" id="item_condition" value="" disabled>
- </div>
- </div>
- <div class="input_container">
- <label for="description">Description: <span class="required">*</span></label>
- <div class="field_container">
- <input type="text" class="text" name="description" id="description" value="" required>
- </div>
- </div>
- <div class="input_container">
- <label for="price">Price: <span class="required"></span></label>
- <div class="field_container">
- <input type="number" class="text" name="price" id="price" value="" disabled>
- </div>
- </div>
- <div class="input_container">
- <label for="date">Date: <span class="required"></span></label>
- <div class="field_container">
- <input type="text" class="text" name="date" id="date" value="" disabled>
- </div>
- </div>
- <div class="input_container">
- <label for="approval">Approval: <span class="required">*</span></label>
- <div class="field_container">
- <input type="text" class="text" name="approval" id="approval" value="" required>
- </div>
- </div>
- <div class="button_container">
- <button type="submit">Add user</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>
- ----------------------------------------------------------------------
- file.js
- $(document).ready(function(){
- // On page load: datatable
- var table_users = $('#table_users').dataTable({
- "ajax": "proofreadedit.php?job=get_users",
- "columns": [
- { "data": "postID" },
- { "data": "userID" },
- { "data": "category" },
- { "data": "title" },
- { "data": "item_condition" },
- { "data": "description" },
- { "data": "price" },
- { "data": "date" },
- { "data": "approval" },
- { "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',
- rules: {
- access: {
- required: true,
- min: 0,
- max: 1
- }
- },
- 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_user = $('#form_user');
- form_user.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 user button
- /*$(document).on('click', '#add_user', function(e){
- e.preventDefault();
- $('.lightbox_content h2').text('Add user');
- $('#form_user button').text('Add user');
- $('#form_user').attr('class', 'form add');
- $('#form_user').attr('data-id', '');
- $('#form_user .field_container label.error').hide();
- $('#form_user .field_container').removeClass('valid').removeClass('error');
- $('#form_user #postID').val('');
- $('#form_user #userID').val('');
- $('#form_user #category').val('');
- $('#form_user #title').val('');
- $('#form_user #item_condition').val('');
- $('#form_user #description').val('');
- $('#form_user #price').val('');
- $('#form_user #date').val('');
- $('#form_user #approval').val('');
- show_lightbox();
- });*/
- // Add user submit form
- /*$(document).on('submit', '#form_user.add', function(e){
- e.preventDefault();
- // Validate form
- if (form_user.valid() == true){
- // Send user information to database
- hide_ipad_keyboard();
- hide_lightbox();
- show_loading_message();
- var form_data = $('#form_user').serialize();
- var request = $.ajax({
- url: 'proofreadedit.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 postID = $('#postID').val();
- show_message("The Post ID of '" + postID + "' 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 user button
- $(document).on('click', '.function_edit a', function(e){
- e.preventDefault();
- // Get user information from database
- show_loading_message();
- var id = $(this).data('id');
- var request = $.ajax({
- url: 'proofreadedit.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 post');
- $('#form_user button').text('Edit post');
- $('#form_user').attr('class', 'form edit');
- $('#form_user').attr('data-id', id);
- $('#form_user .field_container label.error').hide();
- $('#form_user .field_container').removeClass('valid').removeClass('error');
- $('#form_user #postID').val(output.data[0].postID);
- $('#form_user #userID').val(output.data[0].userID);
- $('#form_user #category').val(output.data[0].category);
- $('#form_user #title').val(output.data[0].title);
- $('#form_user #item_condition').val(output.data[0].item_condition);
- $('#form_user #description').val(output.data[0].description);
- $('#form_user #price').val(output.data[0].price);
- $('#form_user #date').val(output.data[0].date);
- $('#form_user #approval').val(output.data[0].approval);
- 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 user submit form
- $(document).on('submit', '#form_user.edit', function(e){
- e.preventDefault();
- // Validate form
- if (form_user.valid() == true){
- // Send user information to database
- hide_ipad_keyboard();
- hide_lightbox();
- show_loading_message();
- var id = $('#form_user').attr('data-id');
- var form_data = $('#form_user').serialize();
- var request = $.ajax({
- url: 'proofreadedit.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 postID = $('#postID').val();
- show_message("The Post ID of '" + postID + "' 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 user
- $(document).on('click', '.function_delete a', function(e){
- e.preventDefault();
- var postID = $(this).data('name');
- if (confirm("Are you sure you want to delete '" + postID + "'?")){
- show_loading_message();
- var id = $(this).data('id');
- var request = $.ajax({
- url: 'proofreadedit.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("The name '" + postID + "' 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');
- });
- }
- });
- });
- ----------------------------------------------------------------------------------
- proofreadedit.php
- <?php
- // Database details
- $db_server = 'localhost';
- $db_username = 'root';
- $db_password = '';
- $db_name = 'test';
- // 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 users
- $query = "SELECT * FROM post_ads ORDER BY postID";
- $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['postID'] . '" data-name="' . $user['title'] . '"><span>Edit</span></a></li>';
- $functions .= '<li class="function_delete"><a data-id="' . $user['postID'] . '" data-name="' . $user['title'] . '"><span>Delete</span></a></li>';
- $functions .= '</ul></div>';
- $mysql_data[] = array(
- "postID" => $user['postID'],
- "userID" => $user['userID'],
- "category" => $user['category'],
- "title" => $user['title'],
- "item_condition" => $user['item_condition'],
- "description" => $user['description'],
- "price" => $user['price'],
- "date" => $user['date'],
- "approval" => $user['approval'],
- "functions" => $functions
- );
- }
- }
- } elseif ($job == 'get_user'){
- // Get user
- if ($id == ''){
- $result = 'error';
- $message = 'id missing';
- } else {
- $query = "SELECT * FROM post_ads WHERE postID = '" . 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(
- "postID" => $user['postID'],
- "userID" => $user['userID'],
- "category" => $user['category'],
- "title" => $user['title'],
- "item_condition" => $user['item_condition'],
- "description" => $user['description'],
- "price" => $user['price'],
- "date" => $user['date'],
- "approval" => $user['approval']
- );
- }
- }
- }
- } elseif ($job == 'add_user'){
- // Add user
- $query = "INSERT INTO post_ads SET ";
- if (isset($_GET['postID'])) { $query .= "postID = '" . mysqli_real_escape_string($db_connection, $_GET['postID']) . "', "; }
- if (isset($_GET['userID'])) { $query .= "userID = '" . mysqli_real_escape_string($db_connection, $_GET['userID']) . "', "; }
- if (isset($_GET['category'])) { $query .= "category = '" . mysqli_real_escape_string($db_connection, $_GET['category']) . "', "; }
- if (isset($_GET['title'])) { $query .= "title = '" . mysqli_real_escape_string($db_connection, $_GET['title']) . "', "; }
- if (isset($_GET['item_condition'])) { $query .= "item_condition = '" . mysqli_real_escape_string($db_connection, $_GET['item_condition']) . "', "; }
- if (isset($_GET['description'])) { $query .= "description = '" . mysqli_real_escape_string($db_connection, $_GET['description']) . "', "; }
- if (isset($_GET['price'])) { $query .= "price = '" . mysqli_real_escape_string($db_connection, $_GET['price']) . "', "; }
- if (isset($_GET['date'])) { $query .= "date = '" . mysqli_real_escape_string($db_connection, $_GET['date']) . "', "; }
- if (isset($_GET['approval'])) { $query .= "approval = '" . mysqli_real_escape_string($db_connection, $_GET['approval']) . "'"; }
- $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 post_ads SET ";
- if (isset($_GET['postID'])) { $query .= "postID = '" . mysqli_real_escape_string($db_connection, $_GET['postID']) . "', "; }
- if (isset($_GET['userID'])) { $query .= "userID = '" . mysqli_real_escape_string($db_connection, $_GET['userID']) . "', "; }
- if (isset($_GET['category'])) { $query .= "category = '" . mysqli_real_escape_string($db_connection, $_GET['category']) . "', "; }
- if (isset($_GET['title'])) { $query .= "title = '" . mysqli_real_escape_string($db_connection, $_GET['title']) . "', "; }
- if (isset($_GET['item_condition'])) { $query .= "item_condition = '" . mysqli_real_escape_string($db_connection, $_GET['item_condition']) . "', "; }
- if (isset($_GET['description'])) { $query .= "description = '" . mysqli_real_escape_string($db_connection, $_GET['description']) . "', "; }
- if (isset($_GET['price'])) { $query .= "price = '" . mysqli_real_escape_string($db_connection, $_GET['price']) . "', "; }
- if (isset($_GET['date'])) { $query .= "date = '" . mysqli_real_escape_string($db_connection, $_GET['date']) . "', "; }
- if (isset($_GET['approval'])) { $query .= "date = '" . mysqli_real_escape_string($db_connection, $_GET['approval']) . "'"; }
- $query .= "WHERE postID = '" . 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 user
- if ($id == ''){
- $result = 'error';
- $message = 'id missing';
- } else {
- $query = "DELETE FROM post_ads WHERE postID = '" . 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