Add cookie consent functionality, a=chris

Chris Pollett [2020-05-28 02:May:th]
Add cookie consent functionality, a=chris
Filename
src/configs/Config.php
src/controllers/AdminController.php
src/controllers/RegisterController.php
src/controllers/components/SystemComponent.php
src/css/search.css
src/index.php
src/library/WebSite.php
src/library/media_jobs/TrendingValueJob.php
src/locale/ar/configure.ini
src/locale/bn/configure.ini
src/locale/de/configure.ini
src/locale/en_US/configure.ini
src/locale/es/configure.ini
src/locale/fa/configure.ini
src/locale/fr_FR/configure.ini
src/locale/he/configure.ini
src/locale/hi/configure.ini
src/locale/id/configure.ini
src/locale/it/configure.ini
src/locale/ja/configure.ini
src/locale/kn/configure.ini
src/locale/ko/configure.ini
src/locale/nl/configure.ini
src/locale/pl/configure.ini
src/locale/pt/configure.ini
src/locale/ru/configure.ini
src/locale/te/configure.ini
src/locale/th/configure.ini
src/locale/tl/configure.ini
src/locale/tr/configure.ini
src/locale/vi_VN/configure.ini
src/locale/zh_CN/configure.ini
src/models/ProfileModel.php
src/models/TrendingModel.php
src/views/elements/FooterElement.php
src/views/elements/SecurityElement.php
src/views/layouts/WebLayout.php
diff --git a/src/configs/Config.php b/src/configs/Config.php
index ae87359e8..0f2d31f9d 100755
--- a/src/configs/Config.php
+++ b/src/configs/Config.php
@@ -491,6 +491,7 @@ if (file_exists(WORK_DIRECTORY . PROFILE_FILE_NAME)) {
     nsdefine('MONETIZATION_TYPE', "no_monetization");
     nsdefine('AD_LOCATION','none');
 }
+
 /** ignore */
 nsconddefine('PRIVATE_DBMS', 'Sqlite3');
 nsconddefine('PRIVATE_DB_USER', '');
@@ -512,7 +513,10 @@ nsconddefine('TIMEZONE', 'America/Los_Angeles');
  */
 nsconddefine('SESSION_NAME', "yioopbiscuit");
 nsconddefine('CSRF_TOKEN', "YIOOP_TOKEN");
-nsconddefine('AUTOLOGOUT', "3600");
+nsconddefine('AUTOLOGOUT', "" . ONE_HOUR);
+nsconddefine('COOKIE_LIFETIME', "" . ONE_YEAR);
+nsconddefine('SECURE_COOKIE', ((BASE_URL == NAME_SERVER) &&
+    !empty($_SERVER['HTTPS'])) ? true : false);
 /** locations that ads can be placed in search result pages */
 nsconddefine('AD_LOCATION', "none");
 date_default_timezone_set(TIMEZONE);
diff --git a/src/controllers/AdminController.php b/src/controllers/AdminController.php
index 71cf4645e..aa0d103dc 100755
--- a/src/controllers/AdminController.php
+++ b/src/controllers/AdminController.php
@@ -203,6 +203,9 @@ class AdminController extends Controller implements CrawlConstants
             $data['USERNAME'] = $signin_model->getUserName(
                 $_SESSION['USER_ID']);
         }
+        if (C\nsdefined("COOKIE_CONSENT") && !C\COOKIE_CONSENT) {
+            $data['DISPLAY_MESSAGE'] = tl('admin_controller_no_cookie_consent');
+        }
         $this->initializeAdFields($data, false);
         $this->displayView($view, $data);
     }
diff --git a/src/controllers/RegisterController.php b/src/controllers/RegisterController.php
index 294955bf5..cf9c742c3 100755
--- a/src/controllers/RegisterController.php
+++ b/src/controllers/RegisterController.php
@@ -231,6 +231,10 @@ class RegisterController extends Controller implements CrawlConstants
             in_array('register_validator', $data['INCLUDE_SCRIPTS'])) {
             $data['SCRIPT'] .= 'tl = '.json_encode($tl).';setSubmitStatus';
         }
+        if (C\nsdefined("COOKIE_CONSENT") && !C\COOKIE_CONSENT) {
+            $data['DISPLAY_MESSAGE'] =
+                tl('register_controller_no_cookie_consent');
+        }
         $this->displayView($view, $data);
     }
     /**
diff --git a/src/controllers/components/SystemComponent.php b/src/controllers/components/SystemComponent.php
index 1a470151a..39fb750d0 100755
--- a/src/controllers/components/SystemComponent.php
+++ b/src/controllers/components/SystemComponent.php
@@ -834,6 +834,13 @@ EOD;
             2 * C\ONE_HOUR => tl('system_component_two_hours'),
             C\ONE_DAY => tl('system_component_one_day'),
         ];
+        $data['COOKIE_LIFETIMES'] = [
+            -1 => tl('system_component_consent_disabled'),
+            C\ONE_MONTH => tl('system_component_one_month'),
+            6 * C\ONE_MONTH => tl('system_component_six_month'),
+            C\ONE_YEAR => tl('system_component_one_year'),
+            2 * C\ONE_YEAR => tl('system_component_two_years'),
+        ];
         $data['CAN_LOCALIZE'] = $parent->model("user")->isAllowedUserActivity(
             $_SESSION['USER_ID'], "manageLocales");
         $profile_model = $parent->model("profile");
@@ -867,14 +874,19 @@ EOD;
             $profile['AUTOLOGOUT'] = C\ONE_HOUR;
             $change = true;
         }
+        if (empty($profile['COOKIE_LIFETIME'])) {
+            $profile['COOKIE_LIFETIME'] = C\ONE_YEAR;
+            $change = true;
+        }
         if (isset($_REQUEST['arg']) &&
             in_array($_REQUEST['arg'], $possible_arguments)) {
             switch ($_REQUEST['arg']) {
                 case "updatetypes":
                     $change = false;
                     $mode_fields = ['AUTOLOGOUT', 'CAPTCHA_MODE',
-                        'DIFFERENTIAL_PRIVACY', 'GROUP_ANALYTICS_MODE',
-                        'RECOVERY_MODE', 'SEARCH_ANALYTICS_MODE'];
+                        'COOKIE_LIFETIME', 'DIFFERENTIAL_PRIVACY',
+                        'GROUP_ANALYTICS_MODE', 'RECOVERY_MODE',
+                        'SEARCH_ANALYTICS_MODE'];
                     foreach ($mode_fields as $mode) {
                         $modes = ($mode == 'DIFFERENTIAL_PRIVACY') ?
                             'PRIVACY_MODES': (($mode == 'AUTOLOGOUT')
diff --git a/src/css/search.css b/src/css/search.css
index 05e0b837a..f961801b9 100755
--- a/src/css/search.css
+++ b/src/css/search.css
@@ -760,6 +760,19 @@ body.mobile
     width: 100%;
     z-index:50;
 }
+/* controls */
+a.anchor-button {
+    background-color: #AAA;
+    border-radius: 5px;
+    color: #FFF !important;
+    cursor: pointer;
+    display: inline-block;
+    font-weight: bold;
+    margin: 8px;
+    padding: 5px 8px;
+    text-align: center;
+    text-decoration: none;
+}
 /*
   ComponentView styles
  */
@@ -819,6 +832,13 @@ body.mobile
   color: white;
   text-align: center;
 }
+.cookie-consent {
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: 100%;
+  text-align: center;
+}
 /*
    Landing page (www.yioop.com) specific css
  */
diff --git a/src/index.php b/src/index.php
index 8e0db40be..9a03d56de 100644
--- a/src/index.php
+++ b/src/index.php
@@ -89,14 +89,39 @@ function bootstrap($web_site = null, $start_new_session = true)
         to images containing HTML. Also, might help against PRSSI attacks.
         */
         if ($start_new_session) {
-            $options = ['name' => C\SESSION_NAME];
-            $web_site->sessionStart($options);
+            if (checkCookieConsent($web_site)) {
+                $options = ['name' => C\SESSION_NAME,
+                    'cookie_lifetime' => C\COOKIE_LIFETIME];
+                if (C\nsdefined("SECURE_COOKIE") && C\SECURE_COOKIE) {
+                    $options["cookie_secure"] = true;
+                }
+                if (intval(C\COOKIE_LIFETIME) <= 0) {
+                    $options['cookie_lifetime'] = C\AUTOLOGOUT;
+                }
+                if (isset($_REQUEST['cookieconsent'])) {
+                    if (empty($_REQUEST['cookieconsent']) ||
+                        $_REQUEST['cookieconsent'] == "false") {
+                        //remove cookie from browser if consent revoked
+                        $options["cookie_lifetime"] = - C\ONE_HOUR;
+                    }
+                }
+                $web_site->sessionStart($options);
+                if (!empty($_REQUEST['cookieconsent'])) {
+                    $uri = preg_replace("/cookieconsent\=[a-zA-Z]+(\&+)?/", "",
+                        $_SERVER['REQUEST_URI']);
+                    if (strlen($uri) > 1 && substr($uri, -1) == "?") {
+                        $uri = substr($uri, 0, -1);
+                    }
+                    $web_site->header("Location:" . $uri);
+                    L\webExit();
+                }
+            }
         }
     }
     /**
      * Load global functions related to checking Yioop! version
      */
-    require_once C\BASE_DIR."/library/UpgradeFunctions.php";
+    require_once C\BASE_DIR . "/library/UpgradeFunctions.php";
     if (!function_exists('mb_internal_encoding')) {
         echo "PHP Zend Multibyte Support must be enabled for Yioop! to run.";
         exit();
@@ -171,6 +196,19 @@ function bootstrap($web_site = null, $start_new_session = true)
     $controller = new $controller_class($web_site);
     $controller->processRequest();
 }
