https://www.mediawiki.org/wiki/Special:Code/MediaWiki/115077

Revision: 115077
Author:   wikinaut
Date:     2012-04-29 08:05:37 +0000 (Sun, 29 Apr 2012)
Log Message:
-----------
release version 1.04 tested with Firefox, Chrome and IE8

Modified Paths:
--------------
    trunk/tools/viaf/viaf.js

Modified: trunk/tools/viaf/viaf.js
===================================================================
--- trunk/tools/viaf/viaf.js    2012-04-28 23:27:08 UTC (rev 115076)
+++ trunk/tools/viaf/viaf.js    2012-04-29 08:05:37 UTC (rev 115077)
@@ -1,22 +1,10 @@
-/* shamelessly copied from 
http://benalman.com/projects/run-jquery-code-bookmarklet/
+/***
+ *  Locate VIAF, PND and GND numbers in texts and urls on web pages 
+ *  and fetch available corresponding names from the Toolserver. 
+ ***/
 
-<a href="
-javascript:(function(){var 
head=document.getElementsByTagName('head')[0],script=document.createElement('script');script.type='text/javascript';script.src='http://www.opteryx.org/viaf/viaf.js?'+Math.floor(Math.random()*99999);head.appendChild(script);})();
 void 0;
-">VIAF</a>
+ var VERSION = "1.02"; // bookmarklet version tested with Firefox 12, IE8.0, 
Chrome
 
-*/
-
-// ==UserScript==
-// @name           viaf
-// @namespace      viaf
-// @require       
https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js
-// @require        
http://svn.wikimedia.org/svnroot/mediawiki/trunk/tools/viaf/jquery.ba-replacetext.js
-// @description    Locate VIAF, PND and GND numbers in texts and urls on web 
pages and fetch available corresponding names from the Toolserver. (c)T.Gries 
Version 0.402 201109251240
-// @include        *
-// ==/UserScript==
-
-var VERSION = "0.50"; // bookmarklet version
-
 /***
  * Copyright (c) 2011 T. Gries
  *
@@ -67,6 +55,10 @@
  * 20120428     but let's try that "Person als Relation"
  *              names from toolserver become links to it; 
  *              array looping problem fixed
+ * 20120429     version 1.00
+ *              added json2.js library because IE8 doesn't have JSON support
+ *              using &thinsp; as separator; adding a check to avoid multiple
+ *              runs of the script
  ***/
 
 // wrapper -- see http://www.mediawiki.org/wiki/JQuery
@@ -275,7 +267,7 @@
                }
 
                names = "";
