$bi->Next(); } if ($FileInfo->isFile() && $FileInfo->isReadable()) { $setnamematch = preg_match('/(?P<Prefix>[A-Z]+[_ -])?(?P<Name>[A-Z0-9]+)(?P<Number>\\d\\d)(?P<Suffix>[a-z])?\\.(?P<Extension>[^.]+)$/i', $FileInfo->getFilename(), $matches); if (isset($matches) && count($matches) > 0) { $Set = Set::Filter($Sets, $Model->getID(), NULL, $matches['Name'] . $matches['Number'], $matches['Prefix']); if (!$Set) { continue; } else { $Set = $Set[0]; } /* @var $VideoInDB Video */ $VideosInDB = Video::Filter($Videos, $ModelID, $Set->getID(), $matches['Name'] . $matches['Number'] . $matches['Suffix']); if ($VideosInDB) { $VideoInDB = $VideosInDB[0]; $cis = CacheImage::Filter($CacheImages, NULL, NULL, NULL, NULL, NULL, $VideoInDB->getID()); CacheImage::DeleteMulti($cis, $CurrentUser); } else { $VideoInDB = new Video(); $VideoInDB->setSet($Set); } $VideoInDB->setFileName($matches['Prefix'] . $matches['Name'] . $matches['Number'] . $matches['Suffix']); $VideoInDB->setFileExtension($matches['Extension']); $VideoInDB->setFileSize($FileInfo->getSize()); $VideoInDB->setFileCheckSum(Utils::CalculateMD5($FileInfo->getRealPath())); $VideoInDB->setFileCRC32(Utils::CalculateCRC32($FileInfo->getRealPath())); if (!$VideoInDB->getID() && $CurrentUser->hasPermission(RIGHT_VIDEO_ADD)) { Video::Insert($VideoInDB, $CurrentUser); } else { if ($CurrentUser->hasPermission(RIGHT_VIDEO_EDIT)) { Video::Update($VideoInDB, $CurrentUser);
if ($file->isFile() && $file->isReadable()) { $imagenamematch = preg_match('/(?P<Prefix>[A-Z]+[_ -])?(?P<ModelName>[A-Z0-9]+)(?P<SetNumber>\\d\\d)_(?P<Number>[0-9]{3})\\.(?P<Extension>[^.]+)$/i', $file->getFilename(), $matches); if ($imagenamematch) { $Set = Set::Filter($Sets, $Model->getID(), NULL, $matches['ModelName'] . $matches['SetNumber'], $matches['Prefix']); if ($Set) { $Set = $Set[0]; } else { continue; } $CacheImage = CacheImage::Filter($CacheImages, NULL, NULL, NULL, $Set->getID()); CacheImage::DeleteMulti($CacheImage, $CurrentUser); /* @var $ImageInDB Image */ $ImagesInDB = Image::Filter($Images, $ModelID, $Set->getID(), sprintf('%1$s%2$s%3$s_%4$s', $matches['Prefix'], $matches['ModelName'], $matches['SetNumber'], $matches['Number'])); if ($ImagesInDB) { $ImageInDB = $ImagesInDB[0]; $CacheImage = CacheImage::Filter($CacheImages, NULL, NULL, NULL, NULL, $ImageInDB->getID()); CacheImage::DeleteMulti($CacheImage, $CurrentUser); } else { $ImageInDB = new Image(); $ImageInDB->setSet($Set); } $info = getimagesize($file->getRealPath()); $ImageInDB->setFileName(sprintf('%1$s%2$s%3$s_%4$s', $matches['Prefix'], $matches['ModelName'], $matches['SetNumber'], $matches['Number'])); $ImageInDB->setFileExtension($matches['Extension']); $ImageInDB->setFileSize($file->getSize()); $ImageInDB->setFileCheckSum(Utils::CalculateMD5($file->getRealPath())); $ImageInDB->setFileCRC32(Utils::CalculateCRC32($file->getRealPath())); $ImageInDB->setImageWidth($info[0]); $ImageInDB->setImageHeight($info[1]); if (!$ImageInDB->getID() && $CurrentUser->hasPermission(RIGHT_IMAGE_ADD)) { Image::Insert($ImageInDB, $CurrentUser);