Psyduck - 可達鴨 之 鴨力山大
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 */