Changeset 1161
- Timestamp:
- 02/21/10 01:09:23 (3 years ago)
- Location:
- org.gnex.reCaptcha
- Files:
-
- 2 modified
-
files/lib/system/event/listener/ReCaptchaListener.class.php (modified) (2 diffs)
-
package.xml (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
org.gnex.reCaptcha/files/lib/system/event/listener/ReCaptchaListener.class.php
r1122 r1161 11 11 */ 12 12 class ReCaptchaListener implements EventListener { 13 public $ eventObj;13 public $useCaptcha = null; 14 14 15 15 /** … … 17 17 */ 18 18 public function execute($eventObj, $className, $eventName) { 19 // break 20 if(!MODULE_RECAPTCHA || !RECAPTCHA_KEY_PUBLIC || !RECAPTCHA_KEY_PRIVATE || !isset($eventObj->useCaptcha) || !$eventObj->useCaptcha) { 21 return; 19 if ($this->useCaptcha === null) { 20 if (isset($eventObj->useCaptcha)) { 21 $this->useCaptcha = $eventObj->useCaptcha; 22 $eventObj->useCaptcha = false; 23 } else { 24 $this->useCaptcha = true; 25 } 22 26 } 23 27 24 // completely disable parent handler 25 $eventObj->useCaptcha = false; 26 27 // bind 28 $this->eventObj = $eventObj; 29 30 // call our handler, if method is implemented 31 if(method_exists($this, $eventName)) { 32 $this->$eventName(); 28 if ($this->useCaptcha) { 29 switch ($eventName) { 30 case 'validate': 31 $eventObj->captcha->validate($eventObj->captchaString); 32 $eventObj->captcha = new ReCaptcha($eventObj->captchaID); 33 $eventObj->captcha->validate($_SERVER['REMOTE_ADDR'], $_REQUEST['recaptcha_challenge_field'], $_REQUEST['recaptcha_response_field']); 34 $this->useCaptcha = false; 35 break; 36 37 case 'assignVariables': 38 $eventObj->captchaID = ReCaptcha::create(); 39 $eventObj->captcha = new ReCaptcha($eventObj->captchaID); 40 WCF::getTPL()->assign('captcha', $eventObj->captcha->getCode()); 41 break; 42 } 33 43 } 34 }35 36 public function readData() {37 ###38 }39 40 public function validate() {41 $this->eventObj->captcha = new ReCaptcha($this->eventObj->captchaID);42 $this->eventObj->captcha->validate($_SERVER['REMOTE_ADDR'], $_REQUEST['recaptcha_challenge_field'], $_REQUEST['recaptcha_response_field']);43 }44 45 public function assignVariables() {46 $this->eventObj->captchaID = ReCaptcha::create();47 $this->eventObj->captcha = new ReCaptcha($this->eventObj->captchaID);48 WCF::getTPL()->assign('captcha', $this->eventObj->captcha->getCode());49 44 } 50 45 } -
org.gnex.reCaptcha/package.xml
r1146 r1161 6 6 <packagedescription><![CDATA[Ersetzt das Sicherheitsbild mit dem bekannten ReCaptcha]]></packagedescription> 7 7 <isunique>1</isunique> 8 <version>1.0. 3</version>9 <date>20 09-12-22</date>8 <version>1.0.4</version> 9 <date>2010-02-17</date> 10 10 <plugin>com.woltlab.wcf</plugin> 11 11 <packageurl><![CDATA[http://GneX.org]]></packageurl> … … 43 43 <templates>templates.tar</templates> 44 44 </instructions> 45 <instructions type="update" fromversion="1.0.3"> 46 <eventlistener>eventlistener.xml</eventlistener> 47 <files>files.tar</files> 48 </instructions> 45 49 </package>
