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 "

", i18n::translate('Multimedia objects'), "

"; // 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 &= canDisplayRecord($media["GEDFILE"], $media["GEDCOM"]); // Display when this Media object isn't restricted $disp &= canDisplayFact($media["XREF"], $media["GEDFILE"], $media["GEDCOM"]); 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 "
", i18n::translate('Media Objects found'), " ", $ct, "

"; if ($ct>0) { $currentPage = ((int) ($start / $max)) + 1; $lastPage = (int) (($ct + $max - 1) / $max); $IconRarrow = "\"\""; $IconLarrow = "\"\""; $IconRDarrow = "\"\""; $IconLDarrow = "\"\""; echo ""; // echo page back, page number, page forward controls echo ""; // -- echo the array echo ""; 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"]); $showFile = WT_USER_CAN_EDIT; if ($name=="") { //$showFile = false; if ($isExternal) $name = "URL"; else $name = basename($media["FILE"]); } if ($columns == "1") echo ""; if ($columns == "1") echo ""; if (($columns == "2") && ($i%2 == 1 && $i < ($count-1))) echo ""; } echo ""; // echo page back, page number, page forward controls echo ""; echo "
"; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
"; if ($TEXT_DIRECTION=="ltr") { if ($ct>$max) { if ($currentPage > 1) { echo "", $IconLDarrow, ""; } if ($start>0) { $newstart = $start-$max; if ($start<0) $start = 0; echo "", $IconLarrow, ""; } } } else { if ($ct>$max) { if ($currentPage < $lastPage) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconRDarrow, ""; } if ($start+$max < $ct) { $newstart = $start+$count; if ($start<0) $start = 0; echo "", $IconRarrow, ""; } } } 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, ""; } if ($currentPage < $lastPage) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconRDarrow, ""; } } } else { if ($ct>$max) { if ($start>0) { $newstart = $start-$max; if ($start<0) $start = 0; echo "", $IconLarrow, ""; } if ($currentPage > 1) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconLDarrow, ""; } } } echo "
"; if ($columns == "2") echo ""; echo "", '
"; //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)))); // 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)), ''; 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 "
"; 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 "
"; 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 ""; echo "".PrintReady($name_disp1).""; 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 "
", 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 "
", i18n::translate('Media Format'), ":
", $imageType, ""; } $fileSize = media_filesize($media["FILE"]); $sizeString = getfilesize($fileSize); echo "   ", $sizeString, ""; if ($imgsize[2]!==false) { echo "
", 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 "
"; echo "
"; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
"; if ($TEXT_DIRECTION=="ltr") { if ($ct>$max) { if ($currentPage > 1) { echo "", $IconLDarrow, ""; } if ($start>0) { $newstart = $start-$max; if ($start<0) $start = 0; echo "", $IconLarrow, ""; } } } else { if ($ct>$max) { if ($currentPage < $lastPage) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconRDarrow, ""; } if ($start+$max < $ct) { $newstart = $start+$count; if ($start<0) $start = 0; echo "", $IconRarrow, ""; } } } 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, ""; } if ($currentPage < $lastPage) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconRDarrow, ""; } } } else { if ($ct>$max) { if ($start>0) { $newstart = $start-$max; if ($start<0) $start = 0; echo "", $IconLarrow, ""; } if ($currentPage > 1) { $lastStart = ((int) ($ct / $max)) * $max; echo "", $IconLDarrow, ""; } } } echo "

"; } echo "
"; } // ************************ END = 'Print the medialist array' ************************ print_footer();