From be7ba8744d9cacb1e8e1a5e3eecc205e696df7c7 Mon Sep 17 00:00:00 2001 From: jerryzwu Date: Mon, 14 Dec 2020 13:14:59 +0800 Subject: [PATCH] support windows --- README.md | 29 +++++---- .../class-tencent-cloud-cos-base.php | 3 +- tencentcloud-cos/class-tencent-cloud-cos.php | 6 ++ ...tencent-wordpress-plugins-setting-page.php | 3 +- tencentcloud-cos/readme.txt | 63 +++++++++---------- tencentcloud-cos/tencentcloud-cos.php | 4 +- .../tencentcloud-plugin-cos-setting-page.php | 17 ++--- 7 files changed, 69 insertions(+), 56 deletions(-) diff --git a/README.md b/README.md index 61a47aa..96938fd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # 腾讯云对象存储插件 +## 0.版本依赖 + +- 依赖 PHP 5.5+ 环境 + +- GuzzleHttp 6.3.0+ (如果有其它插件引用了 GuzzleHttp 库并低于 6.3.0 版本会引起插件冲突) + ## 1.插件介绍 > WordPress COS插件是一款腾讯云研发的,提供给WordPress站长使用的官方插件。实现网站静态媒体资源与腾讯云COS的互通,有效降低本地存储负载,提升用户访问网站媒体资源的体验。 @@ -7,12 +13,13 @@ | ---------- | ------------------------------------------------------------ | | 中文名称 | 腾讯云对象存储(COS)插件 | | 英文名称 | tencentcloud-cos | -| 最新版本 | 1.0.0 (2020.06.18) | +| 最新版本 | 1.0.1 (2020.12.11) | | 适用平台 | [WordPress](https://wordpress.org/) | | 适用产品 | [腾讯云对象存储(COS)](https://cloud.tencent.com/product/cos) | | GitHub项目 | [tencentcloud-wordpress-plugin-cos](https://github.com/Tencent-Cloud-Plugins/tencentcloud-wordpress-plugin-cos) | +| gitee项目 | [tencentcloud-wordpress-plugin-cos](https://gitee.com/Tencent-Cloud-Plugins/tencentcloud-wordpress-plugin-cos) | | 主创团队 | 腾讯云中小企业产品中心(SMB Product Center of Tencent Cloud) | -| 反馈地址 | 请通过[咨询建议](https://support.qq.com/products/164613)向我们提交宝贵意见 | + ## 2.功能特性 @@ -48,7 +55,7 @@ ![](./images/cos1.png) > 上图主要是配置COS插件的腾讯云参数,包括secretId、secretKey、所属地域、空间名称、是否自动重命名、不在本地保存、是否禁止生成缩略图、是否开启数据万象功能 - + ![](./images/cos2.png) > 上图中"附件同步"可同步WordPress媒体库中的全部文件到腾讯与的COS。 "一键替换"可替换网站内容中所有静态文件地址为腾讯云COS文件地址 @@ -71,7 +78,8 @@ | 插件入口 | 链接 | | ----------------- | ------------------------------------------------------------ | | GitHub | [link](https://github.com/Tencent-Cloud-Plugins/tencentcloud-wordpress-plugin-cos) | -| WordPress插件中心 | [link](https://wordpress.org/plugins/tencentcloud-cos) | +| gitee | [link](https://gitee.com/Tencent-Cloud-Plugins/tencentcloud-wordpress-plugin-cos) | +| 插件中心 | [link](https://wordpress.org/plugins/tencentcloud-cos) | ## 6.FAQ @@ -84,8 +92,10 @@ ## 7.版本迭代记录 +### 2020.12.11 tencentcloud-wordpress-plugin-cos v1.0.1 +- 支持在windows环境下运行 -### 7.1 tencentcloud-wordpress-plugin-cos v1.0.0 +### 2020.6.22 tencentcloud-wordpress-plugin-cos v1.0.0 - 支持验证桶名是否有效 - 可配置是否数据万象 CI 图片处理-默认不开启 - 可配置是否保留本地备份-默认不备份 @@ -95,11 +105,4 @@ - API动态获取域名列表 ## 8.致谢 - -- 该插件参考了 WordPress 插件 [WPCOS](https://github.com/lezaiyun/wpcos) 及 [Sync QCloud COS](https://github.com/sy-records/wordpress-qcloud-cos) 的实现方法,特此对其主创团队进行致谢。 - ---- - -本项目由腾讯云中小企业产品中心建设和维护,了解与该插件使用相关的更多信息,请访问[春雨文档中心](https://openapp.qq.com/docs/Wordpress/cos.html) - -请通过[咨询建议](https://da.do/y0rp) 向我们提交宝贵意见。 +- 该插件参考了wordpress插件[wpcos](https://github.com/lezaiyun/wpcos)及[wordpress-qcloud-cos](https://github.com/sy-records/wordpress-qcloud-cos)的实现方法,特此对其主创团队进行致谢。 \ No newline at end of file diff --git a/tencentcloud-cos/class-tencent-cloud-cos-base.php b/tencentcloud-cos/class-tencent-cloud-cos-base.php index 152c8ba..5795618 100644 --- a/tencentcloud-cos/class-tencent-cloud-cos-base.php +++ b/tencentcloud-cos/class-tencent-cloud-cos-base.php @@ -235,7 +235,8 @@ class TencentWordpressCosBase { return false; } } catch (\Exception $e) { - return false; + $errorMessage = $e->getMessage(); + $statusCode = $e->getStatusCode(); } } diff --git a/tencentcloud-cos/class-tencent-cloud-cos.php b/tencentcloud-cos/class-tencent-cloud-cos.php index 194fd4b..e659e1b 100644 --- a/tencentcloud-cos/class-tencent-cloud-cos.php +++ b/tencentcloud-cos/class-tencent-cloud-cos.php @@ -475,6 +475,9 @@ class TencentWordpressCOS extends TencentWordpressCosBase { */ public static function tcwpcosAddSettingPage() { + if ( !current_user_can( 'manage_options' ) ) { + wp_die( __( 'Sorry, you are not allowed to manage options for this site.' ) ); + } TencentWordpressPluginsSettingActions::addTencentWordpressCommonSettingPage(); $pagehook = add_submenu_page('TencentWordpressPluginsCommonSettingPage','对象存储','对象存储', 'manage_options', 'tencent_wordpress_plugin_cos', array('TencentWordpressCOS', 'tcwpcosSettingPage')); add_action( 'admin_print_styles-'.$pagehook, array('TencentWordpressCOS', 'tcwpcosLoadCssForSettingPage')); @@ -562,6 +565,9 @@ class TencentWordpressCOS extends TencentWordpressCosBase { */ public static function tcwpcosSettingPage() { + if (!current_user_can('manage_options')) { + wp_die(__('Sorry, you are not allowed to manage options for this site.')); + } include TENCENT_WORDPRESS_COS_PLUGIN_DIR . 'tencentcloud-plugin-cos-setting-page.php'; } diff --git a/tencentcloud-cos/common/tencent-wordpress-plugins-setting-page.php b/tencentcloud-cos/common/tencent-wordpress-plugins-setting-page.php index 93d2cdf..b23dc72 100644 --- a/tencentcloud-cos/common/tencent-wordpress-plugins-setting-page.php +++ b/tencentcloud-cos/common/tencent-wordpress-plugins-setting-page.php @@ -153,7 +153,8 @@ function tencent_wordpress_plugin_common_page() {
-

