1、完善前端模板功能

2、完善伪静态规则设置
This commit is contained in:
2020-04-17 16:46:32 +08:00
parent ce9b63dda1
commit 83ce571a3f
6 changed files with 135 additions and 57 deletions

View File

@@ -83,6 +83,40 @@ function get_client_ip($type = 0, $adv = false) {
return $ip[$type];
}
/**
* 字符串截取,支持中文和其他编码
* @static
* @access public
* @param string $str 需要转换的字符串
* @param string $start 开始位置
* @param string $length 截取长度
* @param string $charset 编码格式
* @param string $suffix 截断显示字符
* @return string
*/
function msubstr($str, $start = 0, $length, $charset = "utf-8", $suffix = true) {
if (function_exists("mb_substr")) {
$slice = mb_substr($str, $start, $length, $charset);
} elseif (function_exists('iconv_substr')) {
$slice = iconv_substr($str, $start, $length, $charset);
if (false === $slice) {
$slice = '';
}
} else {
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset], $str, $match);
$slice = join("", array_slice($match[0], $start, $length));
}
if (strlen($slice) == strlen($str)) {
return $slice;
} else {
return $suffix ? $slice . '...' : $slice;
}
}
/**
* 根据用户ID获取用户名
* @param integer $uid 用户ID
@@ -202,36 +236,20 @@ function get_attach($id, $field = null) {
if (empty($id)) {
return $basePath . '/static/images/default.png';
}
$picture = \think\facade\Db::name('Attach')->where(array('id' => $id))->find();
if ($field == 'path') {
if (!empty($picture['url'])) {
$picture['path'] = $picture['url'] ? $$basePath . $picture['url'] : $$basePath . '/static/images/default.png';
} else {
$picture['path'] = $picture['path'] ? $$basePath . $picture['path'] : $$basePath . '/static/images/default.png';
if (false !== strpos($id, ",")) {
$map[] = ['id', 'IN', explode(",", $id)];
$picture = \think\facade\Db::name('Attach')->where($map)->column("*", "id");
return $picture;
}else{
$map[] = ['id', '=', $id];
$picture = \think\facade\Db::name('Attach')->where($map)->find();
if ($field == 'path') {
if (!empty($picture['url'])) {
$picture['path'] = $picture['url'] ? $basePath . $picture['url'] : $basePath . '/static/images/default.png';
} else {
$picture['path'] = $picture['path'] ? $basePath . $picture['path'] : $basePath . '/static/images/default.png';
}
}
return empty($field) ? $picture : $picture[$field];
}
return empty($field) ? $picture : $picture[$field];
}
/**
* 获取文档封面图片
* @param int $cover_id
* @param string $field
* @return 完整的数据 或者 指定的$field字段值
* @author huajie <banhuajie@163.com>
*/
function get_cover($cover_id, $field = null) {
if (empty($cover_id)) {
return BASE_PATH . '/static/images/default.png';
}
$base_path = "";
$picture = \think\facade\Db::name('Picture')->where(array('status' => 1, 'id' => $cover_id))->find();
if ($field == 'path') {
if (!empty($picture['url'])) {
$picture['path'] = $picture['url'] ? $base_path . $picture['url'] : $base_path . '/static/images/default.png';
} else {
$picture['path'] = $picture['path'] ? $base_path . $picture['path'] : $base_path . '/static/images/default.png';
}
}
return empty($field) ? $picture : $picture[$field];
}