function getUnblockLink($id) { $token = $this->mydb->getNewUnblockToken($id, BFStopTokenGenerator::getToken($this->logger)); $link = 'index.php?option=com_bfstop' . '&view=tokenunblock' . '&token=' . $token; $linkBase = JURI::base(); // strip off an eventual administrator - tokenunblock is a site view $adminDir = 'administrator/'; if (self::endsWith($linkBase, $adminDir)) { $linkBase = substr($linkBase, 0, strlen($linkBase) - strlen($adminDir)); } return $linkBase . $link; }
public function testGenerate() { $testlogger = new TestLogger(); $token = BFStopTokenGenerator::getToken($testlogger); printf("Generated Token: %s", $token); $this->assertEquals(strlen($token), 40); $this->assertTrue(ctype_xdigit($token)); if (function_exists('openssl_random_pseudo_bytes') || function_exists('mcrypt_create_iv') && (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN' || version_compare(phpversion(), '5.3.7') > 0)) { $this->assertEquals(sizeof($testlogger->logMessages), 1); $this->assertEquals($testlogger->logMessages[0]->level, JLog::VERBOSE); } else { $this->assertEquals(sizeof($testlogger->logMessages), 1); $this->assertEquals($testlogger->logMessages[0]->level, JLog::WARNING); } }