3 require_once 'MTrackWeb.php';
6 class MTrackWeb_Login extends MTrackWeb
8 var $template = 'login.html';
15 function get($u='', $ar=array())
19 /** ---------- reset passwords ----- */
20 $uu = explode('/', $u);
21 if ($uu[0] != 'Reset') {
22 $this->err('404', 'Invalid URL');
24 $u = DB_DataObject::factory('Person');
25 if (!$u->get($uu[1])) {
26 $this->err('404', 'Invalid URL');
28 $uu[2] = (int) $uu[2];
30 if ($uu[2] < (time() - (60 * 60 * 24 * 2))) { // older than 2 days.
31 HTML_FlexyFramework::run('ForgotPassword', array('errors' => array('reset_expired' => 1)));
34 // print_R($u->genPassKey($uu[2]));
35 if ($uu[3] != $u->genPassKey($uu[2])) {
36 HTML_FlexyFramework::run('ForgotPassword', array('errors' => array('reset_invalid' => 1)));
42 $u->generatePassword();
44 $u->sendTemplate('reset_password', $this);
46 $this->warnings = array('password_sent' => true);
51 foreach($ar as $k=>$v) {
57 if (!empty($_REQUEST['logout'])) {
58 if ($this->getAuthUser()) {
59 $this->getAuthUser()->logout();
61 HTML_FlexyFramework::run(''); //
67 require_once 'HTML/Template/Flexy/Factory.php';
68 $this->elements = HTML_Template_Flexy_Factory::fromArray ( $_POST ,$this->elements);
78 $u = DB_DataObject::factory('Person');
80 $u->whereAdd('LENGTH(passwd) > 1');
81 //$u->company_id = $this->company->id;
83 if (empty($_REQUEST['username'])) { //|| (strpos($_REQUEST['username'], '@') < 1)) {
84 return $this->errmsg('bad_1');
88 $u->email = $_REQUEST['username'];
89 if ($u->count() > 1 || !$u->find(true)) {
90 return $this->errmsg('bad_2');
95 // return $this->errmsg('disabled');
98 if ($u->checkPassword($_REQUEST['password'])) {
100 $this->addEvent("LOGIN");
101 //if (!empty($_REQUEST['lang']) && $_REQUEST['lang'] != $u->lang) {
103 //// $uu->lang = $_REQUEST['lang'];
107 HTML_FlexyFramework::run(''); //
109 //$this->sendAuthUserDetails();
116 return $this->errmsg('bad_3'); // - " . htmlspecialchars(print_r($_POST,true))."'");