filter (ie It's either a layout/page change or a return visit) // Load up the session variables if ($action != "filter") { $medialist = ($_SESSION['filtered_medialist']); $folder=($_SESSION['medialist_folder']); $filter1=($_SESSION['medialist_filter1']); $filter2=($_SESSION['medialist_filter2']); $filter_type=($_SESSION['filter_type']); $sortby=($_SESSION['medialist_sortby']); $max=($_SESSION['medialist_max']); $columns=($_SESSION['medialist_columns']); $currentdironly=($_SESSION['medialist_currentdironly']); $show_thumbnail=($_SESSION['medialist_thumbnail']); $exclude_links=($_SESSION['medialist_links']); } else { // This is a return visit and the FILTER button was used // Check if the subdirectory and folder have changed if ($MEDIA_DIRECTORY_LEVELS > 0) { if ($folder != $_SESSION['medialist_folder']) $build = "yes"; if ($currentdironly != $_SESSION['medialist_currentdironly']) $build ="yes"; } // Check if the 'Include media links' option has changed if ($exclude_links != $_SESSION['medialist_links']) $build ="yes"; // if same subdirectory and folder then use an existing medialist if ($build != "yes") { if (($filter1 == $_SESSION['medialist_filter1']) && ($filter2 == $_SESSION['medialist_filter2']) && ($filter_type == $_SESSION['filter_type'])) { $medialist = $_SESSION['filtered_medialist']; $action = false; } else $medialist = $_SESSION['medialist']; } } } else { // This is the first visit to the medialist page if ($action == "filter") { $build = "yes"; $show = "yes"; } } // Disable autocomplete // if ($ENABLE_AUTOCOMPLETE) require WT_ROOT.'js/autocomplete.js.htm'; print_header(i18n::translate('MultiMedia Objects')); echo "\n\t

", i18n::translate('MultiMedia Objects'), "

\n\t"; // Get Javascript variables from lb_config.php --------------------------- if (WT_USE_LIGHTBOX) { require WT_ROOT.'modules/lightbox/lb_defaultconfig.php'; require WT_ROOT.'modules/lightbox/functions/lb_call_js.php'; if ($theme_name=="Minimal") { // Force icon options to "text" when we're dealing with the Minimal theme if ($LB_AL_HEAD_LINKS!="none") $LB_AL_HEAD_LINKS = "text"; if ($LB_AL_THUMB_LINKS!="none") $LB_AL_THUMB_LINKS = "text"; if ($LB_ML_THUMB_LINKS!="none") $LB_ML_THUMB_LINKS = "text"; } } //-- automatically generate an image (NOT CURRENTLY USED) if (WT_USER_IS_ADMIN && $action=="generate" && !empty($file) && !empty($thumb)) { generate_thumbnail($file, $thumb); } // ************************ BEGIN = 'Build the medialist array' ************************ if ($build == "yes") { if ($folder == "ALL") { $folder = $MEDIA_DIRECTORY; $currentdironly = false; } // show external links only if looking at top level directory $showExternal = ($folder == $MEDIA_DIRECTORY) ? true : false; $medialist=get_medialist($currentdironly, $folder, true, false, $showExternal, $exclude_links); //-- remove all private media objects foreach($medialist as $key => $media) { echo " "; // Display when user has Edit rights or when object belongs to current GEDCOM $disp = WT_USER_CAN_EDIT || $media["GEDFILE"]==WT_GED_ID; // Display when Media objects aren't restricted by global privacy $disp &= displayDetailsById($media["XREF"], "OBJE"); // Display when this Media object isn't restricted $disp &= !FactViewRestricted($media["XREF"], $media["GEDCOM"]); /** -- already included in the displayDetailsById() function if ($disp) { $links = $media["LINKS"]; //-- make sure that only media with links are shown if (count($links) != 0) { foreach($links as $id=>$type) { $disp &= displayDetailsById($id, $type); } } } */ if (!$disp) unset($medialist[$key]); } usort($medialist, "mediasort"); // Reset numbering of medialist array // save the array $_SESSION['medialist'] = $medialist; } // ************************ END = 'Build the medialist array' ************************ // ************************ BEGIN = 'Build the input form' ************************ // A form for filtering the media items ?>
> 0) { if (empty($folder)) { if (!empty($_SESSION['upload_folder'])) $folder = $_SESSION['upload_folder']; else $folder = "ALL"; } $folders = array_merge(array("ALL"), get_media_folders()); echo "
"; //} else echo $MEDIA_DIRECTORY, ""; ?>
>
> 0) { ?> checked="checked" /> >
>
>

checked="checked" />
> checked="checked" />
1) && (strlen($filter2)) > 1) { foreach($filtered_medialist as $key => $media) { if (!filterMedia($media, $filter1, "http") && !filterMedia($media, $filter2, "http")) unset($filtered_medialist[$key]); } usort($filtered_medialist, "mediasort"); // Reset numbering of medialist array // If either of the filters is empty use the "and" filter } else $filter_type = $and; } if ($filter_type == $and) { if ((strlen($filter1) > 1) || (strlen($filter2)) > 1) { foreach($filtered_medialist as $key => $media) { if (!filterMedia($media, $filter1, "http")) unset($filtered_medialist[$key]); if (!filterMedia($media, $filter2, "http")) unset($filtered_medialist[$key]); } usort($filtered_medialist, "mediasort"); // Reset numbering of medialist array } } // Restore filter type $filter_type = $temp_filter; } // ************************ END = 'Filter the medialist array' ************************ // ***************************** BEGIN Set SESSION variables ******************************************** if ($search=="yes") { if ($filtered_medialist) $_SESSION["filtered_medialist"] = $filtered_medialist; $_SESSION['filter_type']=$filter_type; $_SESSION['medialist_filter1']=$filter1; $_SESSION['medialist_filter2']=$filter2; $_SESSION['medialist_folder']=$folder; $_SESSION['medialist_sortby']=$sortby; $_SESSION['medialist_max']=$max; $_SESSION['medialist_columns']=$columns; $_SESSION['medialist_currentdironly']=$currentdironly; $_SESSION['medialist_thumbnail']=$show_thumbnail; $_SESSION['medialist_links']=$exclude_links; } // ***************************** End Set SESSION variables ******************************************** // ************************ BEGIN = 'Print the medialist array' ************************ if ($show == "yes") { if (!empty($filtered_medialist)) { $sortedMediaList = $filtered_medialist; // Default sort (by title) has already been done if ($sortby=='file') usort($sortedMediaList, 'filesort'); // Count the number of items in the medialist $ct=count($sortedMediaList); $start = 0; //$max = 20; if (isset($_GET["start"])) $start = $_GET["start"]; $count = $max; if ($start+$count > $ct) $count = $ct-$start; } else $ct = "0"; echo "\n\t
", i18n::translate('Media Objects found'), " ", $ct, "

"; if ($ct>0) { $currentPage = ((int) ($start / $max)) + 1; $lastPage = (int) (($ct + $max - 1) / $max); $IconRarrow = "\"\""; $IconLarrow = "\"\""; $IconRDarrow = "\"\""; $IconLDarrow = "\"\""; print"\n\t\n"; // echo page back, page number, page forward controls echo "\n"; // -- echo the array echo "\n\n"; for ($i=0; $i<$count; $i++) { $media = $sortedMediaList[$start+$i]; $isExternal = isFileExternal($media["FILE"]); $imgsize = findImageSize($media["FILE"]); $imgwidth = $imgsize[0]+40; $imgheight = $imgsize[1]+150; $name = basename($media["TITL"]); // $name1 = addslashes($media["TITL"]); $showFile = WT_USER_CAN_EDIT; if ($name=="") { //$showFile = false; if ($isExternal) $name = "URL"; else $name = basename($media["FILE"]); } if ($columns == "1") echo "\n\t\t\t"; if ($columns == "1") echo "\n\t\t\n\t\t"; if (($columns == "2") && ($i%2 == 1 && $i < ($count-1))) echo "\n\t\t\n\t\t"; } echo "\n\t\t"; // echo page back, page number, page forward controls echo "\n"; echo "
\n"; echo "\n\t\n"; echo "\n\n"; echo ""; echo ""; echo ""; echo "\n
"; if ($TEXT_DIRECTION=="ltr") { if ($ct>$max) { if ($currentPage > 1) { echo "", $IconLDarrow, "\n"; } if ($start>0) { $newstart = $start-$max; if ($start<0) $start = 0; echo "", $IconLarrow, "\n"; } } } else { if ($ct>$max) { if ($currentPage < $lastPage) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconRDarrow, "\n"; } if ($start+$max < $ct) { $newstart = $start+$count; if ($start<0) $start = 0; echo "", $IconRarrow, "\n"; } } } echo "", i18n::translate('Page %s of %s', $currentPage, $lastPage), ""; if ($TEXT_DIRECTION=="ltr") { if ($ct>$max) { if ($start+$max < $ct) { $newstart = $start+$count; if ($start<0) $start = 0; echo "", $IconRarrow, "\n"; } if ($currentPage < $lastPage) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconRDarrow, "\n"; } } } else { if ($ct>$max) { if ($start>0) { $newstart = $start-$max; if ($start<0) $start = 0; echo "", $IconLarrow, "\n"; } if ($currentPage > 1) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconLDarrow, "\n"; } } } echo "
"; if ($columns == "2") echo "\n\t\t\t"; echo "\n\t\n\t\t\n\t\t", '
"; //Get media item Notes $haystack = $media["GEDCOM"]; $needle = "1 NOTE"; $before = substr($haystack, 0, strpos($haystack, $needle)); $after = substr(strstr($haystack, $needle), strlen($needle)); $worked = str_replace("1 NOTE", "1 NOTE
", $after); $final = $before.$needle.$worked; $notes = PrintReady(htmlspecialchars(addslashes(print_fact_notes($final, 1, true, true)), ENT_COMPAT, 'UTF-8')); // Get info on how to handle this media file $mediaInfo = mediaFileInfo($media["FILE"], $media["THUMB"], $media["XREF"], $name, $notes); //-- Thumbnail field if ($show_thumbnail) { echo ''; echo '', PrintReady(htmlspecialchars($name, ENT_COMPAT, 'UTF-8')), ''; echo "
'; if (WT_USE_LIGHTBOX) { if (WT_USER_CAN_EDIT) { if ($LB_ML_THUMB_LINKS != "none") { echo ""; // ---------- Edit Media -------------------- echo ""; // ---------- Link Media to person, family or source --------------- echo ""; // ---------- View Media Details (mediaviewer) -------------------- echo ""; echo "
"; echo ""; if ($LB_ML_THUMB_LINKS == "icon" || $LB_ML_THUMB_LINKS == "both") { echo "\"\"   " ; } if ($LB_ML_THUMB_LINKS == "both") { echo "
"; } if ($LB_ML_THUMB_LINKS == "both" || $LB_ML_THUMB_LINKS == "text") { echo i18n::translate('Edit Details') ; } echo "
" . "\n"; echo "
"; require WT_ROOT.'modules/lightbox/functions/lb_link.php'; echo ""; echo ""; if ($LB_ML_THUMB_LINKS == "icon" || $LB_ML_THUMB_LINKS == "both") { echo "   \"\""; } if ($LB_ML_THUMB_LINKS == "both") { echo "
"; } if ($LB_ML_THUMB_LINKS == "both" || $LB_ML_THUMB_LINKS == "text") { echo i18n::translate('View Details') ; } echo "
" . "\n" ; echo "
"; } // ------------ Linespace --------------------- echo "
"; } } } // -- new naming structure --------- if ($sortby == 'title'){ $name_disp1 = $name; $name_disp2 = basename($media['FILE']); if ($isExternal) $name_disp2 = "URL"; $name_disp3 = $media['FILE']; $name_disp4 = i18n::translate('Filename'); } else { $name_disp1 = basename($media['FILE']); if ($isExternal) $name_disp1 = "URL"; $name_disp2 = $name; $name_disp3 = $media['FILE']; $name_disp4 = i18n::translate('Title'); } echo ""; if (begRTLText($name_disp1) && $TEXT_DIRECTION=="ltr") { echo "(".$media["XREF"].")   "; echo "".PrintReady($name_disp1).""; } else { echo "".PrintReady($name_disp1)."   "; if ($TEXT_DIRECTION=="rtl") echo getRLM(); echo "(", $media["XREF"], ")"; if ($TEXT_DIRECTION=="rtl") echo getRLM(); } echo ""; if ($showFile) { echo "

", PrintReady($name_disp4), ": ", PrintReady($name_disp2), ""; echo "
", i18n::translate('Location'), ": ", PrintReady($name_disp3), ""; //} } echo "
"; if (!$isExternal && !$media["EXISTS"]) { echo "
", i18n::translate('File not found.'), " ", PrintReady($media["FILE"]), ""; } if (!$isExternal && $media["EXISTS"]) { $imageTypes = array("", "GIF", "JPG", "PNG", "SWF", "PSD", "BMP", "TIFF", "TIFF", "JPC", "JP2", "JPX", "JB2", "SWC", "IFF", "WBMP", "XBM"); if (!empty($imgsize[2])) { echo "\n\t\t\t
", i18n::translate('Media Format'), ":
", $imageTypes[$imgsize[2]], ""; } else if (empty($imgsize[2])) { $path_end=substr($media["FILE"], strlen($media["FILE"])-5); $imageType = strtoupper(substr($path_end, strpos($path_end, ".")+1)); echo "\n\t\t\t
", i18n::translate('Media Format'), ":
", $imageType, ""; } $fileSize = media_filesize($media["FILE"]); $sizeString = getfilesize($fileSize); echo "   ", $sizeString, ""; if ($imgsize[2]!==false) { echo "\n\t\t\t
", i18n::translate('Image Dimensions'), ":
", $imgsize[0], $TEXT_DIRECTION =="rtl"?(" " . getRLM() . "x" . getRLM() . " ") : " x ", $imgsize[1], ""; } } echo "
"; print_fact_sources($media["GEDCOM"], $media["LEVEL"]+1); print_fact_notes($media["GEDCOM"], $media["LEVEL"]+1); echo "
"; PrintMediaLinks($media["LINKS"], "small"); echo "
\n"; echo "
\n"; print"\n\t\n"; echo "\n\n"; echo ""; echo ""; echo ""; echo "\n
"; if ($TEXT_DIRECTION=="ltr") { if ($ct>$max) { if ($currentPage > 1) { echo "", $IconLDarrow, "\n"; } if ($start>0) { $newstart = $start-$max; if ($start<0) $start = 0; echo "", $IconLarrow, "\n"; } } } else { if ($ct>$max) { if ($currentPage < $lastPage) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconRDarrow, "\n"; } if ($start+$max < $ct) { $newstart = $start+$count; if ($start<0) $start = 0; echo "", $IconRarrow, "\n"; } } } echo "", i18n::translate('Page %s of %s', $currentPage, $lastPage), ""; if ($TEXT_DIRECTION=="ltr") { if ($ct>$max) { if ($start+$max < $ct) { $newstart = $start+$count; if ($start<0) $start = 0; echo "", $IconRarrow, "\n"; } if ($currentPage < $lastPage) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconRDarrow, "\n"; } } } else { if ($ct>$max) { if ($start>0) { $newstart = $start-$max; if ($start<0) $start = 0; echo "", $IconLarrow, "\n"; } if ($currentPage > 1) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconLDarrow, "\n"; } } } echo "

"; } echo "\n
\n"; // -- load up the slideshow code if (!WT_USE_LIGHTBOX) { if (file_exists(WT_ROOT.'modules/slideshow/slideshow.php')) { require_once WT_ROOT.'modules/slideshow/slideshow.php'; } } } // ************************ END = 'Print the medialist array' ************************ print_footer(); ?>