File "skh.php"

Full path: /home/sokha/public_html/bokormarathon.com.kh/bk_v1_18082023/skh.php
File size: 5.23 B (5.23 KB bytes)
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php
ini_set('display_errors', 1);
//ini_set('display_startup_errors', 0);
//error_reporting(E_ALL);
class SKH{
	private $host = "";
	private $password = "";
	private $username = "";
	private $database = "";
	public $conn = "";
	public function __construct(){
		// initialize connection
		//$this->host = "localhost";
		//$this->username = "root";
		//$this->password = "root";
		//$this->database = "bokor_booking";
		$this->host = "localhost";
		$this->username = "sokha_samedy";
		$this->database = "sokha_sokhahotel";
		$this->password = "*ya[Bp43J+Ue";
	}
	/*
	** function connectDB() to connect to Database
	*/
	public function connectDB(){
		$this->conn = mysqli_connect($this->host,$this->username,$this->password) or die("ERROR: Connect Database Failed!!!");
		mysqli_select_db($this->conn,$this->database) or die("ERROR: Database Not Found!!!");
		return $this ->conn;
	}
	/*
	** function closeDB() to disconnect from Database
	*/
	public function closeDB(){
		mysqli_close($this->conn);	
	}

	public function test(){
		$this->connectDB();
		mysqli_query($this->conn,'Set Names `utf8`');
		$sql= 'select * from marathon limit 10';
		$result = $this->query($sql);
		print_r($result); die();
		$this->closeDB();
	}

	/*
	** Function data() to return data after submit
	*/
	public function data(){
		//return $_POST['data'];
		foreach($_POST['data'] as $table => $fields){
			foreach($fields as $field => $value){
				if(!isset($this->data[$table][$field])){
					$this->data[$table][$field] = $value;
				}
			}
		}
		return $this->data;
	}

	/*
	** Function query() to execute SQL : Insert, Update, Delete, Select
	** Optional Parameter
	*/
	public function query($sql = "",$show_query = true){
		$timezone = "Asia/Bangkok";
		if(function_exists('date_default_timezone_set')) date_default_timezone_set($timezone);
		if(!empty($sql)){
			$help = 0;
			$this->connectDB();
			mysqli_query($this->conn,'Set Names `utf8`');
			if(!$show_query) die($sql);
			
			$result = mysqli_query($this->conn,$sql) or die("ERROR: " . mysqli_error($this->conn));
			if( mysqli_insert_id($this->conn) == 0 && @mysqli_num_rows($result) != ""){
				$list = array();
				while($row = mysqli_fetch_object($result)){
					$list[] = $row;
				}				
				$this->closeDB();
				return $list;
			}else{
				$t = array();
				if(mysqli_insert_id($this->conn) == 0){
					if(mysqli_affected_rows($this->conn) != 0){
						$t = mysqli_affected_rows($this->conn);
					}else $t = array();
				}else $t = mysqli_insert_id($this->conn);
				//return mysql_insert_id() == 0?mysql_affected_rows():mysql_insert_id();
				return $t;	
			}
		}
		return array();
	}

	public function save($data = array(),$show_query = true){//pr($data);
		$sql = "INSERT INTO ";
		foreach($data as $table => $fields){
			$sql .= "`" . $table . "` SET ";
			$f = "";
			foreach($fields as $field_name => $field_value){				
				$f .= "`" . $field_name . "` = '" . $this->escape_string($field_value) . "',";										
			}
			if(!$show_query)
				die($sql . $f . " `created` = NOW(), `modified` = NOW()");
			return($this->query($sql . $f . " `created` = NOW(), `modified` = NOW()"));
		}		
	}

	public function update($data = array(), $modified_field = true, $show_query = true){
		$sql = "UPDATE ";
		foreach($data as $table => $fields){
			$sql .= "`" . $table . "` SET ";
			if(isset($data[$table]['id'])){
				$f = "";
				foreach($fields as $field_name => $field_value){
					$f .= "`" . $field_name . "` = '" . $this->escape_string($field_value) . "',";
				}
				if($modified_field){
					if(!$show_query)
						die($sql . $f . " `modified` = NOW() WHERE `id` ='" . $data[$table]['id'] . "'");
					return($this->query($sql . $f . " `modified` = NOW() WHERE `id` ='" . $data[$table]['id'] . "'"));
				}else{
					if(!$show_query)
						die($sql . rtrim($f,",") . " WHERE `id` ='" . $data[$table]['id'] . "'");
					return($this->query($sql . rtrim($f,',') .  " WHERE `id` ='" . $data[$table]['id'] . "'" ));
				}
			}else{
				return 0;
			}
		}
	}

	public function escape_string($string = ''){
		$conn = $this->connectDB();
		return mysqli_escape_string($conn,$string);
	}

	function pr($array = array()){
		echo '<pre>';
		print_r($array);
		echo '</pre>';
	}

	function isPhoneNumber($str = ""){
		if($str == "") return true;
		//$pattern = "/^[()0-9-+\s]+$/";
		$pattern = "/^\(?\+?([0-9]{1,4})\)?[-\. ]?[0-9]{8,10}$/";
		if(preg_match($pattern,$str)) return true;
		else return false;
	}
	function isEmail($str = ""){
		$pattern = "/^([a-zA-Z0-9_\.\-]+\@([a-zA-Z0-9\-]+\.)+[a-zA-Z0-9]{2,4})?$/";
		if(preg_match($pattern,$str)) return true;
		else return false;
	}
	function isNumber($str = ""){
		$pattern = "/^[0-9]+$/";
		if(preg_match($pattern,$str)) return true;
		else return false;
	}
	function isDateTime($str = "",$noTime = true){//Wed, 19-Jun-2013 08:40:54 AM
		if($noTime){
			$pattern = "/^[a-z]+,\s[0-9]{1,2}-[a-z0-9]{2,4}-[0-9]{2,4}|^[0-9]{1,2}-[a-z0-9]{2,4}-[0-9]{2,4}|[0-9]{4}-[0-9]{2}-[0-9]{2}/i";
		}
		else{ 
			$pattern = "/^[a-z]+,\s[0-9]{1,2}-[a-z0-9]{2,4}-[0-9]{2,4}\s[0-9]{2}:[0-9]{2}:[0-9]{2}\s[amp]{2}$|^[0-9]{1,2}-[a-z0-9]{2,4}-[0-9]{2,4}\s[0-9]{2}:[0-9]{2}:[0-9]{2}\s[amp]{2}$|[0-9]{4}-[0-9]{2}-[0-9]{2}|^[a-z]+,\s[0-9]{1,2}-[a-z0-9]{2,4}-[0-9]{2,4}\s[0-9]{2}:[0-9]{2}\s[amp]{2}$/i";		
		}
		if(preg_match($pattern,$str)) return true;
		else return false;
	}
}
?>