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; +} + + + | 
