diff --git a/_lp/core/lib/core.function.php b/_lp/core/lib/core.function.php index 5861818..d9e39bc 100644 --- a/_lp/core/lib/core.function.php +++ b/_lp/core/lib/core.function.php @@ -226,7 +226,7 @@ function load( $file_path ) if( defined('SAE_APPNAME') ) include_once( CROOT . 'lib/db.sae.function.php' ); else - include_once( CROOT . 'lib/db.function.php' ); + include_once( CROOT . 'lib/mysqli.function.php' ); if (!function_exists('_')) { diff --git a/_lp/core/lib/core.function.php~ b/_lp/core/lib/core.function.php~ new file mode 100644 index 0000000..5861818 --- /dev/null +++ b/_lp/core/lib/core.function.php~ @@ -0,0 +1,273 @@ + $value) { + if (is_array($value)) { + $decodedKey = ($isMagic && !$aIsTopLevel)?stripslashes($key):$key; + $decodedValue = transcribe($value, false); + } else { + $decodedKey = stripslashes($key); + $decodedValue = ($isMagic)?stripslashes($value):$value; + } + $gpcList[$decodedKey] = $decodedValue; + } + return $gpcList; +} + +$_GET = transcribe( $_GET ); +$_POST = transcribe( $_POST ); +$_REQUEST = transcribe( $_REQUEST ); + + +function v( $str ) +{ + return isset( $_REQUEST[$str] ) ? $_REQUEST[$str] : false; +} + +function z( $str ) +{ + return strip_tags( $str ); +} + +function c( $str ) +{ + return isset( $GLOBALS['config'][$str] ) ? $GLOBALS['config'][$str] : false; +} + +function g( $str ) +{ + return isset( $GLOBALS[$str] ) ? $GLOBALS[$str] : false; +} + +function t( $str ) +{ + return trim($str); +} + +function u( $str ) +{ + return urlencode( $str ); +} + +// render functiones +function render( $data = NULL , $layout = NULL , $sharp = 'default' ) +{ + if( $layout == null ) + { + if( is_ajax_request() ) + { + $layout = 'ajax'; + } + elseif( is_mobile_request() ) + { + $layout = 'mobile'; + } + else + { + $layout = 'web'; + } + } + + $GLOBALS['layout'] = $layout; + $GLOBALS['sharp'] = $sharp; + + $layout_file = AROOT . 'view/layout/' . $layout . '/' . $sharp . '.tpl.html'; + if( file_exists( $layout_file ) ) + { + @extract( $data ); + require( $layout_file ); + } + else + { + $layout_file = CROOT . 'view/layout/' . $layout . '/' . $sharp . '.tpl.html'; + if( file_exists( $layout_file ) ) + { + @extract( $data ); + require( $layout_file ); + } + } +} + +function ajax_echo( $info ) +{ + if( !headers_sent() ) + { + header("Content-Type:text/html;charset=utf-8"); + header("Expires: Thu, 01 Jan 1970 00:00:01 GMT"); + header("Cache-Control: no-cache, must-revalidate"); + header("Pragma: no-cache"); + } + + echo $info; +} + + +function info_page( $info , $title = '系统消息' ) +{ + if( is_ajax_request() ) + $layout = 'ajax'; + else + $layout = 'web'; + + $data['top_title'] = $data['title'] = $title; + $data['info'] = $info; + + render( $data , $layout , 'info' ); + +} + +function is_ajax_request() +{ + $headers = apache_request_headers(); + return (isset( $headers['X-Requested-With'] ) && ( $headers['X-Requested-With'] == 'XMLHttpRequest' )) || (isset( $headers['x-requested-with'] ) && ($headers['x-requested-with'] == 'XMLHttpRequest' )); +} + +if (!function_exists('apache_request_headers')) +{ + function apache_request_headers() + { + foreach($_SERVER as $key=>$value) + { + if (substr($key,0,5)=="HTTP_") + { + $key=str_replace(" ","-",ucwords(strtolower(str_replace("_"," ",substr($key,5))))); + $out[$key]=$value; + } + else + { + $out[$key]=$value; + } + } + + return $out; + } +} + +function is_mobile_request() +{ + $_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER['ALL_HTTP'] : ''; + + $mobile_browser = '0'; + + if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) + $mobile_browser++; + + if((isset($_SERVER['HTTP_ACCEPT'])) and (strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') !== false)) + $mobile_browser++; + + if(isset($_SERVER['HTTP_X_WAP_PROFILE'])) + $mobile_browser++; + + if(isset($_SERVER['HTTP_PROFILE'])) + $mobile_browser++; + + $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4)); + $mobile_agents = array( + 'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac', + 'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno', + 'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-', + 'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-', + 'newt','noki','oper','palm','pana','pant','phil','play','port','prox', + 'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar', + 'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-', + 'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp', + 'wapr','webc','winw','winw','xda','xda-' + ); + + if(in_array($mobile_ua, $mobile_agents)) + $mobile_browser++; + + if(strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false) + $mobile_browser++; + + // Pre-final check to reset everything if the user is on Windows + if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows') !== false) + $mobile_browser=0; + + // But WP7 is also Windows, with a slightly different characteristic + if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows phone') !== false) + $mobile_browser++; + + if($mobile_browser>0) + return true; + else + return false; +} + +function uses( $m ) +{ + load( 'lib/' . basename($m) ); +} + +function load( $file_path ) +{ + $file = AROOT . $file_path; + if( file_exists( $file ) ) + { + //echo $file; + require( $file ); + + } + else + { + //echo CROOT . $file_path; + require( CROOT . $file_path ); + } + +} + +// =========================================== +// load db functions +// =========================================== +if( defined('SAE_APPNAME') ) + include_once( CROOT . 'lib/db.sae.function.php' ); +else + include_once( CROOT . 'lib/db.function.php' ); + +if (!function_exists('_')) +{ + function _( $string , $data = null ) + { + if( !isset($GLOBALS['i18n']) ) + { + $c = c('default_language'); + if( strlen($c) < 1 ) $c = 'zh_cn'; + + $lang_file = AROOT . 'local' . DS . basename($c) . '.lang.php'; + if( file_exists( $lang_file ) ) + { + include_once( $lang_file ); + $GLOBALS['i18n'] = $c; + } + else + $GLOBALS['i18n'] = 'zh_cn'; + + + } + + //print_r( $GLOBALS['language'][$GLOBALS['i18n']] ); + + + + if( isset( $GLOBALS['language'][$GLOBALS['i18n']][$string] ) ) + $to = $GLOBALS['language'][$GLOBALS['i18n']][$string]; + else + $to = $string; + + if( $data == null ) + return $to; + else + { + if( !is_array( $data ) ) $data = array( $data ); + return vsprintf( $to , $data ); + } + + } +} + + + diff --git a/_lp/core/lib/mysqli.function.php b/_lp/core/lib/mysqli.function.php new file mode 100755 index 0000000..f7d0c9a --- /dev/null +++ b/_lp/core/lib/mysqli.function.php @@ -0,0 +1,146 @@ +$v ) + $array[$k] = s($v ); + + $reg = '/\?([is])/i'; + $sql = preg_replace_callback( $reg , 'prepair_string' , $sql ); + $count = count( $array ); + for( $i = 0 ; $i < $count; $i++ ) + { + $str[] = '$array[' .$i . ']'; + } + + $statement = '$sql = sprintf( $sql , ' . join( ',' , $str ) . ' );'; + eval( $statement ); + return $sql; + +} + +function prepair_string( $matches ) +{ + if( $matches[1] == 's' ) return "'%s'"; + if( $matches[1] == 'i' ) return "'%d'"; +} + + + +function get_data( $sql , $db = NULL ) +{ + if( $db == NULL ) $db = db(); + + $GLOBALS['LP_LAST_SQL'] = $sql; + $data = Array(); + $i = 0; + $result = mysqli_query( $db,$sql ); + if( mysqli_errno($db) != 0 ) + echo mysqli_error($db) .' ' . $sql; + while( $Array = mysqli_fetch_array($result, MYSQL_ASSOC ) ) + { + $data[$i++] = $Array; + } + if( mysqli_errno($db) != 0 ) + echo mysqli_error($db) .' ' . $sql; + + mysqli_free_result($result); + + if( count( $data ) > 0 ) + return $data; + else + return false; + +} + +function get_line( $sql , $db = NULL ) +{ + $data = get_data( $sql , $db ); + return @reset($data); +} + +function get_var( $sql , $db = NULL ) +{ + $data = get_line( $sql , $db ); + return $data[ @reset(@array_keys( $data )) ]; +} + +function last_id( $db = NULL ) +{ + if( $db == NULL ) $db = db(); + return get_var( "SELECT LAST_INSERT_ID() " , $db ); +} + +function run_sql( $sql , $db = NULL ) +{ + if( $db == NULL ) $db = db(); + $GLOBALS['LP_LAST_SQL'] = $sql; + return mysqli_query( $db, $sql ); +} + +function db_errno( $db = NULL ) +{ + if( $db == NULL ) $db = db(); + return mysqli_errno( $db ); +} + +function db_error( $db = NULL ) +{ + if( $db == NULL ) $db = db(); + return mysqli_error( $db ); +} + +function last_error() +{ + if( isset( $GLOBALS['LP_DB_LAST_ERROR'] ) ) + return $GLOBALS['LP_DB_LAST_ERROR']; +} + +function close_db( $db = NULL ) +{ + if( $db == NULL ) + $db = $GLOBALS['LP_DB']; + + unset( $GLOBALS['LP_DB'] ); + mysqli_close( $db ); +} \ No newline at end of file diff --git a/config/db.config.php~ b/config/db.config.php~ new file mode 100644 index 0000000..b32c538 --- /dev/null +++ b/config/db.config.php~ @@ -0,0 +1,23 @@ +