Advertisement
Hacksas

[WILL THIS WORK?!]Codeigniter + Dropzone functionality check

Oct 16th, 2018
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.68 KB | None | 0 0
  1. <?php echo form_open_multipart('pets/submit', 'id="lostPetForm"'); ?>
  2.  
  3. <h6 class="form-section-header"><i class="fas fa-user fa-sm"></i> User info</h6>
  4. <div class="row">
  5.  
  6. <div class="col-md">
  7. <div class="form-group input-group">
  8. <div class="input-group-prepend">
  9. <span class="input-group-text field-req"><i class="fas fa-address-card"></i></span>
  10. </div>
  11. <input type="text" class="form-control inputDisabled" id="personName" name="personName" placeholder="Full name" value="">
  12. </div>
  13. </div>
  14. <div class="col-md">
  15. <div class="form-group input-group">
  16. <div class="input-group-prepend">
  17. <span class="input-group-text field-req"><i class="fas fa-phone"></i></span>
  18. </div>
  19. <input type="number" min="0" class="form-control inputDisabled" id="personPhone" name="personPhone" placeholder="Phone number" value="" >
  20. </div>
  21. </div>
  22. </div>
  23.  
  24. <div class="row">
  25. <div class="col-md-12">
  26. <div class="sortable text-center" id="inputPhotos">
  27.  
  28. </div>
  29. </div>
  30. <div class="col-md-12">
  31. <div class="dropzone-previews"></div>
  32. </div>
  33. </div>
  34. <div class="row">
  35. <div class="col-lg mt-3">
  36. <button type="reset" class="btn btn-danger btn-block" form="lostPetForm"><i class="fas fa-broom"></i> Clear</button>
  37. </div>
  38. <div class="col-lg mt-3">
  39. <button type="submit" class="btn btn-primary btn-block" form="lostPetForm"><i class="fas fa-check"></i> Submit</button>
  40. </div>
  41. </div>
  42. <?php echo form_close() ?>
  43.  
  44.  
  45.  
  46.  
  47. // JS Code for dropzone + reorder
  48. $("#inputPhotos").dropzone({
  49. url: '#',
  50. autoProcessQueue : false,
  51. addRemoveLinks: true,
  52. dictRemoveFile: 'Αφαίρεση αρχείου'
  53. })
  54.  
  55. $("#inputPhotos").sortable({
  56. items:'.dz-preview',
  57. cursor: 'move',
  58. opacity: 0.5,
  59. containment: '#inputPhotos',
  60. distance: 20,
  61. tolerance: 'pointer'
  62. });
  63.  
  64. // Controller
  65. public function submit(){
  66.  
  67. $this->form_validation->set_rules('personName', 'Your name', 'required');
  68. $this->form_validation->set_rules('personPhone', 'Your phone number', 'required');
  69.  
  70. if($this->form_validation->run() === FALSE){
  71. echo validation_errors();
  72. } else {
  73. $pet_entry_id = random_string('numeric', 6);
  74. //Image uploading
  75. $config = array(
  76. 'upload_path' => './assets/img/pets/' . $pet_entry_id,
  77. 'encrypt_name' => TRUE,
  78. 'allowed_types' => 'gif|jpg|jpeg|png',
  79. 'max_size' => '1310720',
  80. 'max_width' => '2048',
  81. 'max_height' => '2048'
  82. );
  83. $this->load->library('upload', $config);
  84. $dir_exist = true; //Default value for dir existence
  85.  
  86. if ( !is_dir('assets/img/pets/' . $pet_entry_id) ) {
  87. mkdir('./assets/img/pets/' . $pet_entry_id, 0777, true);
  88. $dir_exist = false; // dir not exist
  89. }
  90.  
  91. if($this->input->post('petMorePhotos') && !empty($_FILES['files']['name'])){
  92. $filesCount = count($_FILES['files']['name']);
  93. for($i = 0; $i < $filesCount; $i++){
  94. $_FILES['file']['name'] = $_FILES['files']['name'][$i];
  95. $_FILES['file']['type'] = $_FILES['files']['type'][$i];
  96. $_FILES['file']['tmp_name'] = $_FILES['files']['tmp_name'][$i];
  97. $_FILES['file']['error'] = $_FILES['files']['error'][$i];
  98. $_FILES['file']['size'] = $_FILES['files']['size'][$i];
  99.  
  100. $config = array(
  101. 'upload_path' => './assets/img/pets/' . $pet_entry_id,
  102. 'allowed_types' => 'gif|jpg|jpeg|png',
  103. 'max_size' => '1310720',
  104. 'max_width' => '2048',
  105. 'max_height' => '2048'
  106. );
  107.  
  108. // Load and initialize upload library
  109. $this->load->library('upload', $config);
  110. $this->upload->initialize($config);
  111.  
  112. // Upload file to server
  113. if($this->upload->do_upload('petMorePhotos')){
  114. // Uploaded file data
  115. $fileData = $this->upload->data();
  116. $uploadData[$i]['file_name'] = $fileData['file_name'];
  117. $uploadData[$i]['uploaded_on'] = date("Y-m-d H:i:s");
  118. }
  119. }
  120.  
  121. if(!empty($uploadData)){
  122. // Insert files data into the database
  123. // $insert = $this->file->insert($uploadData);
  124. }
  125. }
  126.  
  127. $this->pet_model->create_pet($image, $pet_entry_id);
  128. redirect('pets');
  129. }
  130. $this->render_page('pets/submit', $data);
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement