Changeset 26747
- Timestamp:
- 2013-01-17T20:28:10+13:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
gs3-extensions/html-to-expeditee/trunk/src/src/cgi-bin/generate-collection-space.pl.in
r26744 r26747 60 60 61 61 <script type="text/javascript"> 62 var clLinks = []; 63 var numClLinks; 64 62 65 \$(function(){ 63 66 \$('#progress').progressbar(); … … 81 84 } 82 85 83 var gs2 = $isGSDL2; 84 85 var url; 86 87 if(gs2){ 88 url = "library.cgi"; 89 url += "?c=" + collect + "&a=d&cl=" + cl; 90 }else{ 91 url = "library"; 92 url += "?c=" + collect + "&a=b&rt=s&s=ClassifierBrowse&cl=" + cl; 93 url += "&excerptid=gs_content"; 94 } 95 96 docOIDs = []; 97 var outstandingURLs = []; 98 var visitedURLs = {}; 99 100 outstandingURLs.push(url); 101 visitedURLs[url] = 1; 102 103 while(outstandingURLs.length>0){ 104 var clHtml = urlGetSync(url); 105 106 var aElems; 107 var workingTrav = document.getElementById("workingTraverse"); 108 workingTrav.innerHTML = clHtml; 109 aElems = workingTrav.getElementsByTagName("a"); 110 111 //console.log(aElems.length); 112 113 var actionRE = new RegExp("(\\\\/)(?:document|browse)(\\\\/)"); 114 var clRE = new RegExp("(\\\\/)browse\\\\/" + cl + "(\\\\/\\\\d+)+(\$)"); 115 var docRE = new RegExp("(?:\\\\/)document\\\\/(.*?)(?:\$)"); 116 117 for(var i = 0; i < aElems.length; i++){ 118 var aElem = aElems[i]; 119 120 var href = aElem.href; 121 122 if(href && href.match(actionRE)){ 123 if(href.match(clRE)){ 124 if(!visitedURLs[href]){ 125 outstandingURLs.push(href); 126 visitedURLs[href] = 1; 127 128 } 129 }else if(href.match(docRE)){ 130 if(!visitedURLs[href]){ 131 var docMatch = docRE.exec(href); 132 var docOID = docMatch[1]; 133 134 console.log("found a new doc line: " + docOID); 135 visitedURLs[href] = 1; 136 docOIDs.push(docOID); 137 } 138 } 139 } 140 } 141 } 142 143 numDocOIDs = docOIDs.length; 144 }); 145 86 87 88 146 89 return false; 147 90 }); 148 91 149 92 function pageLoaded(){ 150 151 \$(function(){ 152 \$('#progressbar').progressbar({ value: 0 }); 153 }); 93 94 var iframe = document.getElementById("iframe"); 95 96 if(iframe.src){ 97 if(iframe.style.display != "block"){ 98 iframe.height = "90%"; 99 iframe.style.display = "block"; 100 } 101 102 var iframeDoc; 103 104 if(iframe.contentDocument){ 105 /* FF */ 106 iframeDoc = iframe.contentDocument; 107 }else if(iframe.contentWindow){ 108 /* IE */ 109 iframeDoc = iframe.contentWindow.document; 110 } 111 112 var frameNum = (numClPages - clPages.length); 113 var progressPercent = frameNum/numClPages * 100; 114 115 \$(function(){ 116 \$('#progressbar').progressbar({ value: 0 }); 117 }); 118 119 var gsContent = iframeDoc.getElementById("gs_content"); 120 121 //Need to change htmlToExpeditee code to account for links 122 var expFrameTre = htmlToExpeditee(gsContent); 123 124 var collect = document.getElementById("collect").value; 125 var site = document.getElementById("site").value; 126 127 var url = "cgi-bin/generate-collection-space.pl"; 128 var params = "c=" + collect; 129 130 if(site.match(/\\w/)){ 131 params += "&site=" + site; 132 } 133 134 params += "&a=generate-frame&fn=" + frameNum; 135 params += "&json=" + escape(expFrame); 136 137 var clHtml = urlPostSync(url,params); 138 139 if(!clHtml.match(/html-to-expeditee saved frame/)){ 140 alert("Error processing url: " + url);s 141 } 142 143 if(clPages.length > 0){ 144 var clPage = clPages.shift(); 145 146 var cl = document.getElementById("cl").value; 147 148 var gs2 = $isGSDL2; 149 150 var url; 151 152 var url; 153 154 if(gs2){ 155 url = "library.cgi"; 156 url += "?c=" + collect + "&a=d&d=" + docOID; 157 }else{ 158 url = "library"; 159 url += "?c=" + collect + "&a=d&d=" + docOID; 160 } 161 162 iframe.src = url; 163 }else{ 164 165 var progressbar = document.getElementById("progressbar"); 166 progressbar.style.display = "none"; 167 168 iframe.style.display = "none"; 169 delete iframe.src; 170 } 171 172 173 } 174 175 154 176 } 155 177 </script> … … 157 179 <div id="progressbar" width="100%" style="display: none; margin: 10px; height: 10px;"></div> 158 180 159 <!-- set display to "none" for this div-->160 181 <div id="workingTraverse" style="display: none"></div> 161 182 … … 181 202 $gsdl_cgi->checked_chdir($gsdlhome); 182 203 183 require cgiactions:: HtmlToExpediteeAction;204 require cgiactions::CollectionSpaceAction; 184 205 185 206 $gsdl_cgi->parse_cgi_args(); … … 188 209 $gsdl_cgi->{'xml'} = 0; 189 210 190 191 #my $action = new HtmlToExpediteeAction($gsdl_cgi,$iis6_mode); 192 193 #$action->do_action(); 194 195 my $collect = $gsdl_cgi->clean_param("collect"); 196 my $cl = $gsdl_cgi->clean_param("cl"); 197 198 #Establish collect_dir using defining 'site' along the way if GS3 199 my $site = undef; 200 my $isGSDL2 = undef; 201 202 if($gsdl_cgi->greenstone_version() == 2){ 203 $isGSDL2 = 1; 211 my $fn = $gsdl_cgi->clean_param("fn"); 212 213 if(defined $fn){ 214 #Generate a frame. 215 my $action = new CollectionSpaceAction($gsdl_cgi,$iis6_mode); 216 $action->do_action(); 204 217 }else{ 205 $isGSDL2 = 0; 206 207 #GS3 makes use of 'site' 208 $site = $gsdl_cgi->clean_param("site"); 209 210 if(!defined $site){ 211 $gsdl_cgi->generate_error("No site specified."); 218 my $collect = $gsdl_cgi->clean_param("collect"); 219 my $cl = $gsdl_cgi->clean_param("cl"); 220 221 #Establish collect_dir using defining 'site' along the way if GS3 222 my $site = undef; 223 my $isGSDL2 = undef; 224 225 if($gsdl_cgi->greenstone_version() == 2){ 226 $isGSDL2 = 1; 227 }else{ 228 $isGSDL2 = 0; 229 230 #GS3 makes use of 'site' 231 $site = $gsdl_cgi->clean_param("site"); 232 233 if(!defined $site){ 234 $gsdl_cgi->generate_error("No site specified."); 235 } 212 236 } 237 238 generate_html_form($isGSDL2,$site,$collect,$cl); 213 239 } 214 215 generate_html_form($isGSDL2,$site,$collect,$cl);216 240 } 217 241
Note:
See TracChangeset
for help on using the changeset viewer.