diff options
| author | Greg Roach <fisharebest@gmail.com> | 2013-12-18 21:35:20 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@gmail.com> | 2013-12-18 21:35:20 +0000 |
| commit | fbe829002dfa76c14a66dab3541e3cb42c286f7d (patch) | |
| tree | 757140bc0e480713ee832647c6da1a3aab98b29c | |
| parent | 7e3e88ba8c2df5880b2cd7844cecd3ba07558552 (diff) | |
| download | webtrees-fbe829002dfa76c14a66dab3541e3cb42c286f7d.tar.gz webtrees-fbe829002dfa76c14a66dab3541e3cb42c286f7d.tar.bz2 webtrees-fbe829002dfa76c14a66dab3541e3cb42c286f7d.zip | |
Use PHP5.3 closures instead of PHP5.2 create_function()
| -rw-r--r-- | admin_module_menus.php | 2 | ||||
| -rw-r--r-- | admin_module_sidebar.php | 2 | ||||
| -rw-r--r-- | admin_module_tabs.php | 2 | ||||
| -rwxr-xr-x | includes/session.php | 43 | ||||
| -rw-r--r-- | library/WT/Filter.php | 7 |
5 files changed, 42 insertions, 14 deletions
diff --git a/admin_module_menus.php b/admin_module_menus.php index 9f8367b68d..c57da58320 100644 --- a/admin_module_menus.php +++ b/admin_module_menus.php @@ -58,7 +58,7 @@ if ($action=='update_mods' && WT_Filter::checkCsrf()) { )->execute(array($order, $module_name)); $module->order=$order; // Make the new order take effect immediately } - uasort($modules, create_function('$x,$y', 'return $x->order > $y->order;')); + uasort($modules, function($x,$y) { return $x->order - $y->order; }); } ?> diff --git a/admin_module_sidebar.php b/admin_module_sidebar.php index 2eae20fc2d..824641c589 100644 --- a/admin_module_sidebar.php +++ b/admin_module_sidebar.php @@ -58,7 +58,7 @@ if ($action=='update_mods' && WT_Filter::checkCsrf()) { )->execute(array($order, $module_name)); $module->order=$order; // Make the new order take effect immediately } - uasort($modules, create_function('$x,$y', 'return $x->order > $y->order;')); + uasort($modules, function($x,$y) { return $x->order - $y->order; }); } ?> diff --git a/admin_module_tabs.php b/admin_module_tabs.php index 3b916b2c95..27e74c222c 100644 --- a/admin_module_tabs.php +++ b/admin_module_tabs.php @@ -58,7 +58,7 @@ if ($action=='update_mods' && WT_Filter::checkCsrf()) { )->execute(array($order, $module_name)); $module->order=$order; // Make the new order take effect immediately } - uasort($modules, create_function('$x,$y', 'return $x->order > $y->order;')); + uasort($modules, function($x,$y) { return $x->order - $y->order; }); } ?> diff --git a/includes/session.php b/includes/session.php index 44c95c9162..026ff9332d 100755 --- a/includes/session.php +++ b/includes/session.php @@ -298,14 +298,43 @@ case '': } // Store our session data in the database. -// Only update the session table once per minute, unless the session data has actually changed. session_set_save_handler( - create_function('', 'return true;'), // open - create_function('', 'return true;'), // close - create_function('$id', 'return WT_DB::prepare("SELECT session_data FROM `##session` WHERE session_id=?")->execute(array($id))->fetchOne();'), // read - create_function('$id,$data', 'global $WT_REQUEST;WT_DB::prepare("INSERT INTO `##session` (session_id, user_id, ip_address, session_data, session_time) VALUES (?,?,?,?,CURRENT_TIMESTAMP-SECOND(CURRENT_TIMESTAMP)) ON DUPLICATE KEY UPDATE user_id=VALUES(user_id), ip_address=VALUES(ip_address), session_data=VALUES(session_data), session_time=CURRENT_TIMESTAMP-SECOND(CURRENT_TIMESTAMP)")->execute(array($id, WT_USER_ID, $WT_REQUEST->getClientIp(), $data));return true;'), // write - create_function('$id', 'WT_DB::prepare("DELETE FROM `##session` WHERE session_id=?")->execute(array($id));return true;'), // destroy - create_function('$maxlifetime', 'WT_DB::prepare("DELETE FROM `##session` WHERE session_time < DATE_SUB(NOW(), INTERVAL ? SECOND)")->execute(array($maxlifetime));return true;') // gc + // open + function () { + return true; + }, + // close + function () { + return true; + }, + // read + function ($id) { + return WT_DB::prepare("SELECT session_data FROM `##session` WHERE session_id=?")->execute(array($id))->fetchOne(); + }, + // write + function ($id, $data) use ($WT_REQUEST) { + // Only update the session table once per minute, unless the session data has actually changed. + WT_DB::prepare( + "INSERT INTO `##session` (session_id, user_id, ip_address, session_data, session_time)" . + " VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP - SECOND(CURRENT_TIMESTAMP))" . + " ON DUPLICATE KEY UPDATE" . + " user_id = VALUES(user_id)," . + " ip_address = VALUES(ip_address)," . + " session_data = VALUES(session_data)," . + " session_time = CURRENT_TIMESTAMP - SECOND(CURRENT_TIMESTAMP)" + )->execute(array($id, WT_USER_ID, $WT_REQUEST->getClientIp(), $data)); + return true; + }, + // destroy + function ($id) { + WT_DB::prepare("DELETE FROM `##session` WHERE session_id=?")->execute(array($id)); + return true; + }, + // gc + function ($maxlifetime) { + WT_DB::prepare("DELETE FROM `##session` WHERE session_time < DATE_SUB(NOW(), INTERVAL ? SECOND)")->execute(array($maxlifetime)); + return true; + } ); // Use the Zend_Session object to start the session. diff --git a/library/WT/Filter.php b/library/WT/Filter.php index 39605a55ec..5fd5d138d5 100644 --- a/library/WT/Filter.php +++ b/library/WT/Filter.php @@ -83,10 +83,9 @@ class WT_Filter { public static function expandUrls($text) { return preg_replace_callback( '/' . addcslashes('(?!>)' . self::URL_REGEX . '(?!</a>)', '/') . '/i', - create_function( // Insert soft hyphens into the replaced string - '$m', - 'return "<a href=\"" . $m[0] . "\" target=\"_blank\">" . preg_replace("/\b/", "­", $m[0]) . "</a>";' - ), + function ($m) { + return '<a href="' . $m[0] . '" target="_blank">' . $m[0] . '</a>'; + }, WT_Filter::escapeHtml($text) ); } |
