| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- namespace MGModule\DNSManager2\helpers\custom;
- use MGModule\DNSManager2\models\custom\clientfiles\ClientFiles;
- use MGModule\DNSManager2\models\custom\clientfiles\Repository as ClientFilesRepository;
- /**
- * Class ClientFiles
- *
- * @author Artur Pilch <artur.pi@modulesgarden.com>
- */
- class ClientFilesManage
- {
- CONST BACKUP = 'backup';
- CONST FROM_FILE_TO_WHMCS = 'fromFileToWHMCS';
- public static function save($filename, $clientId, $type, $createdBy)
- {
- if(!$filename && !$clientId)
- {
- return;
- }
- $clientFile = new ClientFiles();
- $clientFile->file = $filename;
- $clientFile->clientid = $clientId;
- $clientFile->type = $type;
- $clientFile->createdby = $createdBy;
- $clientFile->date = date('Y-m-d H:i:s');
- $clientFile->save();
- }
- public static function saveIfNotExists($file, $clientId, $type, $createdBy)
- {
- $fileExist = ClientFilesRepository::factory()->byFile($file)->byType($type)->get();
- if(!empty($fileExist))
- {
- return false;
- }
- self::save($file, $clientId, $type, $createdBy);
- return true;
- }
- public static function getFilesForClient($clientId, $files, $type)
- {
- $filesList = ClientFilesRepository::factory()->byClientId($clientId)->byType($type)->get();
- $out = [];
- foreach ($filesList as $file)
- {
- if(in_array($file->file, $files))
- {
- $file = ClientFilesManage::getFileNameWithoutClientId($file->file);
- array_push($out, $file);
- }
- }
- return $out;
- }
- private function getBackupsCreatedBy($clientId, $type, $files, $who){
- $filesList = ClientFilesRepository::factory()->byClientId($clientId)->byType($type)->byCreatedBy($who)->get();
- $out = [];
- foreach ($filesList as $file)
- {
- if(in_array($file->file, $files))
- {
- $file = ClientFilesManage::getFileNameWithoutClientId($file->file);
- array_push($out, $file);
- }
- }
- return $out;
- }
- public static function getManualBackups($clientId, $files, $type)
- {
- return ClientFilesManage::getBackupsCreatedBy($clientId, $type, $files, 'client');
- }
- public static function getCronBackups($clientId, $files, $type)
- {
- return ClientFilesManage::getBackupsCreatedBy($clientId, $type, $files, 'cron');
- }
- public static function getFileNameWithoutClientId($fileName)
- {
- $explodedFileName = explode("_", $fileName);
- unset($explodedFileName[count($explodedFileName) -1]);
- return implode("_", $explodedFileName);
- }
- public static function getFileForClient($clientId, $files, $type)
- {
- return ClientFilesRepository::factory()->byClientId($clientId)->byType($type)->one();
- }
- public static function getClientFiles($clientId, $type)
- {
- return ClientFilesRepository::factory()->byClientId($clientId)->byType($type)->get();
- }
- public static function delete($clientId, $file, $type = false)
- {
- ClientFilesRepository::factory()->byClientId($clientId)->byFile($file)->delete();
- // ClientFilesRepository::factory()->byClientId($clientId)->byFile($file)->byType($type)->delete();
- }
- }
|