From f4b1ebbe468e295d59bf7285b335aa51bcf132bb Mon Sep 17 00:00:00 2001 From: brettp Date: Fri, 4 Jun 2010 15:36:36 +0000 Subject: Merge r6301:6338 from 1.7 to trunk. git-svn-id: http://code.elgg.org/elgg/trunk@6356 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/elgglib.php | 45 +++++++++++++++------- engine/lib/upgrades/2010060101.php | 16 ++++++++ engine/start.php | 10 ++--- .../views/default/defaultwidgets/editor.php | 16 ++++---- mod/notifications/start.php | 28 +++++++++++++- mod/profile/views/default/profile/icon.php | 4 +- simplecache/view.php | 2 +- upgrade.php | 3 +- version.php | 2 +- views/default/canvas/layouts/widgets.php | 16 ++++---- 10 files changed, 97 insertions(+), 45 deletions(-) create mode 100644 engine/lib/upgrades/2010060101.php diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index f890b3518..e86b7a4c8 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -431,12 +431,19 @@ function elgg_view_register_simplecache($viewname) { /** * Regenerates the simple cache. * + * @param string $viewtype Optional viewtype to regenerate * @see elgg_view_register_simplecache * */ -function elgg_view_regenerate_simplecache() { +function elgg_view_regenerate_simplecache($viewtype = NULL) { global $CONFIG; + if (!isset($CONFIG->views->simplecache) || !is_array($CONFIG->views->simplecache)) { + return; + } + + $lastcached = time(); + // @todo elgg_view() checks if the page set is done (isset($CONFIG->pagesetupdone)) and // triggers an event if it's not. Calling elgg_view() here breaks submenus // (at least) because the page setup hook is called before any @@ -445,25 +452,35 @@ function elgg_view_regenerate_simplecache() { // the trigger correctly when the first view is actually being output. $CONFIG->pagesetupdone = TRUE; - if (isset($CONFIG->views->simplecache)) { - if (!file_exists($CONFIG->dataroot . 'views_simplecache')) { - @mkdir($CONFIG->dataroot . 'views_simplecache'); - } + if (!file_exists($CONFIG->dataroot . 'views_simplecache')) { + mkdir($CONFIG->dataroot . 'views_simplecache'); + } - if (!empty($CONFIG->views->simplecache) && is_array($CONFIG->views->simplecache)) { - foreach($CONFIG->views->simplecache as $view) { - $viewcontents = elgg_view($view); - $viewname = md5(elgg_get_viewtype() . $view); - if ($handle = fopen($CONFIG->dataroot . 'views_simplecache/' . $viewname, 'w')) { - fwrite($handle, $viewcontents); - fclose($handle); - } + if (isset($viewtype)) { + $viewtypes = array($viewtype); + } else { + $viewtypes = $CONFIG->view_types; + } + + $original_viewtype = elgg_get_viewtype(); + + foreach ($viewtypes as $viewtype) { + elgg_set_viewtype($viewtype); + foreach ($CONFIG->views->simplecache as $view) { + $viewcontents = elgg_view($view); + $viewname = md5(elgg_get_viewtype() . $view); + if ($handle = fopen($CONFIG->dataroot . 'views_simplecache/' . $viewname, 'w')) { + fwrite($handle, $viewcontents); + fclose($handle); } } - datalist_set('simplecache_lastupdate', 0); + datalist_set("simplecache_lastupdate_$viewtype", $lastcached); + datalist_set("simplecache_lastcached_$viewtype", $lastcached); } + elgg_set_viewtype($original_viewtype); + unset($CONFIG->pagesetupdone); } diff --git a/engine/lib/upgrades/2010060101.php b/engine/lib/upgrades/2010060101.php new file mode 100644 index 000000000..7772c42eb --- /dev/null +++ b/engine/lib/upgrades/2010060101.php @@ -0,0 +1,16 @@ +dbprefix}datalists WHERE name LIKE 'simplecache%'"; + +delete_data($query); + +if ($CONFIG->simplecache_enabled) { + datalist_set('simplecache_enabled', 1); + elgg_view_regenerate_simplecache(); +} else { + datalist_set('simplecache_enabled', 0); +} diff --git a/engine/start.php b/engine/start.php index 8329c1e75..f5d3ce5e4 100644 --- a/engine/start.php +++ b/engine/start.php @@ -134,13 +134,9 @@ if (empty($oldview)) { } if (($installed) && ($db_installed)) { - $lastupdate = datalist_get('simplecache_lastupdate'); - $lastcached = datalist_get('simplecache_'.$oldview); + $lastupdate = datalist_get("simplecache_lastupdate_$oldview"); + $lastcached = datalist_get("simplecache_lastcached_$oldview"); if ($lastupdate == 0 || $lastcached < $lastupdate) { - elgg_view_regenerate_simplecache(); - $lastcached = time(); - datalist_set('simplecache_lastupdate',$lastcached); - datalist_set('simplecache_'.$oldview,$lastcached); + elgg_view_regenerate_simplecache($oldview); } - $CONFIG->lastcache = $lastcached; } diff --git a/mod/defaultwidgets/views/default/defaultwidgets/editor.php b/mod/defaultwidgets/views/default/defaultwidgets/editor.php index ef883ac01..79a641939 100644 --- a/mod/defaultwidgets/views/default/defaultwidgets/editor.php +++ b/mod/defaultwidgets/views/default/defaultwidgets/editor.php @@ -82,8 +82,8 @@ $(document).ready(function () { - - + + - - + + - - + + - - + + guid_one; + $object_guid = $relationship->guid_two; + + // loop through all notification types + foreach($NOTIFICATION_HANDLERS as $method => $foo) { + remove_entity_relationship($user_guid, "notify{$method}", $object_guid); + } +} + + register_elgg_event_handler('init', 'system', 'notifications_plugin_init', 1000); -// Register action + register_action("notificationsettings/save", FALSE, $CONFIG->pluginspath . "notifications/actions/save.php"); register_action("notificationsettings/groupsave", FALSE, $CONFIG->pluginspath . "notifications/actions/groupsave.php"); diff --git a/mod/profile/views/default/profile/icon.php b/mod/profile/views/default/profile/icon.php index ef1b32b36..bca4499fc 100644 --- a/mod/profile/views/default/profile/icon.php +++ b/mod/profile/views/default/profile/icon.php @@ -50,7 +50,7 @@ if ($vars['entity'] instanceof ElggUser) { if (!$override) { ?>
-
+