PageRenderTime 56ms CodeModel.GetById 17ms RepoModel.GetById 1ms app.codeStats 0ms

/include/inc_functions.php

https://bitbucket.org/dongyin67/keyin
PHP | 3979 lines | 3443 code | 425 blank | 111 comment | 158 complexity | ba8589b513bd4f90533d74987a690ac9 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. //Æ´ÒôµÄ»º³åÊý×é
  3. $pinyins = Array();
  4. $g_ftpLink = false;
  5. //ÅжÏÈí¼þÓïÑÔ
  6. if( !isset($cfg_ver_lang) ){
  7. if(eregi('utf',$cfg_version)) $cfg_ver_lang = 'utf-8';
  8. else $cfg_ver_lang = 'gb2312';
  9. }
  10. if($cfg_ver_lang=='utf-8') include_once(dirname(__FILE__).'/pub_charset.php');
  11. //¿Í»§¶ËÓë·þÎñʱ¼ä²îУÕý
  12. function mytime()
  13. {
  14. return time();
  15. }
  16. //»ñµÃµ±Ç°µÄ½Å±¾ÍøÖ·
  17. function GetCurUrl(){
  18. if(!empty($_SERVER["REQUEST_URI"])){
  19. $scriptName = $_SERVER["REQUEST_URI"];
  20. $nowurl = $scriptName;
  21. }else{
  22. $scriptName = $_SERVER["PHP_SELF"];
  23. if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
  24. else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
  25. }
  26. return $nowurl;
  27. }
  28. //°ÑÈ«½ÇÊý×ÖתΪ°ë½ÇÊý×Ö
  29. function GetAlabNum($fnum){
  30. if($GLOBALS['cfg_ver_lang']=='utf-8') $fnum = utf82gb($fnum);
  31. $nums = array('£°','£±','£²','£³','£´','£µ','£¶','£·','£¸','£¹','£®','£­','£«','£º');
  32. $fnums = array('0','1', '2','3', '4','5', '6', '7','8', '9','.', '-', '+',':');
  33. $fnlen = count($fnums);
  34. for($i=0;$i<$fnlen;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum);
  35. $slen = strlen($fnum);
  36. $oknum = '';
  37. for($i=0;$i<$slen;$i++){
  38. if(ord($fnum[$i]) > 0x80) $i++;
  39. else $oknum .= $fnum[$i];
  40. }
  41. if($oknum=="") $oknum=0;
  42. return $oknum;
  43. }
  44. //Îı¾×ªHTML
  45. function Text2Html($txt){
  46. $txt = str_replace(" ","¡¡",$txt);
  47. $txt = str_replace("<","&lt;",$txt);
  48. $txt = str_replace(">","&gt;",$txt);
  49. $txt = preg_replace("/[\r\n]{1,}/isU","<br/>\r\n",$txt);
  50. $txt = str_replace("<br/>\r\n<br/>","<br/>",$txt);
  51. return $txt;
  52. }
  53. //»ñµÃHTMLÀïµÄÎı¾
  54. function Html2Text($str){
  55. $str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU",'',$str);
  56. $str = str_replace(array('<br />','<br>','<br/>'), "\n", $str);
  57. $str = strip_tags($str);
  58. return $str;
  59. }
  60. //Çå³ýHTML±ê¼Ç
  61. function ClearHtml($str){
  62. $str = Html2Text($str);
  63. $str = str_replace('<','&lt;',$str);
  64. $str = str_replace('>','&gt;',$str);
  65. return $str;
  66. }
  67. //ÖÐÎĽØÈ¡°ÑË«×Ö½Ú×Ö·ûÒ²¿´×÷Ò»¸ö×Ö·û
  68. function cnw_left($str,$len){
  69. if($GLOBALS['cfg_ver_lang']=='utf-8'){
  70. $str = utf82gb($str);
  71. return gb2utf8(cn_substrGb($str,$slen,$startdd));
  72. }else{
  73. return cnw_mid($str,0,$len);
  74. }
  75. }
  76. function cnw_mid($str,$start,$slen){
  77. if(!isset($GLOBALS['__funString'])) include_once(dirname(__FILE__)."/inc/inc_fun_funString.php");
  78. return Spcnw_mid($str,$start,$slen);
  79. }
  80. //´Ëº¯ÊýÔÚUTF8°æÖв»ÄÜÖ±½Óµ÷ÓÃ
  81. function cn_substrGb($str,$slen,$startdd=0){
  82. $restr = "";
  83. $c = "";
  84. $str_len = strlen($str);
  85. if($str_len < $startdd+1) return "";
  86. if($str_len < $startdd + $slen || $slen==0) $slen = $str_len - $startdd;
  87. $enddd = $startdd + $slen - 1;
  88. for($i=0;$i<$str_len;$i++)
  89. {
  90. if($startdd==0) $restr .= $c;
  91. else if($i > $startdd) $restr .= $c;
  92. if(ord($str[$i])>127){
  93. if($str_len>$i+1) $c = $str[$i].$str[$i+1];
  94. $i++;
  95. }
  96. else{ $c = $str[$i]; }
  97. if($i >= $enddd){
  98. if(strlen($restr)+strlen($c)>$slen) break;
  99. else{ $restr .= $c; break; }
  100. }
  101. }
  102. return $restr;
  103. }
  104. //ÖÐÎĽØÈ¡2£¬µ¥×Ö½Ú½Øȡģʽ
  105. //Èç¹ûÊÇrequestµÄÄÚÈÝ£¬±ØÐëʹÓÃÕâ¸öº¯Êý
  106. function cn_substrR($str,$slen,$startdd=0)
  107. {
  108. $str = cn_substr(stripslashes($str),$slen,$startdd);
  109. return addslashes($str);
  110. }
  111. //ÖÐÎĽØÈ¡2£¬µ¥×Ö½Ú½Øȡģʽ
  112. function cn_substr($str,$slen,$startdd=0){
  113. if($GLOBALS['cfg_ver_lang']=='utf-8'){
  114. $str = utf82gb($str);
  115. return gb2utf8(cn_substrGb($str,$slen,$startdd));
  116. }else{
  117. return cn_substrGb($str,$slen,$startdd);
  118. }
  119. }
  120. ///¼ÆËãÖÐÓ¢ÎÄ»ìºÏ×Ö·û´®µÄ³¤¶È
  121. function ccStrLen($str) #¼ÆËãÖÐÓ¢ÎÄ»ìºÏ×Ö·û´®µÄ³¤È
  122. {
  123. $ccLen=0;
  124. $ascLen=strlen($str);
  125. $ind=0;
  126. $hasCC=ereg("[xA1-xFE]",$str); #ÅÐÏÊÇ·ñÓкº×Ö
  127. $hasAsc=ereg("[x01-xA0]",$str); #ÅÐÏÊÇ·ñÓÐASCII×Ö·û
  128. if($hasCC && !$hasAsc) #Ö»Óкº×ÖµÄÇé¿ö
  129. return strlen($str)/2;
  130. if(!$hasCC && $hasAsc) #Ö»ÓÐAscii×Ö·ûµÄÇé¿ö
  131. return strlen($str);
  132. for($ind=0;$ind<$ascLen;$ind++)
  133. {
  134. if(ord(substr($str,$ind,1))>0xa0)
  135. {
  136. $ccLen++;
  137. $ind++;
  138. }
  139. else
  140. {
  141. $ccLen++;
  142. }
  143. }
  144. return $ccLen;
  145. }
  146. ///´Ó×ó±ß½ØÈ¡ÖÐÓ¢ÎÄ»ìºÏ×Ö·û´®
  147. function ccStrLeft($str,$len,$startdd) #´Ó×ó±ß½ØÈ¡ÖÐÓ¢ÎÄ»ìºÏ×Ö·û´®
  148. {
  149. $ascLen=strlen($str); if($ascLen<=$len) return $str;
  150. $hasCC=ereg("[xA1-xFE]",$str); #ͬÉÏ
  151. $hasAsc=ereg("[x01-xA0]",$str);
  152. if(!$hasCC) return substr($str,0,$len);
  153. if(!$hasAsc)
  154. if($len & 0x01) #Èç¹û³¤ÈÊÇÆæÊý
  155. return substr($str,$startdd,$len+$len-2);
  156. else
  157. return substr($str,$startdd,$len+$len);
  158. $cind=0;$flag=0;
  159. while($cind<$ascLen)
  160. {
  161. if(ord(substr($str,$cind,1))<0xA1) $flag++;
  162. $cind++;
  163. }
  164. if($flag & 0x01)
  165. return substr($str,$startdd,$len);
  166. else
  167. return substr($str,$startdd,$len-1);
  168. }
  169. function cn_midstr($str,$start,$len){
  170. if($GLOBALS['cfg_ver_lang']=='utf-8'){
  171. $str = utf82gb($str);
  172. return gb2utf8(cn_substrGb($str,$slen,$startdd));
  173. }else{
  174. return cn_substrGb($str,$slen,$startdd);
  175. }
  176. }
  177. function GetMkTime($dtime)
  178. {
  179. if(!ereg("[^0-9]",$dtime)) return $dtime;
  180. $dt = Array(1970,1,1,0,0,0);
  181. $dtime = ereg_replace("[\r\n\t]|ÈÕ|Ãë"," ",$dtime);
  182. $dtime = str_replace("Äê","-",$dtime);
  183. $dtime = str_replace("ÔÂ","-",$dtime);
  184. $dtime = str_replace("ʱ",":",$dtime);
  185. $dtime = str_replace("·Ö",":",$dtime);
  186. $dtime = trim(ereg_replace("[ ]{1,}"," ",$dtime));
  187. $ds = explode(" ",$dtime);
  188. $ymd = explode("-",$ds[0]);
  189. if(isset($ymd[0])) $dt[0] = $ymd[0];
  190. if(isset($ymd[1])) $dt[1] = $ymd[1];
  191. if(isset($ymd[2])) $dt[2] = $ymd[2];
  192. if(strlen($dt[0])==2) $dt[0] = '20'.$dt[0];
  193. if(isset($ds[1])){
  194. $hms = explode(":",$ds[1]);
  195. if(isset($hms[0])) $dt[3] = $hms[0];
  196. if(isset($hms[1])) $dt[4] = $hms[1];
  197. if(isset($hms[2])) $dt[5] = $hms[2];
  198. }
  199. foreach($dt as $k=>$v){
  200. $v = ereg_replace("^0{1,}","",trim($v));
  201. if($v=="") $dt[$k] = 0;
  202. }
  203. $mt = @mktime($dt[3],$dt[4],$dt[5],$dt[1],$dt[2],$dt[0]);
  204. if($mt>0) return $mt;
  205. else return time();
  206. }
  207. function SubDay($ntime,$ctime){
  208. $dayst = 3600 * 24;
  209. $cday = ceil(($ntime-$ctime)/$dayst);
  210. return $cday;
  211. }
  212. function AddDay($ntime,$aday){
  213. $dayst = 3600 * 24;
  214. $oktime = $ntime + ($aday * $dayst);
  215. return $oktime;
  216. }
  217. function GetDateTimeMk($mktime){
  218. global $cfg_cli_time;
  219. if($mktime==""||ereg("[^0-9]",$mktime)) return "";
  220. return gmdate("Y-m-d H:i:s",$mktime + 3600 * $cfg_cli_time);
  221. }
  222. function GetDateMk($mktime){
  223. global $cfg_cli_time;
  224. if($mktime==""||ereg("[^0-9]",$mktime)) return "";
  225. return gmdate("Y-m-d",$mktime + 3600 * $cfg_cli_time);
  226. }
  227. function GetIP(){
  228. if(!empty($_SERVER["HTTP_CLIENT_IP"])) $cip = $_SERVER["HTTP_CLIENT_IP"];
  229. else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  230. else if(!empty($_SERVER["REMOTE_ADDR"])) $cip = $_SERVER["REMOTE_ADDR"];
  231. else $cip = "";
  232. preg_match("/[\d\.]{7,15}/", $cip, $cips);
  233. $cip = $cips[0] ? $cips[0] : 'unknown';
  234. unset($cips);
  235. return $cip;
  236. }
  237. //»ñÈ¡Ò»´®ÖÐÎÄ×Ö·ûµÄÆ´Òô ishead=0 ʱ£¬Êä³öÈ«Æ´Òô ishead=1ʱ£¬Êä³öÆ´ÒôÊ××Öĸ
  238. function GetPinyin($str,$ishead=0,$isclose=1){
  239. if($GLOBALS['cfg_ver_lang']=='utf-8') $str = utf82gb($str);
  240. if(!isset($GLOBALS['__funAdmin'])) include_once(dirname(__FILE__)."/inc/inc_fun_funAdmin.php");
  241. return SpGetPinyin($str,$ishead,$isclose);
  242. }
  243. function GetNewInfo(){
  244. if(!isset($GLOBALS['__funAdmin'])) include_once(dirname(__FILE__)."/inc/inc_fun_funAdmin.php");
  245. return SpGetNewInfo();
  246. }
  247. function UpdateStat(){
  248. include_once(dirname(__FILE__)."/inc/inc_stat.php");
  249. return SpUpdateStat();
  250. }
  251. function ShowMsg($msg,$gourl,$onlymsg=0,$limittime=0)
  252. {
  253. global $dsql,$cfg_ver_lang;
  254. if( eregi("^gb",$cfg_ver_lang) ) $cfg_ver_lang = 'gb2312';
  255. $htmlhead = "<html>\r\n<head>\r\n<title>Keyinºǫ́ ϵͳÌáʾ</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset={$cfg_ver_lang}\" />\r\n";
  256. $htmlhead .= "<base target='_self'/>\r\n</head>\r\n<body leftmargin='0' topmargin='0'>\r\n<center>\r\n<script>\r\n";
  257. $htmlfoot = "</script>\r\n</center>\r\n</body>\r\n</html>\r\n";
  258. if($limittime==0) $litime = 5000;
  259. else $litime = $limittime;
  260. if($gourl=="-1"){
  261. if($limittime==0) $litime = 5000;
  262. $gourl = "javascript:history.go(-1);";
  263. }
  264. if($gourl==""||$onlymsg==1){
  265. $msg = "<script>alert(\"".str_replace("\"","¡°",$msg)."\");</script>";
  266. }else{
  267. $func = " var pgo=0;
  268. function JumpUrl(){
  269. if(pgo==0){ location='$gourl'; pgo=1; }
  270. }\r\n";
  271. $rmsg = $func;
  272. $rmsg .= "document.write(\"<br/><div style='width:400px;padding-top:4px;height:24;font-size:10pt;border-left:1px solid #b9df92;border-top:1px solid #b9df92;border-right:1px solid #b9df92;background-color:#def5c2;'>Keyinºǫ́ ÌáʾÐÅÏ¢£º</div>\");\r\n";
  273. $rmsg .= "document.write(\"<div style='width:400px;height:100;font-size:10pt;border:1px solid #b9df92;background-color:#f9fcf3'><br/><br/>\");\r\n";
  274. $rmsg .= "document.write(\"".str_replace("\"","¡°",$msg)."\");\r\n";
  275. $rmsg .= "document.write(\"";
  276. if($onlymsg==0){
  277. if($gourl!="javascript:;" && $gourl!=""){ $rmsg .= "<br/><br/><a href='".$gourl."'>Èç¹ûÄãµÄä¯ÀÀÆ÷û·´Ó¦£¬Çëµã»÷ÕâÀï...</a>"; }
  278. $rmsg .= "<br/><br/></div>\");\r\n";
  279. if($gourl!="javascript:;" && $gourl!=""){ $rmsg .= "setTimeout('JumpUrl()',$litime);"; }
  280. }else{ $rmsg .= "<br/><br/></div>\");\r\n"; }
  281. $msg = $htmlhead.$rmsg.$htmlfoot;
  282. }
  283. if(isset($dsql) && is_object($dsql)) @$dsql->Close();
  284. echo $msg;
  285. }
  286. function ExecTime(){
  287. $time = explode(" ", microtime());
  288. $usec = (double)$time[0];
  289. $sec = (double)$time[1];
  290. return $sec + $usec;
  291. }
  292. function GetEditor($fname,$fvalue,$nheight="350",$etype="Basic",$gtype="print",$isfullpage="false"){
  293. if(!isset($GLOBALS['__funAdmin'])) include_once(dirname(__FILE__)."/inc/inc_fun_funAdmin.php");
  294. return SpGetEditor($fname,$fvalue,$nheight,$etype,$gtype,$isfullpage);
  295. }
  296. //»ñµÃÖ¸¶¨Î»ÖÃÄ£°å×Ö·û´®
  297. function GetTemplets($filename){
  298. if(file_exists($filename)){
  299. $fp = fopen($filename,"r");
  300. $rstr = fread($fp,filesize($filename));
  301. fclose($fp);
  302. return $rstr;
  303. }else{ return ""; }
  304. }
  305. function GetSysTemplets($filename){
  306. return GetTemplets($GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir'].'/system/'.$filename);
  307. }
  308. //¸ø±äÁ¿¸³Ä¬ÈÏÖµ
  309. function AttDef($oldvar,$nv){
  310. if(empty($oldvar)) return $nv;
  311. else return $oldvar;
  312. }
  313. //°Ñ·ûºÏ¹æÔòµÄÊý×ÖתΪ×Ö·û
  314. function dd2char($dd){
  315. if($GLOBALS['cfg_ver_lang']=='utf-8') $dd = utf82gb($dd);
  316. $slen = strlen($dd);
  317. $okdd = "";
  318. for($i=0;$i<$slen;$i++){
  319. if(isset($dd[$i+1]))
  320. {
  321. $n = $dd[$i].$dd[$i+1];
  322. if(($n>96 && $n<123)||($n>64 && $n<91)){
  323. $okdd .= chr($n); $i++;
  324. }
  325. else $okdd .= $dd[$i];
  326. }else $okdd .= $dd[$i];
  327. }
  328. return $okdd;
  329. }
  330. //°´Ä¬ÈϲÎÊýÉèÖÃÒ»¸öCookie
  331. function PutCookie($key,$value,$kptime,$pa="/"){
  332. global $cfg_cookie_encode,$cfg_pp_isopen,$cfg_basehost;
  333. if(empty($cfg_pp_isopen)
  334. ||!ereg("\.",$cfg_basehost)||!ereg("[a-zA-Z]",$cfg_basehost))
  335. {
  336. //echo $key."</br>";
  337. //echo $value."</br>";
  338. //echo time()+$kptime."</br>";
  339. //echo $pa."</br>";
  340. //exit;
  341. setcookie($key,$value,time()+$kptime,$pa,'.keyin.cn');
  342. setcookie($key.'ckMd5',substr(md5($cfg_cookie_encode.$value),0,16),time()+$kptime,$pa,'.keyin.cn');
  343. }else{
  344. $dm = eregi_replace("http://([^\.]*)\.","",$cfg_basehost);
  345. $dm = ereg_replace("/(.*)","",$dm);
  346. setcookie($key,$value,time()+$kptime,$pa,$dm);
  347. setcookie($key.'ckMd5',substr(md5($cfg_cookie_encode.$value),0,16),time()+$kptime,$pa,$dm);
  348. }
  349. }
  350. //ʹCookieʧЧ
  351. function DropCookie($key){
  352. global $cfg_cookie_encode,$cfg_pp_isopen,$cfg_basehost;
  353. if(empty($cfg_pp_isopen)
  354. ||!ereg("\.",$cfg_basehost)||!ereg("[a-zA-Z]",$cfg_basehost))
  355. {
  356. setcookie($key,"",time()-3600000,"/",'.keyin.cn');
  357. setcookie($key.'ckMd5',"",time()-3600000,"/",'.keyin.cn');
  358. }else
  359. {
  360. $dm = eregi_replace("http://([^\.]*)\.","",$cfg_basehost);
  361. $dm = ereg_replace("/(.*)","",$dm);
  362. setcookie($key,"",time(),"/",$dm);
  363. setcookie($key.'ckMd5',"",time(),"/",$dm);
  364. }
  365. }
  366. //»ñµÃÒ»¸öcookieÖµ
  367. function GetCookie($key){
  368. global $cfg_cookie_encode;
  369. if( !isset($_COOKIE[$key]) || !isset($_COOKIE[$key.'ckMd5']) ) return '';
  370. else{
  371. if($_COOKIE[$key.'ckMd5']!=substr(md5($cfg_cookie_encode.$_COOKIE[$key]),0,16)) return '';
  372. else return $_COOKIE[$key];
  373. }
  374. }
  375. //»ñµÃÑéÖ¤ÂëµÄÖµ
  376. function GetCkVdValue(){
  377. @session_start();
  378. if(isset($_SESSION["dd_ckstr"])) $ckvalue = $_SESSION["dd_ckstr"];
  379. else $ckvalue = '';
  380. return $ckvalue;
  381. }
  382. //ÓÃFTP´´½¨Ò»¸öĿ¼
  383. function FtpMkdir($truepath,$mmode,$isMkdir=true){
  384. global $cfg_basedir,$cfg_ftp_root,$g_ftpLink;
  385. OpenFtp();
  386. $ftproot = ereg_replace($cfg_ftp_root.'$','',$cfg_basedir);
  387. $mdir = ereg_replace('^'.$ftproot,'',$truepath);
  388. if($isMkdir) ftp_mkdir($g_ftpLink,$mdir);
  389. return ftp_site($g_ftpLink,"chmod $mmode $mdir");
  390. }
  391. //ÓÃFTP¸Ä±äÒ»¸öĿ¼µÄȨÏÞ
  392. function FtpChmod($truepath,$mmode){
  393. return FtpMkdir($truepath,$mmode,false);
  394. }
  395. //´ò¿ªFTPÁ¬½Ó
  396. function OpenFtp(){
  397. global $cfg_basedir,$cfg_ftp_host,$cfg_ftp_port;
  398. global $cfg_ftp_user,$cfg_ftp_pwd,$cfg_ftp_root,$g_ftpLink;
  399. if(!$g_ftpLink){
  400. if($cfg_ftp_host==""){
  401. echo "ÓÉÓÚÄãµÄÕ¾µãµÄPHPÅäÖôæÔÚÏÞÖÆ£¬³ÌÐò³¢ÊÔÓÃFTP½øÐÐĿ¼²Ù×÷£¬Äã±ØÐëÔÚºǫָ́¶¨FTPÏà¹ØµÄ±äÁ¿£¡";
  402. exit();
  403. }
  404. $g_ftpLink = ftp_connect($cfg_ftp_host,$cfg_ftp_port);
  405. if(!$g_ftpLink){ echo "Á¬½ÓFTPʧ°Ü£¡"; exit(); }
  406. if(!ftp_login($g_ftpLink,$cfg_ftp_user,$cfg_ftp_pwd)){ echo "µÇ½FTPʧ°Ü£¡"; exit(); }
  407. }
  408. }
  409. //¹Ø±ÕFTPÁ¬½Ó
  410. function CloseFtp(){
  411. global $g_ftpLink;
  412. if($g_ftpLink) @ftp_quit($g_ftpLink);
  413. }
  414. //ͨÓõĴ´½¨Ä¿Â¼µÄº¯Êý
  415. function MkdirAll($truepath,$mmode){
  416. global $cfg_ftp_mkdir,$cfg_isSafeMode;
  417. if($cfg_isSafeMode||$cfg_ftp_mkdir=='Y'){ return FtpMkdir($truepath,$mmode); }
  418. else{
  419. if(!file_exists($truepath)){
  420. mkdir($truepath,$GLOBALS['cfg_dir_purview']);
  421. chmod($truepath,$GLOBALS['cfg_dir_purview']);
  422. return true;
  423. }else{
  424. return true;
  425. }
  426. }
  427. }
  428. //ͨÓõĸü¸ÄĿ¼»òÎļþȨÏ޵ĺ¯Êý
  429. function ChmodAll($truepath,$mmode){
  430. global $cfg_ftp_mkdir,$cfg_isSafeMode;
  431. if($cfg_isSafeMode||$cfg_ftp_mkdir=='Y'){ return FtpChmod($truepath,$mmode); }
  432. else{ return chmod($truepath,'0'.$mmode); }
  433. }
  434. //´´½¨¶à²ã´ÎµÄĿ¼
  435. function CreateDir($spath,$siterefer="",$sitepath=""){
  436. if(!isset($GLOBALS['__funAdmin'])) include_once(dirname(__FILE__)."/inc/inc_fun_funAdmin.php");
  437. return SpCreateDir($spath,$siterefer,$sitepath);
  438. }
  439. //¹ýÂËÓû§ÊäÈëÓÃÓÚ²éѯµÄ×Ö·û´®
  440. function StringFilterSearch($str,$isint=0){
  441. return $str;
  442. }
  443. //»áԱУ¶ÔÃÜÂë
  444. //°ÑÓû§µÄÃÜÂë¾­¹ý´Ëº¯ÊýºóÓëÊý¾Ý¿âµÄÃÜÂë¶Ô±È
  445. function GetEncodePwd($pwd){
  446. global $cfg_pwdtype,$cfg_md5len,$cfg_ddsign;
  447. $cfg_pwdtype = strtolower($cfg_pwdtype);
  448. if($cfg_pwdtype=='md5'){
  449. if(empty($cfg_md5len)) $cfg_md5len = 32;
  450. if($cfg_md5len>=32) return md5($pwd);
  451. else return substr(md5($pwd),0,$cfg_md5len);
  452. }else if($cfg_pwdtype=='dd'){
  453. return DdPwdEncode($pwd,$cfg_ddsign);
  454. }else if($cfg_pwdtype=='md5m16'){
  455. return substr(md5($pwd),8,16);
  456. }else{
  457. return $pwd;
  458. }
  459. }
  460. //Óû§IDºÍÃÜÂë»òÆäËü×Ö·û´®°²È«ÐÔ²âÊÔ
  461. function TestStringSafe($uid){
  462. if($uid!=addslashes($uid)) return false;
  463. if(ereg("[><\$\r\n\t '\"`\\]",$uid)) return false;
  464. return true;
  465. }
  466. //DedeÃÜÂë¼ÓÃÜËã·¨
  467. //¼ÓÃܳÌÐò
  468. function DdPwdEncode($pwd,$sign=''){
  469. global $cfg_ddsign;
  470. if($sign=='') $sign = $cfg_ddsign;
  471. $rtstr = '';
  472. $plen = strlen($pwd);
  473. if($plen<10) $plenstr = '0'.$plen;
  474. else $plenstr = "$plen";
  475. $sign = substr(md5($sign),0,$plen);
  476. $poshandle = mt_rand(65,90);
  477. $rtstr .= chr($poshandle);
  478. $pwd = base64_encode($pwd);
  479. if($poshandle%2==0){
  480. $rtstr .= chr(ord($plenstr[0])+18);
  481. $rtstr .= chr(ord($plenstr[1])+36);
  482. }
  483. for($i=0;$i<strlen($pwd);$i++){
  484. if($i < $plen){
  485. if($poshandle%2==0) $rtstr .= $pwd[$i].$sign[$i];
  486. else $rtstr .= $sign[$i].$pwd[$i];
  487. }else{ $rtstr .= $pwd[$i]; }
  488. }
  489. if($poshandle%2!=0){
  490. $rtstr .= chr(ord($plenstr[0])+20);
  491. $rtstr .= chr(ord($plenstr[1])+25);
  492. }
  493. return $rtstr;
  494. }
  495. //½âÃܳÌÐò
  496. function DdPwdDecode($epwd,$sign=''){
  497. global $cfg_ddsign;
  498. $n1=0;
  499. $n2=0;
  500. $pwstr='';
  501. $restr='';
  502. if($sign=='') $sign = $cfg_ddsign;
  503. $rtstr = '';
  504. $poshandle = ord($epwd[0]);
  505. if($poshandle%2==0)
  506. {
  507. $n1 = chr(ord($epwd[1])-18);
  508. $n2 = chr(ord($epwd[2])-36);
  509. $pwstr = substr($epwd,3,strlen($epwd)-3);
  510. }else{
  511. $n1 = chr(ord($epwd[strlen($epwd)-2])-20);
  512. $n2 = chr(ord($epwd[strlen($epwd)-1])-25);
  513. $pwstr = substr($epwd,1,strlen($epwd)-3);
  514. }
  515. $pwdlen = ($n1.$n2)*2;
  516. $pwstrlen = strlen($pwstr);
  517. for($i=0;$i < $pwstrlen;$i++)
  518. {
  519. if($i < $pwdlen){
  520. if($poshandle%2==0){
  521. $restr .= $pwstr[$i]; $i++;
  522. }else{
  523. $i++;
  524. $restr .= $pwstr[$i];
  525. }
  526. }else{ $restr .= $pwstr[$i]; }
  527. }
  528. $restr = base64_decode($restr);
  529. return $restr;
  530. }
  531. /*----------------------
  532. ¹ýÂËHTML´úÂëµÄº¯Êý
  533. -----------------------*/
  534. function htmlEncode($string) {
  535. $string=trim($string);
  536. $string=str_replace("&","&amp;",$string);
  537. $string=str_replace("'","&#39;",$string);
  538. $string=str_replace("&amp;amp;","&amp;",$string);
  539. $string=str_replace("&amp;quot;","&quot;",$string);
  540. $string=str_replace("\"","&quot;",$string);
  541. $string=str_replace("&amp;lt;","&lt;",$string);
  542. $string=str_replace("<","&lt;",$string);
  543. $string=str_replace("&amp;gt;","&gt;",$string);
  544. $string=str_replace(">","&gt;",$string);
  545. $string=str_replace("&amp;nbsp;","&nbsp;",$string);
  546. $string=nl2br($string);
  547. return $string;
  548. }
  549. function filterscript($str) {
  550. $str = eregi_replace("iframe","£é£æ£ò£á£í£å",$str);
  551. $str = eregi_replace("script","£ó£ã£ò£é£ð£ô",$str);
  552. return $str;
  553. }
  554. function AjaxHead()
  555. {
  556. global $cfg_ver_lang;
  557. @header("Pragma:no-cache\r\n");
  558. @header("Cache-Control:no-cache\r\n");
  559. @header("Expires:0\r\n");
  560. @header("Content-Type: text/html; charset={$cfg_ver_lang}");
  561. }
  562. function getarea($areaid)
  563. {
  564. global $dsql;
  565. if($areaid==0) return '';
  566. if(!is_object($dsql)) $dsql = new dedesql(false);
  567. $areaname = $dsql->GetOne("select name from #@__area where id=$areaid");
  568. return $areaname['name'];
  569. }
  570. //Óû§×ÔÐÐÀ©Õ¹function
  571. if(file_exists( dirname(__FILE__).'/inc_extend_functions.php' )){
  572. include_once(dirname(__FILE__).'/inc_extend_functions.php');
  573. }
  574. //--------------------
  575. // »ñµÃÃû¼ÒÃû³Æ
  576. //----------------------
  577. function GetPrice($p)
  578. {
  579. $a = explode(".",$p);
  580. $b = 0;
  581. if($a[1]=="00")
  582. $b = $a[0];
  583. else
  584. $b = $a[0].".".$a[1];
  585. return $b;
  586. }
  587. //--------------------
  588. // ²¹Áã
  589. //----------------------
  590. function AddZero($number)
  591. {
  592. if($number < 10)
  593. return "0".$number;
  594. else
  595. return $number;
  596. }
  597. //--------------------
  598. // »ñµÃÔÓÖ¾·âÃæǰ׺
  599. //----------------------
  600. function GetMPre($id)
  601. {
  602. $magapre = array();
  603. $magapre[173] = "pt_c";
  604. $magapre[174] = "pt_b";
  605. $magapre[175] = "pt_z";
  606. $magapre[176] = "pm";
  607. $magapre[177] = "dp";
  608. $magapre[178] = "cppm";
  609. $magapre[205] = "lanpishu";
  610. return $magapre[$id];
  611. }
  612. //--------------------
  613. // »ñµÃÀ¸Ä¿Ãû³Æ
  614. //----------------------
  615. function GetPType($typeid,$id=0)
  616. {
  617. global $dsql;
  618. $ssid = array();
  619. if(!empty($_REQUEST['t']))
  620. {
  621. $typeid = $_REQUEST['t'];
  622. }
  623. else if($_REQUEST['typeid']==230 && empty($_REQUEST['t']))
  624. $typeid = 1;
  625. $ssid = explode(",",$typeid);
  626. if(empty($ssid[0]) && count($ssid) > 1)
  627. {
  628. $ssid[0] = $ssid[1];
  629. $ssid[1] = $ssid[2];
  630. }
  631. $sql = "select * from #@__product_type where id = ".$ssid[0]."";
  632. $row = $dsql->GetOne($sql);
  633. if(empty($ssid[1]))
  634. $color = "cRed";
  635. else
  636. $color = "cBlue";
  637. $info = "<a href='/plus/list.php?tid=230&t=".$row['id']."' class='f14 $color fb'>".$row['name']."</a>";
  638. if(!empty($ssid[1]))
  639. {
  640. $sql = "select * from #@__product_type where id = ".$ssid[1]."";
  641. $row = $dsql->GetOne($sql);
  642. if(!empty($_REQUEST['t']) && empty($_REQUEST['b']))
  643. $color = "cRed";
  644. else
  645. $color = "cBlue";
  646. $info .= " > <a href='/plus/list.php?tid=230&t=".urlencode($row['reid'].",".$row['id'])."' class='f14 $color fb'>".$row['name']."</a> ";
  647. }
  648. if($id==1)
  649. {
  650. $info = Html2Text(str_replace("</a>"," - ",$info));
  651. $info = str_replace(" >","",$info);
  652. }
  653. return $info;
  654. }
  655. //Õ¹»áÐÅÏ¢
  656. function GetExpo($stype,$value)
  657. {
  658. $code = "";
  659. if($stype==0 && $value != "")
  660. {
  661. $code .="<div><h1 class=\"fb\">³Ð°ìµ¥Î»£º</h1><h2>".$value."</h2></div>";
  662. }
  663. else if($stype==1 && $value != "")
  664. {
  665. $code .="<div><h1 class=\"fb\">Õ¹³öÃæ»ý£º</h1><h2>".$value."</h2></div>";
  666. }
  667. else if($stype==2 && $value != "")
  668. {
  669. $code .="<div><h1 class=\"fb\">¹ÛÖÚ¹æÄ££º</h1><h2>".$value."</h2></div>";
  670. }
  671. else if($stype==3 && $value != "")
  672. {
  673. $code .="<div class=\"fb\" style=\"padding:5px 15px\">±¸×¢£º</div><div style=\"padding:15px\">".$value."</div>";
  674. }
  675. else
  676. $code = "";
  677. return $code;
  678. }
  679. //»ñµÃ²úÆ·ÖÐÐĵÄͬƷÅÆÆäËû²úÆ·
  680. function GetP($mid,$stype,$num)
  681. {
  682. global $dsql;
  683. $code = "";
  684. if($stype==1)
  685. {
  686. $sql = "select a.id,a.title,a.pubdate,b.uname from #@__archives a
  687. left join #@__member b on a.memberid = b.id
  688. where a.typeid = 230 and a.memberid in (select memberid from #@__archives where id = $mid) and a.id != $mid and a.id >= (SELECT floor( RAND() * (
  689. SELECT MAX( id ) FROM `ky_member` )) - 5) limit 0,$num";
  690. $dsql->SetQuery($sql);
  691. $dsql->Execute();
  692. $code = "<li class=\"one6 f14 fb cGreen\">brandÆäËû²úÆ·</li><li class=\"two6\">";
  693. while($row=$dsql->GetArray())
  694. {
  695. $brand = $row['uname'];
  696. $code .="<h1><a target='_blank' href='/plus/view.php?aid=".$row['id']."' class='cBlue'>".$row['title']."</a></h1>";
  697. }
  698. $code .="</li>";
  699. $code = str_replace("brand",$brand,$code);
  700. }
  701. else if($stype==2)
  702. {
  703. $sql = "select typeid2,memberid from #@__archives where id = $mid";
  704. $row = $dsql->GetOne($sql);
  705. $typeid2 = $row['typeid2'];
  706. $memberid = $row['memberid'];
  707. $sql = "select a.id,a.title,a.pubdate,b.uname from #@__archives a
  708. left join #@__member b on a.memberid = b.id
  709. where a.typeid = 230 and a.typeid2 = '".$typeid2."' and a.memberid != $memberid order by rand() limit 0,$num";
  710. $dsql->SetQuery($sql);
  711. $dsql->Execute();
  712. //echo $sql;
  713. while($row=$dsql->GetArray())
  714. {
  715. $code .="<h1><a target='_blank' href='/plus/view.php?aid=".$row['id']."' class='cBlue'>".$row['title']."</a></h1>";
  716. }
  717. }
  718. else if($stype==3)
  719. {
  720. $sql = "select bigpic from #@__addonproduct where aid = ".$mid."";
  721. //echo $sql;
  722. $row = $dsql->GetOne($sql);
  723. $code1 = $row['bigpic'];
  724. $code1 = str_replace("{dede:img text='' width='' height=''}","",$code1);
  725. $code1 = str_replace("{/dede:img}","",$code1);
  726. $code1 = str_replace(" ","",$code1);
  727. //echo $code1;
  728. $pics = explode(",",$code1);
  729. //var_dump ($pics);
  730. $code = "";
  731. if(count($pics)<$num)
  732. $num = count($pics);
  733. for($i=0;$i<$num;$i++)
  734. {
  735. if(empty($pics[$i]))
  736. $code .= "<h2><img src=http://img.keyin.cn/empty.gif /></h2>";
  737. else
  738. $code .= "<h2><img src=\"".$pics[$i]."\" /></h2>";
  739. }
  740. }
  741. //echo $code;
  742. return $code;
  743. }
  744. //--------------------
  745. // »ñµÃÆóÒµ¼ò½é
  746. //----------------------
  747. function GetMinfo($mid,$showType)
  748. {
  749. global $dsql;
  750. $info = "";
  751. if($showType == 1) //¹«Ë¾ÐÅÏ¢
  752. {
  753. $sql = "select * from #@__member_cominfo where id = ( select memberid from #@__archives where id = $mid)";
  754. $row = $dsql->GetOne($sql);
  755. $info = "<span class='f14 fb'>";
  756. $info .= $row['comname'];
  757. $info .= "</span><br /><br />¹«Ë¾¼ò½é£º<br />";
  758. $info .=$row['cominfo']."<br />";
  759. if(!empty($row['phone']))
  760. $info .="¹«Ë¾µç»°£º".$row['phone']."<br>";
  761. if(!empty($row['fax']))
  762. $info .="¹«Ë¾´«Õ棺".$row['fax']."<br>";
  763. if(!empty($row['address']))
  764. $info .="µØÖ·£º".$row['address']."<br>";
  765. if(!empty($row['postid']))
  766. $info .="Óʱࣺ".$row['postid']."<br>";
  767. if(!empty($row['website']))
  768. $info .="꿅᣼<a href=\"".$row['website']."\" target=_blank>".$row['website']."</a><br>";
  769. }
  770. else if($showType == 2) //¹«Ë¾¼ò³Æ
  771. {
  772. $sql = "select uname from #@__member where id = ( select memberid from #@__archives where id = $mid)";
  773. $row = $dsql->GetOne($sql);
  774. $info = $row['uname'];
  775. }
  776. return $info;
  777. }
  778. function GetDingyue($envTypeid)
  779. {
  780. if($envTypeid == 173 || $envTypeid == 174)
  781. //$dingyue = "<a href=\"/book/goods.php?id=262\" class=\"cRed\" target=_blank>¶©ÔÄ</a>";
  782. $dingyue = "<a href=\"http://www.keyin.cn/book/category.php?id=5\" class=\"cRed\" target=_blank>¶©ÔÄ</a>";
  783. else if($envTypeid == 176)
  784. $dingyue = "<a href=\"/book/goods.php?id=264\" class=\"cRed\" target=_blank>¶©ÔÄ</a>";
  785. else if($envTypeid == 177)
  786. $dingyue = "<a href=\"/book/goods.php?id=263\" class=\"cRed\" target=_blank>¶©ÔÄ</a>";
  787. else if($envTypeid == 265)
  788. $dingyue = "<a href=\"/book/goods.php?id=264\" class=\"cRed\" target=_blank>¶©ÔÄ</a>";
  789. else
  790. $dingyue = "";
  791. return $dingyue;
  792. }
  793. function ShowFirstWriter($mjname)
  794. {
  795. $mjname = str_replace("×÷Õߣº","",$mjname);
  796. $writer = explode("¡¢",$mjname);
  797. return $writer[0];
  798. }
  799. //--------------------
  800. // »ñµÃÃû¼ÒÃû³Æ
  801. //----------------------
  802. function GetMingJia($mjname,$showType)
  803. {
  804. global $dsql;
  805. //$sql1 = "select * from ky_archives where id = $id";
  806. // $row1 = $dsql->GetOne($sql1);
  807. // $mjname = $row1['writer'];
  808. $mms = explode("¡¢",$mjname);
  809. if(count($mms) > 0)
  810. $mjname = $mms[0];
  811. $mjname = str_replace("×÷Õߣº","",$mjname);
  812. if(empty($mjname))
  813. //20090616 liang start
  814. {
  815. //$array = explode(':',$row1['title']);
  816. // $mjname = $array[0];
  817. $mjname = 'Ãû¼Ò';
  818. $sql = "select * from #@__member a,#@__member_perinfo b where a.id = b.id and a.uname = '".$mjname."' and a.membertype = 10000 ";
  819. $row = $dsql->GetOne($sql);
  820. $a = $row[$showType];
  821. if ($showType =="id")
  822. {
  823. if ($a > 0)
  824. $a = "zl";
  825. else
  826. $a = "mj";
  827. }
  828. }
  829. //20090616 liang end
  830. else
  831. {
  832. $sql = "select * from #@__member a,#@__member_perinfo b where a.id = b.id and a.uname = '".$mjname."' and a.membertype = 10000 ";
  833. $row = $dsql->GetOne($sql);
  834. $a = $row[$showType];
  835. if ($showType =="id")
  836. {
  837. if ($a > 0)
  838. $a = "zl";
  839. else
  840. $a = "mj";
  841. }
  842. }
  843. return $a;
  844. }
  845. //20090622 liang end
  846. //20090623 liang start
  847. function GetMingJia_id($id,$showType)
  848. {
  849. global $dsql;
  850. $sql1 = "select * from ky_archives where id = $id";
  851. //echo $sql1;
  852. $row1 = $dsql->GetOne($sql1);
  853. if (eregi('£º',$row1['title'])){
  854. $array1 = explode('£º',$row1['title']);
  855. $mjname = $array1[0];
  856. $sql = "select * from #@__member a,#@__member_perinfo b where a.id = b.id and a.uname = '".$mjname."' and a.membertype = 10000 ";
  857. $row = $dsql->GetOne($sql);
  858. $a = $row[$showType];
  859. if ($showType =="id")
  860. {
  861. if ($a > 0)
  862. $a = "zl";
  863. else
  864. $a = "mj";
  865. }
  866. }
  867. else{
  868. //echo $row1['writer'];
  869. $mjname = $row1['writer'];
  870. $mms = explode("¡¢",$mjname);
  871. if(count($mms) > 0)
  872. $mjname = $mms[0];
  873. $mjname = str_replace("×÷Õߣº","",$mjname);
  874. if(empty($mjname))
  875. {
  876. $mjname = 'Ãû¼Ò';
  877. $sql = "select * from #@__member a,#@__member_perinfo b where a.id = b.id and a.uname = '".$mjname."' and a.membertype = 10000 ";
  878. $row = $dsql->GetOne($sql);
  879. $a = $row[$showType];
  880. if ($showType =="id")
  881. {
  882. if ($a > 0)
  883. $a = "zl";
  884. else
  885. $a = "mj";
  886. }
  887. }
  888. else
  889. {
  890. $sql = "select * from #@__member a,#@__member_perinfo b where a.id = b.id and a.uname = '".$mjname."' and a.membertype = 10000 ";
  891. $row = $dsql->GetOne($sql);
  892. $a = $row[$showType];
  893. if ($showType =="id")
  894. {
  895. if ($a > 0)
  896. $a = "zl";
  897. else
  898. $a = "mj";
  899. }
  900. }
  901. }
  902. return $a;
  903. }
  904. //20090623 liang end
  905. //µ±Ç°Î»ÖãºÖ÷Ò³ > Ãû¼Ò > ¹ÛµãÅöײ
  906. function GetMingJia_1($url,$mj)
  907. {
  908. global $dsql;
  909. if ($mj=='mj'){
  910. if (substr($url,-4)=='html'){
  911. return $url;
  912. }
  913. else {
  914. $array = explode('=',$url);
  915. $sql = "select * from ky_archives where id = ".$array[1];
  916. $row = $dsql->GetOne($sql);
  917. if ($row['writer']==''){
  918. return $url;
  919. }
  920. else{
  921. return $url.'&type='.$mj;
  922. }
  923. }
  924. }
  925. else{
  926. if (substr($url,-4)=='html'){
  927. return $url;
  928. }
  929. else {
  930. $array = explode('=',$url);
  931. $sql = "select * from ky_archives where id = ".$array[1];
  932. $row = $dsql->GetOne($sql);
  933. if ($row['writer']==''){
  934. return $url;
  935. }
  936. else{
  937. $sql1 = "select * from #@__member a,#@__member_perinfo b where a.id = b.id and a.uname = '".$row['writer']."' and a.membertype = 10000 ";
  938. $row1 = $dsql->GetOne($sql1);
  939. $a = $row1['id'];
  940. if ($a > 0)
  941. $a = "zl";
  942. else
  943. $a = "mj";
  944. return $url.'&type='.$a;
  945. }
  946. }
  947. }
  948. }
  949. //20090622 liang end
  950. //--------------------
  951. // »ñµÃÀ¸Ä¿Ãû³Æ
  952. //----------------------
  953. function GetTypeName($typeid)
  954. {
  955. global $dsql;
  956. $sql = "select typename from #@__arctype where id = $typeid";
  957. $row = $dsql->GetOne($sql);
  958. return $row['typename'];
  959. }
  960. //»ñµÃÀ¸Ä¿¾²Ì¬Á´½Ó
  961. //edit by liang 20110111
  962. function GetTypeUrl_customize($typeid){
  963. global $dsql;
  964. $sql = "select ID,typename,typedir,defaultname,namerule2 from #@__arctype where id = $typeid";
  965. $row = $dsql->GetOne($sql);
  966. $typedir = str_replace('{cmspath}','',$row['typedir']);
  967. //Ìæ»»{typedir}
  968. $url = str_replace('{typedir}',$typedir,$row['namerule2']);
  969. //Ìæ»»{tid}
  970. $url = str_replace('{tid}',$row['ID'],$url);
  971. //Ìæ»»{page}
  972. $url = str_replace('{page}','1',$url);
  973. return $url;
  974. }
  975. //edit by pc 20090629
  976. function GetWriterName($wid)
  977. {
  978. if($wid=="")
  979. return "";
  980. else
  981. return "×÷Õߣº".$wid;
  982. }
  983. //------------------------
  984. //ÅжÏÊÇ·ñÔÚÖ÷À¸Ä¿
  985. //------------------------
  986. function CheckChannelP($typeid,$pid)
  987. {
  988. global $dsql;
  989. $t = explode(",",$typeid);
  990. $showid = 0;
  991. for($i=0;$i<count($t);$i++)
  992. {
  993. if($t[$i]!="")
  994. {
  995. $sql = "select reid from #@__arctype where id = ".$t[$i]." ";
  996. $row = $dsql->GetOne($sql);
  997. if($row['reid']==$pid)
  998. {
  999. $showid = $t[$i];
  1000. break;
  1001. }
  1002. else
  1003. {
  1004. $sql = "select reid from #@__arctype where id = ".$row['reid']." ";
  1005. $row2 = $dsql->GetOne($sql);
  1006. if($row2['reid']==$pid)
  1007. {
  1008. $showid = $t[$i];
  1009. break;
  1010. }
  1011. }
  1012. }
  1013. }
  1014. return $showid;
  1015. }
  1016. //--------------------
  1017. // »ñµÃÃû¼ÒÃû³Æ
  1018. //----------------------
  1019. function GetMingJiaArc($mjname,$listNum,$class1,$class2)
  1020. {
  1021. global $dsql;
  1022. $mms = explode("¡¢",$mjname);
  1023. if(count($mms) > 0)
  1024. $mjname = $mms[0];
  1025. $sql = "select id,title,pubdate from #@__archives where writer like '%".str_replace("×÷Õߣº","",$mjname)."%' and arcatt>-1 order by pubdate desc limit 0,$listNum";
  1026. $dsql->SetQuery($sql);
  1027. $dsql->Execute();
  1028. $temp = "";
  1029. while($row=$dsql->GetArray())
  1030. {
  1031. $temp .= "<li class='".$class1."'><a href='/plus/view.php?aid=".$row['id']."&type=mj' target='_blank' class='".$class2."'>".$row['title']."</a></li>";
  1032. }
  1033. return $temp;
  1034. }
  1035. //20091218 edit by liang
  1036. //°´ÎÄÕÂid»ñµÃÃû¼ÒÏà¹ØÎÄÕÂ
  1037. function GetMingJiaArc_id($mjname,$listNum,$class1,$class2)
  1038. {
  1039. global $dsql;
  1040. //ÓÃÎÄÕÂid»ñµÃÃû¼ÒÐÕÃû\
  1041. //$dsql1 = new DedeSql(false);
  1042. $sql1 = "select title,writer from ky_archives where ID = $mjname";
  1043. $row1 = $dsql->GetOne($sql1);
  1044. //´Ó±êÌâÖÐÕÒÐÕÃû£¬ÒÔÈ«½ÇðºÅΪÌõ¼þ
  1045. if(ereg('£º',$row1['title'])){
  1046. $writer = explode('£º',$row1['title']);
  1047. $mjname = $writer[0];
  1048. $mms = explode("¡¢",$mjname);
  1049. if(count($mms) > 0)
  1050. $mjname = $mms[0];
  1051. $sql = "select id,title,pubdate from #@__archives where (writer like '%".str_replace("×÷Õߣº","",$mjname)."%' or title like '".$mjname."£º%') and arcrank>-1 order by pubdate desc limit 0,$listNum";
  1052. $dsql->SetQuery($sql);
  1053. $dsql->Execute();
  1054. $temp = "";
  1055. while($row=$dsql->GetArray())
  1056. {
  1057. $temp .= "<li class='".$class1."'><a href='/plus/view.php?aid=".$row['id']."&type=mj' target='_blank' class='".$class2."'>".$row['title']."</a></li>";
  1058. }
  1059. }//´Ó×÷ÕßÖÐÕÒÐÕÃû
  1060. else{
  1061. $writer = $row1['writer'];
  1062. $mjname = $writer;
  1063. $mms = explode("¡¢",$mjname);
  1064. if(count($mms) > 0)
  1065. $mjname = $mms[0];
  1066. $sql = "select id,title,pubdate from #@__archives where (writer like '%".str_replace("×÷Õߣº","",$mjname)."%' or title like '".$mjname."£º%') and arcrank>-1 order by pubdate desc limit 0,$listNum";
  1067. $dsql->SetQuery($sql);
  1068. $dsql->Execute();
  1069. $temp = "";
  1070. while($row=$dsql->GetArray())
  1071. {
  1072. $temp .= "<li class='".$class1."'><a href='/plus/view.php?aid=".$row['id']."&type=mj' target='_blank' class='".$class2."'>".$row['title']."</a></li>";
  1073. }
  1074. }
  1075. return $temp;
  1076. }
  1077. //--------------------
  1078. // »ñµÃ¸½¼Ó±íºÍÖ÷±íÃû³Æ
  1079. //----------------------
  1080. function GetChannelTable($dsql,$id,$formtype='channel')
  1081. {
  1082. global $cfg_dbprefix;
  1083. $retables = array();
  1084. $oldarrays = array(1=>'addonarticle',2=>'addonimages',3=>'addonsoft',4=>'addonflash',5=>'addonproduct',-2=>'addoninfos',-1=>'addonspec');
  1085. if(isset($oldarrays[$id]) && $formtype!='arc')
  1086. {
  1087. $retables['addtable'] = $cfg_dbprefix.$oldarrays[$id];
  1088. $retables['maintable'] = $cfg_dbprefix.'archives';
  1089. if($id==-1) $retables['maintable'] = $cfg_dbprefix.'archivesspec';
  1090. else if($id==-2) $retables['maintable'] = $cfg_dbprefix.'infos';
  1091. $retables['channelid'] = $id;
  1092. }else
  1093. {
  1094. if($formtype=='arc'){
  1095. $retables = $dsql->GetOne(" select c.ID as channelid,c.maintable,c.addtable from `#@__full_search` a left join #@__channeltype c on c.ID = a.channelid where a.aid='$id' ",MYSQL_ASSOC);
  1096. }
  1097. else{
  1098. $retables = $dsql->GetOne(" Select ID as channelid,maintable,addtable From #@__channeltype where ID='$id' ",MYSQL_ASSOC);
  1099. }
  1100. if(!isset($retables['maintable'])) $retables['maintable'] = $cfg_dbprefix.'archives';
  1101. if(!isset($retables['addtable'])) $retables['addtable'] = '';
  1102. }
  1103. return $retables;
  1104. }
  1105. //-----------------------
  1106. //»ñÈ¡Ò»ÌõË÷ÒýID
  1107. //-----------------------
  1108. function GetIndexKey($dsql,$typeid=0,$channelid=0)
  1109. {
  1110. global $typeid,$channelid,$arcrank,$title,$cfg_plus_dir;
  1111. $typeid = (empty($typeid) ? 0 : $typeid);
  1112. $channelid = (empty($channelid) ? 0 : $channelid);
  1113. $arcrank = (empty($arcrank) ? 0 : $arcrank);
  1114. $iquery = "INSERT INTO `#@__full_search` (`typeid` , `channelid` , `adminid` , `mid` , `att` , `arcrank` ,
  1115. `uptime` , `title` , `url` , `litpic` , `keywords` , `addinfos` , `digg` , `diggtime` )
  1116. VALUES ('$typeid', '$channelid', '0', '0', '0', '$arcrank',
  1117. '0', '$title', '', '', '', '', '0', '0');
  1118. ";
  1119. $dsql->ExecuteNoneQuery($iquery);
  1120. return $dsql->GetLastID();
  1121. }
  1122. //-----------------------
  1123. //¸üÐÂÒ»ÌõÕûÕ¾ËÑË÷µÄË÷Òý¼Ç¼
  1124. //-----------------------
  1125. function WriteSearchIndex($dsql,&$datas)
  1126. {
  1127. UpSearchIndex($dsql,$datas);
  1128. }
  1129. function UpSearchIndex($dsql,&$datas)
  1130. {
  1131. $addf = '';
  1132. foreach($datas as $k=>$v){
  1133. if($k!='aid') $addf .= ($addf=='' ? "`$k`='$v'" : ",`$k`='$v'");
  1134. }
  1135. $uquery = "update `#@__full_search` set $addf where aid = '".$datas['aid']."';";
  1136. $rs = $dsql->ExecuteNoneQuery($uquery);
  1137. if(!$rs){
  1138. $gerr = $dsql->GetError();
  1139. //$tbs = GetChannelTable($dsql,$datas['channelid'],'channel');
  1140. //$dsql->ExecuteNoneQuery("Delete From `{$tbs['maintable']}` where ID='{$datas['aid']}'");
  1141. //$dsql->ExecuteNoneQuery("Delete From `{$tbs['addtable']}` where aid='{$datas['aid']}'");
  1142. //$dsql->ExecuteNoneQuery("Delete From `#@__full_search` where aid='{$datas['aid']}'");
  1143. echo "¸üÐÂÕûÕ¾Ë÷Òýʱʧ°Ü£¬´íÎóÔ­Òò£º [".$gerr."]";
  1144. echo "<br /> SQLÓï¾ä£º<font color='red'>{$uquery}</font>";
  1145. $dsql->Close();
  1146. exit();
  1147. }
  1148. return $rs;
  1149. }
  1150. //
  1151. //¼ì²éijÀ¸Ä¿Ï¼¶ÊÇ·ñ°üº¬Ìض¨ÆµµÀµÄÄÚÈÝ
  1152. //
  1153. function TestHasChannel($cid,$channelid,$issend=-1,$carr='')
  1154. {
  1155. global $_Cs;
  1156. if(!is_array($_Cs) && !is_array($carr)){ include_once(dirname(__FILE__)."/../data/cache/inc_catalog_base.php"); }
  1157. if($channelid==0) return 1;
  1158. if(!isset($_Cs[$cid])) return 0;
  1159. if($issend==-1){
  1160. if($_Cs[$cid][1]==$channelid||$channelid==0) return 1;
  1161. else{
  1162. foreach($_Cs as $k=>$vs){
  1163. if($vs[0]==$cid) return TestHasChannel($k,$channelid,$issend,$_Cs);
  1164. }
  1165. }
  1166. }else
  1167. {
  1168. if($_Cs[$cid][2]==$issend && ($_Cs[$cid][1]==$channelid||$channelid==0)) return 1;
  1169. else{
  1170. foreach($_Cs as $k=>$vs){
  1171. if($vs[0]==$cid) return TestHasChannel($k,$channelid,$issend,$_Cs);
  1172. }
  1173. }
  1174. }
  1175. return 0;
  1176. }
  1177. //¸üÐÂÀ¸Ä¿Ë÷Òý»º´æ
  1178. function UpDateCatCache($dsql)
  1179. {
  1180. $cache1 = dirname(__FILE__)."/../data/cache/inc_catalog_base.php";
  1181. $dsql->SetQuery("Select ID,reID,channeltype,issend From #@__arctype");
  1182. $dsql->Execute();
  1183. $fp1 = fopen($cache1,'w');
  1184. $phph = '?';
  1185. $fp1Header = "<{$phph}php\r\nglobal \$_Cs;\r\n\$_Cs=array();\r\n";
  1186. fwrite($fp1,$fp1Header);
  1187. while($row=$dsql->GetObject()){
  1188. fwrite($fp1,"\$_Cs[{$row->ID}]=array({$row->reID},{$row->channeltype},{$row->issend});\r\n");
  1189. }
  1190. fwrite($fp1,"{$phph}>");
  1191. fclose($fp1);
  1192. }
  1193. //Óʼþ·¢Ëͺ¯Êý
  1194. function sendmail($email, $mailtitle, $mailbody, $headers)
  1195. {
  1196. global $cfg_sendmail_bysmtp, $cfg_smtp_server, $cfg_smtp_port, $cfg_smtp_usermail, $cfg_smtp_user, $cfg_smtp_password, $cfg_adminemail;
  1197. if($cfg_sendmail_bysmtp == 'Y'){
  1198. $mailtype = 'TXT';
  1199. include_once(dirname(__FILE__).'/mail.class.php');
  1200. $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
  1201. $smtp->debug = false;
  1202. $smtp->sendmail($email, $cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
  1203. }else{
  1204. @mail($email, $mailtitle, $mailbody, $headers);
  1205. }
  1206. }
  1207. function highlight($string, $words, $hrefs='',$pretext='', $step='')
  1208. {
  1209. //ºóÁ½¸ö±äÁ¿ÎªÏµÍ³¼Ì³Ð±äÁ¿£¬²»¿ÉÖ¸¶¨
  1210. if($step != 'me'){
  1211. return preg_replace('/(^|>)([^<]+)(?=<|$)/sUe', "highlight('\\2',\$words, \$hrefs, '\\1', 'me')", $string);
  1212. }
  1213. if(is_array($words)){
  1214. $string = str_replace('\"', '"', $string);
  1215. foreach($words as $k => $word){
  1216. if(empty($hrefs[$k])){
  1217. $string = preg_replace('/(^|>)([^<]+)(?=<|$)/sUe', "highlight('\\2',\$word, '', '\\1', 'me')", $string);
  1218. }else{
  1219. $string = preg_replace('/(^|>)([^<]+)(?=<|$)/sUe', "highlight('\\2',\$word, \$hrefs[\$k], '\\1', 'me')", $string);
  1220. }
  1221. }
  1222. return $pretext.$string;
  1223. }else{
  1224. if($hrefs == ''){
  1225. $string = str_replace($words,'<strong><font color="#ff0000">'.$words.'</font></strong>',$string);
  1226. }else{
  1227. if(strpos($string, $words) !== false){
  1228. $string = str_replace($words, '<a href="'.$hrefs.'" style="color:#ff0000;font-weight:bold;">'.$words.'</a>', $string);
  1229. }
  1230. }
  1231. return $pretext.$string;
  1232. }
  1233. }
  1234. function GetTitleF($tid,$id=0)
  1235. {
  1236. $info = str_replace("/","_",$tid);
  1237. $info = str_replace(" ","",$info);
  1238. return $info;
  1239. }
  1240. function GetFirstKeyword($kw)
  1241. {
  1242. if(strpos($kw, " ")>0)
  1243. $info = substr($kw,0,strpos($kw, " "));
  1244. else
  1245. $info = $kw;
  1246. if(strpos($info, ",")>0)
  1247. $info = substr($info,0,strpos($info, ","));
  1248. if($info=="")
  1249. $info = "Ó¡Ë¢";
  1250. return $info;
  1251. }
  1252. //»ñµÃ¹©Ç󵼺½ÉÌÆ·´ó·ÖÀàedit by pc 20090721
  1253. function GetMallNav_Show($id,$typeid)
  1254. {
  1255. global $dsql;
  1256. $sql = "select name from #@__product_type where id = '$id'";
  1257. $dsql->Execute('t',$sql);
  1258. $tags = "";
  1259. while($row=$dsql->GetArray('t',MYSQL_ASSOC))
  1260. {
  1261. $tags .= $row['name'];
  1262. }
  1263. return " > <a href=\"/plus/list.php?tid=$typeid&sectorid=$id\" class=\"cBlue\">".$tags."</a>";
  1264. }
  1265. //»ñµÃ¹©Ç󵼺½ÉÌƷС·ÖÀàedit by pc 20090721
  1266. function GetMallNav2_Show($id,$typeid)
  1267. {
  1268. global $dsql;
  1269. $sql = "select name from #@__product_type where id = '$id'";
  1270. $dsql->Execute('t',$sql);
  1271. $tags = "";
  1272. while($row=$dsql->GetArray('t',MYSQL_ASSOC))
  1273. {
  1274. $tags .= $row['name'];
  1275. }
  1276. return " > <a href=\"/plus/list.php?tid=$typeid&sectorid=$fid&sectorid2=$id\" class=\"cBlue\">".$tags."</a>";
  1277. }
  1278. //»ñµÃ¹©ÇóÉÌÆ·¼Û¸ñedit by pc 20090721
  1279. function GetPrice_Show($price)
  1280. {
  1281. if($price==""||$price=="0"||$price==0)
  1282. return "ÃæÒé";
  1283. else
  1284. return $price."Ôª/¼þ";
  1285. }
  1286. //»ñµÃ¹©ÇóÆóÒµÐÅÏ¢edit by pc 20090721
  1287. function GetMemberInfo_Show($mid)
  1288. {
  1289. global $dsql;
  1290. if(!is_object($dsql)) $dsql = new dedesql(false);
  1291. $minfo = $dsql->GetOne("select * from #@__member_cominfo where id=$mid");
  1292. if($minfo['cominfo']!="")
  1293. $MemberInfo = "<li class=\"thr7 f14 fb cBlue\">ÆóÒµÃû³Æ£º".$minfo['comname']."</li><li class=\"for7 f14\">".$minfo['cominfo']."</li>";
  1294. if($minfo['website']!="")
  1295. {
  1296. if(substr($minfo['website'],0,7)=="http://")
  1297. $MemberInfo = $MemberInfo."<li class=\"thr7 f14 fb cBlue\">ÆóÒµÍøÖ·£º<a href=".$minfo['website']." target=_blank>".$minfo['website']."</a></li>";
  1298. else
  1299. $MemberInfo = $MemberInfo."<li class=\"thr7 f14 fb cBlue\">ÆóÒµÍøÖ·£º<a href=http://".$minfo['website']." target=_blank>".$minfo['website']."</a></li>";
  1300. }
  1301. return $MemberInfo;
  1302. }
  1303. //¹ýÂ˹©ÇóÐÅÏ¢ÄÚÈÝedit by pc 20090721
  1304. function IsSpamInfo($tmpstr)
  1305. {
  1306. $spamstr = "ÑøÖ³ ·¢Æ± ÖÆÒ °á¼Ò ÉÀ ¿Õµ÷ ÑÌ´Ñ ±£ÏʼÁ µçÀ װÐÞ ¹¤×÷·þ Åàѵ ÏãÑÌ Èâ ÎÀÐǽÓÊÕÆ÷ Î÷·þ ë·¢ ÏãÑÌ ¾¯½ä ½ÌÓý µçÊÓ Ë°Æ± ÄÚÒ Íí±¨ ²è ¿ªËø ÃÅ¿¨ Å£Ñò ÒûÓÃË® Ь Ö°Òµ×° ÊÖ»ú¶¨Î» ½¡¿µÖ¤ дÂÛÎÄ ¾»Ë® µç´Å¯ ҽѧ Ô°ÁÖ ¸ÐÓ¦ÃÅ ÃÀÈÝ ¹âÀ ÓðÈÞ·þ ÀºÇò¼Ü »úƱ Ë®´¦Àí ¼Ò¾ß ¿ªËø ¿Õµ÷ ÂÃÓÎ ÑÌ´Ñ ÈÈË®Æ÷ ÎÞ·ì¸Ö¹Ü ¹Ü²Ä ÊÖ»ú ³èÎï Ç®°ü ΢²¨Â¯ ͸ÊÓÒÇ ö¦ºÅ ĦÍгµ ³ÆÖØѹÁ¦´«¸ÐÆ÷ À©¿Ú»ú ´´ËÜ»ú ÊÕ¹º µ¯»É ÄÚÒ ÕÐÉÌ °ìÕÕ ÏÔ΢¾µ ÈÈ´¦Àí ÍøÂç ש»ú Èí¼þ ²»Ðâ¸Ö°å »î¶¯²ß»® ²É¼¯Æ÷ É°½¬ ¿óȪ »á¼Æ Å×Íè»ú ÖÆש Ë®Òø ÆÆËé ¹ñ ÍøÂç ·õ»¯ ¼õËÙ Æƽ⠰ìÖ¤ ÏãÑÌ ·çÅú ²»Ðâ¸Ö°å Á÷·ç»ú ÅÅÃû ͯװ º¸ÖÎ¾ß µØů ѹÖý»ú »¨¸ÚÑÒ °¢Àï°Í°Í ±£½à ¾Æµê ½üÊÓ ÆÆËé»ú ÆÀ¹À ÖÎÁÆ ²©¿Í ÐźŠÊÖÌ× ¿ìÔË ¸Ö¹Ü ¶ùͯ ¾«ÓÍ Ò½Ôº ÉãÏñ»ú ÓÎÀÖ³¡ ¶þÊÖÍÚ¾ò»ú";
  1307. $spamstrs = explode(" ",$spamstr);
  1308. $spamcount = 0;
  1309. for($i=0;$i<count($spamstrs);$i++)
  1310. {
  1311. if(strpos($tmpstr, $spamstrs[$i])>0)
  1312. {
  1313. echo $spamstrs[$i];
  1314. $spamcount += 1;
  1315. }
  1316. }
  1317. if($spamcount==0)
  1318. return false;
  1319. else
  1320. return true;
  1321. }
  1322. //edit by pc 20090727
  1323. function ShowPassportMsg($msg,$gourl,$onlymsg=0,$limittime=0,$sid,$uid,$action="")
  1324. {
  1325. global $dsql,$cfg_ver_lang;
  1326. $WebSites = "www.keyin.cn|news.keyin.cn|people.keyin.cn|library.keyin.cn|yp.keyin.cn|bak.keyin.cn|news1.keyin.cn";
  1327. $PassportSite = "";
  1328. $arrWebSites = explode("|",$WebSites);
  1329. for($i=0;$i<count($arrWebSites);$i++)
  1330. {
  1331. if($arrWebSites[$i]!=$sid)
  1332. {
  1333. if($action=="exit")
  1334. {
  1335. $PassportSite = $PassportSite."<script src=\"http://".$arrWebSites[$i]."/include/pass.php?uid=".$uid."&t=".time()."&action=exit\"></script>\r\n";
  1336. }
  1337. else
  1338. {
  1339. $PassportSite = $PassportSite."<script src=\"http://".$arrWebSites[$i]."/include/pass.php?uid=".$uid."&t=".time()."\"></script>\r\n";
  1340. }
  1341. }
  1342. }
  1343. if( eregi("^gb",$cfg_ver_lang) ) $cfg_ver_lang = 'gb2312';
  1344. $htmlhead = "<html>\r\n<head>\r\n<title>Keyinºǫ́ ϵͳÌáʾ</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset={$cfg_ver_lang}\" />\r\n";
  1345. $htmlhead .= "<base target='_self'/>\r\n</head>\r\n<body leftmargin='0' topmargin='0'>\r\n<center>\r\n".$PassportSite."<script>\r\n";
  1346. $htmlfoot = "</script>\r\n</center>\r\n</body>\r\n</html>\r\n";
  1347. if($limittime==0) $litime = 5000;
  1348. else $litime = $limittime;
  1349. if($gourl=="-1"){
  1350. if($limittime==0) $litime = 5000;
  1351. $gourl = "javascript:history.go(-1);";
  1352. }
  1353. if($gourl==""||$onlymsg==1){
  1354. $msg = "<script>alert(\"".str_replace("\"","¡°",$msg)."\");</script>";
  1355. }else{
  1356. $func = " var pgo=0;
  1357. function JumpUrl(){
  1358. if(pgo==0){ location='$gourl'; pgo=1; }
  1359. }\r\n";
  1360. $rmsg = $func;
  1361. $rmsg .= "document.write(\"<br/><div style='width:400px;padding-top:4px;height:24;font-size:10pt;border-left:1px solid #b9df92;border-top:1px solid #b9df92;border-right:1px solid #b9df92;background-color:#def5c2;'>Keyinºǫ́ ÌáʾÐÅÏ¢£º</div>\");\r\n";
  1362. $rmsg .= "document.write(\"<div style='width:400px;height:100;font-size:10pt;border:1px solid #b9df92;background-color:#f9fcf3'><br/><br/>\");\r\n";
  1363. $rmsg .= "document.write(\"".str_replace("\"","¡°",$msg)."\");\r\n";
  1364. $rmsg .= "document.write(\"";
  1365. if($onlymsg==0){
  1366. if($gourl!="javascript:;" && $gourl!=""){ $rmsg .= "<br/><br/><a href='".$gourl."'>Èç¹ûÄãµÄä¯ÀÀÆ÷û·´Ó¦£¬Çëµã»÷ÕâÀï...</a>"; }
  1367. $rmsg .= "<br/><br/></div>\");\r\n";
  1368. if($gourl!="javascript:;" && $gourl!=""){ $rmsg .= "setTimeout('JumpUrl()',$litime);"; }
  1369. }else{ $rmsg .= "<br/><br/></div>\");\r\n"; }
  1370. $msg = $htmlhead.$rmsg.$htmlfoot;
  1371. }
  1372. if(isset($dsql) && is_object($dsql)) @$dsql->Close();
  1373. echo $msg;
  1374. }
  1375. //edit by pc 20090803
  1376. function GetBookCategoryName($cid)
  1377. {
  1378. global $dsql;
  1379. $sql = "select cat_name from ecs_category where cat_id = $cid";
  1380. $row = $dsql->GetOne($sql);
  1381. return cn_substr($row['cat_name'],8,0);
  1382. }
  1383. //edit by pc 20090803
  1384. function GetMagazineCategory($cid)
  1385. {
  1386. global $dsql;
  1387. $typeids = explode(",",$cid);
  1388. if(count($typeids)>1) $tid = $typeids[1];
  1389. else $tid = 4;
  1390. $sql = "select typename from ky_arctype where id = $tid";
  1391. $row = $dsql->GetOne($sql);
  1392. return "<a href=/plus/list.php?tid=".$tid." class='cBlack d_line f14' target='_blank'>".$row['typename']."</a>";
  1393. }
  1394. //edit by tl 20110309
  1395. function GetMagazineCategor

Large files files are truncated, but you can click here to view the full file