get_block_setting($block_id, 'filter_avi', false),
'bmp' =>get_block_setting($block_id, 'filter_bmp', true),
'gif' =>get_block_setting($block_id, 'filter_gif', true),
'jpg' =>get_block_setting($block_id, 'filter_jpeg', true),
'jpeg' =>get_block_setting($block_id, 'filter_jpeg', true),
'mp3' =>get_block_setting($block_id, 'filter_mp3', false),
'ole' =>get_block_setting($block_id, 'filter_ole', true),
'pcx' =>get_block_setting($block_id, 'filter_pcx', true),
'pdf' =>get_block_setting($block_id, 'filter_pdf', false),
'png' =>get_block_setting($block_id, 'filter_png', true),
'tiff' =>get_block_setting($block_id, 'filter_tiff', true),
'wav' =>get_block_setting($block_id, 'filter_wav', false),
'audio' =>get_block_setting($block_id, 'filter_audio', false),
'book' =>get_block_setting($block_id, 'filter_book', true),
'card' =>get_block_setting($block_id, 'filter_card', true),
'certificate'=>get_block_setting($block_id, 'filter_certificate', true),
'coat' =>get_block_setting($block_id, 'filter_coat', true),
'document' =>get_block_setting($block_id, 'filter_document', true),
'electronic' =>get_block_setting($block_id, 'filter_electronic', true),
'fiche' =>get_block_setting($block_id, 'filter_fiche', true),
'film' =>get_block_setting($block_id, 'filter_film', true),
'magazine' =>get_block_setting($block_id, 'filter_magazine', true),
'manuscript' =>get_block_setting($block_id, 'filter_manuscript', true),
'map' =>get_block_setting($block_id, 'filter_map', true),
'newspaper' =>get_block_setting($block_id, 'filter_newspaper', true),
'other' =>get_block_setting($block_id, 'filter_other', true),
'painting' =>get_block_setting($block_id, 'filter_painting', true),
'photo' =>get_block_setting($block_id, 'filter_photo', true),
'tombstone' =>get_block_setting($block_id, 'filter_tombstone', true),
'video' =>get_block_setting($block_id, 'filter_video', false),
);
if (WT_DEBUG) {
echo "
";print_r($filters);echo "
\n";
}
if ($cfg) {
foreach (array('filter', 'controls', 'start', 'filter_avi', 'filter_bmp', 'filter_gif', 'filter_jpeg', 'filter_mp3', 'filter_ole', 'filter_pcx', 'filter_pdf', 'filter_png', 'filter_tiff', 'filter_wav', 'filter_audio', 'filter_book', 'filter_card', 'filter_certificate', 'filter_coat', 'filter_document', 'filter_electronic', 'filter_fiche', 'filter_film', 'filter_magazine', 'filter_manuscript', 'filter_map', 'filter_newspaper', 'filter_other', 'filter_painting', 'filter_photo', 'filter_tombstone', 'filter_video', 'block') as $name) {
if (array_key_exists($name, $cfg)) {
$$name=$cfg[$name];
}
}
}
$medialist = array();
$foundlist = array();
$medialist = get_medialist(false, '', true, true);
$ct = count($medialist);
if ($ct>0) {
$i=0;
$disp = false;
//-- try up to 40 times to get a media to display
while ($i<40) {
$error = false;
$value = array_rand($medialist);
$mediaobject = WT_Media::getInstance($medialist[$value]["XREF"]);
if (WT_DEBUG) {
echo "
";print_r($medialist[$value]);echo "
\n";
$mediaobject->fileExists('main');
$mediaobject->fileExists('thumb');
echo "
";print_r($mediaobject);echo "
\n";
echo "Trying ".$mediaobject->getXref()."
\n";
}
$links = $medialist[$value]["LINKS"];
$disp = ($mediaobject->fileExists('main') || $mediaobject->isExternal())&& $medialist[$value]["LINKED"] && $medialist[$value]["CHANGE"]!="delete" ;
if (WT_DEBUG && !$disp && !$error) {
$error = true;
echo "".$mediaobject->getXref()." File does not exist, or is not linked to anyone, or is marked for deletion.
";
}
$disp = $disp && $mediaobject->canDisplayDetails();
if (WT_DEBUG && !$disp && !$error) {
$error = true;
echo "".$mediaobject->getXref()." Failed to pass privacy
";
}
if ($block && !$mediaobject->isExternal()) {
$disp = $disp && $mediaobject->fileExists('thumb'); // external files are ok w/o thumb
}
if (WT_DEBUG && !$disp && !$error) {$error = true; echo "".$mediaobject->getXref()." thumbnail file could not be found
";}
$mediaformat=strtolower($mediaobject->getMediaFormat());
if ($mediaformat) {
if (!array_key_exists($mediaformat, $filters) || !$filters[$mediaformat]) {
$disp=false;
}
}
$mediatype=strtolower($mediaobject->getMediaType());
if ($mediatype) {
if (!array_key_exists($mediatype, $filters) || !$filters[$mediatype]) {
$disp=false;
}
}
if (WT_DEBUG && !$disp && !$error) {$error = true; echo "".$mediaobject->getXref()." failed Format or Type filters
";}
if ($disp && count($links) != 0) {
if ($disp && $filter!="all") {
// Apply filter criteria
$ct = preg_match("/0 (@.*@) OBJE/", $mediaobject->getGedcomRecord(), $match);
$objectID = $match[1];
//-- we could probably use the database for this filter
foreach ($links as $key=>$type) {
$gedrec = find_gedcom_record($key, WT_GED_ID);
$ct2 = preg_match("/(\d) OBJE {$objectID}/", $gedrec, $match2);
if ($ct2>0) {
$objectRefLevel = $match2[1];
if ($filter=="indi" && $objectRefLevel!="1") $disp = false;
if ($filter=="event" && $objectRefLevel=="1") $disp = false;
if (WT_DEBUG && !$disp && !$error) {$error = true; echo "".$mediaobject->getXref()." failed to pass config filter
";}
}
else $disp = false;
}
}
}
//-- leave the loop if we find an image that works
if ($disp) {
break;
}
//-- otherwise remove the private media item from the list
else {
if (WT_DEBUG) echo "".$mediaobject->getXref()." Will not be shown
";
unset($medialist[$value]);
}
//-- if there are no more media items, then try to get some more
if (count($medialist)==0) $medialist = get_medialist(false, '', true, true);
$i++;
}
if (!$disp) {
return false;
}
$id=$this->getName().$block_id;
$class=$this->getName().'_block';
if ($ctype=='gedcom' && WT_USER_GEDCOM_ADMIN || $ctype=='user' && WT_USER_ID) {
$title='';
} else {
$title='';
}
$title.=$this->getTitle();
$content = "
| displayMedia(array('align'=>'none', 'uselightbox'=>false, 'uselightbox_fallback'=>false));
if ($block) $content .= ' '; else $content .= ' | ';
$content .= ''. $mediaobject->getFullName() .' '; ob_start(); $content .= $mediaobject->printLinkedRecords('normal'); $content .= ob_get_clean(); $content .= " ";
$content .= print_fact_notes($mediaobject->getGedcomRecord(), "1", false, true);
$content .= " ";
$content .= " |
| > avi | > bmp | > gif | |
| > jpeg | > mp3 | > ole | |
| > pcx | > png | ||
| > tiff | > wav |
| ".$typeValue." | "; } ?>