Exemplo n.º 1
0
 public function getLinks()
 {
     $queryString = Input::get('q');
     $email = Session::get('auth.user.email');
     $links = Rule::orderBy('created_at', 'asc');
     if (!in_array($email, config('sys_admin'))) {
         $links->where('email', $email);
     }
     if ($queryString && $queryString != '') {
         if (filter_var($queryString, FILTER_VALIDATE_EMAIL)) {
             $links->where('email', $queryString);
         } else {
             if (filter_var($queryString, FILTER_VALIDATE_URL)) {
                 $links->where('long_url', $queryString);
             } else {
                 $links->where('email', 'like', '%' . $queryString . '%')->orWhere('short_url', 'like', '%' . $queryString . '%')->orWhere('long_url', 'like', $queryString . '%');
             }
         }
     }
     $links = $links->paginate(15);
     return response()->json($links);
 }
 public function import(Request $request)
 {
     try {
         $file = $_FILES['file'];
         $regexFilename = '/pacote\\d{10}.txt/';
         if (preg_match($regexFilename, $file['name'])) {
             $arrayObj = $this->getArrayFromFile($file['tmp_name']);
             $rules = Rule::orderBy('priority', 'ASC')->get()->toArray();
             // é necessário que se faça uma transaçao do banco...
             $return = array();
             foreach ($arrayObj as $obj) {
                 $return[] = $this->validateObj($obj, $rules);
             }
             foreach ($return as $k => $v) {
                 if (is_null($v)) {
                     $return[$k] = 'Este pacote não se encaixou em nenhuma regra';
                 }
             }
             return response()->json($return, 200);
         } else {
             //dd("Nome do arquivo precisa obedecer ao padrão deste exemplo: 'pacote9999999999.txt'");
             throw new \Exception('O nome do arquivo é inválido. Ex: pacote2012207180.txt', 500);
         }
     } catch (\Exception $e) {
         \DB::rollBack();
         return response()->json(['message' => $e->getMessage()], 500);
     }
 }