public function handle() { $users_file = $this->argument('users'); $text_file = $this->argument('message'); if (file_exists($users_file) == false) { echo "Impossibile aprire il file con le mail degli utenti coinvolti.\n"; exit; } if (file_exists($text_file) == false) { echo "Impossibile aprire il file con il testo della mail di accompagnamento.\n"; exit; } $text = file_get_contents($text_file); $mails = file($users_file); foreach ($mails as $m) { $m = strtolower(trim($m)); if (empty($m)) { continue; } $user = User::where(DB::raw('LOWER(email)'), '=', $m)->first(); if ($user != null) { $files = Cloud::getContents($user->username); $local_files = []; foreach ($files as $f) { $filename = basename($f); $path = sprintf('/tmp/%s', $filename); $data = Cloud::readFile($user->username, $filename); file_put_contents($path, $data); $local_files[] = $path; } if (empty($local_files)) { echo "Nessun file da spedire a " . $m . "\n"; continue; } foreach ($user->emails as $e) { try { Mail::send('emails.empty', ['text' => $user->group->mailtext], function ($m) use($user, $local_files, $e) { $m->to($e, $user->name . ' ' . $user->surname)->subject('nuovo documento disponibile'); foreach ($local_files as $filepath) { $m->attach($filepath); } }); echo $m . " - " . $e . ": OK\n"; } catch (\Exception $ex) { echo $m . " - " . $e . ": FAILED\n"; } } foreach ($local_files as $f) { unlink($f); } } else { echo "Utente non trovato per mail " . $m . "\n"; } usleep(500000); } }
public function index() { $user = Auth::user(); if ($user->suspended) { return redirect(url('auth/logout')); } if ($user->is('admin|groupadmin')) { return redirect(url('admin')); } else { $data['user'] = $user; $data['files'] = Cloud::getContents($user->username); $data['groupfiles'] = Cloud::getContents($user->group->name); return Theme::view('home', $data); } }
public function handle() { $groupname = $this->argument('groupname'); if ($groupname == '*') { $groups = Group::all(); } else { $groups = Group::where('name', '=', $groupname)->get(); } $pattern = $this->argument('pattern'); foreach ($groups as $group) { foreach ($group->users as $user) { $files = Cloud::getContents($user->username, false); foreach ($files as $file) { $filename = basename($file); if (preg_match($pattern, $filename)) { Cloud::deleteFile($user->username, $filename); echo "Rimosso {$file}\n"; } } } } }
public static function testExistance($name) { $disk = Storage::disk('s3'); $pattern = env('MATCHING_RULE', ''); if (empty($pattern)) { if ($disk->exists($name)) { return $name; } else { return false; } } else { $folder = dirname($name); $filename = basename($name); $filename = preg_replace($pattern, 'X', $filename); $contents = Cloud::getContents($folder); foreach ($contents as $c) { $test = preg_replace($pattern, 'X', basename($c)); if ($test == $filename) { return $c; } } return false; } }
public function getCount(Request $request, $folder) { $files = Cloud::getContents($folder, false); header('Folder-ID: ' . $folder); return count($files); }