97 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php declare(strict_types=1);
 | |
| 
 | |
| 
 | |
| abstract class CronUploaderConfig
 | |
| {
 | |
|     const DEFAULT_PATH = "cron_uploader";
 | |
| 
 | |
|     const KEY = "cron_uploader_key";
 | |
|     const COUNT = "cron_uploader_count";
 | |
|     const DIR = "cron_uploader_dir";
 | |
|     const USER = "cron_uploader_user";
 | |
| 
 | |
|     public static function set_defaults(): void
 | |
|     {
 | |
|         global $config;
 | |
|         $config->set_default_int(self::COUNT, 1);
 | |
|         $config->set_default_string(self::DIR, data_path(self::DEFAULT_PATH));
 | |
| 
 | |
|         $upload_key = $config->get_string(self::KEY, "");
 | |
|         if (empty($upload_key)) {
 | |
|             $upload_key = self::generate_key();
 | |
| 
 | |
|             $config->set_string(self::KEY, $upload_key);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     public static function get_user(): int
 | |
|     {
 | |
|         global $config;
 | |
|         return $config->get_int(self::USER);
 | |
|     }
 | |
| 
 | |
|     public static function set_user(int $value): void
 | |
|     {
 | |
|         global $config;
 | |
|         $config->set_int(self::USER, $value);
 | |
|     }
 | |
| 
 | |
|     public static function get_key(): string
 | |
|     {
 | |
|         global $config;
 | |
|         return $config->get_string(self::KEY);
 | |
|     }
 | |
| 
 | |
|     public static function set_key(string $value): void
 | |
|     {
 | |
|         global $config;
 | |
|         $config->set_string(self::KEY, $value);
 | |
|     }
 | |
| 
 | |
|     public static function get_count(): int
 | |
|     {
 | |
|         global $config;
 | |
|         return $config->get_int(self::COUNT);
 | |
|     }
 | |
| 
 | |
|     public static function set_count(int $value): void
 | |
|     {
 | |
|         global $config;
 | |
|         $config->set_int(self::COUNT, $value);
 | |
|     }
 | |
| 
 | |
|     public static function get_dir(): string
 | |
|     {
 | |
|         global $config;
 | |
|         $value = $config->get_string(self::DIR);
 | |
|         if (empty($value)) {
 | |
|             $value = data_path("cron_uploader");
 | |
|             self::set_dir($value);
 | |
|         }
 | |
|         return $value;
 | |
|     }
 | |
| 
 | |
|     public static function set_dir(string $value): void
 | |
|     {
 | |
|         global $config;
 | |
|         $config->set_string(self::DIR, $value);
 | |
|     }
 | |
| 
 | |
| 
 | |
|     /*
 | |
|      * Generates a unique key for the website to prevent unauthorized access.
 | |
|      */
 | |
|     private static function generate_key()
 | |
|     {
 | |
|         $length = 20;
 | |
|         $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
 | |
|         $randomString = '';
 | |
| 
 | |
|         for ($i = 0; $i < $length; $i++) {
 | |
|             $randomString .= $characters [rand(0, strlen($characters) - 1)];
 | |
|         }
 | |
| 
 | |
|         return $randomString;
 | |
|     }
 | |
| }
 |