} /* @var $Video2Process Video */ $Video2Process = $VideoInDb ? $VideoInDb : new Video(); $Video2Process->setSet($Set2Process); $Video2Process->setFileName((string) $Video->attributes()->name); $Video2Process->setFileExtension((string) $Video->attributes()->extension); $Video2Process->setFileSize((int) $Video->attributes()->filesize); $Video2Process->setFileCheckSum((string) $Video->attributes()->checksum); $Video2Process->setFileCRC32((string) $Video->attributes()->crc32); if ($Video2Process->getID()) { Video::Update($Video2Process, $CurrentUser); } else { Video::Insert($Video2Process, $CurrentUser); } $videotags = Tag::GetTagArray((string) $Video->attributes()->tags); $Tag2AllThisVideo = Tag2All::Filter($Tag2AllThisSet, NULL, $Model2Process->getID(), $Set2Process->getID(), NULL, $Video2Process->getID()); Tag2All::HandleTags($videotags, $Tag2AllThisVideo, $TagsInDB, $CurrentUser, $Model2Process->getID(), $Set2Process->getID(), NULL, $Video2Process->getID(), FALSE); } } } } if ($fileToProcess != 'setup_data.xml') { unlink(realpath($fileToProcess)); } $infoSuccess = new Info($lang->g('MessageXMLImported')); Info::AddInfo($infoSuccess); if (isset($argv) && $argc > 0) { $bi->Finish(); } } HTMLstuff::RefererRedirect();
function XmlOutputModel($Model, $TaggedOnly) { global $xmlw, $Sets, $Dates, $Tag2Alls, $IncludeImages, $IncludeVideos; $xmlw->startElement('Model'); $xmlw->writeAttribute('firstname', $Model->getFirstName()); $xmlw->writeAttribute('lastname', $Model->getLastName()); $xmlw->writeAttribute('birthdate', $Model->getBirthdate() > 0 ? date('Y-m-d', $Model->getBirthdate()) : NULL); $TagsThisModel = Tag2All::Filter($Tag2Alls, NULL, $Model->getID(), FALSE, FALSE, FALSE); $TagsThisModelOnly = Tag2All::Filter($TagsThisModel, NULL, $Model->getID(), NULL, NULL, NULL); $xmlw->writeAttribute('tags', Tag2All::Tags2AllCSV($TagsThisModelOnly)); $SetsThisModel = Set::Filter($Sets, $Model->getID()); if ($SetsThisModel) { $xmlw->startElement('Sets'); $DatesThisModel = Date::FilterDates($Dates, NULL, $Model->getID()); if ($Model->getFirstName() == 'VIP') { usort($SetsThisModel, array('Set', 'CompareASC')); } foreach ($SetsThisModel as $Set) { $PicDatesThisSet = Date::FilterDates($DatesThisModel, NULL, NULL, $Set->getID(), DATE_KIND_IMAGE); $VidDatesThisSet = Date::FilterDates($DatesThisModel, NULL, NULL, $Set->getID(), DATE_KIND_VIDEO); $TagsThisSet = Tag2All::Filter($TagsThisModel, NULL, $Model->getID(), $Set->getID(), NULL, NULL); $xmlw->startElement('Set'); if ($Model->getFirstName() == 'VIP' && !is_numeric($Set->getName())) { $xmlw->writeAttribute('name', sprintf('SP_%1$s', $Set->getName())); } else { $xmlw->writeAttribute('name', $Set->getName()); } $xmlw->writeAttribute('date_pic', Date::FormatDates($PicDatesThisSet, 'Y-m-d', FALSE, ' ')); $xmlw->writeAttribute('date_vid', Date::FormatDates($VidDatesThisSet, 'Y-m-d', FALSE, ' ')); $xmlw->writeAttribute('tags', Tag2All::Tags2AllCSV($TagsThisSet)); if ($IncludeImages) { $ImagesThisSet = Image::GetImages(new ImageSearchParameters(FALSE, FALSE, $Set->getID(), FALSE, $Model->getID())); if ($ImagesThisSet) { $xmlw->startElement('Images'); /* @var $Image Image */ foreach ($ImagesThisSet as $Image) { $TagsThisImage = Tag2All::Filter($TagsThisModel, NULL, $Model->getID(), $Set->getID(), $Image->getID(), NULL); if ($TaggedOnly === TRUE && $TagsThisImage || $TaggedOnly === FALSE) { $xmlw->startElement('Image'); $xmlw->writeAttribute('name', $Image->getFileName()); $xmlw->writeAttribute('extension', $Image->getFileExtension()); $xmlw->writeAttribute('filesize', $Image->getFileSize()); $xmlw->writeAttribute('height', $Image->getImageHeight()); $xmlw->writeAttribute('width', $Image->getImageWidth()); $xmlw->writeAttribute('checksum', $Image->getFileCheckSum()); $xmlw->writeAttribute('crc32', $Image->getFileCRC32()); $xmlw->writeAttribute('tags', Tag2All::Tags2AllCSV($TagsThisImage)); $xmlw->endElement(); } } $xmlw->endElement(); $xmlw->flush(); ob_flush(); flush(); unset($ImagesThisSet); } } if ($IncludeVideos) { $VideosThisSet = Video::GetVideos(new VideoSearchParameters(FALSE, FALSE, $Set->getID(), FALSE, $Model->getID())); if ($VideosThisSet) { $xmlw->startElement('Videos'); /* @var $Video Video */ foreach ($VideosThisSet as $Video) { $TagsThisVideo = Tag2All::Filter($TagsThisModel, NULL, $Model->getID(), $Set->getID(), NULL, $Video->getID()); if ($TaggedOnly === TRUE && $TagsThisVideo || $TaggedOnly === FALSE) { $xmlw->startElement('Video'); $xmlw->writeAttribute('name', $Video->getFileName()); $xmlw->writeAttribute('extension', $Video->getFileExtension()); $xmlw->writeAttribute('filesize', $Video->getFileSize()); $xmlw->writeAttribute('checksum', $Video->getFileCheckSum()); $xmlw->writeAttribute('crc32', $Video->getFileCRC32()); $xmlw->writeAttribute('tags', Tag2All::Tags2AllCSV($TagsThisVideo)); $xmlw->endElement(); } } $xmlw->endElement(); $xmlw->flush(); ob_flush(); flush(); unset($VideosThisSet); } } $xmlw->endElement(); } $xmlw->endElement(); $xmlw->flush(); ob_flush(); flush(); if ($Model->getRemarks()) { $xmlw->startElement('Remarks'); $xmlw->text($Model->getRemarks()); $xmlw->endElement(); } } $xmlw->endElement(); $xmlw->flush(); ob_flush(); flush(); }
continue 2; } } if (!is_null($imageid)) { $ImageIDsToShow[] = $imageid; } } /* Video-filtering */ $AllVideoIDs = array(); foreach ($Tag2Alls as $t2a) { $AllVideoIDs[] = $t2a->getVideoID(); } $VideoIDsToShow = array(); foreach (array_unique($AllVideoIDs) as $videoid) { foreach ($filteredTagIDs as $ftid) { if (count(Tag2All::Filter($Tag2Alls, $ftid, FALSE, FALSE, FALSE, $videoid)) == 0) { continue 2; } } if (!is_null($videoid)) { $VideoIDsToShow[] = $videoid; } } switch ($searchMode) { case 'MODEL': if (!$ModelIDsToShow) { break; } $ToShow = Model::GetModels(new ModelSearchParameters(FALSE, $ModelIDsToShow), NULL, sprintf("%1\$d, %2\$d", $from, $max_results)); $Total = count(Model::GetModels(new ModelSearchParameters(FALSE, $ModelIDsToShow))); break;
function XmlOutputModel($Model) { global $xmlw, $Sets, $Dates, $Tag2Alls, $IncludeImages, $IncludeVideos; $xmlw->startElement('Model'); $xmlw->writeAttribute('firstname', $Model->getFirstName()); $xmlw->writeAttribute('lastname', $Model->getLastName()); $xmlw->writeAttribute('birthdate', $Model->getBirthdate() > 0 ? date('Y-m-d', $Model->getBirthdate()) : NULL); $TagsThisModel = Tag2All::Filter($Tag2Alls, NULL, $Model->getID(), FALSE, FALSE, FALSE); $TagsThisModelOnly = Tag2All::Filter($TagsThisModel, NULL, $Model->getID(), NULL, NULL, NULL); $xmlw->writeAttribute('tags', Tag2All::Tags2AllCSV($TagsThisModelOnly)); $SetsThisModel = Set::Filter($Sets, $Model->getID()); if ($SetsThisModel) { $xmlw->startElement('Sets'); $DatesThisModel = Date::FilterDates($Dates, NULL, $Model->getID()); if ($Model->getFirstName() == 'VIP') { usort($SetsThisModel, array('Set', 'CompareASC')); } foreach ($SetsThisModel as $Set) { $PicDatesThisSet = Date::FilterDates($DatesThisModel, NULL, NULL, $Set->getID(), DATE_KIND_IMAGE); $VidDatesThisSet = Date::FilterDates($DatesThisModel, NULL, NULL, $Set->getID(), DATE_KIND_VIDEO); $TagsThisSet = Tag2All::Filter($TagsThisModel, NULL, $Model->getID(), $Set->getID(), NULL, NULL); $xmlw->startElement('Set'); if ($Model->getFirstName() == 'VIP' && !is_numeric($Set->getName())) { $xmlw->writeAttribute('name', sprintf('SP_%1$s', $Set->getName())); } else { $xmlw->writeAttribute('name', $Set->getName()); } $xmlw->writeAttribute('date_pic', Date::FormatDates($PicDatesThisSet, 'Y-m-d', FALSE, ' ')); $xmlw->writeAttribute('date_vid', Date::FormatDates($VidDatesThisSet, 'Y-m-d', FALSE, ' ')); $xmlw->writeAttribute('tags', Tag2All::Tags2AllCSV($TagsThisSet)); $xmlw->endElement(); } $xmlw->endElement(); $xmlw->flush(); ob_flush(); flush(); if ($Model->getRemarks()) { $xmlw->startElement('Remarks'); $xmlw->text($Model->getRemarks()); $xmlw->endElement(); } } $xmlw->endElement(); $xmlw->flush(); ob_flush(); flush(); }