aboutsummaryrefslogtreecommitdiff
path: root/mod/custom_index
diff options
context:
space:
mode:
Diffstat (limited to 'mod/custom_index')
-rw-r--r--mod/custom_index/index.php91
-rw-r--r--mod/custom_index/languages/en.php25
-rw-r--r--mod/custom_index/manifest.xml22
-rw-r--r--mod/custom_index/start.php49
-rw-r--r--mod/custom_index/views/default/canvas/layouts/new_index.php131
-rw-r--r--mod/custom_index/views/default/custom_index/css.php100
-rw-r--r--mod/custom_index/views/default/layout/shells/custom_index.php65
7 files changed, 182 insertions, 301 deletions
diff --git a/mod/custom_index/index.php b/mod/custom_index/index.php
index 953e2a85b..34a24ba38 100644
--- a/mod/custom_index/index.php
+++ b/mod/custom_index/index.php
@@ -1,36 +1,59 @@
<?php
+/**
+ * Elgg custom index page
+ *
+ */
- /**
- * Elgg custom index
- *
- * @package ElggCustomIndex
- * @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
- * @link http://elgg.com/
- */
-
- // Get the Elgg engine
- require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-
- //get required data
- set_context('search');//display results in search mode, which is list view
- //grab the latest 4 blog posts. to display more, change 4 to something else
- $blogs = elgg_list_entities(array('type' => 'object', 'subtype' => 'blog', 'limit' => 4, 'full_view' => FALSE, 'view_type_toggle' => FALSE, 'pagination' => FALSE));
- //grab the latest bookmarks
- $bookmarks = elgg_list_entities(array('type' => 'object', 'subtype' => 'bookmarks', 'limit' => 4, 'full_view' => FALSE, 'view_type_toggle' => FALSE, 'pagination' => FALSE));
- //grab the latest files
- $files = elgg_list_entities(array('type' => 'object', 'subtype' => 'file', 'limit' => 4, 'full_view' => FALSE, 'view_type_toggle' => FALSE, 'pagination' => FALSE));
- //get the newest members who have an avatar
- $newest_members = elgg_get_entities_from_metadata(array('metadata_names' => 'icontime', 'types' => 'user', 'limit' => 10));
- //newest groups
- $groups = elgg_list_entities(array(type => 'group', 'limit' => 4, 'full_view' => FALSE, 'view_type_toggle' => FALSE, 'pagination' => FALSE));
- //grab the login form
- $login = elgg_view("account/forms/login");
-
- //display the contents in our new canvas layout
- $body = elgg_view_layout('new_index',$login, $files, $newest_members, $blogs, $groups, $bookmarks);
-
- page_draw($title, $body);
-
-?> \ No newline at end of file
+elgg_push_context('front');
+
+elgg_push_context('widgets');
+
+$list_params = array(
+ 'type' => 'object',
+ 'limit' => 4,
+ 'full_view' => false,
+ 'view_type_toggle' => false,
+ 'pagination' => false,
+);
+
+//grab the latest 4 blog posts
+$list_params['subtype'] = 'blog';
+$blogs = elgg_list_entities($list_params);
+
+//grab the latest bookmarks
+$list_params['subtype'] = 'bookmarks';
+$bookmarks = elgg_list_entities($list_params);
+
+//grab the latest files
+$list_params['subtype'] = 'file';
+$files = elgg_list_entities($list_params);
+
+//get the newest members who have an avatar
+$newest_members = elgg_list_entities_from_metadata(array(
+ 'metadata_names' => 'icontime',
+ 'types' => 'user',
+ 'limit' => 10,
+));
+
+//newest groups
+$list_params['type'] = 'group';
+unset($list_params['subtype']);
+$groups = elgg_list_entities($list_params);
+
+//grab the login form
+$login = elgg_view("core/account/login_box");
+
+elgg_pop_context();
+
+// lay out the content
+$params = array(
+ 'blogs' => $blogs,
+ 'bookmarks' => $bookmarks,
+ 'files' => $files,
+ 'groups' => $groups,
+ 'login' => $login,
+ 'members' => $newest_members,
+);
+$body = elgg_view_layout('custom_index', $params);
+
+echo elgg_view_page('', $body);
diff --git a/mod/custom_index/languages/en.php b/mod/custom_index/languages/en.php
index 091297297..071ff81e5 100644
--- a/mod/custom_index/languages/en.php
+++ b/mod/custom_index/languages/en.php
@@ -1,17 +1,14 @@
<?php
+/**
+ * Custom Index English language file
+ */
- $english = array(
-
- 'custom:bookmarks' => "Latest bookmarks",
- 'custom:groups' => "Latest groups",
- 'custom:files' => "Latest files",
- 'custom:blogs' => "Latest blog posts",
- 'custom:members' => "Newest members",
- 'custom:nofiles' => "There are no files yet",
- 'custom:nogroups' => "There are no groups yet",
-
- );
+$english = array(
+ 'custom:bookmarks' => "Latest bookmarks",
+ 'custom:groups' => "Latest groups",
+ 'custom:files' => "Latest files",
+ 'custom:blogs' => "Latest blog posts",
+ 'custom:members' => "Newest members",
+);
- add_translation("en",$english);
-
-?> \ No newline at end of file
+add_translation("en", $english);
diff --git a/mod/custom_index/manifest.xml b/mod/custom_index/manifest.xml
index 16e648f54..fe4dcacf0 100644
--- a/mod/custom_index/manifest.xml
+++ b/mod/custom_index/manifest.xml
@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<plugin_manifest>
- <field key="author" value="Curverider" />
- <field key="version" value="1.7" />
- <field key="description" value="A simple plugin to replace the sites index page with boxes containing the latest content from the site." />
- <field key="website" value="http://www.elgg.org/" />
- <field key="copyright" value="(C) Curverider 2008-2010" />
- <field key="licence" value="GNU Public License version 2" />
- <field key="elgg_version" value="2010030101" />
- <field key="admin_interface" value="advanced" />
+<plugin_manifest xmlns="http://www.elgg.org/plugin_manifest/1.8">
+ <name>Custom Index</name>
+ <author>Curverider</author>
+ <version>1.8</version>
+ <description>A demonstration of how to create a front page plugin.</description>
+ <website>http://www.elgg.org/</website>
+ <copyright>(C) Curverider 2008-2010</copyright>
+ <license>GNU Public License version 2</license>
+ <requires>
+ <type>elgg_version</type>
+ <version>2009030702</version>
+ </requires>
+ <admin_interface>advanced</admin_interface>
</plugin_manifest>
diff --git a/mod/custom_index/start.php b/mod/custom_index/start.php
index 16d277a10..3c395e87b 100644
--- a/mod/custom_index/start.php
+++ b/mod/custom_index/start.php
@@ -1,36 +1,25 @@
<?php
+/**
+ * Elgg demo custom index page plugin
+ *
+ */
- /**
- * Elgg custom index page
- *
- * @package ElggIndexCustom
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008
- * @link http://elgg.com/
- */
+register_elgg_event_handler('init', 'system', 'custom_index_init');
-
- function indexCustom_init() {
-
- // Extend system CSS with our own styles
- elgg_extend_view('css','custom_index/css');
-
- // Replace the default index page
- register_plugin_hook('index','system','custom_index');
-
-
- }
-
- function custom_index() {
-
- if (!include_once(dirname(__FILE__) . "/index.php")) return false;
- return true;
-
- }
+function custom_index_init() {
+ // Extend system CSS with our own styles
+ elgg_extend_view('css/screen', 'custom_index/css');
- // Make sure the
- register_elgg_event_handler('init','system','indexCustom_init');
+ // Replace the default index page
+ register_plugin_hook('index', 'system', 'custom_index');
+}
-?> \ No newline at end of file
+function custom_index() {
+ if (!include_once(dirname(__FILE__) . "/index.php")) {
+ return false;
+ }
+
+ // return true to signify that we have handled the front page
+ return true;
+}
diff --git a/mod/custom_index/views/default/canvas/layouts/new_index.php b/mod/custom_index/views/default/canvas/layouts/new_index.php
deleted file mode 100644
index e1b48ec0c..000000000
--- a/mod/custom_index/views/default/canvas/layouts/new_index.php
+++ /dev/null
@@ -1,131 +0,0 @@
-<?php
-
- /**
- * Elgg custom profile
- * You can edit the layout of this page with your own layout and style. Whatever you put in the file
- * will replace the frontpage of your Elgg site.
- *
- * @package Elgg
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider Ltd
- * @copyright Curverider Ltd 2008
- * @link http://elgg.org/
- */
-
-?>
-
-<div id="custom_index">
-
- <!-- left column content -->
- <div id="index_left">
- <!-- welcome message -->
- <div id="index_welcome">
- <?php
- if (isloggedin()){
- echo "<h2>" . elgg_echo("welcome") . " ";
- echo $vars['user']->name;
- echo "</h2>";
- }
- ?>
- <?php
- //include a view that plugins can extend
- echo elgg_view("index/lefthandside");
- ?>
- <?php
- //this displays some content when the user is logged out
- if (!isloggedin()){
- //display the login form
- echo $vars['area1'];
- echo "<div class=\"clearfloat\"></div>";
- }
- ?>
- </div>
-<?php
- if(is_plugin_enabled('file')){
-?>
- <!-- display latest files -->
- <div class="index_box">
- <h2><?php echo elgg_echo("custom:files"); ?></h2>
- <?php
- if (!empty($vars['area2'])) {
- echo $vars['area2'];//this will display files
- }else{
- echo "<p><?php echo elgg_echo('custom:nofiles'); ?></p>";
- }
- ?>
- </div>
-<?php
- }
-
- if(is_plugin_enabled('groups')){
-?>
- <!-- display latest groups -->
- <div class="index_box">
- <h2><?php echo elgg_echo("custom:groups"); ?></h2>
- <?php
- if (!empty($vars['area5'])) {
- echo $vars['area5'];//this will display groups
- }else{
- echo "<p><?php echo elgg_echo('custom:nogroups'); ?>.</p>";
- }
- ?>
- </div>
-<?php
- }
-?>
- </div>
-
- <!-- right hand column -->
- <div id="index_right">
- <!-- more content -->
- <?php
- //include a view that plugins can extend
- echo elgg_view("index/righthandside");
- ?>
- <!-- latest members -->
- <div class="index_box">
- <h2><?php echo elgg_echo("custom:members"); ?></h2>
- <div class="contentWrapper">
- <?php
- if(isset($vars['area3'])) {
- //display member avatars
- foreach($vars['area3'] as $members){
- echo "<div class=\"index_members\">";
- echo elgg_view("profile/icon",array('entity' => $members, 'size' => 'small'));
- echo "</div>";
- }
- }
- ?>
- <div class="clearfloat"></div>
- </div>
- </div>
-<?php
- if(is_plugin_enabled('blog')){
-?>
- <!-- latest blogs -->
- <div class="index_box">
- <h2><?php echo elgg_echo("custom:blogs"); ?></h2>
- <?php
- if (isset($vars['area4']))
- echo $vars['area4']; //display blog posts
- ?>
- </div>
-<?php
- }
-
- if(is_plugin_enabled('bookmarks')){
-?>
- <!-- display latest bookmarks -->
- <div class="index_box">
- <h2><?php echo elgg_echo("custom:bookmarks"); ?></h2>
- <?php
- if (isset($vars['area6']))
- echo $vars['area6']; //display bookmarks
- ?>
- </div>
-<?php
- }
-?>
- </div>
- <div class="clearfloat"></div>
-</div> \ No newline at end of file
diff --git a/mod/custom_index/views/default/custom_index/css.php b/mod/custom_index/views/default/custom_index/css.php
index 9c35aaa27..f21ea72b2 100644
--- a/mod/custom_index/views/default/custom_index/css.php
+++ b/mod/custom_index/views/default/custom_index/css.php
@@ -1,86 +1,20 @@
<?php
- /**
- * Custom Index page css extender
- *
- * @package custom_index
- * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
- * @author Curverider <info@elgg.com>
- * @copyright Curverider Ltd 2008-2010
- * @link http://elgg.org/
- */
+/**
+ * Custom Index CSS
+ *
+ */
?>
-#custom_index {
- margin:10px;
-}
-#index_left {
- width:442px;
- float:left;
- margin:0 0 30px 0;
- padding:0 0 20px 0px;
-}
-#index_right {
- width:442px;
- float:right;
- margin:0 0 30px 0;
- padding:0 0px 20px 0;
-}
-#index_welcome {
- padding:5px 10px 5px 10px;
- margin:0 0 20px 0;
- border:1px solid silver;
- background: white;
- -moz-border-radius: 8px;
- -webkit-border-radius: 8px;
-}
-#index_welcome #login-box {
- margin:5px 0 10px 0;
- padding:0 0 10px 0;
- background: #dedede;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- width:240px;
-}
-#index_welcome #login-box form {
- margin:0 10px 0 10px;
- padding:0 10px 4px 10px;
- background: white;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
- width:200px;
-}
-#index_welcome #login-box h2,
-.index_box h2 {
- color:#0054A7;
- font-size:1.35em;
- line-height:1.2em;
- margin:0 0 0 8px;
- padding:5px;
-}
-#index_welcome #login-box h2 {
- padding-bottom:5px;
-}
-
-.index_box {
- margin:0 0 20px 0;
- background: #dedede;
- padding:0 0 5px 0;
- -webkit-border-radius: 8px;
- -moz-border-radius: 8px;
-}
-
-.index_box .search_listing {
-
-}
-.index_box .index_members {
- float:left;
- margin:2pt 5px 3px 0pt;
-}
-#persistent_login {
- float:right;
- display:block;
- margin-top:-34px;
-}
-
-
-
+/*******************************
+ Custom Index
+********************************/
+.custom-index .elgg-module-featured {
+ box-shadow: 1px 1px 5px #CCC;
+ -moz-box-shadow: 1px 1px 5px #CCC;
+ -webkit-box-shadow: 1px 1px 5px #CCC;
+}
+.custom-index .elgg-module-featured:hover {
+ box-shadow: 1px 1px 6px #AAA;
+ -moz-box-shadow: 1px 1px 6px #AAA;
+ -webkit-box-shadow: 1px 1px 6px #AAA;
+} \ No newline at end of file
diff --git a/mod/custom_index/views/default/layout/shells/custom_index.php b/mod/custom_index/views/default/layout/shells/custom_index.php
new file mode 100644
index 000000000..48039dbd9
--- /dev/null
+++ b/mod/custom_index/views/default/layout/shells/custom_index.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Elgg custom index layout
+ *
+ * You can edit the layout of this page with your own layout and style.
+ * Whatever you put in this view will appear on the front page of your site.
+ *
+ */
+?>
+
+<div class="custom-index elgg-main elgg-grid clearfix">
+ <div class="elgg-col elgg-col-1of2">
+ <div class="elgg-inner pam">
+<?php
+// left column
+
+// Top box for login or welcome message
+if (elgg_is_logged_in()) {
+ $top_box = "<h2>" . elgg_echo("welcome") . " ";
+ $top_box .= get_loggedin_user()->name;
+ $top_box .= "</h2>";
+} else {
+ $top_box = $vars['login'];
+}
+echo elgg_view_module('featured', '', $top_box, array('header' => false));
+
+// a view for plugins to extend
+echo elgg_view("index/lefthandside");
+
+// files
+if (elgg_is_active_plugin('file')) {
+ echo elgg_view_module('featured', elgg_echo("custom:files"), $vars['files']);
+}
+
+// groups
+if (elgg_is_active_plugin('groups')) {
+ echo elgg_view_module('featured', elgg_echo("custom:groups"), $vars['groups']);
+}
+?>
+ </div>
+ </div>
+ <div class="elgg-col elgg-col-1of2">
+ <div class="elgg-inner pam">
+<?php
+// right column
+
+// a view for plugins to extend
+echo elgg_view("index/righthandside");
+
+// files
+echo elgg_view_module('featured', elgg_echo("custom:members"), $vars['members']);
+
+// groups
+if (elgg_is_active_plugin('blog')) {
+ echo elgg_view_module('featured', elgg_echo("custom:blogs"), $vars['blogs']);
+}
+
+// files
+if (elgg_is_active_plugin('bookmarks')) {
+ echo elgg_view_module('featured', elgg_echo("custom:bookmarks"), $vars['bookmarks']);
+}
+?>
+ </div>
+ </div>
+</div>