+++ /dev/null
-<?php
-/**
- * @author Bachsau
- */
-
-class Asirra extends SimpleCaptcha
-{
- // Asirra URLs
- public $asirra_localpath = '';
- public $asirra_clientscript = 'http://challenge.asirra.com/js/AsirraClientSide.js';
- public $asirra_apiscript = 'http://challenge.asirra.com/cgi/Asirra';
-
- // As we don't have to store anything but some other things to do,
- // we're going to replace that constructor completely.
- function __construct()
- {
- global $wgScriptPath, $wgAsirraScriptPath;
-
- // WTF isn't this in ConfirmEdit_body.php?
- wfLoadExtensionMessages('ConfirmEdit');
- wfLoadExtensionMessages('Asirra');
-
- // Try to find $asirra_localpath if not set
- if (!$this -> asirra_localpath = $wgAsirraScriptPath)
- {
- if (strpos(__FILE__, $_SERVER['DOCUMENT_ROOT']) === 0)
- {
- $this -> asirra_localpath = preg_replace('/^' . preg_quote($_SERVER['DOCUMENT_ROOT'], '/') . '(\\/*)/s', '/', dirname(__FILE__));
- }
- else
- {
- $this -> asirra_localpath = $wgScriptPath . '/extensions/ConfirmEdit';
- }
- }
- }
-
- function getForm()
- {
- global $wgAsirraEnlargedPosition, $wgAsirraCellsPerRow, $wgOut;
-
- return '
- <script type="text/javascript" src="' . $this -> asirra_clientscript . '"></script>
- <script type="text/javascript" src="' . $this -> asirra_localpath . '/asirra_contentloaded.js"></script>
- <script type="text/javascript" src="' . $this -> asirra_localpath . '/asirra_humanverify.js"></script>
- <script type="text/javascript">
- asirraState.SetEnlargedPosition("' . $wgAsirraEnlargedPosition . '");
- asirraState.SetCellsPerRow(' . $wgAsirraCellsPerRow . ');
- var asirra_js_failed = "' . $this -> getMessage('createaccount-fail') . '"
- </script>
- <noscript>' . $wgOut -> parse($this -> getMessage('nojs')) . '</noscript>
- ';
- }
-
- function getMessage( $action )
- {
- $name = 'asirra-' . $action;
- $text = wfMsg($name);
- // Obtain a more tailored message, if possible, otherwise, fall back to
- // the default for edits
- return wfEmptyMsg($name, $text) ? wfMsg('asirra-edit') : $text;
- }
-
- // This is where the party goes on...
- function passCaptcha()
- {
- global $wgRequest, $wgAsirra;
-
- $ticket = $wgRequest -> getVal('Asirra_Ticket');
- $url = $this -> asirra_apiscript . '?action=ValidateTicket&ticket=' . $ticket;
-
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
- $resultXml = curl_exec($ch);
- curl_close($ch);
-
- $xml_parser = xml_parser_create();
- xml_set_element_handler($xml_parser, 'AsirraXmlParser::startElement', 'AsirraXmlParser::endElement');
- xml_set_character_data_handler($xml_parser, 'AsirraXmlParser::characterData');
- xml_parse($xml_parser, $resultXml, 1);
- xml_parser_free($xml_parser);
-
- if ($wgAsirra['passed'])
- {
- return true;
-
- }
- return false;
- }
-}
-
-class AsirraXmlParser
-{
- static function startElement($parser, $name, $attrs)
- {
- global $wgAsirra;
-
- $wgAsirra['inResult'] = ($name=="RESULT");
- }
-
- static function endElement($name)
- {
- global $wgAsirra;
-
- $wgAsirra['inResult'] = 0;
- }
-
- static function characterData($parer, $data)
- {
- global $wgAsirra;
-
- if ($wgAsirra['inResult'] && $data == "Pass")
- {
- $wgAsirra['passed'] = 1;
- }
- }
-}
+++ /dev/null
-<?php
-/**
- * Internationalisation file for the Asirra module of the ConfirmEdit
- * extension.
- *
- * @file
- * @ingroup Extensions
- */
-
-$messages = array();
-
-/* English */
-$messages['en'] = array(
- 'asirra-desc' => 'Asirra module for ConfirmEdit',
- 'asirra-edit' => 'To help protect against automated edit spam, please select just the cat photos in the box below:',
- 'asirra-addurl' => 'Your edit includes new external links. To help protect against automated spam, please select just the cat photos in the box below:',
- 'asirra-badpass' => 'To help protect against automated password cracking, please select just the cat photos in the box below:',
- 'asirra-createaccount' => 'To help protect against automated account creation, please select just the cat photos in the box below:',
- 'asirra-createaccount-fail' => "Please correctly identify the cats.",
- 'asirra-create' => 'To help protect against automated page creation, please select just the cat photos in the box below:',
- 'asirra-nojs' => '\'\'\'Please enable JavaScript and resubmit the page.\'\'\''
-);
-
-/** Belarusian (Taraškievica orthography) (Беларуская (тарашкевіца))
- * @author EugeneZelenko
- * @author Jim-by
- */
-$messages['be-tarask'] = array(
- 'asirra-desc' => 'Модуль Asirra для ConfirmEdit',
- 'asirra-edit' => 'Для абароны супраць спаму, калі ласка, выберыце толькі фота з катом ў полі ніжэй:',
- 'asirra-addurl' => 'Вашае рэдагаваньне ўтрымлівае новыя вонкавыя спасылкі. Для абароны супраць спаму, калі ласка, выберыце толькі фота з катом ў полі ніжэй:',
- 'asirra-badpass' => 'Для абароны супраць аўтаматычнага падбору паролю, калі ласка, выберыце толькі фота з катом ў полі ніжэй:',
- 'asirra-createaccount' => 'Для абароны супраць аўтаматычнага стварэньня рахункаў, калі ласка, выберыце толькі фота з катом ў полі ніжэй:',
- 'asirra-createaccount-fail' => 'Калі ласка, слушна выберыце катоў.',
- 'asirra-create' => 'Для абароны супраць аўтаматычнага стварэньня старонак, калі ласка, выберыце толькі фота з катом ў полі ніжэй:',
- 'asirra-nojs' => "'''Калі ласка, дазвольце JavaScript і дашліце старонку зноў.'''",
-);
-
-/** German (Deutsch) */
-$messages['de'] = array(
- 'asirra-desc' => 'Asirra-Modul für ConfirmEdit',
- 'asirra-edit' => 'Zum Schutz vor automatisiertem Spam, wähle bitte nur die Katzen im untenstehenden Feld aus:',
- 'asirra-addurl' => 'Deine Bearbeitung enthält neue externe Links. Zum Schutz vor automatisiertem Spam wähle bitte nur die Katzen im untenstehenden Feld aus:',
- 'asirra-badpass' => 'Zum Schutz gegen automatisiertes Knacken von Passwörtern, wähle bitte nur die Katzen im untenstehenden Feld aus:',
- 'asirra-createaccount' => 'Zum Schutz gegen automatisierte Erstellung von Benutzerkonten wähle bitte nur die Katzen im untenstehenden Feld aus:',
- 'asirra-createaccount-fail' => 'Bitte wähle nur Katzen aus.',
- 'asirra-create' => 'Zum Schutz gegen automatisierte Erstellung von Seiten, wähle bitte nur die Katzen im untenstehenden Feld aus:',
- 'asirra-nojs' => "'''Bitte aktiviere JavaScript und sende die Seite noch einmal ab.'''",
-);
-
-/** French (Français)
- * @author Seb35
- */
-$messages['fr'] = array(
- 'asirra-desc' => 'Module Asirra pour ConfirmEdit',
- 'asirra-edit' => 'Pour aider à nous protéger contre le spam d’édition automatique, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :',
- 'asirra-addurl' => 'Votre édition contient des liens externes. Pour nous aider à nous protéger contre le spam automatique, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :',
- 'asirra-badpass' => 'Pour nous aider à nous protéger des essais automatiques de cassage de mot de passe, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :',
- 'asirra-createaccount' => 'Pour nous aider à nous protéger contre la création automatique de comptes, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :',
- 'asirra-createaccount-fail' => 'Veuillez identifier correctement les chats.',
- 'asirra-create' => 'Pour nous aider à nous protéger contre la création automatique de pages, veuillez sélectionner uniquement les photos de chats dans la boîte ci-dessous :',
- 'asirra-nojs' => "'''Veuillez activer le JavaScript et re-soumettre la page.'''",
-);
-
-/** Galician (Galego)
- * @author Toliño
- */
-$messages['gl'] = array(
- 'asirra-desc' => 'Módulo Asirra para ConfirmEdit',
- 'asirra-edit' => 'Para axudarnos á protección contra o spam, seleccione só as fotos de gatos na caixa:',
- 'asirra-addurl' => 'A súa edición inclúe novas ligazóns externas. Para axudar na protección contra o spam automático, seleccione só as fotos de gatos na caixa:',
- 'asirra-badpass' => 'Para axudarnos á protección contra o roubo de contrasinais, seleccione só as fotos de gatos na caixa:',
- 'asirra-createaccount' => 'Para axudarnos á protección contra a creación automática de contas, seleccione só as fotos de gatos na caixa:',
- 'asirra-createaccount-fail' => 'Identifique correctamente os gatos.',
- 'asirra-create' => 'Para axudarnos á protección contra a creación automática de páxinas, seleccione só as fotos de gatos na caixa:',
- 'asirra-nojs' => "'''Active o JavaScript e volva enviar a páxina.'''",
-);
-
-/** Interlingua (Interlingua)
- * @author McDutchie
- */
-$messages['ia'] = array(
- 'asirra-desc' => 'Modulo de Asirra pro ConfirmEdit',
- 'asirra-edit' => 'Pro adjutar a proteger nos contra le spam automatisate, per favor selige solmente le photos de cattos in le quadro sequente:',
- 'asirra-addurl' => 'Iste modification include nove ligamines externe. Pro adjutar a proteger nos contra le spam automatisate, per favor selige solmente le photos de cattos in le quadro sequente:',
- 'asirra-badpass' => 'Pro adjutar a proteger nos contra le furto automatisate de contrasignos, per favor selige solmente le photos de catto in le quadro sequente:',
- 'asirra-createaccount' => 'Pro adjutar a proteger nos contra le creation automatisate de contos, per favor selige solmente le photos de cattos in le quadro sequente:',
- 'asirra-createaccount-fail' => 'Per favor identifica correctemente le cattos.',
- 'asirra-create' => 'Pro adjutar a proteger nos contra le creation automatisate de paginas, per favor selige solmente le photos de cattos in le quadro sequente:',
- 'asirra-nojs' => "'''Per favor activa JavaScript e resubmitte le pagina.'''",
-);
-
-/** Luxembourgish (Lëtzebuergesch)
- * @author Robby
- */
-$messages['lb'] = array(
- 'asirra-desc' => 'Asirra-Modul fir ConfirmEdit',
- 'asirra-createaccount-fail' => "Identifizéiert d'Kaze w.e.g. richteg.",
- 'asirra-nojs' => "'''Aktivéiert w.e.g. JavaScript a schéckt d'Säit nachemol.'''",
-);
-
-/** Macedonian (Македонски)
- * @author Bjankuloski06
- */
-$messages['mk'] = array(
- 'asirra-desc' => 'Asirra-модул за ПотврдиУредување',
- 'asirra-edit' => 'Како заштитна мерка против автоматизиран спам, изберете ги само сликите со мачка прикажани во полето:',
- 'asirra-addurl' => 'Во вашите измени има нови надворешни врски. Како заштитна мерка против автоматизиран спам, изберете ги само сликите со мачка прикажани во полето:',
- 'asirra-badpass' => 'Како заштитна мерка против автоматизирано провалување на лозинки, изберете ги само сликите со мачка прикажани во полето:',
- 'asirra-createaccount' => 'Како заштитна мерка против автоматизирано создавање на сметки, изберете ги само сликите со мачка прикажани во полето:',
- 'asirra-createaccount-fail' => 'Посочете кои од следниве се мачки.',
- 'asirra-create' => 'Како заштитна мерка против автоматизирано создавање на страници, изберете ги само сликите со мачка прикажани во полето:',
- 'asirra-nojs' => "'''Овозможете JavaScript и поднесете ја страницата повторно.'''",
-);
-
-/** Dutch (Nederlands)
- * @author SPQRobin
- * @author Siebrand
- */
-$messages['nl'] = array(
- 'asirra-desc' => 'Asirra-module voor ConfirmEdit',
- 'asirra-edit' => 'Kies ter bescherming tegen geautomatiseerde spam de afbeeldingen met een poes in het onderstaande venster:',
- 'asirra-addurl' => "Uw bewerking bevat nieuwe externe verwijzingen. Om te helpen beschermen tegen geautomatiseerde spam, selecteer de foto's van katten in het vak hieronder:",
- 'asirra-badpass' => 'Kies ter bescherming tegen het automatisch kraken van wachtwoorden de afbeeldingen met een poes in het onderstaande venster:',
- 'asirra-createaccount' => 'Kies om het automatisch aanmaken van gebruikers tegen te gaan de afbeeldingen met een poes in het onderstaande venster:',
- 'asirra-createaccount-fail' => 'Identificeer de katten juist.',
- 'asirra-create' => "Kies om het automatisch aanmaken van pagina's tegen te gaan de afbeeldingen met een poes in het onderstaande venster:",
- 'asirra-nojs' => "'''Schakel JavaScript in en probeer de pagina opnieuw op te slaan.'''",
-);
-
-/** Norwegian (bokmål) (Norsk (bokmål))
- * @author Event
- */
-$messages['no'] = array(
- 'asirra-desc' => 'Assirra-modulen for ConfirmEdit',
- 'asirra-edit' => 'Som beskyttelse mot automatisk redigert spam, vennligst velg kun kattebildene i boksen under:',
- 'asirra-addurl' => 'Din redigering inneholder nye eksterne lenker. Som beskyttelse mot automatisk redigert spam, vennligst velg kun kattebildene i boksen under:',
- 'asirra-badpass' => 'Som beskyttelse mot automatisk passordknekking, vennligst velg kun kattebildene i boksen under:',
- 'asirra-createaccount' => 'Som beskyttelse mot automatisk opprettelse av brukerkonto, vennligst velg kun kattebildene i boksen under:',
- 'asirra-createaccount-fail' => 'Vennligst angi hva som er katter.',
- 'asirra-create' => 'Som beskyttelse mot automatisk opprettelse av sider, vennligst velg kun kattebildene i boksen under:',
- 'asirra-nojs' => "'''Vennligst åpne for JavaScript og lagre siden en gang til.'''",
-);
-
-/** Portuguese (Português)
- * @author Hamilton Abreu
- */
-$messages['pt'] = array(
- 'asirra-desc' => 'Módulo Asirra para o ConfirmEdit',
- 'asirra-edit' => "Como prevenção contra sistemas automatizados de inserção de ''spam'', seleccione só as fotografias de gatos na caixa abaixo:",
- 'asirra-addurl' => "A sua edição contém links externos novos. Como prevenção contra sistemas automatizados de inserção de ''spam'', seleccione só as fotografias de gatos na caixa abaixo:",
- 'asirra-badpass' => 'Como prevenção com sistemas automatizados de descoberta de palavras-chave, seleccione só as fotografias de gatos na caixa abaixo:',
- 'asirra-createaccount' => 'Como prevenção contra sistemas automatizados de criação de contas, seleccione só as fotografias de gatos na caixa abaixo:',
- 'asirra-createaccount-fail' => 'Identifique correctamente os gatos, por favor.',
- 'asirra-create' => 'Como prevenção contra sistemas automatizados de criação de páginas, seleccione só as fotografias de gatos na caixa abaixo:',
- 'asirra-nojs' => "'''Possibilite o uso de JavaScript e reenvie a página, por favor.'''",
-);
-