SettingService.class.php 2.74 KB
<?php
/**
 * Created by PhpStorm.
 * User: liyifei2012it
 * Date: 17/5/18
 * Time: 11:37
 */

namespace Common\Service;

use Common\Common\Cache;
use Common\Model\SettingModel;

class SettingService extends AbstractService
{
    // 不审核
    const NOT_CHECK = 0;

    // 审核
    const CHECK = 1;

    // 开启匿名评论
    const ADMIN_ANONYMOUS_OPEN = 1;

    // 关闭匿名评论
    const ADMIN_ANONYMOUS_CLOSE = 2;

    // 构造方法
    public function __construct()
    {

        parent::__construct();
        $this->_d = new SettingModel();

    }

    /**
     * 获取是否开启发布审核权限
     * @return int
     */
    public function get_is_check()
    {
        // 获取缓存信息
        $setting = Cache::instance()->get('Common.AppSetting');

        // 如果值不是数字
        if (!is_numeric($setting['is_check']['value'])) {
            // 默认不需要审核
            $is_check = self::NOT_CHECK;
            // 获取审核状态
            $check_status = cfg('QUESTION_REQUIRE_CHECK');
            // 如果需要审核
            if ($check_status) {
                $is_check = self::CHECK;
            }
        } else {
            $is_check = intval($setting['is_check']['value']);
        }

        return $is_check;
    }

    /**
     * 获取是否开启回答审核权限
     * @return int
     */
    public function get_is_answer_check()
    {
        // 获取缓存信息
        $setting = Cache::instance()->get('Common.AppSetting');

        // 如果值不是数字
        if (!is_numeric($setting['is_answer_check']['value'])) {
            // 默认不需要审核
            $is_answer_check = self::NOT_CHECK;
            // 获取审核状态
            $check_status = cfg('QUESTION_REQUIRE_CHECK');
            // 如果需要审核
            if ($check_status) {
                $is_answer_check = self::CHECK;
            }
        } else {
            $is_answer_check= intval($setting['is_answer_check']['value']);
        }

        return $is_answer_check;
    }


    /**
     * 获取迭代后的数据
     * @return array
     */
    public function get_setting_data()
    {
        // 获取缓存数据
        $setting = Cache::instance()->get('Common.AppSetting');

        return [
            $setting['anonymous']['value'] ? $setting['anonymous']['value'] : 2,
            $setting['is_answer']['value']?$setting['is_answer']['value']:0,
            $setting['is_invite']['value']?$setting['is_invite']['value']:0,
            $setting['invite_right']['value']?$setting['invite_right']['value']:2,
            $setting['invite_number']['value']? $setting['invite_number']['value']:0,
            $setting['invite_max_man']['value']?$setting['invite_max_man']['value']:0,
        ];
    }

}