SeaCMS支持斜杠分隔符

分别编辑 /include/common.file.func.php 文件第1411行和/include/common.redis.func.php 文件第1424行,找到

function getKeywordsList($key,$span){
    if($key=='')return $key;
    $keyWordsStr="";
    $keystr=str_replace(",",",",$key);
    if (strpos($keystr,",")>0){$keyWordsArray=explode(",",$keystr);}else{$keyWordsArray=explode(" ",$keystr);}
    for($kli=0;$kli<count($keyWordsArray);$kli++){
        $keyWordsStr.="<a href='/".$GLOBALS['cfg_cmspath']."search.php?searchword=".urlencode($keyWordsArray[$kli])."'>".$keyWordsArray[$kli]."</a>".$span;
    }
    return $keyWordsStr;
}

function getJqList($key,$span){
    if($key=='')return $key;
    $keyWordsStr="";
    $keystr=str_replace(",",",",$key);
    if (strpos($keystr,",")>0){$keyWordsArray=explode(",",$keystr);}else{$keyWordsArray=explode(" ",$keystr);}
    for($kli=0;$kli<count($keyWordsArray);$kli++){
        $keyWordsStr.="<a href='/".$GLOBALS['cfg_cmspath']."search.php?searchtype=5&jq=".urlencode($keyWordsArray[$kli])."'>".$keyWordsArray[$kli]."</a>".$span;
    }
    return $keyWordsStr;
}

- 阅读剩余部分 -

给SeaCMS增加一个相似名称+同导演+同演员三个条件同时存在的标签

在内容页调用相关影片时,常用的标签有
rel=r 像似名称影片
rel=d 同导演影片
rel=y 同演员影片
这三个标签在一个循环内只能单独使用,当使用rel=r调用相似名称影片的数量非常少时,可能无法填满预留位置,严重影响页面美观。

解决方法:增加一个支持相似名字+同导演+同演员三个条件同时存在的标签

动态模式:
编辑 /include/main.class.php 文件第1379行

            $rel_d = explode ( ",", str_replace ( " ", ",", $zrel ['0']->v_director ) );
            $rel_y = explode ( ",", str_replace ( " ", ",", $zrel ['0']->v_actor ) );
            $rel_r = substr ( $zrel ['0']->v_name, 0, 9 );
            unset ( $zrel );
            switch ($vrel) {
                case "d" :
                    foreach ( $rel_d as $value ) {
                        $d_str .= "'%" . $value . "%'#";
                    }
                    $d_str = rtrim ( $d_str, "#" );
                    $d_str = str_replace ( "#", " or m.v_director like ", $d_str );
                    $whereRel = " and m.v_director like $d_str ";
                    break;
                case "y" :
                    foreach ( $rel_y as $value ) {
                        $y_str .= "'%" . $value . "%'#";
                    }
                    $y_str = rtrim ( $y_str, "#" );
                    $y_str = str_replace ( "#", " or m.v_actor like ", $y_str );
                    $whereRel = " and (m.v_actor like $y_str) ";
                    break;
                case "r" :
                    $whereRel = " and m.v_name like '%$rel_r%'";
                    break;

下方插入

                case "l":
                    foreach ( $rel_d as $value ) {
                        $d_str .= "'%" . $value . "%'#";
                    }
                    $d_str = rtrim ( $d_str, "#" );
                    $d_str = str_replace ( "#", " or m.v_director like ", $d_str );
                    foreach ( $rel_y as $value ) {
                        $y_str .= "'%" . $value . "%'#";
                    }
                    $y_str = rtrim ( $y_str, "#" );
                    $y_str = str_replace ( "#", " or m.v_actor like ", $y_str );
                    $whereRel=" and (m.v_name like '%$rel_r%' or (m.v_director like $d_str) or (m.v_actor like $y_str) )";
                    break;

静态模式:
编辑 /include/main2.class.php 文件第1372行

            $rel_d = explode ( ",", str_replace ( " ", ",", $zrel ['0']->v_director ) );
            $rel_y = explode ( ",", str_replace ( " ", ",", $zrel ['0']->v_actor ) );
            $rel_r = substr ( $zrel ['0']->v_name, 0, 9 );
            unset ( $zrel );
            switch ($vrel) {
                case "d" :
                    foreach ( $rel_d as $value ) {
                        $d_str .= "'%" . $value . "%'#";
                    }
                    $d_str = rtrim ( $d_str, "#" );
                    $d_str = str_replace ( "#", " or m.v_director like ", $d_str );
                    $whereRel = " and m.v_director like $d_str ";
                    break;
                case "y" :
                    foreach ( $rel_y as $value ) {
                        $y_str .= "'%" . $value . "%'#";
                    }
                    $y_str = rtrim ( $y_str, "#" );
                    $y_str = str_replace ( "#", " or m.v_actor like ", $y_str );
                    $whereRel = " and m.v_actor like $y_str ";
                    break;
                case "r" :
                    $whereRel = " and m.v_name like '%$rel_r%'";
                    break;

下方插入

                case "l":
                    foreach ( $rel_d as $value ) {
                        $d_str .= "'%" . $value . "%'#";
                    }
                    $d_str = rtrim ( $d_str, "#" );
                    $d_str = str_replace ( "#", " or m.v_director like ", $d_str );
                    foreach ( $rel_y as $value ) {
                        $y_str .= "'%" . $value . "%'#";
                    }
                    $y_str = rtrim ( $y_str, "#" );
                    $y_str = str_replace ( "#", " or m.v_actor like ", $y_str );
                    $whereRel=" and (m.v_name like '%$rel_r%' or (m.v_director like $d_str) )";
                    break;

SeaCMS地图页按首字母调用时0-9内容不显示的解决方法

编辑 /include/main.class.php 文件第1294行,将

if(!empty($vletter)) $whereLetter=" and m.v_letter ='".strtoupper($vletter)."' "; else $whereLetter="";

修改为

if(!empty($vletter))if(strlen($vletter)>1){$whereLetter=" and m.v_letter  between '0' and '9'";}else{$whereLetter=" and m.v_letter ='".strtoupper($vletter)."' ";} else $whereLetter="";

SeaCMS播放页if判断无效的解决方法

常用判断(用于显示当前播放来源):

{playpage:playlist}<dd id="[playlist:ename]"{if:'{playpage:from}'<>'[playlist:from]'} style="display: none;"{else} style="display: block;"{end if}><p>资源来自<strong>[playlist:from]</strong>,[playlist:intro]</p><ul>[playlist:link]</ul></dd>{/playpage:playlist}

{playpage:playlist}{if:{playpage:from}==[playlist:from]}'#[playlist:ename]'{end if}{/playpage:playlist}

但上面的判断在最新版本,即6.46版中无效。

- 阅读剩余部分 -

tar命令常用参数

常用选项

-z --gzip:使用gzip工具(解)压缩,后缀一般为.gz
-c --create:tar打包,后缀一般为.tar
-f --file=:后面立刻接打包或压缩后得到的文件名
-x --extract:解包命令,与-c对应
-p 保留备份数据的原本权限和属性
-g 后接增量备份的快照文件
-C 指定解压缩的目录
--exclude 排除不打包的目录或文件,支持正则匹配

辅助选项

-X --exclude-from:在一个文件中列出要排除的目录或文件(在--exclude=较多时使用)
-t --list:列出备份档案中的文件列表,不与-c、-x同时出现
-j --bzip2:使用bzip2工具(解)压缩,后缀一般为.bz2
-P 保留绝对路径,解压时同样会自动解压到绝对路径下
-v (解)压缩过程显示文件处理过程,常用但不建议对大型文件使用