public function add()
 {
     $login = Auth::check('member');
     if ($this->request->data) {
         $software = Software::create($this->request->data);
         if ($software->save()) {
             $file = File::create();
             foreach ($this->request->data['myfile'] as $key => $value) {
                 $size = $this->request->data['myfile'][$key]['size'];
                 if ($size >= 600000001) {
                     $chunksize = $size / 20;
                 } else {
                     if ($size <= 600000000 && $size >= 100000000) {
                         $chunksize = $size / 10;
                     } else {
                         if ($size <= 100000000 && $size >= 10000000) {
                             $chunksize = 10000000;
                         } else {
                             $chunksize = 1000000;
                         }
                     }
                 }
                 $save = $file->save(array('file' => $value, 'software_id' => (string) $software->_id, 'chunkSize' => 10000000));
                 if (!$save) {
                     return compact('save');
                 }
             }
         }
     }
     $software = Software::create();
     return compact('login', 'software');
 }
Ejemplo n.º 2
0
 /**
  * Handles the file upload
  *
  * @param array $input [description]
  *
  * @return array Variable response - either pending or file uploaded when all chunks
  *               are received.
  */
 public function handle($input = array())
 {
     $validator = Validator::make($input, Model::$rules);
     $user = User::find($input['user_id']);
     if ($validator->fails()) {
         throw new Exception("Validation Issues", 500);
     }
     $filename = time() . $input['flowFilename'];
     $input['original_filename'] = $input['flowFilename'];
     $extension = pathinfo($filename, PATHINFO_EXTENSION);
     $filename = pathinfo($filename, PATHINFO_FILENAME);
     if (!isset($input['path'])) {
         $input['path'] = $user->id . '/';
     }
     $storageLocation = storage_path('user-data/' . $input['path']);
     if (!is_dir($storageLocation)) {
         mkdir($storageLocation, 0755, true);
     }
     $config = new FlowConfig();
     if (!is_dir($storageLocation . 'chunks')) {
         mkdir($storageLocation . 'chunks', 0755, true);
     }
     $config->setTempDir($storageLocation . 'chunks');
     $file = new FlowFile($config);
     if (isset($_POST['ie-app'])) {
         $file->saveChunk();
     } else {
         if ($file->validateChunk()) {
             $file->saveChunk();
         } else {
             // error, invalid chunk upload request, retry
             throw new Exception('Bad request', 400);
         }
     }
     $filename = $this->sanitizeString($filename) . '.' . $extension;
     $localPath = $storageLocation . $filename;
     if ($file->validateFile() && $file->save($localPath)) {
         $input['status'] = 'saved';
         $input['size'] = $input['flowTotalSize'];
         if (isset($_POST['ie-app'])) {
             $input['size'] = filesize($localPath);
         } else {
             $input['size'] = $input['flowTotalSize'];
         }
         $input['path'] = $input['path'] . $filename;
         $input['filename'] = $filename;
         $input['type'] = mime_content_type($localPath);
         $file = Model::create($input);
         //FIXME should use the transformer
         return ['id' => $file->id, 'path' => $file->path, 'links' => $file->links, 'original_filename' => $file->original_filename];
     } else {
         // This is not a final chunk, continue to upload
         return array('pending' => true);
     }
 }
Ejemplo n.º 3
0
 public function document()
 {
     $user = Session::read('member');
     $id = md5($user['email']);
     $document = Details::find('first', array('conditions' => array('user_id' => (string) $user['_id'])));
     //		if(count($document)==0){return $this->redirect('/');}
     $uploadOk = 1;
     if ($this->request->data) {
         $extension = pathinfo($this->request->data['file']['name'], PATHINFO_EXTENSION);
         $allowed = array('pdf');
         if (!in_array(strtolower($extension), $allowed)) {
             $msg = "Sorry, only PDF files are allowed.";
             $uploadOk = 0;
         }
         if ($uploadOk = 1) {
             $option = 'doc';
             $data = array('details_' . $option . '_id' => (string) $document['_id'], 'docname' => $this->request->data['docname'], 'date' => $this->request->data['date'], 'DateTime' => new \MongoDate(), 'keywords' => $this->request->data['keywords'], 'description' => $this->request->data['description'], $option => $this->request->data['file'], $option . '.verified' => 'No', $option . '.IP' => $_SERVER['REMOTE_ADDR']);
             $field = 'details_' . $option . '_id';
             $Documents = Documents::create($data);
             $saved = $Documents->save();
             $fileData = array('file' => $this->request->data['file'], 'documents_' . $option . '_id' => (string) $Documents->_id);
             $file = File::create();
             if ($file->save($fileData)) {
                 $msg = "Upload OK";
             }
             $image_address = File::find('first', array('conditions' => array('documents_doc_id' => (string) $Documents->_id)));
             if ($image_address['filename'] != "") {
                 $imagename_address = $image_address['_id'] . '_' . $image_address['filename'];
                 $path = LITHIUM_APP_PATH . '/webroot/download/' . $imagename_address;
                 file_put_contents($path, $image_address->file->getBytes());
             }
             //		print_r($path);
             $pages = $this->getPDFPages($path);
             // Output: 13
             //				print_r($pages);exit;
             unlink($path);
             $docdata = array();
             foreach ($pages as $page) {
                 $params = explode(":", $page);
                 $left = $params[0];
                 $right = $params[1];
                 $docdata = array_merge($docdata, array($left => trim($right)));
             }
             $data = array("document" => $docdata);
             $conditions = array("_id" => (string) $Documents->_id);
             Documents::update($data, $conditions);
             // Use the function
         }
     }
     return $this->redirect('ex::save');
 }
Ejemplo n.º 4
0
 public static function saveUpload($file, $user, $folder = null)
 {
     $filename = $file->getClientOriginalName();
     $extension = $file->getClientOriginalExtension();
     $ext = Extension::firstOrCreate(["name" => strtolower($extension)]);
     $path = "fileuploads/";
     $uploaded_file_name = str_random("10") . $filename;
     $upload_path = $path . $uploaded_file_name;
     $file->move(public_path($path), $uploaded_file_name);
     $data = ["name" => $filename, "extension_id" => $ext->id, "path" => $upload_path, "created_by" => $user->id];
     if ($folder != null) {
         $data["folder_id"] = $folder->id;
     }
     $obj = File::create($data);
     return $obj;
 }
Ejemplo n.º 5
0
 public function store(Request $request, $banqueId)
 {
     // verify request inputs
     if (is_null($banqueId)) {
         return response()->json(['error' => 'Bad request'], HttpResponse::HTTP_BAD_REQUEST);
     } else {
         // verify request inputs
         $file = $request->file('file');
         if ($file->isValid()) {
             $chemin = config('file.path');
             $extension = $file->getClientOriginalExtension();
             do {
                 $nom = str_random(10) . '.' . $extension;
             } while (file_exists($chemin . '/' . $nom));
             if ($file->move($chemin, $nom)) {
                 $f = File::create(['chemin' => $chemin . '/' . $nom, 'id_Banque' => $banqueId]);
             }
         }
     }
 }
Ejemplo n.º 6
0
 public function settings($option = null)
 {
     $title = "User settings";
     $ga = new GoogleAuthenticator();
     $user = Session::read('default');
     if ($user == "") {
         return $this->redirect('/login');
     }
     $id = $user['_id'];
     $details = Details::find('first', array('conditions' => array('user_id' => (string) $id)));
     $uploadOk = 1;
     $qrCodeUrl = $ga->getQRCodeGoogleUrl(COMPANY_URL . "-" . $details['username'], $details['secret']);
     if ($this->request->data) {
         $imageFileType = pathinfo($this->request->data['file']['name'], PATHINFO_EXTENSION);
         if ($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
             $msg = "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
             $uploadOk = 0;
             return $this->redirect('Users::settings', compact('msg'));
         }
         if ($uploadOk = 1) {
             $option = $this->request->data['option'];
             $data = array($option => $this->request->data['file'], $option . '.verified' => 'No');
             $field = 'details_' . $option . '_id';
             $remove = File::remove('all', array('conditions' => array($field => (string) $details->_id)));
             $fileData = array('file' => $this->request->data['file'], 'details_' . $option . '_id' => (string) $details->_id);
             $details = Details::find('first', array('conditions' => array('user_id' => (string) $id)))->save($data);
             $file = File::create();
             if ($file->save($fileData)) {
                 $this->redirect('ex::dashboard');
             }
         }
         $TOTP = $details['TOTP.Validate'];
         $secret = $details['secret'];
     }
     $details = Details::find('first', array('conditions' => array('user_id' => (string) $id)));
     $image_address = File::find('first', array('conditions' => array('details_address_id' => (string) $details['_id'])));
     if ($image_address['filename'] != "") {
         $imagename_address = $image_address['_id'] . '_' . $image_address['filename'];
         $path = LITHIUM_APP_PATH . '/webroot/documents/' . $imagename_address;
         file_put_contents($path, $image_address->file->getBytes());
     }
     $image_government = File::find('first', array('conditions' => array('details_government_id' => (string) $details['_id'])));
     if ($image_government['filename'] != "") {
         $imagename_government = $image_government['_id'] . '_' . $image_government['filename'];
         $path = LITHIUM_APP_PATH . '/webroot/documents/' . $imagename_government;
         file_put_contents($path, $image_government->file->getBytes());
     }
     $image_bank = File::find('first', array('conditions' => array('details_bank_id' => (string) $details['_id'])));
     if ($image_bank['filename'] != "") {
         $imagename_bank = $image_bank['_id'] . '_' . $image_bank['filename'];
         $path = LITHIUM_APP_PATH . '/webroot/documents/' . $imagename_bank;
         file_put_contents($path, $image_bank->file->getBytes());
     }
     $settings = Settings::find('first');
     return compact('details', 'user', 'title', 'qrCodeUrl', 'secret', 'option', 'imagename_address', 'imagename_government', 'imagename_bank', 'settings', 'msg');
 }
