parent
							
								
									670fe41eae
								
							
						
					
					
						commit
						b2bae3f5a5
					
				|  | @ -3,7 +3,7 @@ | ||||||
| Plugin Name: OSS Aliyun | Plugin Name: OSS Aliyun | ||||||
| Plugin URI: https://github.com/sy-records/aliyun-oss-wordpress | Plugin URI: https://github.com/sy-records/aliyun-oss-wordpress | ||||||
| Description: 使用阿里云对象存储 OSS 作为附件存储空间。(This is a plugin that uses Aliyun Object Storage Service for attachments remote saving.) | Description: 使用阿里云对象存储 OSS 作为附件存储空间。(This is a plugin that uses Aliyun Object Storage Service for attachments remote saving.) | ||||||
| Version: 1.3.0 | Version: 1.3.1 | ||||||
| Author: 沈唁 | Author: 沈唁 | ||||||
| Author URI: https://qq52o.me | Author URI: https://qq52o.me | ||||||
| License: Apache 2.0 | License: Apache 2.0 | ||||||
|  | @ -17,7 +17,7 @@ require_once 'sdk/vendor/autoload.php'; | ||||||
| use OSS\OssClient; | use OSS\OssClient; | ||||||
| use OSS\Core\OssException; | use OSS\Core\OssException; | ||||||
| 
 | 
 | ||||||
| define('OSS_VERSION', '1.3.0'); | define('OSS_VERSION', '1.3.1'); | ||||||
| define('OSS_BASEFOLDER', plugin_basename(dirname(__FILE__))); | define('OSS_BASEFOLDER', plugin_basename(dirname(__FILE__))); | ||||||
| 
 | 
 | ||||||
