postDelete hook, imagick dependency, rrmdir
This commit is contained in:
		
							parent
							
								
									b0e98033b4
								
							
						
					
					
						commit
						83cf7d1a04
					
				| @ -125,6 +125,7 @@ abstract class DatabaseEntity implements ArrayAccess, JsonSerializable { | ||||
|   public function preInsert(array &$row) { } | ||||
|   public function postFetch(SQL $sql, array $row) { } | ||||
|   public static function getPredefinedValues(): array { return []; } | ||||
|   public function postDelete() { } | ||||
| 
 | ||||
|   public static function fromRow(SQL $sql, array $row): static { | ||||
|     $handler = self::getHandler($sql); | ||||
| @ -207,6 +208,7 @@ abstract class DatabaseEntity implements ArrayAccess, JsonSerializable { | ||||
|     } | ||||
| 
 | ||||
|     if ($handler->delete($this->id)) { | ||||
|       $this->postDelete(); | ||||
|       $this->id = null; | ||||
|       return true; | ||||
|     } | ||||
|  | ||||
| @ -285,3 +285,20 @@ function isClass(string $str): bool { | ||||
|   $path = getClassPath($str); | ||||
|   return is_file($path) && class_exists($str); | ||||
| } | ||||
| 
 | ||||
| function rrmdir(string $dir): void { | ||||
|   if (is_dir($dir)) { | ||||
|     $objects = scandir($dir); | ||||
|     foreach ($objects as $object) { | ||||
|       if ($object !== "." && $object !== "..") { | ||||
|         $path = $dir . DIRECTORY_SEPARATOR . $object; | ||||
|         if (is_dir($path) && !is_link($path)) { | ||||
|           rrmdir($path); | ||||
|         } else { | ||||
|           unlink($path); | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     rmdir($dir); | ||||
|   } | ||||
| } | ||||
| @ -11,8 +11,8 @@ RUN mkdir -p /application/core/Configuration /var/www/.gnupg && \ | ||||
| 
 | ||||
| # YAML + dev dependencies + additional packages | ||||
| RUN apt-get update -y &&  \ | ||||
|     apt-get install -y libyaml-dev libzip-dev libgmp-dev libpng-dev gnupg2 $ADDITIONAL_PACKAGES && \ | ||||
|     pecl install yaml && docker-php-ext-enable yaml && \ | ||||
|     apt-get install -y libyaml-dev libzip-dev libgmp-dev libpng-dev libmagickwand-dev gnupg2 $ADDITIONAL_PACKAGES && \ | ||||
|     printf "\n" | pecl install yaml imagick && docker-php-ext-enable yaml imagick && \ | ||||
|     docker-php-ext-install gd | ||||
| 
 | ||||
| # NodeJS | ||||
|  | ||||
							
								
								
									
										1
									
								
								img/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										1
									
								
								img/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| uploads/ | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user