diff --git a/Blacklight/Categorize.php b/Blacklight/Categorize.php index abae4ba63..4bca4a969 100755 --- a/Blacklight/Categorize.php +++ b/Blacklight/Categorize.php @@ -508,6 +508,7 @@ class Categorize case $this->isXxxSD(): case $this->isXxxUHD(): case $this->isXxxClipHD(): + case $this->isXxxVr(): case $this->catWebDL && $this->isXxxWEBDL(): case $this->isXxx264(): case $this->isXxxXvid(): @@ -595,6 +596,25 @@ class Categorize return false; } + public function isXxxVr(): bool + { + switch (true) { + case preg_match('/OnlyFans/i', $this->releaseName): + return false; + case preg_match('/^[\w\-.]+(\d{2}\.\d{2}\.\d{2}).+(VR(180|360))+.*/i', $this->releaseName): + case preg_match('/^VR(Hush|\.?(Cosplay|Spy|Conk|Porn|Latina|Bangers|KM|Mansion|Intimacy|oomed))|^VirtualReal|iStripper|SLROriginals|VirtualPorn|XSinsVR|NaughtyAmericaVR|WetVR|VRStars|SexBabesVR|VR Porn|\[VR\][.\s]Pack|BIBIVR|VRCosplayX|CzechVRFetish|GearVR|Oculus|SexLikeReal|3584p|^.*VR[\. -_]+?/i', $this->releaseName): + case preg_match('/.+\.VR(180|360)\.(3584|3840|3072)p/i', $this->releaseName): + case preg_match('/^SLR.+(VR|LR_180|LR-180|3072p)/i', $this->releaseName): + case preg_match('/^SLR_SLR|^REQUEST\.SLR/i', $this->releaseName): + case preg_match('/180x180_3dh/i', $this->releaseName): + $this->tmpCat = Category::XXX_VR; + + return true; + default: + return false; + } + } + public function isXxxImageset(): bool { if (preg_match('/IMAGESET|PICTURESET|ABPEA/i', $this->releaseName)) { diff --git a/app/Models/Category.php b/app/Models/Category.php index c0320ec6a..8424f6ec7 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -161,6 +161,8 @@ class Category extends Model public const XXX_UHD = 6045; + public const XXX_VR = 6046; + public const XXX_PACK = 6050; public const XXX_IMAGESET = 6060; diff --git a/database/migrations/2024_09_15_184830_add_xxx_vr_category.php b/database/migrations/2024_09_15_184830_add_xxx_vr_category.php new file mode 100644 index 000000000..8e84d3dea --- /dev/null +++ b/database/migrations/2024_09_15_184830_add_xxx_vr_category.php @@ -0,0 +1,35 @@ +insert( + [ + 'id' => 6046, // 6046 so it gets listed after XXX -> UHD + 'title' => 'VR', + 'root_categories_id' => 6000, + 'status' => 1, + 'description' => null, + 'disablepreview' => 0, + 'minsizetoformrelease' => 0, + 'maxsizetoformrelease' => 0, + ] + ); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + DB::table('categories')->where('id', 6046)->delete(); + } +};