www.gusucode.com > KPPW众包威客PHP开源建站系统 v3.0源码程序 > KPPW/app/Modules/Manage/Model/ConfigModel.php
<?php namespace App\Modules\Manage\Model; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\Config; use Cache; class ConfigModel extends Model { protected $table = 'config'; protected $fillable = [ 'alias', 'rule', 'type', 'title', 'desc' ]; public $timestamps = false; static function getConfigByAlias($alias) { $info = ConfigModel::where('alias', $alias)->first(); if (!empty($info)) { return $info; } return false; } static function getConfigByType($type) { if(Cache::get($type)){ $info = Cache::get($type); }else{ $info = ConfigModel::where('type', $type)->get()->toArray(); Cache::put($type,$info,60*24); } if (!empty($info)) { foreach ($info as $k => $v) { if ($type == 'basic') { $result[$v['alias']] = $v['rule']; } else { if (\CommonClass::isJson($v['rule'])){ $result[$v['alias']] = json_decode($v['rule'], true); } else { $result[$v['alias']] = $v['rule']; } } } return $result; } return false; } static public function updateConfig(array $data) { foreach ($data as $k => $v) { if (is_array($v)){ $rule['rule'] = json_encode($v); } else { $rule['rule'] = $v; } self::where('alias', $k)->update($rule); } } static function getPayConfig($alias) { $config = ConfigModel::where('alias', $alias)->first()->toArray(); if (!empty($config)){ $config['rule'] = json_decode($config['rule'], true); switch ($alias){ case 'alipay': $config['rule'] = array( 'sellerEmail' => $config['rule']['sellerEmail'] ? $config['rule']['sellerEmail'] : Config::get('laravel-omnipay.gateways.alipay.options.sellerEmail'), 'partner' => $config['rule']['partner'] ? $config['rule']['partner'] : Config::get('laravel-omnipay.gateways.alipay.options.partner'), 'key' => $config['rule']['key'] ? $config['rule']['key'] : Config::get('laravel-omnipay.gateways.alipay.options.key'), ); break; case 'wechatpay': $config['rule'] = array( 'appId' => $config['rule']['appId'] ? $config['rule']['appId'] : Config::get('laravel-omnipay.gateways.wechat.options.appId'), 'appKey' => $config['rule']['appKey'] ? $config['rule']['appKey'] : Config::get('laravel-omnipay.gateways.wechat.options.appKey'), 'mchId' => $config['rule']['mchId'] ? $config['rule']['mchId'] : Config::get('laravel-omnipay.gateways.wechat.options.mchId'), ); break; case 'unionpay': $config['rule'] = array( 'merId' => $config['rule']['merId'] ? $config['rule']['merId'] : Config::get('laravel-omnipay.gateways.unionpay.options.merId'), 'certPassword' => $config['rule']['certPassword'] ? $config['rule']['certPassword'] : Config::get('laravel-omnipay.gateways.unionpay.options.certPassword'), ); break; } return $config['rule']; } } static function getOauthConfig($alias) { $url = ConfigModel::getConfigByAlias('site_url'); $config = ConfigModel::where('alias', $alias)->first()->toArray(); if (!empty($config)){ $config['rule'] = json_decode($config['rule'], true); switch ($alias){ case 'qq_api': $config['rule'] = array( 'appId' => $config['rule']['appId'] ? $config['rule']['appId'] : Config::get('services.qq.client_id'), 'appSecret' => $config['rule']['appSecret'] ? $config['rule']['appSecret'] : Config::get('services.qq.client_secret'), 'redirect' => Config::get('services.qq.redirect') ? Config::get('services.qq.redirect') : $url . '/oauth/qq/callback' ); break; case 'sina_api': $config['rule'] = array( 'appId' => $config['rule']['appId'] ? $config['rule']['appId'] : Config::get('services.weibo.client_id'), 'appSecret' => $config['rule']['appSecret'] ? $config['rule']['appSecret'] : Config::get('services.weibo.client_secret'), 'redirect' => Config::get('services.weibo.redirect') ? Config::get('services.weibo.redirect') : $url . '/oauth/weibo/callback' ); break; case 'wechat_api': $config['rule'] = array( 'appId' => $config['rule']['appId'] ? $config['rule']['appId'] : Config::get('services.weixinweb.client_id'), 'appSecret' => $config['rule']['appSecret'] ? $config['rule']['appSecret'] : Config::get('services.weixinweb.client_secret'), 'redirect' => Config::get('services.weixinweb.redirect') ? Config::get('services.weixinweb.redirect') : $url . '/oauth/weixinweb/callback' ); break; } return $config['rule']; } } }