Changeset 26747


Ignore:
Timestamp:
2013-01-17T20:28:10+13:00 (9 years ago)
Author:
davidb
Message:

Added in more code to the go button function.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gs3-extensions/html-to-expeditee/trunk/src/src/cgi-bin/generate-collection-space.pl.in

    r26744 r26747  
    6060   
    6161    <script type="text/javascript">
     62        var clLinks = [];
     63        var numClLinks;
     64   
    6265        \$(function(){
    6366            \$('#progress').progressbar();
     
    8184                }
    8285               
    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               
    14689            return false;
    14790        });
    14891       
    14992        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           
    154176        }
    155177    </script>
     
    157179    <div id="progressbar" width="100%" style="display: none; margin: 10px; height: 10px;"></div>
    158180   
    159     <!-- set display to "none" for this div-->
    160181    <div id="workingTraverse" style="display: none"></div>
    161182   
     
    181202    $gsdl_cgi->checked_chdir($gsdlhome);
    182203
    183     require cgiactions::HtmlToExpediteeAction;
     204    require cgiactions::CollectionSpaceAction;
    184205   
    185206    $gsdl_cgi->parse_cgi_args();
     
    188209    $gsdl_cgi->{'xml'} = 0;
    189210   
    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();
    204217    }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            }
    212236        }
     237   
     238        generate_html_form($isGSDL2,$site,$collect,$cl);
    213239    }
    214    
    215     generate_html_form($isGSDL2,$site,$collect,$cl);
    216240}
    217241
Note: See TracChangeset for help on using the changeset viewer.