]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
moved custom_index back into core
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 13 Feb 2011 00:25:21 +0000 (00:25 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 13 Feb 2011 00:25:21 +0000 (00:25 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@8190 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/custom_index/index.php [new file with mode: 0644]
mod/custom_index/languages/en.php [new file with mode: 0644]
mod/custom_index/manifest.xml [new file with mode: 0644]
mod/custom_index/start.php [new file with mode: 0644]
mod/custom_index/views/default/canvas/layouts/new_index.php [new file with mode: 0644]
mod/custom_index/views/default/custom_index/css.php [new file with mode: 0644]

diff --git a/mod/custom_index/index.php b/mod/custom_index/index.php
new file mode 100644 (file)
index 0000000..953e2a8
--- /dev/null
@@ -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 (file)
index 0000000..0912972
--- /dev/null
@@ -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 (file)
index 0000000..16e648f
--- /dev/null
@@ -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 (file)
index 0000000..16d277a
--- /dev/null
@@ -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 (file)
index 0000000..e1b48ec
--- /dev/null
@@ -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 (file)
index 0000000..9c35aaa
--- /dev/null
@@ -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;
+}
+
+
+