Я, наверное, упускаю из виду нечто действительно очевидное.
Комментарии служат для объяснения любого конкретного библиотечного кода.
public function areCookiesEnabled() {
$random = 'cx67ds';
// set cookie
cookie::set('test_cookie', $random);
// try and get cookie, if not set to false
$testCookie = cookie::get('test_cookie', false);
$cookiesAppend = '?cookies=false';
// were we able to get the cookie equal ?
$cookiesEnabled = ($testCookie === $random);
// if $_GET['cookies'] === false , etc try and remove $_GET portion
if ($this->input->get('cookies', false) === 'false' AND $cookiesEnabled) {
url::redirect(str_replace($cookiesAppend, '', url::current())); // redirect
return false;
}
// all else fails, add a $_GET[]
if ( ! $cookiesEnabled) {
url::redirect(url::current().$cookiesAppend);
}
return $cookiesEnabled;
}
Во-первых, я хотел простой способ проверить, включены ли файлы cookie. Я добился этого, но в случае отсутствия файлов cookie в URL-адресе имелось уродливое ?cookies=false
.
Это было нормально, но если вы перезагрузили страницу и снова включили файлы cookie, я хотел перенаправить пользователя, чтобы он удалил ?cookies=false
в URL (что позволяет методу перепроверить и узнать, что файлы cookie теперь включены .).