# Copyright for the Uniform Repository Service (c) 1995 - 2022, # by Gerald Banon. All rights reserved. # Version 2.1 # mirrorrecent.tcl # created in 2021-04-22 by GJFB to allow progressive loading # example: # http://gjfb:1905/col/dpi.inpe.br/banon/1999/06.19.17.00/doc/mirrorrecent.cgi?languagebutton=pt-BR&returnbutton=yes # http://www.urlib.net/col/dpi.inpe.br/banon/2004/02.16.09.30.00/doc/mirrorrecent.cgi?languagebutton=pt-BR&returnbutton=yes # ---------------------------------------------------------------------- # MirrorRecent proc MirrorRecent {} { if [catch { if 0 { # testing progressive loading puts {Content-Type: text/html} puts {} puts 1 puts "" ;# to have the previous puts displayed set x 0; after 1000 {set x 1}; vwait x puts 2 return } global currentProcedureName ;# used in LoopOverEntries global currentProcedureFileName ;# used in CreateOutput and LoopOverEntries global env global cgi global currentRep global language # global administratorUserName ;# used in CreateReturnButton global homePath ;# used in CreateOutput and FindLanguage global URLibServiceRepository ;# used in MultipleSubmit (called in MultipleExecute2 called in CreateOutput) global queueLengthFlag ;# used in MultipleSubmit (called in MultipleExecute2 called in CreateOutput) global serverAddressWithIP ;# used in SynchronizeRepository called in sourceDisplayControl global mirrorHomePageRepository ;# used in LoopOverEntries to access submission.js puts {Content-Type: text/html} puts {} # array set environment [array get env] ;# used in MultipleSubmit set col ../../../../.. set URLibServiceRepository dpi.inpe.br/banon/1998/08.02.08.56 source ../$col/$URLibServiceRepository/doc/utilities1.tcl source ../$col/$URLibServiceRepository/doc/cgi/mirrorfind-.tcl source ../$col/$URLibServiceRepository/doc/utilitiesMirror.tcl ;# FindIdentifierNameFromIBI # set queueLengthFlag 1 ;# could be anything - added by GJFB in 2013-04-17 in order to detect not writable site (site that doesn't reply) # homePath (used in CreateReturnButton and FindLanguage) set homePath $env(DOCUMENT_ROOT) # pathInfo set pathInfo [file split $env(PATH_INFO)] # currentRep regsub -all { } [lrange $pathInfo 1 4] {/} currentRep # mirrorIdentifier (childIdentifier) set mirrorIdentifier [FindIdentifierNameFromIBI $currentRep] ;# added by GJFB in 2022-06-13 set display [GetFrameName] ;# added by GJFB in 2020-06-19 - used when setting window.name javascript property in cgi/submit mirror/xxSubmit.tcl and xxUpdateSubmission.html set currentProcedureName MirrorRecent set currentProcedureFileName $homePath/col/$URLibServiceRepository/doc/cgi/MirrorRecent.tcl # set serverAddress [list $env(SERVER_NAME) $env(URLIB_PORT)] # serverAddressWithIP set serverAddressWithIP [list $env(IP_ADDR) $env(URLIB_PORT)] # administratorUserName ## regsub {@.*$} $env(SERVER_ADMIN) {} administratorUserName # set administratorUserName administrator # Find the language and the language repository foreach {language languageRep1 languageRep2 firstLanguageRep \ submissionFormRep submissionFormLanguage submissionFormLanguageRep} \ [FindLanguage $currentRep] {break} # Find the language and the language repository - end # used with GET # doesn't hidden password1 and codedpassword1 if [info exists env(QUERY_STRING)] { if [regexp {^(.*)&(returnaddress)=(.+)$} $env(QUERY_STRING) m queryString name value] { set cgi($name) $value } else { set queryString $env(QUERY_STRING) } foreach {name value} [split $queryString &=] { set cgi([DecodeURL $name]) [DecodeURL $value] } } if 0 { puts {Content-Type: text/html} puts {} puts --$env(QUERY_STRING)-- puts
puts
puts --[array get cgi]-- } if {[info exists cgi(choice)] && [info exists cgi(outputformat)]} { ;# added by GJFB in 2021-04-25 to speed up search result display set choice $cgi(choice) set outputFormat $cgi(outputformat) ConditionalSet searchInputValue cgi(searchinputvalue) {} ConditionalSet forceRecentFlag cgi(forcerecentflag) 1 ConditionalSet forceHistoryBackFlag cgi(forcehistorybackflag) 1 ;# added by GJFB in 2023-06-09 # path of forceRecentFlag from xxButton.html to mirrorHomePage.html: # xxButton.html (set forceRecentFlag to 1) # MirrorRecent # CreateOutput # LoopOverEntries # ServeLocalCollection # GetEntry # CreateBriefEntry # Get # mirror/xxCover.tcl (click '<') # CreateMirror # mirrorHomePage.html (uses forceRecentFlag) } else { # mirrorHomePageRepository # used in sourceDisplayControl set mirrorHomePageRepository dpi.inpe.br/banon/2000/01.23.20.24 ;# added by GJFB in 2018-05-28 - required in sourceDisplayControl # Source displayControl.tcl - added by GJFB in 2018-05-28 set enableOutput 0 eval $sourceDisplayControl ;# required for setting choice and outputFormat only # Source displayControl.tc - end } # set cgi(choice) $choice ;# used in LoopOverEntries when displaying the similars button with the brief choice set maximumNumberOfEntries $env(MAX_NUMBER_OF_ENTRIES) set query [list list GetMostRecentMetadataRep $currentRep $maximumNumberOfEntries] set query2String {} ;# needed because it is an argument of CreateOutput set maximumNumberOfReferences 10 if ![info exists cgi(imageflag)] {set cgi(imageflag) 0} ;# added by GJFB in 2018-05-28 - don't display the thumbnail (if any) - required when setting choice == CreateBriefTitleAuthorEntry in displayControl.tcl # CreateOutput $language $languageRep1 $languageRep2 $query $query2String Recent \ ../ 0 $maximumNumberOfReferences brief set linkType 1 ;# added by GJFB in 2018-05-28 - required to get the rep link type CreateOutput \ $language $languageRep1 $languageRep2 $query $query2String Recent ../ \ 0 $maximumNumberOfReferences $choice 1 \ ^$ 0 {} $outputFormat \ {#EEEEEE #E3E3E3} {} no \ yes $linkType 0 \ $cgi(targetvalue) metadatalastupdate \ site no {} \ short {; } $searchInputValue $mirrorIdentifier \ $forceRecentFlag $forceHistoryBackFlag return } m] { if ![string equal {} $m] { puts {Content-Type: text/html} puts {} puts "
MirrorRecent (2): $m
" if 0 {global errorInfo; puts
$errorInfo
} } } } # MirrorRecent - end # ----------------------------------------------------------------------