http://www.mediawiki.org/wiki/Special:Code/MediaWiki/90691

Revision: 90691
Author:   kbrown
Date:     2011-06-24 06:11:36 +0000 (Fri, 24 Jun 2011)
Log Message:
-----------
Fix problems in r90526. Started adding proper i18n support as well as replaced 
individual global config with one array of config options.

Modified Paths:
--------------
    trunk/extensions/ArchiveLinks/ArchiveLinks.php

Added Paths:
-----------
    trunk/extensions/ArchiveLinks/ArchiveLinks.i18n.php

Added: trunk/extensions/ArchiveLinks/ArchiveLinks.i18n.php
===================================================================
--- trunk/extensions/ArchiveLinks/ArchiveLinks.i18n.php                         
(rev 0)
+++ trunk/extensions/ArchiveLinks/ArchiveLinks.i18n.php 2011-06-24 06:11:36 UTC 
(rev 90691)
@@ -0,0 +1,11 @@
+<?php
+/**
+ * Internationalization File for Archive Links
+ */
+
+$messages = array();
+
+//English
+$messages['en'] = array (
+    'archive-links-cache-title' => '[cache]',
+);
\ No newline at end of file


Property changes on: trunk/extensions/ArchiveLinks/ArchiveLinks.i18n.php
___________________________________________________________________
Added: svn:eol-style
   + native

Modified: trunk/extensions/ArchiveLinks/ArchiveLinks.php
===================================================================
--- trunk/extensions/ArchiveLinks/ArchiveLinks.php      2011-06-24 01:58:52 UTC 
(rev 90690)
+++ trunk/extensions/ArchiveLinks/ArchiveLinks.php      2011-06-24 06:11:36 UTC 
(rev 90691)
@@ -46,12 +46,15 @@
 //$wgHooks['LinkerMakeExternalLink'][] = 'getExternalLinks';
 //$wgHooks['EditPage::attemptSave'][] = 'getExternalLinks';
 
+$wgExtensionMessagesFiles['ArchiveLinks'] = dirname( __FILE__ ) . 
'/ArchiveLinks.i18n.php';
+
 $wgHooks['ArticleSaveComplete'][] = 'ArchiveLinks::queueExternalLinks';
 $wgHooks['LinkerMakeExternalLink'][] = 'ArchiveLinks::rewriteLinks';
 
-$wgArchiveService = 'wikiwix';
-$wgUseMultipleArchives = false;
-$wgWhatToCallArchive = '[cache]';
+$wgArchiveLinksConfig = array (
+    'archive_service' => 'wikiwix',
+    'use_multiple_archives' => false,
+);
 
 class ArchiveLinks {
     public static function queueExternalLinks ( &$article ) {
@@ -70,9 +73,7 @@
        foreach ( $external_links as $link => $unused_value ) {
            //$db_result['resource'] = $db_slave->select( 
'el_archive_resource', '*', '`el_archive_resource`.`resource_url` = "' . 
$db_slave->strencode( $link ) . '"');
            $db_result['blacklist'] = $db_slave->select( 
'el_archive_blacklist', '*', '`el_archive_blacklist`.`bl_url` = "' . 
$db_slave->strencode( $link ) . '"');
-           
-           //we need to know if the URL is already in the queue to prevent a 
page from being archived twice, so we will query the master
-           $db_result['queue'] = $db_master->select( 'el_archive_queue', '*', 
'`el_archive_queue`.`url` = "' . $db_slave->strencode( $link ) . '"' );
+           $db_result['queue'] = $db_slave->select( 'el_archive_queue', '*', 
'`el_archive_queue`.`url` = "' . $db_slave->strencode( $link ) . '"' );
 
            if ( $db_result['blacklist']->numRows() === 0 ) {
                if ( $db_result['queue']->numRows() === 0 ) {
@@ -107,31 +108,30 @@
     
     public static function rewriteLinks (  &$url, &$text, &$link, &$attributes 
) {
        if ( array_key_exists('rel', $attributes) && $attributes['rel'] === 
'nofollow' ) {
-           global $wgArchiveService;
-           global $wgUseMultipleArchives;
-           global $wgWhatToCallArchive;
-           if ( $wgUseMultipleArchives ) {
-               //add support for more than one archival service at once
-               // (a page where you can select more than one)
+           global $wgArchiveLinksConfig;
+           if ( $wgArchiveLinksConfig['use_multiple_archives'] ) {
+               //need to add support for more than one archival service at once
+               //  (a page where you can select one from a list of choices)
            } else {
-               switch ( $wgArchiveService ) {
+               switch ( $wgArchiveLinksConfig['archive_service'] ) {
                    case 'local':
                        //We need to have something to figure out where the 
filestore is...
                        $link_to_archive = urlencode( substr_replace( $url, '', 
0, 7 ) );
                        break;
                    case 'wikiwix':
-                       $link_to_archive = 
'http://archive.wikiwix.org/cache/?url=' . $link;
+                       $link_to_archive = 
'http://archive.wikiwix.com/cache/?url=' . $url;
                        break;
                    case 'internet_archive':
-                       $link_to_archive = 'http://wayback.archive.org/web/*/' 
. $link;
+                       $link_to_archive = 'http://wayback.archive.org/web/*/' 
. $url;
                        break;
                    case 'webcitation':
-                       $link_to_archive = 'http://webcitation.org/query?url=' 
. $link;
+                       $link_to_archive = 'http://webcitation.org/query?url=' 
. $url;
                        break;
                }
            }
-           $link = "<a rel=\"nofollow\" class=\"{$attributes['class']}\" 
href=\"{$url}\">{$text}</a>&nbsp;<sup><small><a href=\""
-           . $link_to_archive . 
"\">{$wgWhatToCallArchive}</a></small></sup>&nbsp;";
+           //Note to self: need to fix this to use Html.php instead of direct 
html
+           $link = "<a rel=\"nofollow\" class=\"{$attributes['class']}\" 
href=\"{$url}\">{$text}</a>&#160;<sup><small><a href=\""
+           . "{$link_to_archive}\">" . wfMsg( 'archive-links-cache-title' ) . 
'</a></small></sup>&#160;';  
            return false;
        } else {
            return true;
@@ -160,7 +160,7 @@
     
     //$db_slave = wfGetDB( DB_SLAVE );
     
-    /*$db_result = $db_slave->select( 'el_archive_blacklist', '*',
+    /*db_result = $db_slave->select( 'el_archive_blacklist', '*',
            '`el_archive_blacklist`.`bl_url` = "' . $db_slave->strencode( 
'http://example.com' ) . '"');
     */
     //$db_result['queue'] = $db_slave->select( 'el_archive_queue', '*', 
'`el_archive_queue`.`url` = "' . $db_slave->strencode( 'http://example.com' ) . 
'"' );


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

Reply via email to