Fix PHP 5.5 compat for array const (#2360)

https://github.com/FreshRSS/FreshRSS/issues/2359
pull/2362/head^2
Alexandre Alapetite 6 years ago committed by GitHub
parent eae10a985c
commit 295cb89af3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      app/Controllers/configureController.php
  2. 9
      lib/lib_rss.php

@ -166,7 +166,8 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
* tab and up.
*/
public function shortcutAction() {
$this->view->list_keys = SHORTCUT_KEYS;
global $SHORTCUT_KEYS;
$this->view->list_keys = $SHORTCUT_KEYS;
if (Minz_Request::isPost()) {
FreshRSS_Context::$user_conf->shortcuts = validateShortcutList(Minz_Request::param('shortcuts'));

@ -549,7 +549,7 @@ function _i($icon, $url_only = false) {
}
const SHORTCUT_KEYS = array(
$SHORTCUT_KEYS = array( //No const for < PHP 5.6 compatibility
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
@ -559,6 +559,7 @@ const SHORTCUT_KEYS = array(
);
function validateShortcutList($shortcuts) {
global $SHORTCUT_KEYS;
$legacy = array(
'down' => 'ArrowDown', 'left' => 'ArrowLeft', 'page_down' => 'PageDown', 'page_up' => 'PageUp',
'right' => 'ArrowRight', 'up' => 'ArrowUp',
@ -567,17 +568,17 @@ function validateShortcutList($shortcuts) {
$shortcuts_ok = array();
foreach ($shortcuts as $key => $value) {
if (in_array($value, SHORTCUT_KEYS)) {
if (in_array($value, $SHORTCUT_KEYS)) {
$shortcuts_ok[$key] = $value;
} elseif (isset($legacy[$value])) {
$shortcuts_ok[$key] = $legacy[$value];
} else { //Case-insensitive search
if ($upper === null) {
$upper = array_map('strtoupper', SHORTCUT_KEYS);
$upper = array_map('strtoupper', $SHORTCUT_KEYS);
}
$i = array_search(strtoupper($value), $upper);
if ($i !== false) {
$shortcuts_ok[$key] = SHORTCUT_KEYS[$i];
$shortcuts_ok[$key] = $SHORTCUT_KEYS[$i];
}
}
}

Loading…
Cancel
Save