Backups Created:
/home/japatmex/public_html/wp-content/edit-wolf.php
Savvy
W
olf -
MANAGER
Edit File: add_order.php
<?php defined('CURRENCY_CODE') or define('CURRENCY_CODE', 'PKR'); // fix it later?> <style> .remove_field_span { height: 56px; } /*.remove_field { border-color: #ffffff; background-color: #ffffff; color: #fff; padding: 5px; display: inline-block; margin-top: 10px; padding-right: 4px; } .remove_field:hover { box-shadow: 0 4px 6px rgba(9, 80, 119, 0.15); color: #fff; background-color: #ffffff; border-color: #ffffff; transform: translate(0, -2px); background-image: none; }*/ #state { border: 1px solid #ebebeb; border-radius: 6px; box-shadow: none; cursor: pointer; line-height: auto; max-width: 100%; outline: 0 none; position: relative; text-indent: .01px; text-overflow: ""; width: 100%; padding: 0 15px; color: #7a7a7a; height: 50px; font-size: 14px; font-weight: 400; background: #fff; border-radius: 0; height: 46px; } textarea { resize: vertical; background: #fff; border: 1px solid #ebebeb; padding: 10px; padding-left: 18px; width: 100%; border-radius: 6px; font-size: 14px; height: 135px; } .billing-fields input { border-radius: 6px; height: 46px; border: 1px solid #ebebeb; background: #fff; box-shadow: none; padding-left: 18px; font-size: 14px; color: #7a7a7a; width: 100%; } .mt-20 { margin-top: 20px; } .add_addresss_block { display: none; } .customPadding { padding: 0px 15px; } .address_details_block { margin-bottom: 0px; } .address_details_item { border-bottom: 1px solid rgba(0, 0, 0, 0.1); } .address_details_item label.container input { position: absolute; opacity: 0; cursor: pointer; } .address_details_item .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: #acacac; border-radius: 50%; } .address_details_item label.container input:checked ~ .checkmark:after { display: block; } .address_details_item label.container input:checked ~ .checkmark:after { display: block; } .address_details_item label.container .checkmark:after { top: 9px; left: 9px; width: 8px; height: 8px; border-radius: 50%; background: white; } .address_details_item .address_list { padding: 15px 0px 15px 50px; position: relative; } .address_details_item .address_list span { margin-bottom: 5px; font-size: 16px; font-weight: 500; float: none; color: #424242; text-transform: capitalize; display: inline-block; } .address_details_item { border-bottom: 1px solid rgba(0, 0, 0, 0.1); } .address_details_item .address_list_edit { position: absolute; right: 0px; top: 20px; } .address_details_item .address_list_edit a { background: #acacac; font-size: 12px; height: 25px; display: block; border-radius: 3px; border: 0; color: #fff; float: left; margin: -4px 5px 0 5px; box-shadow: none; line-height: 25px; overflow: hidden; padding: 0; text-shadow: none; text-transform: capitalize; text-align: center; -webkit-transition: all .4s ease-out; -moz-transition: all .4s ease-out; -ms-transition: all .4s ease-out; -o-transition: all .4s ease-out; vertical-align: middle; white-space: nowrap; font-weight: 500; width: 60px; } .address_details_item label.container input { position: absolute; opacity: 0; cursor: pointer; } input[type="radio"], input[type="checkbox"] { margin: 4px 0 0; margin-top: 1px \9; line-height: normal; } .address_details_item label.container { display: inline-block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; top: 20px; float: left; font-size: 20px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .address_details_item label.container input:checked ~ .checkmark { background-color: #ff5252; } .address_details_item label.container input:checked ~ .checkmark { background-color: #ff5252; } .address_details_item .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: #acacac; border-radius: 50%; } .form-button, .readmore-button, .price-button, .compare-btn { background: #363f4d; box-shadow: none; border: 0; border-radius: 4px; color: #fff; display: inline-block; font-size: 14px; font-weight: 500; height: 38px; line-height: 38px; overflow: hidden; padding: 0 20px; text-shadow: none; text-transform: capitalize; text-align: center; -webkit-transition: all .4s ease-out; -moz-transition: all .4s ease-out; -ms-transition: all .4s ease-out; -o-transition: all .4s ease-out; vertical-align: middle; white-space: nowrap; } </style> <!-- Page header --> <div class="page-header border-bottom-0"> <div class="page-header-content header-elements-md-inline"> <div class="page-title d-flex"> <h4><a href="javascript:void(0)" class="BackButton-Link" onclick="goBack()"><i class="icon-arrow-left52 mr-2"></i></a> <?=$current_page?></h4> </div> </div> </div> <!-- /page header --> <!-- Content area --> <div class="content pt-0"> <div class="card"> <div class="row"> <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12"> <div class="card-body"> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="clearfix"></div> <div class="card-body mrg_bottom"> <?php if($this->session->flashdata('response_msg')) { $message = $this->session->flashdata('response_msg'); ?> <div class="<?=$message['class']?>" role="alert"> <?=$message['message']?> </div> <?php } ?> <form action="<?php echo base_url($this->config->item('apanel_name').'/ecomm/orders/add').get_query_string(); ?>" method="post" class="form form-horizontal" enctype="multipart/form-data"> <div class="section"> <div class="section-body"> <div class="form-group"> <label class="col-md-2 control-label">Customer Name :-</label> <div class="col-md-5"> <select name="user_id" id="user_id" class="select2 form-control user_id"> <option value="">Please select customer</option> <?php $users = get_users(); foreach ($users as $key => $value) { ?> <option value="<?php echo $value->UserId; ?>"><?php echo stripslashes($value->FirstName . ' ' . $value->LastName) . ' (' . stripslashes($value->UserEmail) . ')'; ?> </option> <?php } ?> </select> </div> </div> <div class="clearfix"></div> <div class="form-group"> <label class="col-md-2 control-label">Order Source :-</label> <div class="col-md-5"> <select name="source_id" id="source_id" class="select2 form-control source_id" required> <option value="">Please select source</option> <option value="1">Website</option> <option value="2">Instagram</option> <option value="3">Facebook</option> <option value="4">whatsapp</option> <option value="5">Other</option> </select> </div> </div> <div class="form-group"> <label class="col-md-2 control-label">Source Identity :-</label> <div class="col-md-5"> <input class="form-control" name="source_identity" id="source_identity" type="text" placeholder="Write Sorce Identity"> </div> </div> <div id="other_source_field" class="row" style="display: none"> <div class="col-md-2"></div> <div class="col-md-5"> <input class="form-control" name="source_other" type="text" placeholder="Write Source Type"> </div> </div> <div class="clearfix"></div> <div class="form-group"> <div class="checkout-form-area customPadding"> <div class="address_details_block"> <div class="getCustomerAddresses"></div> </div> </div> </div> <div class="form-group"> <div class="row"> <div class="col-md-8"> </div> <div class="col-md-2"> <input type="text" class="form-control coupon" name="coupon" placeholder="Coupon code"> </div> <div class="col-md-2"> <button type="button" class="btn btn-primary applyCoupon">Apply Coupon</button> </div> </div> </div> <div class="clearfix"></div> </div> </div> <div class="table-responsive"> <table class="table table-condensed append_response" id="order_add_table"> <thead> <tr class="top_bdr"> <td class="rank_item text-center bdr_left bdr_right"></td> <td class="bdr_right" width="300px"><strong>Product</strong></td> <td class="text-center bdr_right"><strong>Quantity</strong></td> <td class="text-center bdr_right"><strong>SKU</strong></td> <td class="text-center bdr_right"><strong>Variations</strong></td> <td class="text-center bdr_right"><strong>Price</strong></td> <td class="text-center bdr_right"><strong>Delete</strong></td> </tr> </thead> <tbody> <tr class="p_row"> <?php $image_src = ''; ?> <td class="thick-line bdr_left "> <img class="img_src_update" style="height: 60px;width: 60px;border: 2px solid #ddd"> </td> <td class="thick-line bdr_left"> <select name="product_ids[]" id="product_ids" class="select2 form-control product_id"> <option value="">Please select product</option> <?php $products = get_products(); $firstProductSize = 0; $j = 0; foreach ($products as $key => $value) { if ($j == 0) { if ($value->product_size != '') { $firstProductSize = $value->product_size; $image_src = $value->featured_image; } } ?> <option value="<?php echo $value->id; ?>"><?php echo stripslashes($value->product_sku.' - '.$value->product_title); ?> </option> <?php $j++; } ?> </select> </td> <td class="thick-line text-center bdr_left"> <input type="number" data-price="" placeholder="Quantity" id="" min="1" name="quantity[]" value="1" class="form-control quantity" value=""> </td> <td class="text-center thick-line"> <div class="sku"> </div> </td> <td class="append_html thick-line text-center bdr_left"> <div class="sizesChart"> </div> </td> <td class="text-center thick-line"> <div class="price_chart"> </div> </td> <td> <!-- <a href="javascript:;" class="btn btn-primary btn_edit btn_status" data-toggle="tooltip" data-tooltip="Delete"><i class="fa fa-trash-o"></i></a> --> </td> </tr> <tr class="p_row_amount"> <td> </td> <td> </td> <td> </td> <td> </td> <td> Total Price : </td> <td class="amount" data-amount="0"> PKR 0 </td> <td> </td> </tr> <tr class="delivery_charges_row"> <td> </td> <td> </td> <td> </td> <td> </td> <td> Delivery Charges : </td> <?php if($deliverycharges[0]->default_delivery_charges){ ?> <td class="delivery_charges" data-delivery="<?= $deliverycharges[0]->default_delivery_charges?>"> <span style="color:red"><?php echo CURRENCY_CODE .' '. $deliverycharges[0]->default_delivery_charges ?></span> </td> <?php } ?> <td> </td> </tr> <tr class="payable"> <td> </td> <td> </td> <td> </td> <td> </td> <td> Payable Amount : </td> <td class = "payable_amount"> PKR 0 </td> <td> </td> </tr> </tbody> </table> <div class="form-group"> <div class="col-md-12"> <div style="display: flex; align-items: center; justify-content: space-between;"> <button class="add_field_button btn btn-primary">Add More Products</button> <button type="submit" name="btn_submit" class="btn btn-primary" id="place_order">Place Order </button> </div> </div> </div> </div> </form> </div> </div> </div> </div> </div> </div> </div> </div> </div> <script type="text/javascript"> <?php $img = false; ?> function readURL(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $("input[name='file_name']").next(".fileupload_img").find("img").attr('src', e.target.result); } reader.readAsDataURL(input.files[0]); } } $(document).ready(function () { $("input[name='file_name']").change(function () { readURL(this); }); $(".btn_new_address").click(function () { $(".add_addresss_block").toggle(); }); $(".user_id").change(function () { var id = $(this).val(); var dataString = 'id=' + id; $.ajax ({ type: "POST", url: '<?php echo base_url($this->config->item('apanel_name')."/ecomm/orders/getAddress"); ?>', data: dataString, cache: false, success: function (response) { var json = jQuery.parseJSON(response); $(".getCustomerAddresses").html(''); $(".getCustomerAddresses").html(json.content); } }); }); }); var sku = ''; var html = ''; var total_amount = 0 ; var payable_amount = 0; var delivery = 0; var amount = []; var max_fields = 10; //maximum input boxes allowed var x = 1; //initlal text box count $('.add_field_button').click(function (e) { //on add input button click e.preventDefault(); if (x < max_fields) { //max input box allowed x++; //text box increment <?php $html = ''; $html .= ' <tr class="p_row"><td class="thick-line bdr_left "><img class="img_src_update" style="height: 60px;width: 60px;border: 2px solid #ddd"></td><td><select name="product_ids[]" id="product_ids" class="select2 form-control product_id">'; $products = get_products(); foreach ($products as $key => $value) { $html .= '<option value="' . $value->id . '">' . stripslashes(str_replace("'", "",$value->product_sku.' - '. $value->product_title)) . '</option>'; } $html .= '</select></td>'; $html .= ' <td class="thick-line text-center bdr_left"><input type="number" data-price="" placeholder="Quantity" id="" min="1" name="quantity[]" value="1" class="form-control quantity" value=""/></td>'; $html .= ' <td class="text-center thick-line"><div class="sku"></div></td>'; $html .= '<td class="append_html thick-line text-center bdr_left"><div class="sizesChart"></div></td>'; $html .= ' <td class="text-center thick-line"><div class="price_chart"></div></td>'; $html .= '<td class=""><a href="" class="btn btn-primary remove_field btn_edit btn_status" data-toggle="tooltip" data-tooltip="Delete"><i class="fa fa-trash-o"></i></a></td>'; $html .= '</tr>'; ?> $('#order_add_table tr:first').after('<?php echo $html ?>'); $(".select2").select2(); } }); $(document).on('change', '.product_id', function () { var product = $(this); var id = $(this).val(); $.ajax ({ type: "POST", url: '<?php echo base_url($this->config->item('apanel_name')."/ecomm/orders/get_single_product"); ?>', data: {id: id}, success: function (response) { //alert(product.val()); //var json = jQuery.parseJSON(response); //var json = jQuery.parseJSON(response); product.parents('.p_row:first').find('.sizesChart').html(response); $(".select2").select2(); } }); $.ajax ({ type: "POST", url: '<?php echo base_url($this->config->item('apanel_name')."/ecomm/orders/get_single_product_variations"); ?>', data: {id: id}, dataType: 'json', complete: function () { $(".select2").select2(); }, success: function (response) { //alert(product.val()); var variation_type_values = $.parseJSON(response.data.variation_type_values); if(variation_type_values.length){ update_variations(product, variation_type_values, response.data); } else{ update_variations(product, {}, response.data); } } }); }); $(document).on('change', '.variation-select', function () { var $this = $(this); var id = $this.closest('tr').find('select.product_id').val(); $.ajax ({ type: "POST", url: '<?php echo base_url($this->config->item('apanel_name')."/ecomm/orders/get_single_product_variations"); ?>', data: {id: id}, dataType: 'json', complete: function () { $(".select2").select2(); }, success: function (response) { //alert(product.val()); var variation_type_values = $.parseJSON(response.data.variation_type_values); update_variations($this, variation_type_values, response.data); } }); }); $(document).on("click",".remove_field", function(e){ //user click on remove text e.preventDefault(); $(this).closest('tr').remove(); x--; }); $(document).on('input', '.quantity',function(){ $(this).val(parseInt($(this).val()) * 1); }) $(document).on('change', '.quantity',function(){ get_total(); }); var url=''; function get_total(){ var total_amount = 0; $('input.quantity').each(function(){ var price = $(this).attr('data-price'); var quantity = $(this).val(); total_amount += parseInt(quantity) * parseInt(price); if(total_amount >= <?php echo $app_setting->cart_amount_for_free_delivery;?>) { delivery = 0; } else { var delivery = <?php echo $app_setting->default_delivery_charges; ?>; } if(delivery) { $('.delivery_charges').html('<span style="color:red">'+delivery+'</span>'); } else{ $('.delivery_charges').html('<span style="color:red">free</span>'); } payable_amount = parseInt(total_amount) + parseInt(delivery); $(".append_response tr.payable").find('.payable_amount').html('<?php echo CURRENCY_CODE; ?> ' + payable_amount); $(".append_response tr.payable").find('.payable_amount').attr('data-payable', payable_amount); }); $('.p_coupon_row').remove(); $(".append_response tr.p_row_amount").find('.amount').html('<?php echo CURRENCY_CODE; ?> ' + total_amount); $(".append_response tr.p_row_amount").find('.amount').attr('data-amount', total_amount); } function update_variations(product, variation_type_values, product_details) { console.log(product_details); if(variation_type_values.length){ var var_ids = [], var_values = []; product.closest('tr').find('.sizesChart > select').each(function () { var var_id = $(this).find('option:selected').data('var-id'); var var_value = $(this).val(); var_ids.push(var_id); var_values.push(var_value); }); for (var key in variation_type_values) { var count_array = []; for (var i = 1; i <= var_ids.length; i++) { if (variation_type_values[key]['var_id' + i] == var_ids[(i - 1)] && variation_type_values[key]['var_text' + i] == var_values[(i - 1)]) { count_array.push(1); } } if (count_array.length == var_ids.length) { // $('[name="product_selected_variation"]').val(variation_type_values[key].id); // setting price if (variation_type_values[key].you_save_amt == 0) { html = `<?=CURRENCY_CODE . ' ';?>${variation_type_values[key].price}`; product.closest('tr').find('input.quantity').attr('data-price', variation_type_values[key].price); } else { html = `<?=CURRENCY_CODE . ' ';?>${variation_type_values[key].sale_price}`; product.closest('tr').find('input.quantity').attr('data-price', variation_type_values[key].sale_price); } // setting image //if($('#dynamic-var-image').length) $('#dynamic-var-image').remove(); if (variation_type_values[key].image && variation_type_values[key].image.trim()) { if (variation_type_values[key].valid_image == true) { var image_url = '<?php echo base_url('uplds1/ecomm/images/products/variations'); ?>/' + variation_type_values[key].image; $('.tz-gallery .tab-pane.active div').not('#dynamic-var-image').hide(); product.closest('tr').find('.img_src_update').attr('src', image_url); } else { image_url = '<?php echo base_url('uplds1/ecomm/images/no-image-1.jpg'); ?>' product.closest('tr').find('.img_src_update').attr('src', image_url); } } else { image_url = '<?php echo base_url('uplds1/ecomm/images/no-image-1.jpg'); ?>' product.closest('tr').find('.img_src_update').attr('src', image_url); } } } }else{ if(product_details.product_details.you_save_amt == 0){ html = `<?=CURRENCY_CODE . ' ';?>${product_details.product_details.product_mrp}`; product.closest('tr').find('input.quantity').attr('data-price', product_details.product_details.product_mrp); }else{ html = `<?=CURRENCY_CODE . ' ';?>${product_details.product_details.selling_price}`; product.closest('tr').find('input.quantity').attr('data-price', product_details.product_details.selling_price); } var img = product_details.featured_image; var image_url = '<?php echo base_url('uplds1/ecomm/images/products'); ?>/' + product_details.product_details.featured_image; product.closest('tr').find('.img_src_update').attr('src', image_url); } product.closest('tr').find('.price_chart').html(html); product.closest('tr').find('.amount').html(html); product.closest('tr').find('.payable_amount').html(html); sku = product_details.product_details.product_sku; product.closest('tr').find('.sku').html(sku); get_total(); } $(document).on('change', '#source_id', function () { var _id = $(this).val(); console.log(_id); if (_id == 5) { $("#other_source_field").css("display", "block"); } else { $("#other_source_field").css("display", "none"); } }); $('.applyCoupon').click(function (){ var amount = parseFloat($(".append_response tr.p_row_amount").find('.amount').attr('data-amount')); var couponCode = $("[name='coupon']").val(); $.ajax({ type : 'POST', url : '<?php echo base_url($this->config->item('apanel_name')."/ecomm/orders/apply_coupon"); ?>', dataType : 'json', data : { amount : amount, couponCode : couponCode }, success:function(response) { $('.p_coupon_row').remove(); if(response.status){ $('.p_row_amount').after('<tr class="p_coupon_row"> <td> </td> <td> </td> <td> </td> <td> </td> <td align="right" colspan="2"><h5 style="font-weight: 500;color: green;margin-bottom: 15px;">'+response.you_save_msg+'</h5></td> </tr>'); $('.payable_amount').html('<?php echo CURRENCY_CODE; ?> ' + (response.amount)); if(response.deliveryCharges) { $('.delivery_charges').html('<span style="color:red"><?php echo CURRENCY_CODE; ?> '+(response.deliveryCharges)+'</span>'); } else{ $('.delivery_charges').html('<span style="color:red">free</span>'); } }else { swal("Something gone wrong!", response.message); } } }) }) </script>