| if (!function_exists('get_home_path')) { | if (!function_exists('get_home_path')) { | ||||||
|  | @ -185,7 +185,7 @@ function oss_upload_attachments($metadata) | ||||||
|     // 图片在缩略图处理
 |     // 图片在缩略图处理
 | ||||||
|     if (!in_array($metadata['type'], $image_mime_types)) { |     if (!in_array($metadata['type'], $image_mime_types)) { | ||||||
|         //生成object在oss中的存储路径
 |         //生成object在oss中的存储路径
 | ||||||
|         if (get_option('upload_path') == '.') { |         if (oss_get_option('upload_path') == '.') { | ||||||
|             $metadata['file'] = str_replace('./', '', $metadata['file']); |             $metadata['file'] = str_replace('./', '', $metadata['file']); | ||||||
|         } |         } | ||||||
|         $object = str_replace("\\", '/', $metadata['file']); |         $object = str_replace("\\", '/', $metadata['file']); | ||||||
|  | @ -220,7 +220,7 @@ function oss_upload_thumbs($metadata) | ||||||
|     if (!empty($metadata['file'])) { |     if (!empty($metadata['file'])) { | ||||||
|         // Maybe there is a problem with the old version
 |         // Maybe there is a problem with the old version
 | ||||||
|         $file = $basedir . '/' . $metadata['file']; |         $file = $basedir . '/' . $metadata['file']; | ||||||
|         $upload_path = get_option('upload_path'); |         $upload_path = oss_get_option('upload_path'); | ||||||
|         if ($upload_path != '.') { |         if ($upload_path != '.') { | ||||||
|             $path_array = explode($upload_path, $file); |             $path_array = explode($upload_path, $file); | ||||||
|             if (count($path_array) >= 2) { |             if (count($path_array) >= 2) { | ||||||
|  | @ -242,7 +242,8 @@ function oss_upload_thumbs($metadata) | ||||||
|             return $metadata; |             return $metadata; | ||||||
|         } |         } | ||||||
|         //得到本地文件夹和远端文件夹
 |         //得到本地文件夹和远端文件夹
 | ||||||
|         $file_path = $basedir . '/' . dirname($metadata['file']) . '/'; |         $dirname = dirname($metadata['file']); | ||||||
|  |         $file_path = $dirname != '.' ? "{$basedir}/{$dirname}/" : "{$basedir}/"; | ||||||
|         $file_path = str_replace("\\", '/', $file_path); |         $file_path = str_replace("\\", '/', $file_path); | ||||||
|         if ($upload_path == '.') { |         if ($upload_path == '.') { | ||||||
|             $file_path = str_replace('./', '', $file_path); |             $file_path = str_replace('./', '', $file_path); | ||||||
|  | @ -282,7 +283,7 @@ function oss_delete_remote_attachment($post_id) | ||||||
|         $deleteObjects = []; |         $deleteObjects = []; | ||||||
| 
 | 
 | ||||||
|         // meta['file']的格式为 "2020/01/wp-bg.png"
 |         // meta['file']的格式为 "2020/01/wp-bg.png"
 | ||||||
|         $upload_path = get_option('upload_path'); |         $upload_path = oss_get_option('upload_path'); | ||||||
|         if ($upload_path == '') { |         if ($upload_path == '') { | ||||||
|             $upload_path = 'wp-content/uploads'; |             $upload_path = 'wp-content/uploads'; | ||||||
|         } |         } | ||||||
|  | @ -307,7 +308,7 @@ function oss_delete_remote_attachment($post_id) | ||||||
|         // 获取链接删除
 |         // 获取链接删除
 | ||||||
|         $link = wp_get_attachment_url($post_id); |         $link = wp_get_attachment_url($post_id); | ||||||
|         if ($link) { |         if ($link) { | ||||||
|             $upload_path = get_option('upload_path'); |             $upload_path = oss_get_option('upload_path'); | ||||||
|             if ($upload_path != '.') { |             if ($upload_path != '.') { | ||||||
|                 $file_info = explode($upload_path, $link); |                 $file_info = explode($upload_path, $link); | ||||||
|                 if (count($file_info) >= 2) { |                 if (count($file_info) >= 2) { | ||||||
|  | @ -334,7 +335,7 @@ function oss_modefiy_img_url($url, $post_id) | ||||||
|     return $url; |     return $url; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| if (get_option('upload_path') == '.') { | if (oss_get_option('upload_path') == '.') { | ||||||
|     add_filter('wp_get_attachment_url', 'oss_modefiy_img_url', 30, 2); |     add_filter('wp_get_attachment_url', 'oss_modefiy_img_url', 30, 2); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -388,12 +389,12 @@ function oss_read_dir_queue($dir) | ||||||
|                     if (is_dir($real_path)) { |                     if (is_dir($real_path)) { | ||||||
|                         $queue[] = $real_path; |                         $queue[] = $real_path; | ||||||
|                     } |                     } | ||||||
|                     //echo explode(get_option('upload_path'),$path)[1];
 |                     //echo explode(oss_get_option('upload_path'),$path)[1];
 | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             closedir($handle); |             closedir($handle); | ||||||
|         } |         } | ||||||
|         $upload_path = get_option('upload_path'); |         $upload_path = oss_get_option('upload_path'); | ||||||
|         foreach ($files as $v) { |         foreach ($files as $v) { | ||||||
|             if (!is_dir($v)) { |             if (!is_dir($v)) { | ||||||
|                 $dd[] = ['filepath' => $v, 'key' =>  '/' . $upload_path . explode($upload_path, $v)[1]]; |                 $dd[] = ['filepath' => $v, 'key' =>  '/' . $upload_path . explode($upload_path, $v)[1]]; | ||||||
|  | @ -424,8 +425,8 @@ function oss_setting_content_style($content) | ||||||
|         if (!empty($images) && isset($images[1])) { |         if (!empty($images) && isset($images[1])) { | ||||||
|             $images[1] = array_unique($images[1]); |             $images[1] = array_unique($images[1]); | ||||||
|             foreach ($images[1] as $item) { |             foreach ($images[1] as $item) { | ||||||
|                 if((strpos($item, $option['upload_url_path']) !== false) && (strpos($item, $option['style']) === false)){ |                 if((strpos($item, esc_attr($option['upload_url_path'])) !== false) && (strpos($item, esc_attr($option['style'])) === false)){ | ||||||
|                     $content = str_replace($item, $item . $option['style'], $content); |                     $content = str_replace($item, $item . esc_attr($option['style']), $content); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -442,8 +443,8 @@ function oss_setting_post_thumbnail_style( $html, $post_id, $post_image_id ) | ||||||
|         if (!empty($images) && isset($images[1])) { |         if (!empty($images) && isset($images[1])) { | ||||||
|             $images[1] = array_unique($images[1]); |             $images[1] = array_unique($images[1]); | ||||||
|             foreach ($images[1] as $item) { |             foreach ($images[1] as $item) { | ||||||
|                 if((strpos($item, $option['upload_url_path']) !== false) && (strpos($item, $option['style']) === false)){ |                 if((strpos($item, esc_attr($option['upload_url_path'])) !== false) && (strpos($item, esc_attr($option['style'])) === false)){ | ||||||
|                     $html = str_replace($item, $item . $option['style'], $html); |                     $html = str_replace($item, $item . esc_attr($option['style']), $html); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -451,6 +452,11 @@ function oss_setting_post_thumbnail_style( $html, $post_id, $post_image_id ) | ||||||
|     return $html; |     return $html; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | function oss_get_option($key) | ||||||
|  | { | ||||||
|  |     return esc_attr(get_option($key)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // 在导航栏“设置”中添加条目
 | // 在导航栏“设置”中添加条目
 | ||||||
| function oss_add_setting_page() | function oss_add_setting_page() | ||||||
| { | { | ||||||
|  | @ -481,7 +487,7 @@ function oss_setting_page() | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (!empty($_POST) and $_POST['type'] == 'aliyun_oss_all') { |     if (!empty($_POST) and $_POST['type'] == 'aliyun_oss_all') { | ||||||
|         $sync = oss_read_dir_queue(get_home_path() . get_option('upload_path')); |         $sync = oss_read_dir_queue(get_home_path() . oss_get_option('upload_path')); | ||||||
|         foreach ($sync as $k) { |         foreach ($sync as $k) { | ||||||
|             oss_file_upload($k['key'], $k['filepath']); |             oss_file_upload($k['key'], $k['filepath']); | ||||||
|         } |         } | ||||||
|  | @ -519,13 +525,8 @@ function oss_setting_page() | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     $oss_options = get_option('oss_options', true); |     $oss_options = get_option('oss_options', true); | ||||||
|     $upload_path = get_option('upload_path'); |  | ||||||
|     $upload_url_path = get_option('upload_url_path'); |  | ||||||
| 
 | 
 | ||||||
|     $oss_bucket = esc_attr($oss_options['bucket']); |  | ||||||
|     $oss_regional = esc_attr($oss_options['regional']); |     $oss_regional = esc_attr($oss_options['regional']); | ||||||
|     $oss_accessKeyId = esc_attr($oss_options['accessKeyId']); |  | ||||||
|     $oss_accessKeySecret = esc_attr($oss_options['accessKeySecret']); |  | ||||||
| 
 | 
 | ||||||
|     $oss_is_internal = esc_attr($oss_options['is_internal']); |     $oss_is_internal = esc_attr($oss_options['is_internal']); | ||||||
|     $oss_is_internal =  ($oss_is_internal == 'true'); |     $oss_is_internal =  ($oss_is_internal == 'true'); | ||||||
|  | @ -537,7 +538,6 @@ function oss_setting_page() | ||||||
|     $oss_nolocalsaving = ($oss_nolocalsaving == 'true'); |     $oss_nolocalsaving = ($oss_nolocalsaving == 'true'); | ||||||
|     $oss_update_file_name = esc_attr($oss_options['update_file_name']); |     $oss_update_file_name = esc_attr($oss_options['update_file_name']); | ||||||
| 
 | 
 | ||||||
|     $oss_style = esc_attr($oss_options['style']); |  | ||||||
|     $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? 'https://' : 'http://'; |     $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? 'https://' : 'http://'; | ||||||
|     ?>
 |     ?>
 | ||||||
|     <div class="wrap" style="margin: 10px;"> |     <div class="wrap" style="margin: 10px;"> | ||||||
|  | @ -551,7 +551,7 @@ function oss_setting_page() | ||||||
|                         <legend>Bucket名称</legend> |                         <legend>Bucket名称</legend> | ||||||
|                     </th> |                     </th> | ||||||
|                     <td> |                     <td> | ||||||
|                         <input type="text" name="bucket" value="<?php echo $oss_bucket; ?>" size="50" placeholder="请填写Bucket名称"/> |                         <input type="text" name="bucket" value="<?php echo esc_attr($oss_options['bucket']); ?>" size="50" placeholder="请填写Bucket名称"/> | ||||||
| 
 | 
 | ||||||
|                         <p>请先访问 <a href="https://oss.console.aliyun.com/bucket" target="_blank">阿里云控制台</a> 创建<code>Bucket</code>,再填写以上内容。</p> |                         <p>请先访问 <a href="https://oss.console.aliyun.com/bucket" target="_blank">阿里云控制台</a> 创建<code>Bucket</code>,再填写以上内容。</p> | ||||||
|                     </td> |                     </td> | ||||||
|  | @ -599,14 +599,14 @@ function oss_setting_page() | ||||||
|                     <th> |                     <th> | ||||||
|                         <legend>AccessKeyId</legend> |                         <legend>AccessKeyId</legend> | ||||||
|                     </th> |                     </th> | ||||||
|                     <td><input type="text" name="accessKeyId" value="<?php echo $oss_accessKeyId; ?>" size="50" placeholder="AccessKeyId"/></td> |                     <td><input type="text" name="accessKeyId" value="<?php echo esc_attr($oss_options['accessKeyId']); ?>" size="50" placeholder="AccessKeyId"/></td> | ||||||
|                 </tr> |                 </tr> | ||||||
|                 <tr> |                 <tr> | ||||||
|                     <th> |                     <th> | ||||||
|                         <legend>AccessKeySecret</legend> |                         <legend>AccessKeySecret</legend> | ||||||
|                     </th> |                     </th> | ||||||
|                     <td> |                     <td> | ||||||
|                         <input type="password" name="accessKeySecret" value="<?php echo $oss_accessKeySecret; ?>" size="50" placeholder="AccessKeySecret"/> |                         <input type="password" name="accessKeySecret" value="<?php echo esc_attr($oss_options['accessKeySecret']); ?>" size="50" placeholder="AccessKeySecret"/> | ||||||
|                     </td> |                     </td> | ||||||
|                 </tr> |                 </tr> | ||||||
|                 <tr> |                 <tr> | ||||||
|  | @ -654,7 +654,7 @@ function oss_setting_page() | ||||||
|                         <legend>本地文件夹</legend> |                         <legend>本地文件夹</legend> | ||||||
|                     </th> |                     </th> | ||||||
|                     <td> |                     <td> | ||||||
|                         <input type="text" name="upload_path" value="<?php echo $upload_path; ?>" size="50" placeholder="请输入上传文件夹"/> |                         <input type="text" name="upload_path" value="<?php echo oss_get_option('upload_path'); ?>" size="50" placeholder="请输入上传文件夹"/> | ||||||
|                         <p>附件在服务器上的存储位置,例如: <code>wp-content/uploads</code> (注意不要以“/”开头和结尾),根目录请输入<code>.</code>。</p> |                         <p>附件在服务器上的存储位置,例如: <code>wp-content/uploads</code> (注意不要以“/”开头和结尾),根目录请输入<code>.</code>。</p> | ||||||
|                     </td> |                     </td> | ||||||
|                 </tr> |                 </tr> | ||||||
|  | @ -663,7 +663,7 @@ function oss_setting_page() | ||||||
|                         <legend>URL前缀</legend> |                         <legend>URL前缀</legend> | ||||||
|                     </th> |                     </th> | ||||||
|                     <td> |                     <td> | ||||||
|                         <input type="text" name="upload_url_path" value="<?php echo $upload_url_path; ?>" size="50" placeholder="请输入URL前缀"/> |                         <input type="text" name="upload_url_path" value="<?php echo oss_get_option('upload_url_path'); ?>" size="50" placeholder="请输入URL前缀"/> | ||||||
| 
 | 
 | ||||||
|                         <p><b>注意:</b></p> |                         <p><b>注意:</b></p> | ||||||
| 
 | 
 | ||||||
|  | @ -679,7 +679,7 @@ function oss_setting_page() | ||||||
|                         <legend>图片处理</legend> |                         <legend>图片处理</legend> | ||||||
|                     </th> |                     </th> | ||||||
|                     <td> |                     <td> | ||||||
|                         <input type="text" name="style" value="<?php echo $oss_style; ?>" size="50" placeholder="请输入图片处理样式,留空表示不处理"/> |                         <input type="text" name="style" value="<?php echo esc_attr($oss_options['style']); ?>" size="50" placeholder="请输入图片处理样式,留空表示不处理"/> | ||||||
| 
 | 
 | ||||||
|                         <p><b>获取样式:</b></p> |                         <p><b>获取样式:</b></p> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -5,7 +5,7 @@ Tags: oss, 阿里云, 对象存储, aliyun | ||||||
| Requires at least: 4.2 | Requires at least: 4.2 | ||||||
| Tested up to: 5.9 | Tested up to: 5.9 | ||||||
| Requires PHP: 5.6.0 | Requires PHP: 5.6.0 | ||||||
| Stable tag: 1.3.0 | Stable tag: 1.3.1 | ||||||
| License: Apache 2.0 | License: Apache 2.0 | ||||||
| License URI: http://www.apache.org/licenses/LICENSE-2.0.html | License URI: http://www.apache.org/licenses/LICENSE-2.0.html | ||||||
| 
 | 
 | ||||||
|  | @ -72,6 +72,9 @@ License URI: http://www.apache.org/licenses/LICENSE-2.0.html | ||||||
| 
 | 
 | ||||||
| == Changelog == | == Changelog == | ||||||
| 
 | 
 | ||||||
|  | = 1.3.1 = | ||||||
|  | * 优化代码 | ||||||
|  | 
 | ||||||
| = 1.3.0 = | = 1.3.0 = | ||||||
| * 增加地域 | * 增加地域 | ||||||
| * 优化 isset 判断 | * 优化 isset 判断 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 sy-records
						sy-records