mirror of https://github.com/1099438829/apeblog
parent
aff980a792
commit
dbf7c86510
|
|
@ -0,0 +1,106 @@
|
|||
ape_blog源码云博客
|
||||
===============
|
||||
|
||||
> 运行环境要求PHP7.1+。
|
||||
|
||||
## 主要特性
|
||||
|
||||
### 开源无加密
|
||||
源码开源无加密
|
||||
### TP6框架
|
||||
使用最新的 ThinkPHP 6.0框架开发
|
||||
### 标准接口
|
||||
标准接口、优越性能、强大兼容性、二次开发更方便
|
||||
### 无缝事件机制
|
||||
行为扩展更方便,方便二次开发
|
||||
### 后台快速生成表单
|
||||
后台应用form-builder 无需写页面快速增删改查
|
||||
### 强大的后台权限管理
|
||||
后台多种角色、多重身份权限管理,权限可以控制到每一步操作
|
||||
|
||||
## 特别感谢
|
||||
|
||||
[笔下光年 / Light Year Admin 一个基于Bootstrap v3.3.7的后台HTML模板。](https://gitee.com/yinqi/Light-Year-Admin-Template)
|
||||
|
||||
[xaboy / form-builder PHP表单生成器,使用PHP快速生成现代化的form表单。](https://gitee.com/xaboy/form-builder)
|
||||
|
||||
[cfn / PaiAdmin 前后端开发框架](https://gitee.com/leapy/pai)
|
||||
## 自动安装
|
||||
1. 上传文件到网站根目录
|
||||
2. 修改目录权限(linux系统)777
|
||||
/public
|
||||
/runtime
|
||||
3. 安装好拓展
|
||||
4. 配置好域名,在浏览器里打开域名,根据安装向导进行安装
|
||||
5. 后台登录 http://域名/admin
|
||||
## 手动安装
|
||||
|
||||
1.创建数据库,倒入数据库文件
|
||||
|
||||
数据库文件目录/public/install/learn.sql
|
||||
|
||||
2.修改数据库连接文件
|
||||
配置文件路径/.env
|
||||
|
||||
~~~
|
||||
APP_DEBUG = true
|
||||
|
||||
[APP]
|
||||
DEFAULT_TIMEZONE = Asia/Shanghai
|
||||
|
||||
[DATABASE]
|
||||
TYPE = mysql
|
||||
HOSTNAME = 127.0.0.1 #数据库连接地址
|
||||
DATABASE = test #数据库名称
|
||||
USERNAME = username #数据库登录账号
|
||||
PASSWORD = password #数据库登录密码
|
||||
HOSTPORT = 3306 #数据库端口
|
||||
CHARSET = utf8
|
||||
DEBUG = true
|
||||
|
||||
[LANG]
|
||||
default_lang = zh-cn
|
||||
~~~
|
||||
3.安装php拓展
|
||||
|
||||
~~~
|
||||
redis
|
||||
~~~
|
||||
|
||||
4.创建目录并修改目录权限(linux系统)777
|
||||
|
||||
~~~
|
||||
mkdir public/upload
|
||||
mkdir runtime
|
||||
chmod -R 777 public/upload
|
||||
chmod -R 777 runtime
|
||||
~~~
|
||||
|
||||
5.后台登录:
|
||||
http://域名/admin
|
||||
|
||||
默认账号:admin 密码:123456
|
||||
|
||||
## 文档
|
||||
|
||||
[TP6开发手册](https://www.kancloud.cn/manual/thinkphp6_0/content)
|
||||
[FormBuilder](http://php.form-create.com/)
|
||||
[Light Year Admin](http://www.itshubao.com/doc-lyear/lyear.html)
|
||||
|
||||
## 官网体验
|
||||
|
||||
[源码云博客](https://blog.apecloud.cn/)
|
||||
|
||||
## 联系我
|
||||
邮箱:1099438829@qq.com
|
||||
QQ:1099438829
|
||||
|
||||
## 版权信息
|
||||
|
||||
Pai-admin遵循Apache2开源协议发布,并提供免费使用。
|
||||
|
||||
本项目包含的第三方源码和二进制文件之版权信息另行标注。
|
||||
|
||||
版权所有Copyright © 2019-2025 by 木子的忧伤 (https://www.apecloud.cn)
|
||||
|
||||
All rights reserved。
|
||||
|
|
@ -114,14 +114,13 @@ class Article extends Base
|
|||
*/
|
||||
public function detail()
|
||||
{
|
||||
$id = input('id/d');
|
||||
|
||||
$id = input('id');
|
||||
if (!$id) {
|
||||
$this->error('参数错误!');
|
||||
}
|
||||
//获取该文章
|
||||
$documentModel = new Document();
|
||||
$article = $documentModel->where('status', 1)->where('id', $id)->find();
|
||||
$article = $documentModel->where('status', 1)->where('id|alias', $id)->find();
|
||||
if (!$article) {
|
||||
$this->error('文章不存在或已删除!');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
Target Server Version : 50726
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 23/01/2022 22:22:06
|
||||
Date: 08/02/2022 22:31:04
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
|
@ -125,15 +125,11 @@ CREATE TABLE `ape_admin_log` (
|
|||
`user_agent` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'User-Agent',
|
||||
`create_time` int(10) NOT NULL DEFAULT 0 COMMENT '操作时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '操作日志表' ROW_FORMAT = DYNAMIC;
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '操作日志表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of ape_admin_log
|
||||
-- ----------------------------
|
||||
INSERT INTO `ape_admin_log` VALUES (1, 1, 'admin', 'admin', 'index', 'main', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69', 1642947456);
|
||||
INSERT INTO `ape_admin_log` VALUES (2, 1, 'admin', 'admin', 'friendlink', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69', 1642947458);
|
||||
INSERT INTO `ape_admin_log` VALUES (3, 1, 'admin', 'admin', 'admin_auth', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69', 1642947612);
|
||||
INSERT INTO `ape_admin_log` VALUES (4, 1, 'admin', 'admin', 'admin_auth', 'index', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69', 1642947645);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for ape_admin_notify
|
||||
|
|
@ -271,14 +267,11 @@ CREATE TABLE `ape_comment` (
|
|||
`create_time` int(11) NOT NULL DEFAULT 0 COMMENT '评论时间',
|
||||
`update_time` int(11) NOT NULL DEFAULT 0 COMMENT '评论时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '评论表' ROW_FORMAT = COMPACT;
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '评论表' ROW_FORMAT = COMPACT;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of ape_comment
|
||||
-- ----------------------------
|
||||
INSERT INTO `ape_comment` VALUES (1, '看看', '123@qq.com', 'www.baidu.com', '123213', 0, '', 0, 1, 0, 1642931109, 1642931109);
|
||||
INSERT INTO `ape_comment` VALUES (2, '看看', '123@qq.com', 'www.baidu.com', '驱蚊驱蚊[f=youling]', 0, '', 0, 1, 1, 1642931129, 1642931129);
|
||||
INSERT INTO `ape_comment` VALUES (3, '看看', '123@qq.com', 'www.baidu.com', '[f=yiwen][f=yinxian]', 0, '', 2, 1, 1, 1642945595, 1642945595);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for ape_document
|
||||
|
|
@ -286,6 +279,7 @@ INSERT INTO `ape_comment` VALUES (3, '看看', '123@qq.com', 'www.baidu.com', '[
|
|||
DROP TABLE IF EXISTS `ape_document`;
|
||||
CREATE TABLE `ape_document` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`alias` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '别名',
|
||||
`uid` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户ID',
|
||||
`author` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '作者',
|
||||
`title` char(80) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '标题',
|
||||
|
|
@ -310,13 +304,14 @@ CREATE TABLE `ape_document` (
|
|||
`password` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '文章密码',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `idx_category_status`(`category_id`, `status`) USING BTREE,
|
||||
INDEX `idx_status_type_pid`(`status`, `uid`) USING BTREE
|
||||
INDEX `idx_status_type_pid`(`status`, `uid`) USING BTREE,
|
||||
UNIQUE INDEX `alias`(`alias`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文档模型基础表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of ape_document
|
||||
-- ----------------------------
|
||||
INSERT INTO `ape_document` VALUES (1, 1, '超级管理员', '关于源码云博客', 1, '/uploads/images/20220113/0114fc5ff6a1f9c541dcbc8b99b1c5f2.png', 'article', '', 1, 1, 1, '', 1, 41, '源码云,博客,源码云博客', '关于源码云博客', '源码云博客,源码云,博客,关于', '源码云博客最好用的博客程序', 99, 1642089660, 1642089660, 1, '');
|
||||
INSERT INTO `ape_document` VALUES (1, 'about', 1, '超级管理员', '关于源码云博客', 1, '/uploads/images/20220113/0114fc5ff6a1f9c541dcbc8b99b1c5f2.png', 'article', '', 1, 1, 1, '', 1, 61, '源码云,博客,源码云博客', '关于源码云博客', '源码云博客,源码云,博客,关于', '源码云博客最好用的博客程序', 99, 1642089660, 1642089660, 1, '');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for ape_document_article
|
||||
|
|
@ -360,7 +355,7 @@ CREATE TABLE `ape_document_category` (
|
|||
-- ----------------------------
|
||||
-- Records of ape_document_category
|
||||
-- ----------------------------
|
||||
INSERT INTO `ape_document_category` VALUES (1, '关于小站', '', '', 0, 0, 99, '关于小站', '关于小站,源码云,源码云博客,关于源码云博客', '源码云博客,源码云博客网站', 1, 'list_default.html', '', 1, 0, 1642089484);
|
||||
INSERT INTO `ape_document_category` VALUES (1, '关于小站', '', '', 0, 0, 99, '关于小站', '关于小站,源码云,源码云博客,关于源码云博客', '源码云博客,源码云博客网站', 1, 'list_default.html', '', 11, 0, 1642089484);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for ape_document_category_content
|
||||
|
|
@ -500,7 +495,7 @@ CREATE TABLE `ape_system_config` (
|
|||
`create_time` int(10) NOT NULL DEFAULT 0 COMMENT '添加时间',
|
||||
`update_time` int(10) NOT NULL DEFAULT 0 COMMENT '更新时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 34 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统配置表' ROW_FORMAT = DYNAMIC;
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 36 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统配置表' ROW_FORMAT = DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of ape_system_config
|
||||
|
|
|
|||
|
|
@ -306,7 +306,7 @@
|
|||
<div class="hot-post-widget-item-meta">
|
||||
<div>{$field['create_time']}</div>
|
||||
<div>
|
||||
<a href="#">{:cn_substr($field['category_title'],5)}</a>
|
||||
<a href="{:url('article/lists')}?id={$field['category_id']}">{:cn_substr($field['category_title'],5)}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@
|
|||
<div class="hot-post-widget-item-meta">
|
||||
<div>{$field['create_time']}</div>
|
||||
<div>
|
||||
<a href="#">{:cn_substr($field['category_title'],5)}</a>
|
||||
<a href="{:url('article/lists')}?id={$field['category_id']}">{:cn_substr($field['category_title'],5)}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@
|
|||
<div class="hot-post-widget-item-meta">
|
||||
<div>{$field['create_time']}</div>
|
||||
<div>
|
||||
<a href="#">{:cn_substr($field['category_title'],5)}</a>
|
||||
<a href="{:url('article/lists')}?id={$field['category_id']}">{:cn_substr($field['category_title'],5)}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@
|
|||
<div class="hot-post-widget-item-meta">
|
||||
<div>{$field['create_time']}</div>
|
||||
<div>
|
||||
<a href="#">{:cn_substr($field['category_title'],5)}</a>
|
||||
<a href="{:url('article/lists')}?id={$field['category_id']}">{:cn_substr($field['category_title'],5)}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@
|
|||
<div class="hot-post-widget-item-meta">
|
||||
<div>{$field['create_time']}</div>
|
||||
<div>
|
||||
<a href="#">{:cn_substr($field['category_title'],5)}</a>
|
||||
<a href="{:url('article/lists')}?id={$field['category_id']}">{:cn_substr($field['category_title'],5)}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@
|
|||
<div class="hot-post-widget-item-meta">
|
||||
<div>{$field['create_time']}</div>
|
||||
<div>
|
||||
<a href="#">{:cn_substr($field['category_title'],5)}</a>
|
||||
<a href="{:url('article/lists')}?id={$field['category_id']}">{:cn_substr($field['category_title'],5)}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -173,7 +173,7 @@
|
|||
<div class="hot-post-widget-item-meta">
|
||||
<div>{$field['create_time']}</div>
|
||||
<div>
|
||||
<a href="#">{:cn_substr($field['category_title'],5)}</a>
|
||||
<a href="{:url('article/lists')}?id={$field['category_id']}">{:cn_substr($field['category_title'],5)}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@
|
|||
<div class="hot-post-widget-item-meta">
|
||||
<div>{$field['create_time']}</div>
|
||||
<div>
|
||||
<a href="#">{:cn_substr($field['category_title'],5)}</a>
|
||||
<a href="{:url('article/lists')}?id={$field['category_id']}">{:cn_substr($field['category_title'],5)}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -23,12 +23,12 @@
|
|||
</div>
|
||||
</div>
|
||||
<nav class="menu-footer-plane">
|
||||
<ul id="menu-%e5%ba%95%e9%83%a8%e8%8f%9c%e5%8d%95" class="menu-footer-list">
|
||||
<ul id="menu-list-footer" class="menu-footer-list">
|
||||
<li id="menu-item-306" class="menu-item menu-item-306">
|
||||
<a href="about.html">关于本站</a>
|
||||
<a href="{:url('/index/article/detail?id=1')}">关于本站</a>
|
||||
</li>
|
||||
<li id="menu-item-307" class="menu-item menu-item-307">
|
||||
<a href="{:url('msg')}">留言建议</a>
|
||||
<a href="{:url('/index/index/msg')}">留言建议</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
|
|
|||
|
|
@ -4,21 +4,114 @@
|
|||
/**
|
||||
* Proxy PHP file generated by Composer
|
||||
*
|
||||
* This file includes the referenced bin path (../symfony/var-dumper/Resources/bin/var-dump-server) using eval to remove the shebang if present
|
||||
* This file includes the referenced bin path (../symfony/var-dumper/Resources/bin/var-dump-server)
|
||||
* using a stream wrapper to prevent the shebang from being output on PHP<8
|
||||
*
|
||||
* @generated
|
||||
*/
|
||||
|
||||
$binPath = realpath(__DIR__ . "/" . '../symfony/var-dumper/Resources/bin/var-dump-server');
|
||||
$contents = file_get_contents($binPath);
|
||||
$contents = preg_replace('{^#!/.+\r?\n<\?(php)?}', '', $contents, 1, $replaced);
|
||||
if ($replaced) {
|
||||
$contents = strtr($contents, array(
|
||||
'__FILE__' => var_export($binPath, true),
|
||||
'__DIR__' => var_export(dirname($binPath), true),
|
||||
));
|
||||
namespace Composer;
|
||||
|
||||
eval($contents);
|
||||
exit(0);
|
||||
$GLOBALS['_composer_bin_dir'] = __DIR__;
|
||||
$GLOBALS['_composer_autoload_path'] = __DIR__ . '/..'.'/autoload.php';
|
||||
|
||||
if (PHP_VERSION_ID < 80000) {
|
||||
if (!class_exists('Composer\BinProxyWrapper')) {
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class BinProxyWrapper
|
||||
{
|
||||
private $handle;
|
||||
private $position;
|
||||
private $realpath;
|
||||
|
||||
public function stream_open($path, $mode, $options, &$opened_path)
|
||||
{
|
||||
// get rid of phpvfscomposer:// prefix for __FILE__ & __DIR__ resolution
|
||||
$opened_path = substr($path, 17);
|
||||
$this->realpath = realpath($opened_path) ?: $opened_path;
|
||||
$opened_path = $this->realpath;
|
||||
$this->handle = fopen($this->realpath, $mode);
|
||||
$this->position = 0;
|
||||
|
||||
return (bool) $this->handle;
|
||||
}
|
||||
|
||||
public function stream_read($count)
|
||||
{
|
||||
$data = fread($this->handle, $count);
|
||||
|
||||
if ($this->position === 0) {
|
||||
$data = preg_replace('{^#!.*\r?\n}', '', $data);
|
||||
}
|
||||
|
||||
$this->position += strlen($data);
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function stream_cast($castAs)
|
||||
{
|
||||
return $this->handle;
|
||||
}
|
||||
|
||||
public function stream_close()
|
||||
{
|
||||
fclose($this->handle);
|
||||
}
|
||||
|
||||
public function stream_lock($operation)
|
||||
{
|
||||
return $operation ? flock($this->handle, $operation) : true;
|
||||
}
|
||||
|
||||
public function stream_seek($offset, $whence)
|
||||
{
|
||||
if (0 === fseek($this->handle, $offset, $whence)) {
|
||||
$this->position = ftell($this->handle);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function stream_tell()
|
||||
{
|
||||
return $this->position;
|
||||
}
|
||||
|
||||
public function stream_eof()
|
||||
{
|
||||
return feof($this->handle);
|
||||
}
|
||||
|
||||
public function stream_stat()
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
public function stream_set_option($option, $arg1, $arg2)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public function url_stat($path, $flags)
|
||||
{
|
||||
$path = substr($path, 17);
|
||||
if (file_exists($path)) {
|
||||
return stat($path);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) {
|
||||
include("phpvfscomposer://" . __DIR__ . '/..'.'/symfony/var-dumper/Resources/bin/var-dump-server');
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
include $binPath;
|
||||
|
||||
include __DIR__ . '/..'.'/symfony/var-dumper/Resources/bin/var-dump-server';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
@ECHO OFF
|
||||
setlocal DISABLEDELAYEDEXPANSION
|
||||
SET BIN_TARGET=%~dp0/../symfony/var-dumper/Resources/bin/var-dump-server
|
||||
SET BIN_TARGET=%~dp0/var-dump-server
|
||||
SET COMPOSER_BIN_DIR=%~dp0
|
||||
php "%BIN_TARGET%" %*
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ class ClassLoader
|
|||
|
||||
/**
|
||||
* @return string[] Array of classname => path
|
||||
* @psalm-var array<string, string>
|
||||
* @psalm-return array<string, string>
|
||||
*/
|
||||
public function getClassMap()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -24,8 +24,21 @@ use Composer\Semver\VersionParser;
|
|||
*/
|
||||
class InstalledVersions
|
||||
{
|
||||
/**
|
||||
* @var mixed[]|null
|
||||
* @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}|array{}|null
|
||||
*/
|
||||
private static $installed;
|
||||
|
||||
/**
|
||||
* @var bool|null
|
||||
*/
|
||||
private static $canGetVendors;
|
||||
|
||||
/**
|
||||
* @var array[]
|
||||
* @psalm-var array<string, array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string, type?: string}>}>
|
||||
*/
|
||||
private static $installedByVendor = array();
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ $baseDir = dirname($vendorDir);
|
|||
|
||||
return array(
|
||||
'9b552a3cc426e3287cc811caefa3cf53' => $vendorDir . '/topthink/think-helper/src/helper.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'35fab96057f1bf5e7aba31a8a6d5fdde' => $vendorDir . '/topthink/think-orm/stubs/load_stubs.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ return array(
|
|||
'think\\view\\driver\\' => array($vendorDir . '/topthink/think-view/src'),
|
||||
'think\\captcha\\' => array($vendorDir . '/topthink/think-captcha/src'),
|
||||
'think\\app\\' => array($vendorDir . '/topthink/think-multi-app/src'),
|
||||
'think\\' => array($vendorDir . '/topthink/think-helper/src', $vendorDir . '/topthink/think-template/src', $vendorDir . '/topthink/think-orm/src', $vendorDir . '/topthink/framework/src/think'),
|
||||
'think\\' => array($vendorDir . '/topthink/framework/src/think', $vendorDir . '/topthink/think-helper/src', $vendorDir . '/topthink/think-orm/src', $vendorDir . '/topthink/think-template/src'),
|
||||
'app\\' => array($baseDir . '/app'),
|
||||
'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'),
|
||||
'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'),
|
||||
|
|
|
|||
|
|
@ -22,8 +22,6 @@ class ComposerAutoloaderInit4b57298e8d0e895486f3307a354a7e1a
|
|||
return self::$loader;
|
||||
}
|
||||
|
||||
require __DIR__ . '/platform_check.php';
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInit4b57298e8d0e895486f3307a354a7e1a', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInit4b57298e8d0e895486f3307a354a7e1a', 'loadClassLoader'));
|
||||
|
|
@ -65,11 +63,16 @@ class ComposerAutoloaderInit4b57298e8d0e895486f3307a354a7e1a
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $fileIdentifier
|
||||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
function composerRequire4b57298e8d0e895486f3307a354a7e1a($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
require $file;
|
||||
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
||||
require $file;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ class ComposerStaticInit4b57298e8d0e895486f3307a354a7e1a
|
|||
{
|
||||
public static $files = array (
|
||||
'9b552a3cc426e3287cc811caefa3cf53' => __DIR__ . '/..' . '/topthink/think-helper/src/helper.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||
'35fab96057f1bf5e7aba31a8a6d5fdde' => __DIR__ . '/..' . '/topthink/think-orm/stubs/load_stubs.php',
|
||||
'6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php',
|
||||
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
|
||||
|
|
@ -79,10 +79,10 @@ class ComposerStaticInit4b57298e8d0e895486f3307a354a7e1a
|
|||
),
|
||||
'think\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/topthink/think-helper/src',
|
||||
1 => __DIR__ . '/..' . '/topthink/think-template/src',
|
||||
0 => __DIR__ . '/..' . '/topthink/framework/src/think',
|
||||
1 => __DIR__ . '/..' . '/topthink/think-helper/src',
|
||||
2 => __DIR__ . '/..' . '/topthink/think-orm/src',
|
||||
3 => __DIR__ . '/..' . '/topthink/framework/src/think',
|
||||
3 => __DIR__ . '/..' . '/topthink/think-template/src',
|
||||
),
|
||||
'app\\' =>
|
||||
array (
|
||||
|
|
|
|||
|
|
@ -541,17 +541,17 @@
|
|||
},
|
||||
{
|
||||
"name": "psr/container",
|
||||
"version": "1.1.1",
|
||||
"version_normalized": "1.1.1.0",
|
||||
"version": "1.1.2",
|
||||
"version_normalized": "1.1.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/container.git",
|
||||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
|
||||
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
|
||||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
|
||||
"url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
|
||||
"reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
|
|
@ -561,9 +561,9 @@
|
|||
]
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.2.0"
|
||||
"php": ">=7.4.0"
|
||||
},
|
||||
"time": "2021-03-05T17:36:06+00:00",
|
||||
"time": "2021-11-05T16:50:12+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -592,7 +592,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/php-fig/container/issues",
|
||||
"source": "https://github.com/php-fig/container/tree/1.1.1"
|
||||
"source": "https://github.com/php-fig/container/tree/1.1.2"
|
||||
},
|
||||
"install-path": "../psr/container"
|
||||
},
|
||||
|
|
@ -914,17 +914,17 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v5.4.2",
|
||||
"version_normalized": "5.4.2.0",
|
||||
"version": "v5.4.3",
|
||||
"version_normalized": "5.4.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "ce952af52877eaf3eab5d0c08cc0ea865ed37313"
|
||||
"reference": "ef409ff341a565a3663157d4324536746d49a0c7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/ce952af52877eaf3eab5d0c08cc0ea865ed37313",
|
||||
"reference": "ce952af52877eaf3eab5d0c08cc0ea865ed37313",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/ef409ff341a565a3663157d4324536746d49a0c7",
|
||||
"reference": "ef409ff341a565a3663157d4324536746d49a0c7",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
|
|
@ -948,7 +948,7 @@
|
|||
"suggest": {
|
||||
"symfony/mime": "To use the file extension guesser"
|
||||
},
|
||||
"time": "2021-12-28T17:15:56+00:00",
|
||||
"time": "2022-01-02T09:53:40+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -976,7 +976,7 @@
|
|||
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v5.4.2"
|
||||
"source": "https://github.com/symfony/http-foundation/tree/v5.4.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1265,17 +1265,17 @@
|
|||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v4.4.36",
|
||||
"version_normalized": "4.4.36.0",
|
||||
"version": "v4.4.37",
|
||||
"version_normalized": "4.4.37.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "02685c62fcbc4262235cc72a54fbd45ab719ce3c"
|
||||
"reference": "e74eee4ec02de71db3d60151aa5b203c990556df"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/02685c62fcbc4262235cc72a54fbd45ab719ce3c",
|
||||
"reference": "02685c62fcbc4262235cc72a54fbd45ab719ce3c",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/e74eee4ec02de71db3d60151aa5b203c990556df",
|
||||
"reference": "e74eee4ec02de71db3d60151aa5b203c990556df",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
|
|
@ -1305,7 +1305,7 @@
|
|||
"ext-intl": "To show region name in time zone dump",
|
||||
"symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
|
||||
},
|
||||
"time": "2021-12-29T09:28:53+00:00",
|
||||
"time": "2022-01-02T09:41:36+00:00",
|
||||
"bin": [
|
||||
"Resources/bin/var-dump-server"
|
||||
],
|
||||
|
|
@ -1343,7 +1343,7 @@
|
|||
"dump"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v4.4.36"
|
||||
"source": "https://github.com/symfony/var-dumper/tree/v4.4.37"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
|
|
@ -1439,17 +1439,17 @@
|
|||
},
|
||||
{
|
||||
"name": "topthink/think-captcha",
|
||||
"version": "v3.0.3",
|
||||
"version_normalized": "3.0.3.0",
|
||||
"version": "v3.0.4",
|
||||
"version_normalized": "3.0.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/top-think/think-captcha.git",
|
||||
"reference": "1eef3717c1bcf4f5bbe2d1a1c704011d330a8b55"
|
||||
"reference": "db5be361d3cd664d236fb95d5dffe93a117283ad"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/top-think/think-captcha/zipball/1eef3717c1bcf4f5bbe2d1a1c704011d330a8b55",
|
||||
"reference": "1eef3717c1bcf4f5bbe2d1a1c704011d330a8b55",
|
||||
"url": "https://api.github.com/repos/top-think/think-captcha/zipball/db5be361d3cd664d236fb95d5dffe93a117283ad",
|
||||
"reference": "db5be361d3cd664d236fb95d5dffe93a117283ad",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
|
|
@ -1461,7 +1461,7 @@
|
|||
"require": {
|
||||
"topthink/framework": "^6.0.0"
|
||||
},
|
||||
"time": "2020-05-19T10:55:45+00:00",
|
||||
"time": "2022-01-07T06:34:19+00:00",
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"think": {
|
||||
|
|
@ -1495,7 +1495,7 @@
|
|||
"description": "captcha package for thinkphp",
|
||||
"support": {
|
||||
"issues": "https://github.com/top-think/think-captcha/issues",
|
||||
"source": "https://github.com/top-think/think-captcha/tree/v3.0.3"
|
||||
"source": "https://github.com/top-think/think-captcha/tree/v3.0.4"
|
||||
},
|
||||
"install-path": "../topthink/think-captcha"
|
||||
},
|
||||
|
|
@ -1613,17 +1613,17 @@
|
|||
},
|
||||
{
|
||||
"name": "topthink/think-orm",
|
||||
"version": "v2.0.51",
|
||||
"version_normalized": "2.0.51.0",
|
||||
"version": "v2.0.52",
|
||||
"version_normalized": "2.0.52.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/top-think/think-orm.git",
|
||||
"reference": "149d266acdc4b2f07c6a94f1733b6b97d340e0e2"
|
||||
"reference": "407a60658f37fc57422ab95a9922c6f69af90f46"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/top-think/think-orm/zipball/149d266acdc4b2f07c6a94f1733b6b97d340e0e2",
|
||||
"reference": "149d266acdc4b2f07c6a94f1733b6b97d340e0e2",
|
||||
"url": "https://api.github.com/repos/top-think/think-orm/zipball/407a60658f37fc57422ab95a9922c6f69af90f46",
|
||||
"reference": "407a60658f37fc57422ab95a9922c6f69af90f46",
|
||||
"shasum": "",
|
||||
"mirrors": [
|
||||
{
|
||||
|
|
@ -1643,7 +1643,7 @@
|
|||
"require-dev": {
|
||||
"phpunit/phpunit": "^7|^8|^9.5"
|
||||
},
|
||||
"time": "2022-01-21T06:25:25+00:00",
|
||||
"time": "2022-01-25T06:00:05+00:00",
|
||||
"type": "library",
|
||||
"installation-source": "dist",
|
||||
"autoload": {
|
||||
|
|
@ -1671,7 +1671,7 @@
|
|||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/top-think/think-orm/issues",
|
||||
"source": "https://github.com/top-think/think-orm/tree/v2.0.51"
|
||||
"source": "https://github.com/top-think/think-orm/tree/v2.0.52"
|
||||
},
|
||||
"install-path": "../topthink/think-orm"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '0c450018f0159a262d26966718fc8891dd645cf3',
|
||||
'reference' => 'aff980a7927e1517e120f879d90e76f2867f02b6',
|
||||
'name' => 'topthink/think',
|
||||
'dev' => true,
|
||||
),
|
||||
|
|
@ -74,12 +74,12 @@
|
|||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/container' => array(
|
||||
'pretty_version' => '1.1.1',
|
||||
'version' => '1.1.1.0',
|
||||
'pretty_version' => '1.1.2',
|
||||
'version' => '1.1.2.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../psr/container',
|
||||
'aliases' => array(),
|
||||
'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf',
|
||||
'reference' => '513e0666f7216c7459170d56df27dfcefe1689ea',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'psr/http-message' => array(
|
||||
|
|
@ -128,12 +128,12 @@
|
|||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/http-foundation' => array(
|
||||
'pretty_version' => 'v5.4.2',
|
||||
'version' => '5.4.2.0',
|
||||
'pretty_version' => 'v5.4.3',
|
||||
'version' => '5.4.3.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/http-foundation',
|
||||
'aliases' => array(),
|
||||
'reference' => 'ce952af52877eaf3eab5d0c08cc0ea865ed37313',
|
||||
'reference' => 'ef409ff341a565a3663157d4324536746d49a0c7',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/polyfill-mbstring' => array(
|
||||
|
|
@ -164,12 +164,12 @@
|
|||
'dev_requirement' => false,
|
||||
),
|
||||
'symfony/var-dumper' => array(
|
||||
'pretty_version' => 'v4.4.36',
|
||||
'version' => '4.4.36.0',
|
||||
'pretty_version' => 'v4.4.37',
|
||||
'version' => '4.4.37.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../symfony/var-dumper',
|
||||
'aliases' => array(),
|
||||
'reference' => '02685c62fcbc4262235cc72a54fbd45ab719ce3c',
|
||||
'reference' => 'e74eee4ec02de71db3d60151aa5b203c990556df',
|
||||
'dev_requirement' => true,
|
||||
),
|
||||
'topthink/framework' => array(
|
||||
|
|
@ -187,16 +187,16 @@
|
|||
'type' => 'project',
|
||||
'install_path' => __DIR__ . '/../../',
|
||||
'aliases' => array(),
|
||||
'reference' => '0c450018f0159a262d26966718fc8891dd645cf3',
|
||||
'reference' => 'aff980a7927e1517e120f879d90e76f2867f02b6',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'topthink/think-captcha' => array(
|
||||
'pretty_version' => 'v3.0.3',
|
||||
'version' => '3.0.3.0',
|
||||
'pretty_version' => 'v3.0.4',
|
||||
'version' => '3.0.4.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../topthink/think-captcha',
|
||||
'aliases' => array(),
|
||||
'reference' => '1eef3717c1bcf4f5bbe2d1a1c704011d330a8b55',
|
||||
'reference' => 'db5be361d3cd664d236fb95d5dffe93a117283ad',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'topthink/think-helper' => array(
|
||||
|
|
@ -218,12 +218,12 @@
|
|||
'dev_requirement' => false,
|
||||
),
|
||||
'topthink/think-orm' => array(
|
||||
'pretty_version' => 'v2.0.51',
|
||||
'version' => '2.0.51.0',
|
||||
'pretty_version' => 'v2.0.52',
|
||||
'version' => '2.0.52.0',
|
||||
'type' => 'library',
|
||||
'install_path' => __DIR__ . '/../topthink/think-orm',
|
||||
'aliases' => array(),
|
||||
'reference' => '149d266acdc4b2f07c6a94f1733b6b97d340e0e2',
|
||||
'reference' => '407a60658f37fc57422ab95a9922c6f69af90f46',
|
||||
'dev_requirement' => false,
|
||||
),
|
||||
'topthink/think-template' => array(
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
<?php
|
||||
|
||||
// platform_check.php @generated by Composer
|
||||
|
||||
$issues = array();
|
||||
|
||||
if (!(PHP_VERSION_ID >= 70205)) {
|
||||
$issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.5". You are running ' . PHP_VERSION . '.';
|
||||
}
|
||||
|
||||
if ($issues) {
|
||||
if (!headers_sent()) {
|
||||
header('HTTP/1.1 500 Internal Server Error');
|
||||
}
|
||||
if (!ini_get('display_errors')) {
|
||||
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
|
||||
fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
|
||||
} elseif (!headers_sent()) {
|
||||
echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL;
|
||||
}
|
||||
}
|
||||
trigger_error(
|
||||
'Composer detected issues in your platform: ' . implode(' ', $issues),
|
||||
E_USER_ERROR
|
||||
);
|
||||
}
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=7.2.0"
|
||||
"php": ">=7.4.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
|
|
|||
|
|
@ -2,9 +2,11 @@
|
|||
|
||||
namespace Psr\Container;
|
||||
|
||||
use Throwable;
|
||||
|
||||
/**
|
||||
* Base interface representing a generic exception in a container.
|
||||
*/
|
||||
interface ContainerExceptionInterface
|
||||
interface ContainerExceptionInterface extends Throwable
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
// This file is automatically generated at:2022-01-22 01:25:41
|
||||
// This file is automatically generated at:2022-02-08 22:41:09
|
||||
declare (strict_types = 1);
|
||||
return array (
|
||||
0 => 'think\\captcha\\CaptchaService',
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2004-2021 Fabien Potencier
|
||||
Copyright (c) 2004-2022 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2014-2021 Fabien Potencier
|
||||
Copyright (c) 2014-2022 Fabien Potencier
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ class Captcha
|
|||
// 图片高(px)
|
||||
$this->imageH || $this->imageH = $this->fontSize * 2.5;
|
||||
// 建立一幅 $this->imageW x $this->imageH 的图像
|
||||
$this->im = imagecreate($this->imageW, $this->imageH);
|
||||
$this->im = imagecreate((int) $this->imageW, (int) $this->imageH);
|
||||
// 设置背景
|
||||
imagecolorallocate($this->im, $this->bg[0], $this->bg[1], $this->bg[2]);
|
||||
|
||||
|
|
|
|||
|
|
@ -64,8 +64,4 @@ class Raw
|
|||
return $this->bind;
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
return (string) $this->value;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue