Typecho如何判断是否加密文章
admin
撰写于 2023年 04月 05 日

Typecho如何判断是否加密文章

typecho判断加密文章的方法

if ($this->hidden) {
    //是加密文章并且未解锁
} else {
    //不是加密文章或者已解锁
}

下面是老的判断方法:

代码摘自后台然后修改了一下,完整代码如下(这个是最初的方法,等于是上面新方法的详细说明,建议使用上面的新方法)

if (isset($this->password) && $this->password !== Typecho_Cookie::get('protectPassword') && $this->authorId !== $this->user->uid && !$this->user->pass('editor', true)) {
    //是加密文章并且未解锁
} else {
    //不是加密文章或者已解锁
}

//解释一下这几个因素:文章设置了密码 且 输入的密码不正确 且 用户不是作者 且 用户无编辑及以上权限
如果单纯的只判断是否加密文章,只用第一个因素isset($this->password)就行。

Typecho如何判断是否加密文章

Typecho如何判断是否加密文章

typecho判断加密文章的方法

if ($this->hidden) {
    //是加密文章并且未解锁
} else {
    //不是加密文章或者已解锁
}

下面是老的判断方法:

代码摘自后台然后修改了一下,完整代码如下(这个是最初的方法,等于是上面新方法的详细说明,建议使用上面的新方法)

if (isset($this->password) && $this->password !== Typecho_Cookie::get('protectPassword') && $this->authorId !== $this->user->uid && !$this->user->pass('editor', true)) {
    //是加密文章并且未解锁
} else {
    //不是加密文章或者已解锁
}

//解释一下这几个因素:文章设置了密码 且 输入的密码不正确 且 用户不是作者 且 用户无编辑及以上权限
如果单纯的只判断是否加密文章,只用第一个因素isset($this->password)就行。

赞 (0)

猜您想看

评论区(2条评论)

我要评论


小白
LV1

我的还在用0.9版本 用的默认文章加密 第一次输入密码正确能打开 后面就一直说密码错误 是什么原因啊?

/** 处理密码保护流程 */
if (!empty($value['password']) &&
$value['password'] != $this->request->protectPassword &&
$value['authorId'] != $this->user->uid &&
!$this->user->pass('editor', true)) {
$value['hidden'] = true;

/** 抛出错误 */
if ($this->request->isPost() && isset($this->request->protectPassword)) {
throw new Typecho_Widget_Exception(_t('对不起,您输入的密码错误'), 403);
}
}

$value = $this->pluginHandle(__CLASS__)->filter($value, $this);

/** 如果访问权限被禁止 */
if ($value['hidden']) {
$value['text'] = '

' .
'

' . _t('请输入密码访问') . '

' .
'


' .
'

';

//$value['title'] = _t('此内容被密码保护');
$value['tags'] = array();
$value['commentsNum'] = 0;
}

return $value;
}

admin
博主
小白

去更新最新版本吧