mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Merge pull request #8962 from turbo124/v5-develop
Fixes for system maintenance
This commit is contained in:
commit
4dda1f6a29
@ -12,6 +12,7 @@
|
|||||||
namespace App\Jobs\Ninja;
|
namespace App\Jobs\Ninja;
|
||||||
|
|
||||||
use App\Models\Backup;
|
use App\Models\Backup;
|
||||||
|
use App\Models\Company;
|
||||||
use App\Models\Credit;
|
use App\Models\Credit;
|
||||||
use App\Models\Invoice;
|
use App\Models\Invoice;
|
||||||
use App\Models\Quote;
|
use App\Models\Quote;
|
||||||
@ -20,6 +21,7 @@ use Illuminate\Contracts\Queue\ShouldQueue;
|
|||||||
use Illuminate\Foundation\Bus\Dispatchable;
|
use Illuminate\Foundation\Bus\Dispatchable;
|
||||||
use Illuminate\Queue\InteractsWithQueue;
|
use Illuminate\Queue\InteractsWithQueue;
|
||||||
use Illuminate\Queue\SerializesModels;
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
|
||||||
class SystemMaintenance implements ShouldQueue
|
class SystemMaintenance implements ShouldQueue
|
||||||
{
|
{
|
||||||
@ -114,4 +116,45 @@ class SystemMaintenance implements ShouldQueue
|
|||||||
$backup->delete();
|
$backup->delete();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function cleanPdfs()
|
||||||
|
{
|
||||||
|
$company_keys = Company::query()
|
||||||
|
->pluck('company_key')
|
||||||
|
->toArray();
|
||||||
|
|
||||||
|
$directories = Storage::disk(config('filesystems.default'))->directories();
|
||||||
|
|
||||||
|
$del_dirs = ['quotes','invoices','credits','recurring_invoices', 'e_invoice'];
|
||||||
|
|
||||||
|
collect($directories)->each(function ($parent_directory) use ($del_dirs, $company_keys) {
|
||||||
|
|
||||||
|
if (! in_array($parent_directory, $company_keys)) {
|
||||||
|
nlog("Deleting {$parent_directory}");
|
||||||
|
|
||||||
|
/* Ensure we are not deleting the root folder */
|
||||||
|
if (strlen($parent_directory) > 1) {
|
||||||
|
nlog("Company No Longer Exists => deleting {$parent_directory}");
|
||||||
|
Storage::disk(config('filesystems.default'))->deleteDirectory($parent_directory);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$sub_directories = Storage::allDirectories($parent_directory);
|
||||||
|
|
||||||
|
collect($sub_directories)->each(function ($sub_dir) use ($del_dirs) {
|
||||||
|
foreach($del_dirs as $del_dir) {
|
||||||
|
if(stripos($sub_dir, $del_dir) !== false) {
|
||||||
|
nlog("Deleting {$sub_dir} as it matches {$del_dir}");
|
||||||
|
Storage::deleteDirectory($sub_dir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user