-<?php\r
-/**\r
- * Elgg delete like action\r
- *\r
- * @package Elgg\r
- * @author Curverider <curverider.co.uk>\r
- * @link http://elgg.org/\r
- */\r
-\r
-// Ensure we're logged in\r
-if (!isloggedin()) {\r
- forward();\r
-}\r
-\r
-// Make sure we can get the comment in question\r
-$annotation_id = (int) get_input('annotation_id');\r
-if ($likes = get_annotation($annotation_id)) {\r
-\r
- $entity = get_entity($likes->entity_guid);\r
-\r
- if ($likes->canEdit()) {\r
- $likes->delete();\r
- system_message(elgg_echo("likes:deleted"));\r
- forward($entity->getURL());\r
- }\r
-\r
-} else {\r
- $url = "";\r
-}\r
-\r
-register_error(elgg_echo("likes:notdeleted"));\r
+<?php
+/**
+ * Elgg delete like action
+ *
+ * @package Elgg
+ * @author Curverider <curverider.co.uk>
+ * @link http://elgg.org/
+ */
+
+// Ensure we're logged in
+if (!isloggedin()) {
+ forward();
+}
+
+// Make sure we can get the comment in question
+$annotation_id = (int) get_input('annotation_id');
+if ($likes = get_annotation($annotation_id)) {
+
+ $entity = get_entity($likes->entity_guid);
+
+ if ($likes->canEdit()) {
+ $likes->delete();
+ system_message(elgg_echo("likes:deleted"));
+ forward($entity->getURL());
+ }
+
+} else {
+ $url = "";
+}
+
+register_error(elgg_echo("likes:notdeleted"));
forward($_SERVER['HTTP_REFERER']);
\ No newline at end of file
-<?php\r
-/**\r
- * Elgg bookmarks edit action\r
- * \r
- */\r
- \r
-gatekeeper();\r
-action_gatekeeper();\r
-//set some required variables\r
-$guid = get_input('guid');\r
-$title = get_input('title');\r
-$address = get_input('address');\r
-$notes = get_input('notes');\r
-$access = get_input('access');\r
-$tags = get_input('tags');\r
-$tagarray = string_to_tag_array($tags);\r
-\r
-// Make sure we actually have permission to edit\r
-$bookmark = get_entity($guid);\r
-if ($bookmark->getSubtype() == "bookmarks" && $bookmark->canEdit()) {\r
- $bookmark->title = $title;\r
- $bookmark->description = $notes;\r
- $bookmark->address = $address;\r
- $bookmark->access_id = $access;\r
- $bookmark->tags = $tagarray;\r
- if ($bookmark->save()) {\r
- system_message(elgg_echo('bookmarks:edit:success'));\r
- } else {\r
- system_message(elgg_echo('bookmarks:edit:fail'));\r
- }\r
-}else{\r
- system_message(elgg_echo('bookmarks:edit:fail'));\r
-}\r
-$account = get_entity($bookmark->container_guid);\r
+<?php
+/**
+ * Elgg bookmarks edit action
+ *
+ */
+
+gatekeeper();
+action_gatekeeper();
+//set some required variables
+$guid = get_input('guid');
+$title = get_input('title');
+$address = get_input('address');
+$notes = get_input('notes');
+$access = get_input('access');
+$tags = get_input('tags');
+$tagarray = string_to_tag_array($tags);
+
+// Make sure we actually have permission to edit
+$bookmark = get_entity($guid);
+if ($bookmark->getSubtype() == "bookmarks" && $bookmark->canEdit()) {
+ $bookmark->title = $title;
+ $bookmark->description = $notes;
+ $bookmark->address = $address;
+ $bookmark->access_id = $access;
+ $bookmark->tags = $tagarray;
+ if ($bookmark->save()) {
+ system_message(elgg_echo('bookmarks:edit:success'));
+ } else {
+ system_message(elgg_echo('bookmarks:edit:fail'));
+ }
+}else{
+ system_message(elgg_echo('bookmarks:edit:fail'));
+}
+$account = get_entity($bookmark->container_guid);
forward("pg/bookmarks/" . $account->username);
\ No newline at end of file
-<?php\r
-\r
-/**\r
- * Elgg bookmarks add as reference\r
- * Guid one is the object, guid two is the bookmark, 'reference' is the relationship name\r
- */\r
-\r
-//set some variables\r
-$object_guid = get_input('object_guid');\r
-$bookmark_guid = get_input('reference');\r
-$object = get_entity($object_guid);\r
-$bookmark = get_entity($bookmark_guid);\r
-//check both the object and bookmark exist\r
-if($bookmark && $object){\r
- //check the user can add a reference\r
- if($object->canEdit()){\r
- //create a relationship between the object and bookmark\r
- if(add_entity_relationship($object_guid, "reference", $bookmark_guid)){ \r
- // Success message\r
- system_message(elgg_echo("bookmarks:referenceadded"));\r
- }else{\r
- // Failure message\r
- system_message(elgg_echo("bookmarks:referenceerror"));\r
- } \r
- }else{\r
- // Failure message\r
- system_message(elgg_echo("bookmarks:referenceerror"));\r
- }\r
-}else{\r
- // Failure message\r
- system_message(elgg_echo("bookmarks:referenceerror"));\r
-}\r
-\r
+<?php
+
+/**
+ * Elgg bookmarks add as reference
+ * Guid one is the object, guid two is the bookmark, 'reference' is the relationship name
+ */
+
+//set some variables
+$object_guid = get_input('object_guid');
+$bookmark_guid = get_input('reference');
+$object = get_entity($object_guid);
+$bookmark = get_entity($bookmark_guid);
+//check both the object and bookmark exist
+if($bookmark && $object){
+ //check the user can add a reference
+ if($object->canEdit()){
+ //create a relationship between the object and bookmark
+ if(add_entity_relationship($object_guid, "reference", $bookmark_guid)){
+ // Success message
+ system_message(elgg_echo("bookmarks:referenceadded"));
+ }else{
+ // Failure message
+ system_message(elgg_echo("bookmarks:referenceerror"));
+ }
+ }else{
+ // Failure message
+ system_message(elgg_echo("bookmarks:referenceerror"));
+ }
+}else{
+ // Failure message
+ system_message(elgg_echo("bookmarks:referenceerror"));
+}
+
forward($object->getURL());
\ No newline at end of file
-<?php\r
-\r
-/**\r
- * Elgg bookmarks remove a reference\r
- * Guid one is the object, guid two is the bookmark, 'reference' is the relationship name\r
- */\r
-\r
-//set some variables\r
-$object_guid = get_input('object_guid');\r
-$bookmark_guid = get_input('bookmark');\r
-$object = get_entity($object_guid);\r
-$bookmark = get_entity($bookmark_guid);\r
-//check both the object and bookmark exist\r
-if($bookmark && $object){\r
- //check the user can add a reference\r
- if($object->canEdit()){\r
- //remove the relationship between the object and bookmark\r
- if(remove_entity_relationship($object_guid, "reference", $bookmark_guid)){\r
- // Success message\r
- system_message(elgg_echo("bookmarks:removed"));\r
- }else{\r
- // Failure message\r
- system_message(elgg_echo("bookmarks:removederror"));\r
- } \r
- }else{\r
- // Failure message\r
- system_message(elgg_echo("bookmarks:removederror"));\r
- }\r
-}else{\r
- // Failure message\r
- system_message(elgg_echo("bookmarks:removederror"));\r
-}\r
-\r
+<?php
+
+/**
+ * Elgg bookmarks remove a reference
+ * Guid one is the object, guid two is the bookmark, 'reference' is the relationship name
+ */
+
+//set some variables
+$object_guid = get_input('object_guid');
+$bookmark_guid = get_input('bookmark');
+$object = get_entity($object_guid);
+$bookmark = get_entity($bookmark_guid);
+//check both the object and bookmark exist
+if($bookmark && $object){
+ //check the user can add a reference
+ if($object->canEdit()){
+ //remove the relationship between the object and bookmark
+ if(remove_entity_relationship($object_guid, "reference", $bookmark_guid)){
+ // Success message
+ system_message(elgg_echo("bookmarks:removed"));
+ }else{
+ // Failure message
+ system_message(elgg_echo("bookmarks:removederror"));
+ }
+ }else{
+ // Failure message
+ system_message(elgg_echo("bookmarks:removederror"));
+ }
+}else{
+ // Failure message
+ system_message(elgg_echo("bookmarks:removederror"));
+}
+
forward($object->getURL());
\ No newline at end of file
-<?php\r
-/**\r
- * All site bookmark stats\r
- **/\r
- \r
-$count_bookmarks = elgg_get_entities("object", "bookmarks",0,"",10,0,true,0,null,0,0);\r
-$count_bookmark_comments = count_annotations(0, "object", "bookmarks","generic_comment");\r
-\r
-echo "<h3>Bookmark stats</h3>";\r
-echo "<p>".$count_bookmarks . " resources bookmarked.</p>";\r
+<?php
+/**
+ * All site bookmark stats
+ **/
+
+$count_bookmarks = elgg_get_entities("object", "bookmarks",0,"",10,0,true,0,null,0,0);
+$count_bookmark_comments = count_annotations(0, "object", "bookmarks","generic_comment");
+
+echo "<h3>Bookmark stats</h3>";
+echo "<p>".$count_bookmarks . " resources bookmarked.</p>";
-<?php\r
-\r
- /**\r
- * A simple view to provide the user with group filters and the number of group on the site\r
- **/\r
- \r
- $members = $vars['count'];\r
- if(!$num_groups)\r
- $num_groups = 0;\r
- \r
- $filter = $vars['filter'];\r
- \r
- //url\r
- $url = $vars['url'] . "mod/members/index.php";\r
-\r
-?>\r
-<div class="elgg_horizontal_tabbed_nav margin_top">\r
-<ul>\r
- <li <?php if($filter == "newest") echo "class='selected'"; ?>><a href="<?php echo $url; ?>?filter=newest"><?php echo elgg_echo('members:label:newest'); ?></a></li>\r
- <li <?php if($filter == "pop") echo "class='selected'"; ?>><a href="<?php echo $url; ?>?filter=pop"><?php echo elgg_echo('members:label:popular'); ?></a></li>\r
- <li <?php if($filter == "active") echo "class='selected'"; ?>><a href="<?php echo $url; ?>?filter=active"><?php echo elgg_echo('members:label:active'); ?></a></li>\r
-</ul>\r
+<?php
+
+ /**
+ * A simple view to provide the user with group filters and the number of group on the site
+ **/
+
+ $members = $vars['count'];
+ if(!$num_groups)
+ $num_groups = 0;
+
+ $filter = $vars['filter'];
+
+ //url
+ $url = $vars['url'] . "mod/members/index.php";
+
+?>
+<div class="elgg_horizontal_tabbed_nav margin_top">
+<ul>
+ <li <?php if($filter == "newest") echo "class='selected'"; ?>><a href="<?php echo $url; ?>?filter=newest"><?php echo elgg_echo('members:label:newest'); ?></a></li>
+ <li <?php if($filter == "pop") echo "class='selected'"; ?>><a href="<?php echo $url; ?>?filter=pop"><?php echo elgg_echo('members:label:popular'); ?></a></li>
+ <li <?php if($filter == "active") echo "class='selected'"; ?>><a href="<?php echo $url; ?>?filter=active"><?php echo elgg_echo('members:label:active'); ?></a></li>
+</ul>
</div>
\ No newline at end of file
-<?php\r
-/**\r
- * Check for new activity.\r
- * Outputs # of new activity items since $_GET['last_checked'] time\r
- */\r
-\r
-// Load Elgg engine will not include plugins\r
-require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php");\r
- \r
-// check for last checked time\r
-if (!$seconds_passed = get_input('seconds_passed', 0)) {\r
- echo '';\r
- exit;\r
-}\r
-\r
-$last_reload = time() - $seconds_passed;\r
-\r
-//grab any new annotations\r
-$annotations = count_annotations('', '', '', '', '', '', '', $last_reload);\r
-if(!$annotations)\r
- $annotations = 0;\r
-//grab all new objects created \r
-$entity_creation = elgg_get_entities(array(\r
- 'count' => TRUE, \r
- 'created_time_lower' => $last_reload,\r
- 'wheres' => array('e.type != \'user\'')\r
-));\r
-if(!$entity_creation)\r
- $entity_creation = 0;\r
-//grab any entities updated\r
-$entity_update = elgg_get_entities(array(\r
- 'count' => TRUE, \r
- 'modified_time_lower' => $last_reload,\r
- 'wheres' => array('e.type != \'user\'')\r
-));\r
-if(!$entity_update)\r
- $entity_update = 0;\r
-//get any relationships, such as friending - this is not working quite right yet\r
-//$relationship_action = elgg_get_entities_from_relationship(array('count' => TRUE));\r
-//if(!$relationship_action)\r
-// $relationship_action = 0;\r
-\r
-//sum all totals\r
-$all_activity = $annotations + $entity_creation + $entity_update;\r
-\r
-if ($all_activity > 0) {\r
- $s = ($all_activity == 1) ? '' : 's';\r
- echo "<a href='' onClick=\"window.location.reload();\" class='update_link'>$all_activity update$s!</a>";\r
-?>\r
- <script type="text/javascript">\r
- $(document).ready(function(){\r
- \r
- var pageTitleSubstring;\r
- var stringStartPosition = document.title.indexOf("]");\r
- \r
- if (stringStartPosition == -1) { // we haven't already altered page title\r
- pageTitleSubstring = document.title; \r
- } else { // we previously prepended to page title, need to remove it first\r
- pageTitleSubstring = document.title.substring( (stringStartPosition+2) );\r
- }\r
- \r
- document.title = "[<?php echo $all_activity; ?> update<?php echo $s; ?>] "+pageTitleSubstring;\r
- });\r
- </script>\r
-\r
-<?php \r
-} else {\r
- echo '';\r
- exit;\r
-}\r
+<?php
+/**
+ * Check for new activity.
+ * Outputs # of new activity items since $_GET['last_checked'] time
+ */
+
+// Load Elgg engine will not include plugins
+require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php");
+
+// check for last checked time
+if (!$seconds_passed = get_input('seconds_passed', 0)) {
+ echo '';
+ exit;
+}
+
+$last_reload = time() - $seconds_passed;
+
+//grab any new annotations
+$annotations = count_annotations('', '', '', '', '', '', '', $last_reload);
+if(!$annotations)
+ $annotations = 0;
+//grab all new objects created
+$entity_creation = elgg_get_entities(array(
+ 'count' => TRUE,
+ 'created_time_lower' => $last_reload,
+ 'wheres' => array('e.type != \'user\'')
+));
+if(!$entity_creation)
+ $entity_creation = 0;
+//grab any entities updated
+$entity_update = elgg_get_entities(array(
+ 'count' => TRUE,
+ 'modified_time_lower' => $last_reload,
+ 'wheres' => array('e.type != \'user\'')
+));
+if(!$entity_update)
+ $entity_update = 0;
+//get any relationships, such as friending - this is not working quite right yet
+//$relationship_action = elgg_get_entities_from_relationship(array('count' => TRUE));
+//if(!$relationship_action)
+// $relationship_action = 0;
+
+//sum all totals
+$all_activity = $annotations + $entity_creation + $entity_update;
+
+if ($all_activity > 0) {
+ $s = ($all_activity == 1) ? '' : 's';
+ echo "<a href='' onClick=\"window.location.reload();\" class='update_link'>$all_activity update$s!</a>";
+?>
+ <script type="text/javascript">
+ $(document).ready(function(){
+
+ var pageTitleSubstring;
+ var stringStartPosition = document.title.indexOf("]");
+
+ if (stringStartPosition == -1) { // we haven't already altered page title
+ pageTitleSubstring = document.title;
+ } else { // we previously prepended to page title, need to remove it first
+ pageTitleSubstring = document.title.substring( (stringStartPosition+2) );
+ }
+
+ document.title = "[<?php echo $all_activity; ?> update<?php echo $s; ?>] "+pageTitleSubstring;
+ });
+ </script>
+
+<?php
+} else {
+ echo '';
+ exit;
+}
-<?php\r
-\r
-/**\r
- * Elgg river dashboard plugin index page\r
- */\r
-\r
-require_once(dirname(dirname(dirname(__FILE__))) . '/engine/start.php');\r
-\r
-gatekeeper();\r
- \r
-$type = get_input('type');\r
-$subtype = get_input('subtype');\r
-$orient = get_input('display');\r
-if(!$orient)\r
- $orient = 'all';\r
-$callback = get_input('callback');\r
- \r
-if ($type == 'all') {\r
- $type = '';\r
- $subtype = '';\r
-}\r
-\r
-$body = '';\r
- \r
-switch($orient) {\r
- case 'mine':\r
- $subject_guid = $_SESSION['user']->guid;\r
- $relationship_type = ''; \r
- $title_wording = elgg_echo('river:mine');\r
- break;\r
- case 'friends': $subject_guid = $_SESSION['user']->guid;\r
- $relationship_type = 'friend';\r
- $title_wording = elgg_echo('river:friends');\r
- break;\r
- default: $subject_guid = 0;\r
- $relationship_type = '';\r
- $title_wording = elgg_echo('river:all');\r
- break;\r
-}\r
-\r
-\r
-$title = elgg_view_title($title_wording);\r
-\r
-$river = elgg_view_river_items($subject_guid, 0, $relationship_type, $type, $subtype, '', 20, 0, 0, true, false) . "</div>";\r
-// Replacing callback calls in the nav with something meaningless\r
-$river = str_replace('callback=true','replaced=88,334',$river);\r
- \r
-$nav = elgg_view('riverdashboard/nav',array('type' => $type,'subtype' => $subtype,'orient' => $orient));\r
-if(isloggedin()){\r
- $sidebar = elgg_view("riverdashboard/menu",array('type' => $type,'subtype' => $subtype,'orient' => $orient));\r
- $sidebar .= elgg_view("riverdashboard/sidebar", array("object_type" => 'riverdashboard'));\r
-}else{\r
- $sidebar = '';\r
-}\r
-set_context('riverdashboard');\r
-if (empty($callback)) {\r
- $body .= elgg_view('riverdashboard/container', array('body' => $nav . $river . elgg_view('riverdashboard/js')));\r
- page_draw($title_wording,elgg_view_layout('one_column_with_sidebar',$title . $body, $sidebar));\r
-} else {\r
- header("Content-type: text/html; charset=UTF-8");\r
- echo $nav . $river . elgg_view('riverdashboard/js');\r
+<?php
+
+/**
+ * Elgg river dashboard plugin index page
+ */
+
+require_once(dirname(dirname(dirname(__FILE__))) . '/engine/start.php');
+
+gatekeeper();
+
+$type = get_input('type');
+$subtype = get_input('subtype');
+$orient = get_input('display');
+if(!$orient)
+ $orient = 'all';
+$callback = get_input('callback');
+
+if ($type == 'all') {
+ $type = '';
+ $subtype = '';
+}
+
+$body = '';
+
+switch($orient) {
+ case 'mine':
+ $subject_guid = $_SESSION['user']->guid;
+ $relationship_type = '';
+ $title_wording = elgg_echo('river:mine');
+ break;
+ case 'friends': $subject_guid = $_SESSION['user']->guid;
+ $relationship_type = 'friend';
+ $title_wording = elgg_echo('river:friends');
+ break;
+ default: $subject_guid = 0;
+ $relationship_type = '';
+ $title_wording = elgg_echo('river:all');
+ break;
+}
+
+
+$title = elgg_view_title($title_wording);
+
+$river = elgg_view_river_items($subject_guid, 0, $relationship_type, $type, $subtype, '', 20, 0, 0, true, false) . "</div>";
+// Replacing callback calls in the nav with something meaningless
+$river = str_replace('callback=true','replaced=88,334',$river);
+
+$nav = elgg_view('riverdashboard/nav',array('type' => $type,'subtype' => $subtype,'orient' => $orient));
+if(isloggedin()){
+ $sidebar = elgg_view("riverdashboard/menu",array('type' => $type,'subtype' => $subtype,'orient' => $orient));
+ $sidebar .= elgg_view("riverdashboard/sidebar", array("object_type" => 'riverdashboard'));
+}else{
+ $sidebar = '';
+}
+set_context('riverdashboard');
+if (empty($callback)) {
+ $body .= elgg_view('riverdashboard/container', array('body' => $nav . $river . elgg_view('riverdashboard/js')));
+ page_draw($title_wording,elgg_view_layout('one_column_with_sidebar',$title . $body, $sidebar));
+} else {
+ header("Content-type: text/html; charset=UTF-8");
+ echo $nav . $river . elgg_view('riverdashboard/js');
}
\ No newline at end of file
-<?php\r
-$english = array(\r
- 'mine' => 'Mine',\r
- 'filter' => 'Filter',\r
- 'riverdashboard:useasdashboard' => "Replace the default dashboard with this activity river?",\r
- 'activity' => 'Activity',\r
- 'riverdashboard:recentmembers' => 'Recent members',\r
- \r
- /**\r
- * Site messages\r
- **/\r
-\r
- 'sitemessages:announcements' => "Site announcements",\r
- 'sitemessages:posted' => "Posted",\r
- 'sitemessages:river:created' => "Site admin, %s,",\r
- 'sitemessages:river:create' => "posted a new site wide message",\r
- 'sitemessages:add' => "Add a site-wide message to the river page",\r
- 'sitemessage:deleted' => "Site message deleted",\r
- \r
- 'river:widget:noactivity' => 'We could not find any activity.',\r
- 'river:widget:title' => "Activity",\r
- 'river:all' => "All activity",\r
- 'river:mine' => "My activity",\r
- 'river:friends' => "Friends' activity",\r
- 'river:widget:description' => "Show your latest activity.",\r
- 'river:widget:title:friends' => "Friends' activity",\r
- 'river:widget:description:friends' => "Show what your friends are up to.",\r
- 'river:widgets:friends' => "Friends",\r
- 'river:widgets:mine' => "Mine",\r
- 'river:friends' => "My friends' activity",\r
- 'river:mine' => "My activity",\r
- 'river:widget:label:displaynum' => "Number of entries to display:",\r
- 'river:widget:type' => "Which river would you like to display? One that shows your activity or one that shows your friends activity?",\r
- 'item:object:sitemessage' => "Site messages",\r
- 'riverdashboard:avataricon' => "Would you like to use user avatars or icons on your site activity stream?",\r
- 'option:icon' => 'Icons',\r
- 'option:avatar' => 'Avatars',\r
-);\r
- \r
+<?php
+$english = array(
+ 'mine' => 'Mine',
+ 'filter' => 'Filter',
+ 'riverdashboard:useasdashboard' => "Replace the default dashboard with this activity river?",
+ 'activity' => 'Activity',
+ 'riverdashboard:recentmembers' => 'Recent members',
+
+ /**
+ * Site messages
+ **/
+
+ 'sitemessages:announcements' => "Site announcements",
+ 'sitemessages:posted' => "Posted",
+ 'sitemessages:river:created' => "Site admin, %s,",
+ 'sitemessages:river:create' => "posted a new site wide message",
+ 'sitemessages:add' => "Add a site-wide message to the river page",
+ 'sitemessage:deleted' => "Site message deleted",
+
+ 'river:widget:noactivity' => 'We could not find any activity.',
+ 'river:widget:title' => "Activity",
+ 'river:all' => "All activity",
+ 'river:mine' => "My activity",
+ 'river:friends' => "Friends' activity",
+ 'river:widget:description' => "Show your latest activity.",
+ 'river:widget:title:friends' => "Friends' activity",
+ 'river:widget:description:friends' => "Show what your friends are up to.",
+ 'river:widgets:friends' => "Friends",
+ 'river:widgets:mine' => "Mine",
+ 'river:friends' => "My friends' activity",
+ 'river:mine' => "My activity",
+ 'river:widget:label:displaynum' => "Number of entries to display:",
+ 'river:widget:type' => "Which river would you like to display? One that shows your activity or one that shows your friends activity?",
+ 'item:object:sitemessage' => "Site messages",
+ 'riverdashboard:avataricon' => "Would you like to use user avatars or icons on your site activity stream?",
+ 'option:icon' => 'Icons',
+ 'option:avatar' => 'Avatars',
+);
+
add_translation("en",$english);
\ No newline at end of file
-<?php\r
-/**\r
- * Elgg river dashboard plugin\r
- */\r
-\r
-function riverdashboard_init() {\r
- global $CONFIG;\r
- // Register and optionally replace the dashboard\r
- if (get_plugin_setting('useasdashboard', 'riverdashboard') == 'yes') {\r
- register_page_handler('dashboard','riverdashboard_page_handler');\r
- } else {\r
- // Activity main menu\r
- add_menu(elgg_echo('activity'), $CONFIG->wwwroot . "mod/riverdashboard/");\r
- } \r
- // Page handler\r
- register_page_handler('riverdashboard','riverdashboard_page_handler');\r
- elgg_extend_view('css','riverdashboard/css');\r
-}\r
- \r
-/**\r
- * Page handler for riverdash\r
- *\r
- * @param unknown_type $page\r
- */\r
-function riverdashboard_page_handler($page){\r
- global $CONFIG;\r
- include(dirname(__FILE__) . "/index.php");\r
- return true;\r
-}\r
- \r
-function riverdashboard_dashboard() {\r
- include(dirname(__FILE__) . '/index.php');\r
-}\r
-\r
-/**\r
- * For users to make a comment on a river item\r
- *\r
- * @param ElggEntity $entity The entity to comment on\r
- * @return string|false The HTML (etc) for the comment form, or false on failure\r
- */\r
-function elgg_make_river_comment($entity){\r
- if (!($entity instanceof ElggEntity)) {\r
- return false;\r
- } else {\r
- //display the comment form\r
- $comments = elgg_view('riverdashboard/rivercomment',array('entity' => $entity));\r
- return $comments;\r
- }\r
-}\r
-\r
-register_elgg_event_handler('init','system','riverdashboard_init');\r
+<?php
+/**
+ * Elgg river dashboard plugin
+ */
+
+function riverdashboard_init() {
+ global $CONFIG;
+ // Register and optionally replace the dashboard
+ if (get_plugin_setting('useasdashboard', 'riverdashboard') == 'yes') {
+ register_page_handler('dashboard','riverdashboard_page_handler');
+ } else {
+ // Activity main menu
+ add_menu(elgg_echo('activity'), $CONFIG->wwwroot . "mod/riverdashboard/");
+ }
+ // Page handler
+ register_page_handler('riverdashboard','riverdashboard_page_handler');
+ elgg_extend_view('css','riverdashboard/css');
+}
+
+/**
+ * Page handler for riverdash
+ *
+ * @param unknown_type $page
+ */
+function riverdashboard_page_handler($page){
+ global $CONFIG;
+ include(dirname(__FILE__) . "/index.php");
+ return true;
+}
+
+function riverdashboard_dashboard() {
+ include(dirname(__FILE__) . '/index.php');
+}
+
+/**
+ * For users to make a comment on a river item
+ *
+ * @param ElggEntity $entity The entity to comment on
+ * @return string|false The HTML (etc) for the comment form, or false on failure
+ */
+function elgg_make_river_comment($entity){
+ if (!($entity instanceof ElggEntity)) {
+ return false;
+ } else {
+ //display the comment form
+ $comments = elgg_view('riverdashboard/rivercomment',array('entity' => $entity));
+ return $comments;
+ }
+}
+
+register_elgg_event_handler('init','system','riverdashboard_init');
-<?php echo $vars['body']; ?>\r
-\r
-<script type="text/JavaScript">\r
-$(document).ready(function(){\r
- var updates = new thewireUpdateChecker(10000);\r
- updates.start();\r
-});\r
-\r
-// check for updates on the wire.\r
-function thewireUpdateChecker(interval) {\r
- this.intervalID = null;\r
- this.interval = interval;\r
- this.url = '<?php echo $vars['url']; ?>mod/riverdashboard/endpoint/ping.php';\r
- this.seconds_passed = 0;\r
- \r
- this.start = function() {\r
- // needed to complete closure scope.\r
- var self = this;\r
- \r
- this.intervalID = setInterval(function() { self.checkUpdates(); }, this.interval);\r
- }\r
-\r
- this.checkUpdates = function() {\r
- this.seconds_passed += this.interval / 1000;\r
- // more closure fun\r
- var self = this;\r
- $.ajax({\r
- 'type': 'GET',\r
- 'url': this.url,\r
- 'data': {'seconds_passed': this.seconds_passed},\r
- 'success': function(data) {\r
- if (data) {\r
- $('#riverdashboard_updates').html(data).slideDown();\r
- // could crank down the interval here.\r
- // if we change the message to simply "New Posts!" \r
- // we could stop the polling altogether.\r
- }\r
- }\r
- })\r
- }\r
-\r
- this.stop = function() {\r
- clearInterval(this.interval);\r
- }\r
-\r
- this.changeInterval = function(interval) {\r
- this.stop();\r
- this.interval = interval;\r
- this.start();\r
- }\r
-}\r
-</script>\r
+<?php echo $vars['body']; ?>
+
+<script type="text/JavaScript">
+$(document).ready(function(){
+ var updates = new thewireUpdateChecker(10000);
+ updates.start();
+});
+
+// check for updates on the wire.
+function thewireUpdateChecker(interval) {
+ this.intervalID = null;
+ this.interval = interval;
+ this.url = '<?php echo $vars['url']; ?>mod/riverdashboard/endpoint/ping.php';
+ this.seconds_passed = 0;
+
+ this.start = function() {
+ // needed to complete closure scope.
+ var self = this;
+
+ this.intervalID = setInterval(function() { self.checkUpdates(); }, this.interval);
+ }
+
+ this.checkUpdates = function() {
+ this.seconds_passed += this.interval / 1000;
+ // more closure fun
+ var self = this;
+ $.ajax({
+ 'type': 'GET',
+ 'url': this.url,
+ 'data': {'seconds_passed': this.seconds_passed},
+ 'success': function(data) {
+ if (data) {
+ $('#riverdashboard_updates').html(data).slideDown();
+ // could crank down the interval here.
+ // if we change the message to simply "New Posts!"
+ // we could stop the polling altogether.
+ }
+ }
+ })
+ }
+
+ this.stop = function() {
+ clearInterval(this.interval);
+ }
+
+ this.changeInterval = function(interval) {
+ this.stop();
+ this.interval = interval;
+ this.start();
+ }
+}
+</script>
-<?php\r
-/**\r
- * Elgg activity stream menu\r
- */\r
-$allselect = ''; $friendsselect = ''; $mineselect = ''; $display_option = '';\r
-switch($vars['orient']) {\r
- case 'all': $allselect = 'class="selected"';\r
- break;\r
- case 'friends': $friendsselect = 'class="selected"';\r
- $display_option = '&display=friends';\r
- break;\r
- case 'mine': $mineselect = 'class="selected"';\r
- $display_option = '&display=mine';\r
- break;\r
-}\r
-?>\r
-<ul class="submenu riverdashboard">\r
-<?php\r
- if(isloggedin()){\r
-?>\r
- <li <?php echo $allselect; ?> ><a href="<?php echo $vars['url']; ?>mod/riverdashboard/"><?php echo elgg_echo('all'); ?></a></li>\r
- <li <?php echo $friendsselect; ?> ><a href="<?php echo $vars['url']; ?>mod/riverdashboard/?display=friends"><?php echo elgg_echo('friends'); ?></a></li>\r
- <li <?php echo $mineselect; ?> ><a href="<?php echo $vars['url']; ?>mod/riverdashboard/?display=mine"><?php echo elgg_echo('mine'); ?></a></li>\r
-\r
-<?php\r
- }\r
-?>\r
+<?php
+/**
+ * Elgg activity stream menu
+ */
+$allselect = ''; $friendsselect = ''; $mineselect = ''; $display_option = '';
+switch($vars['orient']) {
+ case 'all': $allselect = 'class="selected"';
+ break;
+ case 'friends': $friendsselect = 'class="selected"';
+ $display_option = '&display=friends';
+ break;
+ case 'mine': $mineselect = 'class="selected"';
+ $display_option = '&display=mine';
+ break;
+}
+?>
+<ul class="submenu riverdashboard">
+<?php
+ if(isloggedin()){
+?>
+ <li <?php echo $allselect; ?> ><a href="<?php echo $vars['url']; ?>mod/riverdashboard/"><?php echo elgg_echo('all'); ?></a></li>
+ <li <?php echo $friendsselect; ?> ><a href="<?php echo $vars['url']; ?>mod/riverdashboard/?display=friends"><?php echo elgg_echo('friends'); ?></a></li>
+ <li <?php echo $mineselect; ?> ><a href="<?php echo $vars['url']; ?>mod/riverdashboard/?display=mine"><?php echo elgg_echo('mine'); ?></a></li>
+
+<?php
+ }
+?>
</ul>
\ No newline at end of file
-<?php\r
-\r
-$contents = array();\r
-$contents['all'] = 'all';\r
-if (!empty($vars['config']->registered_entities)) {\r
- foreach ($vars['config']->registered_entities as $type => $ar) {\r
- foreach ($vars['config']->registered_entities[$type] as $object) {\r
- if($object != 'helppage'){\r
- if (!empty($object )) {\r
- $keyname = 'item:'.$type.':'.$object;\r
- } else $keyname = 'item:'.$type; \r
- $contents[$keyname] = "{$type},{$object}";\r
- }\r
- }\r
- }\r
-}\r
- \r
-$allselect = ''; $friendsselect = ''; $mineselect = ''; $display_option = '';\r
-switch($vars['orient']) {\r
- case '': $allselect = 'class="selected"';\r
- break;\r
- case 'friends': $friendsselect = 'class="selected"';\r
- $display_option = '&display=friends';\r
- break;\r
- case 'mine': $mineselect = 'class="selected"';\r
- $display_option = '&display=mine';\r
- break;\r
-}\r
-?>\r
-<div class="riverdashboard_filtermenu"> \r
- <?php\r
- $location_filter = "<select onchange=\"window.open(this.options[this.selectedIndex].value,'_top')\" name=\"file_filter\" class='Notstyled' >";\r
- $current = get_input('subtype');\r
- foreach($contents as $label => $content) {\r
- $get_values = explode(",", $content);\r
- //select the current filter\r
- if($get_values[1] == $current)\r
- $selected = "SELECTED";\r
- //set the drop down filter\r
- if($content[0] && $content[1])\r
- $location_filter .= "<option {$selected} class='Nomenuoption' value=\"{$CONFIG->url}mod/riverdashboard/index.php?type={$get_values[0]}&subtype={$get_values[1]}{$display_option}\" >" . elgg_echo($label) . "</option>"; \r
- //reset selected\r
- $selected = '';\r
- }\r
- $location_filter .= "</select>";\r
- echo $location_filter;\r
- ?>\r
- <input type="hidden" name="display" id="display" value="<?php echo htmlentities($vars['orient']); ?>" />\r
-</div>\r
-\r
-<div id="riverdashboard_updates" class="clearfloat"></div>\r
+<?php
+
+$contents = array();
+$contents['all'] = 'all';
+if (!empty($vars['config']->registered_entities)) {
+ foreach ($vars['config']->registered_entities as $type => $ar) {
+ foreach ($vars['config']->registered_entities[$type] as $object) {
+ if($object != 'helppage'){
+ if (!empty($object )) {
+ $keyname = 'item:'.$type.':'.$object;
+ } else $keyname = 'item:'.$type;
+ $contents[$keyname] = "{$type},{$object}";
+ }
+ }
+ }
+}
+
+$allselect = ''; $friendsselect = ''; $mineselect = ''; $display_option = '';
+switch($vars['orient']) {
+ case '': $allselect = 'class="selected"';
+ break;
+ case 'friends': $friendsselect = 'class="selected"';
+ $display_option = '&display=friends';
+ break;
+ case 'mine': $mineselect = 'class="selected"';
+ $display_option = '&display=mine';
+ break;
+}
+?>
+<div class="riverdashboard_filtermenu">
+ <?php
+ $location_filter = "<select onchange=\"window.open(this.options[this.selectedIndex].value,'_top')\" name=\"file_filter\" class='Notstyled' >";
+ $current = get_input('subtype');
+ foreach($contents as $label => $content) {
+ $get_values = explode(",", $content);
+ //select the current filter
+ if($get_values[1] == $current)
+ $selected = "SELECTED";
+ //set the drop down filter
+ if($content[0] && $content[1])
+ $location_filter .= "<option {$selected} class='Nomenuoption' value=\"{$CONFIG->url}mod/riverdashboard/index.php?type={$get_values[0]}&subtype={$get_values[1]}{$display_option}\" >" . elgg_echo($label) . "</option>";
+ //reset selected
+ $selected = '';
+ }
+ $location_filter .= "</select>";
+ echo $location_filter;
+ ?>
+ <input type="hidden" name="display" id="display" value="<?php echo htmlentities($vars['orient']); ?>" />
+</div>
+
+<div id="riverdashboard_updates" class="clearfloat"></div>
-<?php\r
-/**\r
- * Elgg comments add on river form\r
- * @uses $vars['entity']\r
- */\r
-\r
-if (isset($vars['entity']) && isloggedin()) {\r
- $form_body = "<a class=\"river_comment_form_button\">Add comment</a>";\r
- $form_body .= "<div class=\"river_comment_form\" style=\"display:none;\">";\r
- $form_body .= elgg_view('input/text',array('internalname' => 'generic_comment', 'value' => 'Add a comment...'));\r
- $form_body .= elgg_view('input/hidden', array('internalname' => 'entity_guid', 'value' => $vars['entity']->getGUID()));\r
- $form_body .= elgg_view('input/submit', array('value' => elgg_echo("post")));\r
- $form_body .= "</div>";\r
- echo elgg_view('input/form', array('body' => $form_body, 'action' => "{$vars['url']}action/comments/add"));\r
+<?php
+/**
+ * Elgg comments add on river form
+ * @uses $vars['entity']
+ */
+
+if (isset($vars['entity']) && isloggedin()) {
+ $form_body = "<a class=\"river_comment_form_button\">Add comment</a>";
+ $form_body .= "<div class=\"river_comment_form\" style=\"display:none;\">";
+ $form_body .= elgg_view('input/text',array('internalname' => 'generic_comment', 'value' => 'Add a comment...'));
+ $form_body .= elgg_view('input/hidden', array('internalname' => 'entity_guid', 'value' => $vars['entity']->getGUID()));
+ $form_body .= elgg_view('input/submit', array('value' => elgg_echo("post")));
+ $form_body .= "</div>";
+ echo elgg_view('input/form', array('body' => $form_body, 'action' => "{$vars['url']}action/comments/add"));
}
\ No newline at end of file
-<?php\r
-\r
- /**\r
- * Elgg thewire view page\r
- */\r
- \r
-?>\r
+<?php
+
+ /**
+ * Elgg thewire view page
+ */
+
+?>
<h2><?php echo sprintf(elgg_echo('welcome:user'), $_SESSION['user']->name); ?></h2>
\ No newline at end of file
-<?php\r
-/**\r
- * Site pages meta tags and desc page save/edit\r
- *\r
- * @package SitePages\r
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2\r
- * @author Curverider Ltd <info@elgg.com>\r
- * @copyright Curverider Ltd 2008-2010\r
- * @link http://elgg.com/\r
- *\r
- */\r
-\r
-admin_gatekeeper();\r
-\r
-$description = get_input('description', '', FALSE);\r
-$metatags = get_input('metatags', '', FALSE);\r
-\r
-// Cache to the session\r
-$_SESSION['description'] = $description;\r
-$_SESSION['metatags'] = $metatags;\r
-\r
-if (!$sitepage = sitepages_get_sitepage_object('seo')) {\r
- $sitepage = sitepages_create_sitepage_object('seo');\r
-}\r
-\r
-$sitepage->title = $metatags;\r
-$sitepage->description = $description;\r
-\r
-if ($sitepage->save()) {\r
- system_message(elgg_echo("sitepages:seocreated"));\r
- unset($_SESSION['description']); unset($_SESSION['metatags']);\r
-} else {\r
- register_error(elgg_echo("sitepages:error"));\r
-}\r
-\r
+<?php
+/**
+ * Site pages meta tags and desc page save/edit
+ *
+ * @package SitePages
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd <info@elgg.com>
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.com/
+ *
+ */
+
+admin_gatekeeper();
+
+$description = get_input('description', '', FALSE);
+$metatags = get_input('metatags', '', FALSE);
+
+// Cache to the session
+$_SESSION['description'] = $description;
+$_SESSION['metatags'] = $metatags;
+
+if (!$sitepage = sitepages_get_sitepage_object('seo')) {
+ $sitepage = sitepages_create_sitepage_object('seo');
+}
+
+$sitepage->title = $metatags;
+$sitepage->description = $description;
+
+if ($sitepage->save()) {
+ system_message(elgg_echo("sitepages:seocreated"));
+ unset($_SESSION['description']); unset($_SESSION['metatags']);
+} else {
+ register_error(elgg_echo("sitepages:error"));
+}
+
forward($_SERVER['HTTP_REFERER']);
\ No newline at end of file
-<?php\r
-/**\r
- * Helper functions for Site Pages.\r
- *\r
- * @package SitePages\r
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2\r
- * @author Curverider Ltd\r
- * @copyright Curverider Ltd 2008-2010\r
- * @link http://elgg.org/\r
- */\r
-\r
-\r
-/**\r
- * Returns a single object that holds information about\r
- * customizations for the $section site page. The object guid\r
- * is stored as private data on the site entity. This allows the pages\r
- * to still be searchable as standard entities.\r
- *\r
- * @param $type\r
- * @return mixed ElggSitePage on success, FALSE on fail\r
- */\r
-function sitepages_get_sitepage_object($page_type) {\r
- global $CONFIG;\r
-\r
- $page_guid = get_private_setting($CONFIG->site->getGUID(), "sitepages:$page_type");\r
- $sitepage = get_entity($page_guid);\r
-\r
- if ($sitepage instanceof ElggSitePage || $sitepage->page_type == $page_type) {\r
- return $sitepage;\r
- }\r
-\r
- return FALSE;\r
-}\r
-\r
-/**\r
- * Creates a site page object.\r
- *\r
- * @param str $page_type\r
- * @return mixed ElggSitePage on success, FALSE on fail.\r
- */\r
-function sitepages_create_sitepage_object($page_type) {\r
- global $CONFIG;\r
-\r
- $sitepage = new ElggSitePage();\r
- $sitepage->page_type = $page_type;\r
- $sitepage->access_id = ACCESS_PUBLIC;\r
- $sitepage->save();\r
-\r
- if ($sitepage->save() && set_private_setting($CONFIG->site->getGUID(), "sitepages:$page_type", $sitepage->getGUID())) {\r
- return $sitepage;\r
- }\r
-\r
- return FALSE;\r
-}\r
-\r
-/**\r
- * Assembles html for edit sections of site pages.\r
- *\r
- * @param str $section\r
- * @return str html\r
- */\r
-function sitepages_get_edit_section_content($page_type) {\r
- set_context('admin');\r
-\r
- $keywords = '';\r
-\r
- $title = elgg_view_title(elgg_echo('sitepages'));\r
- $menu = elgg_view('sitepages/menu', array('page_type' => $page_type));\r
-\r
- switch ($page_type) {\r
- case 'front':\r
- $view = 'sitepages/forms/editfront';\r
- $keywords = elgg_view('sitepages/keywords');\r
- break;\r
-\r
- case 'seo':\r
- $view = 'sitepages/forms/editmeta';\r
- break;\r
-\r
- default:\r
- $view = 'sitepages/forms/edit';\r
- break;\r
-\r
- }\r
-\r
- $form .= elgg_view($view, array('page_type' => $page_type));\r
- $body = $title . $menu . $form;\r
-\r
- $content = elgg_view_layout('one_column_with_sidebar', $body, $keywords);\r
- return $content;\r
-}\r
-\r
-/**\r
- * Assembles html for displaying site pages\r
- *\r
- * @param string $page_type\r
- * @return string Formatted html\r
- */\r
-function sitepages_get_page_content($page_type) {\r
- $body = elgg_view_title(elgg_echo("sitepages:". strtolower($page_type)));\r
-\r
- $sitepage = sitepages_get_sitepage_object($page_type);\r
-\r
- if ($sitepage) {\r
- $body .= elgg_view('page_elements/elgg_content', array('body' => $sitepage->description));\r
- } else {\r
- $body .= elgg_view('page_elements/elgg_content', array('body' => elgg_echo('sitepages:notset')));\r
- }\r
-\r
- $content = elgg_view_layout('one_column_with_sidebar', $body);\r
- return $content;\r
-}\r
-\r
-\r
-/**\r
- * Used to determine how to handle special non-static keywords.\r
- *\r
- * @param unknown_type $matches\r
- * @return html\r
- */\r
-function sitepages_parse_view_match($matches) {\r
- $keyword = $matches[0];\r
- $type = trim($matches[1]);\r
- $params_string = trim($matches[2]);\r
-\r
- switch ($type) {\r
- case 'entity':\r
- $options = sitepages_keywords_parse_entity_params($params_string);\r
- // must use this lower-level function because I missed refactoring\r
- // the list entity functions for relationships.\r
- // (which, since you're here, is the only function that runs through all\r
- // possible options for elgg_get_entities*() functions...)\r
- $entities = elgg_get_entities_from_relationship($options);\r
- $content = elgg_view_entity_list($entities, count($entities), $options['offset'],\r
- $options['limit'], $options['full_view'], $options['view_type_toggle'], $options['pagination']);\r
- break;\r
-\r
- case 'view':\r
- // parses this into an acceptable array for $vars.\r
- $info = sitepages_keywords_parse_view_params($params_string);\r
- $content = elgg_view($info['view'], $info['vars']);\r
-\r
- break;\r
-\r
- }\r
-\r
- return $content;\r
-}\r
-\r
-/**\r
- * Creates an array from a "name=value, name1=value2" string.\r
- *\r
- * @param $string\r
- * @return array\r
- */\r
-function sitepages_keywords_tokenize_params($string) {\r
- $pairs = array_map('trim', explode(',', $string));\r
-\r
- $params = array();\r
-\r
- foreach ($pairs as $pair) {\r
- list($name, $value) = explode('=', $pair);\r
-\r
- $name = trim($name);\r
- $value = trim($value);\r
- $params[$name] = $value;\r
- }\r
-\r
- return $params;\r
-}\r
-\r
-/**\r
- *\r
- * @param $string\r
- * @return unknown_type\r
- */\r
-function sitepages_keywords_parse_view_params($string) {\r
- $vars = sitepages_keywords_tokenize_params($string);\r
-\r
- // the first element key is the view\r
- $var_keys = array_keys($vars);\r
- $view = $var_keys[0];\r
-\r
- $info = array(\r
- 'view' => $view,\r
- 'vars' => $vars\r
- );\r
-\r
- return $info;\r
-\r
-}\r
-\r
-/**\r
- * Returns an options array suitable for using in elgg_get_entities()\r
- *\r
- * @param string $string "name=value, name2=value2"\r
- * @return array\r
- */\r
-function sitepages_keywords_parse_entity_params($string) {\r
- $params = sitepages_keywords_tokenize_params($string);\r
-\r
- // handle some special cases\r
- if (isset($params['owner'])) {\r
- if ($user = get_user_by_username($params['owner'])) {\r
- $params['owner_guid'] = $user->getGUID();\r
- }\r
- }\r
-\r
- // @todo probably need to add more for\r
- // group -> container_guid, etc\r
- return $params;\r
-}\r
-\r
-\r
-\r
-/**\r
- * Utility object to store site page information.\r
- */\r
-class ElggSitePage extends ElggObject {\r
- public function initialise_attributes() {\r
- parent::initialise_attributes();\r
-\r
- $this->attributes['subtype'] = 'sitepages_page';\r
- }\r
+<?php
+/**
+ * Helper functions for Site Pages.
+ *
+ * @package SitePages
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+
+/**
+ * Returns a single object that holds information about
+ * customizations for the $section site page. The object guid
+ * is stored as private data on the site entity. This allows the pages
+ * to still be searchable as standard entities.
+ *
+ * @param $type
+ * @return mixed ElggSitePage on success, FALSE on fail
+ */
+function sitepages_get_sitepage_object($page_type) {
+ global $CONFIG;
+
+ $page_guid = get_private_setting($CONFIG->site->getGUID(), "sitepages:$page_type");
+ $sitepage = get_entity($page_guid);
+
+ if ($sitepage instanceof ElggSitePage || $sitepage->page_type == $page_type) {
+ return $sitepage;
+ }
+
+ return FALSE;
+}
+
+/**
+ * Creates a site page object.
+ *
+ * @param str $page_type
+ * @return mixed ElggSitePage on success, FALSE on fail.
+ */
+function sitepages_create_sitepage_object($page_type) {
+ global $CONFIG;
+
+ $sitepage = new ElggSitePage();
+ $sitepage->page_type = $page_type;
+ $sitepage->access_id = ACCESS_PUBLIC;
+ $sitepage->save();
+
+ if ($sitepage->save() && set_private_setting($CONFIG->site->getGUID(), "sitepages:$page_type", $sitepage->getGUID())) {
+ return $sitepage;
+ }
+
+ return FALSE;
+}
+
+/**
+ * Assembles html for edit sections of site pages.
+ *
+ * @param str $section
+ * @return str html
+ */
+function sitepages_get_edit_section_content($page_type) {
+ set_context('admin');
+
+ $keywords = '';
+
+ $title = elgg_view_title(elgg_echo('sitepages'));
+ $menu = elgg_view('sitepages/menu', array('page_type' => $page_type));
+
+ switch ($page_type) {
+ case 'front':
+ $view = 'sitepages/forms/editfront';
+ $keywords = elgg_view('sitepages/keywords');
+ break;
+
+ case 'seo':
+ $view = 'sitepages/forms/editmeta';
+ break;
+
+ default:
+ $view = 'sitepages/forms/edit';
+ break;
+
+ }
+
+ $form .= elgg_view($view, array('page_type' => $page_type));
+ $body = $title . $menu . $form;
+
+ $content = elgg_view_layout('one_column_with_sidebar', $body, $keywords);
+ return $content;
+}
+
+/**
+ * Assembles html for displaying site pages
+ *
+ * @param string $page_type
+ * @return string Formatted html
+ */
+function sitepages_get_page_content($page_type) {
+ $body = elgg_view_title(elgg_echo("sitepages:". strtolower($page_type)));
+
+ $sitepage = sitepages_get_sitepage_object($page_type);
+
+ if ($sitepage) {
+ $body .= elgg_view('page_elements/elgg_content', array('body' => $sitepage->description));
+ } else {
+ $body .= elgg_view('page_elements/elgg_content', array('body' => elgg_echo('sitepages:notset')));
+ }
+
+ $content = elgg_view_layout('one_column_with_sidebar', $body);
+ return $content;
+}
+
+
+/**
+ * Used to determine how to handle special non-static keywords.
+ *
+ * @param unknown_type $matches
+ * @return html
+ */
+function sitepages_parse_view_match($matches) {
+ $keyword = $matches[0];
+ $type = trim($matches[1]);
+ $params_string = trim($matches[2]);
+
+ switch ($type) {
+ case 'entity':
+ $options = sitepages_keywords_parse_entity_params($params_string);
+ // must use this lower-level function because I missed refactoring
+ // the list entity functions for relationships.
+ // (which, since you're here, is the only function that runs through all
+ // possible options for elgg_get_entities*() functions...)
+ $entities = elgg_get_entities_from_relationship($options);
+ $content = elgg_view_entity_list($entities, count($entities), $options['offset'],
+ $options['limit'], $options['full_view'], $options['view_type_toggle'], $options['pagination']);
+ break;
+
+ case 'view':
+ // parses this into an acceptable array for $vars.
+ $info = sitepages_keywords_parse_view_params($params_string);
+ $content = elgg_view($info['view'], $info['vars']);
+
+ break;
+
+ }
+
+ return $content;
+}
+
+/**
+ * Creates an array from a "name=value, name1=value2" string.
+ *
+ * @param $string
+ * @return array
+ */
+function sitepages_keywords_tokenize_params($string) {
+ $pairs = array_map('trim', explode(',', $string));
+
+ $params = array();
+
+ foreach ($pairs as $pair) {
+ list($name, $value) = explode('=', $pair);
+
+ $name = trim($name);
+ $value = trim($value);
+ $params[$name] = $value;
+ }
+
+ return $params;
+}
+
+/**
+ *
+ * @param $string
+ * @return unknown_type
+ */
+function sitepages_keywords_parse_view_params($string) {
+ $vars = sitepages_keywords_tokenize_params($string);
+
+ // the first element key is the view
+ $var_keys = array_keys($vars);
+ $view = $var_keys[0];
+
+ $info = array(
+ 'view' => $view,
+ 'vars' => $vars
+ );
+
+ return $info;
+
+}
+
+/**
+ * Returns an options array suitable for using in elgg_get_entities()
+ *
+ * @param string $string "name=value, name2=value2"
+ * @return array
+ */
+function sitepages_keywords_parse_entity_params($string) {
+ $params = sitepages_keywords_tokenize_params($string);
+
+ // handle some special cases
+ if (isset($params['owner'])) {
+ if ($user = get_user_by_username($params['owner'])) {
+ $params['owner_guid'] = $user->getGUID();
+ }
+ }
+
+ // @todo probably need to add more for
+ // group -> container_guid, etc
+ return $params;
+}
+
+
+
+/**
+ * Utility object to store site page information.
+ */
+class ElggSitePage extends ElggObject {
+ public function initialise_attributes() {
+ parent::initialise_attributes();
+
+ $this->attributes['subtype'] = 'sitepages_page';
+ }
}
\ No newline at end of file
-<?php\r
-/**\r
- * Settings Site Pages\r
- *\r
- * @package SitePages\r
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2\r
- * @author Curverider Ltd\r
- * @copyright Curverider Ltd 2008-2010\r
- * @link http://elgg.org/\r
- */\r
-?>\r
-\r
-<p>\r
- <?php echo elgg_echo('sitepages:ownfront'); ?>\r
- <select name="params[ownfrontpage]">\r
- <option value="yes" <?php if ($vars['entity']->ownfrontpage == 'yes') echo " selected=\"yes\" "; ?>><?php echo elgg_echo('option:yes'); ?></option>\r
- <option value="no" <?php if ($vars['entity']->ownfrontpage != 'yes') echo " selected=\"yes\" "; ?>><?php echo elgg_echo('option:no'); ?></option>\r
- </select>\r
+<?php
+/**
+ * Settings Site Pages
+ *
+ * @package SitePages
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+?>
+
+<p>
+ <?php echo elgg_echo('sitepages:ownfront'); ?>
+ <select name="params[ownfrontpage]">
+ <option value="yes" <?php if ($vars['entity']->ownfrontpage == 'yes') echo " selected=\"yes\" "; ?>><?php echo elgg_echo('option:yes'); ?></option>
+ <option value="no" <?php if ($vars['entity']->ownfrontpage != 'yes') echo " selected=\"yes\" "; ?>><?php echo elgg_echo('option:no'); ?></option>
+ </select>
</p>
\ No newline at end of file
-<?php\r
-/**\r
- * Edit form for the custom meta tags and desc\r
- *\r
- * @package SitePages\r
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2\r
- * @author Curverider Ltd\r
- * @copyright Curverider Ltd 2008-2010\r
- * @link http://elgg.org/\r
- */\r
-\r
-$action = 'sitepages/addmeta';\r
-\r
-if ($sitepages_object = sitepages_get_sitepage_object('seo')) {\r
- $meta_tags = $sitepages_object->title;\r
- $meta_description = $sitepages_object->description;\r
-} else {\r
- $meta_tags = '';\r
- $meta_description = '';\r
-}\r
-\r
-$input_keywords = elgg_view('input/text', array('internalname' => 'metatags', 'value' => $meta_tags));\r
-$input_description = elgg_view('input/plaintext', array('internalname' => 'description', 'value' => $meta_description));\r
-$submit_input = elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('save')));\r
-\r
-$description = elgg_echo("sitepages:metadescription");\r
-$metatags = elgg_echo("sitepages:metatags");\r
-\r
-$form_body = <<<___EOT\r
-\r
-<p><label>$description\r
-$input_description</p></label>\r
-\r
-<p><label>$metatags\r
-$input_keywords</p></label>\r
-\r
-$hidden_guid\r
-$submit_input\r
-\r
-___EOT;\r
-\r
-//display the form\r
+<?php
+/**
+ * Edit form for the custom meta tags and desc
+ *
+ * @package SitePages
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+$action = 'sitepages/addmeta';
+
+if ($sitepages_object = sitepages_get_sitepage_object('seo')) {
+ $meta_tags = $sitepages_object->title;
+ $meta_description = $sitepages_object->description;
+} else {
+ $meta_tags = '';
+ $meta_description = '';
+}
+
+$input_keywords = elgg_view('input/text', array('internalname' => 'metatags', 'value' => $meta_tags));
+$input_description = elgg_view('input/plaintext', array('internalname' => 'description', 'value' => $meta_description));
+$submit_input = elgg_view('input/submit', array('internalname' => 'submit', 'value' => elgg_echo('save')));
+
+$description = elgg_echo("sitepages:metadescription");
+$metatags = elgg_echo("sitepages:metatags");
+
+$form_body = <<<___EOT
+
+<p><label>$description
+$input_description</p></label>
+
+<p><label>$metatags
+$input_keywords</p></label>
+
+$hidden_guid
+$submit_input
+
+___EOT;
+
+//display the form
echo elgg_view('input/form', array('action' => "{$vars['url']}action/$action", 'body' => $form_body));
\ No newline at end of file
-<?php\r
-/**\r
- * Lists available keywords\r
- *\r
- * @package SitePages\r
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2\r
- * @author Curverider Ltd\r
- * @copyright Curverider Ltd 2008-2010\r
- * @link http://elgg.org/\r
- */\r
-\r
-$keywords = $vars['config']->sitepages_keywords;\r
-$title = elgg_echo('sitepages:keywords_title');\r
-$instructions = elgg_echo('sitepages:keywords_instructions');\r
-$more_info = elgg_echo('sitepages:keywords_instructions_more');\r
-\r
-$keywords_html = '';\r
-foreach ($keywords as $keyword => $info) {\r
- $desc = htmlentities($info['description']);\r
- $keywords_html .= "<li><acronym title=\"$desc\">[[$keyword]]</acronym></li>";\r
-}\r
-\r
-echo "\r
-<h3>$title</h3>\r
-<p>$instructions</p>\r
-$more_info\r
-<ul>\r
- $keywords_html\r
-</ul>\r
+<?php
+/**
+ * Lists available keywords
+ *
+ * @package SitePages
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+$keywords = $vars['config']->sitepages_keywords;
+$title = elgg_echo('sitepages:keywords_title');
+$instructions = elgg_echo('sitepages:keywords_instructions');
+$more_info = elgg_echo('sitepages:keywords_instructions_more');
+
+$keywords_html = '';
+foreach ($keywords as $keyword => $info) {
+ $desc = htmlentities($info['description']);
+ $keywords_html .= "<li><acronym title=\"$desc\">[[$keyword]]</acronym></li>";
+}
+
+echo "
+<h3>$title</h3>
+<p>$instructions</p>
+$more_info
+<ul>
+ $keywords_html
+</ul>
";
\ No newline at end of file
-<?php\r
-/**\r
- * Add any additional defined metatags or CSS.\r
- *\r
- * @package SitePages\r
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2\r
- * @author Curverider Ltd\r
- * @copyright Curverider Ltd 2008-2010\r
- * @link http://elgg.org/\r
- */\r
-\r
-$meta_details = sitepages_get_sitepage_object('seo');\r
-\r
-if ($meta_details) {\r
- $metatags = $meta_details->title;\r
- $description = $meta_details->description;\r
-\r
- echo <<<___END\r
-\r
- <meta name="description" content="$description" />\r
- <meta name="keywords" content="$metatags" />\r
-\r
-___END;\r
-}\r
-\r
-// only show on the custom front page.\r
-if (get_context() == 'sitepages:front') {\r
- $custom_css = sitepages_get_sitepage_object('front');\r
-\r
- if ($custom_css && $custom_css->css) {\r
- echo <<<___END\r
-\r
- <style type="text/css">\r
- {$custom_css->css}\r
- </style>\r
-\r
-___END;\r
- }\r
+<?php
+/**
+ * Add any additional defined metatags or CSS.
+ *
+ * @package SitePages
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Curverider Ltd
+ * @copyright Curverider Ltd 2008-2010
+ * @link http://elgg.org/
+ */
+
+$meta_details = sitepages_get_sitepage_object('seo');
+
+if ($meta_details) {
+ $metatags = $meta_details->title;
+ $description = $meta_details->description;
+
+ echo <<<___END
+
+ <meta name="description" content="$description" />
+ <meta name="keywords" content="$metatags" />
+
+___END;
+}
+
+// only show on the custom front page.
+if (get_context() == 'sitepages:front') {
+ $custom_css = sitepages_get_sitepage_object('front');
+
+ if ($custom_css && $custom_css->css) {
+ echo <<<___END
+
+ <style type="text/css">
+ {$custom_css->css}
+ </style>
+
+___END;
+ }
}
\ No newline at end of file
-<?php\r
-\r
-$performed_by = get_entity($vars['item']->subject_guid);\r
-$object = get_entity($vars['item']->object_guid);\r
-$url = $object->getURL();\r
-$title = $object->title;\r
- \r
-$string = "<a href=\"{$performed_by->getURL()}\">{$performed_by->name}</a> ";\r
-$string .= elgg_echo("likes:river:annotate") . " <a href=\"{$object->getURL()}\">" . $title . "</a> " . friendly_time($object->time_created);\r
- \r
+<?php
+
+$performed_by = get_entity($vars['item']->subject_guid);
+$object = get_entity($vars['item']->object_guid);
+$url = $object->getURL();
+$title = $object->title;
+
+$string = "<a href=\"{$performed_by->getURL()}\">{$performed_by->name}</a> ";
+$string .= elgg_echo("likes:river:annotate") . " <a href=\"{$object->getURL()}\">" . $title . "</a> " . friendly_time($object->time_created);
+
echo $string;
\ No newline at end of file
-<?php\r
-/**\r
- * Elgg show the user who liked the object\r
- */\r
-\r
-$owner = get_user($vars['annotation']->owner_guid);\r
-\r
-?>\r
-<div class="elgg_likes clearfloat">\r
- <div class="elgg_likes_icon">\r
- <?php\r
- echo elgg_view("profile/icon", array(\r
- 'entity' => $owner,\r
- 'size' => 'tiny'\r
- ));\r
- ?>\r
- </div>\r
- \r
- <div class="elgg_likes_details">\r
- <?php\r
- // if the user looking at the like listing can edit, show the delete link\r
- if ($vars['annotation']->canEdit()) {\r
- ?>\r
- <span class="delete_button">\r
- <?php echo elgg_view("output/confirmlink",array(\r
- 'href' => $vars['url'] . "action/likes/delete?annotation_id=" . $vars['annotation']->id,\r
- 'text' => elgg_echo('remove'),\r
- 'confirm' => elgg_echo('deleteconfirm')\r
- ));\r
- ?>\r
- </span>\r
- <?php\r
- } //end of can edit if statement\r
- ?>\r
- <p class="elgg_likes_owner">\r
- <a href="<?php echo $owner->getURL(); ?>"><?php echo $owner->name; ?></a> <?php echo elgg_echo('likes:this') . \r
- " <span class=\"entity_subtext\">" . friendly_time($vars['annotation']->time_created) . "</span>"; ?> \r
- </p>\r
- </div>\r
+<?php
+/**
+ * Elgg show the user who liked the object
+ */
+
+$owner = get_user($vars['annotation']->owner_guid);
+
+?>
+<div class="elgg_likes clearfloat">
+ <div class="elgg_likes_icon">
+ <?php
+ echo elgg_view("profile/icon", array(
+ 'entity' => $owner,
+ 'size' => 'tiny'
+ ));
+ ?>
+ </div>
+
+ <div class="elgg_likes_details">
+ <?php
+ // if the user looking at the like listing can edit, show the delete link
+ if ($vars['annotation']->canEdit()) {
+ ?>
+ <span class="delete_button">
+ <?php echo elgg_view("output/confirmlink",array(
+ 'href' => $vars['url'] . "action/likes/delete?annotation_id=" . $vars['annotation']->id,
+ 'text' => elgg_echo('remove'),
+ 'confirm' => elgg_echo('deleteconfirm')
+ ));
+ ?>
+ </span>
+ <?php
+ } //end of can edit if statement
+ ?>
+ <p class="elgg_likes_owner">
+ <a href="<?php echo $owner->getURL(); ?>"><?php echo $owner->name; ?></a> <?php echo elgg_echo('likes:this') .
+ " <span class=\"entity_subtext\">" . friendly_time($vars['annotation']->time_created) . "</span>"; ?>
+ </p>
+ </div>
</div>
\ No newline at end of file
-<?php\r
-/**\r
- * Elgg default layout\r
- *\r
- * @package Elgg\r
- * @subpackage Core\r
- * @author Curverider Ltd\r
- * @link http://elgg.org/\r
- */\r
-$entities = $vars['entities'];\r
-if (is_array($entities) && sizeof($entities) > 0) {\r
- foreach($entities as $entity) {\r
- echo elgg_view_entity($entity);\r
- }\r
+<?php
+/**
+ * Elgg default layout
+ *
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */
+$entities = $vars['entities'];
+if (is_array($entities) && sizeof($entities) > 0) {
+ foreach($entities as $entity) {
+ echo elgg_view_entity($entity);
+ }
}
\ No newline at end of file
-<?php\r
-/**\r
- * @package Elgg\r
- * @subpackage Core\r
- * @author Curverider Ltd\r
- * @link http://elgg.org/\r
- */\r
-$entities = $vars['entities'];\r
-if (is_array($entities) && sizeof($entities) > 0) {\r
- foreach($entities as $entity) {\r
- echo elgg_view_entity($entity);\r
- }\r
+<?php
+/**
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */
+$entities = $vars['entities'];
+if (is_array($entities) && sizeof($entities) > 0) {
+ foreach($entities as $entity) {
+ echo elgg_view_entity($entity);
+ }
}
\ No newline at end of file
-<?php\r
-/**\r
- * @package Elgg\r
- * @subpackage Core\r
- * @author Curverider Ltd\r
- * @link http://elgg.org/\r
- */\r
-\r
-$entities = $vars['entities'];\r
-if (is_array($entities) && sizeof($entities) > 0) {\r
- foreach($entities as $entity) {\r
- echo elgg_view_entity($entity);\r
- }\r
+<?php
+/**
+ * @package Elgg
+ * @subpackage Core
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */
+
+$entities = $vars['entities'];
+if (is_array($entities) && sizeof($entities) > 0) {
+ foreach($entities as $entity) {
+ echo elgg_view_entity($entity);
+ }
}
\ No newline at end of file