📄 正在查看:twcms/model/only_alias_model.class.php
1<?php
2/**
3 * (C)2012-2014 twcms.com TongWang Inc.
4 * Author: wuzhaohuan <kongphp@gmail.com>
5 */
6
7defined('TWCMS_PATH') or exit;
8
9class only_alias extends model {
10 function __construct() {
11 $this->table = 'only_alias'; // 表名
12 $this->pri = array('alias'); // 主键
13 }
14
15 // 检查别名是否已被使用
16 // 1.先排除 tag comment 的别名
17 // 2.再排除保留关键词 (tag tag_top comment index sitemap admin user space)
18 // 3.再排除分类表的 alias 字段
19 // 4.排除only_alias表的 alias 字段
20 public function check_alias($alias) {
21 if(!preg_match('/^\w+$/', $alias)) {
22 return '别名只能是 英文 数字 _';
23 }
24
25 $cfg = $this->runtime->xget();
26 $keywords = $this->kv->xget('link_keywords'); // 保留关键词
27
28 if(isset($cfg['link_tag_pre']) && $alias == $cfg['link_tag_pre']) {
29 return '已经被标签URL使用';
30 }elseif(isset($cfg['link_comment_pre']) && $alias == $cfg['link_comment_pre']) {
31 return '已经被评论URL使用';
32 }elseif(in_array($alias, $keywords)) {
33 return '不允许使用保留关键词';
34 }elseif($this->category->find_fetch_key(array('alias'=> $alias))) {
35 return '已经被其它分类别名使用';
36 }elseif($this->find_fetch_key(array('alias'=> $alias))) {
37 return '已经被其它内容别名使用';
38 }
39
40 return '';
41 }
42}
43