Index: trunk/extensions/Blackout/Blackout.i18n.php |
— | — | @@ -1,16 +0,0 @@ |
2 | | -<?php |
3 | | -/** |
4 | | - * Internationalisation file for extension Blackout |
5 | | - * |
6 | | - * @addtogroup Extensions |
7 | | - * @license GPL |
8 | | - */ |
9 | | - |
10 | | -$messages = array(); |
11 | | - |
12 | | -/** English |
13 | | - * @author Gregory Varnum |
14 | | - */ |
15 | | -$messages['en'] = array( |
16 | | - 'blackout-desc' => 'Tweets when a page is created or edited. Depending on preferences set for the entire wiki, either automatically or from the edit page.', |
17 | | -); |
\ No newline at end of file |
Index: trunk/extensions/Blackout/Blackout.body.php |
— | — | @@ -1,7 +1,5 @@ |
2 | 2 | <?php |
3 | | -if ( !defined( 'MEDIAWIKI' ) ) { |
4 | | - die(); |
5 | | -} |
| 3 | + |
6 | 4 | /** |
7 | 5 | * Class file for the Blackout extension |
8 | 6 | * |
— | — | @@ -9,20 +7,39 @@ |
10 | 8 | * @license GPL |
11 | 9 | */ |
12 | 10 | |
13 | | -// Blackout |
| 11 | +/** |
| 12 | + * Blackout class |
| 13 | + */ |
14 | 14 | class Blackout { |
15 | 15 | |
16 | 16 | /** |
17 | | - * Function displaying banner |
| 17 | + * Override action hook. This is the show-stopper |
18 | 18 | * |
| 19 | + * @param $output OutputPage |
19 | 20 | * @param $article Article |
| 21 | + * @param $title Title |
20 | 22 | * @param $user User |
21 | | - * @param $summary |
| 23 | + * @param $request WebRequest |
| 24 | + * @param $wiki MediaWiki |
22 | 25 | * @return bool |
23 | 26 | */ |
24 | | - public static function fnMyHook( OutputPage &$out, Skin &$skin ) { |
25 | | - global $wgBlackout, $wgOut; |
26 | | - $wgOut->addModules( 'ext.blackout' ); |
27 | | - return true; |
| 27 | + public static function overrideAction( $output, $article, $title, $user, $request, $wiki ) { |
| 28 | + global $wgBlackout; |
| 29 | + |
| 30 | + // You know what this does |
| 31 | + if ( !$wgBlackout['Enable'] ) { |
| 32 | + return true; |
| 33 | + } |
| 34 | + |
| 35 | + // Check the article whitelist |
| 36 | + if ( in_array( $title->getPrefixedDBkey(), $wgBlackout['Whitelist'] ) ) { |
| 37 | + return true; |
| 38 | + } |
| 39 | + |
| 40 | + $skinClass = "Skin{$wgBlackout['Skin']}"; |
| 41 | + $skin = new $skinClass(); |
| 42 | + $output->getContext()->setSkin( $skin ); |
| 43 | + |
| 44 | + return false; |
28 | 45 | } |
29 | 46 | } |
Index: trunk/extensions/Blackout/skins/ProtestSopa.php |
— | — | @@ -0,0 +1,104 @@ |
| 2 | +<?php |
| 3 | + |
| 4 | +class SkinProtestSopa extends SkinTemplate { |
| 5 | + var $skinname = 'protestsopa', $stylename = 'protestsopa', |
| 6 | + $template = 'ProtestSopaTemplate', $useHeadElement = false; |
| 7 | +} |
| 8 | + |
| 9 | +class ProtestSopaTemplate extends QuickTemplate { |
| 10 | + |
| 11 | + /** |
| 12 | + * Main function, used by classes that subclass QuickTemplate |
| 13 | + * to show the actual HTML output |
| 14 | + */ |
| 15 | + public function execute() { |
| 16 | + ?> |
| 17 | + |
| 18 | + <html> |
| 19 | + <head> |
| 20 | + <link href='http://fonts.googleapis.com/css?family=Six+Caps' rel='stylesheet' type='text/css'> |
| 21 | + <link href='http://fonts.googleapis.com/css?family=Stint+Ultra+Condensed' rel='stylesheet' type='text/css'> |
| 22 | + <style> |
| 23 | + body { |
| 24 | + color: #fff; |
| 25 | + font-size: 88px; |
| 26 | + margin: 50px auto; |
| 27 | + text-align:center; |
| 28 | + width:800px; |
| 29 | + background: #121110 url(data:image/png;base64,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) repeat; |
| 30 | + } |
| 31 | + |
| 32 | + p { |
| 33 | + padding:0; |
| 34 | + margin:1em 0; |
| 35 | + font-size:18px; |
| 36 | + font-family: 'Arial'; |
| 37 | + letter-spacing:3px; |
| 38 | + line-height: 1em; |
| 39 | + } |
| 40 | + |
| 41 | + a { |
| 42 | + text-decoration: none; |
| 43 | + color:#bb7711; |
| 44 | + } |
| 45 | + |
| 46 | + a:hover { |
| 47 | + color:#bb5500; |
| 48 | + } |
| 49 | + |
| 50 | + .bills{ |
| 51 | + text-decoration:underline; |
| 52 | + color:white; |
| 53 | + letter-spacing:0px; |
| 54 | + } |
| 55 | + |
| 56 | + .act{ |
| 57 | + font-family: 'Stint Ultra Condensed'; |
| 58 | + font-size:218px; |
| 59 | + padding:0; |
| 60 | + margin:0; |
| 61 | + letter-spacing:5px; |
| 62 | + } |
| 63 | + .save{ |
| 64 | + font-family: 'Stint Ultra Condensed'; |
| 65 | + font-size:108px; |
| 66 | + padding:0; |
| 67 | + margin:0; |
| 68 | + letter-spacing:5px; |
| 69 | + } |
| 70 | + |
| 71 | + .link{ |
| 72 | + color: #FFC273; |
| 73 | + letter-spacing:0; |
| 74 | + padding: 2em; |
| 75 | + line-height: 2em; |
| 76 | + } |
| 77 | + |
| 78 | + .orange a:hover { |
| 79 | + } |
| 80 | + </style> |
| 81 | + </head> |
| 82 | + <body> |
| 83 | + <div> |
| 84 | + <hr> |
| 85 | + <p class="save">SAVE THE INTERNET.</p> |
| 86 | + <p>This site has been taken down in protest of bills currently being considered in the US |
| 87 | + House and Senate. Called <a class="bills" href="http://thomas.loc.gov/cgi-bin/bdquery/z?d112:h.r.3261:">SOPA</a> and |
| 88 | + <a class="bills" href="http://www.opencongress.org/bill/112-s968/show">PIPA</a>,<br /> these bills threaten |
| 89 | + to destroy the Internet as we know it.</p> |
| 90 | + <p>If either one passes, your favorite sites could disappear forever.</p> |
| 91 | + <hr> |
| 92 | + <a href="http://americancensorship.org/modal/call-form-moz.html"> |
| 93 | + <p class="act">ACT NOW.</p> |
| 94 | + </a> |
| 95 | + <p><span><a class="link" href="http://americancensorship.org/modal/call-form-moz.html">CALL YOUR SENATOR AND ASK THEM TO VOTE "NO" FOR PIPA</a></span> |
| 96 | + |
| 97 | + <span> <a class="link" href="https://github.com/SaraJo/SOPA-PIPA-Protest-Page">JOIN US</a></p> |
| 98 | + |
| 99 | + <div> |
| 100 | + </body> |
| 101 | + </html> |
| 102 | + |
| 103 | + <?php |
| 104 | + } |
| 105 | +} |
\ No newline at end of file |
Property changes on: trunk/extensions/Blackout/skins/ProtestSopa.php |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 106 | + native |
Index: trunk/extensions/Blackout/skins/SopaStrike.php |
— | — | @@ -0,0 +1,69 @@ |
| 2 | +<?php |
| 3 | + |
| 4 | +class SkinSopaStrike extends SkinTemplate { |
| 5 | + var $skinname = 'sopastrike', $stylename = 'sopastrike', |
| 6 | + $template = 'SopaStrikeTemplate', $useHeadElement = false; |
| 7 | +} |
| 8 | + |
| 9 | +class SopaStrikeTemplate extends QuickTemplate { |
| 10 | + |
| 11 | + /** |
| 12 | + * Main function, used by classes that subclass QuickTemplate |
| 13 | + * to show the actual HTML output |
| 14 | + */ |
| 15 | + public function execute() { |
| 16 | + ?> |
| 17 | + |
| 18 | + <!DOCTYPE html> |
| 19 | + <html> |
| 20 | + <head> |
| 21 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
| 22 | + <title>Strike Against SOPA & PIPA</title> |
| 23 | + <meta property="og:title" content="Strike Against Sopa!"> |
| 24 | + <meta property="og:description" content="Internet goes on strike — blackout everywhere. On Wed Jan 18, many of your favorites sites will be unavailable to you to stop web censorship. Call your congressperson today."> |
| 25 | + <meta property="og:image" content="http://sopastrike.com/images/newspaper-folded.jpg"> |
| 26 | + <meta property="og:url" content="http://sopastrike.com/strike"> |
| 27 | + <link rel="stylesheet" type="text/css" href="http://sopastrike.com/strike/strike.css"> |
| 28 | + <script src="http://sopastrike.com/strike/jquery.js"></script> |
| 29 | + <script src="http://sopastrike.com/strike/jquery.placeholder.js"></script> |
| 30 | + </head> |
| 31 | + <body> |
| 32 | + <div id="strike-topper"></div> |
| 33 | + <div id="strike-wrapper"> |
| 34 | + <div> |
| 35 | + <img src="http://sopastrike.com/strike/strike-paper.jpg" width="570" height="350" id="paper"> |
| 36 | + <h1>Today, we are striking against censorship. <strong>Join us in this historic moment:</strong> tell Congress to stop this bill now!</h1> |
| 37 | + </div> |
| 38 | + <form action="http://act.fightforthefuture.org/page/s/sopa-strike-modal" method="post"> |
| 39 | + <div id="info"> |
| 40 | + <input size="16" id="firstname" name="firstname" type="text" placeholder="Name"> |
| 41 | + <input type="email" class="text" size="48" id="email" name="email" placeholder="Email"> |
| 42 | + |
| 43 | + <input size="48" id="addr1" name="addr1" type="text" placeholder="Address"> |
| 44 | + <input size="5" id="zip" name="zip" type="text" placeholder="Zipcode"> |
| 45 | + <button type="submit"><span>Write Congress Now!</span></button> |
| 46 | + </div> |
| 47 | + <div id="letter"> |
| 48 | + <textarea id="custom-285" name="custom-285">I am writing to you as a voter in your district. I urge you to oppose the Senate version of S. 968, the PROTECT IP Act. The PROTECT IP Act is dangerous, ineffective, and short-sighted. The House version -- just introduced by Rep. Goodlatte -- is far worse. |
| 49 | + |
| 50 | + Over coming days you'll be hearing from the many businesses, advocacy organizations, and ordinary Americans who oppose this legislation because of the myriad ways in which it will stifle free speech and innovation. We hope you'll take our concerns to heart and oppose this legislation. |
| 51 | + </textarea> |
| 52 | + </div> |
| 53 | + |
| 54 | + </form> |
| 55 | + |
| 56 | + <h1><a href="https://www.mediawiki.org/">Join The Strike!</a> and <a href="https://www.mediawiki.org/#how-to-strike">add this to your site</a></h1> |
| 57 | + <p><strong>Learn More:</strong> |
| 58 | + <a href="http://fightforthefuture.org/pipa">Watch the video</a> · |
| 59 | + <a href="http://americancensorship.org/">American Censorship page</a> · |
| 60 | + <a href="http://americancensorship.org/infographic.html">View the Infographic</a> <br> |
| 61 | + <a href="http://www.opencongress.org/bill/112-h3261/show">Read SOPA on OpenCongress</a> · |
| 62 | + <a href="http://www.opencongress.org/bill/112-s968/show">Read PIPA on OpenCongress</a> |
| 63 | + <p>Fight For The Future may contact you about future campaigns. <br>We will never share your email with anyone. <a href="http://fightforthefuture.org/privacy">Privacy Policy</a></p> |
| 64 | + </div> |
| 65 | + </body> |
| 66 | + </html> |
| 67 | + |
| 68 | + <?php |
| 69 | + } |
| 70 | +} |
\ No newline at end of file |
Property changes on: trunk/extensions/Blackout/skins/SopaStrike.php |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 71 | + native |
Index: trunk/extensions/Blackout/skins/StopSopa.php |
— | — | @@ -0,0 +1,216 @@ |
| 2 | +<?php |
| 3 | + |
| 4 | +class SkinStopSopa extends SkinTemplate { |
| 5 | + var $skinname = 'stopsopa', $stylename = 'stopsopa', |
| 6 | + $template = 'StopSopaTemplate', $useHeadElement = false; |
| 7 | +} |
| 8 | + |
| 9 | +class StopSopaTemplate extends QuickTemplate { |
| 10 | + |
| 11 | + /** |
| 12 | + * Main function, used by classes that subclass QuickTemplate |
| 13 | + * to show the actual HTML output |
| 14 | + */ |
| 15 | + public function execute() { |
| 16 | + ?> |
| 17 | + |
| 18 | + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 19 | + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 20 | + <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| 21 | + <head> |
| 22 | + |
| 23 | + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| 24 | + |
| 25 | + <title>STOP SOPA!</title> |
| 26 | + |
| 27 | + <style type="text/css" media="all"> |
| 28 | + html, |
| 29 | + body { |
| 30 | + margin: 0; |
| 31 | + padding: 0; |
| 32 | + } |
| 33 | + |
| 34 | + #text-shadow-box { |
| 35 | + position: fixed; |
| 36 | + left: 0; |
| 37 | + right: 0; |
| 38 | + top: 0; |
| 39 | + bottom: 0; |
| 40 | + width: 100%; |
| 41 | + height: 100%; |
| 42 | + overflow: hidden; |
| 43 | + background: #444; |
| 44 | + font-family: Helvetica, Arial, sans-serif; |
| 45 | + -webkit-tap-highlight-color: rgba(0,0,0,0); |
| 46 | + -webkit-user-select: none; |
| 47 | + } |
| 48 | + |
| 49 | + #text-shadow-box #tsb-text, |
| 50 | + #text-shadow-box #tsb-link { |
| 51 | + position: absolute; |
| 52 | + top: 40%; |
| 53 | + left: 0; |
| 54 | + width: 100%; |
| 55 | + height: 1em; |
| 56 | + margin: -0.77em 0 0 0; |
| 57 | + font-size: 90px; |
| 58 | + line-height: 1em; |
| 59 | + font-weight: bold; |
| 60 | + text-align: center; |
| 61 | + } |
| 62 | + |
| 63 | + #text-shadow-box #tsb-text { |
| 64 | + font-size: 100px; |
| 65 | + color: transparent; |
| 66 | + text-shadow: black 0px -45.2px 19px; |
| 67 | + } |
| 68 | + |
| 69 | + #text-shadow-box #tsb-link a { |
| 70 | + color: #999; |
| 71 | + text-decoration: none; |
| 72 | + } |
| 73 | + |
| 74 | + #text-shadow-box #tsb-box, |
| 75 | + #text-shadow-box #tsb-wall { |
| 76 | + position: absolute; |
| 77 | + top: 40%; |
| 78 | + left: 0; |
| 79 | + width: 100%; |
| 80 | + height: 60%; |
| 81 | + } |
| 82 | + |
| 83 | + #text-shadow-box #tsb-box { |
| 84 | + -webkit-box-shadow: black 0px -45.2px 39px; |
| 85 | + -moz-box-shadow: black 0px -45.2px 39px; |
| 86 | + } |
| 87 | + |
| 88 | + #text-shadow-box #tsb-wall { |
| 89 | + background: #999; |
| 90 | + } |
| 91 | + |
| 92 | + #text-shadow-box #tsb-wall p { |
| 93 | + position: relative; |
| 94 | + font-size: 18px; |
| 95 | + line-height: 1.5em; |
| 96 | + text-align: justify; |
| 97 | + color: #222; |
| 98 | + width: 550px; |
| 99 | + margin: 1.5em auto; |
| 100 | + cursor: default; |
| 101 | + } |
| 102 | + |
| 103 | + #text-shadow-box #tsb-wall p a { |
| 104 | + color: #fff; |
| 105 | + } |
| 106 | + |
| 107 | + #text-shadow-box #tsb-wall p a:hover { |
| 108 | + text-decoration: none; |
| 109 | + color: #000; |
| 110 | + background: #fff; |
| 111 | + } |
| 112 | + |
| 113 | + #tsb-spot { |
| 114 | + position: absolute; |
| 115 | + top: -50%; |
| 116 | + left: -50%; |
| 117 | + width: 200%; |
| 118 | + height: 200%; |
| 119 | + pointer-events: none; |
| 120 | + background: -webkit-gradient(radial, center center, 0, center center, 450, from(rgba(0,0,0,0)), to(rgba(0,0,0,1))); |
| 121 | + background: -moz-radial-gradient(center 45deg, circle closest-side, transparent 0, black 450px); |
| 122 | + } |
| 123 | + </style> |
| 124 | + |
| 125 | + <!--[if IE]> |
| 126 | + <style type="text/css"> |
| 127 | + /* Sadly no IE9 support for pointer-events: none; nor CSS2 text-shadow */ |
| 128 | + #tsb-spot { |
| 129 | + display: none; |
| 130 | + } |
| 131 | + #tsb-ie { |
| 132 | + position: absolute; |
| 133 | + top: -90%; |
| 134 | + left: -50%; |
| 135 | + width: 200%; |
| 136 | + height: 334%; |
| 137 | + background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPHJhZGlhbEdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNzUlIj4KICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMCIvPgogICAgPHN0b3Agb2Zmc2V0PSI3NCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDAwMDAwIiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L3JhZGlhbEdyYWRpZW50PgogIDxyZWN0IHg9Ii01MCIgeT0iLTUwIiB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+); |
| 138 | + } |
| 139 | + </style> |
| 140 | + <![endif]--> |
| 141 | + |
| 142 | + </head> |
| 143 | + <body> |
| 144 | + |
| 145 | + <div id="text-shadow-box"> |
| 146 | + <div id="tsb-box"></div> |
| 147 | + <p id="tsb-text">STOP SOPA!</p> |
| 148 | + <p id="tsb-link"><a href="http://americancensorship.org/">STOP SOPA!</a></p> |
| 149 | + <div id="tsb-wall"> |
| 150 | + <div id="tsb-ie"></div> |
| 151 | + |
| 152 | + <p>This site has gone dark today in protest of the U.S. Stop Online Piracy Act (SOPA) and PROTECT-IP Act (PIPA). The U.S. Congress is about to censor the Internet, even though the vast majority of Americans are opposed. We need to kill these bills to protect our rights to free speech, privacy, and prosperity. Learn more at <a href="http://americancensorship.org/">AmericanCensorship.org</a></p> |
| 153 | + </div> |
| 154 | + <div id="tsb-spot"></div> |
| 155 | + </div> |
| 156 | + |
| 157 | + <script type="text/javascript" language="javascript" charset="utf-8"> |
| 158 | + /** |
| 159 | + * Zachary Johnson |
| 160 | + * http://www.zachstronaut.com |
| 161 | + * I place the following code in the public domain. |
| 162 | + * |
| 163 | + * Fork it on GitHub: https://github.com/zachstronaut/stop-sopa |
| 164 | + */ |
| 165 | + |
| 166 | + var text = null; |
| 167 | + var spot = null; |
| 168 | + var box = null; |
| 169 | + var boxProperty = ''; |
| 170 | + |
| 171 | + init(); |
| 172 | + |
| 173 | + function init() { |
| 174 | + text = document.getElementById('tsb-text'); |
| 175 | + spot = document.getElementById('tsb-spot'); |
| 176 | + box = document.getElementById('tsb-box'); |
| 177 | + |
| 178 | + if (typeof box.style.webkitBoxShadow == 'string') { |
| 179 | + boxProperty = 'webkitBoxShadow'; |
| 180 | + } else if (typeof box.style.MozBoxShadow == 'string') { |
| 181 | + boxProperty = 'MozBoxShadow'; |
| 182 | + } else if (typeof box.style.boxShadow == 'string') { |
| 183 | + boxProperty = 'boxShadow'; |
| 184 | + } |
| 185 | + |
| 186 | + if (text && spot && box) { |
| 187 | + document.getElementById('text-shadow-box').onmousemove = onMouseMove; |
| 188 | + document.getElementById('text-shadow-box').ontouchmove = function (e) {e.preventDefault(); e.stopPropagation(); onMouseMove({clientX: e.touches[0].clientX, clientY: e.touches[0].clientY});}; |
| 189 | + } |
| 190 | + } |
| 191 | + |
| 192 | + function onMouseMove(e) { |
| 193 | + if (typeof e === 'undefined' || typeof e.clientX === 'undefined') { |
| 194 | + return; |
| 195 | + } |
| 196 | + |
| 197 | + var xm = (e.clientX - Math.floor(window.innerWidth / 2)) * 0.4; |
| 198 | + var ym = (e.clientY - Math.floor(window.innerHeight / 3)) * 0.4; |
| 199 | + var d = Math.round(Math.sqrt(xm*xm + ym*ym) / 5); |
| 200 | + text.style.textShadow = -xm + 'px ' + -ym + 'px ' + (d + 10) + 'px black'; |
| 201 | + |
| 202 | + if (boxProperty) { |
| 203 | + box.style[boxProperty] = '0 ' + -ym + 'px ' + (d + 30) + 'px black'; |
| 204 | + } |
| 205 | + |
| 206 | + xm = e.clientX - Math.floor(window.innerWidth / 2); |
| 207 | + ym = e.clientY - Math.floor(window.innerHeight / 2); |
| 208 | + spot.style.backgroundPosition = xm + 'px ' + ym + 'px'; |
| 209 | + } |
| 210 | + </script> |
| 211 | + |
| 212 | + </body> |
| 213 | + </html> |
| 214 | + |
| 215 | + <?php |
| 216 | + } |
| 217 | +} |
\ No newline at end of file |
Property changes on: trunk/extensions/Blackout/skins/StopSopa.php |
___________________________________________________________________ |
Added: svn:eol-style |
1 | 218 | + native |
Index: trunk/extensions/Blackout/modules/ext.blackout.css |
— | — | @@ -1,82 +0,0 @@ |
2 | | -/** |
3 | | -* Stylesheet for Blackout extension. |
4 | | -* |
5 | | -* You may modify the CSS code on the MediaWiki:Common.css |
6 | | -* page to adjust padding, alignment, etc. |
7 | | -* |
8 | | -* @addtogroup Extensions |
9 | | -* @license GPL |
10 | | -*/ |
11 | | - |
12 | | -#sopaOverlay { |
13 | | - position: fixed; |
14 | | - top: 0; |
15 | | - left: 0; |
16 | | - width: 100%; |
17 | | - height: 100%; |
18 | | - z-index: 2147483647; /* 32-bit max */· |
19 | | - color: #dedede; |
20 | | - background: black url(//upload.wikimedia.org/wikipedia/commons/9/98/WP_SOPA_Splash_Full.jpg) no-repeat 0 0; |
21 | | - overflow: auto; |
22 | | - } |
23 | | - #sopaColumn { |
24 | | - font-family:Times New Roman; |
25 | | - width:400px; |
26 | | - position:absolute; |
27 | | - top:80px; |
28 | | - left:420px; |
29 | | - color: #dedede; |
30 | | - padding-bottom: 30px; |
31 | | - } |
32 | | - #sopaHeadline { |
33 | | - font-size: 1.5em; |
34 | | - margin-bottom: 0.5em; |
35 | | - } |
36 | | - #sopaText { |
37 | | - text-align:justify; |
38 | | - } |
39 | | - #sopaColumn a { |
40 | | - color: #eeeeee; |
41 | | - text-decoration: underline; |
42 | | - cursor: pointer; |
43 | | - } |
44 | | - #sopaColumn a:hover { |
45 | | - color:#ffffff; |
46 | | - } |
47 | | - #sopaAction { |
48 | | - display: none; |
49 | | - } |
50 | | - #sopaColumn a.action { |
51 | | - padding-right: 15px; |
52 | | - margin-top: 2px; |
53 | | - background: url(//upload.wikimedia.org/wikipedia/commons/3/3a/WP_SOPA_Arrow_right_dedede.png) center right no-repeat; |
54 | | - } |
55 | | - #sopaColumn a.action:hover { |
56 | | - background: url(//upload.wikimedia.org/wikipedia/commons/6/63/WP_SOPA_Arrow_right_ffffff.png) center right no-repeat; |
57 | | - } |
58 | | - |
59 | | - #sopaColumn a.action.open { |
60 | | - background: url(//upload.wikimedia.org/wikipedia/commons/e/ec/WP_SOPA_Arrow_down_dedede.png) center right no-repeat; |
61 | | - } |
62 | | - #sopaColumn a.action.open:hover { |
63 | | - background: url(//upload.wikimedia.org/wikipedia/commons/f/fb/WP_SOPA_Arrow_down_ffffff.png) center right no-repeat; |
64 | | - } |
65 | | - .sopaActionDiv { |
66 | | - margin-left: 1em; |
67 | | - margin-bottom: 1em; |
68 | | - } |
69 | | - |
70 | | - .sopaActionHead { |
71 | | - font-weight: bold; |
72 | | - } |
73 | | - .sopaSocial { |
74 | | - float: left; |
75 | | - text-align: center; |
76 | | - margin-right: 12px; |
77 | | - margin-bottom: 3px; |
78 | | - font-size: small; |
79 | | - } |
80 | | - .sopaSocial a { |
81 | | - text-decoration: none; |
82 | | - } |
83 | | - |
\ No newline at end of file |
Index: trunk/extensions/Blackout/modules/ext.blackout.js |
— | — | @@ -1,144 +0,0 @@ |
2 | | -/** |
3 | | -* Javascript for Blackout extension. |
4 | | -* |
5 | | -* You may modify the Javascript code on the MediaWiki:Common.js |
6 | | -* |
7 | | -* @addtogroup Extensions |
8 | | -* @license GPL |
9 | | -*/ |
10 | | - |
11 | | -( function ($) { |
12 | | - var namespaceWhitelist = ['Special']; // n.b. community has decided for full blackout including Special pages, but it is hard to do stuff in the meantime without this. |
13 | | - var pageWhitelist = [ |
14 | | - 'Stop Online Piracy Act', |
15 | | - 'PROTECT IP Act', |
16 | | - 'Online Protection and Enforcement of Digital Trade Act', |
17 | | - 'Censorship', |
18 | | - 'Special:CongressLookup', |
19 | | - 'Special:NoticeTemplate', |
20 | | - 'Special:NoticeTemplate/view' |
21 | | - ]; |
22 | | - var geoHasUsRep = [ |
23 | | - 'US', // USA |
24 | | - 'PR', // Puerto Rico |
25 | | - 'VI', // Virgin Islands |
26 | | - 'MP', // Northern Mariana Islands |
27 | | - 'AS', // American Samoa |
28 | | - 'GU' // Guam |
29 | | - ]; |
30 | | - |
31 | | - // Exclude some namespaces |
32 | | - for ( var i = 0; i < namespaceWhitelist.length; i++ ) { |
33 | | - if ( namespaceWhitelist[i] == wgCanonicalNamespace ) { |
34 | | - return; |
35 | | - } |
36 | | - } |
37 | | - |
38 | | - // Exclude some individual pages |
39 | | - for ( var i = 0; i < pageWhitelist.length; i++ ) { |
40 | | - if ( pageWhitelist[i] == wgPageName || pageWhitelist[i] == wgPageName.replace( /_/g, ' ' ) ) { |
41 | | - return; |
42 | | - } |
43 | | - } |
44 | | - |
45 | | - var hasUsRep = false; |
46 | | - for ( var i = 0; i < geoHasUsRep.length; i ++ ) { |
47 | | - if ( geoHasUsRep[i] == Geo.country ) { |
48 | | - hasUsRep = true; |
49 | | - break; |
50 | | - } |
51 | | - } |
52 | | - |
53 | | - var overlayHeight = $(document).height(); |
54 | | - |
55 | | - var overlay = $('<div id="sopaOverlay"></div>'); |
56 | | - var column = $('<div id="sopaColumn"></div>'); |
57 | | - var headline = $('<div id="sopaHeadline">{{{wp-sopa-title}}}</div>'); |
58 | | - var intro = $('<div id="sopaText">{{{wp-sopa-blocktext}}}</div>'); |
59 | | - |
60 | | - var takeActionLink = $('<a class="action">{{{wp-sopa-takeaction}}}</a>').click( function() { |
61 | | - takeActionLink.toggleClass( 'open' ); |
62 | | - action.slideToggle(); |
63 | | - } ); |
64 | | - var takeAction = $('<div id="sopaTakeAction"></div>').append( takeActionLink ); |
65 | | - var action = $('<div id="sopaAction"></div>'); |
66 | | - if ( hasUsRep ) { |
67 | | - action.append( $('<div class="sopaActionDiv"><p class="sopaActionHead">{{{wp-sopa-zipform-intro}}}</p><div class="sopaActionDiv"><form action="/wiki/Special:CongressLookup" action="GET"><label for="zip">{{{wp-sopa-zipform-label}}}</label> <input name="zip" type="text" size="5"> <input type="submit" name="submit" value="{{{wp-sopa-zipform-submit}}}"></form></div></div>' ) ); |
68 | | - } |
69 | | - |
70 | | -var $socialDiv = $('<div></div>'); |
71 | | - |
72 | | - |
73 | | -var socialSites = [ |
74 | | - { |
75 | | - url: 'https://www.facebook.com/sharer.php?u=' + encodeURIComponent( '{{{wp-sopa-facebook-link}}}' ), |
76 | | - title: '{{{wp-sopa-facebook-button}}}', |
77 | | - hi: '//upload.wikimedia.org/wikipedia/commons/b/b9/WP_SOPA_sm_icon_facebook_ffffff.png', |
78 | | - icon: '//upload.wikimedia.org/wikipedia/commons/2/2a/WP_SOPA_sm_icon_facebook_dedede.png' |
79 | | - }, |
80 | | - { |
81 | | - url: 'https://m.google.com/app/plus/x/?v=compose&content=' + encodeURIComponent( '{{{wp-sopa-google-plus-post}}}' ), |
82 | | - title: '{{{wp-sopa-google-plus-button}}}', |
83 | | - hi: '//upload.wikimedia.org/wikipedia/commons/a/a1/WP_SOPA_sm_icon_gplus_ffffff.png', |
84 | | - icon: '//upload.wikimedia.org/wikipedia/commons/0/08/WP_SOPA_sm_icon_gplus_dedede.png' |
85 | | - }, |
86 | | - { |
87 | | - url: 'https://twitter.com/intent/tweet?original_referer=' + encodeURIComponent( window.location ) + '&text=' + encodeURIComponent( '{{{wp-sopa-tweet}}}' ), |
88 | | - title: '{{{wp-sopa-twitter-button}}}', |
89 | | - hi: '//upload.wikimedia.org/wikipedia/commons/8/8a/WP_SOPA_sm_icon_twitter_ffffff.png', |
90 | | - icon: '//upload.wikimedia.org/wikipedia/commons/4/45/WP_SOPA_sm_icon_twitter_dedede.png' |
91 | | - } |
92 | | -]; |
93 | | - |
94 | | - |
95 | | -for (var i = 0; i < socialSites.length; i++ ) { |
96 | | - ( function ( site ) { |
97 | | - function linkify( $item ) { |
98 | | - return $( '<a></a>' ) |
99 | | - .css( 'text-decoration', 'none' ) |
100 | | - .attr( 'href', site.url ) |
101 | | - .click( function() { |
102 | | - window.open( |
103 | | - site.url, |
104 | | - 'wpblackout_' + site.title + '_share' , |
105 | | - 'width=500,height=300,left=' + (screen.availWidth/2-250) + ',top=' + (screen.availHeight/2-150) |
106 | | - ); |
107 | | - return false; |
108 | | - } ).append( $item ); |
109 | | - } |
110 | | - var $icon = $( '<img></img>' ).attr( { 'width': 33, 'height': 33, 'src': site.icon } ); |
111 | | - var $iconLink = linkify( $icon ); |
112 | | - var $wordLink = linkify( site.title ); |
113 | | - var $div = $( '<div class="sopaSocial"></div>' ); |
114 | | - $div.hover( |
115 | | - function() { |
116 | | - $icon.attr( 'src', site.hi ); |
117 | | - $wordLink.css( 'color', '#ffffff' ); |
118 | | - }, |
119 | | - function() { |
120 | | - $icon.attr( 'src', site.icon ); |
121 | | - $wordLink.css( 'color', '#dedede' ); |
122 | | - } |
123 | | - ); |
124 | | - $div.append( $iconLink, $('<br>'), $wordLink ); |
125 | | - $socialDiv.append($div); |
126 | | - } )( socialSites[i] ); |
127 | | -} |
128 | | - |
129 | | - action.append( $( '<div class="sopaActionDiv"></div>' ).append( |
130 | | - $( '<p class="sopaActionHead">{{{wp-sopa-social-media-intro}}}</p>' ), |
131 | | - $( '<div class="sopaActionDiv"></div>' ).append( |
132 | | - $socialDiv, |
133 | | - $( '<div style="clear:both;"/>' ) |
134 | | - ) |
135 | | - ) ); |
136 | | - |
137 | | - |
138 | | - var learnMore = $('<div id="sopaLearnMore"><a class="action" href="{{{wp-sopa-learnmoreurl}}}">{{{wp-sopa-learnmore}}}</a></div>'); |
139 | | - |
140 | | - column.append( headline, intro, takeAction, action, learnMore ); |
141 | | - overlay.append( column ); |
142 | | - |
143 | | - $('body').append(overlay); |
144 | | - $('body').css('overflow','hidden'); // hide scrollbar for underlaying article |
145 | | -} )(jQuery); |
\ No newline at end of file |
Index: trunk/extensions/Blackout/Blackout.php |
— | — | @@ -9,7 +9,6 @@ |
10 | 10 | * @license GPL |
11 | 11 | * |
12 | 12 | * Thank you to *** for feedback, bug reporting and cleaning up code |
13 | | - * Thank you to Raymond and others mentioned in TweetANew.i18n.php for translation work |
14 | 13 | * |
15 | 14 | */ |
16 | 15 | |
— | — | @@ -30,10 +29,23 @@ |
31 | 30 | * - Enables blackout message |
32 | 31 | * Default is true |
33 | 32 | * |
| 33 | + * $wgBlackout['Skin'] |
| 34 | + * - Change the blackout skin |
| 35 | + * * ProtestSopa (Default) |
| 36 | + * * SopStrike |
| 37 | + * * StopSopa |
| 38 | + * |
| 39 | + * $wgBlackout['Whitelist'][] |
| 40 | + * - Add pages to the whitelist |
| 41 | + * |
34 | 42 | */ |
35 | 43 | |
36 | 44 | $wgBlackout = array( |
37 | 45 | 'Enable' => true, |
| 46 | + 'Skin' => 'ProtestSopa', |
| 47 | + 'Whitelist' => array( |
| 48 | + 'Special:Version', |
| 49 | + ), |
38 | 50 | ); |
39 | 51 | |
40 | 52 | /** |
— | — | @@ -42,32 +54,26 @@ |
43 | 55 | */ |
44 | 56 | |
45 | 57 | $dir = dirname(__FILE__) . '/'; |
| 58 | + |
46 | 59 | $wgAutoloadClasses['Blackout'] = $dir . 'Blackout.body.php'; |
47 | | -$wgExtensionMessagesFiles['Blackout'] = $dir . 'Blackout.i18n.php'; |
48 | 60 | |
49 | | -$wgResourceModules['ext.blackout'] = array( |
50 | | - 'styles' => 'ext.blackout.css', |
51 | | - 'scripts' => 'ext.blackout.js', |
52 | | - 'localBasePath' => dirname(__FILE__) . '/modules', |
53 | | - 'remoteExtPath' => 'Blackout/modules' |
54 | | -); |
| 61 | +$skinDir = $dir . 'skins/'; |
| 62 | +$wgAutoloadClasses['SkinProtestSopa'] = $skinDir . 'ProtestSopa.php'; |
| 63 | +$wgAutoloadClasses['SkinStopSopa'] = $skinDir . 'StopSopa.php'; |
| 64 | +$wgAutoloadClasses['SkinSopaStrike'] = $skinDir . 'SopaStrike.php'; |
55 | 65 | |
56 | | -/** |
| 66 | +/* |
57 | 67 | * Credits |
58 | | - * |
59 | 68 | */ |
60 | | - |
61 | 69 | $wgExtensionCredits['other'][] = array( |
62 | 70 | 'name' => 'Blackout', |
63 | 71 | 'version' => '1.0.20120117', |
64 | | - 'author' => '[https://www.mediawiki.org/wiki/User:Varnent Gregory Varnum] utilizing work by [https://www.mediawiki.org/wiki/Extension:Blackout#Credits these fantastic MediaWiki developers]', |
| 72 | + 'author' => array('[https://www.mediawiki.org/wiki/User:Varnent Gregory Varnum]', 'John Du Hart', '...'), |
65 | 73 | 'description' => 'For use during blackouts in protest to SOPA/PIPA and Internet censorship.', |
66 | 74 | 'url' => 'https://www.mediawiki.org/wiki/Extension:Blackout', |
67 | 75 | ); |
68 | 76 | |
69 | | -/** |
70 | | - * Call the hooks |
71 | | - * |
| 77 | +/* |
| 78 | + * Hooks |
72 | 79 | */ |
73 | | - |
74 | | -$wgHooks['BeforePageDisplay'][] = 'Blackout::BlackoutBanner'; |
| 80 | +$wgHooks['MediaWikiPerformAction'][] = 'Blackout::overrideAction'; |