+/**
+ *
+ */
+function checkCookieConsent($web_site)
+{
+    if (C\PROFILE && intval(C\COOKIE_LIFETIME) > 0 &&
+        empty($_COOKIE[C\SESSION_NAME])
+        && empty($_REQUEST['cookieconsent'])) {
+        C\nsdefine("COOKIE_CONSENT", false);
+        return false;
+    }
+    return true;
+}
 /**
  * Used to setup and handles url rewriting for the Yioop Web app
  *
diff --git a/src/library/WebSite.php b/src/library/WebSite.php
index 82cc07540..f74aa52ee 100644
--- a/src/library/WebSite.php
+++ b/src/library/WebSite.php
@@ -489,8 +489,8 @@ class WebSite
                  $_COOKIE[$cookie_name];
             $time = time();
             $lifetime = intval($options['cookie_lifetime']);
-            $expires = ($lifetime > 0) ? $time + $lifetime : 0;
-            if ($lifetime == 0) {
+            $expires = max($time + $lifetime, 0);
+            if ($lifetime <= 0) {
                 $lifetime = $time;
             }
             if (empty($session_id)) {
@@ -530,7 +530,13 @@ class WebSite
             $_COOKIE[$cookie_name] = $session_id;
             $this->current_session = $cookie_name;
         } else {
-            session_start($options);
+            if (empty($options['cookie_lifetime']) ||
+            $options['cookie_lifetime'] >= 0) {
+                session_start($options);
+            } else if (!empty($_COOKIE)) {
+                setcookie($options['name'], "", time() - 3600,
+                    $options['cookie_path'] ?? "/");
+            }
         }
     }
     /**
diff --git a/src/library/media_jobs/TrendingValueJob.php b/src/library/media_jobs/TrendingValueJob.php
index cb09bb48a..f74187e81 100644
--- a/src/library/media_jobs/TrendingValueJob.php
+++ b/src/library/media_jobs/TrendingValueJob.php
@@ -191,7 +191,7 @@ class TrendingValueJob extends MediaJob
         $trending_sites = FetchUrl::getPages($trending_sites, false, 0, null,
             "SOURCE_URL", CrawlConstants::PAGE, false, null, true);
         $insert_sql = "INSERT INTO TRENDING_TERM (TERM, OCCURRENCES, " .
-            "UPDATE_PERIOD, TIMESTAMP, LANGUAGE, CATEGORY) VALUES ".
+            "UPDATE_PERIOD, TIMESTAMP, LANGUAGE, CATEGORY) VALUES " .
             "(?, ?, ?, ?, ?, ?)";
         $time = time();
         foreach ($trending_sites as $trending_site) {
diff --git a/src/locale/ar/configure.ini b/src/locale/ar/configure.ini
index c9ec5679f..ceb933d29 100755
--- a/src/locale/ar/configure.ini
+++ b/src/locale/ar/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "تسجيل الدخول الناجحة!!"
 admin_controller_login_failed = "اسم المستخدم أو كلمة المرور غير صحيحة!"
 admin_controller_login_to_config = "تسجيل الدخول لمتابعه التكوين (الافتراضي: u = root ، p =)"
 admin_controller_status_updates_stopped = "توقفت عن تحديثات الحالة."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "الحساب"
 admin_controller_social = "الاجتماعية"
 admin_controller_crawl_settings = "يزحف"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 دقيقة"
 system_component_one_hour = "ساعة واحدة"
 system_component_two_hours = "ساعتين"
 system_component_one_day = "يوم واحد"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "تجزئة Captcha"
 system_component_image_captcha = "صورة Captcha"
 system_component_no_recovery = "لا المستخدم كلمة السر الانتعاش الرابط"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "أدخل اسمك الأول"
 register_validator_js_enter_lastname = "أدخل الاسم الأخير"
 register_validator_js_retype_password_matched = "كلمة المرور&amp;#039;s المباراة"
 register_validator_js_retype_password_not_matched = "كلمة السر غير مطابقة"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "إنشاء الحساب بنجاح!!"
 register_controller_account_request_made = "تسجيل حساب طلب تم إرساله!"
 register_controller_admin_activation_request = "Yioop المستخدم طلب تفعيل"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "التوقيت:"
 security_element_token_name = "رمزية اسم:"
 security_element_session_name = "اسم الدورة:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "الخصوصية"
 security_element_differential_privacy = "التفاضلية الخصوصية:"
 security_element_group_analytics = "مجموعة تحليلات:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "كريس Pollett"
 web_layout_query_statistics = "إحصائيات الاستعلام"
 web_layout_total_elapsed_time = "إجمالي الوقت المنقضي للاستعلامات:  %s ثوان."
 web_layout_query_time = "الوقت:  %s ثوان."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "بي إتش بي محرك البحث-يوب!:  %s"
diff --git a/src/locale/bn/configure.ini b/src/locale/bn/configure.ini
index 72db39572..73c3b1677 100755
--- a/src/locale/bn/configure.ini
+++ b/src/locale/bn/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "লগইন সফল!!"
 admin_controller_login_failed = "ব্যবহারকারীর নাম বা পাসওয়ার্ড ভুল!"
 admin_controller_login_to_config = "লগইন অব্যাহত রাখার জন্য কনফিগারেশন (ডিফল্ট: u=root p=)"
 admin_controller_status_updates_stopped = "স্ট্যাটাস আপডেট বন্ধ আছে."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "অ্যাকাউন্ট"
 admin_controller_social = "সামাজিক"
 admin_controller_crawl_settings = "হামাগুড়ি দেয়"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 মিনিট"
 system_component_one_hour = "এক ঘন্টা"
 system_component_two_hours = "দুই ঘন্টা"
 system_component_one_day = "এক দিন"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "হ্যাশ ক্যাপচা"
 system_component_image_captcha = "ইমেজ ক্যাপচা"
 system_component_no_recovery = "কোন ব্যবহারকারী পাসওয়ার্ড পুনরুদ্ধার লিঙ্ক"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "আপনার প্রথম না
 register_validator_js_enter_lastname = "Enter your last name"
 register_validator_js_retype_password_matched = "পাসওয়ার্ড&amp;#039;s ম্যাচ"
 register_validator_js_retype_password_not_matched = "পাসওয়ার্ড মেলে না"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "একাউন্ট সফলভাবে তৈরি!!"
 register_controller_account_request_made = "অ্যাকাউন্ট নিবন্ধন অনুরোধ পাঠানো হয়েছে!"
 register_controller_admin_activation_request = "Yioop ব্যবহারকারী অনুরোধ করেছে অ্যাক্টিভেশন"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "সময় অঞ্চল:"
 security_element_token_name = "টোকেন নাম:"
 security_element_session_name = "অধিবেশন নাম:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "গোপনীয়তা"
 security_element_differential_privacy = "ডিফারেনশিয়াল গোপনীয়তা:"
 security_element_group_analytics = "গ্রুপ বিশ্লেষণ:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "ক্রিস Pollett"
 web_layout_query_statistics = "ক্যোয়ারী পরিসংখ্যান"
 web_layout_total_elapsed_time = "মোট ব্যায়িত সময় প্রশ্নের জন্য: %s seconds."
 web_layout_query_time = "সময়: %s seconds."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "পিএইচপি সার্চ ইঞ্জিন - Yioop! : %s"
diff --git a/src/locale/de/configure.ini b/src/locale/de/configure.ini
index a0acd9b4e..e88d70ce0 100755
--- a/src/locale/de/configure.ini
+++ b/src/locale/de/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Login Erfolgreich!!"
 admin_controller_login_failed = "Benutzername oder Passwort Falsch!"
 admin_controller_login_to_config = "Einloggen, um die Konfiguration fortzusetzen (default: u=root, p=)"
 admin_controller_status_updates_stopped = "Status-updates aufgeh&ouml;rt haben."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Konto"
 admin_controller_social = "Soziale"
 admin_controller_crawl_settings = "Kriecht"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 Minuten"
 system_component_one_hour = "Eine Stunde"
 system_component_two_hours = "Zwei Stunden"
 system_component_one_day = "Eines Tages"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hash-Captcha"
 system_component_image_captcha = "Bild Captcha"
 system_component_no_recovery = "Kein Benutzer-Passwort-Recovery-Link"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Geben Sie Ihren Vornamen ein"
 register_validator_js_enter_lastname = "Geben Sie Ihren Nachnamen ein"
 register_validator_js_retype_password_matched = "Passwort&amp;#039;s Spiel"
 register_validator_js_retype_password_not_matched = "Passwort nicht &uuml;bereinstimmen"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Account erfolgreich erstellt!!"
 register_controller_account_request_made = "Konto-Registrierung Anfrage wurde gesendet!"
 register_controller_admin_activation_request = "Yioop Benutzer Aufgefordert Die Aktivierung"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Timezone:"
 security_element_token_name = "Token-Name:"
 security_element_session_name = "Session Name:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Datenschutz"
 security_element_differential_privacy = "Differential Privacy:"
 security_element_group_analytics = "Gruppe Analytik:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Abfrage Der Statistik"
 web_layout_total_elapsed_time = "Insgesamt Verstrichene Zeit f&uuml;r Abfragen: %s Sekunden."
 web_layout_query_time = "Zeit: %s Sekunden."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP Suchmaschine - Yioop! : %s"
diff --git a/src/locale/en_US/configure.ini b/src/locale/en_US/configure.ini
index be5a05e02..27e93c695 100644
--- a/src/locale/en_US/configure.ini
+++ b/src/locale/en_US/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Login Successful!!"
 admin_controller_login_failed = "Username or Password Incorrect!"
 admin_controller_login_to_config = "Login to continue configuration (default: u=root, p=)"
 admin_controller_status_updates_stopped = "Status updates have stopped."
+admin_controller_no_cookie_consent = "Cookies need to be enabled to register or log in to a Yioop!"
 admin_controller_account_access = "Account"
 admin_controller_social = "Social"
 admin_controller_crawl_settings = "Crawls"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 minutes"
 system_component_one_hour = "One Hour"
 system_component_two_hours = "Two Hours"
 system_component_one_day = "One Day"
+system_component_consent_disabled = "Consent Disabled"
+system_component_one_month = "One Month"
+system_component_six_month = "Six Months"
+system_component_one_year = "One Year"
+system_component_two_years = "Two Years"
 system_component_hash_captcha = "Hash Captcha"
 system_component_image_captcha = "Image Captcha"
 system_component_no_recovery = "No User Password Recovery Link"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Enter your first name"
 register_validator_js_enter_lastname = "Enter your last name"
 register_validator_js_retype_password_matched = "Password&#039;s match"
 register_validator_js_retype_password_not_matched = "Password do not match"
+register_controller_no_cookie_consent = "Cookies need to be enabled to register or log in to a Yioop!"
 register_controller_account_created = "Account created successfully!!"
 register_controller_account_request_made = "Account registration request has been sent!"
 register_controller_admin_activation_request = "Yioop User Has Requested Activation"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Timezone:"
 security_element_token_name = "Token Name:"
 security_element_session_name = "Session Name:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = "Cookie Consent Expires:"
 security_element_privacy = "Privacy"
 security_element_differential_privacy = "Differential Privacy:"
 security_element_group_analytics = "Group Analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Query Statistics"
 web_layout_total_elapsed_time = "Total Elapsed Time for Queries: %s seconds."
 web_layout_query_time = "Time: %s seconds."
+web_layout_cookie_uses = "We use cookies to implement this site&#039;s user functionality, social media features, and traffic analytics."
+web_layout_privacy_policy = "Privacy Policy Details"
+web_layout_allow_cookies = "Allow Cookies"
 ;
 ; RssLayout.php
 rss_layout_title = "PHP Search Engine - Yioop! : %s"
diff --git a/src/locale/es/configure.ini b/src/locale/es/configure.ini
index a51af063e..b6d0c6dd8 100755
--- a/src/locale/es/configure.ini
+++ b/src/locale/es/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Inicio de sesi&oacute;n con &eacute;xito."
 admin_controller_login_failed = "El nombre de usuario o la contrase&ntilde;a introducidos no son correctos."
 admin_controller_login_to_config = "Inicia sesi&oacute;n para continuar con la configuraci&oacute;n (default: u=root, p=)"
 admin_controller_status_updates_stopped = "Las actualizaciones se han detenido."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Cuenta"
 admin_controller_social = "Social"
 admin_controller_crawl_settings = "Los rastreos"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 minutos"
 system_component_one_hour = "Una Hora"
 system_component_two_hours = "Dos Horas"
 system_component_one_day = "Un D&iacute;a"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hash Captcha"
 system_component_image_captcha = "Imagen Captcha"
 system_component_no_recovery = "No Hay Enlace De Recuperaci&oacute;n De Contrase&ntilde;a De Usuario"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Ingresa tu primer nombre"
 register_validator_js_enter_lastname = "Ingresa tu apellido"
 register_validator_js_retype_password_matched = "Contrase&ntilde;a&amp;#039;s partido"
 register_validator_js_retype_password_not_matched = "La contrase&ntilde;a no coinciden"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Cuenta creada con &eacute;xito!!"
 register_controller_account_request_made = "Cuenta de la solicitud de registro ha sido enviado!"
 register_controller_admin_activation_request = "Yioop Usuario Ha Solicitado La Activaci&oacute;n"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "La zona horaria:"
 security_element_token_name = "Token De Nombre De:"
 security_element_session_name = "Nombre De La Sesi&oacute;n:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Privacidad"
 security_element_differential_privacy = "Diferencial De Privacidad:"
 security_element_group_analytics = "Grupo De Analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Consulta Las Estad&iacute;sticas"
 web_layout_total_elapsed_time = "El Tiempo Total Transcurrido para Consultas: %s segundos."
 web_layout_query_time = "Tiempo: %s segundos."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP Motor de B&uacute;squeda - Yioop! : %s"
diff --git a/src/locale/fa/configure.ini b/src/locale/fa/configure.ini
index 08ea39531..6a7e41792 100755
--- a/src/locale/fa/configure.ini
+++ b/src/locale/fa/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "با موفقیت وارد شدید!!"
 admin_controller_login_failed = "نام کاربری یا رمز عبور اشتباه است!"
 admin_controller_login_to_config = "برای ادامهٔ تنظیمات وارد شوید (پیش&zwnj;فرض: نام کاربری=root و رمز عبور=)"
 admin_controller_status_updates_stopped = "به روز رسانی وضعیت متوقف شده است."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "حساب"
 admin_controller_social = "اجتماعی"
 admin_controller_crawl_settings = "می خزد"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 دقیقه"
 system_component_one_hour = "یک ساعت"
 system_component_two_hours = "دو ساعت"
 system_component_one_day = "یک روز"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "هش کد امنیتی"
 system_component_image_captcha = "تصویر کد امنیتی"
 system_component_no_recovery = "هیچ کاربری بازیابی رمز عبور لینک"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "نام خود را وارد کنید"
 register_validator_js_enter_lastname = "خود را وارد کنید نام خانوادگی"
 register_validator_js_retype_password_matched = "رمز عبور&amp;#039;s مطابقت"
 register_validator_js_retype_password_not_matched = "رمز عبور مطابقت ندارد"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "حساب ایجاد شده با موفقیت!!"
 register_controller_account_request_made = "ثبت حساب درخواست ارسال شده است!"
 register_controller_admin_activation_request = "Yioop کاربر درخواست فعال سازی"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "منطقه زمانی:"
 security_element_token_name = "رمز نام:"
 security_element_session_name = "جلسه نام و نام خانوادگی:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "حریم خصوصی"
 security_element_differential_privacy = "دیفرانسیل حریم خصوصی:"
 security_element_group_analytics = "گروه تجزیه و تحلیل:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "کریس Pollett"
 web_layout_query_statistics = "آمار پرسمان"
 web_layout_total_elapsed_time = "زمان کل پرسمان: %s ثانیه."
 web_layout_query_time = "زمان: %s ثانیه."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "موتور جستجوی PHP - Yioop! : %s"
diff --git a/src/locale/fr_FR/configure.ini b/src/locale/fr_FR/configure.ini
index 7333355b4..a51b343a0 100755
--- a/src/locale/fr_FR/configure.ini
+++ b/src/locale/fr_FR/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "D&eacute;connexion r&eacute;ussie!"
 admin_controller_login_failed = "Nom d&#039;utilisateur ou mot de passe incorrect!"
 admin_controller_login_to_config = "Connexion pour continuer la configuration (par d&eacute;faut: u=root, p=)"
 admin_controller_status_updates_stopped = "Mises &agrave; jour de statut ont arr&ecirc;t&eacute;."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Compte"
 admin_controller_social = "Sociale"
 admin_controller_crawl_settings = "Les analyses"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 minutes"
 system_component_one_hour = "Une heure"
 system_component_two_hours = "Deux heures"
 system_component_one_day = "Un jour"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hachage captcha"
 system_component_image_captcha = "Image captcha"
 system_component_no_recovery = "Pas de lien de r&eacute;cup&eacute;ration de mot de passe utilisateur"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Entrez votre pr&eacute;nom"
 register_validator_js_enter_lastname = "Entrez votre nom de famille"
 register_validator_js_retype_password_matched = "Correspondance du mot de passe"
 register_validator_js_retype_password_not_matched = "Le mot de passe ne correspondent pas"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Compte a &eacute;t&eacute; cr&eacute;&eacute; avec succ&egrave;s!!"
 register_controller_account_request_made = "Compte votre demande d&#039;inscription a &eacute;t&eacute; envoy&eacute;!"
 register_controller_admin_activation_request = "Yioop l&#039;utilisateur a demand&eacute; l&#039;activation"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Fuseau horaire:"
 security_element_token_name = "Nom du jeton:"
 security_element_session_name = "Nom de la session:"
 security_element_autologout = "D&eacute;connexion automatique:"
+security_element_consent_expires = ""
 security_element_privacy = "La vie priv&eacute;e"
 security_element_differential_privacy = "Diff&eacute;rentiel de confidentialit&eacute;:"
 security_element_group_analytics = "Groupe analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Statistiques sur les requ&ecirc;tes"
 web_layout_total_elapsed_time = "Temps total &eacute;coul&eacute; pour les requ&ecirc;tes: %s secondes."
 web_layout_query_time = "Temps: %s secondes."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "Moteur de recherche PHP -Yioop! %s"
diff --git a/src/locale/he/configure.ini b/src/locale/he/configure.ini
index 8407ec640..def83fc1e 100755
--- a/src/locale/he/configure.ini
+++ b/src/locale/he/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "התחברות מוצלחת!!"
 admin_controller_login_failed = "סיסמא / שם משתמש אינו נכון"
 admin_controller_login_to_config = "התחברות כדי להמשיך בקביעת התצורה (ברירת מחדל: u = root, p =)"
 admin_controller_status_updates_stopped = "עדכוני סטטוס פסקו."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "חשבון"
 admin_controller_social = "חברתית"
 admin_controller_crawl_settings = "זוחל"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 דקות"
 system_component_one_hour = "שעה אחת"
 system_component_two_hours = "שעתיים"
 system_component_one_day = "יום אחד"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "חשיש Captcha"
 system_component_image_captcha = "תמונת Captcha"
 system_component_no_recovery = "לא משתמש שחזור סיסמה הקישור"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "הזן את השם הפרטי שלך"
 register_validator_js_enter_lastname = "הזן את שם המשפחה שלך"
 register_validator_js_retype_password_matched = "הסיסמה&amp;#039;s התאמה"
 register_validator_js_retype_password_not_matched = "סיסמא לא תואמים."
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "החשבון נוצר בהצלחה!!"
 register_controller_account_request_made = "רישום חשבון בקשה נשלח!"
 register_controller_admin_activation_request = "Yioop המשתמש ביקש הפעלה"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "אזור זמן:"
 security_element_token_name = "אסימון שם:"
 security_element_session_name = "שם ההפעלה:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "פרטיות"
 security_element_differential_privacy = "ההפרש פרטיות:"
 security_element_group_analytics = "קבוצת Analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "כריס Pollett"
 web_layout_query_statistics = "שאילתה סטטיסטיקה"
 web_layout_total_elapsed_time = "סה &quot; כ הזמן שחלף עבור שאילתות: %s שניות."
 web_layout_query_time = "זמן: %s שניות."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP מנוע חיפוש - Yioop! : %s"
diff --git a/src/locale/hi/configure.ini b/src/locale/hi/configure.ini
index 74ae28b33..f398ef141 100755
--- a/src/locale/hi/configure.ini
+++ b/src/locale/hi/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "लॉग इन सफल"
 admin_controller_login_failed = "लॉग इन असफल"
 admin_controller_login_to_config = "विन्यास जारी रखने के लिए लॉगिन (डिफ़ॉल्ट: उपयोगकर्ता नाम = root, पासवर्ड =)"
 admin_controller_status_updates_stopped = "स्थिति अद्यतन बंद कर दिया है."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "खाते"
 admin_controller_social = "सामाजिक"
 admin_controller_crawl_settings = "क्रॉल"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 मिनट"
 system_component_one_hour = "एक घंटे"
 system_component_two_hours = "दो घंटे"
 system_component_one_day = "एक दिन"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "हैश कैप्चा"
 system_component_image_captcha = "छवि कैप्चा"
 system_component_no_recovery = "कोई उपयोगकर्ता पासवर्ड वसूली लिंक"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "अपना पहला नाम द
 register_validator_js_enter_lastname = "अपने अंतिम नाम दर्ज करें"
 register_validator_js_retype_password_matched = "पासवर्ड&amp;#039;s मैच"
 register_validator_js_retype_password_not_matched = "पासवर्ड मेल नहीं खाते"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "खाता सफलतापूर्वक बनाया गया!!"
 register_controller_account_request_made = "खाता पंजीकरण के लिए अनुरोध भेजा गया है!"
 register_controller_admin_activation_request = "Yioop उपयोगकर्ता अनुरोध सक्रियण"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "समय क्षेत्र:"
 security_element_token_name = "टोकन का नाम:"
 security_element_session_name = "सत्र का नाम:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "गोपनीयता"
 security_element_differential_privacy = "अंतर गोपनीयता:"
 security_element_group_analytics = "समूह विश्लेषिकी:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "क्रिस Pollett"
 web_layout_query_statistics = "क्वेरी आँकड़े"
 web_layout_total_elapsed_time = "कुल गुजरे समय प्रश्नों के लिए: %s सेकंड."
 web_layout_query_time = "समय: %s सेकंड."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP खोज इंजन - Yioop! : %s"
diff --git a/src/locale/id/configure.ini b/src/locale/id/configure.ini
index d10224d4f..4f850ce2e 100755
--- a/src/locale/id/configure.ini
+++ b/src/locale/id/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Login berhasil"
 admin_controller_login_failed = "Login tidak berhasil"
 admin_controller_login_to_config = "Login untuk melanjutkan konfigurasi (default: username = root, password =)"
 admin_controller_status_updates_stopped = "Update Status telah berhenti."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Akun"
 admin_controller_social = "Sosial"
 admin_controller_crawl_settings = "Merangkak"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 menit"
 system_component_one_hour = "Satu Jam"
 system_component_two_hours = "Dua Jam"
 system_component_one_day = "Satu Hari"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hash Captcha"
 system_component_image_captcha = "Gambar Captcha"
 system_component_no_recovery = "Tidak Ada User Password Recovery Link"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Masukkan nama pertama anda"
 register_validator_js_enter_lastname = "Masukkan nama terakhir anda"
 register_validator_js_retype_password_matched = "Password&amp;#039;s pertandingan"
 register_validator_js_retype_password_not_matched = "Kata sandi tidak cocok"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Akun berhasil dibuat!!"
 register_controller_account_request_made = "Pendaftaran akun permintaan telah dikirim!"
 register_controller_admin_activation_request = "Yioop Pengguna Telah Meminta Aktivasi"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Timezone:"
 security_element_token_name = "Token Nama:"
 security_element_session_name = "Nama Sesi:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Privasi"
 security_element_differential_privacy = "Diferensial Privasi:"
 security_element_group_analytics = "Kelompok Analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Statistik Query"
 web_layout_total_elapsed_time = "Total Waktu yang telah Berlalu untuk Pertanyaan: %s detik."
 web_layout_query_time = "Waktu: %s detik."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "Mesin Pencari PHP - Yioop! : %s"
diff --git a/src/locale/it/configure.ini b/src/locale/it/configure.ini
index e91659b3d..174bbb31b 100755
--- a/src/locale/it/configure.ini
+++ b/src/locale/it/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Accesso effettuato!!"
 admin_controller_login_failed = "Utente o Password non corretto!"
 admin_controller_login_to_config = "Accedi per continuare la configurazione (utente=root; nessuna password)"
 admin_controller_status_updates_stopped = "Aggiornamenti stato interrotti."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Account"
 admin_controller_social = "Sociale"
 admin_controller_crawl_settings = "Le ricerche per indicizzazione"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 minuti"
 system_component_one_hour = "Un&#039;Ora"
 system_component_two_hours = "Due Ore"
 system_component_one_day = "Un Giorno"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hash Captcha"
 system_component_image_captcha = "Immagine Captcha"
 system_component_no_recovery = "Nessun Utente Password Recovery Link"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Inserisci il tuo nome"
 register_validator_js_enter_lastname = "Inserisci il tuo cognome"
 register_validator_js_retype_password_matched = "Password&amp;#039;s match"
 register_validator_js_retype_password_not_matched = "La Password non coincidono"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Account creato con successo!!"
 register_controller_account_request_made = "Conto della richiesta di registrazione &egrave; stata inviata!"
 register_controller_admin_activation_request = "Yioop Utente Ha Richiesto L&#039;Attivazione"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Fuso orario:"
 security_element_token_name = "Nome Del Token:"
 security_element_session_name = "Nome Di Sessione:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Privacy"
 security_element_differential_privacy = "Differenziale Privacy:"
 security_element_group_analytics = "Gruppo Analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Statistiche ricerca"
 web_layout_total_elapsed_time = "Tempo di ricerca: %s secondi."
 web_layout_query_time = "Tempo: %s secondi."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "Yioop! Motore di Ricerca in PHP: %s"
diff --git a/src/locale/ja/configure.ini b/src/locale/ja/configure.ini
index 4ee8597cd..d1af591e6 100755
--- a/src/locale/ja/configure.ini
+++ b/src/locale/ja/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "ログイン成功"
 admin_controller_login_failed = "無効なユーザー名またはパスワード"
 admin_controller_login_to_config = "ログインして設定を続行します (デフォルト: ユーザー名=root、パスワード=)"
 admin_controller_status_updates_stopped = "状況を更新して停止します。"
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "座"
 admin_controller_social = "社会"
 admin_controller_crawl_settings = "ゆっくり流"
@@ -608,6 +609,11 @@ system_component_half_hour = "30分"
 system_component_one_hour = "一時間"
 system_component_two_hours = "時間"
 system_component_one_day = "一日"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "ハッシュ画像認証"
 system_component_image_captcha = "画像酔"
 system_component_no_recovery = "ないユーザーのパスワード回復のリンク"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "入力の最初の名前"
 register_validator_js_enter_lastname = "入力の最後の名前"
 register_validator_js_retype_password_matched = "パスワード&amp;#039;sに一致"
 register_validator_js_retype_password_not_matched = "パスワードが一致しない"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "アカウントを作成した!!"
 register_controller_account_request_made = "アカウント登録要求を送信!"
 register_controller_admin_activation_request = "Yioopユーザが求め活性化"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "タイムゾーン:"
 security_element_token_name = "トークン名:"
 security_element_session_name = "セッション名:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "プライバシー"
 security_element_differential_privacy = "微分個人情報の取扱いについて:"
 security_element_group_analytics = "グループ解析:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "クリスPollett"
 web_layout_query_statistics = "キュエリの統計"
 web_layout_total_elapsed_time = "経過時間の合計:%s分"
 web_layout_query_time = "キュエリ時間:%s分"
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHPの検索エンジン-Yioop! :%s"
diff --git a/src/locale/kn/configure.ini b/src/locale/kn/configure.ini
index 3eeb78e73..5f73c056b 100755
--- a/src/locale/kn/configure.ini
+++ b/src/locale/kn/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "ಒಳಪ್ರವೇಶಣೆ ಸಫಲ"
 admin_controller_login_failed = "ಒಳಪ್ರವೇಶಣೆ ವಿಫಲ, ಬಳಕೆದಾರನ ಹೆಸರು ಅಥವಾ ಪ್ರವೇಶ ಪದ ತಪ್ಪಾಗಿದೆ "
 admin_controller_login_to_config = "ಲಾಗಿನ್ ಮುಂದುವರಿಸಲು ಸಂರಚನಾ (ಡೀಫಾಲ್ಟ್: ಬಳಕೆದಾರಹೆಸರು=root ,      ಪಾಸ್ವರ್ಡ್=)"
 admin_controller_status_updates_stopped = "ಸ್ಥಿತಿ ನವೀಕರಣಗಳನ್ನು ನಿಲ್ಲಿಸಿದವು."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "ಖಾತೆ"
 admin_controller_social = "ಸಾಮಾಜಿಕ"
 admin_controller_crawl_settings = "ಕ್ರಾಲ್"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 ನಿಮಿಷಗಳ"
 system_component_one_hour = "ಒಂದು ಗಂಟೆ"
 system_component_two_hours = "ಎರಡು ಗಂಟೆಗಳ"
 system_component_one_day = "ಒಂದು ದಿನ"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "ಹ್ಯಾಶ್ ಕ್ಯಾಪ್ಚಾ"
 system_component_image_captcha = "ಚಿತ್ರ ಕ್ಯಾಪ್ಚಾ"
 system_component_no_recovery = "ಯಾವುದೇ ಬಳಕೆದಾರ ಪಾಸ್ವರ್ಡ್ ಚೇತರಿಕೆ ಲಿಂಕ್"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "ನಿಮ್ಮ ಮೊದಲ ಹೆಸ
 register_validator_js_enter_lastname = "ನಿಮ್ಮ ನಮೂದಿಸಿ ಕೊನೆಯ ಹೆಸರು"
 register_validator_js_retype_password_matched = "ಪಾಸ್ವರ್ಡ್&amp;#039;s ಹೊಂದಾಣಿಕೆ"
 register_validator_js_retype_password_not_matched = "ಪಾಸ್ವರ್ಡ್ ಹೊಂದಿಸಲು ಇಲ್ಲ"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "ಖಾತೆ ದಾಖಲಿಸಿದವರು ಯಶಸ್ವಿಯಾಗಿ!!"
 register_controller_account_request_made = "ಖಾತೆ ನೋಂದಣಿ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ!"
 register_controller_admin_activation_request = "Yioop ಬಳಕೆದಾರ ವಿನಂತಿಸಿದ ಸಕ್ರಿಯಗೊಳಿಸುವ"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "ಕಾಲವಲಯ:"
 security_element_token_name = "ಟೋಕನ್ ಹೆಸರು:"
 security_element_session_name = "ಅಧಿವೇಶನ ಹೆಸರು:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "ಗೌಪ್ಯತೆ"
 security_element_differential_privacy = "ಡಿಫರೆನ್ಷಿಯಲ್ ಗೌಪ್ಯತೆ:"
 security_element_group_analytics = "ಗುಂಪು ವಿಶ್ಲೇಷಣೆ:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "ಕ್ರಿಸ್ Pollett"
 web_layout_query_statistics = "ಪ್ರಶ್ನೆಗೆ ಅಂಕಿಅಂಶ"
 web_layout_total_elapsed_time = "ಒಟ್ಟು ಕಳೆದ ಸಮಯ ಪ್ರಶ್ನೆಗಳು: %s ಸೆಕೆಂಡುಗಳ."
 web_layout_query_time = "ಸಮಯ: %s ಸೆಕೆಂಡುಗಳು"
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "ಪಿಹೆಚಪಿ ಶೋಧನಾ ಯಂತ್ರ - ಯೂಪ್!: %s"
diff --git a/src/locale/ko/configure.ini b/src/locale/ko/configure.ini
index fc0d790de..b211c541b 100755
--- a/src/locale/ko/configure.ini
+++ b/src/locale/ko/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "로그인 성공!!!"
 admin_controller_login_failed = "로그인 실패!!!"
 admin_controller_login_to_config = "구성을 계속하려면 로그인(기본값: 사용자 이름=root, 암호=)"
 admin_controller_status_updates_stopped = "상황 업데이트가 중지되었습니다."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "계정"
 admin_controller_social = "사회적"
 admin_controller_crawl_settings = "크롤"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 분"
 system_component_one_hour = "한 시간"
 system_component_two_hours = "두 시간"
 system_component_one_day = "일일"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hash Captcha"
 system_component_image_captcha = "이미지 Captcha"
 system_component_no_recovery = "사용자 비밀번호 복구 링크"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "입력하신의 첫 번째 이름"
 register_validator_js_enter_lastname = "입력하신의 마지막 이름"
 register_validator_js_retype_password_matched = "암호는&amp;#039;s 치"
 register_validator_js_retype_password_not_matched = "비밀번호가 일치하지 않습"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "계정에 성공적으로 작성!!"
 register_controller_account_request_made = "계정 등록이 요청이 전송되었습니다!"
 register_controller_admin_activation_request = "Yioop 사용자가 요청증"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "간:"
 security_element_token_name = "토큰 이름:"
 security_element_session_name = "세션에 이름:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "개인 정보 보호"
 security_element_differential_privacy = "차 개인 정보 보호 정책:"
 security_element_group_analytics = "그룹 분석:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "크리스 Pollett"
 web_layout_query_statistics = "퀘리 분석"
 web_layout_total_elapsed_time = "퀘리: %s 초."
 web_layout_query_time = "시간: %s 초."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP 검색 엔진 - Yioop! : %s"
diff --git a/src/locale/nl/configure.ini b/src/locale/nl/configure.ini
index 008861bb3..66cb5f11c 100644
--- a/src/locale/nl/configure.ini
+++ b/src/locale/nl/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Login Succesvolle!!"
 admin_controller_login_failed = "Gebruikersnaam of wachtwoord onjuist!"
 admin_controller_login_to_config = "Login om door te gaan met de configuratie (standaard: username = root, password =)"
 admin_controller_status_updates_stopped = "Status updates zijn gestopt."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Toegang tot account"
 admin_controller_social = "sociaal"
 admin_controller_crawl_settings = "crawls"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 minuten"
 system_component_one_hour = "Een Uur"
 system_component_two_hours = "Twee Uur"
 system_component_one_day = "Op Een Dag"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hash Captcha"
 system_component_image_captcha = "Afbeelding Captcha"
 system_component_no_recovery = "Geen Password Recovery Link"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Vul uw voornaam in"
 register_validator_js_enter_lastname = "Voer uw achternaam in"
 register_validator_js_retype_password_matched = "Wachtwoord&amp;#039;s wedstrijd"
 register_validator_js_retype_password_not_matched = "Wachtwoord komen niet overeen"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Houdend met succes aangemaakt!!"
 register_controller_account_request_made = "Account registratie aanvraag is verzonden!"
 register_controller_admin_activation_request = "Yioop gebruiker heeft Gevraagde Activering"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Tijdzone:"
 security_element_token_name = "Token Naam:"
 security_element_session_name = "Sessie Naam:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Privacy"
 security_element_differential_privacy = "Differential Privacy:"
 security_element_group_analytics = "Groep Analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "vraag Statistieken"
 web_layout_total_elapsed_time = "Totale verstreken tijd voor Queries: %s seconden."
 web_layout_query_time = "Tijd: %s seconden."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP Search Engine - Yioop! :%S"
diff --git a/src/locale/pl/configure.ini b/src/locale/pl/configure.ini
index 11bb6973c..45f13df34 100755
--- a/src/locale/pl/configure.ini
+++ b/src/locale/pl/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Login Sukces!!"
 admin_controller_login_failed = "Nazwa użytkownika lub nieprawidłowe hasło!"
 admin_controller_login_to_config = "Zaloguj się, aby kontynuować konfigurację (domyślnie: username = root, Password =)"
 admin_controller_status_updates_stopped = "Aktualizacje statusu ustały."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Konta"
 admin_controller_social = "Społeczne"
 admin_controller_crawl_settings = "Уползает"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 min."
 system_component_one_hour = "Godzinę"
 system_component_two_hours = "Dwie Godziny"
 system_component_one_day = "Jeden Dzień"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hesh Captcha"
 system_component_image_captcha = "Obraz Captcha"
 system_component_no_recovery = "Nie Link Do Odzyskiwania Hasła "
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Wpisz swoje imię i nazwisko"
 register_validator_js_enter_lastname = "Wpisz swoje nazwisko"
 register_validator_js_retype_password_matched = "Hasło&amp;#039;s mecz"
 register_validator_js_retype_password_not_matched = "Hasła nie pasują do siebie"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Konto pomyślnie utworzony!!"
 register_controller_account_request_made = "Rejestracja konta wniosek pomyślnie wysłana!"
 register_controller_admin_activation_request = "Użytkownik Yioop Poprosił O Aktywację"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Strefa czasowa:"
 security_element_token_name = "Nazwa Token:"
 security_element_session_name = "Nazwa Sesji:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Prywatności"
 security_element_differential_privacy = "R&oacute;żnicowa Ochrona:"
 security_element_group_analytics = "Analityczna Grupa:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Поллетт"
 web_layout_query_statistics = "Statystyki Zapytań "
 web_layout_total_elapsed_time = "Całkowity czas spędzony na wykonanie zapytania: %s sekund."
 web_layout_query_time = "Czas: %s sekund."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "Wyszukaj silniku PHP - Yioop! : %s"
diff --git a/src/locale/pt/configure.ini b/src/locale/pt/configure.ini
index 85b00ca76..12a575223 100755
--- a/src/locale/pt/configure.ini
+++ b/src/locale/pt/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "In&iacute;cio De Sess&atilde;o Bem-Sucedida
 admin_controller_login_failed = "Nome de usu&aacute;rio ou Senha Incorretos!"
 admin_controller_login_to_config = "Login para continuar a configura&ccedil;&atilde;o (padr&atilde;o: nome de usu&aacute;rio=root ,     senha=)"
 admin_controller_status_updates_stopped = "Atualiza&ccedil;&otilde;es de Status de ter parado."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Conta"
 admin_controller_social = "Social"
 admin_controller_crawl_settings = "Rastreamentos"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 minutos"
 system_component_one_hour = "Uma Hora"
 system_component_two_hours = "Duas Horas"
 system_component_one_day = "Um Dia"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hash Do Captcha"
 system_component_image_captcha = "Imagem Captcha"
 system_component_no_recovery = "Nenhum Utilizador Palavra-Passe De Recupera&ccedil;&atilde;o Link"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Digite seu nome"
 register_validator_js_enter_lastname = "Digite o seu sobrenome"
 register_validator_js_retype_password_matched = "Senha&amp;#039;s corresponde"
 register_validator_js_retype_password_not_matched = "A senha n&atilde;o correspondem"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Conta criada com sucesso!!"
 register_controller_account_request_made = "Conta do pedido de registro foi enviada com sucesso!"
 register_controller_admin_activation_request = "Yioop Usu&aacute;rio Tenha Solicitado A Ativa&ccedil;&atilde;o"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Fuso hor&aacute;rio:"
 security_element_token_name = "Nome De Token:"
 security_element_session_name = "Nome Da Sess&atilde;o:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Privacidade"
 security_element_differential_privacy = "Diferencial De Privacidade:"
 security_element_group_analytics = "Grupo Do Google Analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Consulta De Estat&iacute;sticas"
 web_layout_total_elapsed_time = "Tempo Total Decorrido para Consultas: %s segundos."
 web_layout_query_time = "Tempo: %s segundos."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP Motor de Busca - Yioop! : %s"
diff --git a/src/locale/ru/configure.ini b/src/locale/ru/configure.ini
index 1af17b860..5496b09d8 100755
--- a/src/locale/ru/configure.ini
+++ b/src/locale/ru/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Логин Успешным!!"
 admin_controller_login_failed = "Имя пользователя или неверный пароль!"
 admin_controller_login_to_config = "Логин для продолжения настройки (по умолчанию: U=root Р=)"
 admin_controller_status_updates_stopped = "Обновления статуса прекратились."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Счета"
 admin_controller_social = "Социальные"
 admin_controller_crawl_settings = "Уползает"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 минут"
 system_component_one_hour = "Один Час"
 system_component_two_hours = "Два Часа"
 system_component_one_day = "Один День"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Хеш Капчи"
 system_component_image_captcha = "Изображения Капчи"
 system_component_no_recovery = "Нет Ссылка Для Восстановления Пароля "
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Введите ваше имя"
 register_validator_js_enter_lastname = "Введите вашу фамилию"
 register_validator_js_retype_password_matched = "Пароль&amp;#039;ы матч"
 register_validator_js_retype_password_not_matched = "Пароль не совпадают"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Аккаунт успешно создан!!"
 register_controller_account_request_made = "Регистрация учетной записи заявка успешно отправлена!"
 register_controller_admin_activation_request = "Пользователь Yioop Запросил Активацию"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Часовой пояс:"
 security_element_token_name = "Имя Токена:"
 security_element_session_name = "Название Сессии:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Конфиденциальности"
 security_element_differential_privacy = "Дифференциальная Защита:"
 security_element_group_analytics = "Аналитическая Группа:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Крис Поллетт"
 web_layout_query_statistics = "Статистика Запросов "
 web_layout_total_elapsed_time = "Общее время, затраченное на выполнение запроса: %s секунд."
 web_layout_query_time = "Время: %s секунд."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "Поиск движке PHP - Yioop! : %s"
diff --git a/src/locale/te/configure.ini b/src/locale/te/configure.ini
index 0b85aa633..9e517d4a5 100644
--- a/src/locale/te/configure.ini
+++ b/src/locale/te/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "లాగిన్ విజయవంతం
 admin_controller_login_failed = "యూజర్ పేరు లేదా పాస్&zwnj;వర్డ్ సరి లేదు!"
 admin_controller_login_to_config = "కాన్ఫిగరేషన్ కొనసాగించడం కొరకు లాగిన్ చేయండి (డిఫాల్ట్: యూజర్ నేమ్ = root, పాస్ వర్డ్ =)"
 admin_controller_status_updates_stopped = "స్టేటస్ అప్డేట్స్ ఆగిపోయినవి. "
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "ఖాతా సదుపాయం"
 admin_controller_social = "సోషల్"
 admin_controller_crawl_settings = "క్రాల్స్"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 నిమిషాలు"
 system_component_one_hour = "ఒక గంట"
 system_component_two_hours = "రెండు గంటల"
 system_component_one_day = "ఒక రోజు"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "హాష్ Captcha"
 system_component_image_captcha = "చిత్రం Captcha"
 system_component_no_recovery = "ఏ యూజర్ పాస్వర్డ్ రికవరీ లింక్"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Enter your first name"
 register_validator_js_enter_lastname = "Enter your చివరి పేరు"
 register_validator_js_retype_password_matched = "పాస్ వర్డ్&amp;#039;s మ్యాచ్"
 register_validator_js_retype_password_not_matched = "పాస్వర్డ్ సరిపోలడం లేదు"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "ఖాతావిజయవంతంగా సృష్టించబడినది!!"
 register_controller_account_request_made = "ఖాతా నమోదు అభ్యర్థన పంపబడింది!"
 register_controller_admin_activation_request = "Yioop యూజర్ ఆక్టివేట్ చేయమని అభ్యర్థించారు"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Timezone:"
 security_element_token_name = "టోకెన్ పేరు:"
 security_element_session_name = "సెషన్ పేరు:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "గోప్యతా"
 security_element_differential_privacy = "అవకలన గోప్యతా:"
 security_element_group_analytics = "గ్రూప్ విశ్లేషణలు:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "క్రిస్ Pollett"
 web_layout_query_statistics = "ప్రశ్న గణాంకాలు"
 web_layout_total_elapsed_time = "మొత్తం గడచిన సమయం కోసం ప్రశ్నలు: %s సెకన్లు."
 web_layout_query_time = "సమయం: %s సెకన్లు."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP శోధన ఇంజిన్ - Yioop! : %s"
diff --git a/src/locale/th/configure.ini b/src/locale/th/configure.ini
index d6ce965ab..fe6d7c638 100755
--- a/src/locale/th/configure.ini
+++ b/src/locale/th/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "ล็อกอินสำเร็จ!!"
 admin_controller_login_failed = "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง!"
 admin_controller_login_to_config = "เข้าสู่ระบบเพื่อดำเนินการตั้งค่าคอนฟิก (ค่าเริ่มต้น: ชื่อผู้ใช้ = root รหัสผ่าน =)"
 admin_controller_status_updates_stopped = "สถานะปรับปรุงต้องหยุดได้แล้ว"
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "บัญชีผู้ใช้"
 admin_controller_social = "สังคม"
 admin_controller_crawl_settings = "คลานขึ้น"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 นาที"
 system_component_one_hour = "เวลาหนึ่งชั่วโมง"
 system_component_two_hours = "สองชั่วโมง"
 system_component_one_day = "วันหนึ่ง"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "ค่อยจัดการเรื่อง Captcha"
 system_component_image_captcha = "ภาพ Captcha"
 system_component_no_recovery = "ไม่มีผู้ใช้รหัสผ่านการรักษาที่เชื่อมโยง"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "ป้อนชื่อแรกขอ
 register_validator_js_enter_lastname = "ป้อนชื่อสุดท้ายของคุณ"
 register_validator_js_retype_password_matched = "รหัสผ่าน&amp;#039;เอตรงกัน"
 register_validator_js_retype_password_not_matched = "รหัสผ่านไม่ตรงกัน"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "บัญชีถูกสร้างเรียบร้อยแล้!!"
 register_controller_account_request_made = "บัญชีการลงทะเบียนคำขอได้ถูกส่งมา!"
 register_controller_admin_activation_request = "Yioop ของผู้ใช้ได้ทำการร้องขอการกระตุ้นการทำงาน"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "เขตเวลา:"
 security_element_token_name = "ตั๋วเข้าใช้งานอนชื่อ:"
 security_element_session_name = "ชื่อวาระการเชื่อมต่อ:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "ความเป็นส่วนตัว"
 security_element_differential_privacy = "ฟเฟอเรนเทียลความเป็นส่วนตัว:"
 security_element_group_analytics = "กลุ่ม Analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "คริส Pollett"
 web_layout_query_statistics = "Query สถิติ"
 web_layout_total_elapsed_time = "เวลาที่ใช้ไปทั้งหมดเวลาสำหรับค้นข้อมูล:ทั้งหมด %s วินาที"
 web_layout_query_time = "เวลา:ทั้งหมด %s วินาที"
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "ค้นหาเกี่ยวกับ phpquery เครื่องยนต์-Yioop! :ทั้งหมด %s"
diff --git a/src/locale/tl/configure.ini b/src/locale/tl/configure.ini
index e8473774f..b325f5846 100644
--- a/src/locale/tl/configure.ini
+++ b/src/locale/tl/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Mag-Login Matagumpay Na!!"
 admin_controller_login_failed = "Username o Password ng Tama!"
 admin_controller_login_to_config = "Mag-Login upang magpatuloy configuration (default: u=root, p=)"
 admin_controller_status_updates_stopped = "Mga update ng katayuan ay tumigil."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Account"
 admin_controller_social = "Social"
 admin_controller_crawl_settings = "Pag-crawl"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 minuto"
 system_component_one_hour = "Isang Oras"
 system_component_two_hours = "Dalawang Oras"
 system_component_one_day = "Isang Araw"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Hash Captcha"
 system_component_image_captcha = "Captcha Imahe"
 system_component_no_recovery = "Walang Pagbawi Ng Password Ng Gumagamit Link"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Ipasok ang iyong unang pangalan"
 register_validator_js_enter_lastname = "Ipasok ang iyong huling pangalan"
 register_validator_js_retype_password_matched = "Password&amp;#039;s tugma"
 register_validator_js_retype_password_not_matched = "Ang Password ay hindi tumutugma"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Nilikha ang Account matagumpay na!!"
 register_controller_account_request_made = "Pagpaparehistro ng Account kahilingan ay naipadala!"
 register_controller_admin_activation_request = "Yioop Gumagamit Ay Hiniling Activation"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Timezone:"
 security_element_token_name = "Token Pangalan:"
 security_element_session_name = "Session Pangalan:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Privacy"
 security_element_differential_privacy = "Kaugalian Sa Privacy:"
 security_element_group_analytics = "Grupo Analytics:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Istatistika Ng Mga Query"
 web_layout_total_elapsed_time = "Kabuuang Lumipas na Oras para sa mga Query: %s segundo."
 web_layout_query_time = "Oras: %s segundo."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP Search Engine - Yioop! : %s"
diff --git a/src/locale/tr/configure.ini b/src/locale/tr/configure.ini
index 65e580424..872af6b04 100755
--- a/src/locale/tr/configure.ini
+++ b/src/locale/tr/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Giriş Başarılı!!"
 admin_controller_login_failed = "Kullanıcı adı veya Hatalı Parola."
 admin_controller_login_to_config = "Yapılandırmaya devam etmek i&ccedil;in giriş (varsayılan: username=root ,     şifre=)"
 admin_controller_status_updates_stopped = "Durum g&uuml;ncellemeleri durduruldu."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "Hesap"
 admin_controller_social = "Sosyal"
 admin_controller_crawl_settings = "Gezinme"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 dakika"
 system_component_one_hour = "Bir Saat"
 system_component_two_hours = "İki Saat"
 system_component_one_day = "Bir G&uuml;n"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Karma Kaptan"
 system_component_image_captcha = "G&ouml;r&uuml;nt&uuml; Kaptan"
 system_component_no_recovery = "Kullanıcı Şifre Kurtarma Linki"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Adınızı girin "
 register_validator_js_enter_lastname = "Soyadını girin "
 register_validator_js_retype_password_matched = "&amp;#039 şifresi;ma&ccedil; s "
 register_validator_js_retype_password_not_matched = "Parola eşleşmiyor "
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Hesap başarıyla oluşturuldu!"
 register_controller_account_request_made = "Hesap kayıt isteği g&ouml;nderildi!"
 register_controller_admin_activation_request = "Yioop Kullanıcı Etkinleştirme İstedi "
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Zaman dilimi:"
 security_element_token_name = "Token Adı:"
 security_element_session_name = "Oturum Adı:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Gizlilik"
 security_element_differential_privacy = "Diferansiyel Gizlilik:"
 security_element_group_analytics = "Grup Analizleri:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Sorgu İstatistikleri"
 web_layout_total_elapsed_time = "Sorguları i&ccedil;in toplam Ge&ccedil;en S&uuml;re: %s saniye."
 web_layout_query_time = "S&uuml;re: %s saniye."
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP Arama Motoru - Yioop! : %s"
diff --git a/src/locale/vi_VN/configure.ini b/src/locale/vi_VN/configure.ini
index fa65bb052..b6d6d596c 100755
--- a/src/locale/vi_VN/configure.ini
+++ b/src/locale/vi_VN/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "Đăng nhập th&agrave;nh c&ocirc;ng"
 admin_controller_login_failed = "T&ecirc;n đăng nhập họăc khẩu kh&ocirc;ng đ&uacute;ng"
 admin_controller_login_to_config = "Đăng nhập để tiếp tục cấu h&igrave;nh (mặc định: username = root, mật khẩu =)"
 admin_controller_status_updates_stopped = "Cập nhật t&igrave;nh trạng đ&atilde; dừng lại."
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "T&agrave;i khoản"
 admin_controller_social = "X&atilde; hội"
 admin_controller_crawl_settings = "B&ograve;"
@@ -608,6 +609,11 @@ system_component_half_hour = "30 phút"
 system_component_one_hour = "Một Giờ"
 system_component_two_hours = "Hai Giờ"
 system_component_one_day = "Một Ngày"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "Băm Mã Xác Nhận"
 system_component_image_captcha = "Ảnh Mã Xác Nhận"
 system_component_no_recovery = "Không Có Người Sử Dụng Mật Khẩu Phục Hồi Kết"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "Nhập tên của bạn"
 register_validator_js_enter_lastname = "Nhập tên cuối cùng của bạn"
 register_validator_js_retype_password_matched = "Mật khẩu và#039 các trận đấu"
 register_validator_js_retype_password_not_matched = "Mật khẩu không phù hợp"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "Tài khoản được tạo thành công!!"
 register_controller_account_request_made = "Tài khoản yêu cầu đăng ký đã được gửi đi!"
 register_controller_admin_activation_request = "Yioop Dùng Đã Yêu Cầu Kích Hoạt"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "Múi giờ:"
 security_element_token_name = "Thẻ Tên:"
 security_element_session_name = "Phiên Tên:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "Chính"
 security_element_differential_privacy = "Vi Chính:"
 security_element_group_analytics = "Nhóm Phân Tích:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "Chris Pollett"
 web_layout_query_statistics = "Vấn Thống Kê"
 web_layout_total_elapsed_time = "Tổng Thời gian Trôi qua cho Thắc mắc: %s giây."
 web_layout_query_time = "Thời gian: %s gi&acirc;y"
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "C&ocirc;ng Cụ T&igrave;m kiếm PHP - Yioop! : %s"
diff --git a/src/locale/zh_CN/configure.ini b/src/locale/zh_CN/configure.ini
index 19e146ee8..794596cd5 100755
--- a/src/locale/zh_CN/configure.ini
+++ b/src/locale/zh_CN/configure.ini
@@ -36,6 +36,7 @@ admin_controller_login_successful = "登入成功"
 admin_controller_login_failed = "登入失敗"
 admin_controller_login_to_config = "登录以继续配置(默认:用户名=root,密码=)"
 admin_controller_status_updates_stopped = "管理員終止更新"
+admin_controller_no_cookie_consent = ""
 admin_controller_account_access = "帐户"
 admin_controller_social = "社会"
 admin_controller_crawl_settings = "爬"
@@ -608,6 +609,11 @@ system_component_half_hour = "30分钟"
 system_component_one_hour = "一个小时"
 system_component_two_hours = "两个小时"
 system_component_one_day = "有一天"
+system_component_consent_disabled = ""
+system_component_one_month = ""
+system_component_six_month = ""
+system_component_one_year = ""
+system_component_two_years = ""
 system_component_hash_captcha = "哈希验证码"
 system_component_image_captcha = "验证码图像"
 system_component_no_recovery = "没有用户密码恢复链接"
@@ -651,6 +657,7 @@ register_validator_js_enter_firstname = "输入你的名字"
 register_validator_js_enter_lastname = "输入你的姓"
 register_validator_js_retype_password_matched = "密码&amp;#039;s匹配"
 register_validator_js_retype_password_not_matched = "密码不匹配"
+register_controller_no_cookie_consent = ""
 register_controller_account_created = "帐户创造了成功!!"
 register_controller_account_request_made = "账户的登记请求已被送!"
 register_controller_admin_activation_request = "Yioop用户要求激活"
@@ -1228,6 +1235,7 @@ security_element_site_timezone = "时区:"
 security_element_token_name = "令牌名称:"
 security_element_session_name = "会议名称:"
 security_element_autologout = "Autologout:"
+security_element_consent_expires = ""
 security_element_privacy = "隐私"
 security_element_differential_privacy = "差隐私:"
 security_element_group_analytics = "小组分析:"
@@ -1727,6 +1735,9 @@ web_layout_site_author = "克里斯Pollett"
 web_layout_query_statistics = "查询的统计数据"
 web_layout_total_elapsed_time = "总经过的时间查询:%s秒钟。"
 web_layout_query_time = "时间:%s秒钟。"
+web_layout_cookie_uses = ""
+web_layout_privacy_policy = ""
+web_layout_allow_cookies = ""
 ;
 ; RssLayout.php
 rss_layout_title = "PHP搜索引擎-Yioop! :%s"
diff --git a/src/models/ProfileModel.php b/src/models/ProfileModel.php
index 1889c0c5c..42ea524e5 100755
--- a/src/models/ProfileModel.php
+++ b/src/models/ProfileModel.php
@@ -50,8 +50,8 @@ class ProfileModel extends Model
      */
     public $profile_fields = ['AD_LOCATION', 'API_ACCESS', 'AUTH_KEY',
         'AUTOLOGOUT', 'AUXILIARY_CSS', 'BACKGROUND_COLOR', 'BACKGROUND_IMAGE',
-        'CACHE_LINK', 'CAPTCHA_MODE',
-        'CONFIGURE_BOT','CSRF_TOKEN', 'DEBUG_LEVEL', 'DESCRIPTION_WEIGHT',
+        'CACHE_LINK', 'CAPTCHA_MODE', 'CONFIGURE_BOT', 'COOKIE_LIFETIME',
+        'CSRF_TOKEN', 'DEBUG_LEVEL', 'DESCRIPTION_WEIGHT',
         'DB_HOST', 'DBMS', 'DB_NAME', 'DB_PASSWORD', 'DB_USER',
         'DEFAULT_LOCALE', 'DIFFERENTIAL_PRIVACY',
         'FAVICON', 'FOREGROUND_COLOR', 'GLOBAL_ADSCRIPT', 'GROUP_ITEM',
@@ -64,9 +64,9 @@ class ProfileModel extends Model
         'PRIVATE_DBMS', 'PRIVATE_DB_PASSWORD', 'PRIVATE_DB_USER',
         'PROXY_SERVERS', 'RECOVERY_MODE', 'REGISTRATION_TYPE', 'RESULT_SCORE',
         'ROBOT_INSTANCE','RSS_ACCESS', 'SEARCH_ANALYTICS_MODE',
-        'SEARCHBAR_PATH', 'SEND_MAIL_MEDIA_UPDATER', 'SESSION_NAME',
-        'SIDE_ADSCRIPT', 'SIDEBAR_COLOR', 'SIGNIN_LINK', 'SIMILAR_LINK',
-        'SUBSEARCH_LINK', 'TIMEZONE', 'TITLE_WEIGHT',
+        'SEARCHBAR_PATH', 'SEND_MAIL_MEDIA_UPDATER',
+        'SESSION_NAME', 'SIDE_ADSCRIPT', 'SIDEBAR_COLOR', 'SIGNIN_LINK',
+        'SIMILAR_LINK', 'SUBSEARCH_LINK', 'TIMEZONE', 'TITLE_WEIGHT',
         'TOPBAR_COLOR', 'TOP_ADSCRIPT','TOR_PROXY', 'USE_FILECACHE',
         'USE_MAIL_PHP', 'USE_PROXY', 'USER_AGENT_SHORT', 'WEB_URI',
         'WEB_ACCESS', 'WORD_SUGGEST'
@@ -514,6 +514,7 @@ EOT;
         $not_null_fields = [
             'AD_LOCATION' => 'none',
             'BACKGROUND_COLOR' => "#FFF",
+            'COOKIE_LIFETIME' => C\ONE_YEAR,
             'CSRF_TOKEN' => "YIOOP_TOKEN",
             'FAVICON' => $base_url . "favicon.ico",
             'FOREGROUND_COLOR' => "#FFF",
@@ -590,7 +591,8 @@ EOT;
             $n[] = "nsdefine('$field', {$profile[$field]});";
         }
         $out = implode("\n", $n);
-        if (file_put_contents($directory.C\PROFILE_FILE_NAME, $out) !== false){
+        if (file_put_contents($directory . C\PROFILE_FILE_NAME, $out)
+            !== false) {
             set_error_handler(null);
             @chmod($directory.C\PROFILE_FILE_NAME, 0777);
             if (isset($new_profile_data['AUXILIARY_CSS'])) {
diff --git a/src/models/TrendingModel.php b/src/models/TrendingModel.php
index 9a6ba97b9..4940e95f3 100644
--- a/src/models/TrendingModel.php
+++ b/src/models/TrendingModel.php
@@ -51,7 +51,7 @@ use seekquarry\yioop\models\ImpressionModel;
 class TrendingModel extends Model implements MediaConstants
 {
     /**
-     * Computes an array of the top NUM_TRENDING terms from feed items
+     * Computes an array of the top $limit to $limit+$num terms from feed items
      * for the update periods listed as an array. If no periods are
      * provided, then the period hour, day, week are used.
      *
@@ -61,24 +61,44 @@ class TrendingModel extends Model implements MediaConstants
      *      Config.php such as ONE_HOUR, ONE_DAY, or ONE_WEEK.
      * @param string $category used to compute the trending terms with
      *      respect to
+     * @param array $order_by for either of the two fields TERM,
+     *  SCORE (or OCCURRENCES) lets you specify a sort direction on the
+     *  tending values. For example, ["TERM" => "ASC"] or ["SCORE" => "DESC"]
+     * @param int $limit the rank of the first trending term tooutput
+     * @param int $num number of trending terms desired
      * @return array consists of one array/update period, each of these
      *      arrays consist of a rank => [term, occurrences] for the
      *      top NUM_TRENDING results for that period.
      */
     public function topTermsForUpdatePeriods($locale_tag, $update_periods,
-        $category)
+        $category, $order_by = [], $limit = 0, $num = C\NUM_TRENDING)
     {
         $db = $this->db;
         if (empty($update_periods)) {
             $update_periods = [C\ONE_HOUR, C\ONE_DAY, C\ONE_WEEK,
                 C\ONE_MONTH, C\ONE_YEAR];
         }
+        $default_order_string = "ORDER BY OCCURRENCES DESC";
+        $order_string = "ORDER BY ";
+        $comma = "";
+        foreach ($order_by as $field => $values) {
+            $field = (mb_strtoupper($field) == "SCORE") ? "OCCURRENCES" :
+                $field;
+            $values = mb_strtoupper($values);
+            if (in_array($values, ['ASC', 'DESC'])) {
+                $order_string .= $comma . $field . " " . $values;
+                $comma = ", ";
+            }
+        }
+        if ($order_string == "ORDER BY ") {
+            $order_string = $default_order_string;
+        }
         $sql = "SELECT TERM, OCCURRENCES FROM TRENDING_TERM ".
             "WHERE LANGUAGE= ? AND UPDATE_PERIOD = ? AND CATEGORY =? AND ".
             "TIMESTAMP = (SELECT MAX(TIMESTAMP) " .
             "FROM TRENDING_TERM WHERE LANGUAGE= ? AND UPDATE_PERIOD = ?) " .
-            "ORDER BY OCCURRENCES DESC ".
-            $db->limitOffset(C\NUM_TRENDING);
+            "$order_string ".
+            $db->limitOffset($limit, $num);
         $top_results = [];
         foreach($update_periods as $period) {
             $result = $db->execute($sql, [$locale_tag, $period, $category,
@@ -93,23 +113,6 @@ class TrendingModel extends Model implements MediaConstants
         }
         return $top_results;
     }
-    /**
-     * Computes an array of the top NUM_TRENDING terms from feed items
-     * for the update periods listed as an array. If no periods are
-     * provided, then the period hour, day, week are used.
-     *
-     * @param string $locale_tag language to get top terms for
-     * @param array $update_periods as array of update periods.
-     *      Items in this array should be from intervals pre-defined in
-     *      Config.php such as ONE_HOUR, ONE_DAY, or ONE_WEEK.
-     * @param string $category used to compute the trending terms with
-     *      respect to
-     * @return array
-     */
-    public function trendingValues($locale_tag, $update_periods,
-        $category, $limit, $num)
-    {
-    }
     /**
      * Returns a list of $num_term many random tending terms from the
      * sets of trending terms across all tracked time periods with respect
diff --git a/src/views/elements/FooterElement.php b/src/views/elements/FooterElement.php
index 867e43836..4b524d3b0 100755
--- a/src/views/elements/FooterElement.php
+++ b/src/views/elements/FooterElement.php
@@ -132,6 +132,6 @@ class FooterElement extends Element
         }
         ?>
         </div>
-    <?php
+        <?php
     }
 }
diff --git a/src/views/elements/SecurityElement.php b/src/views/elements/SecurityElement.php
index 022b0c8e1..1b83bb12c 100755
--- a/src/views/elements/SecurityElement.php
+++ b/src/views/elements/SecurityElement.php
@@ -92,6 +92,13 @@ class SecurityElement extends Element
                     $this->view->helper("options")->render(
                     "autologout", "AUTOLOGOUT",  $data['AUTOLOGOUT_TIMES'],
                      $data['AUTOLOGOUT']);?></div>
+                <div class="top-margin"><b><label for="consent-expires"><?=
+                    tl('security_element_consent_expires')?></label></b>
+                <?php
+                    $this->view->helper("options")->render(
+                    "consent-expires", "COOKIE_LIFETIME",
+                    $data['COOKIE_LIFETIMES'], $data['COOKIE_LIFETIME']);
+                    s?></div>
             </fieldset>
             </div>
             <div class="top-margin">
diff --git a/src/views/layouts/WebLayout.php b/src/views/layouts/WebLayout.php
index a160c63fb..39d3984fd 100755
--- a/src/views/layouts/WebLayout.php
+++ b/src/views/layouts/WebLayout.php
@@ -31,6 +31,7 @@
 namespace seekquarry\yioop\views\layouts;

 use seekquarry\yioop\configs as C;
+use seekquarry\yioop as B;

 /**
  * Layout used for the seek_quarry Website
@@ -84,7 +85,8 @@ class WebLayout extends Layout
         $path_info = C\BASE_URL;
         $aux_css = false;
         if (file_exists(C\APP_DIR . '/css/auxiliary.css')) {
-            $aux_css = "$path_info?c=resource&a=get&f=css&n=auxiliary.css";
+            $aux_css = "$path_info?c=resource&amp;a=get&amp;".
+                "f=css&amp;n=auxiliary.css";
         }
         /* Remember to give complete paths to all link tag hrefs to
            avoid PRSSI attacks
@@ -105,7 +107,7 @@ class WebLayout extends Layout
         if (isset($data['INCLUDE_STYLES'])) {
             foreach ($data['INCLUDE_STYLES'] as $style_name) {
                 e('<link rel="stylesheet" type="text/css"
-                    href="'.C\BASE_URL.'css/'.
+                    href="'. C\BASE_URL.'css/'.
                     $style_name.'.css" />'."\n");
             }
         } ?>
@@ -158,6 +160,7 @@ class WebLayout extends Layout
             <?php
         }
         if (C\nsdefined('SIDEBAR_COLOR')) { ?>
+            .cookie-consent,
             .more-options
             {
                 background-color: <?=!empty($data['SIDEBAR_COLOR']) ?
@@ -227,6 +230,22 @@ class WebLayout extends Layout
             } ?>
             </div><?php
         }
+        if (C\nsdefined("COOKIE_CONSENT") && !C\COOKIE_CONSENT) {
+            $consent_url = $_SERVER["REQUEST_URI"];
+            $separator = (strpos($consent_url, "?") !== false) ? "&amp;" :
+                "?";
+            if (strpos($consent_url, "cookieconsent=true") === false) {
+                $consent_url .= $separator . "cookieconsent=true";
+            }
+            ?>
+            <div class="cookie-consent">
+                <?=tl('web_layout_cookie_uses') ?>
+                <a href="<?=B\directUrl('privacy') ?>"><?=
+                tl('web_layout_privacy_policy') ?></a>.
+                <a href="<?=$consent_url; ?>" class='anchor-button'><?=
+                    tl('web_layout_allow_cookies') ?></a>
+            </div><?php
+        }
         $script_path = C\APP_DIR . "/scripts/basic.js";
         $pre_path = C\BASE_URL;
         if (file_exists($script_path)) {
@@ -294,7 +313,7 @@ class WebLayout extends Layout
         }
         if (isset($data['DISPLAY_MESSAGE'])) {
             e("\ndoMessage('<h1 class=\"display-message\" >" .
-                $data['DISPLAY_MESSAGE'].
+                $data['DISPLAY_MESSAGE'] .
                 "</h1>');");
         } ?>;/*keep semi-colon just in case inserted JS didn't have */
         if (typeof yioop_post_scripts === 'object' ) {
ViewGit