博客开放注册并用ruleuser接管用户中心

行云流水
2023-03-25 / 1 评论 / 281 阅读 / 正在检测是否收录...

前言

前一段时间上线了app,网站一直没有开放注册。两方是割裂的,最近有时间。还是用ruleuser接管了博客的用户中心。特此记录配置过程。

配置

获取源码

上传

configs.js

和博客整合

只允许登录后评论

function.php

function toLogin($token,$uid){
    //  如果不存在就写入 Cookie
    Typecho_Cookie::set('__typecho_token', $token);
    Typecho_Cookie::set('__typecho_token_uid', $uid);
    if($uid==0){
        Typecho_Cookie::set('__typecho_token', 0);
        Typecho_Cookie::set('__typecho_token_uid', 0);
        Typecho_Cookie::delete('__typecho_token');
        Typecho_Cookie::delete('__typecho_token_uid');
    }
}

function getLogin(){
    if (empty($recording = Typecho_Cookie::get('__typecho_token'))) {

        return 0;
    } else {
        $uid = Typecho_Cookie::get('__typecho_token_uid');
        return $uid;
    }
}

function quitUser(){
    Typecho_Cookie::set('__typecho_token', 0);
    Typecho_Cookie::set('__typecho_token_uid', 0);
    Typecho_Cookie::delete('__typecho_token');
    Typecho_Cookie::delete('__typecho_token_uid');
}

//根据字段获取用户信息
function userInfo($value,$uid)
{
    $db   = Typecho_Db::get();
    $prow = $db->fetchRow($db->select($value)->from('table.users')->where('uid = ?', $uid));
    $text = $prow[$value];

    return $text;
}

header.php

<?php
    if(isset( $_POST["token"])){
        $token =  $_POST["token"];
        $uid =  $_POST["uid"];
        toLogin($token,$uid);
    }
    if(isset( $_GET["quit"])){
        toLogin(0,0);
    }
?>

comment.php

   <?php if(getLogin()!=0) : ?>
   ...
   <?php else: ?>
      <div class="joe_comment__close">
        <span>只有<a href="javascript:;"  onclick="UserLogin()" rel="noopener noreferrer nofollow">登录/注册</a>用户才可评论</span>
        </div>
   <?php endif; ?>   

相关文章

IT技术家园app部署上线过程记录

参考

RuleUser安装及配置教程
使用RuleUser接管Typecho用户中心教程 - 星泽V社

评论 (1)

取消
只有登录/注册用户才可评论
  1. 头像
    chenmo
    中国湖南省 · Windows 10 · Google Chrome
    沙发

    用ruleuser的免费版,可以吗?

    回复
    1. 头像
      行云流水 作者
      中国江苏省 · MacOS · Google Chrome
      @ chenmo

      你可以自己测试下,我因为发现免费版有一个bug。去问作者,作者说太忙。来不及更新,我就买了付费版。

      回复