mirror of
https://github.com/typecho/typecho.git
synced 2025-04-14 06:41:53 +02:00
Change plugin version dependence keyword form dependence
to since
This commit is contained in:
parent
86587d40ce
commit
403f96fdc0
@ -566,8 +566,6 @@ function install_redirect(string $url)
|
||||
*/
|
||||
function install_js_support()
|
||||
{
|
||||
$options = \Widget\Options::alloc();
|
||||
|
||||
?>
|
||||
<div id="success" class="row typecho-page-main hidden">
|
||||
<div class="col-mb-12 col-tb-8 col-tb-offset-2">
|
||||
|
@ -7,7 +7,9 @@ use Typecho\Widget\Helper\Form;
|
||||
use Typecho\Widget\Helper\Form\Element\Text;
|
||||
use Widget\Options;
|
||||
|
||||
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
|
||||
if (!defined('__TYPECHO_ROOT_DIR__')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hello World
|
||||
|
@ -17,7 +17,6 @@ class Plugin
|
||||
/**
|
||||
* 所有启用的插件
|
||||
*
|
||||
* @access private
|
||||
* @var array
|
||||
*/
|
||||
private static $plugin = [];
|
||||
@ -25,7 +24,6 @@ class Plugin
|
||||
/**
|
||||
* 实例化的插件对象
|
||||
*
|
||||
* @access private
|
||||
* @var array
|
||||
*/
|
||||
private static $instances;
|
||||
@ -33,7 +31,6 @@ class Plugin
|
||||
/**
|
||||
* 临时存储变量
|
||||
*
|
||||
* @access private
|
||||
* @var array
|
||||
*/
|
||||
private static $tmp = [];
|
||||
@ -41,7 +38,6 @@ class Plugin
|
||||
/**
|
||||
* 唯一句柄
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
private $handle;
|
||||
@ -49,7 +45,6 @@ class Plugin
|
||||
/**
|
||||
* 组件
|
||||
*
|
||||
* @access private
|
||||
* @var string
|
||||
*/
|
||||
private $component;
|
||||
@ -57,7 +52,6 @@ class Plugin
|
||||
/**
|
||||
* 是否触发插件的信号
|
||||
*
|
||||
* @access private
|
||||
* @var boolean
|
||||
*/
|
||||
private $signal;
|
||||
@ -65,8 +59,6 @@ class Plugin
|
||||
/**
|
||||
* 插件初始化
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $handle 插件
|
||||
*/
|
||||
public function __construct(string $handle)
|
||||
@ -78,11 +70,7 @@ class Plugin
|
||||
/**
|
||||
* 插件初始化
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param array $plugins 插件列表
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function init(array $plugins)
|
||||
{
|
||||
@ -97,7 +85,6 @@ class Plugin
|
||||
* 获取实例化插件对象
|
||||
*
|
||||
* @param string $handle 插件
|
||||
*
|
||||
* @return Plugin
|
||||
*/
|
||||
public static function factory(string $handle): Plugin
|
||||
@ -109,11 +96,7 @@ class Plugin
|
||||
/**
|
||||
* 启用插件
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $pluginName 插件名称
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function activate(string $pluginName)
|
||||
{
|
||||
@ -124,11 +107,7 @@ class Plugin
|
||||
/**
|
||||
* 禁用插件
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $pluginName 插件名称
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public static function deactivate(string $pluginName)
|
||||
{
|
||||
@ -155,11 +134,8 @@ class Plugin
|
||||
/**
|
||||
* 插件handle比对
|
||||
*
|
||||
* @access private
|
||||
*
|
||||
* @param array $pluginHandles
|
||||
* @param array $otherPluginHandles
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private static function pluginHandlesDiff(array $pluginHandles, array $otherPluginHandles): array
|
||||
@ -176,7 +152,6 @@ class Plugin
|
||||
/**
|
||||
* 导出当前插件设置
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public static function export(): array
|
||||
@ -187,10 +162,7 @@ class Plugin
|
||||
/**
|
||||
* 获取插件文件的头信息
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $pluginFile 插件文件路径
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function parseInfo(string $pluginFile): array
|
||||
@ -211,7 +183,7 @@ class Plugin
|
||||
'author' => '',
|
||||
'homepage' => '',
|
||||
'version' => '',
|
||||
'dependence' => '',
|
||||
'since' => '',
|
||||
'activate' => false,
|
||||
'deactivate' => false,
|
||||
'config' => false,
|
||||
@ -222,7 +194,7 @@ class Plugin
|
||||
'package' => 'title',
|
||||
'author' => 'author',
|
||||
'link' => 'homepage',
|
||||
'dependence' => 'dependence',
|
||||
'since' => 'since',
|
||||
'version' => 'version'
|
||||
];
|
||||
|
||||
@ -336,11 +308,8 @@ class Plugin
|
||||
* 返回值为一个数组
|
||||
* 第一项为插件路径,第二项为类名
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $pluginName 插件名
|
||||
* @param string $path 插件目录
|
||||
*
|
||||
* @return array
|
||||
* @throws PluginException
|
||||
*/
|
||||
@ -363,45 +332,23 @@ class Plugin
|
||||
/**
|
||||
* 版本依赖性检测
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $version 程序版本
|
||||
* @param string $versionRange 依赖的版本规则
|
||||
*
|
||||
* @param string|null $version 插件版本
|
||||
* @return boolean
|
||||
*/
|
||||
public static function checkDependence(string $version, string $versionRange): bool
|
||||
public static function checkDependence(?string $version): bool
|
||||
{
|
||||
//如果没有检测规则,直接掠过
|
||||
if (empty($versionRange)) {
|
||||
if (empty($version)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$items = array_map('trim', explode('-', $versionRange));
|
||||
if (count($items) < 2) {
|
||||
$items[1] = '9999.9999.9999';
|
||||
}
|
||||
|
||||
[$minVersion, $maxVersion] = $items;
|
||||
|
||||
//对*和?的支持,4个9是最大版本
|
||||
$minVersion = str_replace(['*', '?'], ['9999', '9'], $minVersion);
|
||||
$maxVersion = str_replace(['*', '?'], ['9999', '9'], $maxVersion);
|
||||
|
||||
if (version_compare($version, $minVersion, '>=') && version_compare($version, $maxVersion, '<=')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
return version_compare(Common::VERSION, $version, '>=');
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断插件是否存在
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $pluginName 插件名称
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public static function exists(string $pluginName)
|
||||
@ -412,10 +359,7 @@ class Plugin
|
||||
/**
|
||||
* 插件调用后的触发器
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param boolean|null $signal 触发器
|
||||
*
|
||||
* @return Plugin
|
||||
*/
|
||||
public function trigger(?bool &$signal): Plugin
|
||||
@ -428,10 +372,7 @@ class Plugin
|
||||
/**
|
||||
* 通过魔术函数设置当前组件位置
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $component 当前组件
|
||||
*
|
||||
* @return Plugin
|
||||
*/
|
||||
public function __get(string $component)
|
||||
@ -443,12 +384,8 @@ class Plugin
|
||||
/**
|
||||
* 设置回调函数
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $component 当前组件
|
||||
* @param mixed $value 回调函数
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __set(string $component, $value)
|
||||
{
|
||||
@ -489,11 +426,8 @@ class Plugin
|
||||
/**
|
||||
* 回调处理函数
|
||||
*
|
||||
* @access public
|
||||
*
|
||||
* @param string $component 当前组件
|
||||
* @param array $args 参数
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function __call(string $component, array $args)
|
||||
|
@ -44,7 +44,7 @@ class Edit extends Options implements ActionInterface
|
||||
$info = Plugin::parseInfo($pluginFileName);
|
||||
|
||||
/** 检测依赖信息 */
|
||||
if (Plugin::checkDependence(Common::VERSION, $info['dependence'])) {
|
||||
if (Plugin::checkDependence($info['since'])) {
|
||||
|
||||
/** 获取已启用插件 */
|
||||
$plugins = Plugin::export();
|
||||
|
@ -58,10 +58,7 @@ class Rows extends Widget
|
||||
$info = Plugin::parseInfo($pluginFileName);
|
||||
$info['name'] = $pluginName;
|
||||
|
||||
$info['dependence'] = Plugin::checkDependence(
|
||||
Common::VERSION,
|
||||
$info['dependence']
|
||||
);
|
||||
$info['dependence'] = Plugin::checkDependence($info['since']);
|
||||
|
||||
/** 默认即插即用 */
|
||||
$info['activated'] = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user