Show
Ignore:
Timestamp:
19.10.2011 13:13:24 (8 years ago)
Author:
papitha
Message:

Changes done to Zoom and Tag Photo

Location:
main/trunk/model-cols-dev/peijones
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/model-cols-dev/peijones/etc/collectionConfig.bak

    r24730 r24769  
    5656            <plugin name="NulPlugin"/> 
    5757            <plugin name="OAIPlugin"/> 
     58            <plugin name="HTMLImagePlugin"/> 
    5859            <plugin name="MetadataXMLPlugin"/> 
    5960            <plugin name="ArchivesInfPlugin"/> 
     
    7576    </browse> 
    7677    <display> 
    77         <format><gsf:option name="TOC" value="false"/>   <xsl:template name="additionalHeaderContent">    <script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>    <script src="sites/localsite/collect/peijones/js/documentmaker/zoomer.jquery.js" type="text/javascript"><xsl:text> </xsl:text></script>    <link href="sites/localsite/collect/peijones/style/style.css" rel="stylesheet" type="text/css"/>    <script type="text/javascript">     <xsl:text disable-output-escaping="yes">      function readyImagesForZoom()      {       document.getElementById("noZoom").style.display = "none";       document.getElementById("wrap").style.display = "";       var smallImageDiv = document.getElementById("small");       var smallImage = smallImageDiv.getElementsByTagName("img")[0];       smallImageDiv.style.width = smallImage.clientWidth + "px";       smallImageDiv.style.height = smallImage.clientHeight + "px";       var multiplier = largeImageHeight / smallImage.clientHeight;       $("#wrap").anythingZoomer({        expansionSize:50,        speedMultiplier:multiplier       });      }            function addZoom()      {       var wrapper = document.getElementById("wrap");       var noZoom = document.getElementById("noZoom");              noZoom.style.display = "none";       wrapper.style.display = "block";              var option = document.getElementById("zoomOption");       option.setAttribute("onclick", "removeZoom();");      }            function removeZoom()      {       var wrapper = document.getElementById("wrap");       var noZoom = document.getElementById("noZoom");              wrapper.style.display = "none";       noZoom.style.display = "block";              var option = document.getElementById("zoomOption");       option.setAttribute("onclick", "addZoom();");      }     </xsl:text>    </script>   </xsl:template>   <xsl:template match="documentNode" mode="document">   <gsf:variable-struct name="photoNotes"><gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/></gsf:variable-struct>   <h3>   <gsf:choose-metadata>     <gsf:metadata name="dc.Title"/>     <gsf:metadata name="ex.Title"/>   </gsf:choose-metadata>     </h3>   <xsl:variable name="imageWidth"><gsf:metadata name="ImageWidth"/>   </xsl:variable><xsl:variable name="imageHeight"><gsf:metadata name="ImageHeight"/>   </xsl:variable><xsl:variable name="screenImageWidth">   <gsf:metadata name="ScreenWidth"/>   </xsl:variable><xsl:variable name="screenImageHeight"><gsf:metadata name="ScreenHeight"/></xsl:variable><script type="text/javascript"><xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text><xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text></script><div id="noZoom" style="display:block;"><gsf:metadata name="screenicon"/></div><div id="wrap" style="display:none"><div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div><div id="mover"><div id="overlay"><xsl:text/></div><div id="large"><img style="width: {$imageWidth}; height: {$imageHeight};"><xsl:attribute name="src"><xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath"/>/<gsf:metadata name="srclinkFile"/></xsl:attribute></img></div></div></div></xsl:template>    </format> 
     78        <format> 
     79            <gsf:option name="TOC" value="false"/>    
     80            <xsl:template name="additionalHeaderContent"> 
     81                <!-- jQuery must be included before Annotator --> 
     82                <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/jquery.js"><xsl:text> </xsl:text></script> 
     83 
     84                <!-- If you're sure your users will only be using browsers modern 
     85                     enough to have their own JSON.parse and JSON.stringify 
     86                     implementations you can skip this --> 
     87                <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/json2.js"><xsl:text> </xsl:text></script> 
     88 
     89                <!-- The main Annotator script --> 
     90                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.js"><xsl:text> </xsl:text></script> 
     91 
     92                <!-- Annotator's styling and images --> 
     93                <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.css"/> 
     94 
     95                <!-- The following plugins are entirely optional --> 
     96 
     97                <!-- The Store plugin. Saves annotations to a remote backend --> 
     98                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.store.min.js"><xsl:text> </xsl:text></script> 
     99 
     100                <!-- The Auth plugin. Allows users of Annotator to authenticate themselves 
     101                     to the remote backend --> 
     102                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.auth.min.js"><xsl:text> </xsl:text></script> 
     103 
     104                <!-- The Permissions plugin. See who created which annotation and create 
     105                     annotations as a specified user --> 
     106                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.permissions.min.js"><xsl:text> </xsl:text></script> 
     107 
     108                <!-- The Tags plugin. Edit and display tag keywords on annotations --> 
     109                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.tags.min.js"><xsl:text> </xsl:text></script> 
     110 
     111                <!-- The Markdown plugin. Treat annotation text as Markdown --> 
     112                <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/showdown.js"><xsl:text> </xsl:text></script> 
     113                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.markdown.min.js"><xsl:text> </xsl:text></script> 
     114                 
     115                <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>--> 
     116                <script src="sites/localsite/collect/peijones/js/documentmaker/zoomer.jquery.js" type="text/javascript"><xsl:text> </xsl:text></script>    <link href="sites/localsite/collect/peijones/style/style.css" rel="stylesheet" type="text/css"/> 
     117                <script type="text/javascript"> 
     118                    <xsl:text disable-output-escaping="yes">       
     119                        function readyImagesForZoom()       
     120                        {        
     121                            var noZoom = document.getElementById("noZoom"); 
     122                            var wrap = document.getElementById("wrap"); 
     123                             
     124                            if(!noZoom || !wrap) 
     125                            { 
     126                                return; 
     127                            } 
     128                             
     129                            noZoom.style.display = "none"; 
     130                            wrap.style.display = ""; 
     131                            var smallImageDiv = document.getElementById("small"); 
     132                            var smallImage = smallImageDiv.getElementsByTagName("img")[0]; 
     133                            smallImageDiv.style.width = smallImage.clientWidth + "px";  
     134                            smallImageDiv.style.height = smallImage.clientHeight + "px"; 
     135                            var multiplier = largeImageHeight / smallImage.clientHeight; 
     136                            $("#wrap").anythingZoomer({         
     137                                expansionSize:50,   
     138                                speedMultiplier:multiplier    
     139                            });       
     140                        }             
     141                        function addZoom()   
     142                        {     
     143                            var wrapper = document.getElementById("wrap");   
     144                            var noZoom = document.getElementById("noZoom");  
     145                             
     146                            if(!noZoom || !wrapper) 
     147                            { 
     148                                return; 
     149                            } 
     150                             
     151                            noZoom.style.display = "none";   
     152                            wrapper.style.display = "block";  
     153                            var option = document.getElementById("zoomOption"); 
     154                            option.setAttribute("onclick", "removeZoom();");   
     155                        }            
     156                        function removeZoom() 
     157                        { 
     158                            var wrapper = document.getElementById("wrap"); 
     159                            var noZoom = document.getElementById("noZoom"); 
     160                             
     161                            if(!noZoom || !wrapper) 
     162                            { 
     163                                return; 
     164                            } 
     165                             
     166                            wrapper.style.display = "none"; 
     167                            noZoom.style.display = "block"; 
     168                            var option = document.getElementById("zoomOption"); 
     169                            option.setAttribute("onclick", "addZoom();"); 
     170                        }      
     171                    </xsl:text>     
     172                </script> 
     173                <script text="text/javascript"> 
     174                    <xsl:text disable-output-escaping="yes"> 
     175                        function initAnnotator() 
     176                        { 
     177                            jQuery(function ($) { 
     178                            //alert(typeof $.fn.annotator); 
     179                            if (typeof $.fn.annotator !== 'function') { 
     180                                alert("Ooops! it looks like you haven't built the Annotator concatenation file. " + 
     181                                "Either download a tagged release from GitHub, or modify the Cakefile to point " + 
     182                                "at your copy of the YUI compressor and run `cake package`."); 
     183                            } else { 
     184                            // This is the important bit: how to create the annotator and add 
     185                            // plugins 
     186                            $('#gs-document-text').annotator() 
     187                                .annotator('addPlugin', 'Permissions') 
     188                                .annotator('addPlugin', 'Markdown') 
     189                                //.annotator('addPlugin', 'Auth') 
     190                                .annotator('addPlugin', 'Tags'); 
     191 
     192                            $('#gs-document-text').data('annotator').plugins['Permissions'].setUser(""); 
     193                            } 
     194                            }); 
     195                        } 
     196                    </xsl:text> 
     197                </script> 
     198            </xsl:template> 
     199            <xsl:template match="documentNode" mode="document"> 
     200                <!-- Get the photo notes for this document node --> 
     201                <gsf:variable-struct name="photoNotes"> 
     202                    <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/> 
     203                </gsf:variable-struct> 
     204                 
     205                <!-- Get details about the image for zooming --> 
     206                <h3>    
     207                    <gsf:choose-metadata> 
     208                        <gsf:metadata name="dc.Title"/> 
     209                        <gsf:metadata name="ex.Title"/> 
     210                    </gsf:choose-metadata> 
     211                </h3> 
     212                <xsl:variable name="imageWidth"> 
     213                    <gsf:choose-metadata> 
     214                        <gsf:metadata name="ImageWidth"/>  
     215                        <gsf:default>-1</gsf:default>                        
     216                    </gsf:choose-metadata> 
     217                </xsl:variable> 
     218                <xsl:variable name="imageHeight"> 
     219                    <gsf:choose-metadata> 
     220                        <gsf:metadata name="ImageHeight"/>  
     221                        <gsf:default>-1</gsf:default>                        
     222                    </gsf:choose-metadata> 
     223                </xsl:variable> 
     224                <xsl:variable name="screenImageWidth"> 
     225                    <gsf:choose-metadata> 
     226                        <gsf:metadata name="ScreenWidth"/>  
     227                        <gsf:default>-1</gsf:default>                        
     228                    </gsf:choose-metadata> 
     229                </xsl:variable> 
     230                <xsl:variable name="screenImageHeight"> 
     231                    <gsf:choose-metadata> 
     232                        <gsf:metadata name="ScreenHeight"/>  
     233                        <gsf:default>-1</gsf:default>                        
     234                    </gsf:choose-metadata> 
     235                </xsl:variable> 
     236                <script type="text/javascript"> 
     237                    <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text> 
     238                    <xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text> 
     239                </script> 
     240                <div id="noZoom" style="display:block;"> 
     241                    <gsf:metadata name="screenicon"/> 
     242                </div> 
     243                <xsl:if test="$imageHeight != -1"> 
     244                    <div id="wrap" style="display:none"> 
     245                        <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> 
     246                        <div id="mover"> 
     247                            <div id="overlay"><xsl:text/></div> 
     248                            <div id="large"> 
     249                                <img style="width: {$imageWidth}; height: {$imageHeight};"> 
     250                                    <xsl:attribute name="src"> 
     251                                        <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath"/>/<gsf:metadata name="srclinkFile"/> 
     252                                    </xsl:attribute> 
     253                                </img> 
     254                            </div> 
     255                        </div> 
     256                    </div> 
     257                </xsl:if>    
     258            </xsl:template>    
     259        </format> 
    78260    </display> 
    79261    <replaceListRef id="gs2-standard"/> 
  • main/trunk/model-cols-dev/peijones/etc/collectionConfig.xml

    r24730 r24769  
    113113                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.markdown.min.js"><xsl:text> </xsl:text></script> 
    114114                 
     115                <!-- Photo note scripts --> 
     116                <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js"><xsl:text> </xsl:text></script> 
     117                <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js"><xsl:text> </xsl:text></script> 
     118                <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css"/> 
    115119                 
    116                  
     120                <!-- Zoom scripts --> 
    117121                <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>--> 
    118122                <script src="sites/localsite/collect/peijones/js/documentmaker/zoomer.jquery.js" type="text/javascript"><xsl:text> </xsl:text></script>    <link href="sites/localsite/collect/peijones/style/style.css" rel="stylesheet" type="text/css"/> 
    119                 <!--<script type="text/javascript"> 
    120                     <xsl:text disable-output-escaping="yes">       
     123                <script type="text/javascript"> 
     124                    <xsl:text disable-output-escaping="yes"> 
     125                        _zoomEnabled = true; 
    121126                        function readyImagesForZoom()       
    122                         {        
    123                             document.getElementById("noZoom").style.display = "none"; 
    124                             document.getElementById("wrap").style.display = ""; 
     127                        {  
     128                            var noZoom = document.getElementById("noZoom"); 
     129                            var wrap = document.getElementById("wrap"); 
     130                            if(!noZoom || !wrap) 
     131                            { 
     132                                return; 
     133                            } 
    125134                            var smallImageDiv = document.getElementById("small"); 
    126135                            var smallImage = smallImageDiv.getElementsByTagName("img")[0]; 
    127                             smallImageDiv.style.width = smallImage.clientWidth + "px";  
    128                             smallImageDiv.style.height = smallImage.clientHeight + "px"; 
    129                             var multiplier = largeImageHeight / smallImage.clientHeight; 
     136                            smallImageDiv.style.width = smallImageWidth + "px";  
     137                            smallImageDiv.style.height = smallImageHeight + "px"; 
     138                            var multiplier = largeImageHeight / smallImageHeight; 
    130139                            $("#wrap").anythingZoomer({         
    131140                                expansionSize:50,   
    132141                                speedMultiplier:multiplier    
    133                             });       
     142                            });      
     143 
     144                            noZoom.onclick = function(){addZoom();} 
     145                            document.getElementById("overlay").onclick = function(){removeZoom();}                           
     146                             
     147                            removeZoom(); 
    134148                        }             
    135149                        function addZoom()   
    136                         {     
     150                        { 
     151                            if(!_zoomEnabled) 
     152                            { 
     153                                return; 
     154                            } 
     155                             
    137156                            var wrapper = document.getElementById("wrap");   
    138157                            var noZoom = document.getElementById("noZoom");  
     158                             
     159                            if(!noZoom || !wrapper) 
     160                            { 
     161                                return; 
     162                            } 
     163                             
    139164                            noZoom.style.display = "none";   
    140165                            wrapper.style.display = "block";  
    141166                            var option = document.getElementById("zoomOption"); 
    142                             option.setAttribute("onclick", "removeZoom();");   
     167                            if(option) 
     168                            { 
     169                                option.setAttribute("onclick", "removeZoom();");   
     170                            } 
    143171                        }            
    144172                        function removeZoom() 
    145173                        { 
     174                            if(!_zoomEnabled) 
     175                            { 
     176                                return; 
     177                            } 
     178                         
    146179                            var wrapper = document.getElementById("wrap"); 
    147180                            var noZoom = document.getElementById("noZoom"); 
     181                             
     182                            if(!noZoom || !wrapper) 
     183                            { 
     184                                return; 
     185                            } 
     186                             
    148187                            wrapper.style.display = "none"; 
    149188                            noZoom.style.display = "block"; 
    150189                            var option = document.getElementById("zoomOption"); 
    151                             option.setAttribute("onclick", "addZoom();"); 
    152                         }      
     190                            if(option) 
     191                            { 
     192                                option.setAttribute("onclick", "addZoom();"); 
     193                            } 
     194                        }     
    153195                    </xsl:text>     
    154                 </script>   --> 
     196                </script> 
    155197                <script text="text/javascript"> 
    156198                    <xsl:text disable-output-escaping="yes"> 
    157                         function init() 
     199                         
     200                        var _posCount = 0; 
     201                        var _notes; 
     202                        function initNotes() 
     203                        { 
     204                            /* create the Photo Note Container */ 
     205                            _notes = new PhotoNoteContainer(document.getElementById("noZoom")); 
     206                            getNotes(); 
     207                        } 
     208                         
     209                        function deleteFunction(note) 
     210                        { 
     211                            var callback = 
     212                            { 
     213                                success: function(response) 
     214                                { 
     215                                    var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c"; 
     216                                 
     217                                    var updateCallback =  
     218                                    { 
     219                                        success: function(response){}, 
     220                                        failed: function(){alert("Failed in deleteFunction() to update Greenstone server with: " + updateURL);} 
     221                                    }; 
     222                                     
     223             
     224                                    YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback); 
     225                                }, 
     226                                failed: function(){ alert("Failed in deleteFunction() with note id: " + note.id)}, 
     227                            }; 
     228                             
     229                            var status = true; 
     230                             
     231                            if (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) { 
     232                                var metaposStr =  note.id - 1; 
     233                             
     234                                var url = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=remove-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metapos=" + metaposStr; 
     235                                YAHOO.util.Connect.asyncRequest("GET", url, callback); 
     236                            } 
     237                            else { 
     238                                alert("Failed to find valid note data to delete"); 
     239                                status = false; 
     240                            } 
     241                             
     242                            return status; 
     243                        } 
     244                         
     245                        function saveFunction(note) 
     246                        { 
     247                            var callback =  
     248                            { 
     249                                success: function(response) 
     250                                { 
     251                                    var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c"; 
     252                                 
     253                                    var updateCallback =  
     254                                    { 
     255                                        success: function(response){}, 
     256                                        failed: function(reponse){ alert("Failed in saveFunction() to update Greenstone server with: " + updateURL);} 
     257                                    }; 
     258                                     
     259                                     
     260                                    YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback); 
     261                                }, 
     262                                failed: function(reponse){ alert("Failed in saveFunction() with note id: " + note.id)}, 
     263                            }; 
     264                             
     265                            var jsonVal = '{"caption":"' + note.text + '", "area":{"x":' + note.rect.left + ', "y":' + note.rect.top + ', "width":' + note.rect.width + ', "height":' + note.rect.height + '}}'; 
     266                            var metaposStr = (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) ? note.id - 1 : _posCount; 
     267                             
     268                            var saveURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;metapos=" + metaposStr; 
     269                            YAHOO.util.Connect.asyncRequest("GET", saveURL, callback); 
     270                             
     271                            return 1; 
     272                        }                
     273                         
     274                        function getNotes() 
     275                        { 
     276                            if(gs.variables.photoNotes == null || gs.variables.photoNotes == undefined) 
     277                            { 
     278                                console.log("No photo notes"); 
     279                                return; 
     280                            } 
     281                             
     282                            for(var i = 0; i &lt; gs.variables.photoNotes.length; i++) 
     283                            { 
     284                                var note = gs.variables.photoNotes[i]; 
     285                                if(!note) 
     286                                { 
     287                                    continue; 
     288                                } 
     289                                var newNote = new PhotoNote(note.caption, i+1, new PhotoNoteRect(note.area.x,note.area.y,note.area.width,note.area.height)); 
     290                                newNote.onsave = saveFunction; 
     291                                newNote.ondelete = deleteFunction; 
     292                                _notes.AddNote(newNote); 
     293                                _posCount++; 
     294                            } 
     295                             
     296                            addNoteOverAndOutHandlers(); 
     297                        } 
     298                         
     299                        function AddNote() 
     300                        { 
     301                            var newNote = new PhotoNote('Add note text here...',_posCount+1,new PhotoNoteRect(10,10,50,50)); 
     302                            newNote.onsave = saveFunction; 
     303                            newNote.ondelete = deleteFunction; 
     304                            _notes.AddNote(newNote); 
     305                            _posCount++; 
     306                             
     307                            addNoteOverAndOutHandlers(); 
     308                            newNote.Select(); 
     309                        } 
     310                         
     311                        function addNoteOverAndOutHandlers() 
     312                        { 
     313                            var divs = document.getElementsByTagName("DIV"); 
     314                            for(var i = 0; i &lt; divs.length; i++) 
     315                            { 
     316                                if(divs[i].getAttribute("class") &amp;&amp; divs[i].getAttribute("class").search("fn-area") != -1) 
     317                                { 
     318                                    divs[i].onmouseover = function(){_zoomEnabled = false;} 
     319                                    divs[i].onmouseout = function(){_zoomEnabled = true;} 
     320                                } 
     321                            } 
     322                        } 
     323                         
     324                        window.onload = function(){initNotes(); readyImagesForZoom(); initAnnotator();}; 
     325                    </xsl:text> 
     326                </script> 
     327                <script text="text/javascript"> 
     328                    <xsl:text disable-output-escaping="yes"> 
     329                        function initAnnotator() 
    158330                        { 
    159331                            jQuery(function ($) { 
    160                             alert(typeof $.fn.annotator); 
     332                            //alert(typeof $.fn.annotator); 
    161333                            if (typeof $.fn.annotator !== 'function') { 
    162334                                alert("Ooops! it looks like you haven't built the Annotator concatenation file. " + 
     
    169341                                .annotator('addPlugin', 'Permissions') 
    170342                                .annotator('addPlugin', 'Markdown') 
    171                                 .annotator('addPlugin', 'Auth') 
     343                                //.annotator('addPlugin', 'Auth') 
    172344                                .annotator('addPlugin', 'Tags'); 
    173345 
    174                             $('#gs-document-text').data('annotator').plugins['Permissions'].setUser("Bloggs"); 
     346                            $('#gs-document-text').data('annotator').plugins['Permissions'].setUser(""); 
    175347                            } 
    176348                            }); 
    177349                        } 
    178                         window.onload = init; 
    179350                    </xsl:text> 
    180351                </script> 
    181352            </xsl:template> 
    182             <!-- 
    183353            <xsl:template match="documentNode" mode="document"> 
     354                <!-- Get the photo notes for this document node --> 
    184355                <gsf:variable-struct name="photoNotes"> 
    185356                    <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/> 
    186357                </gsf:variable-struct> 
     358                 
     359                <!-- Get details about the image for zooming --> 
    187360                <h3>    
    188361                    <gsf:choose-metadata> 
     
    192365                </h3> 
    193366                <xsl:variable name="imageWidth"> 
    194                     <gsf:metadata name="ImageWidth"/>    
     367                    <gsf:choose-metadata> 
     368                        <gsf:metadata name="ImageWidth"/>  
     369                        <gsf:default>-1</gsf:default>                        
     370                    </gsf:choose-metadata> 
    195371                </xsl:variable> 
    196372                <xsl:variable name="imageHeight"> 
    197                     <gsf:metadata name="ImageHeight"/> 
     373                    <gsf:choose-metadata> 
     374                        <gsf:metadata name="ImageHeight"/>  
     375                        <gsf:default>-1</gsf:default>                        
     376                    </gsf:choose-metadata> 
    198377                </xsl:variable> 
    199378                <xsl:variable name="screenImageWidth"> 
    200                     <gsf:metadata name="ScreenWidth"/> 
     379                    <gsf:choose-metadata> 
     380                        <gsf:metadata name="ScreenWidth"/>  
     381                        <gsf:default>-1</gsf:default>                        
     382                    </gsf:choose-metadata> 
    201383                </xsl:variable> 
    202384                <xsl:variable name="screenImageHeight"> 
    203                     <gsf:metadata name="ScreenHeight"/> 
     385                    <gsf:choose-metadata> 
     386                        <gsf:metadata name="ScreenHeight"/>  
     387                        <gsf:default>-1</gsf:default>                        
     388                    </gsf:choose-metadata> 
    204389                </xsl:variable> 
    205390                <script type="text/javascript"> 
    206391                    <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text> 
    207392                    <xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text> 
     393                    <xsl:text>smallImageHeight =</xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text>;</xsl:text> 
     394                    <xsl:text>smallImageWidth =</xsl:text><xsl:value-of select="$screenImageWidth"/><xsl:text>;</xsl:text> 
    208395                </script> 
    209396                <div id="noZoom" style="display:block;"> 
    210397                    <gsf:metadata name="screenicon"/> 
    211398                </div> 
    212                 <div id="wrap" style="display:none"> 
    213                     <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> 
    214                     <div id="mover"> 
    215                         <div id="overlay"><xsl:text/></div> 
    216                         <div id="large"> 
    217                             <img style="width: {$imageWidth}; height: {$imageHeight};"> 
    218                                 <xsl:attribute name="src"> 
    219                                     <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath"/>/<gsf:metadata name="srclinkFile"/> 
    220                                 </xsl:attribute> 
    221                             </img> 
     399                <xsl:if test="$imageHeight != -1"> 
     400                    <div id="wrap" style="display:none"> 
     401                        <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};"><gsf:metadata name="screenicon"/></div> 
     402                        <div id="mover"> 
     403                            <div id="overlay"><xsl:text> </xsl:text></div> 
     404                            <div id="large"> 
     405                                <img style="width: {$imageWidth}; height: {$imageHeight};"> 
     406                                    <xsl:attribute name="src"> 
     407                                        <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata name="assocfilepath"/>/<gsf:metadata name="srclinkFile"/> 
     408                                    </xsl:attribute> 
     409                                </img> 
     410                            </div> 
    222411                        </div> 
    223412                    </div> 
    224                 </div> 
    225                  
    226             </xsl:template>-->     
     413                    <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" /> 
     414                </xsl:if>    
     415            </xsl:template>    
    227416        </format> 
    228417    </display> 
  • main/trunk/model-cols-dev/peijones/transform/pages/about.xsl

    r24764 r24769  
    309309     
    310310    </td></tr> 
    311     <tr><td><button id="switchImageDisplay" style="display:none; float:right;">Flip Photos</button></td></tr> 
     311    <tr><td><button id="switchImageDisplay" style="display:none; float:right;">Flip Book</button></td></tr> 
    312312    </tbody></table> 
    313313 
  • main/trunk/model-cols-dev/peijones/transform/pages/document.xsl

    r24764 r24769  
    3131         
    3232            <script type="text/javascript" src="interfaces/{$interface_name}/js/document_scripts.js"><xsl:text> </xsl:text></script> 
    33              
    34         <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js"><xsl:text> </xsl:text></script> 
    35         <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js"><xsl:text> </xsl:text></script> 
    36         <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css"/> 
    37          
    38         <!-- 
    39         <div class="Photo fn-container" id="PhotoContainer"> 
    40             <img src="sites/localsite/collect/peijones/images/photo/0_PAColl-0671-01korokijones.jpg" /> 
    41         </div> 
    42  
    43         <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" /> 
    44         --> 
    45          
    46         <script type="text/javascript"> 
    47             <xsl:text disable-output-escaping="yes"> 
    48                 /* create the Photo Note Container */ 
    49                 var notes = new PhotoNoteContainer(document.getElementById('PhotoContainer')); 
    50                 var posCount = 0; 
    51                  
    52                 function deleteFunction(note) 
    53                 { 
    54                     var callback = 
    55                     { 
    56                         success: function(response) 
    57                         { 
    58                             var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c"; 
    59                          
    60                             var updateCallback =  
    61                             { 
    62                                 success: function(response){}, 
    63                                 failed: function(){alert("Failed in deleteFunction() to update Greenstone server with: " + updateURL);} 
    64                             }; 
    65                              
    66      
    67                             YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback); 
    68                         }, 
    69                         failed: function(){ alert("Failed in deleteFunction() with note id: " + note.id)}, 
    70                     }; 
    71                      
    72                     var status = true; 
    73                      
    74                     if (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) { 
    75                         var metaposStr =  note.id - 1; 
    76                      
    77                         var url = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=remove-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metapos=" + metaposStr; 
    78                         YAHOO.util.Connect.asyncRequest("GET", url, callback); 
    79                     } 
    80                     else { 
    81                         alert("Failed to find valid note data to delete"); 
    82                         status = false; 
    83                     } 
    84                      
    85                     return status; 
    86                 } 
    87                  
    88                 function saveFunction(note) 
    89                 { 
    90                     var callback =  
    91                     { 
    92                         success: function(response) 
    93                         { 
    94                             var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c"; 
    95                          
    96                             var updateCallback =  
    97                             { 
    98                                 success: function(response){}, 
    99                                 failed: function(reponse){ alert("Failed in saveFunction() to update Greenstone server with: " + updateURL);} 
    100                             }; 
    101                              
    102                              
    103                             YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback); 
    104                         }, 
    105                         failed: function(reponse){ alert("Failed in saveFunction() with note id: " + note.id)}, 
    106                     }; 
    107                      
    108                     var jsonVal = '{"caption":"' + note.text + '", "area":{"x":' + note.rect.left + ', "y":' + note.rect.top + ', "width":' + note.rect.width + ', "height":' + note.rect.height + '}}'; 
    109                     var metaposStr = (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) ? note.id - 1 : posCount; 
    110                      
    111                     var saveURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;metapos=" + metaposStr; 
    112                     YAHOO.util.Connect.asyncRequest("GET", saveURL, callback); 
    113                      
    114                     return 1; 
    115                 }                
    116                  
    117                 function getNotes() 
    118                 { 
    119                     if(gs.variables.photoNotes == null || gs.variables.photoNotes == undefined) 
    120                     { 
    121                         console.log("No photo notes"); 
    122                         return; 
    123                     } 
    124                      
    125                     for(var i = 0; i &lt; gs.variables.photoNotes.length; i++) 
    126                     { 
    127                         var note = gs.variables.photoNotes[i]; 
    128                         if(!note) 
    129                         { 
    130                             continue; 
    131                         } 
    132                         var newNote = new PhotoNote(note.caption, i+1, new PhotoNoteRect(note.area.x,note.area.y,note.area.width,note.area.height)); 
    133                         newNote.onsave = saveFunction; 
    134                         newNote.ondelete = deleteFunction; 
    135                         notes.AddNote(newNote); 
    136                         posCount++; 
    137                     } 
    138                 } 
    139                  
    140                 function AddNote() 
    141                 { 
    142                     var newNote = new PhotoNote('Add note text here...',posCount+1,new PhotoNoteRect(10,10,50,50)); 
    143                     newNote.onsave = saveFunction; 
    144                     newNote.ondelete = deleteFunction; 
    145                     notes.AddNote(newNote); 
    146                     posCount++; 
    147                      
    148                     newNote.Select(); 
    149                 } 
    150                 window.onload = function(){getNotes(); readyImagesForZoom(); initAnnotator();}; 
    151             </xsl:text> 
    152         </script> 
    15333             
    15434            <!-- Adds the realistic books javascript if necessary ( *** in document-scripts.xsl *** ) -->