diff options
-rw-r--r-- | mod/custom_index/index.php | 36 | ||||
-rw-r--r-- | mod/custom_index/languages/en.php | 17 | ||||
-rw-r--r-- | mod/custom_index/manifest.xml | 11 | ||||
-rw-r--r-- | mod/custom_index/start.php | 36 | ||||
-rw-r--r-- | mod/custom_index/views/default/canvas/layouts/new_index.php | 131 | ||||
-rw-r--r-- | mod/custom_index/views/default/custom_index/css.php | 86 |
6 files changed, 317 insertions, 0 deletions
diff --git a/mod/custom_index/index.php b/mod/custom_index/index.php new file mode 100644 index 000000000..953e2a85b --- /dev/null +++ b/mod/custom_index/index.php @@ -0,0 +1,36 @@ +<?php + + /** + * 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 diff --git a/mod/custom_index/languages/en.php b/mod/custom_index/languages/en.php new file mode 100644 index 000000000..091297297 --- /dev/null +++ b/mod/custom_index/languages/en.php @@ -0,0 +1,17 @@ +<?php + + $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", + + ); + + add_translation("en",$english); + +?>
\ No newline at end of file diff --git a/mod/custom_index/manifest.xml b/mod/custom_index/manifest.xml new file mode 100644 index 000000000..16e648f54 --- /dev/null +++ b/mod/custom_index/manifest.xml @@ -0,0 +1,11 @@ +<?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> diff --git a/mod/custom_index/start.php b/mod/custom_index/start.php new file mode 100644 index 000000000..16d277a10 --- /dev/null +++ b/mod/custom_index/start.php @@ -0,0 +1,36 @@ +<?php + + /** + * 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/ + */ + + + 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; + + } + + + // Make sure the + register_elgg_event_handler('init','system','indexCustom_init'); + +?>
\ No newline at end of file diff --git a/mod/custom_index/views/default/canvas/layouts/new_index.php b/mod/custom_index/views/default/canvas/layouts/new_index.php new file mode 100644 index 000000000..e1b48ec0c --- /dev/null +++ b/mod/custom_index/views/default/canvas/layouts/new_index.php @@ -0,0 +1,131 @@ +<?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 new file mode 100644 index 000000000..9c35aaa27 --- /dev/null +++ b/mod/custom_index/views/default/custom_index/css.php @@ -0,0 +1,86 @@ +<?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 { + 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; +} + + + |