41 lines
1.3 KiB
PHP
41 lines
1.3 KiB
PHP
<?php
|
|
namespace EEPROM;
|
|
|
|
if(!defined('EEPROM_SEM_NAME'))
|
|
define('EEPROM_SEM_NAME', 'c');
|
|
if(!defined('EEPROM_SFM_PATH'))
|
|
define('EEPROM_SFM_PATH', sys_get_temp_dir() . DIRECTORY_SEPARATOR . '{6bf19abb-ae7e-4a1d-85f9-00dfb7c90264}');
|
|
|
|
if(!is_file(EEPROM_SFM_PATH))
|
|
touch(EEPROM_SFM_PATH);
|
|
|
|
$ftok = ftok(EEPROM_SFM_PATH, EEPROM_SEM_NAME);
|
|
$semaphore = sem_get($ftok, 1);
|
|
if(!sem_acquire($semaphore))
|
|
die('Failed to acquire semaphore.' . PHP_EOL);
|
|
|
|
try {
|
|
require_once __DIR__ . '/eeprom.php';
|
|
|
|
$uploadsCtx = $eeprom->getUploadsContext();
|
|
$uploadsData = $uploadsCtx->getUploadsData();
|
|
|
|
// Mark expired as deleted
|
|
$expired = $uploadsData->getUploads(expired: true, deleted: false, dmca: false);
|
|
foreach($expired as $uploadInfo)
|
|
$uploadsData->deleteUpload($uploadInfo);
|
|
|
|
// Hard delete soft deleted files
|
|
$deleted = $uploadsData->getUploads(deleted: true, dmca: false);
|
|
foreach($deleted as $uploadInfo) {
|
|
$uploadsCtx->deleteUploadData($uploadInfo);
|
|
$uploadsData->nukeUpload($uploadInfo);
|
|
}
|
|
|
|
// Ensure local data of DMCA'd files is gone
|
|
$deleted = $uploadsData->getUploads(dmca: true);
|
|
foreach($deleted as $uploadInfo)
|
|
$uploadsCtx->deleteUploadData($uploadInfo);
|
|
} finally {
|
|
sem_release($semaphore);
|
|
}
|