3 require_once 'MTrackWeb.php';
6 class MTrackWeb_Login extends MTrackWeb
8 var $template = 'login.html';
15 function get($u='', $ar=array())
18 if (!empty($_REQUEST['logout'])) {
19 if ($this->getAuthUser()) {
20 $this->getAuthUser()->logout();
22 header('location: ' . $this->baseURL);
27 if (!isset($_REQUEST['ajax_body'])) {
28 $this->title = "Login";
31 $this->masterTemplate = 'login.html';
34 /** ---------- reset passwords ----- */
35 $uu = explode('/', $u);
36 if ($uu[0] != 'Reset') {
37 $this->err('404', 'Invalid URL');
39 $u = DB_DataObject::factory('Person');
40 if (!$u->get($uu[1])) {
41 $this->err('404', 'Invalid URL');
43 $uu[2] = (int) $uu[2];
45 if ($uu[2] < (time() - (60 * 60 * 24 * 2))) { // older than 2 days.
46 HTML_FlexyFramework::run('ForgotPassword', array('errors' => array('reset_expired' => 1)));
49 // print_R($u->genPassKey($uu[2]));
50 if ($uu[3] != $u->genPassKey($uu[2])) {
51 HTML_FlexyFramework::run('ForgotPassword', array('errors' => array('reset_invalid' => 1)));
57 $u->generatePassword();
59 $u->sendTemplate('reset_password', $this);
61 $this->warnings = array('password_sent' => true);
66 foreach($ar as $k=>$v) {
74 require_once 'HTML/Template/Flexy/Factory.php';
75 $this->elements = HTML_Template_Flexy_Factory::fromArray( $_POST ,$this->elements);
81 function errmsg($str) {
83 return $this->jerr($str);
92 $u = DB_DataObject::factory('Person');
94 $u->whereAdd('LENGTH(passwd) > 1');
95 //$u->company_id = $this->company->id;
97 if (empty($_REQUEST['username'])) { //|| (strpos($_REQUEST['username'], '@') < 1)) {
98 return $this->errmsg('bad_1');
102 $u->email = $_REQUEST['username'];
103 if ($u->count() > 1 || !$u->find(true)) {
104 return $this->errmsg('bad_2');
109 // return $this->errmsg('disabled');
112 if ($u->checkPassword($_REQUEST['password'])) {
114 $this->addEvent("LOGIN");
115 //if (!empty($_REQUEST['lang']) && $_REQUEST['lang'] != $u->lang) {
117 //// $uu->lang = $_REQUEST['lang'];
122 HTML_FlexyFramework::run(''); //
124 //$this->sendAuthUserDetails();
131 return $this->errmsg('bad_3'); // - " . htmlspecialchars(print_r($_POST,true))."'");