⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functions.php

📁 太烦了
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php/**Generic PHP functions. Please only put general-use PHP functionsin this file. Feature-specific functions should be kept local tothe particular feature.*//** * Splits set of sql queries into an array */function splitSql($sql){    $sql = preg_replace("/\r/s", "\n", $sql);    $sql = preg_replace("/[\n]{2,}/s", "\n", $sql);    $lines = explode("\n", $sql);    $queries = array();    $inQuery = 0;    $i = 0;    foreach ($lines as $line) {        $line = trim($line);        if (!$inQuery) {            if (preg_match("/^CREATE/i", $line)) {                $inQuery = 1;                $queries[$i] = $line;            }            elseif (!empty($line) && $line[0] != "#") {                $queries[$i] = preg_replace("/;$/i", "", $line);                $i++;            }        }        elseif ($inQuery) {            if (preg_match("/^[\)]/", $line)) {                $inQuery = 0;                $queries[$i] .= preg_replace("/;$/i", "", $line);                $i++;            }            elseif (!empty($line) && $line[0] != "#") {                $queries[$i] .= $line;            }        }    }    return $queries;}function parseInsertSql( $sql, $table, &$fields, &$values ) {      $sql = trim( $sql );      if ( empty( $sql ) || $sql[0] == '#' )          return false;      $sql = str_replace( '[prefix]_', DB_PREFIX.'_', $sql );      $pattern = '/insert\s+into\s+`?'.$table.'`?\s+\((.*?)\)\s+values\s+\((.*?)\)\s*$/i';      if ( !preg_match( $pattern, $sql, $matches ) )          return false;      $tempFields = split( ',', trim( $matches[1], ' ' ) );      foreach ( $tempFields as $field ) {          $fields[] = trim( $field, ' `' );      }      $tempValues = split( ',', trim( $matches[2], ' ' ) );      $value = '';      for ( $i=0, $n=count( $tempValues ); $i<$n; $i++ ) {          $value .= $tempValues[$i];          if ( (substr_count( $value, '\'' ) - substr_count( $value, '\\\'' )) % 2 == 0 ) {              $values[] = trim( $value, " '" );              $value = '';          } else {              $value .= ',';          }      }      return true;}/** * retrieves the user's browser type */function getUserBrowser(){    global $HTTP_USER_AGENT, $_SERVER;    if (!empty($_SERVER['HTTP_USER_AGENT'])) {        $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];    }    elseif (getenv("HTTP_USER_AGENT")) {        $HTTP_USER_AGENT = getenv("HTTP_USER_AGENT");    }    elseif (empty($HTTP_USER_AGENT)) {        $HTTP_USER_AGENT = "";    }    if (eregi("MSIE ([0-9].[0-9]{1,2})", $HTTP_USER_AGENT, $regs)) {        $browser['agent'] = 'MSIE';        $browser['version'] = $regs[1];    }    elseif (eregi("Mozilla/([0-9].[0-9]{1,2})", $HTTP_USER_AGENT, $regs)) {        $browser['agent'] = 'MOZILLA';        $browser['version'] = $regs[1];    }    elseif (eregi("Opera(/| )([0-9].[0-9]{1,2})", $HTTP_USER_AGENT, $regs)) {        $browser['agent'] = 'OPERA';        $browser['version'] = $regs[2];    }    else {        $browser['agent'] = 'OTHER';        $browser['version'] = 0;    }    return $browser['agent'];}// possibly eliminate?function getNewWindowHref( $href, $width, $height ) {    $uw = $width + 10;    $uh = $height + 20;    return "javascript:launchCentered( '$href', $uw, $uh, 'resizable=no,scrollbars=no' );";}/** * Appends array $source to the end of array $dest */function array_append( $dest, $source ) {    $n = count( $dest );    $n1 = count( $source );    for ( $index=$n; $index<$n+$n1; $index++ ) {        $dest[$index] = $source[$index-$n];    }    return $dest;}/** * Determines if GD library is installed */function gdInstalled() {    return function_exists( 'gd_info' );}function getSetting( $name, $default=NULL ) {    global $db, $site, $moduleKey;    $value = $db->getOne( 'select value from '.MODULESETTINGS_TABLE." where name='$name' and site_key='$site' and module_key='$moduleKey'" );    return isset( $value ) ? $value : $default;}function cut( $value, $len ) {    return ( strlen($value) > $len ) ? substr( $value, 0, $len - 1) .'...' : $value;}/*** This will remove HTML tags, javascript sections* and white space. It will also convert some* common HTML entities to their text equivalent.* $conent should contain an HTML document.* From PHP Manual.*/function stripHTMLTags( $content ) {    $search = array ("'<script[^>]*?>.*?</script>'si",  // Strip out javascript                     "'<\s*br\s*(\/)?>'i",              // Replace brs to spaces                     "'<[\/\!]*?[^<>]*?>'si",           // Strip out html tags                     "'([\r\n])[\s]+'",                 // Strip out white space                     "'&(quot|#34);'i",                 // Replace html entities                     "'&(amp|#38);'i",                     "'&(lt|#60);'i",                     "'&(gt|#62);'i",                     "'&(nbsp|#160);'i",                     "'&(iexcl|#161);'i",                     "'&(cent|#162);'i",                     "'&(pound|#163);'i",                     "'&(copy|#169);'i",                     "'&#(\d+);'");    $replace = array ("",                      " ",                      "",                      "\\1",                      "\"",                      "&",                      "<",                      ">",                      " ",                      chr(161),                      chr(162),                      chr(163),                      chr(169),                      "chr(\\1)");    $content = preg_replace ($search, $replace, $content);    return $content;}if (!function_exists('CopyFiles')) {	function CopyFiles($fromdir, $todir, $recursed = 1 ) {		if ($fromdir == "" or !is_dir($fromdir)) {			echo ('Invalid directory');			return false;		}		if ($todir == "") {			echo('Output Directory name is missing');			return false;		}		if (!file_exists($todir)) {			mkdir($todir);		}		$filelist = array();		$dir = opendir($fromdir);		while($file = readdir($dir)) {			if($file == "." || $file == ".." || $file == 'Thumbs.db' || $file == 'readme.txt' || $file == 'index.html' || $file == 'index.htm') {				continue;			} elseif (is_dir($fromdir."/".$file)) {				if ($recursed == 1) {					$temp = CopyFiles($fromdir."/".$file, $todir."/".$file, $recursed);				}			} elseif (file_exists($fromdir."/".$file)) {				/* copy($fromdir."/".$file, $todir."/".$file); */				/* Trying to overcome the issue of installation on some				   systems where copy command may be issuing some unwanted checks.  */				$data = file_get_contents($fromdir."/".$file);				$fout = fopen($todir."/".$file,'wb');				$fx = fwrite($fout, $data);				fclose($fout);			}		}		closedir($dir);		return true;	}}function getStates ($countrycode='US', $all='Y', $order='name') {	$states = array();	global $db;	$sql = 'select code, name  from ! where countrycode = ? order by !';	$recs = $db->getAll($sql, array( STATES_TABLE, $countrycode, $order ) );	if (count($recs) <= 0) return $states;	foreach ($recs as $rec) {		$states[$rec['code']] = $rec['name'];	}	$recs = $states;	$states=array();	if ($all == 'Y') {		$states['AA'] = ($recs['AA']!='')?$recs['AA']:'All States';	}	foreach ($recs as $key => $val) {//		if ($key != 'AA') {			$states[$key] = $val;//		}	}	return $states;}function getCounties ($countrycode='US', $statecode = 'AA', $all='Y', $order='name') {	$counties = array();	global $db;	if ($statecode == 'AA') {		$sql = 'select code, name from ! where countrycode = ? and statecode <> ? order by !';	} else {		$sql = 'select code, name from ! where countrycode = ? and statecode = ? order by !';	}	$recs = $db->getAll($sql, array( COUNTIES_TABLE, $countrycode, $statecode, $order ) );	if (count($recs) <= 0) return $counties;	foreach ($recs as $rec) {		$counties[$rec['code']] = $rec['name'];	}	$recs = $counties;	$counties=array();	if ($all == 'Y') {		$counties['AA'] = ($recs['AA']!='')?$recs['AA']:'All Counties/Districts';	}	foreach ($recs as $key => $val) {//		if ($key != 'AA') {			$counties[$key] = $val;//		}	}	return $counties;}function getCities ($countrycode='US', $statecode = 'AA', $countycode = 'AA', $all='Y', $order='name') {	$cities = array();	global $db;	if ($countycode == 'AA') {	 	$sql = 'select code, name from ! where countrycode = ? and statecode = ? and countycode <> ? order by !';	} else {	 	$sql = 'select code, name from ! where countrycode = ? and statecode = ? and countycode = ? order by !';	}	$recs = $db->getAll($sql, array( CITIES_TABLE, $countrycode, $statecode, $countycode, $order ) );	if (count($recs) <= 0) return $cities;	foreach ($recs as $rec) {		$cities[$rec['code']] = $rec['name'];	}	$recs = $cities;	$cities=array();	if ($all == 'Y') {		$cities['AA'] = ($recs['AA']!='')?$recs['AA']:'All Cities/Towns';	}	foreach ($recs as $key => $val) {//		if ($key != 'AA') {			$cities[$key] = $val;//		}	}	return $cities;}function getCityName($countrycode = 'US', $statecode, $citycode, $countycode = null) {	global $db;	if ($countycode != '') {		$sql = "select name from ! where countrycode = ? and statecode = ? and code = ? and countycode = ? ";		$cityname = $db->getOne($sql, array(CITIES_TABLE, $countrycode, $statecode, $citycode, $countycode ) );	} else {		$sql = "select name from ! where countrycode = ? and statecode = ? and code = ? and countycode is null ";		$cityname = $db->getOne($sql, array(CITIES_TABLE, $countrycode, $statecode, $citycode ) );	}	if ($cityname == '' || !isset($cityname) ) $cityname = $citycode;	return $cityname;}function getZipcodes ($countrycode='US', $statecode = 'AA', $countycode = 'AA', $citycode = 'AA', $all='Y', $order='code') {	$zipcodes = array();	global $db;	if ($citycode == 'AA') {		$sql = 'select code, code as cd1 from ! where countrycode = ? and statecode = ? and countycode = ? and citycode <> ? order by code';	} else {		$sql = 'select code, code as cd1  from ! where countrycode = ? and statecode = ? and countycode = ? and citycode = ? order by code';	}	$recs = $db->getAll($sql, array( ZIPCODES_TABLE, $countrycode, $statecode, $countycode, $citycode) );	if (count($recs) <= 0) return $zipcodes;	foreach ($recs as $rec) {		$zipcodes[$rec['code']] = $rec['cd1'];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -