]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
more cleanup of the profile plugin from the reorganization
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 19 Dec 2010 00:03:59 +0000 (00:03 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sun, 19 Dec 2010 00:03:59 +0000 (00:03 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7674 36083f99-b078-4883-b0ff-0f9b5a30f544

mod/profile/edit.php [deleted file]
mod/profile/index.php [deleted file]
mod/profile/profile_lib.php [deleted file]
mod/profile/start.php

diff --git a/mod/profile/edit.php b/mod/profile/edit.php
deleted file mode 100644 (file)
index bef1cc0..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/**
- * Elgg profile editor
- * 
- * @package ElggProfile
- */
-
-// Get the Elgg engine
-require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-
-// If we're not logged on, forward the user elsewhere
-if (!isloggedin()) {
-       forward();
-}
-
-// Get owner of profile - set in page handler
-$user = elgg_get_page_owner();
-if (!$user) {
-       register_error(elgg_echo("profile:notfound"));
-       forward();
-}
-
-// check if logged in user can edit this profile
-if (!$user->canEdit()) {
-       register_error(elgg_echo("profile:noaccess"));
-       forward();
-}
-
-// Get edit form
-$area1 = elgg_view_title(elgg_echo('profile:edit'));
-$area1 .= elgg_view("profile/edit",array('entity' => $user)); 
-       
-elgg_set_context('profile_edit');
-
-$body = elgg_view_layout("one_column_with_sidebar", array('content' => $area1));
-       
-echo elgg_view_page(elgg_echo("profile:edit"), $body);
diff --git a/mod/profile/index.php b/mod/profile/index.php
deleted file mode 100644 (file)
index 7c9c0a3..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/**
- * Elgg profile index
- * 
- * @package ElggProfile
- */
-
-require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-
-$username = get_input('username');
-$option = get_input('option', 'activity');
-$body = '';
-
-// Try and get the user from the username and set the page body accordingly
-if ($user = get_user_by_username($username)) {
-       if ($user->isBanned() && !isadminloggedin()) {
-               forward(); exit;
-       }
-       $body = elgg_view('profile/profile_navigation', array("option" => $option,"entity" => $user));
-       switch($option){
-               case 'activity':
-                       $body .= elgg_view('profile/profile_contents/details', array("entity" => $user));
-               break;
-
-               case 'friends':
-                       $body .= elgg_view('profile/profile_contents/friends', array("entity" => $user));
-               break;
-               case 'groups':
-                       $body .= elgg_view('profile/profile_contents/groups', array("entity" => $user));
-               break;
-               case 'extend':
-                       $body .= elgg_view('profile/profile_contents/extend', array("entity" => $user));
-               break;
-
-               case 'twitter':
-                       $body .= elgg_view('profile/profile_contents/twitter', array("entity" => $user));
-               break;
-
-               case 'default':
-                       $body .= elgg_view('profile/profile_contents/details', array("entity" => $user));
-               break;
-       }
-       $title = $user->name;
-} else {
-       $body = elgg_echo("profile:notfound");
-       $title = elgg_echo("profile");
-}
-$body = elgg_view_layout("one_column", array('content' => $body));
-echo elgg_view_page($title, $body);
\ No newline at end of file
diff --git a/mod/profile/profile_lib.php b/mod/profile/profile_lib.php
deleted file mode 100644 (file)
index d80d02c..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-/**
- * Elgg profile index
- *
- * @package ElggProfile
- */
-
-/**
- * Returns the html for a user profile.
- *
- * @param string $username The username of the profile to display
- * @param string $section Which section is currently selected.
- *
- * @todo - This should really use a plugin hook to get the list of plugin tabs
- *
- * @return mixed FALSE or html for the profile.
- */
-function profile_get_user_profile_html($user, $section = 'activity') {
-       $body = elgg_view('profile/profile_navigation', array('section' => $section, 'entity' => $user));
-       $view_options = array('entity' => $user);
-
-       if ($section == 'commentwall') {
-               $comments = $user->getAnnotations('commentwall', 200, 0, 'desc');
-               $view_options['comments'] = $comments;
-       }
-
-       $content = elgg_view("profile/profile_contents/$section", $view_options);
-
-       $body .= elgg_view('profile/profile_content', array('content' => $content));
-
-       $body .= elgg_view('profile/sidebar', array('section' => $section));
-       return $body;
-}
-
-/**
- * Dispatch the html for the edit section
- *
- * @param unknown_type $user
- * @param unknown_type $page
- * @return string
- */
-function profile_get_user_edit_content($user, $page) {
-       $section = (isset($page[2])) ? $page[2] : 'details';
-
-       switch ($section) {
-               case 'icon':
-                       $content .= elgg_view_title(elgg_echo('profile:edit'));
-                       $content .= elgg_view("profile/editicon", array('entity' => $user));
-                       break;
-               default:
-               case 'details':
-                       $content = elgg_view_title(elgg_echo('profile:edit'));
-                       $content .= elgg_view("profile/edit", array('entity' => $user));
-                       break;
-       }
-
-       return $content;
-}
\ No newline at end of file
index eb34bf7487c7e87523ff4877da6679f7e908b793..bd5fb5fe3954504c9fcfab05602727a0b2da9757 100644 (file)
@@ -5,6 +5,8 @@
  * @package ElggProfile
  */
 
+elgg_register_event_handler('init', 'system', 'profile_init', 1);
+
 /**
  * Profile init function; sets up the profile functions
  *
 function profile_init() {
        global $CONFIG;
 
-       require_once 'profile_lib.php';
-
        // Register a URL handler for users - this means that profile_url()
        // will dictate the URL for all ElggUser objects
        register_entity_url_handler('profile_url', 'user', 'all');
 
-       //if (isloggedin()) {
-       //      add_menu(elgg_echo('profile:yours'), get_loggedin_user()->getURL() . '/extend');
-       //}
-
        // Metadata on users needs to be independent
        register_metadata_as_independent('user');
 
@@ -42,68 +38,16 @@ function profile_init() {
        elgg_extend_view('css/screen', 'profile/css');
        elgg_extend_view('js/elgg', 'profile/javascript');
 
-       // Now override icons
-       elgg_register_plugin_hook_handler('entity:icon:url', 'user', 'profile_usericon_hook');
+       // Register actions
+       elgg_register_action("profile/addcomment", $CONFIG->pluginspath . "profile/actions/addcomment.php");
+       elgg_register_action("profile/deletecomment", $CONFIG->pluginspath . "profile/actions/deletecomment.php");
 
+       elgg_register_event_handler('profileupdate', 'all', 'object_notifications');
+       
        // allow ECML in parts of the profile
        elgg_register_plugin_hook_handler('get_views', 'ecml', 'profile_ecml_views_hook');
 }
 
-/**
- * This function loads a set of default fields into the profile, then triggers a hook letting other plugins to edit
- * add and delete fields.
- *
- * Note: This is a secondary system:init call and is run at a super low priority to guarantee that it is called after all
- * other plugins have initialised.
- */
-function profile_fields_setup() {
-       global $CONFIG;
-
-       $profile_defaults = array (
-               'description' => 'longtext',
-               'briefdescription' => 'text',
-               'location' => 'tags',
-               'interests' => 'tags',
-               'skills' => 'tags',
-               'contactemail' => 'email',
-               'phone' => 'text',
-               'mobile' => 'text',
-               'website' => 'url',
-               'twitter' => 'text'
-       );
-
-       $loaded_default = array();
-       if ($fieldlist = get_plugin_setting('user_defined_fields','profile')) {
-               if (!empty($fieldlist)) {
-                       $fieldlistarray = explode(',',$fieldlist);
-                       $loaded_defaults = array();
-                       foreach($fieldlistarray as $listitem) {
-                               if ($translation = get_plugin_setting("admin_defined_profile_{$listitem}", 'profile')) {
-                                       $type = get_plugin_setting("admin_defined_profile_type_{$listitem}", 'profile');
-                                       $loaded_defaults["admin_defined_profile_{$listitem}"] = $type;
-                                       add_translation(get_current_language(), array("profile:admin_defined_profile_{$listitem}" => $translation));
-                               }
-                       }
-               }
-       }
-
-       if (count($loaded_defaults)) {
-               $CONFIG->profile_using_custom = true;
-               $profile_defaults = $loaded_defaults;
-       }
-
-       $CONFIG->profile = elgg_trigger_plugin_hook('profile:fields', 'profile', NULL, $profile_defaults);
-
-       // register any tag metadata names
-       foreach ($CONFIG->profile as $name => $type) {
-               if ($type == 'tags') {
-                       elgg_register_tag_metadata_name($name);
-                       // register a tag name translation
-                       add_translation(get_current_language(), array("tag_names:$name" => elgg_echo("profile:$name")));
-               }
-       }
-}
-
 /**
  * Profile page handler
  *
@@ -112,62 +56,69 @@ function profile_fields_setup() {
 function profile_page_handler($page) {
        global $CONFIG;
 
-       $action = NULL;
-
-       // short circuit if invalid or banned username
        if (isset($page[0])) {
                $username = $page[0];
                $user = get_user_by_username($username);
-               set_input('username', $page[0]);
+               elgg_set_page_owner_guid($user->guid);
        }
 
+       // short circuit if invalid or banned username
        if (!$user || ($user->isBanned() && !isadminloggedin())) {
                register_error(elgg_echo('profile:notfound'));
                forward();
        }
 
+       $action = NULL;
        if (isset($page[1])) {
                $action = $page[1];
        }
 
        switch ($action) {
                case 'edit':
+                       // use for the core profile edit page
                        require $CONFIG->path . 'pages/profile/edit.php';
                        return;
                        break;
 
                default:
-                       $layout = 'one_column';
                        if (isset($page[1])) {
                                $section = $page[1];
                        } else {
                                $section = 'activity';
                        }
                        $content = profile_get_user_profile_html($user, $section);
-                       $content = elgg_view_layout($layout, array('content' => $content));
+                       $content = elgg_view_layout('one_column', array('content' => $content));
                        break;
        }
 
        echo elgg_view_page($title, $content);
-       return;
 }
 
 /**
- * Pagesetup function
+ * Returns the html for a user profile.
+ *
+ * @param string $username The username of the profile to display
+ * @param string $section Which section is currently selected.
  *
+ * @todo - This should really use a plugin hook to get the list of plugin tabs
+ *
+ * @return mixed FALSE or html for the profile.
  */
-function profile_pagesetup()
-{
-       global $CONFIG;
+function profile_get_user_profile_html($user, $section = 'activity') {
+       $body = elgg_view('profile/profile_navigation', array('section' => $section, 'entity' => $user));
+       $view_options = array('entity' => $user);
 
-       //add submenu options
-       if (elgg_get_context() == "profile") {
-               $page_owner = elgg_get_page_owner();
-               if ($page_owner && $page_owner->canEdit()) {
-                       add_submenu_item(elgg_echo('profile:editdetails'), "pg/profile/{$page_owner->username}/edit/details");
-                       add_submenu_item(elgg_echo('profile:editicon'), "pg/profile/{$page_owner->username}/edit/icon");
-               }
+       if ($section == 'commentwall') {
+               $comments = $user->getAnnotations('commentwall', 200, 0, 'desc');
+               $view_options['comments'] = $comments;
        }
+
+       $content = elgg_view("profile/profile_contents/$section", $view_options);
+
+       $body .= elgg_view('profile/profile_content', array('content' => $content));
+
+       $body .= elgg_view('profile/sidebar', array('section' => $section));
+       return $body;
 }
 
 /**
@@ -208,46 +159,6 @@ function profile_url($user) {
        return elgg_get_site_url() . "pg/profile/" . $user->username;
 }
 
-/**
- * This hooks into the getIcon API and provides nice user icons for users where possible.
- *
- * @param unknown_type $hook
- * @param unknown_type $entity_type
- * @param unknown_type $returnvalue
- * @param unknown_type $params
- * @return unknown
- */
-function profile_usericon_hook($hook, $entity_type, $returnvalue, $params){
-       global $CONFIG;
-       if ((!$returnvalue) && ($hook == 'entity:icon:url') && ($params['entity'] instanceof ElggUser)){
-               $entity = $params['entity'];
-               $type = $entity->type;
-               $subtype = get_subtype_from_id($entity->subtype);
-               $viewtype = $params['viewtype'];
-               $size = $params['size'];
-               $username = $entity->username;
-
-               if ($icontime = $entity->icontime) {
-                       $icontime = "{$icontime}";
-               } else {
-                       $icontime = "default";
-               }
-
-               if ($entity->isBanned()) {
-                       return elgg_view('icon/user/default/'.$size);
-               }
-
-               $filehandler = new ElggFile();
-               $filehandler->owner_guid = $entity->getGUID();
-               $filehandler->setFilename("profile/" . $entity->guid . $size . ".jpg");
-
-               if ($filehandler->exists()) {
-                       //$url = "pg/icon/$username/$size/$icontime.jpg";
-                       return 'mod/profile/icondirect.php?lastcache='.$icontime.'&joindate=' . $entity->time_created . '&guid=' . $entity->guid . '&size='.$size;
-               }
-       }
-}
-
 /**
  * Parse ECML on parts of the profile
  *
@@ -261,24 +172,3 @@ function profile_ecml_views_hook($hook, $entity_type, $return_value, $params) {
 
        return $return_value;
 }
-
-// Make sure the profile initialisation function is called on initialisation
-elgg_register_event_handler('init','system','profile_init',1);
-elgg_register_event_handler('init','system','profile_fields_setup', 10000); // Ensure this runs after other plugins
-
-elgg_register_event_handler('pagesetup','system','profile_pagesetup');
-elgg_register_event_handler('profileupdate','all','object_notifications');
-
-
-// Register actions
-global $CONFIG;
-elgg_register_action("profile/edit", $CONFIG->pluginspath . "profile/actions/edit.php");
-elgg_register_action("profile/iconupload", $CONFIG->pluginspath . "profile/actions/iconupload.php");
-elgg_register_action("profile/cropicon", $CONFIG->pluginspath . "profile/actions/cropicon.php");
-elgg_register_action("profile/editdefault", $CONFIG->pluginspath . "profile/actions/editdefault.php", 'admin');
-elgg_register_action("profile/editdefault/delete", $CONFIG->pluginspath . "profile/actions/deletedefaultprofileitem.php", 'admin');
-elgg_register_action("profile/editdefault/reset", $CONFIG->pluginspath . "profile/actions/resetdefaultprofile.php", 'admin');
-elgg_register_action("profile/editdefault/reorder", $CONFIG->pluginspath . "profile/actions/reorder.php", 'admin');
-elgg_register_action("profile/editdefault/editfield", $CONFIG->pluginspath . "profile/actions/editfield.php", 'admin');
-elgg_register_action("profile/addcomment", $CONFIG->pluginspath . "profile/actions/addcomment.php");
-elgg_register_action("profile/deletecomment", $CONFIG->pluginspath . "profile/actions/deletecomment.php");