/cp/expressionengine/modules/member/mod.member.php
PHP | 2909 lines | 1878 code | 562 blank | 469 comment | 296 complexity | bbe0cc74ec60d51121bfe81aac759ac0 MD5 | raw file
Large files files are truncated, but you can click here to view the full file
- <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
- /**
- * ExpressionEngine - by EllisLab
- *
- * @package ExpressionEngine
- * @author EllisLab Dev Team
- * @copyright Copyright (c) 2003 - 2012, EllisLab, Inc.
- * @license http://ellislab.com/expressionengine/user-guide/license.html
- * @link http://ellislab.com
- * @since Version 2.0
- * @filesource
- */
- // --------------------------------------------------------------------
- /**
- * Member Management Class
- *
- * @package ExpressionEngine
- * @subpackage Modules
- * @category Modules
- * @author EllisLab Dev Team
- * @link http://ellislab.com
- */
- /*
- Multi Site Login
- The login routine can set cookies for multiple domains if needed.
- This allows users who run separate domains for each channel to have
- a way to enable users to log-in once and remain logged-in across
- domains. In order to use this feature this array index must be
- added to the config file:
- $config['multi_login_sites'] = "http://www.siteone.com/|http://www.sitetwo.com";
- Separate each domain with a pipe.
- */
- class Member {
- var $trigger = 'member';
- var $theme_class = 'profile_theme';
- var $request = 'public_profile';
- var $no_menu = array(
- 'public_profile', 'memberlist', 'do_member_search',
- 'member_search', 'register', 'smileys', 'login',
- 'unpw_update', 'email_console', 'send_email',
- 'aim_console', 'icq_console', 'forgot_password',
- 'delete', 'member_mini_search', 'do_member_mini_search'
- );
- var $no_login = array(
- 'public_profile', 'memberlist', 'do_member_search',
- 'member_search', 'register', 'forgot_password', 'unpw_update'
- );
- var $id_override = array(
- 'edit_subscriptions', 'memberlist', 'member_search',
- 'browse_avatars', 'messages', 'unpw_update'
- );
- var $no_breadcrumb = array(
- 'email_console', 'send_email', 'aim_console',
- 'icq_console', 'member_mini_search', 'do_member_mini_search'
- );
- var $simple_page = array(
- 'email_console', 'send_email', 'aim_console',
- 'icq_console', 'smileys', 'member_mini_search', 'do_member_mini_search'
- );
- var $page_title = '';
- var $basepath = '';
- var $forum_path = '';
- var $image_url = '';
- var $theme_path = '';
- var $cur_id = '';
- var $uri_extra = '';
- var $return_data = '';
- var $javascript = '';
- var $head_extra = '';
- var $var_single = '';
- var $var_pair = '';
- var $var_cond = '';
- var $css_file_path = '';
- var $board_id = '';
- var $show_headings = TRUE;
- var $in_forum = FALSE;
- var $is_admin = FALSE;
- var $breadcrumb = TRUE;
- var $us_datecodes = array('long' => '%F %d, %Y %h:%i %A');
- var $eu_datecodes = array('long' => '%d %F, %Y %H:%i');
- var $crumb_map = array(
- 'profile' => 'your_control_panel',
- 'delete' => 'mbr_delete',
- 'forgot_password' => 'mbr_forgotten_password',
- 'login' => 'mbr_login',
- 'unpw_update' => 'settings_update',
- 'register' => 'mbr_member_registration',
- 'email' => 'mbr_email_member',
- 'send_email' => 'mbr_send_email',
- 'aim' => 'mbr_aim_console',
- 'icq' => 'mbr_icq_console',
- 'profile_main' => 'mbr_my_account',
- 'edit_profile' => 'mbr_edit_your_profile',
- 'edit_email' => 'email_settings',
- 'edit_userpass' => 'username_and_password',
- 'edit_localization' => 'localization_settings',
- 'edit_subscriptions' => 'subscriptions',
- 'edit_ignore_list' => 'ignore_list',
- 'edit_notepad' => 'notepad',
- 'edit_avatar' => 'edit_avatar',
- 'edit_photo' => 'edit_photo',
- 'edit_preferences' => 'edit_preferences',
- 'update_preferences' => 'update_preferences',
- 'upload_photo' => 'update_photo',
- 'browse_avatars' => 'browse_avatars',
- 'update_profile' => 'profile_updated',
- 'update_email' => 'mbr_email_updated',
- 'update_userpass' => 'username_and_password',
- 'update_localization' => 'localization_settings',
- 'update_subscriptions' => 'subscription_manager',
- 'update_ignore_list' => 'ignore_list',
- 'update_notepad' => 'notepad',
- 'select_avatar' => 'update_avatar',
- 'upload_avatar' => 'upload_avatar',
- 'update_avatar' => 'update_avatar',
- 'pm_view' => 'private_messages',
- 'pm' => 'compose_message',
- 'view_folder' => 'view_folder',
- 'view_message' => 'view_message',
- 'edit_signature' => 'edit_signature',
- 'update_signature' => 'update_signature',
- 'compose' => 'compose_message',
- 'deleted' => 'deleted_messages',
- 'folders' => 'edit_folders',
- 'buddies' => 'buddy_list',
- 'blocked' => 'blocked_list',
- 'edit_folders' => 'edit_folders',
- 'inbox' => 'view_folder',
- 'edit_list' => 'edit_list',
- 'send_message' => 'view_folder',
- 'modify_messages' => 'private_messages',
- 'bulletin_board' => 'bulletin_board',
- 'send_bulletin' => 'send_bulletin',
- 'sending_bulletin' => 'sending_bulletin'
- );
- /**
- * Constructor
- */
- function __construct()
- {
- $this->EE =& get_instance();
- $this->EE->lang->loadfile('myaccount');
- $this->EE->lang->loadfile('member');
- $this->EE->functions->template_type = 'webpage';
- $this->EE->db->cache_off();
- }
- // --------------------------------------------------------------------
- /**
- * Prep the Request String
- */
- public function _prep_request()
- {
- // Typcially the profile page URLs will be something like:
- //
- // index.php/member/123/
- // index.php/member/memberlist/
- // index.php/member/profile/
- // etc...
- //
- // The second segment will be assigned to the $this->request variable.
- // This determines what page is shown. Anything after that will normally
- // be an ID number, so we'll assign it to the $this->cur_id variable.
- $this->EE->load->helper('string');
- $this->request = trim_slashes($this->EE->uri->uri_string);
- if (FALSE !== ($pos = strpos($this->request, $this->trigger.'/')))
- {
- $this->request = substr($this->request, $pos);
- }
- if (preg_match("#/simple#", $this->request))
- {
- $this->request = str_replace("/simple", '', $this->request);
- $this->show_headings = FALSE;
- }
- if ($this->request == $this->trigger)
- {
- $this->request = '';
- }
- elseif (strpos($this->request, '/') !== FALSE)
- {
- $xr = explode("/", $this->request);
- $this->request = str_replace(current($xr).'/', '', $this->request);
- }
- // Determine the ID number, if any
- $this->cur_id = '';
- if (strpos($this->request, '/') !== FALSE)
- {
- $x = explode("/", $this->request);
- if (count($x) > 2)
- {
- $this->request = $x[0];
- $this->cur_id = $x[1];
- $this->uri_extra = $x[2];
- }
- else
- {
- $this->request = $x[0];
- $this->cur_id = $x[1];
- }
- }
- // Is this a public profile request?
- // Public member profiles are found at:
- //
- // index.php/member/123/
- //
- // Since the second segment contains a number instead of the
- // normal text string we know it's a public profile request.
- // We'll do a little reassignment...
- if (is_numeric($this->request))
- {
- $this->cur_id = $this->request;
- $this->request = 'public_profile';
- }
-
- if ($this->request == '')
- {
- $this->request = 'public_profile';
- }
-
- // Disable the full page view
- if (in_array($this->request, $this->simple_page))
- {
- $this->show_headings = FALSE;
- }
-
- if (in_array($this->request, $this->no_breadcrumb))
- {
- $this->breadcrumb = FALSE;
- }
-
- // Validate ID number
- // The $this->cur_id variable can only contain a number.
- // There are a few exceptions like the memberlist page and the
- // subscriptions page
- if ( ! in_array($this->request, $this->id_override) &&
- $this->cur_id != '' && ! is_numeric($this->cur_id))
- {
- return FALSE;
- }
-
- return TRUE;
- }
- // --------------------------------------------------------------------
- /**
- * Run the Member Class
- */
- public function manager()
- {
- // Prep the request
- if ( ! $this->_prep_request())
- {
- $this->_show_404_template();
- }
- // -------------------------------------------
- // 'member_manager' hook.
- // - Seize control over any Member Module user side request
- // - Added: 1.5.2
- //
- if ($this->EE->extensions->active_hook('member_manager') === TRUE)
- {
- $edata = $this->EE->extensions->universal_call('member_manager', $this);
- if ($this->EE->extensions->end_script === TRUE) return $edata;
- }
- //
- // -------------------------------------------
- // Is the user logged in?
- if ($this->request != 'login' &&
- ! in_array($this->request, $this->no_login) &&
- $this->EE->session->userdata('member_id') == 0)
- {
- return $this->_final_prep($this->profile_login_form('self'));
- }
- // Left-side Menu
- $left = ( ! in_array($this->request, $this->no_menu)) ? $this->profile_menu() : '';
- // Validate the request
- $methods = array(
- 'public_profile',
- 'memberlist',
- 'member_search',
- 'do_member_search',
- 'login',
- 'unpw_update',
- 'register',
- 'profile',
- 'edit_preferences',
- 'update_preferences',
- 'edit_profile',
- 'update_profile',
- 'edit_email',
- 'update_email',
- 'edit_userpass',
- 'update_userpass',
- 'edit_localization',
- 'update_localization',
- 'edit_notepad',
- 'update_notepad',
- 'edit_signature',
- 'update_signature',
- 'edit_avatar',
- 'browse_avatars',
- 'select_avatar',
- 'upload_avatar',
- 'edit_photo',
- 'upload_photo',
- 'edit_subscriptions',
- 'update_subscriptions',
- 'edit_ignore_list',
- 'update_ignore_list',
- 'member_mini_search',
- 'do_member_mini_search',
- 'email_console',
- 'aim_console',
- 'icq_console',
- 'send_email',
- 'forgot_password',
- 'smileys',
- 'messages',
- 'delete'
- );
- if ( ! in_array($this->request, $methods))
- {
- $this->_show_404_template();
- }
- // Call the requested function
- if ($this->request == 'profile') $this->request = 'profile_main';
- if ($this->request == 'register') $this->request = 'registration_form';
- if ($this->cur_id == 'member_search') {$left = ''; $this->breadcrumb = FALSE; $this->show_headings = FALSE;}
- if ($this->cur_id == 'do_member_search') {$left = ''; $this->breadcrumb = FALSE; $this->show_headings = FALSE;}
- if ($this->cur_id == 'buddy_search') {$left = ''; $this->breadcrumb = FALSE; $this->show_headings = FALSE;}
- if ($this->cur_id == 'do_buddy_search') {$left = ''; $this->breadcrumb = FALSE; $this->show_headings = FALSE;}
- $function = $this->request;
- if (in_array($function, array('upload_photo', 'upload_avatar', 'upload_signature_image', '_upload_image')))
- {
- require_once PATH_MOD.'member/mod.member_images.php';
- $MI = new Member_images();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MI->{$key} = $value;
- }
- $content = $MI->$function();
- }
- else
- {
- $content = $this->$function();
- }
- if ($this->cur_id == 'edit_folders') {$left = $this->profile_menu();}
- if ($this->cur_id == 'send_message') {$left = $this->profile_menu();}
- // Parse the template the template
- if ($left == '')
- {
- $out = $this->_var_swap($this->_load_element('basic_profile'),
- array(
- 'include:content' => $content
- )
- );
- }
- else
- {
- $out = $this->_var_swap($this->_load_element('full_profile'),
- array(
- 'include:menu' => $left,
- 'include:content' => $content
- )
- );
- }
- // Output the finalized request
- return $this->_final_prep($out);
- }
- // --------------------------------------------------------------------
- /**
- * Private Messages
- */
- public function messages()
- {
- if (($this->EE->session->userdata('can_send_private_messages') != 'y' &&
- $this->EE->session->userdata('group_id') != '1') OR
- $this->EE->session->userdata('accept_messages') != 'y')
- {
- return $this->profile_main();
- }
- if ( ! class_exists('EE_Messages'))
- {
- require APPPATH.'libraries/Messages.php';
- }
- $MESS = new EE_Messages;
- $MESS->base_url = $this->_member_path('messages').'/';
- $MESS->allegiance = 'user';
- $MESS->theme_path = $this->theme_path;
- $MESS->request = $this->cur_id;
- $MESS->cur_id = $this->uri_extra;
- $MESS->MS =& $this;
- $MESS->manager();
- $this->page_title = $MESS->title;
- $this->head_extra = $MESS->header_javascript;
- return $MESS->return_data;
- }
- // --------------------------------------------------------------------
- /**
- * Member Profile - Menu
- */
- public function profile_menu()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->profile_menu();
- }
- // --------------------------------------------------------------------
- /**
- * Private Messages - Menu
- */
- public function pm_menu()
- {
- if (($this->EE->session->userdata('can_send_private_messages') != 'y' &&
- $this->EE->session->userdata('group_id') != '1') OR
- $this->EE->session->userdata('accept_messages') != 'y')
- {
- return;
- }
- if ( ! class_exists('EE_Messages'))
- {
- require APPPATH.'libraries/Messages.php';
- }
- $MESS = new EE_Messages;
- $MESS->base_url = $this->_member_path('messages');
- $MESS->allegiance = 'user';
- $MESS->theme_path = $this->theme_path;
- $MESS->MS =& $this;
-
- $MESS->create_menu();
- return $MESS->menu;
- }
- // --------------------------------------------------------------------
- /**
- * Member Profile Main Page
- */
- public function profile_main()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->profile_main();
- }
- // --------------------------------------------------------------------
- /**
- * Member Public Profile
- */
- public function public_profile()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->public_profile();
- }
- // --------------------------------------------------------------------
- /**
- * Login Page
- */
- public function profile_login_form($return = '-2')
- {
- if ( ! class_exists('Member_auth'))
- {
- require PATH_MOD.'member/mod.member_auth.php';
- }
- $MA = new Member_auth();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MA->{$key} = $value;
- }
- return $MA->profile_login_form($return);
- }
- // --------------------------------------------------------------------
- /**
- * Member Profile Edit Page
- */
- public function edit_profile()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->edit_profile();
- }
- // --------------------------------------------------------------------
- /**
- * Profile Update
- */
- public function update_profile()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
-
- return $MS->update_profile();
- }
- // --------------------------------------------------------------------
- /**
- * Forum Preferences
- */
- public function edit_preferences()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->edit_preferences();
- }
- // --------------------------------------------------------------------
- /**
- * Update Preferences
- */
- public function update_preferences()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->update_preferences();
- }
- // --------------------------------------------------------------------
- /**
- * Email Settings
- */
- public function edit_email()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->edit_email();
- }
- // --------------------------------------------------------------------
- /**
- * Email Update
- */
- public function update_email()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->update_email();
- }
- // --------------------------------------------------------------------
- /**
- * Username/Password Preferences
- */
- public function edit_userpass()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->edit_userpass();
- }
- // --------------------------------------------------------------------
- /**
- * Username/Password Update
- */
- public function update_userpass()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->update_userpass();
- }
- // --------------------------------------------------------------------
- /**
- * Localization Edit Form
- */
- public function edit_localization()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->edit_localization();
- }
- // --------------------------------------------------------------------
- /**
- * Update Localization Prefs
- */
- public function update_localization()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->update_localization();
- }
- // --------------------------------------------------------------------
- /**
- * Signature Edit Form
- */
- public function edit_signature()
- {
- if ( ! class_exists('Member_images'))
- {
- require PATH_MOD.'member/mod.member_images.php';
- }
- $MI = new Member_images();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MI->{$key} = $value;
- }
- return $MI->edit_signature();
- }
- // --------------------------------------------------------------------
- /**
- * Update Signature
- */
- public function update_signature()
- {
- if ( ! class_exists('Member_images'))
- {
- require PATH_MOD.'member/mod.member_images.php';
- }
- $MI = new Member_images();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MI->{$key} = $value;
- }
- return $MI->update_signature();
- }
- // --------------------------------------------------------------------
- /**
- * Avatar Edit Form
- */
- public function edit_avatar()
- {
- if ( ! class_exists('Member_images'))
- {
- require PATH_MOD.'member/mod.member_images.php';
- }
- $MI = new Member_images();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MI->{$key} = $value;
- }
- return $MI->edit_avatar();
- }
- // --------------------------------------------------------------------
- /**
- * Browse Avatars
- */
- public function browse_avatars()
- {
- if ( ! class_exists('Member_images'))
- {
- require PATH_MOD.'member/mod.member_images.php';
- }
- $MI = new Member_images();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MI->{$key} = $value;
- }
- return $MI->browse_avatars();
- }
- // --------------------------------------------------------------------
- /**
- * Select Avatar From Library
- */
- public function select_avatar()
- {
- if ( ! class_exists('Member_images'))
- {
- require PATH_MOD.'member/mod.member_images.php';
- }
- $MI = new Member_images();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MI->{$key} = $value;
- }
- return $MI->select_avatar();
- }
- // --------------------------------------------------------------------
- /**
- * Photo Edit Form
- */
- public function edit_photo()
- {
- if ( ! class_exists('Member_images'))
- {
- require PATH_MOD.'member/mod.member_images.php';
- }
- $MI = new Member_images();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MI->{$key} = $value;
- }
- return $MI->edit_photo();
- }
- // --------------------------------------------------------------------
- /**
- * Notepad Edit Form
- */
- public function edit_notepad()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->edit_notepad();
- }
- // --------------------------------------------------------------------
- /**
- * Update Notepad
- */
- public function update_notepad()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->update_notepad();
- }
- // --------------------------------------------------------------------
- /**
- * Member Login
- */
- public function member_login()
- {
- if ( ! class_exists('Member_auth'))
- {
- require PATH_MOD.'member/mod.member_auth.php';
- }
- $MA = new Member_auth();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MA->{$key} = $value;
- }
- $MA->member_login();
- }
- // --------------------------------------------------------------------
- /**
- * Member Logout
- */
- public function member_logout()
- {
- if ( ! class_exists('Member_auth'))
- {
- require PATH_MOD.'member/mod.member_auth.php';
- }
- $MA = new Member_auth();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MA->{$key} = $value;
- }
- $MA->member_logout();
- }
- // --------------------------------------------------------------------
- /**
- * Member Forgot Password Form
- */
- public function forgot_password($ret = '-3')
- {
- if ( ! class_exists('Member_auth'))
- {
- require PATH_MOD.'member/mod.member_auth.php';
- }
- $MA = new Member_auth();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MA->{$key} = $value;
- }
- return $MA->forgot_password($ret);
- }
- // --------------------------------------------------------------------
- /**
- * Retreive Forgotten Password
- */
- public function retrieve_password()
- {
- if ( ! class_exists('Member_auth'))
- {
- require PATH_MOD.'member/mod.member_auth.php';
- }
- $MA = new Member_auth();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MA->{$key} = $value;
- }
- $MA->retrieve_password();
- }
- // --------------------------------------------------------------------
- /**
- * Reset the user's password
- */
- public function reset_password()
- {
- if ( ! class_exists('Member_auth'))
- {
- require PATH_MOD.'member/mod.member_auth.php';
- }
- $MA = new Member_auth();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MA->{$key} = $value;
- }
- $MA->reset_password();
- }
- // --------------------------------------------------------------------
- /**
- * Subscriptions Edit Form
- */
- public function edit_subscriptions()
- {
- if ( ! class_exists('Member_subscriptions'))
- {
- require PATH_MOD.'member/mod.member_subscriptions.php';
- }
- $MS = new Member_subscriptions();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->edit_subscriptions();
- }
- // --------------------------------------------------------------------
- /**
- * Update Subscriptions
- */
- public function update_subscriptions()
- {
- if ( ! class_exists('Member_subscriptions'))
- {
- require PATH_MOD.'member/mod.member_subscriptions.php';
- }
- $MS = new Member_subscriptions();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
-
- return $MS->update_subscriptions();
- }
- // --------------------------------------------------------------------
- /**
- * Edit Ignore List Form
- */
- public function edit_ignore_list()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->edit_ignore_list();
- }
- // --------------------------------------------------------------------
- /**
- * Update Ignore List
- */
- public function update_ignore_list()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->update_ignore_list();
- }
- // --------------------------------------------------------------------
- /**
- * Member Mini Search
- */
- public function member_mini_search()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- $this->_set_page_title($this->EE->lang->line('member_search'));
- return $MS->member_mini_search();
- }
- // --------------------------------------------------------------------
- /**
- * Do Member Mini Search
- */
- public function do_member_mini_search()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- $this->_set_page_title($this->EE->lang->line('member_search'));
- return $MS->do_member_mini_search();
- }
- // --------------------------------------------------------------------
- /**
- * Member Registration Form
- */
- public function registration_form()
- {
- if ( ! class_exists('Member_register'))
- {
- require PATH_MOD.'member/mod.member_register.php';
- }
- $MR = new Member_register();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MR->{$key} = $value;
- }
- return $MR->registration_form();
- }
- // --------------------------------------------------------------------
- /**
- * Register Member
- */
- public function register_member()
- {
- if ( ! class_exists('Member_register'))
- {
- require PATH_MOD.'member/mod.member_register.php';
- }
- $MR = new Member_register();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MR->{$key} = $value;
- }
- $MR->register_member();
- }
- // --------------------------------------------------------------------
- /**
- * Member Self-Activation
- */
- public function activate_member()
- {
- if ( ! class_exists('Member_register'))
- {
- require PATH_MOD.'member/mod.member_register.php';
- }
- $MR = new Member_register();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MR->{$key} = $value;
- }
- $MR->activate_member();
- }
- // --------------------------------------------------------------------
- /**
- * Delete Page
- */
- public function delete()
- {
- return $this->confirm_delete_form();
- }
- // --------------------------------------------------------------------
- /**
- * Self-delete confirmation form
- */
- public function confirm_delete_form()
- {
- if ($this->EE->session->userdata('can_delete_self') !== 'y')
- {
- return $this->EE->output->show_user_error('general', $this->EE->lang->line('cannot_delete_self'));
- }
- else
- {
- $delete_form = $this->_load_element('delete_confirmation_form');
- $data['hidden_fields']['ACT'] = $this->EE->functions->fetch_action_id('Member', 'member_delete');
- $data['onsubmit'] = "if( ! confirm('{lang:final_delete_confirm}')) return false;";
- $data['id'] = 'member_delete_form';
- $this->_set_page_title($this->EE->lang->line('member_delete'));
- return $this->_var_swap($delete_form, array('form_declaration' => $this->EE->functions->form_declaration($data)));
- }
- }
- // --------------------------------------------------------------------
- /**
- * Member self-delete
- */
- public function member_delete()
- {
- // Make sure they got here via a form
- if ( ! $this->EE->input->post('ACT'))
- {
- // No output for you, Mr. URL Hax0r
- return FALSE;
- }
- $this->EE->lang->loadfile('login');
- // No sneakiness - we'll do this in case the site administrator
- // has foolishly turned off secure forms and some monkey is
- // trying to delete their account from an off-site form or
- // after logging out.
- if ($this->EE->session->userdata('member_id') == 0 OR
- $this->EE->session->userdata('can_delete_self') !== 'y')
- {
- return $this->EE->output->show_user_error('general', $this->EE->lang->line('not_authorized'));
- }
- // If the user is a SuperAdmin, then no deletion
- if ($this->EE->session->userdata('group_id') == 1)
- {
- return $this->EE->output->show_user_error('general', $this->EE->lang->line('cannot_delete_super_admin'));
- }
- // Is IP and User Agent required for login? Then, same here.
- if ($this->EE->config->item('require_ip_for_login') == 'y')
- {
- if ($this->EE->session->userdata('ip_address') == '' OR
- $this->EE->session->userdata('user_agent') == '')
- {
- return $this->EE->output->show_user_error('general', $this->EE->lang->line('unauthorized_request'));
- }
- }
- // Check password lockout status
- if ($this->EE->session->check_password_lockout($this->EE->session->userdata('username')) === TRUE)
- {
- $this->EE->lang->loadfile('login');
-
- return $this->EE->output->show_user_error(
- 'general',
- sprintf(lang('password_lockout_in_effect'), $this->EE->config->item('password_lockout_interval'))
- );
- }
- // Are you who you say you are, or someone sitting at someone
- // else's computer being mean?!
- $this->EE->load->library('auth');
- if ( ! $this->EE->auth->authenticate_id($this->EE->session->userdata('member_id'),
- $this->EE->input->post('password')))
- {
- $this->EE->session->save_password_lockout($this->EE->session->userdata('username'));
- return $this->EE->output->show_user_error('general', $this->EE->lang->line('invalid_pw'));
- }
- // No turning back, get to deletin'!
- $this->EE->load->model('member_model');
- $this->EE->member_model->delete_member($this->EE->session->userdata('member_id'));
-
- // Email notification recipients
- if ($this->EE->session->userdata('mbr_delete_notify_emails') != '')
- {
-
- $notify_address = $this->EE->session->userdata('mbr_delete_notify_emails');
- $swap = array(
- 'name' => $this->EE->session->userdata('screen_name'),
- 'email' => $this->EE->session->userdata('email'),
- 'site_name' => stripslashes($this->EE->config->item('site_name'))
- );
- $email_subject = $this->EE->functions->var_swap($this->EE->lang->line('mbr_delete_notify_title'), $swap);
- $email_msg = $this->EE->functions->var_swap($this->EE->lang->line('mbr_delete_notify_message'), $swap);
- // No notification for the user themselves, if they're in the list
- if (strpos($notify_address, $this->EE->session->userdata('email')) !== FALSE)
- {
- $notify_address = str_replace($this->EE->session->userdata('email'), "", $notify_address);
- }
- $this->EE->load->helper('string');
- // Remove multiple commas
- $notify_address = reduce_multiples($notify_address, ',', TRUE);
- if ($notify_address != '')
- {
- // Send email
- $this->EE->load->library('email');
- // Load the text helper
- $this->EE->load->helper('text');
- foreach (explode(',', $notify_address) as $addy)
- {
- $this->EE->email->EE_initialize();
- $this->EE->email->wordwrap = FALSE;
- $this->EE->email->from($this->EE->config->item('webmaster_email'), $this->EE->config->item('webmaster_name'));
- $this->EE->email->to($addy);
- $this->EE->email->reply_to($this->EE->config->item('webmaster_email'));
- $this->EE->email->subject($email_subject);
- $this->EE->email->message(entities_to_ascii($email_msg));
- $this->EE->email->send();
- }
- }
- }
- $this->EE->db->where('session_id', $this->EE->session->userdata('session_id'))
- ->delete('sessions');
- $this->EE->functions->set_cookie($this->EE->session->c_session);
- $this->EE->functions->set_cookie($this->EE->session->c_expire);
- $this->EE->functions->set_cookie($this->EE->session->c_anon);
- $this->EE->functions->set_cookie('read_topics');
- $this->EE->functions->set_cookie('tracker');
- // Build Success Message
- $url = $this->EE->config->item('site_url');
- $name = stripslashes($this->EE->config->item('site_name'));
- $data = array( 'title' => $this->EE->lang->line('mbr_delete'),
- 'heading' => $this->EE->lang->line('thank_you'),
- 'content' => $this->EE->lang->line('mbr_account_deleted'),
- 'redirect' => '',
- 'link' => array($url, $name)
- );
- $this->EE->output->show_message($data);
- }
- // --------------------------------------------------------------------
- /**
- * Login Page
- */
- public function login()
- {
- return $this->profile_login_form();
- }
- // --------------------------------------------------------------------
- /**
- * Manual Login Form
- *
- * This lets users create a stand-alone login form in any template
- */
- public function login_form()
- {
- if ($this->EE->config->item('user_session_type') != 'c')
- {
- $this->EE->TMPL->tagdata = preg_replace("/{if\s+auto_login}.*?{".'\/'."if}/s", '', $this->EE->TMPL->tagdata);
- }
- else
- {
- $this->EE->TMPL->tagdata = preg_replace("/{if\s+auto_login}(.*?){".'\/'."if}/s", "\\1", $this->EE->TMPL->tagdata);
- }
- // Create form
- $data['hidden_fields'] = array(
- 'ACT' => $this->EE->functions->fetch_action_id('Member', 'member_login'),
- 'RET' => ($this->EE->TMPL->fetch_param('return') && $this->EE->TMPL->fetch_param('return') != "") ? $this->EE->TMPL->fetch_param('return') : '-2'
- );
- if ($this->EE->TMPL->fetch_param('name') !== FALSE &&
- preg_match("#^[a-zA-Z0-9_\-]+$#i", $this->EE->TMPL->fetch_param('name'), $match))
- {
- $data['name'] = $this->EE->TMPL->fetch_param('name');
- $this->EE->TMPL->log_item('Member Login Form: The \'name\' parameter has been deprecated. Please use form_name');
- }
- elseif ($this->EE->TMPL->fetch_param('form_name') && $this->EE->TMPL->fetch_param('form_name') != "")
- {
- $data['name'] = $this->EE->TMPL->fetch_param('form_name');
- }
- if ($this->EE->TMPL->fetch_param('id') !== FALSE &&
- preg_match("#^[a-zA-Z0-9_\-]+$#i", $this->EE->TMPL->fetch_param('id')))
- {
- $data['id'] = $this->EE->TMPL->fetch_param('id');
- $this->EE->TMPL->log_item('Member Login Form: The \'id\' parameter has been deprecated. Please use form_id');
- }
- else
- {
- $data['id'] = $this->EE->TMPL->form_id;
- }
-
- $data['class'] = $this->EE->TMPL->form_class;
- $res = $this->EE->functions->form_declaration($data);
- $res .= stripslashes($this->EE->TMPL->tagdata);
- $res .= "</form>";
- return $res;
- }
- // --------------------------------------------------------------------
- /**
- * Username/password update
- */
- public function unpw_update()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- return $MS->unpw_update();
- }
- // --------------------------------------------------------------------
- /**
- * Update the username/password
- */
- public function update_un_pw()
- {
- if ( ! class_exists('Member_settings'))
- {
- require PATH_MOD.'member/mod.member_settings.php';
- }
- $MS = new Member_settings();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MS->{$key} = $value;
- }
- $MS->update_un_pw();
- }
- // --------------------------------------------------------------------
- /**
- * Member Email Form
- */
- public function email_console()
- {
- if ( ! class_exists('Member_memberlist'))
- {
- require PATH_MOD.'member/mod.member_memberlist.php';
- }
- $MM = new Member_memberlist();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MM->{$key} = $value;
- }
- return $MM->email_console();
- }
- // --------------------------------------------------------------------
- /**
- * Send Member Email
- */
- public function send_email()
- {
- if ( ! class_exists('Member_memberlist'))
- {
- require PATH_MOD.'member/mod.member_memberlist.php';
- }
- $MM = new Member_memberlist();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MM->{$key} = $value;
- }
- return $MM->send_email();
- }
- // --------------------------------------------------------------------
- /**
- * AIM Console
- */
- public function aim_console()
- {
- if ( ! class_exists('Member_memberlist'))
- {
- require PATH_MOD.'member/mod.member_memberlist.php';
- }
- $MM = new Member_memberlist();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MM->{$key} = $value;
- }
- return $MM->aim_console();
- }
- // --------------------------------------------------------------------
- /**
- * ICQ Console
- */
- public function icq_console()
- {
- if ( ! class_exists('Member_memberlist'))
- {
- require PATH_MOD.'member/mod.member_memberlist.php';
- }
- $MM = new Member_memberlist();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MM->{$key} = $value;
- }
- return $MM->icq_console();
- }
- // --------------------------------------------------------------------
- /**
- * Member List
- */
- public function memberlist()
- {
- if ( ! class_exists('Member_memberlist'))
- {
- require PATH_MOD.'member/mod.member_memberlist.php';
- }
- $MM = new Member_memberlist();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MM->{$key} = $value;
- }
- return $MM->memberlist();
- }
- // --------------------------------------------------------------------
- /**
- * Member Search Results
- */
- public function member_search()
- {
- if ( ! class_exists('Member_memberlist'))
- {
- require PATH_MOD.'member/mod.member_memberlist.php';
- }
- $MM = new Member_memberlist();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MM->{$key} = $value;
- }
- return $MM->memberlist();
- }
- // --------------------------------------------------------------------
- /**
- * Do A Member Search
- */
- public function do_member_search()
- {
- if ( ! class_exists('Member_memberlist'))
- {
- require PATH_MOD.'member/mod.member_memberlist.php';
- }
- $MM = new Member_memberlist();
- foreach(get_object_vars($this) as $key => $value)
- {
- $MM->{$key} = $value;
- }
- return $MM->do_member_search();
- }
- // --------------------------------------------------------------------
- /**
- * Emoticons
- */
- public function smileys()
- {
- if ($this->EE->session->userdata('member_id') == 0)
- {
- return $this->EE->output->fatal_error($this->EE->lang->line('must_be_logged_in'));
- }
- $class_path = PATH_MOD.'emoticon/emoticons.php';
- if ( ! is_file($class_path) OR ! @include_once($class_path))
- {
- return $this->EE->output->fatal_error('Unable to locate the smiley images');
- }
- if ( ! is_array($smileys))
- {
- return;
- }
- $path = $this->EE->config->slash_item('emoticon_url');
- ob_start();
- ?>
- <script type="text/javascript">
- <!--
- function add_smiley(smiley)
- {
- var el = opener.document.getElementById('submit_post').body;
-
- if ('selectionStart' in el) {
- newStart = el.selectionStart + smiley.length;
- el.value = el.value.substr(0, el.selectionStart) +
- smiley +
- el.value.substr(el.selectionEnd, el.value.length);
- el.setSelectionRange(newStart, newStart);
- }
- else if (opener.document.selection) {
- el.focus();
- opener.document.selection.createRange().text = smiley;
- }
- else {
- el.value += " " + smiley + " ";
- }
-
- el.focus();
- window.close();
- }
- //-->
- </script>
- <?php
- $javascript = ob_get_contents();
- ob_end_clean();
- $r = $javascript;
- $i = 1;
- $dups = array();
- foreach ($smileys as $key => $val)
- {
- if ($i == 1)
- {
- $r .= "<tr>\n";
- }
- if (in_array($smileys[$key]['0'], $dups))
- continue;
- $r .= "<td class='tableCellOne' align='center'><a href=\"#\" onclick=\"return add_smiley('".$key."');\"><img src=\"".$path.$smileys[$key]['0']."\" width=\"".$smileys[$key]['1']."\" height=\"".$smileys[$key]['2']."\" alt=\"".$smileys[$key]['3']."\" border=\"0\" /></a></td>\n";
- $dups[] = $smileys[$key]['0'];
- if ($i == 10)
- {
- $r .= "</tr>\n";
- $i = 1;
- }
- else
- {
- $i++;
- }
- }
- $r = rtrim($r);
- if (substr($r, -5) != "</tr>")
- {
- $r .= "</tr>\n";
- }
- $this->_set_page_title($this->EE->lang->line('smileys'));
- return str_replace('{include:smileys}', $r, $this->_load_element('emoticon_page'));
- }
- // --------------------------------------------------------------------
- /**
- * Convet special characters
- */
- function _convert_special_chars($str)
- {
- return str_replace(array('<', '>', '{', '}', '\'', '"', '?'), array('<', '>', '{', '}', ''', '"', '?'), $str);
- }
- // --------------------------------------------------------------------
- /**
- * Parse the index template
- */
- function _parse_index_template($str)
- {
- $req = ($this->request == '') ? 'profile' : $this->request;
- // We have to call this before putting it into the array
- $breadcrumb = $this->breadcrumb();
- return $this->_var_swap($this->EE->TMPL->tagdata,
- array(
- 'stylesheet' => "<style type='text/css'>\n\n".$this->_load_element('stylesheet')."\n\n</style>",
- 'javascript' => $this->javascript,
- 'heading' => $this->page_title,
- 'breadcrumb' => $breadcrumb,
- 'content' => $str,
- 'copyright' => $this->_load_element('copyright')
- )
- );
- }
- // --------------------------------------------------------------------
- /**
- * Member Home Page
- */
- function _member_page($str)
- {
- $template = $this->_load_element('member_page');
- if ($this->show_headings == TRUE)
- {
- $template = $this->_allow_if('show_headings', $template);
- }
- else
- {
- $template = $this->_deny_if('show_headings', $template);
- }
- // We have to call this before putting it into the array
- $breadcrumb = $this->breadcrumb();
- $header = $this->_load_element('html_header');
- $css = $this->_load_element('stylesheet');
- $header = str_replace('{include:stylesheet}', $css, $header);
- $header = str_replace('{include:head_extra}', $this->head_extra, $header);
- return $this->_var_swap($template,
- array(
- 'include:html_header' => $header,
- 'include:page_header' => $this->_load_element('page_header'),
- 'include:page_subheader' => $this->_load_element('page_subheader'),
- 'include:member_manager' => $str,
- 'include:breadcrumb' => $breadcrumb,
- 'include:html_footer' => $this->_load_element('html_footer')
- )
- );
- }
- // --------------------------------------------------------------------
- /**
- * Load theme element
- */
- function _load_element($which)
- {
- if ($this->theme_path == '')
- {
- $theme = ($this->EE->config->item('member_theme') == '') ? 'default' : $this->EE->config->item('member_theme');
- $this->theme_path = PATH_MBR_THEMES."{$theme}/";
- }
- if ( ! file_exists($this->theme_path.$which.'.html'))
- {
- $data = array( 'title' => $this->EE->lang->line('error'),
- 'heading' => $this->EE->lang->line('general_error'),
- 'content' => $this->EE->lang->line('nonexistent_page'),
- 'redirect' => '',
- 'link' => array($this->EE->config->item('site_url'), stripslashes($this->EE->config->item('site_name')))
- );
- return $this->EE->output->show_message($data, 0);
- }
-
- return $this->_prep_element(trim(file_get_contents($this->theme_path.$which.'.html')));
- }
- // --------------------------------------------------------------------
- /**
- * Trigger Error Template
- */
- function _trigger_error($heading, $message = '', $use_lang = TRUE)
- {
- return $this->_var_swap($this->_load_element('error'),
- array(
- 'lang:heading' => $this->EE->lang->line($heading),
- 'lang:message' => ($use_lang == TRUE) ? $this->EE->lang->line($message) : $message
- )
- );
- }
- // --------------------------------------------------------------------
- /**
- * Sets the title of the page
- */
- function _set_page_title($title)
- {
- if ($this->page_title == '')
- {
- $this->page_title = $title;
- }
- }
- // --------------------------------------------------------------------
- /**
- * Member Breadcrumb
- */
- public function breadcrumb()
- {
- if ($this->breadcrumb == FALSE)
- {
- return '';
- }
- $crumbs = $this->_crumb_trail(
- array(
- 'link' => $this->EE->config->item('site_url'),
- 'title' => stripslashes($this->EE->config->item('site_name'))
- )
- );
- if ($this->EE->uri->segment(2) == '')
- {
- return $this->_build_crumbs($this->EE->lang->line('member_profile'), $crumbs, $this->EE->lang->line('member_profile'));
- }
- if ($this->EE->uri->segment(2) == 'messages')
- {
- $crumbs .= $this->_crumb_trail(array(
- 'link' => $this->_member_path('/profile'),
- 'title' => $this->EE->lang->line('control_panel_home')
- )
- );
- $pm_page = (FALSE !== ($mbr_crumb = $this->_fetch_member_crumb($this->EE->uri->segment(3)))) ? $this->EE->lang->line($mbr_crumb) : $this->EE->lang->line('view_folder');
- return $this->_build_crumbs($pm_page, $crumbs, $pm_page);
- }
- if (is_numeric($this->EE->uri->segment(2)))
- {
- $query = $this->EE->db->query("SELECT screen_name FROM exp_members WHERE member_id = '".$this->EE->uri->segment(2)."'");
- $crumbs .= $this->_crumb_trail(array(
- 'link' => $this->_member_path('/memberlist'),
- 'title' => $this->EE->lang->line('mbr_memberlist')
- )
- );
- return $this->_build_crumbs($query->row('screen_name') , $crumbs, $query->row('screen_name') );
- }
- else
- {
- if ($this->EE->uri->segment(2) == 'memberlist')
- {
- return $this->_build_crumbs($this->EE->lang->line('mbr_memberlist'), $crumbs, $this->EE->lang->line('mbr_memberlist'));
- }
- elseif ($this->EE->uri->segment(2) == 'member_search' OR $this->EE->uri->segment(2) == 'do_member_search')
- {
- return $this->_build_crumbs($this->EE->lang->line('member_search'), $crumbs, $this->EE->lang->line('member_search'));
- }
- elseif ($this->EE->uri->segment(2) != 'profile' AND ! in_array($this->EE->uri->segment(2), $this->no_menu))
- {
- $crumbs .= $this->_crumb_trail(array(
- 'link' => $this->_member_path('/profile'),
- 'title' => $this->EE->lang->line('control_panel_home')
- )
- );
- }
- }
- if (FALSE !== ($mbr_crumb = $this->_fetch_member_crumb($this->EE->uri->segment(2))))
- {
- return $this->_build_crumbs($this->EE->lang->line($mbr_crumb), $crumbs, $this->EE->lang->line($mbr_crumb));
- }
- }
- // --------------------------------------------------------------------
- /**
- * Breadcrumb trail links
- */
- function _crumb_trail($data)
- {
- $trail = $this->_load_element('breadcrumb_trail');
- $crumbs = '';
- $crumbs .= $this->_var_swap($trail,
- array(
- 'crumb_link' => $data['link'],
- 'crumb_title' => $data['title']
- )
- );
- return $crumbs;
- }
- // --------------------------------------------------------------------
- /**
- * Finalize the Crumbs
- */
- function _build_crumbs($title, $crumbs, $str)
- {
- $this->_set_page_title(($title == '') ? 'Powered By ExpressionEngine' : $title);
- $crumbs .= str_replace('{crumb_title}', $str, $this->_load_element('breadcrumb_current_page'));
- $breadcrumb = $this->_load_element('breadcrumb');
- $breadcrumb = str_replace('{name}', $this->EE->session->userdata('screen_name'), $breadcrumb);
- return str_replace('{breadcrumb_links}', $crumbs, $breadcrumb);
- }
- // --------------------------------------------------------------------
- /**
- * Fetch member profile crumb item
- */
- function _fetch_member_crumb($item = '')
- {
- if ($item == '')
- return FALSE;
- return ( ! isset($this->crumb_map[$item])) ? FALSE : $this->crumb_map[$item];
- }
- // --------------------------------------------------------------------
- /**
- * Create the "year" pull-down menu
- */
- function _birthday_year($year = '')
- {
- $r = "<select name='bday_y' class='select'>\n";
- $selected = ($year == '') ? " selected='selected'" : '';
- $r .= "<option value=''{$selected}>".$this->EE->lang->line('year')."</option>\n";
- for ($i = date('Y', $this->EE->localize->now); $i > 1904; $i--)
- {
- $selected = ($year == $i) ? " selected='selected'" : '';
- $r .= "<option value='{$i}'{$selected}>".$i."</option>\n";
- }
- $r .= "</select>\n";
- return $r;
- }
- // --------------------------------------------------------------------
- /**
- * Create the "month" pull-down menu
- */
- function _birthday_month($month = '')
- {
- $months = array('01' => 'January','02' => 'February','03' => 'March', '04' =>…
Large files files are truncated, but you can click here to view the full file