Psyduck - 可達鴨 之 鴨力山大

Current Path : home/irplbiz/public_html/smartpowerci/system/libraries/
Upload File :
Current File : /home/irplbiz/public_html/smartpowerci/system/libraries/Functions.php

<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');

class CI_Functions
{

	/**
	 * Constructor
	 */
    function CI_Functions()
    {
        $this->obj =& get_instance();
    }
	
	
		function change_dateformat_reverse($param)
		{
		
			 $date=explode("-",$param);
			
			 $dateformat=$date[2]."-".$date[1]."-".$date[0];
			
			 return $dateformat;
		
		}
		
		function checkAdmin($section_name)
		{
			$UserID = $this->obj->nsession->userdata('user_id');
			if(!$UserID)
			{
				$cookie = array(
					'name' => 'admin_referer_path',
					'value' => $section_name,
					'expire' => '86500',
					'domain' => '',
					'path' => '/',
					'prefix' => '',
				);
				set_cookie($cookie);
				redirect(base_url().'login/');
			}
			return true;
		}
		
		function getNameTable($table,$col,$field='',$value='',$field1='',$value1='',$field2='',$value2='')
		{
			$query="SELECT ".$col." FROM ".$table." WHERE 1 ";
			if($field!='' && $value!='')
			{
			  $query.="AND ".$field."='".$value."' ";
			}
			if($field1!='' && $value1!='')
			{
			  $query.="AND ".$field1."='".$value1."' ";
			}
			if($field2!='' && $value2!='')
			{
			  $query.="AND ".$field2."='".$value2."' ";
			}
			$recordSet = $this->obj->db->query($query);
			//echo $this->obj->db->last_query();
			if($recordSet->num_rows() > 0)
			{
				$row = $recordSet->row_array();
				return $row[$col];
			}
			else
			{
				return "";
			}
		}
		
		function getBrowser() 
		{ 
			$u_agent = $_SERVER['HTTP_USER_AGENT']; 
			$bname = 'Unknown';
			$platform = 'Unknown';
			$version= "";
		
			//First get the platform?
			if (preg_match('/linux/i', $u_agent)) {
				$platform = 'linux';
			}
			elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
				$platform = 'mac';
			}
			elseif (preg_match('/windows|win32/i', $u_agent)) {
				$platform = 'windows';
			}
			
			// Next get the name of the useragent yes seperately and for good reason
			if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) 
			{ 
				$bname = 'Internet Explorer'; 
				$ub = "MSIE"; 
			} 
			elseif(preg_match('/Firefox/i',$u_agent)) 
			{ 
				$bname = 'Firefox'; 
				$ub = "Firefox"; 
			} 
			elseif(preg_match('/Chrome/i',$u_agent)) 
			{ 
				$bname = 'Google Chrome'; 
				$ub = "Chrome"; 
			} 
			elseif(preg_match('/Safari/i',$u_agent)) 
			{ 
				$bname = 'Apple Safari'; 
				$ub = "Safari"; 
			} 
			elseif(preg_match('/Opera/i',$u_agent)) 
			{ 
				$bname = 'Opera'; 
				$ub = "Opera"; 
			} 
			elseif(preg_match('/Netscape/i',$u_agent)) 
			{ 
				$bname = 'Netscape'; 
				$ub = "Netscape"; 
			} 
			
			// finally get the correct version number
			$known = array('Version', $ub, 'other');
			$pattern = '#(?<browser>' . join('|', $known) .
			')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
			if (!preg_match_all($pattern, $u_agent, $matches)) {
				// we have no matching number just continue
			}
			
			// see how many we have
			$i = count($matches['browser']);
			if ($i != 1) {
				//we will have two since we are not using 'other' argument yet
				//see if version is before or after the name
				if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
					$version= $matches['version'][0];
				}
				else {
					$version= $matches['version'][1];
				}
			}
			else {
				$version= $matches['version'][0];
			}
			
			// check if we have a number
			if ($version==null || $version=="") {$version="?";}
			
			return array(
				'userAgent' => $u_agent,
				'name'      => $bname,
				'version'   => $version,
				'platform'  => $platform,
				'pattern'    => $pattern
			);
		} 
		
		function get_end_date($mnth,$year)
		{
			$a_date = $year."-".$mnth."-10";
			
			return date("t", strtotime($a_date));
		}
		
		function existRecords($table,$field_name,$field_value,$pk,$pk_value=0,$field_name1="",$field_value1="")
		{
		$query="SELECT COUNT(".$pk.") as CNT FROM ".$table." where ".$field_name."='".$field_value."' ";
		if($field_name1!="" && $field_value1!="")
		{
		$query.=" AND ".$field_name1."='".$field_value1."' ";
		}
		if($pk_value){
			$query.=" AND ".$pk."!='".$pk_value."'";
		}
		//echo $query; exit;
		$recordSet = $this->obj->db->query($query);
		if($recordSet->num_rows() > 0)
		{
			$row = $recordSet->row_array();
			return $row['CNT'];
		}
		else
		{
			return "";
		}
	}

		
	function generateUrl($table,$field_name,$field_value,$pk,$pk_value=0){
		$field_value = preg_replace("[^A-Za-z0-9-]", "", str_replace(array(" "), '-', strtolower($field_value)));

		$existRecords = $this->existRecords($table,$field_name,$field_value,$pk,$pk_value);

		if ($existRecords>0)
		{
			for ($i = 1; $i < 100; $i++)
			{
				$existRecords = $this->existRecords($table,$field_name,$field_value."-".$i,$pk,$pk_value);
				if (!$existRecords)
				{
					$field_value = $field_value."-".$i;
					break;
				}
			}
		}

		$url = strtolower(str_replace("--","-",$field_value));

		return $url;
	}
	
	function clean($string) {
	   $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
	
	   return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
	}
			

}

// END Functions Class

/* End of file functions.php */
/* Location: ./system/libraries/functions.php */