-               if ( data_js[record_nr]['names'].length > 0 ) {
+               if ( typeof data_js[record_nr]['names'] != "undefined" ) {
 
                        // for all available names for that number do
                        for ( name_j in data_js[record_nr]['names'] ) {
@@ -322,6 +314,15 @@
        }
 }
 
+// PASS 0
+// check, if page was previously modified in another run and return early
+if ( $(document).data("viaf-done") == VERSION ) {
+       alert("Nothing do. This page has already been processed.");
+       return;
+} else {
+       $(document).data("viaf-done",VERSION);
+}
+
 // PASS 1
 // try to retrieve as much viaf numbers from text as possible
 // but don't look in an active textareas like mediawiki input textarea
@@ -395,14 +396,14 @@
 
        var viaf = $this.attr( "viaf" );
        var newLink = new Array();
-       newLink.unshift( $( "<span> </span><a 
href='http://viaf.org/viaf/"+viaf+"/'><span class='addedlink viaf' 
viaf='"+viaf+"'>VIAF</span></a>" ) );
-       newLink.unshift( $( "<span> </span><a 
href='http://www.librarything.de/commonknowledge/search.php?f=13&exact=1&q=VIAF%3A"+viaf+";'><span
 class='addedlink viaf' viaf='"+viaf+"'>LT de</span></a>" ) );
-       newLink.unshift( $( "<span> </span><a 
href='http://www.librarything.com/commonknowledge/search.php?f=13&exact=1&q=VIAF%3A"+viaf+";'><span
 class='addedlink viaf' viaf='"+viaf+"'>en</span></a>" ) );
-       newLink.unshift( $( "<span> </span><a 
href='http://ru.librarything.com/commonknowledge/search.php?f=13&exact=1&q=VIAF%3A"+viaf+";'><span
 class='addedlink viaf' viaf='"+viaf+"'>ru</span></a>" ) );
-       newLink.unshift( $( "<span> </span><a 
href='http://yi.librarything.com/commonknowledge/search.php?f=13&exact=1&q=VIAF%3A"+viaf+";'><span
 class='addedlink viaf' viaf='"+viaf+"'>yi</span></a>" ) );
-       newLink.unshift( $( "<span> </span><a 
href='http://toolserver.org/%7Eapper/pd/person/viaf/"+viaf+";'><span 
class='addedlink viaf' viaf='"+viaf+"'>TS</span></a>" ) );
-       newLink.unshift( $( "<span> </span><a 
href='http://www.google.com/search?num=100&q=viaf+"+viaf+";'><span 
class='addedlink viaf' viaf='"+viaf+"'>G</span></a>" ) );
-       // newLink.unshift( $( "<span> </span><label 
class='show-summary'><input type='checkbox' class='show-summary-checkbox' 
checked='checked'><span id='show-summary-text'></span></label>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://viaf.org/viaf/"+viaf+"/'><span class='addedlink viaf' 
viaf='"+viaf+"'>VIAF</span></a>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://www.librarything.de/commonknowledge/search.php?f=13&exact=1&q=VIAF%3A"+viaf+";'><span
 class='addedlink viaf' viaf='"+viaf+"'>LT de</span></a>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://www.librarything.com/commonknowledge/search.php?f=13&exact=1&q=VIAF%3A"+viaf+";'><span
 class='addedlink viaf' viaf='"+viaf+"'>en</span></a>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://ru.librarything.com/commonknowledge/search.php?f=13&exact=1&q=VIAF%3A"+viaf+";'><span
 class='addedlink viaf' viaf='"+viaf+"'>ru</span></a>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://yi.librarything.com/commonknowledge/search.php?f=13&exact=1&q=VIAF%3A"+viaf+";'><span
 class='addedlink viaf' viaf='"+viaf+"'>yi</span></a>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://toolserver.org/%7Eapper/pd/person/viaf/"+viaf+";'><span 
class='addedlink viaf' viaf='"+viaf+"'>TS</span></a>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='https://encrypted.google.com/search?ie=utf-8&oe=utf-8&num=100&lt=1&q=viaf+AND+\""+viaf+"\";'><span
 class='addedlink viaf' viaf='"+viaf+"'>G</span></a>" ) );
+       // newLink.unshift( $( "<span>&thinsp;</span><label 
class='show-summary'><input type='checkbox' class='show-summary-checkbox' 
checked='checked'><span id='show-summary-text'></span></label>" ) );
 
        // add a placeholder and a class for this specific viaf for the name 
texts
        // which come per xhr callback handler cb_updateFromServer
@@ -420,11 +421,11 @@
        var pnd = $this.attr( "pnd" );
        var newLink = new Array();
 
-       newLink.unshift( $( "<span> </span><a 
href='http://d-nb.info/gnd/"+pnd+"/'><span class='addedlink pnd' 
pnd='"+pnd+"'>DNB</span></a>" ) );
-       newLink.unshift( $( "<span> </span><a 
href='http://opac.bib-bvb.de/InfoGuideClient.fasttestsis/start.do?Query=100%3D%22"+pnd+"%22'><span
 class='addedlink pnd' pnd='"+pnd+"'>BVB</span></a>" ) );
-       newLink.unshift( $( "<span> </span><a 
href='http://mi.librarything.com/commonknowledge/search.php?f=13&exact=1&q=VIAF%3APND%3A"+pnd+";'><span
 class='addedlink pnd' pnd='"+pnd+"'>LT mi</span></a>" ) );
-       newLink.unshift( $( "<span> </span><a 
href='http://toolserver.org/~apper/pd/person/pnd/"+pnd+";'><span 
class='addedlink pnd' pnd='"+pnd+"'>TS</span></a>" ) );
-       // newLink.unshift( $( "<span> </span><label 
class='show-summary'><input type='checkbox' class='show-summary-checkbox' 
checked='checked'><span id='show-summary-text'></span></label>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://d-nb.info/gnd/"+pnd+"/'><span class='addedlink pnd' 
pnd='"+pnd+"'>DNB</span></a>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://opac.bib-bvb.de/InfoGuideClient.fasttestsis/start.do?Query=100%3D%22"+pnd+"%22'><span
 class='addedlink pnd' pnd='"+pnd+"'>BVB</span></a>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://epo.librarything.com/commonknowledge/search.php?f=13&exact=1&q=VIAF%3APND%3A"+pnd+";'><span
 class='addedlink pnd' pnd='"+pnd+"'>LT epo</span></a>" ) );
+       newLink.unshift( $( "<span>&thinsp;</span><a 
href='http://toolserver.org/~apper/pd/person/pnd/"+pnd+";'><span 
class='addedlink pnd' pnd='"+pnd+"'>TS</span></a>" ) );
+       // newLink.unshift( $( "<span>&thinsp;</span><label 
class='show-summary'><input type='checkbox' class='show-summary-checkbox' 
checked='checked'><span id='show-summary-text'></span></label>" ) );
 
        // add a placeholder and a class for this specific pnd for the name 
texts
        // which come per xhr callback handler cb_updateFromServer
@@ -499,5 +500,4 @@
 
 }
 
-
 }) ( jQuery );


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to