123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- <?php
- /**
- * 核心控制
- * @author cp
- */
- class BaseController extends DooController {
- public $data;
- public $userinfo;
- function __construct() {
- $this->data['rootUrl'] = Doo::conf()->APP_URL;
- }
- public function clogin() {
- $this->data['message'] = '';
- $this->render('common-login', $this->data);
- }
- public function alogin() {
- $this->render('admin-login', $this->data);
- }
- /**
- * 进入后台
- */
- function do_login() {
- $data ['name'] = $_POST['name'];
- $data ['password'] = $_POST['password'];
- Doo::loadModel('adminuser');
- $users = new Adminuser();
- $user = $users->getRowByUsername($data);
- if (!empty ( $user )) {
- $userinfo = $this->authcode ( $user ['username'], "tr" );
- setcookie ( "auth_main", $userinfo, time () + 3600 * 12, "/", COOKIE_WEB_SITE );
- return '/m/userlist';
- // header ( 'Content-Type:text/html;charset=utf-8' );
- // @header ( "Location: " . COOKIE_WEB_SITE . "/m/userlist" );
- }else{
- return '/m/login';
- // header ( 'Content-Type:text/html;charset=utf-8' );
- // @header ( "Location: " . COOKIE_WEB_SITE . "/m/login" );
- }
- }
-
- /**
- * 后台登录
- */
- function admin_init(){
- //是否已经登录纵横
- $rs=array();
- if (isset ( $_COOKIE ['auth_main'] )) {
- $userinfo=$this->authcode ($_COOKIE ['auth_main']);
- Doo::loadModel('adminuser');
- $users = new Adminuser();
- $this->userinfo=$users->getRowByuser($userinfo);
- }else{
- setcookie ( "auth_main", "", time () + 3600 * 12, "/", COOKIE_WEB_SITE );
- //无权限进入后台
- header ( 'Content-Type:text/html;charset=utf-8' );
- @header ( "Location: /m/login");
- }
- if (!empty ( $this->userinfo )) {
- //跳转前台登录
- $userinfo = $this->authcode ( $this->userinfo['username'], "tr" );
- //header ( 'Content-Type:text/html;charset=utf-8' );
- //@header ( "Location: /" );
- setcookie ( "auth_main", $userinfo, time () + 3600 * 12, "/", COOKIE_WEB_SITE );
- } else {
- setcookie ( "auth_main", "", time () + 3600 * 12, "/", COOKIE_WEB_SITE );
- //无权限进入后台
- header ( 'Content-Type:text/html;charset=utf-8' );
- @header ( "Location: /m/login");
- }
- }
- public function do_clogin() {
- if(!isset($_POST['name']) || empty($_POST['name'])){
- $this->data['message'] = '帐号不能为空';
- $this->render('common-login',$this->data);die;
- }
- if(!isset($_POST['password']) || empty($_POST['password'])){
- $this->data['message'] = '密码不能为空';
- $this->render('common-login',$this->data);die;
- }
- $data ['name'] = $_POST['name'];
- $data ['password'] = $_POST['password'];
- Doo::loadModel('commonuser');
- $users = new Commonuser();
- $user = $users->getRowByUsername($data);
- if (!empty ( $user )) {
- $userinfo = $this->authcode ( $user ['username'], "tr" );
- setcookie ( "common_main", $userinfo, time () + 3600 * 12, "/", COOKIE_WEB_SITE );
- header ( 'Content-Type:text/html;charset=utf-8' );
- @header ( "Location: /common/classlist");
- // return '/common/classlist';
- }else{
- $this->data['message'] = '账号或密码错误!';
- $this->render('common-login',$this->data);die;
- }
- }
- /**
- * 查询登录
- */
- function common_init(){
- if (isset ( $_COOKIE ['common_main'] )) {
- $userinfo=$this->authcode ($_COOKIE ['common_main']);
- Doo::loadModel('commonuser');
- $users = new Commonuser();
- $this->userinfo=$users->getRowByUser($userinfo);
- }else{
- setcookie ( "common_main", "", time () + 3600 * 12, "/", COOKIE_WEB_SITE );
- //无权限进入后台
- header ( 'Content-Type:text/html;charset=utf-8' );
- @header ( "Location: /common/login");
- }
- if (!empty ( $this->userinfo )) {
- //跳转前台登录
- $userinfo = $this->authcode ( $this->userinfo['username'], "tr" );
- //header ( 'Content-Type:text/html;charset=utf-8' );
- //@header ( "Location: /" );
- setcookie ( "common_main", $userinfo, time () + 3600 * 12, "/", COOKIE_WEB_SITE );
- return $this->userinfo['username'];
- } else {
- setcookie ( "common_main", "", time () + 3600 * 12, "/", COOKIE_WEB_SITE );
- //无权限进入后台
- header ( 'Content-Type:text/html;charset=utf-8' );
- @header ( "Location: /common/login");
- }
- }
- function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
- $ckey_length = 4;
- if (! $key) {
- $key = "ZHKT";
- }
- $key = md5 ( $key );
- $keya = md5 ( substr ( $key, 0, 16 ) );
- $keyb = md5 ( substr ( $key, 16, 16 ) );
- $keyc = $ckey_length ? ($operation == 'DECODE' ? substr ( $string, 0, $ckey_length ) : substr ( md5 ( microtime () ), - $ckey_length )) : '';
- $cryptkey = $keya . md5 ( $keya . $keyc );
- $key_length = strlen ( $cryptkey );
- $string = $operation == 'DECODE' ? base64_decode ( substr ( $string, $ckey_length ) ) : sprintf ( '%010d', $expiry ? $expiry + time () : 0 ) . substr ( md5 ( $string . $keyb ), 0, 16 ) . $string;
- $string_length = strlen ( $string );
- $result = '';
- $box = range ( 0, 255 );
- $rndkey = array ();
- for($i = 0; $i <= 255; $i ++) {
- $rndkey [$i] = ord ( $cryptkey [$i % $key_length] );
- }
- for($j = $i = 0; $i < 256; $i ++) {
- $j = ($j + $box [$i] + $rndkey [$i]) % 256;
- $tmp = $box [$i];
- $box [$i] = $box [$j];
- $box [$j] = $tmp;
- }
- for($a = $j = $i = 0; $i < $string_length; $i ++) {
- $a = ($a + 1) % 256;
- $j = ($j + $box [$a]) % 256;
- $tmp = $box [$a];
- $box [$a] = $box [$j];
- $box [$j] = $tmp;
- $result .= chr ( ord ( $string [$i] ) ^ ($box [($box [$a] + $box [$j]) % 256]) );
- }
- if ($operation == 'DECODE') {
- if ((substr ( $result, 0, 10 ) == 0 || substr ( $result, 0, 10 ) - time () > 0) && substr ( $result, 10, 16 ) == substr ( md5 ( substr ( $result, 26 ) . $keyb ), 0, 16 )) {
- return substr ( $result, 26 );
- } else {
- return '';
- }
- } else {
- return $keyc . str_replace ( '=', '', base64_encode ( $result ) );
- }
- }
- // 检测手机格式
- function checkMobile($mobile) {
- if(preg_match("/^1[34578]{1}\d{9}$/",$mobile)){
- return TRUE;
- } else {
- return FALSE;
- }
- }
- function checkMail($mail) {
- //if (preg_match("/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9\-\.])+/", $mail))
- if (filter_var($mail, FILTER_VALIDATE_EMAIL))
- return true;
- else
- return false;
- }
-
-
- }
- ?>
|