<?php
/**
* Front page base class
*/
class WebLoginBase extends WebBase{
public $type;
public $ groupId;
public $played;
public $NO;
public $gameFanDian;
function __construct($dsn, $user='', $password=''){
session_start();
if(!$_SESSION[$this->memberSessionName]){
header('location: /user/logout');
exit('You are not logged in');
}
try{
parent::__construct($dsn, $user, $password);
//$this->gameFanDian=$this->getValue("select fanDian from {$this->prename}members where uid=?", $GLOBALS['SUPER-ADMIN-UID']);
// Limit the same user to only log in in one place
if(!$this->getValue("select isOnLine from ssc_member_session where uid={$this->user['uid']} and session_key=? order by id desc limit 1", session_id()) ){
session_unset();
session_destroy();
header('location: /user/logout');
exit('You Already logged out, please log in again');
}
/*$session_key=$this->getValue("select session_key from ssc_member_session where uid={$this->user ['uid']} and isOnLine=1 order by id desc limit 1");
if($session_key != session_id()){
header('location: /user/ logout');
exit('You have logged out, please log in again');
}*/
}catch(Exception $ e){
}
}
public function freshSession(){
if(!$this->user ) return false;
$sessionId=$this->user['sessionId'];
if($this->user['testFlag']==1){
$sql="select * from {$this->prename}guestmembers where uid=?";
}else{
$sql="select * from { $this->prename}members where uid=?";
}
$user=$this->getRow($sql, $this->user['uid' ]);
$user['sessionId']=$sessionId;
$user['_gameFanDian']=$this->getGameFanDian();
$ _SESSION[$this->memberSessionName]=serialize($user);
$this->user=$user;
return true;
}
public function getGameFanDian(){
if($this->gameFanDian) return $this->gameFanDian;
$this-> getSystemSettings();
return $this->gameFanDian=$this->settings['fanDianMax'];
}
## public function getSystemSettings($expire=null){ if($expire===null) $expire=$this->expire; $file=$this->cacheDir . 'systemSettings'; if($expire && is_file($file) && filemtime($file) $expire>$this->time){ return $this->settings =unserialize(file_get_contents($file));}
$sql="select * from {$this->prename}params";
$this->settings=array() ;
if($data=$this->getRows($sql)){
foreach($data as $var){
$this-> settings[$var['name']]=$var['value'];
}
}
file_put_contents($file, serialize($this-> ;settings));
return $this->settings;
}
public function getSystemCache($cacheFile,$getvalue='',$expire=null){
if($expire < 30) $expire=$this->expire;
$ abbl=$cacheFile=='staticdata/gamedatas.php';
$file=$abbl?$this->cacheDir.'/partNameList.dump':($this->cacheDir. '/ systemplayed'.$getvalue.'_'.md5($cacheFile));
//The cache file exists and is no more than 10 hours old, use it directly The cached result set no longer performs any MySQL queries
if($expire && is_file($file) && time()-filemtime($file) < $expire) {
//Use the results in the cache
if($abbl){
$parts=file_get_contents($this->cacheDir.'/partNameList.dump');
$cached='';
foreach(json_decode($parts,1) as $part){
$cached.=file_get_contents ($part).';';
}
echo $cached;
}else{
echo file_get_contents($file);
}
}else{
//Cache the result set
ob_start();
$this ->display($cacheFile);
$ob=ob_get_contents();
if($abbl){
$obs=explode(';',$ob);
array_pop($obs);
$partNameList=array( );
foreach($obs as $cached){
$part=explode('=',str_replace('var','',$cached) );
$partNameList[]=$this->cacheDir.'/'.trim($part[0]);
file_put_contents(end($partNameList),$cached);
}
file_put_contents($this->cacheDir.'/partNameList.dump',json_encode( $partNameList));
}else{
file_put_contents($file,$ob);
}
ob_end_flush();
}
}
/* public function delete_file($str){
$dir=$this->cacheDir;
$list = scandir($dir); // Get all files and folders under the file
foreach($list as $file){//Traverse
$ file_location=$dir."/".$file;//Generate path
if(is_dir($file_location) && $file!="." &&$file!=".."){ // Determine whether it is a folder
//echo "------------------------sign in $file_location------- -----------";
//delete_file($file_location); //Continue traversing
}else if($file!="."&&$file!=".."){
if(substr_count($file,$str)>0){//If file The name contains the string
unlink($dir."/".$file);
}
}
}
}
public function setcachefile($cacheFile, $getvalue){
$file=$this->cacheDir. '/'.md5($getvalue.$cacheFile);
$actionTime=$this->getGameCachetime($getvalue);
$cachefiletime=strtotime($actionTime);
$file=$file.'_'.$ cachefiletime;
if(is_file($file)) {
echo file_get_contents($file);
}else{
//Delete expired cache
$this->delete_file(md5($getvalue.$cacheFile));
//Cache the result set
ob_start();
$this->display($cacheFile);
file_put_contents($file,ob_get_contents());
ob_end_flush();
}
}*/
## /** * Changes in user funds * * Please use in a transaction*/ public function addCoin($log){ if(!isset($log['uid'])) $log['uid']=$this->user['uid']; if(!isset($log['info '])) $log['info']=''; if(!isset($log['coin'])) $log['coin']=0; if(!isset($log['type'])) $log['type']=0; if(!isset($log['fcoin'])) $log['fcoin ']=0; if(!isset($log['extfield0'])) $log['extfield0']=0; if(!isset($log[' extfield1'])) $log['extfield1']=''; if(!isset($log['extfield2'])) $log['extfield2']='';$sql="call setCoin({$log['coin']}, {$log['fcoin']}, {$log['uid']}, {$log[ 'liqType']}, {$log['type']}, '{$log['info']}', {$log['extfield0']}, '{$log['extfield1']}', '{$log['extfield2']}')"; //echo $sql;exit; $this->insert($sql) ; } public function guestaddCoin($log){ if(!isset($log['uid'])) $log ['uid']=$this->user['uid']; if(!isset($log['info'])) $log['info']=''; if(!isset($log['coin'])) $log['coin']=0; if(!isset($log['type'])) $ log['type']=0; if(!isset($log['fcoin'])) $log['fcoin']=0; if(!isset( $log['extfield0'])) $log['extfield0']=0; if(!isset($log['extfield1'])) $log['extfield1']=''; if(!isset($log['extfield2'])) $log['extfield2']='';
$sql="call guestsetCoin({$log['coin']}, {$log['fcoin']}, {$log['uid']}, {$log['liqType']}, {$log['type']}, '{$log['info']}', {$log['extfield0']}, '{$log['extfield1']}', '{$log['extfield2']}')";
//echo $sql;exit;
$this->insert($sql);
}
/**
* Read available rebates
*/
public function getFanDian($uid=null){
if($uid===null){
if(!$uid=$this->user['parentId']){
return $this->params['basePl'];
}
}
return $this->getValue("select fanDian from {$this->prename}members where parentId=?", intval($uid));
}
}
Direct access without logging in will be unsafe.
Do you want to allow everyone to enter without logging in, or do you want to do it only for yourself without logging in?
Let me give you an idea:
1. If no one logs in, just remove the user judgment.
2. There are two ways to prevent you from logging in:
1. If your IP address is fixed, you can judge that the ip address is your address and enter directly.
2. You can make a page specifically, use it yourself, enter this page, and automatically log in to enter.