diff --git a/unl_theme/actions/login.php b/unl_theme/actions/login.php new file mode 100644 index 0000000000000000000000000000000000000000..55a555666895f49a2a21f3b2a67d0582aea66a12 --- /dev/null +++ b/unl_theme/actions/login.php @@ -0,0 +1,82 @@ +<?php + + /** + * Elgg login action + * + * @package Elgg + * @subpackage Core + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Curverider Ltd + * @copyright Curverider Ltd 2008-2009 + * @link http://elgg.org/ + */ + + // Safety first + action_gatekeeper(); + + // Get username and password + + $username = get_input('username'); + $password = get_input("password"); + $persistent = get_input("persistent", false); + + // If all is present and correct, try to log in + $result = false; + if (!empty($username) && !empty($password)) { + if ($user = authenticate($username,$password)) { + $result = login($user, $persistent); + } + } + + // Set the system_message as appropriate + + if ($result) { + system_message(elgg_echo('loginok')); + if ($_SESSION['last_forward_from']) + { + $forward_url = $_SESSION['last_forward_from']; + $_SESSION['last_forward_from'] = ""; + forward($forward_url); + } + else + { + if ( + (isadminloggedin()) && + (!datalist_get('first_admin_login')) + ) + { + system_message(elgg_echo('firstadminlogininstructions')); + + datalist_set('first_admin_login', time()); + + forward('pg/admin/plugins'); + } else + /* here's the modification we're making + forward("pg/dashboard/"); */ + forward("pg/profile/$username"); + } + } else { + $error_msg = elgg_echo('loginerror'); + // figure out why the login failed + if (!empty($username) && !empty($password)) { + // See if it exists and is disabled + $access_status = access_get_show_hidden_status(); + access_show_hidden_entities(true); + if (($user = get_user_by_username($username)) && !$user->validated) { + // give plugins a chance to respond + if (!trigger_plugin_hook('unvalidated_login_attempt','user',array('entity'=>$user))) { + // if plugins have not registered an action, the default action is to + // trigger the validation event again and assume that the validation + // event will display an appropriate message + trigger_elgg_event('validate', 'user', $user); + } + } else { + register_error(elgg_echo('loginerror')); + } + access_show_hidden_entities($access_status); + } else { + register_error(elgg_echo('loginerror')); + } + } + +?> \ No newline at end of file