OpenSencillo
2015.002
|
Public Member Functions | |
__construct ($DBHost, $DBName, $DBUser, $DBPass) | |
install () | |
editPerm ($login=null, $perm=null) | |
getPerm () | |
ereg () | |
login ($ajax) | |
checkSession ($signal=false) | |
basicLogin ($translate, $seo) | |
addToMainArray ($name, $data) | |
ajaxSendJson () | |
addNewUser ($pass, $perm) | |
createSession () | |
destroySession () | |
addSessionData ($name, $data=null) | |
getSessionData ($name) | |
signIn ($pass) | |
getSignedUser () | |
signOut () | |
clean ($string) | |
Protected Attributes | |
$log = array() | |
$status = array() |
Definition at line 2 of file login.management.logman.php.
__construct | ( | $ | DBHost, |
$ | DBName, | ||
$ | DBUser, | ||
$ | DBPass | ||
) |
Create connection
string | $DBHost | |
string | $DBName | |
string | $DBUser | |
string | $DBPass |
Reimplemented from mysql.
Definition at line 7 of file login.management.logman.php.
{ parent::__construct($DBHost,$DBName,$DBUser,$DBPass); $this->log['server']=$_SERVER['SERVER_NAME']; $this->log['request']=$_SERVER['REQUEST_URI']; $this->log['port']=$_SERVER['REMOTE_PORT']; $this->log['agent']=$_SERVER['HTTP_USER_AGENT']; $this->log['referer']=$_SERVER['HTTP_REFERER']; $this->log['external_ip']=$_SERVER['REMOTE_ADDR']; $this->status=array( 'called'=>$_POST['atype'], 'date'=>date('Y-m-d'), 'time'=>date('H:i:s') ); if($this->test()) { $this->log['database']=array('host'=>$this->DBHost, 'name'=>$this->DBName, 'user'=>$this->DBUser, 'pass'=>$this->DBPass); $this->install(); } else { die("<b>login.management.logman: MySQL connection failed!</b>".mysql_error()); } }
addNewUser | ( | $ | pass, |
$ | perm | ||
) | [final] |
Definition at line 300 of file login.management.logman.php.
{ }
addSessionData | ( | $ | name, |
$ | data = null |
||
) | [final] |
Store data in new session
string | $name | |
string | $data |
Definition at line 334 of file login.management.logman.php.
{
$_SESSION[$name]=$data;
return $data;
}
addToMainArray | ( | $ | name, |
$ | data | ||
) | [final] |
Add data to main login array
string | $name | |
multitype | $data |
Definition at line 287 of file login.management.logman.php.
{ $this->status[$name]=$data; }
ajaxSendJson | ( | ) | [final] |
Convert main array to JSON export and print as AJAX response
Definition at line 295 of file login.management.logman.php.
{ print json_encode($this->status); }
basicLogin | ( | $ | translate, |
$ | seo | ||
) |
Create default login system
object | $translate | |
object | $seo |
Definition at line 227 of file login.management.logman.php.
{ $this->createSession(); if((is_object($translate))&&(is_object($seo))) { switch($_GET['p']) { case 'logout': $this->destroySession(); case '': define('LOGIN_ERRMSG',"000:".$_SESSION['sessionid']); define('LOGIN_ACTION','/login'); echo $seo->save(); require_once 'fw_templates/login.default.screen.php'; break; case 'login': $status = $this->checkSession(true); $seo->custom('<script type="text/javascript">console.log("Login status:'.$status["code"].'");</script>'); switch($status['code']) { case 200: case 202: //login success define('LOGIN_ERRMSG',$status['code'].":".$_SESSION['sessionid'].":ok:user:".$this->getSessionData('userid')); echo $seo->save(); require_once 'fw_templates/account.dafault.screen.php'; break; default: //login failed $this->destroySession(); define('LOGIN_ERRMSG',$status['code'].":".$_SESSION['sessionid'].":failed"); define('LOGIN_ACTION','/login'); echo $seo->save(); require_once 'fw_templates/login.default.screen.php'; } break; case 'ereg': case 'registration': //ereg $this->destroySession(); define('LOGIN_ACTION','/registration'); $status = $this->ereg(); define('LOGIN_ERRMSG',$status['code'].":ereg"); echo $seo->save(); require_once 'fw_templates/ereg.default.screen.php'; break; } return $status['code']; } else { return 500; } }
checkSession | ( | $ | signal = false | ) | [final] |
Check whether session
bool | $signal |
Definition at line 205 of file login.management.logman.php.
{ $this->openTable('users'); $browser = ($this->getSessionData('sessionid') ? array("code"=>200) : $this->login($_POST)); $server = $this->output("`id`=".$this->getSessionData('userid')); if(!$signal) { return (($server['line'][1][1]===$this->getSessionData('sessionid'))&&($browser["code"]<300)&&($server['line'][1][8]===$this->getSessionData('perm')) ? true : false); } else { return (($server['line'][1][1]===$this->getSessionData('sessionid'))&&($browser["code"]<300)&&($server['line'][1][8]===$this->getSessionData('perm')) ? $browser : array("code"=>404)); } }
clean | ( | $ | string | ) | [final] |
Remove all special characters
string | $string |
Definition at line 375 of file login.management.logman.php.
{ return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars. }
createSession | ( | ) | [final] |
Create session data
Definition at line 309 of file login.management.logman.php.
destroySession | ( | ) | [final] |
Destroy exist session
Definition at line 321 of file login.management.logman.php.
{ $this->update('`id`='.$this->getSessionData('userid'),"`sign`=NULL"); unset($this->log['session']); session_destroy(); }
editPerm | ( | $ | login = null , |
$ | perm = null |
||
) | [final] |
Update perm in logMan
string | |
int | (1000~1111) |
Definition at line 74 of file login.management.logman.php.
{ if(isset($login)) { if((is_numeric($perm))&&($perm<=1111)) { $this->set("perm",$perm); $this->update("`login`=".$this->log['user']); unset($this->log['perm']); $this->log['perm']=$perm; return $this->log['perm']; } else { return false; } } else { $this->set("perm",$perm); $this->update("`login`=".$login); } }
ereg | ( | ) | [final] |
Create new user in database
array | $_POST |
Definition at line 115 of file login.management.logman.php.
{ $this->openTable('users'); if(filter_var($_POST['email'],FILTER_VALIDATE_EMAIL)) { $user=$this->output("`login`='".$_POST['email']."'","`id` ASC",1); if($user['line'][1][0]==null) { try { $this->insert("'first_use',0,'".strtolower($_POST['email'])."',MD5('".$_POST['pass']."'),'".strtolower($_POST['email'])."','".$this->clean(ucwords(strtolower($_POST['fname'])))."','".$this->clean(ucwords(strtolower($_POST['lname'])))."',1000,'".$this->log['external_ip'].":".$this->log['port']."','".$this->log['agent']."',DATE(NOW()),TIME(NOW())"); $this->status['status']='ok'; $this->status['code']=200; } catch(Exception $e) { $this->status['status']='failed'; $this->status['code']=417; } } else { $this->status['status']='exist'; $this->status['code']=409; } } else { $this->status['status']='invalid'; $this->status['code']=403; } return $this->status; }
getPerm | ( | ) | [final] |
Returned actual user permission
Definition at line 103 of file login.management.logman.php.
{ return $this->log['perm']; }
getSessionData | ( | $ | name | ) | [final] |
Get data from session storage
string | $name |
Definition at line 345 of file login.management.logman.php.
{
return $_SESSION[$name];
}
getSignedUser | ( | ) | [final] |
Get all information about signed user
Definition at line 360 of file login.management.logman.php.
{ return $this->log; }
install | ( | ) | [final] |
Install logMan if table not exist
Definition at line 41 of file login.management.logman.php.
{ try { $this->newColumn("sign","TEXT"); $this->newColumn("active","INT(1)"); $this->newColumn("login","VARCHAR(255)"); $this->newColumn("pass","VARCHAR(255)"); $this->newColumn("email","VARCHAR(255)"); $this->newColumn("fname","VARCHAR(255)"); $this->newColumn("lname","VARCHAR(255)"); $this->newColumn("perm","INT(4)"); $this->newColumn("ip","VARCHAR(20)"); $this->newColumn("agent","TEXT"); $this->newColumn("date","VARCHAR(20)"); $this->newColumn("time","VARCHAR(20)"); $this->createTable("users"); return true; } catch(Exception $e) { return false; } }
login | ( | $ | ajax | ) | [final] |
Login with ajax
array | $ajax |
Definition at line 156 of file login.management.logman.php.
{ $this->openTable('users'); if(filter_var($ajax['email'],FILTER_VALIDATE_EMAIL)) { if($this->output("`login`='".strtolower($ajax['email'])."' AND `pass`=MD5('".$ajax['pass']."')","`id` ASC",1)!=false) { $this->status['status']='authorized'; $this->status['code']=202; $this->status['user']=$this->output("`login`='".strtolower($ajax['email'])."' AND `pass`=MD5('".$ajax['pass']."')","`id` ASC",1); $this->addSessionData('userid',$this->status['user']['line'][1][0]); $this->addSessionData('login',$this->status['user']['line'][1][3]); $this->addSessionData('email',$this->status['user']['line'][1][5]); $this->addSessionData('perm',$this->status['user']['line'][1][8]); $this->addSessionData('sessionid',$this->log['session']['id']); $this->addSessionData('start',date('Y-m-d H:i:s')); if($this->status['user']['line'][1][1]=='first_use') { $this->addSessionData('tutorial',true); } else { $this->addSessionData('tutorial',false); } $this->update('`id`='.$this->status['user']['line'][1][0],"`sign`='".$this->getSessionData('sessionid')."',`ip`='".$this->log['external_ip'].":".$this->log['port']."',`agent`='".$this->log['agent']."',`date`='".$this->status['date']."',`time`='".$this->status['time']."'"); unset($this->status['user']['line']); } else { $this->status['status']='unauthorized'; $this->status['code']=404; } } else { $this->status['status']='invalid'; $this->status['code']=403; } return $this->status; }
signIn | ( | $ | pass | ) | [final] |
Definition at line 350 of file login.management.logman.php.
{ }
signOut | ( | ) | [final] |
Definition at line 365 of file login.management.logman.php.
{
//TODO
}
$log = array() [protected] |
Definition at line 4 of file login.management.logman.php.
$status = array() [protected] |
Definition at line 5 of file login.management.logman.php.