summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2013-12-18 21:35:20 +0000
committerGreg Roach <fisharebest@gmail.com>2013-12-18 21:35:20 +0000
commitfbe829002dfa76c14a66dab3541e3cb42c286f7d (patch)
tree757140bc0e480713ee832647c6da1a3aab98b29c
parent7e3e88ba8c2df5880b2cd7844cecd3ba07558552 (diff)
downloadwebtrees-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.php2
-rw-r--r--admin_module_sidebar.php2
-rw-r--r--admin_module_tabs.php2
-rwxr-xr-xincludes/session.php43
-rw-r--r--library/WT/Filter.php7
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/", "&shy;", $m[0]) . "</a>";'
- ),
+ function ($m) {
+ return '<a href="' . $m[0] . '" target="_blank">' . $m[0] . '</a>';
+ },
WT_Filter::escapeHtml($text)
);
}