Ejemplo n.º 7
0
 public function save()
 {
     //		print_r($this->request->data);
     if ($this->request->data) {
         $data = $this->request->data;
         $fileData = array('file' => $this->request->data['blob'], 'details_video_id' => (string) $data['video-id']);
         $field = 'details_video_id';
         $remove = File::remove('all', array('conditions' => array($field => (string) $data['video-id'])));
         Documents::find('first', array('conditions' => array('_id' => (string) $data['video-id'])))->save($data);
         $file = File::create();
         if ($file->save($fileData)) {
             $msg = "Upload OK";
         }
     }
     return $this->render(array('json' => array('success' => 0)));
 }
Ejemplo n.º 8
0
 public function companyupload($id = null, $type = "corporation")
 {
     $company = Companies::find('first', array('conditions' => array('hash' => $id)));
     if (count($company) == 0) {
         return $this->redirect('kyc::index');
     }
     $uploadOk = 1;
     if ($this->request->data) {
         $extension = pathinfo($this->request->data['file']['name'], PATHINFO_EXTENSION);
         $allowed = array('jpg', 'jpeg', 'png', 'gif');
         if (!in_array(strtolower($extension), $allowed)) {
             $msg = "Sorry, only JPG, PNG, GIF file is allowed.";
             $uploadOk = 0;
         }
         if (strtolower($extension) == 'pdf') {
             $msg = "Please do not upload PDF file.";
             $uploadOk = 0;
         }
         $size = round($this->request->data['file']['size'] / 1024 / 1024, 2);
         if ($size >= 10) {
             $msg = "Sorry, File too large, should be less than 10 MB. It is " . $size . "MB!";
             $uploadOk = 0;
         }
         if ($uploadOk == 1) {
             $option = $this->request->data['option'];
             $data = array($option => $this->request->data['file'], $option . '.verified' => 'No', $option . '.IP' => $_SERVER['REMOTE_ADDR']);
             $field = 'details_' . $option . '_id';
             $remove = File::remove('all', array('conditions' => array($field => (string) $company['_id'])));
             $path = LITHIUM_APP_PATH . '\\webroot\\documents\\';
             $resizedFile = $path . $this->request->data['file']['name'];
             $resizedFileServer = 'https://' . $_SERVER['SERVER_NAME'] . '/documents/' . $this->request->data['file']['name'];
             $resize = $this->smart_resize_image($this->request->data['file']['tmp_name'], null, 1024, 0, true, $resizedFile, false, false, 100);
             if ($resize == false) {
                 $msg = "File format different, cannot verify.";
                 $uploadOk = 0;
             }
             $fileData = array('file' => file_get_contents($resizedFile), 'filename' => $this->request->data['file']['name'], 'metadata' => array('filename' => $this->request->data['file']['name']), 'details_' . $option . '_id' => (string) $document['_id']);
             Companies::find('first', array('conditions' => array('_id' => (string) $company['_id'])))->save($data);
             $file = File::create();
             if ($file->save($fileData)) {
                 $msg = "Upload OK";
             }
             unlink($resizedFile);
         }
     }
     $image_corporation = File::find('first', array('conditions' => array('details_corporation_id' => (string) $company['_id'])));
     if ($image_corporation['filename'] != "") {
         $imagename_corporation = $image_corporation['_id'] . '_' . $image_corporation['filename'];
         $path = LITHIUM_APP_PATH . '/webroot/documents/' . $imagename_corporation;
         file_put_contents($path, $image_corporation->file->getBytes());
     }
     $image_articles = File::find('first', array('conditions' => array('details_articles_id' => (string) $company['_id'])));
     if ($image_articles['filename'] != "") {
         $imagename_articles = $image_articles['_id'] . '_' . $image_articles['filename'];
         $path = LITHIUM_APP_PATH . '/webroot/documents/' . $imagename_articles;
         file_put_contents($path, $image_articles->file->getBytes());
     }
     $image_resolution = File::find('first', array('conditions' => array('details_resolution_id' => (string) $company['_id'])));
     if ($image_resolution['filename'] != "") {
         $imagename_resolution = $image_resolution['_id'] . '_' . $image_resolution['filename'];
         $path = LITHIUM_APP_PATH . '/webroot/documents/' . $imagename_resolution;
         file_put_contents($path, $image_resolution->file->getBytes());
     }
     $image_directors = File::find('first', array('conditions' => array('details_directors_id' => (string) $company['_id'])));
     if ($image_directors['filename'] != "") {
         $imagename_directors = $image_directors['_id'] . '_' . $image_directors['filename'];
         $path = LITHIUM_APP_PATH . '/webroot/documents/' . $imagename_directors;
         file_put_contents($path, $image_directors->file->getBytes());
     }
     return compact('company', 'countries', 'imagename_corporation', 'imagename_articles', 'imagename_resolution', 'imagename_directors', 'msg', 'type');
 }