Advertisement
Guest User

Untitled

a guest
Apr 20th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.24 KB | None | 0 0
  1. <?php
  2.  
  3. class App extends CI_Controller
  4. {
  5.     private $date_format = "d/m/Y H:i:s";
  6.  
  7.     public function __construct()
  8.     {
  9.         //  Obligatoire
  10.         parent::__construct();
  11.         $this->requireAuthentication();
  12.     }
  13.  
  14.     private function requireAuthentication()
  15.     {
  16.         if (!$this->session->userdata('admin_id'))
  17.         {
  18.             $controller = $this->uri->segment(1);
  19.             redirect('login/' . $controller);
  20.         }
  21.     }
  22.  
  23.     public function add() {
  24.         $this->load->library('layout');
  25.  
  26.         $this->layout->set_theme('default');
  27.  
  28.         $this->layout->add_css("bootstrap.min.css");
  29.         $this->layout->add_css("font-awesome.min.css");
  30.         $this->layout->add_css("bootstrap-switch.min.css");
  31.         $this->layout->add_css("datepicker.css");
  32.         $this->layout->add_css("style.css");
  33.  
  34.         $this->layout->add_js("jquery-1.11.0.min.js");
  35.         $this->layout->add_js("bootstrap.min.js");
  36.         $this->layout->add_js("bootstrap-datepicker.js");
  37.         $this->layout->add_js("bootstrap-switch.min.js");
  38.         $this->layout->add_js("jquery.lazyload.js");
  39.         $this->layout->add_js("typeahead.bundle.min.js");
  40.         $this->layout->add_js("validator.js");
  41.         $this->layout->add_js("filter.js");
  42.         $this->layout->add_js("main.js");
  43.         $this->layout->add_js("form.js");
  44.         $this->layout->add_js("admins.js");
  45.  
  46.         $data['iOSVersion'] = $this->app_model->getIOSVersion();
  47.         $data['windowsVersion'] = $this->app_model->getWindowsVersion();
  48.         $data['iOSUrl'] = $this->app_model->getIOSAppDownloadUrl();
  49.         $data['windowsUrl'] = $this->app_model->getWindowsAppDownloadUrl();
  50.         $data['errmsg'] = '';
  51.  
  52.         if($_POST) {
  53.  
  54.             $version = $_POST['version'];
  55.             $os = $_POST['os'];
  56.  
  57.             if (strcmp($os ,'Windows') == 0)
  58.             {
  59.                 $id = substr($data['windowsUrl'], -1);
  60.             }
  61.  
  62.             if (strcmp($os ,'iOS') == 0)
  63.             {
  64.                 $id = substr($data['iOSUrl'], -1);
  65.             }
  66.            
  67.             if (strcmp($os ,'Test') == 0)
  68.             {
  69.                 $id = 6;
  70.             }
  71.  
  72.             $url = WEBSERVICE_DISPATCHER_URL . 'upload?id={id}';
  73.             $url = str_replace('{id}', $id, $url);
  74.  
  75.             $user = WEBSERVICE_USERNAME;
  76.             $pass = WEBSERVICE_PASSWORD;
  77.  
  78.             $cred = sprintf('Authorization: Basic %s', base64_encode("$user:$pass") );
  79.  
  80.             $uploaddir = '/var/www/uploads/';
  81.             $uploadfile = $uploaddir . basename($_FILES['file']['name']);
  82.  
  83.             echo '<pre>';
  84.             if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
  85.                 echo "File is valid, and was successfully uploaded.\n";
  86.             } else {
  87.                 echo "Not uploaded because of error #".$_FILES["file"]["error"];
  88.             }
  89.             print "</pre>";
  90.  
  91.             $filename = $_FILES['file']['name'];
  92.             $filedata = $_FILES['file']['tmp_name'];
  93.             $filesize = $_FILES['file']['size'];
  94.             if ($filedata != '') {
  95.                 $postfields = array();
  96.                 $postfields['file'] = new CurlFile($filedata);
  97.                 $postfields['os'] = $os;
  98.                 $postfields['version'] = $version;
  99.  
  100.                 //$verbose = fopen('php://temp', 'w+');
  101.  
  102.                 $ch = curl_init();
  103.                 $options = array(
  104.                     CURLOPT_URL => $url,
  105.                     CURLOPT_HEADER => true,
  106.                     CURLOPT_POST => 1,
  107.                     CURLOPT_HTTPHEADER => array(
  108.                         $cred,
  109.                         "content-type: multipart/form-data"
  110.                     ),
  111.                     CURLOPT_POSTFIELDS => $postfields,
  112.                     CURLOPT_RETURNTRANSFER => true,
  113.                     CURLOPT_TIMEOUT => 0,
  114.                     CURLOPT_VERBOSE => true,
  115.                     CURLOPT_INFILESIZE => $filesize,
  116.                     //CURLOPT_STDERR => $verbose,
  117.                     CURLOPT_SSL_VERIFYPEER => false,
  118.                     CURLOPT_SSL_VERIFYHOST => false
  119.                 ); // cURL options
  120.                 curl_setopt_array($ch, $options);
  121.  
  122.                 curl_exec($ch);
  123.                 if (!curl_errno($ch)) {
  124.                     $info = curl_getinfo($ch);
  125.                     if ($info['http_code'] == 200)
  126.                         $data['errmsg'] = "File uploaded successfully";
  127.                     if (strcmp($os ,'Windows') == 0)
  128.                         $data['windowsVersion'] = $version;
  129.                     if (strcmp($os ,'iOS') == 0)
  130.                         $data['iOSVersion'] = $version;
  131.                 } else {
  132.                     $data['errmsg'] = curl_error($ch);
  133.                     printf("cUrl error (#%d): %s<br>\n", curl_errno($ch),
  134.                         htmlspecialchars(curl_error($ch)));
  135.                 }
  136.                 curl_close($ch);
  137.                 rewind($verbose);
  138.                 $verboseLog = stream_get_contents($verbose);
  139.  
  140.                 echo "Verbose information:\n<pre>", htmlspecialchars($verboseLog), "</pre>\n";
  141.  
  142.             } else {
  143.                 $data['errmsg'] = "Please select the file";
  144.             }
  145.         }
  146.  
  147.         $this->layout->view('app/add', $data);
  148.     }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement