Example #1
0
 /**
  * session初始化
  *
  * @param array $config
  *
  * @throws \Think\Exception\Exception
  */
 public static function init(array $config = array())
 {
     if (empty($config)) {
         $config = Config::get('session');
     }
     // 记录初始化信息
     APP_DEBUG && Log::record('[ SESSION ] INIT ' . var_export($config, true), 'info');
     $isDoStart = false;
     if (isset($config['use_trans_sid'])) {
         ini_set('session.use_trans_sid', $config['use_trans_sid'] ? 1 : 0);
     }
     // 启动session
     if (!empty($config['auto_start']) && PHP_SESSION_ACTIVE != session_status()) {
         ini_set('session.auto_start', 0);
         $isDoStart = true;
     }
     if (isset($config['prefix'])) {
         self::$prefix = $config['prefix'];
     }
     if (isset($config['var_session_id']) && isset($_REQUEST[$config['var_session_id']])) {
         session_id($_REQUEST[$config['var_session_id']]);
     } elseif (isset($config['id']) && !empty($config['id'])) {
         session_id($config['id']);
     }
     if (isset($config['name'])) {
         session_name($config['name']);
     }
     if (isset($config['path'])) {
         session_save_path($config['path']);
     }
     if (isset($config['domain'])) {
         ini_set('session.cookie_domain', $config['domain']);
     }
     if (isset($config['expire'])) {
         ini_set('session.gc_maxlifetime', $config['expire']);
         ini_set('session.cookie_lifetime', $config['expire']);
     }
     if (isset($config['use_cookies'])) {
         ini_set('session.use_cookies', $config['use_cookies'] ? 1 : 0);
     }
     if (isset($config['cache_limiter'])) {
         session_cache_limiter($config['cache_limiter']);
     }
     if (isset($config['cache_expire'])) {
         session_cache_expire($config['cache_expire']);
     }
     if (!empty($config['type'])) {
         // 读取session驱动
         $class = (!empty($config['namespace']) ? $config['namespace'] : '\\Supe\\Core\\Session\\Driver\\') . ucwords($config['type']);
         // 检查驱动类
         if (!class_exists($class) || !session_set_save_handler(new $class($config))) {
             throw new \Supe\Exception\Exception('error session handler', 11700);
         }
     }
     if ($isDoStart) {
         session_start();
         self::$active = true;
     }
 }
Example #2
0
 function uploadAction()
 {
     $appId = Config::get('uploader.app_id');
     $secretKey = Config::get('uploader.secret_key');
     $key = 'filename';
     $policy = array('file_type' => 'image', 'max_size' => '1000');
     $input = self::createQuery($appId, $secretKey, $key, $policy, TIMESTAMP + 300, '');
     $this->assign('input', $input);
     $this->render('upload');
 }
Example #3
0
 /**
  * 数据库连接参数解析
  *
  * @static
  * @access private
  *
  * @param mixed $config
  *
  * @return array
  */
 private static function parseConfig($config = '')
 {
     if (empty($config)) {
         $config = Config::get('database');
     } elseif (is_string($config) && false === strpos($config, '/')) {
         // 支持读取配置参数
         $config = Config::get($config);
     }
     if (is_string($config)) {
         return self::parseDsn($config);
     } else {
         return $config;
     }
 }
Example #4
0
<?php

header("Content-type:text/html;charset=utf-8");
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 开启调试模式
define('APP_DEBUG', true);
// 在ADMIN中
define('IN_ADMIN', APP_DEBUG);
// 加载框架引导文件
require __DIR__ . '/../base.php';
use Supe\Core\Config;
##############################################
define('CDNSALT', '?20160601');
define('STATIC_ADMIN_URL', Config::get('static_url.admin'));
define('STATIC_COMMON_URL', Config::get('static_url.common'));
define('STATIC_WAP_URL', Config::get('static_url.wap'));
\App\Admin\Control\AdminBaseControl::run();
Example #5
0
 /**
  * 实时写入日志信息 并支持行为
  *
  * @param mixed $msg 调试信息
  * @param string $type 信息类型
  *
  * @return bool
  */
 public static function write($msg, $type = 'log')
 {
     if (!is_string($msg)) {
         $msg = var_export($msg, true);
     }
     // 封装日志信息
     $log[] = array('type' => $type, 'msg' => $msg);
     if (is_null(self::$driver)) {
         self::init(Config::get('log'));
     }
     // 写入日志
     return self::$driver->save($log);
 }
Example #6
0
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 开启调试模式
define('APP_DEBUG', true);
// 在ADMIN中
define('IN_ADMIN', APP_DEBUG);
// 加载框架引导文件
require __DIR__ . '/../base.php';
use Supe\Core\Config;
use Supe\Wechat\Server;
use Supe\Wechat\Message;
use Supe\Wechat\QRCode;
##############################################
$log = array('_SERVER' => $_SERVER, '_POST' => $_POST, '_GET' => $_GET, 'xml' => file_get_contents('php://input'));
file_put_contents(__DIR__ . '/1.log', print_r($log, 1));
$config = Config::get('wechat');
define('WX_APPID', $config['appId']);
define('WX_APPSECRET', $config['appSecret']);
define('WX_TOKEN', $config['token']);
define('WX_ENCODINGAESKEY', $config['encodingAESKey']);
$server = new Server(WX_APPID, WX_TOKEN, WX_ENCODINGAESKEY);
$server->on('event', 'subscribe', 'eventSubscribe');
//扫码事件
$server->on('event', 'scan', 'eventScan');
$server->on('message', 'text', 'messageText');
$result = $server->serve();
echo $result;
function eventSubscribe($event)
{
    return Message::make('text')->content('您好!欢迎关注' . print_r($event, 1));
}
Example #7
0
defined('ROOT_PATH') or define('ROOT_PATH', dirname(APP_PATH) . DS);
defined('DATA_PATH') or define('DATA_PATH', SUPE_PATH . 'data' . DS);
defined('LOG_PATH') or define('LOG_PATH', DATA_PATH . 'log' . DS);
defined('CACHE_PATH') or define('CACHE_PATH', DATA_PATH . 'cache' . DS);
defined('TEMP_PATH') or define('TEMP_PATH', DATA_PATH . 'temp' . DS);
defined('CONF_PATH') or define('CONF_PATH', DATA_PATH . 'config' . DS);
// 配置目录
defined('IS_API') or define('IS_API', false);
// 环境常量
define('IS_CLI', PHP_SAPI == 'cli' ? true : false);
define('IS_WIN', strpos(PHP_OS, 'WIN') !== false);
// 基础类引入
require __DIR__ . '/system/Core/Loader.php';
require __DIR__ . '/system/Core/Config.php';
require __DIR__ . '/system/Core/Error.php';
require __DIR__ . '/system/Core/Cookie.php';
use Supe\Core\Loader;
use Supe\Core\Config;
use Supe\Core\Error;
use Supe\Core\Cookie;
// 类库载入
Loader::addNamespace('Supe', LIB_PATH);
Loader::addNamespace('App', APP_PATH);
Loader::register();
//错误信息收集
Error::register();
//配置信息
Config::load(CONF_PATH . 'bootstrap.inc.php');
//Cookie配置
Cookie::init(Config::get('cookie'));
Example #8
0
 /**
  * 输出异常信息
  *
  * @param  \Exception $exception
  * @param  array $data 异常信息
  *
  * @return void
  */
 public static function output($exception, array $data)
 {
     self::httpResponseCode($exception instanceof Exception ? $exception->getHttpStatus() : 500);
     $type = Config::get('default_return_type');
     if (!APP_DEBUG && !Config::get('show_error_msg')) {
         // 不显示详细错误信息
         $data['message'] = Config::get('error_message');
         ##}
         ##if (IS_API && 'html' != $type) {
         // 异常信息输出监听
         ##APP_HOOK && Hook::listen('error_output', $data);
         // 输出异常内容
         ##Response::send($data, $type, Config::get('response_return'));
     } else {
         //ob_end_clean();
         extract($data);
         //             var_dump(Config::get('exception_tmpl'));exit;
         include Config::get('exception_tmpl');
     }
 }