<?php
/*
[Jason System] Copyright (c) 2008-2013 zhisg.COM
This is NOT a freeware, use is subject to license.txt
*/
defined('IN_DESTOON') or exit('Access Denied');
function encrypt($txt, $key = '') {
$key or $key = DT_KEY;
$rnd = random(32);
$len = strlen($txt);
$ctr = 0;
$str = '';
for($i = 0; $i < $len; $i++) {
$ctr = $ctr == 32 ? 0 : $ctr;
$str .= $rnd[$ctr].($txt[$i] ^ $rnd[$ctr++]);
}
return str_replace('=', '', base64_encode(kecrypt($str, $key)));
}
function decrypt($txt, $key = '') {
$key or $key = DT_KEY;
$txt = kecrypt(base64_decode($txt), $key);
$len = strlen($txt);
$str = '';
for($i = 0; $i < $len; $i++) {
$tmp = $txt[$i];
$str .= $txt[++$i] ^ $tmp;
}
return $str;
}
function kecrypt($txt, $key) {
$key = md5($key);
$len = strlen($txt);
$ctr = 0;
$str = '';
for($i = 0; $i < $len; $i++) {
$ctr = $ctr == 32 ? 0 : $ctr;
$str .= $txt[$i] ^ $key[$ctr++];
}
return $str;
}
function strtohex($str) {
$hex = '';
$len = strlen($str);
for($i = 0; $i < $len; $i++) {
$hex .= dechex(ord($str[$i]));
}
return $hex;
}
function hextostr($hex) {
$str = '';
$len = strlen($hex);
for($i = 0; $i < $len - 1; $i += 2) {
$str .= chr(hexdec($hex[$i].$hex[$i+1]));
}
return $str;
}
function template($template = 'index', $dir = '') {
global $CFG;
$to = $dir ? DT_CACHE.'/tpl/'.$dir.'-'.$template.'.php' : DT_CACHE.'/tpl/'.$template.'.php';
$isfileto = is_file($to);
if($CFG['template_refresh'] || !$isfileto) {
if($dir) $dir = $dir.'/';
$from = DT_ROOT.'/template/'.$CFG['template'].'/'.$dir.$template.'.htm';
if($CFG['template'] != 'default' && !is_file($from)) {
$from = DT_ROOT.'/template/default/'.$dir.$template.'.htm';
}
if(!$isfileto || filemtime($from) > filemtime($to) || (filesize($to) == 0 && filesize($from) > 0)) {
require_once DT_ROOT.'/include/template.func.php';
template_compile($from, $to);
}
}
return $to;
}
function ob_template($template, $dir = '') {
extract($GLOBALS, EXTR_SKIP);
ob_start();
include template($template, $dir);
$contents = ob_get_contents();
ob_clean();
return $contents;
}
function message($dmessage = errmsg, $dforward = 'goback', $dtime = 1) {
global $CFG, $DT;
if(!$dmessage && $dforward && $dforward != 'goback') dheader($dforward);
exit(include template('message', 'message'));
}
function random($length, $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz') {
$hash = '';
$max = strlen($chars) - 1;
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
function set_cookie($var, $value = '', $time = 0) {
global $CFG, $DT_TIME;
$time = $time > 0 ? $time : (empty($value) ? $DT_TIME - 3600 : 0);
$port = $_SERVER['SERVER_PORT'] == '443' ? 1 : 0;
$var = $CFG['cookie_pre'].$var;
return setcookie($var, $value, $time, $CFG['cookie_path'], $CFG['cookie_domain'], $port);
}
function get_cookie($var) {
global $CFG;
$var = $CFG['cookie_pre'].$var;
return isset($_COOKIE[$var]) ? $_COOKIE[$var] : '';
}
function send_mail($mail_to, $mail_subject, $mail_body, $mail_from = '', $mail_sign = true) {
global $DT;
require_once DT_ROOT.'/include/mail.func.php';
$result = dmail(trim($mail_to), $mail_subject, $mail_body, $mail_from, $mail_sign);
$success = $result == 'SUCCESS' ? 1 : 0;
if($DT['mail_log']) {
// Write LOG
}
return $success;
}
function get_env($type) {
switch($type) {
case 'ip':
isset($_SERVER['HTTP_X_FORWARDED_FOR']) or $_SERVER['HTTP_X_FORWARDED_FOR'] = '';
isset($_SERVER['REMOTE_ADDR']) or $_SERVER['REMOTE_ADDR'] = '';
isset($_SERVER['HTTP_CLIENT_IP']) or $_SERVER['HTTP_CLIENT_IP'] = '';
if($_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['REMOTE_ADDR']) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
if(strpos($ip, ',') !== false) {
$tmp = explode(',', $ip);
$ip = trim(end($tmp));
}
if(is_ip($ip)) return $ip;
}
if(is_ip($_SERVER['HTTP_CLIENT_IP'])) return $_SERVER['HTTP_CLIENT_IP'];
if(is_ip($_SERVER['REMOTE_ADDR'])) return $_SERVER['REMOTE_ADDR'];
return 'unknown';
break;
case 'self':
return isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : (isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : $_SERVER['ORIG_PATH_INFO']);
break;
case 'referer':
return isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
break;
case 'domain':
return $_SERVER['SERVER_NAME'];
break;
case 'scheme':
return $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
break;
case 'port':
return $_SERVER['SERVER_PORT'] == '80' ? '' : ':'.$_SERVER['SERVER_PORT'];
break;
case 'host':
return preg_match("/^[a-z0-9_\-\.]{4,}$/i", $_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
break;
case 'url':
if(isset($_SERVER['HTTP_X_REWRITE_URL']) && $_SERVER['HTTP_X_REWRITE_URL']) {
$uri = $_SERVER['HTTP_X_REWRITE_URL'];
} else if(isset($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI']) {
$uri = $_SERVER['REQUEST_URI'];
} else {
$uri = $_SERVER['PHP_SELF'];
if(isset($_SERVER['argv'])) {
if(isset($_SERVER['argv'][0])) $uri .= '?'.$_SERVER['argv'][0];
} else {
$uri .= '?'.$_SERVER['QUERY_STRING'];
}
}
$uri = dhtmlspecialchars($uri);
return get_env('scheme').$_SERVER['HTTP_HOST'].(strpos($_SERVER['HTTP_HOST'], ':') === false ? get_env('port') : '').$uri;
break;
}
}
function convert($str, $from = 'utf-8', $to = 'gb2312') {
if(!$str) return '';
$from = strtolower($from);
$to = strtolower($to);
if($from == $to) return $str;
$from = str_replace('gbk', 'gb2312', $from);
$to = str_replace('gbk', 'gb2312', $to);
$from = str_replace('utf8', 'utf-8', $from);
$to = str_replace('utf8', 'utf-8', $to);
if($from == $to) return $str;
$tmp = array();
if(function_exists('iconv')) {
if(is_array($str)) {
foreach($str as $key => $val) {
$tmp[$key] = iconv($from, $to."//IGNORE", $val);
}
return $tmp;
} else {
return iconv($from, $to."//IGNORE", $str);
}
} else if(function_exists('mb_convert_encoding')) {
if(is_array($str)) {
foreach($str as $key => $val) {
$tmp[$key] = mb_convert_encoding($val, $to, $from);
}
return $tmp;
} else {
return mb_convert_encoding($str, $to, $from);
}
} else {
require_once DT_ROOT.'/include/convert.func.php';
return dconvert($str, $to, $from);
}
}
function dhttp($status, $exit = 1) {
switch($status) {
case '301': @header("HTTP/1.1 301 Moved Permanently"); break;
case '403': @header("HTTP/1.1 403 Forbidden"); break;
case '404': @header("HTTP/1.1 404 Not Found"); break;
case '503': @header("HTTP/1.1 503 Service Unavailable"); break;
}
if($exit) exit;
}
?>

dreamboymt
- 粉丝: 2
最新资源
- (2025)检验科生物安全培训试题(含答案).docx
- (2025)教师师德师风知识题库及答案.docx
- (2025)康复医学治疗技术(士)考试基础知识题库及与答案.docx
- (2025)科目一必考试练习题试题版及答案.docx
- (2025)科目一必考试复习题库分类与解析答案.docx
- (2025)科目一必考试练习题试题版与答案.docx
- (2025)全国《职业教育法》相关知识题库及答案.docx
- (2025)全国“质量月”企业员工全面质量管理知识竞赛题库含答案.docx
- (2025)全国保安员考试题库带答案.docx
- (2025)全国大学生人工智能知识竞赛题库及答案.docx
- (2025)全国大学生人工智能知识竞赛题库与答案.docx
- (2025)全国国家版图知识竞赛题库附带答案.docx
- (2025)全国科普日科普知识竞赛题库及答案.docx
- (2025)人文医学定期考核题库和答案.docx
- (2025)认证通用基础与管理体系认证基础试题库(附含答案).docx
- (2025)认证通用基础与管理体系认证基础试题库(含答案).docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



评论0