emlog 如何实现管理员登录可见?

研究了一下emlog,下载了一个模板,使用过程中,发现没有登录可见的功能!

我想要的是管理员登录可见!

于是乎看了看官方文档:

可以直接使用的常量

变量、常量 类型 说明
Option::EMLOG_VERSION 常量 获得当前emlog版本号
ROLE 常量 当前用户角色(用户组):admin 管理员、writer 注册用户 、visitor 访客
ROLE_ADMIN 常量 admin 管理员
ROLE_WRITER 常量 writer 注册用户
ROLE_VISITOR 常量 visitor 访客
UID 常量 当前用户UID
BLOG_URL 常量 站点完整地址
ISLOGIN 常量 是否登录状态,true登录 false未登录

根据上面的文档,于是我写了一下代码!

主要是针对内容页实现登录可见!

PHP代码修改

找到文章模版echo_log.php文件。

打开,找到输出文章内容的变量$log_content

修改一番:

<?php
if(ROLE == 'admin'){
    echo styleContent($log_content);
}else{
    echo hiddenContent($log_content,'<div class="hiddenContent">涉及到机密,管理员可见</div>');
}
?>

ad1a1b7183154040

css代码美化

.hiddenContent{
    font-size: 15px;
    border: 1px dashed red;
    color: red;
    text-align: center;
    padding: 25px 0;
}

ad1a1b7183154125

PHP新增的函数

模版所在的module.php文件里,增加下面两个函数:

// 处理内容,直接输出
function styleContent($string){
   $string = str_replace(array('[hide]','[/hide]'),'',$string);
   $string = str_replace("<br />","</p><p>",$string);
   echo $string;
}
// 隐藏内容,不可见
function hiddenContent($string, $prompt) {
    $pattern = "/\[hide\](.*?)\[\/hide\]/";
    $replacement = $prompt;
    $result = preg_replace($pattern, $replacement, $string);

    return $result;
}

使用方式

后台编辑文章的时候,将你需要隐藏的内容用[hide][/hide]括起来即可!

© 版权声明
THE END
喜欢就支持一下吧
点赞16
评论 抢沙发

请登录后发表评论

    暂无评论内容