function logoutpage_hook() { global $redirect, $USER; if ($USER->auth != 'joomdle') { return; } $ua = core_useragent::get_user_agent_string(); $r = $this->call_method("logout", $USER->username, $ua); // Delete user key from table in Joomla if we had a remember me cookie if (array_key_exists($r, $_COOKIE) && $_COOKIE[$r]) { $cookieValue = $_COOKIE[$r]; $cookieArray = explode('.', $cookieValue); $this->call_method("deleteUserKey", $cookieArray[1]); } setcookie($r, false, time() - 42000, '/'); $logout_redirect_to_joomla = get_config('auth/joomdle', 'logout_redirect_to_joomla'); if ($logout_redirect_to_joomla) { $redirect = get_config('auth/joomdle', 'joomla_url') . '/components/com_joomdle/views/wrapper/getout.php'; } }
/** * Regression tests for the deprecated is_web_crawler() function */ public function test_deprecated_is_web_crawler() { $browsers = array('Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:18.0) Gecko/18.0 Firefox/18.0', 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/412 (KHTML, like Gecko) Safari/412', 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.215 Safari/534.10', 'Opera/9.0 (Windows NT 5.1; U; en)', 'Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 –Nexus', 'Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5'); $crawlers = array('Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', 'Googlebot/2.1 (+http://www.googlebot.com/bot.html)', 'Googlebot-Image/1.0', 'Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)', 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)', 'Mozilla/5.0 (compatible; bingbot/2.0 +http://www.bing.com/bingbot.htm)', 'msnbot/2.1', 'Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)', 'Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots)', 'AltaVista V2.0B crawler@evreka.com', 'ZoomSpider - wrensoft.com [ZSEBOT]', 'Baiduspider+(+http://www.baidu.com/search/spider_jp.html)', 'Baiduspider+(+http://www.baidu.com/search/spider.htm)', 'BaiDuSpider', 'User-Agent: Mozilla/2.0 (compatible; Ask Jeeves/Teoma)'); foreach ($browsers as $agent) { core_useragent::instance(true, $agent); $this->assertSame($agent, core_useragent::get_user_agent_string()); $this->assertFalse(is_web_crawler()); $this->assertDebuggingCalled('is_web_crawler() has been deprecated, please use core_useragent::is_web_crawler() instead.', DEBUG_DEVELOPER); } foreach ($crawlers as $agent) { core_useragent::instance(true, $agent); $this->assertSame($agent, core_useragent::get_user_agent_string()); $this->assertTrue(is_web_crawler(), "{$agent} should be considered a search engine"); $this->assertDebuggingCalled('is_web_crawler() has been deprecated, please use core_useragent::is_web_crawler() instead.', DEBUG_DEVELOPER); } }