// Less than a day } else { $class = 'worst'; $number = ceil($lifetime / 3600); $time = '<' . $number . '+ ' . _g('hours', array('parsemag' => true, 'variables' => array($number))); $after = $renew; } $Tool->addOut('<div id="tab-currentsettings"><form class="cleanform"><fieldset>' . kfTag($I18N->msg('current-settings') . _g('colon-separator') . ' ', 'legend') . '<div class="inner">' . kfTag($I18N->msg('current-language') . _g('colon-separator') . ' ', 'label') . kfTag('', 'input', array('value' => $I18N->getLangName(), 'readonly' => 'readonly')) . ' (' . kfTag($I18N->msg('clear-cookies'), 'a', array('href' => $Tool->generatePermalink(array('action' => 'clearcookies')))) . ')<br/>' . kfTag($I18N->msg('cookie-expiration') . _g('colon-separator'), 'label') . kfTag('', 'input', array('value' => $time, 'class' => "cookie-health {$class}", 'readonly' => true)) . $after . '<br/>' . '</div></fieldset></form></div><!-- #tab-currentsettings -->'); $toolSettings['tabs']['#tab-currentsettings'] = $I18N->msg('tab-overview'); } // Settings form // XXX: Quick way to build the form $dropdown = '<select name="fpLang">'; $selected = ' selected'; foreach ($I18N->getAvailableLangs('any') as $langCode => $langName) { $attr = $langCode == $I18N->getLang() ? $selected : ''; $dropdown .= '<option value="' . $langCode . '"' . $attr . '>' . "{$langCode} - {$langName}" . '</option>'; } $dropdown .= '</select>'; $form = '<div id="tab-settingsform"> <form action="' . $Tool->remoteBasePath . '" method="post" class="cleanform"> <fieldset><legend>' . $I18N->msg('settings-legend') . '</legend><div class="inner"> <label>' . _html('choose-language') . _g('colon-separator') . '</label> ' . $dropdown . ' <br/> <input type="hidden" name="action" value="prefset"/> <input type="hidden" name="returnto" value="' . htmlspecialchars($kgReq->getVal('returnto')) . '"/> <input type="hidden" name="returntoquery" value="' . htmlspecialchars($kgReq->getVal('returntoquery')) . '"/> <label></label>
global $kgReq; $callback = $kgReq->getVal('callback'); // Serve as JSON or JSON-P if ($callback === null) { header('content-type: application/json; charset=utf-8', true); echo json_encode($data); } else { header('content-type: text/javascript; charset=utf-8', true); // Sanatize callback $callback = kfSanatizeJsCallback($callback); echo $callback . '(' . json_encode($data) . ');'; } exit; } $domains = $kgReq->getVal('domains', false); $lang = $kgReq->getVal('lang', $I18N->getLang()); /** * Response * ------------------------------------------------- */ $resp = array(); if (!$domains) { // HTTP 400 Bad Request http_response_code(400); $resp['error'] = 'Parameter "domains" is required'; i18nApiResp($resp); } $domains = explode('|', $domains); $resp['messages'] = array(); foreach ($domains as $domain) { $normalisedDomain = $I18N->loadTextdomain($domain);