aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/elgglib.php45
-rw-r--r--engine/lib/upgrades/2010060101.php16
-rw-r--r--engine/start.php10
-rw-r--r--mod/defaultwidgets/views/default/defaultwidgets/editor.php16
-rw-r--r--mod/notifications/start.php28
-rw-r--r--mod/profile/views/default/profile/icon.php4
-rw-r--r--simplecache/view.php2
-rw-r--r--upgrade.php3
-rw-r--r--version.php2
-rw-r--r--views/default/canvas/layouts/widgets.php16
10 files changed, 97 insertions, 45 deletions
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 @@
+<?php
+
+/**
+ * Clears old simplecache variables out of database
+ */
+
+$query = "DELETE FROM {$CONFIG->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 () {
</h3>
</td>
<td width="17px" align="right"></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14px" height="14px" class="more_info" /></a></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15px" height="15px" class="drag_handle" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td>
</tr></table>
<?php
@@ -149,8 +149,8 @@ $(document).ready(function () {
</h3>
</td>
<td width="17px" align="right"></td>
- <td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14px" height="14px" class="more_info" /></a></td>
- <td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15px" height="15px" class="drag_handle" /></a></td>
+ <td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td>
+ <td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td>
</tr></table>
<?php
@@ -194,8 +194,8 @@ $(document).ready(function () {
</h3>
</td>
<td width="17px" align="right"></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14px" height="14px" class="more_info" /></a></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15px" height="15px" class="drag_handle" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td>
</tr></table>
<?php
@@ -235,8 +235,8 @@ $(document).ready(function () {
</h3>
</td>
<td width="17px" align="right"></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14px" height="14px" class="more_info" /></a></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15px" height="15px" class="drag_handle" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td>
</tr></table>
<?php
diff --git a/mod/notifications/start.php b/mod/notifications/start.php
index 873095b8b..fa36d5d69 100644
--- a/mod/notifications/start.php
+++ b/mod/notifications/start.php
@@ -23,6 +23,10 @@ function notifications_plugin_init() {
// Unset the default notification settings
unregister_plugin_hook('usersettings:save', 'user', 'notification_user_settings_save');
elgg_unextend_view('usersettings/user', 'notifications/settings/usersettings');
+
+ // update notifications based on relationships changing
+ register_elgg_event_handler('delete', 'member', 'notifications_relationship_remove');
+ register_elgg_event_handler('delete', 'friend', 'notifications_relationship_remove');
}
/**
@@ -52,7 +56,7 @@ function notifications_page_handler($page) {
}
/**
- * Notification settings page setup function
+ * Notification settings sidebar menu
*
*/
function notifications_plugin_pagesetup() {
@@ -65,9 +69,29 @@ function notifications_plugin_pagesetup() {
}
}
+/**
+ * Update notifications when a relationship is deleted
+ *
+ * @param string $event
+ * @param string $object_type
+ * @param object $relationship
+ */
+function notifications_relationship_remove($event, $object_type, $relationship) {
+ global $NOTIFICATION_HANDLERS;
+
+ $user_guid = $relationship->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) {
?>
<div class="usericon <?php echo $vars['size']; ?>">
- <div class="avatar_menu_button"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" border="0" width="15px" height="15px" /></div>
+ <div class="avatar_menu_button"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" border="0" width="15" height="15" /></div>
<div class="sub_menu">
<h3 class="displayname"><a href="<?php echo $vars['entity']->getURL(); ?>"><?php echo $vars['entity']->name; ?>
<span class="username"><?php echo "&#64;" . $vars['entity']->username; ?></span></a></h3>
@@ -104,7 +104,7 @@ if ($vars['entity'] instanceof ElggUser) {
<?php
/*
original avatar method
- <img src="<?php echo $vars['entity']->getIcon($vars['size']); ?>" border="0" <?php echo $align; ?> alt="<?php echo htmlentities($vars['entity']->name, ENT_QUOTES, 'UTF-8'); ?>" title="<?php echo htmlentities($vars['entity']->name, ENT_QUOTES, 'UTF-8'); ?>" <?php echo $vars['js']; ?> />
+ <img src="<?php echo elgg_format_url($vars['entity']->getIcon($vars['size'])); ?>" border="0" <?php echo $align; ?> alt="<?php echo htmlentities($vars['entity']->name, ENT_QUOTES, 'UTF-8'); ?>" title="<?php echo htmlentities($vars['entity']->name, ENT_QUOTES, 'UTF-8'); ?>" <?php echo $vars['js']; ?> />
*/
if (!$override) {
diff --git a/simplecache/view.php b/simplecache/view.php
index 01e4fe0e7..1f4aad018 100644
--- a/simplecache/view.php
+++ b/simplecache/view.php
@@ -53,7 +53,7 @@ if ($mysql_dblink = @mysql_connect($CONFIG->dbhost,$CONFIG->dbuser,$CONFIG->dbpa
$contents = file_get_contents($filename);
header("Content-Length: " . strlen($contents));
} else {
- mysql_query("INSERT into {$CONFIG->dbprefix}datalists set name = 'simplecache_lastupdate', value = '0' ON DUPLICATE KEY UPDATE value='0'");
+ mysql_query("INSERT into {$CONFIG->dbprefix}datalists set name = 'simplecache_lastupdate_$viewtype', value = '0' ON DUPLICATE KEY UPDATE value='0'");
echo ''; exit;
}
diff --git a/upgrade.php b/upgrade.php
index d659d415c..4d83658e3 100644
--- a/upgrade.php
+++ b/upgrade.php
@@ -19,8 +19,7 @@ if (get_input('upgrade') == 'upgrade') {
if (version_upgrade_check()) {
version_upgrade();
}
- datalist_set('simplecache_lastupdate',0);
-
+ elgg_view_regenerate_simplecache();
elgg_filepath_cache_reset();
} else {
global $CONFIG;
diff --git a/version.php b/version.php
index bfa62f449..b8d0efc3f 100644
--- a/version.php
+++ b/version.php
@@ -12,7 +12,7 @@
// YYYYMMDD = Elgg Date
// XX = Interim incrementer
-$version = 2010052601;
+$version = 2010060101;
// Human-friendly version name
$release = '1.8-svn';
diff --git a/views/default/canvas/layouts/widgets.php b/views/default/canvas/layouts/widgets.php
index fa0d2ab0c..d56b009d5 100644
--- a/views/default/canvas/layouts/widgets.php
+++ b/views/default/canvas/layouts/widgets.php
@@ -61,8 +61,8 @@
</h3>
</td>
<td width="17px" align="right"></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14px" height="14px" class="more_info" /></a></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15px" height="15px" class="drag_handle" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td>
</tr></table>
<?php
@@ -130,8 +130,8 @@ if(get_context() != "profile"){ /* on groups */
</h3>
</td>
<td width="17px" align="right"></td>
- <td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14px" height="14px" class="more_info" /></a></td>
- <td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15px" height="15px" class="drag_handle" /></a></td>
+ <td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td>
+ <td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td>
</tr></table>
<?php
@@ -175,8 +175,8 @@ if(get_context() != "profile"){ /* on groups */
</h3>
</td>
<td width="17px" align="right"></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14px" height="14px" class="more_info" /></a></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15px" height="15px" class="drag_handle" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td>
</tr></table>
<?php
@@ -216,8 +216,8 @@ if(get_context() != "profile"){ /* on groups */
</h3>
</td>
<td width="17px" align="right"></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14px" height="14px" class="more_info" /></a></td>
-<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15px" height="15px" class="drag_handle" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="14" height="14" class="more_info" /></a></td>
+<td width="17px" align="right"><a href="#"><img src="<?php echo $vars['url']; ?>_graphics/spacer.gif" width="15" height="15" class="drag_handle" /></a></td>
</tr></table>
<?php