當前位置: 首頁>>代碼示例>>PHP>>正文


PHP core_useragent::is_web_crawler方法代碼示例

本文整理匯總了PHP中core_useragent::is_web_crawler方法的典型用法代碼示例。如果您正苦於以下問題:PHP core_useragent::is_web_crawler方法的具體用法?PHP core_useragent::is_web_crawler怎麽用?PHP core_useragent::is_web_crawler使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在core_useragent的用法示例。


在下文中一共展示了core_useragent::is_web_crawler方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: initialise_user_session


//.........這裏部分代碼省略.........
         // Verify timeout first.
         $maxlifetime = $CFG->sessiontimeout;
         $timeout = false;
         if (isguestuser($userid) or empty($userid)) {
             // Ignore guest and not-logged in timeouts, there is very little risk here.
             $timeout = false;
         } else {
             if ($record->timemodified < time() - $maxlifetime) {
                 $timeout = true;
                 $authsequence = get_enabled_auth_plugins();
                 // Auths, in sequence.
                 foreach ($authsequence as $authname) {
                     $authplugin = get_auth_plugin($authname);
                     if ($authplugin->ignore_timeout_hook($_SESSION['USER'], $record->sid, $record->timecreated, $record->timemodified)) {
                         $timeout = false;
                         break;
                     }
                 }
             }
         }
         if ($timeout) {
             session_regenerate_id(true);
             $_SESSION = array();
             $DB->delete_records('sessions', array('id' => $record->id));
         } else {
             // Update session tracking record.
             $update = new \stdClass();
             $updated = false;
             if ($record->userid != $userid) {
                 $update->userid = $record->userid = $userid;
                 $updated = true;
             }
             $ip = getremoteaddr();
             if ($record->lastip != $ip) {
                 $update->lastip = $record->lastip = $ip;
                 $updated = true;
             }
             $updatefreq = empty($CFG->session_update_timemodified_frequency) ? 20 : $CFG->session_update_timemodified_frequency;
             if ($record->timemodified == $record->timecreated) {
                 // Always do first update of existing record.
                 $update->timemodified = $record->timemodified = time();
                 $updated = true;
             } else {
                 if ($record->timemodified < time() - $updatefreq) {
                     // Update the session modified flag only once every 20 seconds.
                     $update->timemodified = $record->timemodified = time();
                     $updated = true;
                 }
             }
             if ($updated) {
                 $update->id = $record->id;
                 $DB->update_record('sessions', $update);
             }
             return;
         }
     } else {
         if ($record) {
             // This happens when people switch session handlers...
             session_regenerate_id(true);
             $_SESSION = array();
             $DB->delete_records('sessions', array('id' => $record->id));
         }
     }
     unset($record);
     $timedout = false;
     if (!isset($_SESSION['SESSION'])) {
         $_SESSION['SESSION'] = new \stdClass();
         if (!$newsid) {
             $timedout = true;
         }
     }
     $user = null;
     if (!empty($CFG->opentogoogle)) {
         if (\core_useragent::is_web_crawler()) {
             $user = guest_user();
         }
         $referer = get_local_referer(false);
         if (!empty($CFG->guestloginbutton) and !$user and !empty($referer)) {
             // Automatically log in users coming from search engine results.
             if (strpos($referer, 'google') !== false) {
                 $user = guest_user();
             } else {
                 if (strpos($referer, 'altavista') !== false) {
                     $user = guest_user();
                 }
             }
         }
     }
     // Setup $USER and insert the session tracking record.
     if ($user) {
         self::set_user($user);
         self::add_session_record($user->id);
     } else {
         self::init_empty_session();
         self::add_session_record(0);
     }
     if ($timedout) {
         $_SESSION['SESSION']->has_timed_out = true;
     }
 }
開發者ID:alanaipe2015,項目名稱:moodle,代碼行數:101,代碼來源:manager.php

示例2: is_web_crawler

/**
 * Checks if current user is a web crawler.
 *
 * This list can not be made complete, this is not a security
 * restriction, we make the list only to help these sites
 * especially when automatic guest login is disabled.
 *
 * If admin needs security they should enable forcelogin
 * and disable guest access!!
 *
 * @return bool
 * @deprecated since Moodle 3.0 use \core_useragent::is_web_crawler instead.
 */
function is_web_crawler()
{
    debugging('is_web_crawler() has been deprecated, please use core_useragent::is_web_crawler() instead.', DEBUG_DEVELOPER);
    return core_useragent::is_web_crawler();
}
開發者ID:evltuma,項目名稱:moodle,代碼行數:18,代碼來源:deprecatedlib.php

示例3: test_useragent_web_crawler

 /**
  * @dataProvider user_agents_providers
  */
 public function test_useragent_web_crawler($useragent, $tests)
 {
     // Setup the core_useragent instance.
     core_useragent::instance(true, $useragent);
     $expectation = isset($tests['is_web_crawler']) ? $tests['is_web_crawler'] : false;
     $this->assertSame($expectation, core_useragent::is_web_crawler());
 }
開發者ID:mercysmart,項目名稱:naikelas,代碼行數:10,代碼來源:useragent_test.php


注:本文中的core_useragent::is_web_crawler方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。