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

时间:2023年09月23日

/

来源:网络

/

编辑:佚名

研究了一下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>');
}
?>

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

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]括起来即可!
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。