访问 密钥管理 获取SecretId和SecretKey或通过"新建密钥"创建密钥串

+

访问 密钥管理获取 + SecretId和SecretKey或通过"新建密钥"创建密钥串

diff --git a/tencentcloud-cos/readme.txt b/tencentcloud-cos/readme.txt index 341280e..7040b93 100644 --- a/tencentcloud-cos/readme.txt +++ b/tencentcloud-cos/readme.txt @@ -1,52 +1,51 @@ === 腾讯云对象存储(COS) === Contributors: 腾讯云中小企业产品中心(SMB Product Center of Tencent Cloud) Donate link: https://cloud.tencent.com/ -Tags:腾讯云wordpress,腾讯云COS,腾讯云对象存储,腾讯云存储分离,腾讯云存储 +Tags:腾讯云wordpress, COS,腾讯云对象存储,腾讯云存储分离,腾讯云存储 Requires at least: 5.0 Tested up to: 5.4.1 Requires PHP: 5.6 -Stable tag: 1.0.0 +Stable tag: 1.0.1 License: Apache 2.0 License URI: http://www.apache.org/licenses/LICENSE-2.0.txt -tencentcloud-cos,基于腾讯云COS存储在WordPress框架中实现静态资源无缝同步到COS中,提升网站内容访问速度,降低本地存储开销。 - == Description == - -tencentcloud-cos,基于腾讯云COS存储在WordPress框架中实现静态资源无缝同步到COS中,提升网站内容访问速度,降低本地存储开销。 - -## 主要功能 - -1. 可配置是否上传缩略图; -2. 可配置是否保留本地备份; -3. 本地删除可同步删除腾讯云对象存储 COS 中的文件; -4. 支持替换数据库中旧的资源链接地址 -5. 支持腾讯云数据万象 CI 图片处理 -6. 支持上传文件自动重命名 -7. 支持同步历史附件到 COS - -## 致谢 - -该插件参考了 WordPress 插件 [WPCOS](https://github.com/lezaiyun/wpcos) 及 [Sync QCloud COS](https://github.com/sy-records/wordpress-qcloud-cos) 的实现方法,特此对其主创团队进行致谢。 +tencentcloud-cos,基于腾讯云COS存储在WordPress框架中实现静态资源无缝同步到COS中,提升网站内容访问速度,降低本地存储开销。 +主要功能: +* 1、支持验证桶名是否有效; +* 2、可配置是否上传缩略图; +* 3、可配置是否保留本地备份; +* 4、本地删除可同步删除腾讯云对象存储 COS 中的文件; +* 5、支持替换数据库中旧的资源链接地址 +* 6、支持腾讯云数据万象 CI 图片处理 +* 7、支持上传文件自动重命名 +* 8、支持同步历史附件到 COS == Installation == +* 1、把tencentcloud-cos文件夹上传到/wp-content/plugins/目录下
+* 2、在后台插件列表中激活腾讯云COS插件
+* 3、在"设置""菜单中输入腾讯云COS对象存储相关参数信息
-1. 把tencentcloud-cos文件夹上传到/wp-content/plugins/目录下 -2. 在后台插件列表中激活腾讯云COS插件 -3. 在左侧菜单中选择腾讯云设置填写腾讯云COS对象存储相关参数信息 +== Frequently Asked Questions == +* 1.当发现插件出错时,开启调试获取错误信息。 +* 2.我们可以选择备份对象存储或者本地同时备份。 +* 3.如果已有网站使用WPCOS,插件调试没有问题之后,需要将原有本地静态资源上传到COS中,然后修改数据库原有固定静态文件链接路径。、 +* 4.插件是基于腾讯云COS对象存储SDK设计的,需要将对象存储升级至V5版本,早期V4版本兼容不好。 == Screenshots == 1. screenshot-1.png == Changelog == - = 1.0.0 = - -* 可配置是否上传缩略图; -* 可配置是否保留本地备份; -* 本地删除可同步删除腾讯云对象存储 COS 中的文件; -* 支持替换数据库中旧的资源链接地址 -* 支持腾讯云数据万象 CI 图片处理 -* 支持上传文件自动重命名 -* 支持同步历史附件到 COS +* 1、支持验证桶名是否有效; +* 2、可配置是否上传缩略图; +* 3、可配置是否保留本地备份; +* 4、本地删除可同步删除腾讯云对象存储 COS 中的文件; +* 5、支持替换数据库中旧的资源链接地址 +* 6、支持腾讯云数据万象 CI 图片处理 +* 7、支持上传文件自动重命名 +* 8、支持同步历史附件到 COS + += 1.0.1 = +* 1、支持在windows环境下运行 \ No newline at end of file diff --git a/tencentcloud-cos/tencentcloud-cos.php b/tencentcloud-cos/tencentcloud-cos.php index 74fa984..dfb2353 100644 --- a/tencentcloud-cos/tencentcloud-cos.php +++ b/tencentcloud-cos/tencentcloud-cos.php @@ -3,7 +3,7 @@ * Plugin Name: tencentcloud-cos * Plugin URI: https://openapp.qq.com/ * Description: 通过腾讯云对象存储服务使网站中静态文件无缝同步腾讯云对象存储COS,提升网站内容访问速度,降低本地存储开销。 - * Version: 1.0.0 + * Version: 1.0.1 * Author: 腾讯云 * Author URI: https://cloud.tencent.com/ * @@ -27,7 +27,7 @@ if (!defined('ABSPATH')) { die('We\'re sorry, but you can not directly access this file.'); } -defined('TENCENT_WORDPRESS_COS_VERSION') or define('TENCENT_WORDPRESS_COS_VERSION', '1.0.0'); +defined('TENCENT_WORDPRESS_COS_VERSION') or define('TENCENT_WORDPRESS_COS_VERSION', '1.0.1'); defined('TENCENT_WORDPRESS_COS_PLUGIN_DIR') or define('TENCENT_WORDPRESS_COS_PLUGIN_DIR', plugin_dir_path(__FILE__)); defined('TENCENT_WORDPRESS_PLUGINS_COMMON_DIR') or define('TENCENT_WORDPRESS_PLUGINS_COMMON_DIR', TENCENT_WORDPRESS_COS_PLUGIN_DIR . 'common' . DIRECTORY_SEPARATOR); diff --git a/tencentcloud-cos/tencentcloud-plugin-cos-setting-page.php b/tencentcloud-cos/tencentcloud-plugin-cos-setting-page.php index bb530b0..34eb0ef 100644 --- a/tencentcloud-cos/tencentcloud-plugin-cos-setting-page.php +++ b/tencentcloud-cos/tencentcloud-plugin-cos-setting-page.php @@ -51,7 +51,7 @@ $ajax_url = admin_url(TENCENT_WORDPRESS_COS_ADMIN_AJAX); } ?> > - + @@ -84,7 +84,7 @@ $ajax_url = admin_url(TENCENT_WORDPRESS_COS_ADMIN_AJAX);
-

访问 密钥管理 获取 +

访问 密钥管理获取 SecretId和SecretKey或通过"新建密钥"创建密钥串

@@ -130,7 +130,7 @@ $ajax_url = admin_url(TENCENT_WORDPRESS_COS_ADMIN_AJAX); value="">
-

首先到腾讯云控制台新建bucket存储桶或填写腾讯云COS中已创建的bucket

+

首先到腾讯云控制台新建bucket存储桶或填写腾讯云"COS"以创建的bucket

示范:wordpress-xxxxxx

@@ -280,9 +280,10 @@ $ajax_url = admin_url(TENCENT_WORDPRESS_COS_ADMIN_AJAX);

同步媒体库中的全部文件到腾讯云COS,

@@ -302,7 +303,7 @@ $ajax_url = admin_url(TENCENT_WORDPRESS_COS_ADMIN_AJAX);

替换网站内容中所有静态文件地址为腾讯云COS文件地址,

@@ -311,7 +312,9 @@ $ajax_url = admin_url(TENCENT_WORDPRESS_COS_ADMIN_AJAX);
-- Gitee