Ejemplo n.º 1
0
 /**
  * 控制器执行主逻辑函数
  */
 public function invoke($uri = null)
 {
     // 调用父类初始化函数,注册自定义的异常和错误处理逻辑
     parent::init();
     $path = explode('?', $uri);
     $parts = array_slice(explode('/', $path[0]), 2);
     if ($parts[0] === "authorize") {
         $oauth = new PDOOAuth2();
         if ($_POST) {
             $oauth->finishClientAuthorization($_POST["accept"] == "Yep", $_POST);
         }
         $auth_params = $oauth->getAuthorizeParams();
         $inputs = "";
         foreach ($auth_params as $k => $v) {
             $inputs = $inputs . '<input type="hidden" name="' . $k . '" value="' . $v . '" />';
         }
         $content = '<html>' . '<head>Authorize</head>' . '<body>' . '<form method="post" action="http://web.miniyun.cn/miniyun_oauth2/api.php/1/oauth2/authorize">' . $inputs . 'Do you authorize the app to do its thing?' . '<p>' . ' <input type="submit" name="accept" value="Yep" />' . '<input type="submit" name="accept" value="Nope" />' . ' </p>' . '</form>' . '</body>' . ' </html>';
         echo $content;
     } elseif ($parts[0] === "token") {
         $oauth = new PDOOAuth2();
         $token = $oauth->grantAccessToken();
         #添加登陆日志
         $deviceId = $oauth->getVariable("device_id");
         MiniLog::getInstance()->createLogin($deviceId);
         #返回site_id,便于与cloud.miniyun.cn通信
         $token["site_id"] = MiniSiteUtils::getSiteID();
         echo json_encode($token);
     }
 }
Ejemplo n.º 2
0
 public static function instance($path = '/tmp/')
 {
     if (!self::$_instance instanceof self) {
         self::$_instance = new self($path);
     }
     return self::$_instance;
 }
Ejemplo n.º 3
0
 /**
  * 静态方法, 单例统一访问入口
  * @return object  返回对象的唯一实例
  */
 public static function getInstance()
 {
     if (is_null(self::$_instance) || !isset(self::$_instance)) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Ejemplo n.º 4
0
function wechatLog($confName, $logLevel, $errorCode, $logMessage = "no error msg")
{
    if (isLogLevelOff($logLevel)) {
        return;
    }
    $st = debug_backtrace();
    $function = "";
    $file = "";
    $line = "";
    foreach ($st as $item) {
        if ($file) {
            $function = $item['function'];
            break;
        }
        if ($item['function'] == 'interfaceLog') {
            $file = $item['file'];
            $line = $item['line'];
        }
    }
    $function = $function ? $function : "main";
    $file = explode("/", rtrim($file, "/"));
    $file = $file[count($file) - 1];
    $prefix = "[{$file}][{$function}][{$line}][{$logLevel}][{$errorCode}]";
    if ($logLevel == INFO) {
        $prefix = "[{$logLevel}]";
    }
    $logFileName = $confName . "_" . strtolower($logLevel);
    MiniLog::instance(ROOT_PATH . "/log/")->log($logFileName, $prefix . $logMessage);
    if (isLogLevelOff("DEBUG") || $logLevel == "DEBUG") {
        return;
    } else {
        MiniLog::instance(ROOT_PATH . "/log/")->log($confName . "_" . "debug", $prefix . $logMessage);
    }
}
Ejemplo n.º 5
0
function laputa_log($confName, $logLevel, $errorCode, $logMessage = "no error")
{
    if (isLogLevelOff($logLevel)) {
        return;
    }
    $st = debug_backtrace();
    $function = '';
    $file = '';
    $line = '';
    /**
     * 从st中找出调用interface_log文件,函数和行数
     * 从调用interface_log在往后推一个函数
     **/
    foreach ($st as $item) {
        if ($file) {
            $function = $item['function'];
            break;
        }
        if ($item['function'] == 'interface_log') {
            $file = $item['file'];
            $line = $item['line'];
        }
    }
    $function = $function ? $function : 'main';
    //截取文件名,只保留最后一部分
    $file = explode("/", rtrim($file, '/'));
    $file = $file[count($file) - 1];
    $preffix = "[{$file}] [{$function}] [{$line}] [{$logLevel}] [{$errorCode}] ";
    if ($logLevel == INFO || $logLevel == STAT) {
        $preffix = "[{$logLevel}]";
    }
    $logFileName = $confName . "_" . strtolower($logLevel);
    MiniLog::instance(ROOT_PATH . "/log/")->log($logFileName, $preffix . $logMessage);
    if (isLogLevelOff("DEBUG") || $logLevel == "DEBUG") {
        return;
    } else {
        MiniLog::instance(ROOT_PATH . "/log/")->log($confName . "_" . "debug", $preffix . $logMessage);
    }
}
Ejemplo n.º 6
0
 public function setLogAppIdAndChannelId($app_id, $channel_id = "")
 {
     MiniLog::instance(ROOT_PATH . "/log/")->setAppIdAndChannelId($app_id, $channel_id);
 }
Ejemplo n.º 7
0
 /**
  * 用户登录
  * @return array|bool
  * @throws
  */
 public function oauth2()
 {
     $isExtend = apply_filters("license_expired");
     if ($isExtend === 1) {
         $userName = MiniHttp::getParam("username", "");
         if ($userName !== "admin") {
             throw new MiniException(440);
         }
     }
     $oauth = new PDOOAuth2();
     $token = $oauth->grantAccessToken();
     #添加登陆日志
     $deviceId = $oauth->getVariable("device_id");
     MiniLog::getInstance()->createLogin($deviceId);
     #返回site_id,便于与cloud.miniyun.cn通信
     $token["site_id"] = MiniSiteUtils::getSiteID();
     return $token;
 }
Ejemplo n.º 8
0
 /**
  * 清空所有登陆记录
  */
 public function cleanLog()
 {
     $userId = $this->user['id'];
     MiniLog::getInstance()->feignDeleteLogs($userId, ProfileBiz::TYPE);
     return true;
 }
Ejemplo n.º 9
0
function init_log($sp)
{
    MiniLog::instance(ROOT_PATH . "/log/")->setRequestInfo($sp);
}
Ejemplo n.º 10
0
/**
 * @author pacozhong
 * 日志函数的入口
 * @param string $confName 日志配置名
 * @param string $logLevel 级别
 * @param int $errorCode 错误码
 * @param string $logMessage 日志内容
 */
function ccdb_log($confName, $logLevel, $errorCode, $logMessage = "no error msg")
{
    if (isLogLevelOff($logLevel)) {
        return;
    }
    $st = debug_backtrace();
    $function = '';
    //调用interface_log的函数名
    $file = '';
    //调用interface_log的文件名
    $line = '';
    //调用interface_log的行号
    foreach ($st as $item) {
        if ($file) {
            $function = $item['function'];
            break;
        }
        if ($item['function'] == 'interface_log') {
            $file = $item['file'];
            $line = $item['line'];
        }
    }
    $function = $function ? $function : 'main';
    //为了缩短日志的输出,file只取最后一截文件名
    $file = explode("/", rtrim($file, '/'));
    $file = $file[count($file) - 1];
    $prefix = "[{$file}][{$function}][{$line}][{$logLevel}][{$errorCode}] ";
    if ($logLevel == INFO || $logLevel == STAT) {
        $prefix = "[{$logLevel}]";
    }
    $logMessage = genErrMsg($errorCode, $logMessage);
    $logFileName = $confName . "_" . strtolower($logLevel);
    // MiniLog::instance("../log")->log($logFileName, $prefix . $logMessage);
    MiniLog::instance(ROOT_PATH . "/log/")->log($logFileName, $prefix . $logMessage);
    if (isLogLevelOff("DEBUG") || $logLevel == "DEBUG") {
        return;
    } else {
        MiniLog::instance(ROOT_PATH . "/log/")->log($confName . "_" . "debug", $prefix . $logMessage);
        //   MiniLog::instance("../log")->log($confName . "_" . "debug", $prefix . $logMessage);
    }
}
Ejemplo n.º 11
0
 /**
  * 为创建事件记录日志信息
  * @param $user_id
  * @param $action
  * @param $path
  * @param $context
  */
 private function createLogs($user_id, $action, $path, &$context)
 {
     if ($action == MConst::CREATE_FILE) {
         //
         // 如果是创建文件,记录path
         //
         $new = $path;
     } else {
         $new = $context;
     }
     $context = array($path, $new, $action);
     MiniLog::getInstance()->createOperateLog($user_id, serialize($context));
     return $new;
 }