├── .eslintignore
├── .gitignore
├── .prettierignore
├── 404.php
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── README.zh-CN.md
├── assets
├── css
│ ├── admin.css
│ ├── animate.min.css
│ ├── bootstrap.min.css
│ ├── fontawesome.min.css
│ ├── iconfont.min.css
│ ├── layer.min.css
│ ├── lightgallery.min.css
│ └── widget.min.css
├── fonts
│ ├── iconfont
│ │ ├── iconfont.eot
│ │ ├── iconfont.svg
│ │ ├── iconfont.ttf
│ │ ├── iconfont.woff
│ │ └── iconfont.woff2
│ ├── lightgallery
│ │ ├── lg.svg
│ │ ├── lg.ttf
│ │ └── lg.woff
│ └── webfonts
│ │ ├── fa-brands-400.eot
│ │ ├── fa-brands-400.svg
│ │ ├── fa-brands-400.ttf
│ │ ├── fa-brands-400.woff
│ │ ├── fa-brands-400.woff2
│ │ ├── fa-regular-400.eot
│ │ ├── fa-regular-400.svg
│ │ ├── fa-regular-400.ttf
│ │ ├── fa-regular-400.woff
│ │ ├── fa-regular-400.woff2
│ │ ├── fa-solid-900.eot
│ │ ├── fa-solid-900.svg
│ │ ├── fa-solid-900.ttf
│ │ ├── fa-solid-900.woff
│ │ └── fa-solid-900.woff2
├── img
│ ├── 200.png
│ ├── 404.jpg
│ ├── 404.svg
│ ├── about-background.png
│ ├── background.jpg
│ ├── default.jpg
│ ├── gravatar.png
│ ├── layer
│ │ ├── icon-ext.png
│ │ └── icon.png
│ ├── lightgallery
│ │ ├── loading.gif
│ │ ├── video-play.png
│ │ ├── vimeo-play.png
│ │ └── youtube-play.png
│ ├── nothing.svg
│ ├── options
│ │ ├── about.png
│ │ ├── col-12.png
│ │ └── col-8.png
│ ├── payment
│ │ ├── alipay.png
│ │ └── wechat.png
│ ├── police-ico.png
│ └── smilies
│ │ ├── arrow.png
│ │ ├── biggrin.png
│ │ ├── confused.png
│ │ ├── cool.png
│ │ ├── cry.png
│ │ ├── drooling.png
│ │ ├── eek.png
│ │ ├── evil.png
│ │ ├── exclaim.png
│ │ ├── idea.png
│ │ ├── lol.png
│ │ ├── mad.png
│ │ ├── mrgreen.png
│ │ ├── neutral.png
│ │ ├── persevering.png
│ │ ├── question.png
│ │ ├── razz.png
│ │ ├── redface.png
│ │ ├── rolleyes.png
│ │ ├── shit.png
│ │ ├── smile.png
│ │ ├── symbols.png
│ │ ├── twisted.png
│ │ └── wink.png
└── js
│ ├── DPlayer.min.js
│ ├── bootstrap.bundle.min.js
│ ├── buttons
│ ├── images
│ │ ├── accordion.png
│ │ ├── bdbtn.png
│ │ ├── bilibili.png
│ │ ├── danger.png
│ │ ├── dangerbox.png
│ │ ├── info.png
│ │ ├── infobox.png
│ │ ├── kbd.png
│ │ ├── mark.png
│ │ ├── music.png
│ │ ├── reply.png
│ │ ├── striped.png
│ │ ├── success.png
│ │ ├── successbox.png
│ │ ├── title.png
│ │ ├── vqq.png
│ │ ├── warning.png
│ │ ├── warningbox.png
│ │ └── youtube.png
│ └── more.js
│ ├── comments.min.js
│ ├── kratos.js
│ ├── layer.min.js
│ ├── lightgallery.min.js
│ └── widget.min.js
├── comments.php
├── crowdin.yml
├── footer.php
├── functions.php
├── header.php
├── inc
├── codestar-framework
│ ├── assets
│ │ ├── css
│ │ │ ├── style-rtl.css
│ │ │ ├── style-rtl.min.css
│ │ │ ├── style.css
│ │ │ └── style.min.css
│ │ ├── images
│ │ │ ├── checkerboard.png
│ │ │ ├── wp-logo.svg
│ │ │ └── wp-plugin-logo.svg
│ │ ├── js
│ │ │ ├── gutenberg.js
│ │ │ ├── main.js
│ │ │ ├── main.min.js
│ │ │ ├── plugins.js
│ │ │ └── plugins.min.js
│ │ └── scss
│ │ │ ├── style-rtl.scss
│ │ │ ├── style.scss
│ │ │ └── vendor
│ │ │ ├── _base.scss
│ │ │ ├── _chosen.scss
│ │ │ ├── _customizer.scss
│ │ │ ├── _fields.scss
│ │ │ ├── _helper.scss
│ │ │ ├── _modal.scss
│ │ │ ├── _navmenu.scss
│ │ │ ├── _profile.scss
│ │ │ ├── _responsive.scss
│ │ │ ├── _taxonomy.scss
│ │ │ ├── _themes.scss
│ │ │ ├── _welcome.scss
│ │ │ └── _widget.scss
│ ├── autoload.php
│ ├── classes
│ │ ├── abstract.class.php
│ │ ├── admin-options.class.php
│ │ ├── comment-options.class.php
│ │ ├── customize-options.class.php
│ │ ├── fields.class.php
│ │ ├── metabox-options.class.php
│ │ ├── nav-menu-options.class.php
│ │ ├── profile-options.class.php
│ │ ├── setup.class.php
│ │ ├── shortcode-options.class.php
│ │ ├── taxonomy-options.class.php
│ │ └── widget-options.class.php
│ ├── fields
│ │ ├── accordion
│ │ │ └── accordion.php
│ │ ├── background
│ │ │ └── background.php
│ │ ├── backup
│ │ │ └── backup.php
│ │ ├── border
│ │ │ └── border.php
│ │ ├── button_set
│ │ │ └── button_set.php
│ │ ├── callback
│ │ │ └── callback.php
│ │ ├── checkbox
│ │ │ └── checkbox.php
│ │ ├── code_editor
│ │ │ └── code_editor.php
│ │ ├── color
│ │ │ └── color.php
│ │ ├── color_group
│ │ │ └── color_group.php
│ │ ├── content
│ │ │ └── content.php
│ │ ├── date
│ │ │ └── date.php
│ │ ├── dimensions
│ │ │ └── dimensions.php
│ │ ├── fieldset
│ │ │ └── fieldset.php
│ │ ├── gallery
│ │ │ └── gallery.php
│ │ ├── group
│ │ │ └── group.php
│ │ ├── heading
│ │ │ └── heading.php
│ │ ├── icon
│ │ │ ├── fa4-icons.php
│ │ │ ├── fa5-icons.php
│ │ │ └── icon.php
│ │ ├── image_select
│ │ │ └── image_select.php
│ │ ├── index.php
│ │ ├── link
│ │ │ └── link.php
│ │ ├── link_color
│ │ │ └── link_color.php
│ │ ├── map
│ │ │ └── map.php
│ │ ├── media
│ │ │ └── media.php
│ │ ├── notice
│ │ │ └── notice.php
│ │ ├── number
│ │ │ └── number.php
│ │ ├── palette
│ │ │ └── palette.php
│ │ ├── radio
│ │ │ └── radio.php
│ │ ├── repeater
│ │ │ └── repeater.php
│ │ ├── select
│ │ │ └── select.php
│ │ ├── slider
│ │ │ └── slider.php
│ │ ├── sortable
│ │ │ └── sortable.php
│ │ ├── sorter
│ │ │ └── sorter.php
│ │ ├── spacing
│ │ │ └── spacing.php
│ │ ├── spinner
│ │ │ └── spinner.php
│ │ ├── subheading
│ │ │ └── subheading.php
│ │ ├── submessage
│ │ │ └── submessage.php
│ │ ├── switcher
│ │ │ └── switcher.php
│ │ ├── tabbed
│ │ │ └── tabbed.php
│ │ ├── text
│ │ │ └── text.php
│ │ ├── textarea
│ │ │ └── textarea.php
│ │ ├── typography
│ │ │ ├── google-fonts.php
│ │ │ └── typography.php
│ │ ├── upload
│ │ │ └── upload.php
│ │ └── wp_editor
│ │ │ └── wp_editor.php
│ ├── functions
│ │ ├── actions.php
│ │ ├── customize.php
│ │ ├── helpers.php
│ │ ├── sanitize.php
│ │ ├── validate.php
│ │ └── walker.php
│ └── languages
│ │ ├── default.pot
│ │ ├── zh_CN.mo
│ │ └── zh_CN.po
├── theme-article.php
├── theme-core.php
├── theme-dogecloud.php
├── theme-navwalker.php
├── theme-options.php
├── theme-setting.php
├── theme-shortcode.php
├── theme-smtp.php
├── theme-volcengine.php
├── theme-widgets.php
├── update-checker
│ ├── Puc
│ │ ├── v5
│ │ │ └── PucFactory.php
│ │ └── v5p2
│ │ │ ├── Autoloader.php
│ │ │ ├── DebugBar
│ │ │ ├── Extension.php
│ │ │ ├── Panel.php
│ │ │ ├── PluginExtension.php
│ │ │ ├── PluginPanel.php
│ │ │ └── ThemePanel.php
│ │ │ ├── InstalledPackage.php
│ │ │ ├── Metadata.php
│ │ │ ├── OAuthSignature.php
│ │ │ ├── Plugin
│ │ │ ├── Package.php
│ │ │ ├── PluginInfo.php
│ │ │ ├── Ui.php
│ │ │ ├── Update.php
│ │ │ └── UpdateChecker.php
│ │ │ ├── PucFactory.php
│ │ │ ├── Scheduler.php
│ │ │ ├── StateStore.php
│ │ │ ├── Theme
│ │ │ ├── Package.php
│ │ │ ├── Update.php
│ │ │ └── UpdateChecker.php
│ │ │ ├── Update.php
│ │ │ ├── UpdateChecker.php
│ │ │ ├── UpgraderStatus.php
│ │ │ ├── Utils.php
│ │ │ └── Vcs
│ │ │ ├── Api.php
│ │ │ ├── BaseChecker.php
│ │ │ ├── BitBucketApi.php
│ │ │ ├── GitHubApi.php
│ │ │ ├── GitLabApi.php
│ │ │ ├── PluginUpdateChecker.php
│ │ │ ├── Reference.php
│ │ │ ├── ReleaseAssetSupport.php
│ │ │ ├── ReleaseFilteringFeature.php
│ │ │ ├── ThemeUpdateChecker.php
│ │ │ └── VcsCheckerMethods.php
│ ├── autoload.php
│ ├── css
│ │ └── puc-debug-bar.css
│ ├── js
│ │ └── debug-bar.js
│ ├── languages
│ │ ├── plugin-update-checker-zh_CN.mo
│ │ ├── plugin-update-checker-zh_CN.po
│ │ └── plugin-update-checker.pot
│ ├── license.txt
│ ├── update.json
│ └── vendor
│ │ ├── Parsedown.php
│ │ ├── ParsedownModern.php
│ │ └── PucReadmeParser.php
└── volcengine-imagex
│ ├── index.php
│ ├── src
│ ├── .htaccess
│ ├── ExerciseBook
│ │ └── Flysystem
│ │ │ └── ImageX
│ │ │ ├── Config.php
│ │ │ ├── Exception
│ │ │ ├── FileNotFoundException.php
│ │ │ ├── FilesystemException.php
│ │ │ └── ImageXException.php
│ │ │ ├── ImageXAdapter.php
│ │ │ └── ImageXConfig.php
│ ├── VERSION
│ └── Volc
│ │ ├── Base
│ │ ├── SignatureTrait.php
│ │ ├── SignatureV4.php
│ │ ├── Singleton.php
│ │ └── V4Curl.php
│ │ └── Service
│ │ └── ImageX.php
│ └── vendor
│ ├── autoload.php
│ ├── composer
│ ├── ClassLoader.php
│ ├── InstalledVersions.php
│ ├── LICENSE
│ ├── autoload_classmap.php
│ ├── autoload_files.php
│ ├── autoload_namespaces.php
│ ├── autoload_psr4.php
│ ├── autoload_real.php
│ ├── autoload_static.php
│ ├── installed.json
│ ├── installed.php
│ └── platform_check.php
│ ├── guzzlehttp
│ ├── guzzle
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── UPGRADING.md
│ │ ├── composer.json
│ │ ├── src
│ │ │ ├── BodySummarizer.php
│ │ │ ├── BodySummarizerInterface.php
│ │ │ ├── Client.php
│ │ │ ├── ClientInterface.php
│ │ │ ├── ClientTrait.php
│ │ │ ├── Cookie
│ │ │ │ ├── CookieJar.php
│ │ │ │ ├── CookieJarInterface.php
│ │ │ │ ├── FileCookieJar.php
│ │ │ │ ├── SessionCookieJar.php
│ │ │ │ └── SetCookie.php
│ │ │ ├── Exception
│ │ │ │ ├── BadResponseException.php
│ │ │ │ ├── ClientException.php
│ │ │ │ ├── ConnectException.php
│ │ │ │ ├── GuzzleException.php
│ │ │ │ ├── InvalidArgumentException.php
│ │ │ │ ├── RequestException.php
│ │ │ │ ├── ServerException.php
│ │ │ │ ├── TooManyRedirectsException.php
│ │ │ │ └── TransferException.php
│ │ │ ├── Handler
│ │ │ │ ├── CurlFactory.php
│ │ │ │ ├── CurlFactoryInterface.php
│ │ │ │ ├── CurlHandler.php
│ │ │ │ ├── CurlMultiHandler.php
│ │ │ │ ├── EasyHandle.php
│ │ │ │ ├── HeaderProcessor.php
│ │ │ │ ├── MockHandler.php
│ │ │ │ ├── Proxy.php
│ │ │ │ └── StreamHandler.php
│ │ │ ├── HandlerStack.php
│ │ │ ├── MessageFormatter.php
│ │ │ ├── MessageFormatterInterface.php
│ │ │ ├── Middleware.php
│ │ │ ├── Pool.php
│ │ │ ├── PrepareBodyMiddleware.php
│ │ │ ├── RedirectMiddleware.php
│ │ │ ├── RequestOptions.php
│ │ │ ├── RetryMiddleware.php
│ │ │ ├── TransferStats.php
│ │ │ ├── Utils.php
│ │ │ ├── functions.php
│ │ │ └── functions_include.php
│ │ └── vendor-bin
│ │ │ ├── php-cs-fixer
│ │ │ └── composer.json
│ │ │ ├── phpstan
│ │ │ └── composer.json
│ │ │ └── psalm
│ │ │ └── composer.json
│ ├── promises
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── composer.json
│ │ └── src
│ │ │ ├── AggregateException.php
│ │ │ ├── CancellationException.php
│ │ │ ├── Coroutine.php
│ │ │ ├── Create.php
│ │ │ ├── Each.php
│ │ │ ├── EachPromise.php
│ │ │ ├── FulfilledPromise.php
│ │ │ ├── Is.php
│ │ │ ├── Promise.php
│ │ │ ├── PromiseInterface.php
│ │ │ ├── PromisorInterface.php
│ │ │ ├── RejectedPromise.php
│ │ │ ├── RejectionException.php
│ │ │ ├── TaskQueue.php
│ │ │ ├── TaskQueueInterface.php
│ │ │ ├── Utils.php
│ │ │ ├── functions.php
│ │ │ └── functions_include.php
│ └── psr7
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── composer.json
│ │ ├── src
│ │ ├── AppendStream.php
│ │ ├── BufferStream.php
│ │ ├── CachingStream.php
│ │ ├── DroppingStream.php
│ │ ├── FnStream.php
│ │ ├── Header.php
│ │ ├── HttpFactory.php
│ │ ├── InflateStream.php
│ │ ├── LazyOpenStream.php
│ │ ├── LimitStream.php
│ │ ├── Message.php
│ │ ├── MessageTrait.php
│ │ ├── MimeType.php
│ │ ├── MultipartStream.php
│ │ ├── NoSeekStream.php
│ │ ├── PumpStream.php
│ │ ├── Query.php
│ │ ├── Request.php
│ │ ├── Response.php
│ │ ├── Rfc7230.php
│ │ ├── ServerRequest.php
│ │ ├── Stream.php
│ │ ├── StreamDecoratorTrait.php
│ │ ├── StreamWrapper.php
│ │ ├── UploadedFile.php
│ │ ├── Uri.php
│ │ ├── UriNormalizer.php
│ │ ├── UriResolver.php
│ │ └── Utils.php
│ │ └── vendor-bin
│ │ ├── php-cs-fixer
│ │ └── composer.json
│ │ ├── phpstan
│ │ └── composer.json
│ │ └── psalm
│ │ └── composer.json
│ ├── psr
│ ├── http-client
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── composer.json
│ │ └── src
│ │ │ ├── ClientExceptionInterface.php
│ │ │ ├── ClientInterface.php
│ │ │ ├── NetworkExceptionInterface.php
│ │ │ └── RequestExceptionInterface.php
│ ├── http-factory
│ │ ├── .gitignore
│ │ ├── .pullapprove.yml
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── composer.json
│ │ └── src
│ │ │ ├── RequestFactoryInterface.php
│ │ │ ├── ResponseFactoryInterface.php
│ │ │ ├── ServerRequestFactoryInterface.php
│ │ │ ├── StreamFactoryInterface.php
│ │ │ ├── UploadedFileFactoryInterface.php
│ │ │ └── UriFactoryInterface.php
│ └── http-message
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── composer.json
│ │ └── src
│ │ ├── MessageInterface.php
│ │ ├── RequestInterface.php
│ │ ├── ResponseInterface.php
│ │ ├── ServerRequestInterface.php
│ │ ├── StreamInterface.php
│ │ ├── UploadedFileInterface.php
│ │ └── UriInterface.php
│ └── ralouphie
│ └── getallheaders
│ ├── LICENSE
│ ├── README.md
│ ├── composer.json
│ └── src
│ └── getallheaders.php
├── index.php
├── languages
├── en_US.mo
├── en_US.po
└── kratos.pot
├── page-full.php
├── page.php
├── pages
├── page-content.php
├── page-smilies.php
└── page-toolbar.php
├── screenshot.png
├── single.php
└── style.css
/.eslintignore:
--------------------------------------------------------------------------------
1 | *.min.css
2 | *.min.js
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | #################### VisualStudioCode.gitignore ####################
2 |
3 | .vscode/*
4 | !.vscode/settings.json
5 | !.vscode/tasks.json
6 | !.vscode/launch.json
7 | !.vscode/extensions.json
8 | !.vscode/*.code-snippets
9 |
10 | # Local History for Visual Studio Code
11 | .history/
12 |
13 | #################### Linux.gitignore ####################
14 |
15 | *~
16 |
17 | # temporary files which can be created if a process still has a handle open of a deleted file
18 | .fuse_hidden*
19 |
20 | # KDE directory preferences
21 | .directory
22 |
23 | # Linux trash folder which might appear on any partition or disk
24 | .Trash-*
25 |
26 | # .nfs files are created when an open file is removed but is still being accessed
27 | .nfs*
28 |
29 | #################### Windows.gitignore ####################
30 |
31 | # Windows thumbnail cache files
32 | Thumbs.db
33 | Thumbs.db:encryptable
34 | ehthumbs.db
35 | ehthumbs_vista.db
36 |
37 | # Dump file
38 | *.stackdump
39 |
40 | # Folder config file
41 | [Dd]esktop.ini
42 |
43 | # Recycle Bin used on file shares
44 | $RECYCLE.BIN/
45 |
46 | # Windows Installer files
47 | *.cab
48 | *.msi
49 | *.msix
50 | *.msm
51 | *.msp
52 |
53 | # Windows shortcuts
54 | *.lnk
55 |
56 | #################### macOS.gitignore ####################
57 |
58 | # General
59 | .DS_Store
60 | .AppleDouble
61 | .LSOverride
62 |
63 | # Icon must end with two \r
64 | Icon
65 |
66 | # Thumbnails
67 | ._*
68 |
69 | # Files that might appear in the root of a volume
70 | .DocumentRevisions-V100
71 | .fseventsd
72 | .Spotlight-V100
73 | .TemporaryItems
74 | .Trashes
75 | .VolumeIcon.icns
76 | .com.apple.timemachine.donotpresent
77 |
78 | # Directories potentially created on remote AFP share
79 | .AppleDB
80 | .AppleDesktop
81 | Network Trash Folder
82 | Temporary Items
83 | .apdisk
84 |
85 | #################### Custom.gitignore ####################
86 |
87 | !.gitkeep
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | *.min.css
2 | *.min.js
--------------------------------------------------------------------------------
/404.php:
--------------------------------------------------------------------------------
1 |
6 | * @license GPL-3.0 License
7 | * @version 2022.01.26
8 | */
9 |
10 | get_header(); ?>
11 |
30 |
31 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | **English** | [简体中文](README.zh-CN.md)
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | Report Bug
23 | ·
24 | Request Feature
25 |
26 |
27 | WordPress theme that focus on reading experience
28 |
29 | ## 🚀 Quick start
30 |
31 | 1. First download the theme's .zip file from the source file to your local computer.
32 |
33 | 2. From your WordPress Administration area, head to Appearance > Themes and click `Add New`.
34 |
35 | 3. The Add New theme screen has a new option, `Upload Theme`.
36 |
37 | 4. The theme upload form is now open, click `Choose File`, select the theme zip file on your computer and click `Install Now`.
38 |
39 | 5. The theme can now be activated from the administrator. Select the `Appearance` tab, then open the theme catalog, find the theme, and click the `Activate link`.
40 |
41 | ## 🤝 Contributing
42 |
43 | We welcome all contributions. You can submit any ideas as Pull requests or as Issues, have a good time!
44 |
45 | ## 📃 License
46 |
47 | The project is released under the GNU General Public License v3.0, see the [LICENCE](https://github.com/seatonjiang/kratos/blob/main/LICENSE) file for details.
48 |
--------------------------------------------------------------------------------
/README.zh-CN.md:
--------------------------------------------------------------------------------
1 | [English](README.md) | **简体中文**
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | 报告问题
23 | ·
24 | 功能需求
25 |
26 |
27 | 专注阅读体验的 WordPress 主题
28 |
29 | ## 🚀 使用说明
30 |
31 | 1. 下载最新发行版本的 .zip 格式安装包;
32 |
33 | 2. 登录 WordPress 管理员后台,进入 `外观` > `主题` 页面,然后点击 `添加` 按钮;
34 |
35 | 3. 进入添加主题页面之后,再点击 `上传主题` 按钮;
36 |
37 | 4. 点击 `选择文件`, 找到下载的 .zip 格式安装包,然后点击 `现在安装` 按钮;
38 |
39 | 5. 进入 `外观` > `主题` 页面,找到 Kratos 主题,然后点击 `启用` 即可。
40 |
41 | ## 🤝 参与共建
42 |
43 | 我们欢迎所有的贡献,你可以将任何想法作为 Pull requests 或 Issues 提交,顺颂商祺!
44 |
45 | ## 📃 开源许可
46 |
47 | 项目基于 GNU 通用公共许可证 v3.0 发布,详细说明请参阅 [LICENCE](https://github.com/seatonjiang/kratos/blob/main/LICENSE) 文件。
48 |
--------------------------------------------------------------------------------
/assets/css/admin.css:
--------------------------------------------------------------------------------
1 | .editor-styles-wrapper .wp-site-blocks,
2 | .editor-styles-wrapper>.is-root-container,
3 | .editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper,
4 | .editor-styles-wrapper .wp-block-group.alignfull,
5 | .editor-styles-wrapper .wp-block-group.has-background,
6 | .editor-styles-wrapper .wp-block-cover.alignfull,
7 | .editor-styles-wrapper .is-root-container .wp-block[data-align="full"]>.wp-block-group,
8 | .editor-styles-wrapper .is-root-container .wp-block[data-align="full"]>.wp-block-cover {
9 | padding-left: max(1.25rem, 5vw);
10 | padding-right: max(1.25rem, 5vw);
11 | }
--------------------------------------------------------------------------------
/assets/css/iconfont.min.css:
--------------------------------------------------------------------------------
1 | @font-face{font-family:kicon;src:url('../fonts/iconfont/iconfont.eot?t=1618460466711');src:url('../fonts/iconfont/iconfont.eot?t=1618460466711&iefix') format('embedded-opentype'),url('../fonts/iconfont/iconfont.woff2?t=1618460466711') format('woff2'),url('../fonts/iconfont/iconfont.woff?t=1618460466711') format('woff'),url('../fonts/iconfont/iconfont.ttf?t=1618460466711') format('truetype'),url('../fonts/iconfont/iconfont.svg?t=1618460466711') format('svg')}.kicon{font-family:kicon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.i-douban:before{content:"\e645"}.i-card-new:before{content:"\e642"}.i-card-hot:before{content:"\e643"}.i-card-top:before{content:"\e644"}.i-author:before{content:"\e603"}.i-plus:before{content:"\e89e"}.i-url:before{content:"\e74f"}.i-like:before{content:"\e602"}.i-donate:before{content:"\e684"}.i-larrows:before{content:"\e640"}.i-rarrows:before{content:"\e641"}.i-cemail:before{content:"\e63e"}.i-user:before{content:"\e63f"}.i-reply:before{content:"\e63d"}.i-face:before{content:"\e63c"}.i-find:before{content:"\e63a"}.i-wechat:before{content:"\e63b"}.i-telegram:before{content:"\e639"}.i-twitter:before{content:"\e624"}.i-youtube:before{content:"\e625"}.i-stackflow:before{content:"\e626"}.i-sina:before{content:"\e627"}.i-github:before{content:"\e628"}.i-coding:before{content:"\e629"}.i-bilibili:before{content:"\e62a"}.i-linkedin:before{content:"\e62b"}.i-calendar:before{content:"\e62c"}.i-rightbutton:before{content:"\e62d"}.i-up:before{content:"\e62e"}.i-download:before{content:"\e62f"}.i-comments:before{content:"\e630"}.i-tabnew:before{content:"\e631"}.i-good:before{content:"\e632"}.i-hot:before{content:"\e633"}.i-tabhot:before{content:"\e634"}.i-tabrandom:before{content:"\e635"}.i-book:before{content:"\e636"}.i-email:before{content:"\e637"}.i-gitee:before{content:"\e638"}
2 |
--------------------------------------------------------------------------------
/assets/css/widget.min.css:
--------------------------------------------------------------------------------
1 | .button-update-media{position:relative;box-sizing:border-box;margin:16px 0;padding:9px 0;width:100%;border:1px dashed #b4b9be;background-color:#edeff0;color:#32373c;text-align:center;line-height:1.6;cursor:pointer}
2 | .button-update-media:hover{background-color:#fbfbfc}
3 | .button-update-media:focus{outline:2px solid transparent;outline-offset:-2px;border-color:#5b9dd9;border-style:solid;background-color:#fbfbfc;box-shadow:0 0 3px rgba(0,115,170,.8)}
--------------------------------------------------------------------------------
/assets/fonts/iconfont/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/iconfont/iconfont.eot
--------------------------------------------------------------------------------
/assets/fonts/iconfont/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/iconfont/iconfont.ttf
--------------------------------------------------------------------------------
/assets/fonts/iconfont/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/iconfont/iconfont.woff
--------------------------------------------------------------------------------
/assets/fonts/iconfont/iconfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/iconfont/iconfont.woff2
--------------------------------------------------------------------------------
/assets/fonts/lightgallery/lg.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/lightgallery/lg.ttf
--------------------------------------------------------------------------------
/assets/fonts/lightgallery/lg.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/lightgallery/lg.woff
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-brands-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-brands-400.eot
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-brands-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-brands-400.woff
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-regular-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-regular-400.eot
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-regular-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-regular-400.woff
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-solid-900.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-solid-900.eot
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-solid-900.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-solid-900.woff
--------------------------------------------------------------------------------
/assets/fonts/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/fonts/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/assets/img/200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/200.png
--------------------------------------------------------------------------------
/assets/img/404.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/404.jpg
--------------------------------------------------------------------------------
/assets/img/404.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/img/about-background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/about-background.png
--------------------------------------------------------------------------------
/assets/img/background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/background.jpg
--------------------------------------------------------------------------------
/assets/img/default.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/default.jpg
--------------------------------------------------------------------------------
/assets/img/gravatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/gravatar.png
--------------------------------------------------------------------------------
/assets/img/layer/icon-ext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/layer/icon-ext.png
--------------------------------------------------------------------------------
/assets/img/layer/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/layer/icon.png
--------------------------------------------------------------------------------
/assets/img/lightgallery/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/lightgallery/loading.gif
--------------------------------------------------------------------------------
/assets/img/lightgallery/video-play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/lightgallery/video-play.png
--------------------------------------------------------------------------------
/assets/img/lightgallery/vimeo-play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/lightgallery/vimeo-play.png
--------------------------------------------------------------------------------
/assets/img/lightgallery/youtube-play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/lightgallery/youtube-play.png
--------------------------------------------------------------------------------
/assets/img/options/about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/options/about.png
--------------------------------------------------------------------------------
/assets/img/options/col-12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/options/col-12.png
--------------------------------------------------------------------------------
/assets/img/options/col-8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/options/col-8.png
--------------------------------------------------------------------------------
/assets/img/payment/alipay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/payment/alipay.png
--------------------------------------------------------------------------------
/assets/img/payment/wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/payment/wechat.png
--------------------------------------------------------------------------------
/assets/img/police-ico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/police-ico.png
--------------------------------------------------------------------------------
/assets/img/smilies/arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/arrow.png
--------------------------------------------------------------------------------
/assets/img/smilies/biggrin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/biggrin.png
--------------------------------------------------------------------------------
/assets/img/smilies/confused.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/confused.png
--------------------------------------------------------------------------------
/assets/img/smilies/cool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/cool.png
--------------------------------------------------------------------------------
/assets/img/smilies/cry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/cry.png
--------------------------------------------------------------------------------
/assets/img/smilies/drooling.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/drooling.png
--------------------------------------------------------------------------------
/assets/img/smilies/eek.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/eek.png
--------------------------------------------------------------------------------
/assets/img/smilies/evil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/evil.png
--------------------------------------------------------------------------------
/assets/img/smilies/exclaim.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/exclaim.png
--------------------------------------------------------------------------------
/assets/img/smilies/idea.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/idea.png
--------------------------------------------------------------------------------
/assets/img/smilies/lol.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/lol.png
--------------------------------------------------------------------------------
/assets/img/smilies/mad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/mad.png
--------------------------------------------------------------------------------
/assets/img/smilies/mrgreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/mrgreen.png
--------------------------------------------------------------------------------
/assets/img/smilies/neutral.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/neutral.png
--------------------------------------------------------------------------------
/assets/img/smilies/persevering.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/persevering.png
--------------------------------------------------------------------------------
/assets/img/smilies/question.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/question.png
--------------------------------------------------------------------------------
/assets/img/smilies/razz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/razz.png
--------------------------------------------------------------------------------
/assets/img/smilies/redface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/redface.png
--------------------------------------------------------------------------------
/assets/img/smilies/rolleyes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/rolleyes.png
--------------------------------------------------------------------------------
/assets/img/smilies/shit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/shit.png
--------------------------------------------------------------------------------
/assets/img/smilies/smile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/smile.png
--------------------------------------------------------------------------------
/assets/img/smilies/symbols.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/symbols.png
--------------------------------------------------------------------------------
/assets/img/smilies/twisted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/twisted.png
--------------------------------------------------------------------------------
/assets/img/smilies/wink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/img/smilies/wink.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/accordion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/accordion.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/bdbtn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/bdbtn.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/bilibili.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/bilibili.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/danger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/danger.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/dangerbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/dangerbox.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/info.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/infobox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/infobox.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/kbd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/kbd.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/mark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/mark.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/music.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/music.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/reply.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/reply.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/striped.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/striped.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/success.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/successbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/successbox.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/title.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/title.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/vqq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/vqq.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/warning.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/warningbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/warningbox.png
--------------------------------------------------------------------------------
/assets/js/buttons/images/youtube.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/assets/js/buttons/images/youtube.png
--------------------------------------------------------------------------------
/assets/js/comments.min.js:
--------------------------------------------------------------------------------
1 | jQuery(document).ready(function(e){var t=e("#cancel-comment-reply-link"),n=t.text(),o="list";e(document).on("submit","#commentform",function(){return e.ajax({url:ajaxcomment.ajax_url,data:e(this).serialize()+"&action=ajax_comment",type:e(this).attr("method"),beforeSend:function(){layer.msg(ajaxcomment.compost)},error:function(e){layer.msg(e.responseText)},success:function(t){e("textarea").each(function(){this.value=""});var n=addComment,r=n.I("cancel-comment-reply-link"),m=n.I("wp-temp-form-div"),a=n.I(n.respondId),c=(n.I("comment_post_ID").value,n.I("comment_parent").value);"0"!=c?e("#comment-"+c).append('"):"asc"==ajaxcomment.order?e("."+o).append(t):e("."+o).prepend(t),layer.msg(ajaxcomment.comsucc),r.style.display="none",r.onclick=null,n.I("comment_parent").value="0",m&&a&&(m.parentNode.insertBefore(a,m),m.parentNode.removeChild(m))}}),!1}),addComment={moveForm:function(o,r,m){var a,c=this,l=c.I(o),p=c.I(m),d=c.I("cancel-comment-reply-link"),i=c.I("comment_parent");c.I("comment_post_ID");t.text(n),c.respondId=m,c.I("wp-temp-form-div")||(a=document.createElement("div"),a.id="wp-temp-form-div",a.style.display="none",p.parentNode.insertBefore(a,p)),l?l.parentNode.insertBefore(p,l.nextSibling):(temp=c.I("wp-temp-form-div"),c.I("comment_parent").value="0",temp.parentNode.insertBefore(p,temp),temp.parentNode.removeChild(temp)),e("body").animate({scrollTop:e("#respond").offset().top-150},400),i.value=r,d.style.display="",d.onclick=function(){var e=addComment,t=e.I("wp-temp-form-div"),n=e.I(e.respondId);return e.I("comment_parent").value="0",t&&n&&(t.parentNode.insertBefore(n,t),t.parentNode.removeChild(t)),this.style.display="none",this.onclick=null,!1};try{c.I("comment").focus()}catch(e){}return!1},I:function(e){return document.getElementById(e)},createButterbar:function(e){layer.msg(e)}}});
--------------------------------------------------------------------------------
/assets/js/widget.min.js:
--------------------------------------------------------------------------------
1 | jQuery(document).ready(function ($) {
2 | $(document).on('click', "button[class*='upload_']", function (e) {
3 | e.preventDefault()
4 | var $button = $(this)
5 | if (file_frame) {
6 | file_frame.open()
7 | return
8 | }
9 | var file_frame = (wp.media.frames.file_frame = wp.media({ library: { type: 'image' }, multiple: false }))
10 | file_frame.on('select', function () {
11 | var attachment = file_frame.state().get('selection').first().toJSON()
12 | $button.siblings('input').val(attachment.url).change()
13 | })
14 | file_frame.open()
15 | })
16 | })
17 |
--------------------------------------------------------------------------------
/crowdin.yml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: /languages/kratos.pot
3 | translation: /languages/%locale_with_underscore%.po
4 |
--------------------------------------------------------------------------------
/functions.php:
--------------------------------------------------------------------------------
1 |
6 | * @license GPL-3.0 License
7 | * @version 2025.02.08
8 | */
9 |
10 | define('THEME_VERSION', '4.3.2');
11 |
12 | if (defined('WP_USE_THEMES') && WP_USE_THEMES === false) {
13 | return;
14 | }
15 |
16 | // 主题配置
17 | require get_template_directory() . '/inc/codestar-framework/autoload.php';
18 |
19 | // 更新配置
20 | require get_template_directory() . '/inc/update-checker/autoload.php';
21 |
22 | // 核心配置
23 | require get_template_directory() . '/inc/theme-core.php';
24 |
25 | // 站点配置
26 | require get_template_directory() . '/inc/theme-setting.php';
27 |
28 | // 文章配置
29 | require get_template_directory() . '/inc/theme-article.php';
30 |
31 | // 小工具配置
32 | require get_template_directory() . '/inc/theme-widgets.php';
33 |
34 | // 文章增强
35 | require get_template_directory() . '/inc/theme-shortcode.php';
36 |
37 | // 添加导航目录
38 | require get_template_directory() . '/inc/theme-navwalker.php';
39 |
40 | // 对象存储配置
41 | require get_template_directory() . '/inc/theme-dogecloud.php';
42 |
43 | // ImageX 图片服务
44 | require get_template_directory() . '/inc/theme-volcengine.php';
45 |
46 | // SMTP 配置
47 | require get_template_directory() . '/inc/theme-smtp.php';
48 |
--------------------------------------------------------------------------------
/inc/codestar-framework/assets/images/checkerboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/inc/codestar-framework/assets/images/checkerboard.png
--------------------------------------------------------------------------------
/inc/codestar-framework/assets/images/wp-logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/inc/codestar-framework/assets/images/wp-plugin-logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/inc/codestar-framework/assets/js/gutenberg.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * -----------------------------------------------------------
4 | *
5 | * Codestar Framework Gutenberg Block
6 | * A Simple and Lightweight WordPress Option Framework
7 | *
8 | * -----------------------------------------------------------
9 | *
10 | */
11 | ( function( blocks, blockEditor, element, components ) {
12 |
13 | if ( !window.csf_gutenberg_blocks ) { return; }
14 |
15 | Object.values(window.csf_gutenberg_blocks).forEach( function( block ) {
16 |
17 | var registerBlockType = blocks.registerBlockType;
18 | var PlainText = blockEditor.PlainText;
19 | var createElement = element.createElement;
20 | var RawHTML = element.RawHTML;
21 | var Button = components.Button;
22 |
23 | registerBlockType('csf-gutenberg-block/block-'+block.hash, {
24 | title: block.gutenberg.title,
25 | description: block.gutenberg.description,
26 | icon: block.gutenberg.icon || 'screenoptions',
27 | category: block.gutenberg.category || 'widgets',
28 | keywords: block.gutenberg.keywords,
29 | supports: {
30 | html: false,
31 | className: false,
32 | customClassName: false,
33 | },
34 | attributes: {
35 | shortcode: {
36 | string: 'string',
37 | source: 'text',
38 | }
39 | },
40 | edit: function (props) {
41 | return (
42 | createElement('div', {className: 'csf-shortcode-block'},
43 |
44 | createElement(Button, {
45 | 'data-modal-id': block.modal_id,
46 | 'data-gutenberg-id': block.hash,
47 | className: 'is-secondary csf-shortcode-button',
48 | onClick: function () {
49 | window.csf_gutenberg_props = props;
50 | },
51 | }, block.button_title ),
52 |
53 | createElement(PlainText, {
54 | placeholder: block.gutenberg.placeholder,
55 | className: 'input-control blocks-shortcode__textarea',
56 | onChange: function (value) {
57 | props.setAttributes({
58 | shortcode: value
59 | });
60 | },
61 | value: props.attributes.shortcode
62 | })
63 |
64 | )
65 | );
66 | },
67 | save: function (props) {
68 | return createElement(RawHTML, {}, props.attributes.shortcode);
69 | }
70 | });
71 |
72 | });
73 |
74 | })(
75 | window.wp.blocks,
76 | window.wp.blockEditor,
77 | window.wp.element,
78 | window.wp.components
79 | );
80 |
--------------------------------------------------------------------------------
/inc/codestar-framework/assets/scss/vendor/_navmenu.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * 08. Nav Menu
3 | */
4 | .csf-nav-menu-options{
5 | clear: both;
6 | float: left;
7 | width: 100%;
8 |
9 | > .csf-fields{
10 | margin-left: -10px;
11 | margin-top: 10px;
12 | margin-bottom: 10px;
13 | border-top: 1px solid #eee;
14 | border-bottom: 1px solid #eee;
15 |
16 | > .csf-field{
17 | padding: 12px 14px 12px 12px;
18 |
19 | .csf-title{
20 | float: none;
21 | width: 100%;
22 | margin-bottom: 5px;
23 | }
24 |
25 | .csf-fieldset{
26 | float: none;
27 | width: 100%;
28 | }
29 | }
30 | }
31 |
32 | .csf-field-text input{
33 | width: 100%;
34 | }
35 |
36 | .csf-field-notice .csf-notice{
37 | padding: 15px;
38 | }
39 | }
40 |
41 | .csf-nav-menu-title{
42 | padding: 12px 14px 12px 12px;
43 | background-color: #f5f5f5;
44 | border-top: 1px solid #eee;
45 | border-bottom: 1px solid #eee;
46 |
47 | &:first-child{
48 | border-top: 0;
49 | }
50 |
51 | h4{
52 | margin: 0;
53 | padding: 0;
54 | color: #23282d;
55 | }
56 | }
57 |
58 | .csf-nav-menu-icon{
59 | margin-right: 5px;
60 | }
61 |
--------------------------------------------------------------------------------
/inc/codestar-framework/assets/scss/vendor/_profile.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * 06. Profile
3 | */
4 | .csf-profile-options{
5 |
6 | > h2 > .fa {
7 | padding-right: 7px;
8 | }
9 |
10 | > .csf-field{
11 | max-width: 750px;
12 | padding: 15px 0;
13 | border-top: none !important;
14 |
15 | > .csf-title{
16 | width: 200px;
17 |
18 | h4{
19 | font-size: 14px;
20 | font-weight: 600;
21 | line-height: 1.3;
22 | display: inline-block;
23 | vertical-align: middle;
24 | }
25 | }
26 |
27 | > .csf-fieldset{
28 | width: calc(100% - 220px);
29 |
30 | > .csf-help{
31 | top: -15px;
32 | right: -5px;
33 | }
34 | }
35 | }
36 |
37 | > .csf-field-heading{
38 | font-size: 1.1em;
39 | }
40 |
41 | > .csf-field-subheading{
42 | font-size: 12px;
43 | }
44 |
45 | > .csf-field-subheading,
46 | > .csf-field-heading{
47 | margin: 10px 0;
48 | padding: 15px !important;
49 | border: 1px solid #ddd;
50 | }
51 |
52 | > .csf-field-submessage{
53 | margin: 20px 0;
54 |
55 | .csf-submessage{
56 | padding: 10px;
57 | border-left-width: 1px;
58 | border-left-style: solid;
59 | border-right-width: 1px;
60 | border-right-style: solid;
61 | }
62 | }
63 |
64 | > .csf-field-notice{
65 | background-color: transparent;
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/inc/codestar-framework/assets/scss/vendor/_taxonomy.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * 06. Taxonomy
3 | */
4 | .csf-taxonomy{
5 | max-width: 95%;
6 |
7 | > .csf-field{
8 | border-top: none !important;
9 | }
10 |
11 | > .csf-field-heading{
12 | font-size: 1.1em;
13 | padding: 20px !important;
14 | border: 1px solid #ddd;
15 | }
16 |
17 | > .csf-field-subheading{
18 | font-size: 12px;
19 | padding: 15px !important;
20 | border: 1px solid #ddd;
21 | }
22 |
23 | > .csf-field-submessage{
24 |
25 | .csf-submessage{
26 | padding: 15px;
27 | border-left-width: 1px;
28 | border-left-style: solid;
29 | border-right-width: 1px;
30 | border-right-style: solid;
31 | }
32 | }
33 |
34 | > .csf-field-notice{
35 | background-color: transparent;
36 | }
37 |
38 | .csf-section-title{
39 | display: block;
40 | padding: 15px ;
41 | background-color: #f9f9f9;
42 | border: 1px solid #e5e5e5;
43 | box-shadow: 0 1px 1px rgba(0,0,0,0.04);
44 | }
45 | }
46 |
47 | .csf-taxonomy-add-fields{
48 |
49 | > .csf-field{
50 | padding: 8px 0;
51 |
52 | > .csf-title{
53 | float: none;
54 | width: 100%;
55 | padding: 2px 2px 4px 0;
56 |
57 | h4{
58 | font-size: 12px;
59 | font-weight: normal;
60 | }
61 | }
62 |
63 | > .csf-fieldset{
64 | float: none;
65 | width: 100%;
66 |
67 | > .csf-help{
68 | right: -5px;
69 | }
70 | }
71 | }
72 |
73 | + p.submit{
74 | margin-top: 0;
75 | }
76 | }
77 |
78 | .csf-taxonomy-edit-fields{
79 |
80 | > .csf-field{
81 | padding: 20px 0;
82 |
83 | > .csf-title{
84 | width: 200px;
85 |
86 | h4{
87 | font-size: 14px;
88 | font-weight: 600;
89 | line-height: 1.3;
90 | display: inline-block;
91 | vertical-align: middle;
92 | }
93 | }
94 |
95 | > .csf-fieldset{
96 | width: calc(100% - 220px);
97 |
98 | > .csf-help{
99 | top: -5px;
100 | right: -5px;
101 | }
102 | }
103 | }
104 |
105 | > .csf-field-submessage{
106 | margin: 20px 0;
107 | }
108 |
109 | > .csf-field-subheading,
110 | > .csf-field-heading{
111 | margin: 20px 0;
112 | border: 1px solid #ddd;
113 | }
114 | }
115 |
--------------------------------------------------------------------------------
/inc/codestar-framework/assets/scss/vendor/_widget.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * 04. Widget
3 | */
4 | .csf-widgets{
5 |
6 | > .csf-field{
7 | position: relative;
8 | top: -1px;
9 | margin-left: -15px;
10 | margin-right: -15px;
11 | padding: 12px 15px;
12 |
13 | .csf-title{
14 | float: none;
15 | width: 100%;
16 | margin-bottom: 5px;
17 | }
18 |
19 | .csf-fieldset{
20 | float: none;
21 | width: 100%;
22 | }
23 | }
24 |
25 | .csf-field-text input{
26 | width: 100%;
27 | }
28 |
29 | .csf-field-notice .csf-notice{
30 | padding: 15px;
31 | }
32 | }
33 |
34 | .control-section{
35 |
36 | .csf-widgets{
37 |
38 | > .csf-field{
39 | margin-left: -10px;
40 | margin-right: -10px;
41 | padding: 10px 12px;
42 | }
43 | }
44 | }
45 |
46 | .wp-block{
47 |
48 | .csf-widgets{
49 | font-size: 13px;
50 |
51 | > .csf-field{
52 | margin-left: -10px;
53 | margin-right: -10px;
54 |
55 | .button-primary{
56 | color: #fff;
57 | }
58 |
59 | > .csf-title{
60 |
61 | > h4{
62 | font-size: 13px;
63 | }
64 | }
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/inc/codestar-framework/autoload.php:
--------------------------------------------------------------------------------
1 |
8 | * @link http://codestarframework.com
9 | * @copyright 2015-2021 Codestar
10 | *
11 | *
12 | * Plugin Name: Codestar Framework
13 | * Plugin URI: http://codestarframework.com/
14 | * Author: Codestar
15 | * Author URI: http://codestarthemes.com/
16 | * Version: 2.2.4
17 | * Description: A Simple and Lightweight WordPress Option Framework for Themes and Plugins
18 | * Text Domain: csf
19 | * Domain Path: /languages
20 | *
21 | */
22 | require_once plugin_dir_path(__FILE__) . 'classes/setup.class.php';
23 | require get_template_directory() . '/inc/theme-options.php';
24 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/accordion/accordion.php:
--------------------------------------------------------------------------------
1 | field_before();
27 |
28 | echo '';
29 |
30 | foreach ($this->field['accordions'] as $key => $accordion) {
31 |
32 | echo '
';
33 |
34 | $icon = (!empty($accordion['icon'])) ? 'csf--icon ' . $accordion['icon'] : 'csf-accordion-icon fas fa-angle-right';
35 |
36 | echo '
';
37 | echo ' ';
38 | echo esc_html($accordion['title']);
39 | echo ' ';
40 |
41 | echo '
';
42 |
43 | foreach ($accordion['fields'] as $field) {
44 |
45 | if (in_array($field['type'], $unallows)) {
46 | $field['_notice'] = true;
47 | }
48 |
49 | $field_id = (isset($field['id'])) ? $field['id'] : '';
50 | $field_default = (isset($field['default'])) ? $field['default'] : '';
51 | $field_value = (isset($this->value[$field_id])) ? $this->value[$field_id] : $field_default;
52 | $unique_id = (!empty($this->unique)) ? $this->unique . '[' . $this->field['id'] . ']' : $this->field['id'];
53 |
54 | CSF::field($field, $field_value, $unique_id, 'field/accordion');
55 | }
56 |
57 | echo '
';
58 |
59 | echo '
';
60 | }
61 |
62 | echo '
';
63 |
64 | echo $this->field_after();
65 | }
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/backup/backup.php:
--------------------------------------------------------------------------------
1 | unique;
25 | $nonce = wp_create_nonce('csf_backup_nonce');
26 | $export = add_query_arg(array('action' => 'csf-export', 'unique' => $unique, 'nonce' => $nonce), admin_url('admin-ajax.php'));
27 |
28 | echo $this->field_before();
29 |
30 | echo '';
31 | echo '' . esc_html__('Import', 'csf') . ' ';
32 | echo ' ';
33 | echo '';
34 | echo '' . esc_html__('Export & Download', 'csf') . ' ';
35 | echo ' ';
36 | echo '' . esc_html__('Reset', 'csf') . ' ';
37 |
38 | echo $this->field_after();
39 | }
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/button_set/button_set.php:
--------------------------------------------------------------------------------
1 | field, array(
25 | 'multiple' => false,
26 | 'options' => array(),
27 | 'query_args' => array(),
28 | ));
29 |
30 | $value = (is_array($this->value)) ? $this->value : array_filter((array) $this->value);
31 |
32 | echo $this->field_before();
33 |
34 | if (isset($this->field['options'])) {
35 |
36 | $options = $this->field['options'];
37 | $options = (is_array($options)) ? $options : array_filter($this->field_data($options, false, $args['query_args']));
38 |
39 | if (is_array($options) && !empty($options)) {
40 |
41 | echo '';
57 | } else {
58 |
59 | echo (!empty($this->field['empty_message'])) ? esc_attr($this->field['empty_message']) : esc_html__('No data available.', 'csf');
60 | }
61 | }
62 |
63 | echo $this->field_after();
64 | }
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/callback/callback.php:
--------------------------------------------------------------------------------
1 | field['function']) && is_callable($this->field['function'])) {
25 |
26 | $args = (isset($this->field['args'])) ? $this->field['args'] : null;
27 |
28 | call_user_func($this->field['function'], $args);
29 | }
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/code_editor/code_editor.php:
--------------------------------------------------------------------------------
1 | 2,
28 | 'lineNumbers' => true,
29 | 'theme' => 'default',
30 | 'mode' => 'htmlmixed',
31 | 'cdnURL' => $this->cdn_url . $this->version,
32 | );
33 |
34 | $settings = (!empty($this->field['settings'])) ? $this->field['settings'] : array();
35 | $settings = wp_parse_args($settings, $default_settings);
36 |
37 | echo $this->field_before();
38 | echo '';
39 | echo $this->field_after();
40 | }
41 |
42 | public function enqueue()
43 | {
44 |
45 | $page = (!empty($_GET['page'])) ? sanitize_text_field(wp_unslash($_GET['page'])) : '';
46 |
47 | // Do not loads CodeMirror in revslider page.
48 | if (in_array($page, array('revslider'))) {
49 | return;
50 | }
51 |
52 | if (!wp_script_is('csf-codemirror')) {
53 | wp_enqueue_script('csf-codemirror', esc_url($this->cdn_url . $this->version . '/codemirror.min.js'), array('csf'), $this->version, true);
54 | wp_enqueue_script('csf-codemirror-loadmode', esc_url($this->cdn_url . $this->version . '/addon/mode/loadmode.min.js'), array('csf-codemirror'), $this->version, true);
55 | }
56 |
57 | if (!wp_style_is('csf-codemirror')) {
58 | wp_enqueue_style('csf-codemirror', esc_url($this->cdn_url . $this->version . '/codemirror.min.css'), array(), $this->version);
59 | }
60 | }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/color/color.php:
--------------------------------------------------------------------------------
1 | field['default'])) ? ' data-default-color="' . esc_attr($this->field['default']) . '"' : '';
25 |
26 | echo $this->field_before();
27 | echo ' field_attributes() . '/>';
28 | echo $this->field_after();
29 | }
30 |
31 | public function output()
32 | {
33 |
34 | $output = '';
35 | $elements = (is_array($this->field['output'])) ? $this->field['output'] : array_filter((array) $this->field['output']);
36 | $important = (!empty($this->field['output_important'])) ? '!important' : '';
37 | $mode = (!empty($this->field['output_mode'])) ? $this->field['output_mode'] : 'color';
38 |
39 | if (!empty($elements) && isset($this->value) && $this->value !== '') {
40 | foreach ($elements as $key_property => $element) {
41 | if (is_numeric($key_property)) {
42 | $output = implode(',', $elements) . '{' . $mode . ':' . $this->value . $important . ';}';
43 | break;
44 | } else {
45 | $output .= $element . '{' . $key_property . ':' . $this->value . $important . '}';
46 | }
47 | }
48 | }
49 |
50 | $this->parent->output_css .= $output;
51 |
52 | return $output;
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/color_group/color_group.php:
--------------------------------------------------------------------------------
1 | field['options'])) ? $this->field['options'] : array();
25 |
26 | echo $this->field_before();
27 |
28 | if (!empty($options)) {
29 | foreach ($options as $key => $option) {
30 |
31 | $color_value = (!empty($this->value[$key])) ? $this->value[$key] : '';
32 | $default_attr = (!empty($this->field['default'][$key])) ? ' data-default-color="' . esc_attr($this->field['default'][$key]) . '"' : '';
33 |
34 | echo '';
35 | echo '
' . $option . '
';
36 | echo '
field_attributes() . '/>';
37 | echo '
';
38 | }
39 | }
40 |
41 | echo $this->field_after();
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/content/content.php:
--------------------------------------------------------------------------------
1 | field['content'])) {
25 |
26 | echo $this->field['content'];
27 | }
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/date/date.php:
--------------------------------------------------------------------------------
1 | 'mm/dd/yy',
26 | );
27 |
28 | $settings = (!empty($this->field['settings'])) ? $this->field['settings'] : array();
29 | $settings = wp_parse_args($settings, $default_settings);
30 |
31 | echo $this->field_before();
32 |
33 | if (!empty($this->field['from_to'])) {
34 |
35 | $args = wp_parse_args($this->field, array(
36 | 'text_from' => esc_html__('From', 'csf'),
37 | 'text_to' => esc_html__('To', 'csf'),
38 | ));
39 |
40 | $value = wp_parse_args($this->value, array(
41 | 'from' => '',
42 | 'to' => '',
43 | ));
44 |
45 | echo '' . esc_attr($args['text_from']) . ' field_attributes() . '/> ';
46 | echo '' . esc_attr($args['text_to']) . ' field_attributes() . '/> ';
47 | } else {
48 |
49 | echo ' field_attributes() . '/>';
50 | }
51 |
52 | echo '
';
53 |
54 | echo $this->field_after();
55 | }
56 |
57 | public function enqueue()
58 | {
59 |
60 | if (!wp_script_is('jquery-ui-datepicker')) {
61 | wp_enqueue_script('jquery-ui-datepicker');
62 | }
63 | }
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/fieldset/fieldset.php:
--------------------------------------------------------------------------------
1 | field_before();
25 |
26 | echo '';
27 |
28 | foreach ($this->field['fields'] as $field) {
29 |
30 | $field_id = (isset($field['id'])) ? $field['id'] : '';
31 | $field_default = (isset($field['default'])) ? $field['default'] : '';
32 | $field_value = (isset($this->value[$field_id])) ? $this->value[$field_id] : $field_default;
33 | $unique_id = (!empty($this->unique)) ? $this->unique . '[' . $this->field['id'] . ']' : $this->field['id'];
34 |
35 | CSF::field($field, $field_value, $unique_id, 'field/fieldset');
36 | }
37 |
38 | echo '
';
39 |
40 | echo $this->field_after();
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/gallery/gallery.php:
--------------------------------------------------------------------------------
1 | field, array(
25 | 'add_title' => esc_html__('Add Gallery', 'csf'),
26 | 'edit_title' => esc_html__('Edit Gallery', 'csf'),
27 | 'clear_title' => esc_html__('Clear', 'csf'),
28 | ));
29 |
30 | $hidden = (empty($this->value)) ? ' hidden' : '';
31 |
32 | echo $this->field_before();
33 |
34 | echo '';
35 | if (!empty($this->value)) {
36 |
37 | $values = explode(',', $this->value);
38 |
39 | foreach ($values as $id) {
40 | $attachment = wp_get_attachment_image_src($id, 'thumbnail');
41 | echo ' ';
42 | }
43 | }
44 | echo ' ';
45 |
46 | echo '' . $args['add_title'] . ' ';
47 | echo '' . $args['edit_title'] . ' ';
48 | echo '' . $args['clear_title'] . ' ';
49 | echo ' field_attributes() . '/>';
50 |
51 | echo $this->field_after();
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/heading/heading.php:
--------------------------------------------------------------------------------
1 | field['content'])) ? $this->field['content'] : '';
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/image_select/image_select.php:
--------------------------------------------------------------------------------
1 | field, array(
25 | 'multiple' => false,
26 | 'inline' => false,
27 | 'options' => array(),
28 | ));
29 |
30 | $inline = ($args['inline']) ? ' csf--inline-list' : '';
31 |
32 | $value = (is_array($this->value)) ? $this->value : array_filter((array) $this->value);
33 |
34 | echo $this->field_before();
35 |
36 | if (!empty($args['options'])) {
37 |
38 | echo '';
39 |
40 | $num = 1;
41 |
42 | foreach ($args['options'] as $key => $option) {
43 |
44 | $type = ($args['multiple']) ? 'checkbox' : 'radio';
45 | $extra = ($args['multiple']) ? '[]' : '';
46 | $active = (in_array($key, $value)) ? ' csf--active' : '';
47 | $checked = (in_array($key, $value)) ? ' checked' : '';
48 |
49 | echo '
';
55 | }
56 |
57 | echo '
';
58 | }
59 |
60 | echo $this->field_after();
61 | }
62 |
63 | public function output()
64 | {
65 |
66 | $output = '';
67 | $bg_image = array();
68 | $important = (!empty($this->field['output_important'])) ? '!important' : '';
69 | $elements = (is_array($this->field['output'])) ? join(',', $this->field['output']) : $this->field['output'];
70 |
71 | if (!empty($elements) && isset($this->value) && $this->value !== '') {
72 | $output = $elements . '{background-image:url(' . $this->value . ')' . $important . ';}';
73 | }
74 |
75 | $this->parent->output_css .= $output;
76 |
77 | return $output;
78 | }
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/index.php:
--------------------------------------------------------------------------------
1 | field['style'])) ? $this->field['style'] : 'normal';
25 |
26 | echo (!empty($this->field['content'])) ? '' . $this->field['content'] . '
' : '';
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/number/number.php:
--------------------------------------------------------------------------------
1 | field, array(
25 | 'unit' => '',
26 | ));
27 |
28 | echo $this->field_before();
29 | echo '';
30 | echo ' field_attributes(array('class' => 'csf-input-number')) . ' step="any" />';
31 | echo (!empty($args['unit'])) ? '' . esc_attr($args['unit']) . ' ' : '';
32 | echo '
';
33 | echo $this->field_after();
34 | }
35 |
36 | public function output()
37 | {
38 |
39 | $output = '';
40 | $elements = (is_array($this->field['output'])) ? $this->field['output'] : array_filter((array) $this->field['output']);
41 | $important = (!empty($this->field['output_important'])) ? '!important' : '';
42 | $mode = (!empty($this->field['output_mode'])) ? $this->field['output_mode'] : 'width';
43 | $unit = (!empty($this->field['unit'])) ? $this->field['unit'] : 'px';
44 |
45 | if (!empty($elements) && isset($this->value) && $this->value !== '') {
46 | foreach ($elements as $key_property => $element) {
47 | if (is_numeric($key_property)) {
48 | if ($mode) {
49 | $output = implode(',', $elements) . '{' . $mode . ':' . $this->value . $unit . $important . ';}';
50 | }
51 | break;
52 | } else {
53 | $output .= $element . '{' . $key_property . ':' . $this->value . $unit . $important . '}';
54 | }
55 | }
56 | }
57 |
58 | $this->parent->output_css .= $output;
59 |
60 | return $output;
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/palette/palette.php:
--------------------------------------------------------------------------------
1 | field['options'])) ? $this->field['options'] : array();
25 |
26 | echo $this->field_before();
27 |
28 | if (!empty($palette)) {
29 |
30 | echo '';
31 |
32 | foreach ($palette as $key => $colors) {
33 |
34 | $active = ($key === $this->value) ? ' csf--active' : '';
35 | $checked = ($key === $this->value) ? ' checked' : '';
36 |
37 | echo '
';
38 |
39 | if (!empty($colors)) {
40 |
41 | foreach ($colors as $color) {
42 |
43 | echo ' ';
44 | }
45 | }
46 |
47 | echo ' field_attributes() . esc_attr($checked) . '/>';
48 | echo '
';
49 | }
50 |
51 | echo '
';
52 | }
53 |
54 | echo $this->field_after();
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/sortable/sortable.php:
--------------------------------------------------------------------------------
1 | field_before();
25 |
26 | echo '';
27 |
28 | $pre_sortby = array();
29 | $pre_fields = array();
30 |
31 | // Add array-keys to defined fields for sort by
32 | foreach ($this->field['fields'] as $key => $field) {
33 | $pre_fields[$field['id']] = $field;
34 | }
35 |
36 | // Set sort by by saved-value or default-value
37 | if (!empty($this->value)) {
38 |
39 | foreach ($this->value as $key => $value) {
40 | $pre_sortby[$key] = $pre_fields[$key];
41 | }
42 |
43 | $diff = array_diff_key($pre_fields, $this->value);
44 |
45 | if (!empty($diff)) {
46 | $pre_sortby = array_merge($pre_sortby, $diff);
47 | }
48 | } else {
49 |
50 | foreach ($pre_fields as $key => $value) {
51 | $pre_sortby[$key] = $value;
52 | }
53 | }
54 |
55 | foreach ($pre_sortby as $key => $field) {
56 |
57 | echo '
';
58 |
59 | echo '
';
60 |
61 | $field_default = (isset($this->field['default'][$key])) ? $this->field['default'][$key] : '';
62 | $field_value = (isset($this->value[$key])) ? $this->value[$key] : $field_default;
63 | $unique_id = (!empty($this->unique)) ? $this->unique . '[' . $this->field['id'] . ']' : $this->field['id'];
64 |
65 | CSF::field($field, $field_value, $unique_id, 'field/sortable');
66 |
67 | echo '
';
68 |
69 | echo '
';
70 |
71 | echo '
';
72 | }
73 |
74 | echo '
';
75 |
76 | echo $this->field_after();
77 | }
78 |
79 | public function enqueue()
80 | {
81 |
82 | if (!wp_script_is('jquery-ui-sortable')) {
83 | wp_enqueue_script('jquery-ui-sortable');
84 | }
85 | }
86 | }
87 | }
88 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/spinner/spinner.php:
--------------------------------------------------------------------------------
1 | field, array(
25 | 'max' => 100,
26 | 'min' => 0,
27 | 'step' => 1,
28 | 'unit' => '',
29 | ));
30 |
31 | echo $this->field_before();
32 |
33 | echo ' field_attributes(array('class' => 'csf-input-number')) . ' data-min="' . esc_attr($args['min']) . '" data-max="' . esc_attr($args['max']) . '" data-step="' . esc_attr($args['step']) . '" data-unit="' . esc_attr($args['unit']) . '" step="any" />
';
34 |
35 | echo $this->field_after();
36 | }
37 |
38 | public function enqueue()
39 | {
40 |
41 | if (!wp_script_is('jquery-ui-spinner')) {
42 | wp_enqueue_script('jquery-ui-spinner');
43 | }
44 | }
45 |
46 | public function output()
47 | {
48 |
49 | $output = '';
50 | $elements = (is_array($this->field['output'])) ? $this->field['output'] : array_filter((array) $this->field['output']);
51 | $important = (!empty($this->field['output_important'])) ? '!important' : '';
52 | $mode = (!empty($this->field['output_mode'])) ? $this->field['output_mode'] : 'width';
53 | $unit = (!empty($this->field['unit'])) ? $this->field['unit'] : 'px';
54 |
55 | if (!empty($elements) && isset($this->value) && $this->value !== '') {
56 | foreach ($elements as $key_property => $element) {
57 | if (is_numeric($key_property)) {
58 | if ($mode) {
59 | $output = implode(',', $elements) . '{' . $mode . ':' . $this->value . $unit . $important . ';}';
60 | }
61 | break;
62 | } else {
63 | $output .= $element . '{' . $key_property . ':' . $this->value . $unit . $important . '}';
64 | }
65 | }
66 | }
67 |
68 | $this->parent->output_css .= $output;
69 |
70 | return $output;
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/subheading/subheading.php:
--------------------------------------------------------------------------------
1 | field['content'])) ? $this->field['content'] : '';
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/submessage/submessage.php:
--------------------------------------------------------------------------------
1 | field['style'])) ? $this->field['style'] : 'normal';
25 |
26 | echo '' . $this->field['content'] . '
';
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/switcher/switcher.php:
--------------------------------------------------------------------------------
1 | value)) ? ' csf--active' : '';
25 | $text_on = (!empty($this->field['text_on'])) ? $this->field['text_on'] : esc_html__('On', 'csf');
26 | $text_off = (!empty($this->field['text_off'])) ? $this->field['text_off'] : esc_html__('Off', 'csf');
27 | $text_width = (!empty($this->field['text_width'])) ? ' style="width: ' . esc_attr($this->field['text_width']) . 'px;"' : '';
28 |
29 | echo $this->field_before();
30 |
31 | echo '';
32 | echo '' . esc_attr($text_on) . ' ';
33 | echo '' . esc_attr($text_off) . ' ';
34 | echo ' ';
35 | echo ' field_attributes() . ' />';
36 | echo '
';
37 |
38 | echo (!empty($this->field['label'])) ? '' . esc_attr($this->field['label']) . ' ' : '';
39 |
40 | echo $this->field_after();
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/tabbed/tabbed.php:
--------------------------------------------------------------------------------
1 | field_before();
27 |
28 | echo '';
29 | foreach ($this->field['tabs'] as $key => $tab) {
30 |
31 | $tabbed_icon = (!empty($tab['icon'])) ? '
' : '';
32 | $tabbed_active = (empty($key)) ? 'csf-tabbed-active' : '';
33 |
34 | echo '
' . $tabbed_icon . esc_attr($tab['title']) . ' ';
35 | }
36 | echo '
';
37 |
38 | echo '';
39 | foreach ($this->field['tabs'] as $key => $tab) {
40 |
41 | $tabbed_hidden = (!empty($key)) ? ' hidden' : '';
42 |
43 | echo '
';
44 |
45 | foreach ($tab['fields'] as $field) {
46 |
47 | if (in_array($field['type'], $unallows)) {
48 | $field['_notice'] = true;
49 | }
50 |
51 | $field_id = (isset($field['id'])) ? $field['id'] : '';
52 | $field_default = (isset($field['default'])) ? $field['default'] : '';
53 | $field_value = (isset($this->value[$field_id])) ? $this->value[$field_id] : $field_default;
54 | $unique_id = (!empty($this->unique)) ? $this->unique . '[' . $this->field['id'] . ']' : $this->field['id'];
55 |
56 | CSF::field($field, $field_value, $unique_id, 'field/tabbed');
57 | }
58 |
59 | echo '
';
60 | }
61 | echo '
';
62 |
63 | echo $this->field_after();
64 | }
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/text/text.php:
--------------------------------------------------------------------------------
1 | field['attributes']['type'])) ? $this->field['attributes']['type'] : 'text';
25 |
26 | echo $this->field_before();
27 |
28 | echo ' field_attributes() . ' />';
29 |
30 | echo $this->field_after();
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/inc/codestar-framework/fields/textarea/textarea.php:
--------------------------------------------------------------------------------
1 | field_before();
25 | echo $this->shortcoder();
26 | echo '';
27 | echo $this->field_after();
28 | }
29 |
30 | public function shortcoder()
31 | {
32 |
33 | if (!empty($this->field['shortcoder'])) {
34 |
35 | $instances = (is_array($this->field['shortcoder'])) ? $this->field['shortcoder'] : array_filter((array) $this->field['shortcoder']);
36 |
37 | foreach ($instances as $instance_key) {
38 |
39 | if (isset(CSF::$shortcode_instances[$instance_key])) {
40 |
41 | $button_title = CSF::$shortcode_instances[$instance_key]['button_title'];
42 |
43 | echo '' . $button_title . ' ';
44 | }
45 | }
46 | }
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/inc/codestar-framework/functions/helpers.php:
--------------------------------------------------------------------------------
1 | =');
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/inc/codestar-framework/functions/sanitize.php:
--------------------------------------------------------------------------------
1 | ID, $item, $depth, $args);
25 | $custom_fields = ob_get_clean();
26 |
27 | $output .= preg_replace('/(?=<(fieldset|p)[^>]+class="[^"]*field-move)/', $custom_fields, $html);
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/inc/codestar-framework/languages/zh_CN.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/inc/codestar-framework/languages/zh_CN.mo
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5/PucFactory.php:
--------------------------------------------------------------------------------
1 | updateChecker->getUniqueName('uid')) ) {
25 | return;
26 | }
27 | $this->preAjaxRequest();
28 | $info = $this->updateChecker->requestInfo();
29 | if ( $info !== null ) {
30 | echo 'Successfully retrieved plugin info from the metadata URL:';
31 | //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r -- For debugging output.
32 | echo '', esc_html(print_r($info, true)), ' ';
33 | } else {
34 | echo 'Failed to retrieve plugin info from the metadata URL.';
35 | }
36 | exit;
37 | }
38 | }
39 |
40 | endif;
41 |
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5p2/DebugBar/PluginPanel.php:
--------------------------------------------------------------------------------
1 | row('Plugin file', htmlentities($this->updateChecker->pluginFile));
16 | parent::displayConfigHeader();
17 | }
18 |
19 | protected function getMetadataButton() {
20 | $requestInfoButton = '';
21 | if ( function_exists('get_submit_button') ) {
22 | $requestInfoButton = get_submit_button(
23 | 'Request Info',
24 | 'secondary',
25 | 'puc-request-info-button',
26 | false,
27 | array('id' => $this->updateChecker->getUniqueName('request-info-button'))
28 | );
29 | }
30 | return $requestInfoButton;
31 | }
32 |
33 | protected function getUpdateFields() {
34 | return array_merge(
35 | parent::getUpdateFields(),
36 | array('homepage', 'upgrade_notice', 'tested',)
37 | );
38 | }
39 | }
40 |
41 | endif;
42 |
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5p2/DebugBar/ThemePanel.php:
--------------------------------------------------------------------------------
1 | row('Theme directory', htmlentities($this->updateChecker->directoryName));
17 | parent::displayConfigHeader();
18 | }
19 |
20 | protected function getUpdateFields() {
21 | return array_merge(parent::getUpdateFields(), array('details_url'));
22 | }
23 | }
24 |
25 | endif;
26 |
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5p2/Theme/Package.php:
--------------------------------------------------------------------------------
1 | stylesheet = $stylesheet;
21 | $this->theme = wp_get_theme($this->stylesheet);
22 |
23 | parent::__construct($updateChecker);
24 | }
25 |
26 | public function getInstalledVersion() {
27 | return $this->theme->get('Version');
28 | }
29 |
30 | public function getAbsoluteDirectoryPath() {
31 | if ( method_exists($this->theme, 'get_stylesheet_directory') ) {
32 | return $this->theme->get_stylesheet_directory(); //Available since WP 3.4.
33 | }
34 | return get_theme_root($this->stylesheet) . '/' . $this->stylesheet;
35 | }
36 |
37 | /**
38 | * Get the value of a specific plugin or theme header.
39 | *
40 | * @param string $headerName
41 | * @param string $defaultValue
42 | * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty.
43 | */
44 | public function getHeaderValue($headerName, $defaultValue = '') {
45 | $value = $this->theme->get($headerName);
46 | if ( ($headerName === false) || ($headerName === '') ) {
47 | return $defaultValue;
48 | }
49 | return $value;
50 | }
51 |
52 | protected function getHeaderNames() {
53 | return array(
54 | 'Name' => 'Theme Name',
55 | 'ThemeURI' => 'Theme URI',
56 | 'Description' => 'Description',
57 | 'Author' => 'Author',
58 | 'AuthorURI' => 'Author URI',
59 | 'Version' => 'Version',
60 | 'Template' => 'Template',
61 | 'Status' => 'Status',
62 | 'Tags' => 'Tags',
63 | 'TextDomain' => 'Text Domain',
64 | 'DomainPath' => 'Domain Path',
65 | );
66 | }
67 | }
68 |
69 | endif;
70 |
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5p2/Theme/Update.php:
--------------------------------------------------------------------------------
1 | $this->slug,
23 | 'new_version' => $this->version,
24 | 'url' => $this->details_url,
25 | );
26 |
27 | if ( !empty($this->download_url) ) {
28 | $update['package'] = $this->download_url;
29 | }
30 |
31 | return $update;
32 | }
33 |
34 | /**
35 | * Create a new instance of Theme_Update from its JSON-encoded representation.
36 | *
37 | * @param string $json Valid JSON string representing a theme information object.
38 | * @return self New instance of ThemeUpdate, or NULL on error.
39 | */
40 | public static function fromJson($json) {
41 | $instance = new self();
42 | if ( !parent::createFromJson($json, $instance) ) {
43 | return null;
44 | }
45 | return $instance;
46 | }
47 |
48 | /**
49 | * Create a new instance by copying the necessary fields from another object.
50 | *
51 | * @param \StdClass|self $object The source object.
52 | * @return self The new copy.
53 | */
54 | public static function fromObject($object) {
55 | $update = new self();
56 | $update->copyFields($object, $update);
57 | return $update;
58 | }
59 |
60 | /**
61 | * Basic validation.
62 | *
63 | * @param \StdClass $apiResponse
64 | * @return bool|\WP_Error
65 | */
66 | protected function validateMetadata($apiResponse) {
67 | $required = array('version', 'details_url');
68 | foreach($required as $key) {
69 | if ( !isset($apiResponse->$key) || empty($apiResponse->$key) ) {
70 | return new \WP_Error(
71 | 'tuc-invalid-metadata',
72 | sprintf('The theme metadata is missing the required "%s" key.', $key)
73 | );
74 | }
75 | }
76 | return true;
77 | }
78 |
79 | protected function getFieldNames() {
80 | return array_merge(parent::getFieldNames(), self::$extraFields);
81 | }
82 |
83 | protected function getPrefixedFilter($tag) {
84 | return parent::getPrefixedFilter($tag) . '_theme';
85 | }
86 | }
87 |
88 | endif;
89 |
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5p2/Update.php:
--------------------------------------------------------------------------------
1 | slug = $this->slug;
31 | $update->new_version = $this->version;
32 | $update->package = $this->download_url;
33 |
34 | return $update;
35 | }
36 | }
37 |
38 | endif;
39 |
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5p2/Utils.php:
--------------------------------------------------------------------------------
1 | $node) ) {
27 | $currentValue = $currentValue->$node;
28 | } else {
29 | return $default;
30 | }
31 | }
32 |
33 | return $currentValue;
34 | }
35 |
36 | /**
37 | * Get the first array element that is not empty.
38 | *
39 | * @param array $values
40 | * @param mixed|null $default Returns this value if there are no non-empty elements.
41 | * @return mixed|null
42 | */
43 | public static function findNotEmpty($values, $default = null) {
44 | if ( empty($values) ) {
45 | return $default;
46 | }
47 |
48 | foreach ($values as $value) {
49 | if ( !empty($value) ) {
50 | return $value;
51 | }
52 | }
53 |
54 | return $default;
55 | }
56 |
57 | /**
58 | * Check if the input string starts with the specified prefix.
59 | *
60 | * @param string $input
61 | * @param string $prefix
62 | * @return bool
63 | */
64 | public static function startsWith($input, $prefix) {
65 | $length = strlen($prefix);
66 | return (substr($input, 0, $length) === $prefix);
67 | }
68 | }
69 |
70 | endif;
71 |
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5p2/Vcs/BaseChecker.php:
--------------------------------------------------------------------------------
1 | properties = $properties;
23 | }
24 |
25 | /**
26 | * @param string $name
27 | * @return mixed|null
28 | */
29 | public function __get($name) {
30 | return array_key_exists($name, $this->properties) ? $this->properties[$name] : null;
31 | }
32 |
33 | /**
34 | * @param string $name
35 | * @param mixed $value
36 | */
37 | public function __set($name, $value) {
38 | $this->properties[$name] = $value;
39 | }
40 |
41 | /**
42 | * @param string $name
43 | * @return bool
44 | */
45 | public function __isset($name) {
46 | return isset($this->properties[$name]);
47 | }
48 |
49 | }
50 |
51 | endif;
52 |
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5p2/Vcs/ReleaseAssetSupport.php:
--------------------------------------------------------------------------------
1 | releaseAssetsEnabled = true;
40 | $this->assetFilterRegex = $nameRegex;
41 | $this->releaseAssetPreference = $preference;
42 | }
43 |
44 | /**
45 | * Disable release assets.
46 | *
47 | * @return void
48 | * @noinspection PhpUnused -- Public API
49 | */
50 | public function disableReleaseAssets() {
51 | $this->releaseAssetsEnabled = false;
52 | $this->assetFilterRegex = null;
53 | }
54 |
55 | /**
56 | * Does the specified asset match the name regex?
57 | *
58 | * @param mixed $releaseAsset Data type and structure depend on the host/API.
59 | * @return bool
60 | */
61 | protected function matchesAssetFilter($releaseAsset) {
62 | if ( $this->assetFilterRegex === null ) {
63 | //The default is to accept all assets.
64 | return true;
65 | }
66 |
67 | $name = $this->getFilterableAssetName($releaseAsset);
68 | if ( !is_string($name) ) {
69 | return false;
70 | }
71 | return (bool)preg_match($this->assetFilterRegex, $releaseAsset->name);
72 | }
73 |
74 | /**
75 | * Get the part of asset data that will be checked against the filter regex.
76 | *
77 | * @param mixed $releaseAsset
78 | * @return string|null
79 | */
80 | abstract protected function getFilterableAssetName($releaseAsset);
81 | }
82 |
83 | endif;
--------------------------------------------------------------------------------
/inc/update-checker/Puc/v5p2/Vcs/VcsCheckerMethods.php:
--------------------------------------------------------------------------------
1 | branch = $branch;
20 | return $this;
21 | }
22 |
23 | /**
24 | * Set authentication credentials.
25 | *
26 | * @param array|string $credentials
27 | * @return $this
28 | */
29 | public function setAuthentication($credentials) {
30 | $this->api->setAuthentication($credentials);
31 | return $this;
32 | }
33 |
34 | /**
35 | * @return Api
36 | */
37 | public function getVcsApi() {
38 | return $this->api;
39 | }
40 |
41 | public function getUpdate() {
42 | $update = parent::getUpdate();
43 |
44 | if ( isset($update) && !empty($update->download_url) ) {
45 | $update->download_url = $this->api->signDownloadUrl($update->download_url);
46 | }
47 |
48 | return $update;
49 | }
50 |
51 | public function onDisplayConfiguration($panel) {
52 | parent::onDisplayConfiguration($panel);
53 | $panel->row('Branch', $this->branch);
54 | $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No');
55 | $panel->row('API client', get_class($this->api));
56 | }
57 | }
58 |
59 | endif;
--------------------------------------------------------------------------------
/inc/update-checker/autoload.php:
--------------------------------------------------------------------------------
1 | Plugin\UpdateChecker::class,
25 | 'Theme\\UpdateChecker' => Theme\UpdateChecker::class,
26 |
27 | 'Vcs\\PluginUpdateChecker' => Vcs\PluginUpdateChecker::class,
28 | 'Vcs\\ThemeUpdateChecker' => Vcs\ThemeUpdateChecker::class,
29 |
30 | 'GitHubApi' => Vcs\GitHubApi::class,
31 | 'BitBucketApi' => Vcs\BitBucketApi::class,
32 | 'GitLabApi' => Vcs\GitLabApi::class,
33 | )
34 | as $pucGeneralClass => $pucVersionedClass) {
35 | MajorFactory::addVersion($pucGeneralClass, $pucVersionedClass, '5.2');
36 | //Also add it to the minor-version factory in case the major-version factory
37 | //was already defined by another, older version of the update checker.
38 | MinorFactory::addVersion($pucGeneralClass, $pucVersionedClass, '5.2');
39 | }
40 |
--------------------------------------------------------------------------------
/inc/update-checker/css/puc-debug-bar.css:
--------------------------------------------------------------------------------
1 | .puc-debug-bar-panel-v5 pre {
2 | margin-top: 0;
3 | }
4 |
5 | /* Style the debug data table to match "widefat" table style used by WordPress. */
6 | table.puc-debug-data {
7 | width: 100%;
8 | clear: both;
9 | margin: 0;
10 |
11 | border-spacing: 0;
12 | background-color: #f9f9f9;
13 |
14 | border-radius: 3px;
15 | border: 1px solid #dfdfdf;
16 | border-collapse: separate;
17 | }
18 |
19 | table.puc-debug-data * {
20 | word-wrap: break-word;
21 | }
22 |
23 | table.puc-debug-data th {
24 | width: 11em;
25 | padding: 7px 7px 8px;
26 | text-align: left;
27 |
28 | font-family: "Georgia", "Times New Roman", "Bitstream Charter", "Times", serif;
29 | font-weight: 400;
30 | font-size: 14px;
31 | line-height: 1.3em;
32 | text-shadow: rgba(255, 255, 255, 0.804) 0 1px 0;
33 | }
34 |
35 | table.puc-debug-data td, table.puc-debug-data th {
36 | border-width: 1px 0;
37 | border-style: solid;
38 |
39 | border-top-color: #fff;
40 | border-bottom-color: #dfdfdf;
41 |
42 | text-transform: none;
43 | }
44 |
45 | table.puc-debug-data td {
46 | color: #555;
47 | font-size: 12px;
48 | padding: 4px 7px 2px;
49 | vertical-align: top;
50 | }
51 |
52 | .puc-ajax-response {
53 | border: 1px solid #dfdfdf;
54 | border-radius: 3px;
55 | padding: 0.5em;
56 | margin: 5px 0;
57 | background-color: white;
58 | }
59 |
60 | .puc-ajax-nonce {
61 | display: none;
62 | }
63 |
64 | .puc-ajax-response dt {
65 | margin: 0;
66 | }
67 |
68 | .puc-ajax-response dd {
69 | margin: 0 0 1em;
70 | }
71 |
--------------------------------------------------------------------------------
/inc/update-checker/js/debug-bar.js:
--------------------------------------------------------------------------------
1 | jQuery(function($) {
2 |
3 | function runAjaxAction(button, action) {
4 | button = $(button);
5 | var panel = button.closest('.puc-debug-bar-panel-v5');
6 | var responseBox = button.closest('td').find('.puc-ajax-response');
7 |
8 | responseBox.text('Processing...').show();
9 | $.post(
10 | ajaxurl,
11 | {
12 | action : action,
13 | uid : panel.data('uid'),
14 | _wpnonce: panel.data('nonce')
15 | },
16 | function(data) {
17 | //The response contains HTML that should already be escaped in server-side code.
18 | //phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html
19 | responseBox.html(data);
20 | },
21 | 'html'
22 | );
23 | }
24 |
25 | $('.puc-debug-bar-panel-v5 input[name="puc-check-now-button"]').on('click', function() {
26 | runAjaxAction(this, 'puc_v5_debug_check_now');
27 | return false;
28 | });
29 |
30 | $('.puc-debug-bar-panel-v5 input[name="puc-request-info-button"]').on('click', function() {
31 | runAjaxAction(this, 'puc_v5_debug_request_info');
32 | return false;
33 | });
34 |
35 |
36 | // Debug Bar uses the panel class name as part of its link and container IDs. This means we can
37 | // end up with multiple identical IDs if more than one plugin uses the update checker library.
38 | // Fix it by replacing the class name with the plugin slug.
39 | var panels = $('#debug-menu-targets').find('.puc-debug-bar-panel-v5');
40 | panels.each(function() {
41 | var panel = $(this);
42 | var uid = panel.data('uid');
43 | var target = panel.closest('.debug-menu-target');
44 |
45 | //Change the panel wrapper ID.
46 | target.attr('id', 'debug-menu-target-puc-' + uid);
47 |
48 | //Change the menu link ID as well and point it at the new target ID.
49 | $('#debug-bar-menu').find('.puc-debug-menu-link-' + uid)
50 | .closest('.debug-menu-link')
51 | .attr('id', 'debug-menu-link-puc-' + uid)
52 | .attr('href', '#' + target.attr('id'));
53 | });
54 | });
--------------------------------------------------------------------------------
/inc/update-checker/languages/plugin-update-checker-zh_CN.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/inc/update-checker/languages/plugin-update-checker-zh_CN.mo
--------------------------------------------------------------------------------
/inc/update-checker/languages/plugin-update-checker-zh_CN.po:
--------------------------------------------------------------------------------
1 | msgid ""
2 | msgstr ""
3 | "Project-Id-Version: plugin-update-checker\n"
4 | "POT-Creation-Date: 2022-01-29 12:09+0800\n"
5 | "PO-Revision-Date: 2022-01-29 12:10+0800\n"
6 | "Last-Translator: Seaton Jiang \n"
7 | "Language-Team: \n"
8 | "Language: zh_CN\n"
9 | "MIME-Version: 1.0\n"
10 | "Content-Type: text/plain; charset=UTF-8\n"
11 | "Content-Transfer-Encoding: 8bit\n"
12 | "X-Generator: Poedit 2.4.3\n"
13 | "X-Poedit-Basepath: ..\n"
14 | "Plural-Forms: nplurals=1; plural=0;\n"
15 | "X-Poedit-SourceCharset: UTF-8\n"
16 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n"
17 | "X-Poedit-SearchPath-0: .\n"
18 |
19 | #: Puc/v4p11/Plugin/Ui.php:54
20 | msgid "View details"
21 | msgstr "查看详情"
22 |
23 | #: Puc/v4p11/Plugin/Ui.php:77
24 | #, php-format
25 | msgid "More information about %s"
26 | msgstr "%s 的更多信息"
27 |
28 | #: Puc/v4p11/Plugin/Ui.php:128
29 | msgid "Check for updates"
30 | msgstr "检查更新"
31 |
32 | #: Puc/v4p11/Plugin/Ui.php:214
33 | #, php-format
34 | msgctxt "the plugin title"
35 | msgid "The %s plugin is up to date."
36 | msgstr "%s 目前是最新版本。"
37 |
38 | #: Puc/v4p11/Plugin/Ui.php:216
39 | #, php-format
40 | msgctxt "the plugin title"
41 | msgid "A new version of the %s plugin is available."
42 | msgstr "%s 当前有可用的更新。"
43 |
44 | #: Puc/v4p11/Plugin/Ui.php:218
45 | #, php-format
46 | msgctxt "the plugin title"
47 | msgid "Could not determine if updates are available for %s."
48 | msgstr "%s 无法确定是否有可用的更新。"
49 |
50 | #: Puc/v4p11/Plugin/Ui.php:224
51 | #, php-format
52 | msgid "Unknown update checker status \"%s\""
53 | msgstr "未知的更新检查状态:%s"
54 |
55 | #: Puc/v4p11/Vcs/PluginUpdateChecker.php:100
56 | msgid "There is no changelog available."
57 | msgstr "没有可用的更新日志。"
58 |
--------------------------------------------------------------------------------
/inc/update-checker/languages/plugin-update-checker.pot:
--------------------------------------------------------------------------------
1 | #, fuzzy
2 | msgid ""
3 | msgstr ""
4 | "Project-Id-Version: plugin-update-checker\n"
5 | "POT-Creation-Date: 2022-07-29 15:34+0300\n"
6 | "PO-Revision-Date: 2016-01-10 20:59+0100\n"
7 | "Last-Translator: \n"
8 | "Language-Team: \n"
9 | "Language: en_US\n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: 8bit\n"
13 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
14 | "X-Generator: Poedit 3.1.1\n"
15 | "X-Poedit-Basepath: ..\n"
16 | "X-Poedit-SourceCharset: UTF-8\n"
17 | "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n"
18 | "X-Poedit-SearchPath-0: .\n"
19 |
20 | #: Puc/v5p2/Plugin/Ui.php:128
21 | msgid "Check for updates"
22 | msgstr ""
23 |
24 | #: Puc/v5p2/Plugin/Ui.php:214
25 | #, php-format
26 | msgctxt "the plugin title"
27 | msgid "The %s plugin is up to date."
28 | msgstr ""
29 |
30 | #: Puc/v5p2/Plugin/Ui.php:216
31 | #, php-format
32 | msgctxt "the plugin title"
33 | msgid "A new version of the %s plugin is available."
34 | msgstr ""
35 |
36 | #: Puc/v5p2/Plugin/Ui.php:218
37 | #, php-format
38 | msgctxt "the plugin title"
39 | msgid "Could not determine if updates are available for %s."
40 | msgstr ""
41 |
42 | #: Puc/v5p2/Plugin/Ui.php:224
43 | #, php-format
44 | msgid "Unknown update checker status \"%s\""
45 | msgstr ""
46 |
47 | #: Puc/v5p2/Vcs/PluginUpdateChecker.php:100
48 | msgid "There is no changelog available."
49 | msgstr ""
50 |
--------------------------------------------------------------------------------
/inc/update-checker/license.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2023 Jānis Elsts
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8 |
--------------------------------------------------------------------------------
/inc/update-checker/update.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "4.3.2",
3 | "details_url": "https://github.com/seatonjiang/kratos/releases/tag/v4.3.2",
4 | "download_url": "https://cdn.seatonjiang.com/kratos/v4.3.2.zip"
5 | }
6 |
--------------------------------------------------------------------------------
/inc/update-checker/vendor/Parsedown.php:
--------------------------------------------------------------------------------
1 | cache[$k])) {
25 | // Clear the cache when it reaches 50 entries
26 | if (++$this->cacheSize > 50) {
27 | $this->cache = [];
28 | $this->cacheSize = 0;
29 | }
30 |
31 | $dateKey = hash_hmac(
32 | 'sha256',
33 | $shortDate,
34 | "{$secretKey}",
35 | true
36 | );
37 | $regionKey = hash_hmac('sha256', $region, $dateKey, true);
38 | $serviceKey = hash_hmac('sha256', $service, $regionKey, true);
39 | $this->cache[$k] = hash_hmac(
40 | 'sha256',
41 | 'request',
42 | $serviceKey,
43 | true
44 | );
45 | }
46 |
47 | return $this->cache[$k];
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/src/Volc/Base/Singleton.php:
--------------------------------------------------------------------------------
1 | $vendorDir . '/composer/InstalledVersions.php',
10 | );
11 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/composer/autoload_files.php:
--------------------------------------------------------------------------------
1 | $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
10 | 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
11 | '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
12 | );
13 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/composer/autoload_namespaces.php:
--------------------------------------------------------------------------------
1 | array($baseDir . '/src/Volc'),
10 | 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src', $vendorDir . '/psr/http-factory/src'),
11 | 'Psr\\Http\\Client\\' => array($vendorDir . '/psr/http-client/src'),
12 | 'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
13 | 'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
14 | 'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
15 | 'ExerciseBook\\' => array($baseDir . '/src/ExerciseBook'),
16 | );
17 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/composer/platform_check.php:
--------------------------------------------------------------------------------
1 | = 70205)) {
8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 7.2.5". You are running ' . PHP_VERSION . '.';
9 | }
10 |
11 | if ($issues) {
12 | if (!headers_sent()) {
13 | header('HTTP/1.1 500 Internal Server Error');
14 | }
15 | if (!ini_get('display_errors')) {
16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL);
18 | } elseif (!headers_sent()) {
19 | 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;
20 | }
21 | }
22 | trigger_error(
23 | 'Composer detected issues in your platform: ' . implode(' ', $issues),
24 | E_USER_ERROR
25 | );
26 | }
27 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/guzzle/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011 Michael Dowling, https://github.com/mtdowling
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/guzzle/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "guzzlehttp/guzzle",
3 | "type": "library",
4 | "description": "Guzzle is a PHP HTTP client library",
5 | "keywords": [
6 | "framework",
7 | "http",
8 | "rest",
9 | "web service",
10 | "curl",
11 | "client",
12 | "HTTP client",
13 | "PSR-7",
14 | "PSR-18"
15 | ],
16 | "homepage": "http://guzzlephp.org/",
17 | "license": "MIT",
18 | "authors": [
19 | {
20 | "name": "Michael Dowling",
21 | "email": "mtdowling@gmail.com",
22 | "homepage": "https://github.com/mtdowling"
23 | },
24 | {
25 | "name": "Márk Sági-Kazár",
26 | "email": "mark.sagikazar@gmail.com",
27 | "homepage": "https://sagikazarmark.hu"
28 | }
29 | ],
30 | "require": {
31 | "php": "^7.2.5 || ^8.0",
32 | "ext-json": "*",
33 | "guzzlehttp/promises": "^1.4",
34 | "guzzlehttp/psr7": "^1.7 || ^2.0",
35 | "psr/http-client": "^1.0"
36 | },
37 | "provide": {
38 | "psr/http-client-implementation": "1.0"
39 | },
40 | "require-dev": {
41 | "ext-curl": "*",
42 | "bamarni/composer-bin-plugin": "^1.4.1",
43 | "php-http/client-integration-tests": "^3.0",
44 | "phpunit/phpunit": "^8.5.5 || ^9.3.5",
45 | "psr/log": "^1.1"
46 | },
47 | "suggest": {
48 | "ext-curl": "Required for CURL handler support",
49 | "ext-intl": "Required for Internationalized Domain Name (IDN) support",
50 | "psr/log": "Required for using the Log middleware"
51 | },
52 | "config": {
53 | "sort-packages": true
54 | },
55 | "extra": {
56 | "branch-alias": {
57 | "dev-master": "7.3-dev"
58 | }
59 | },
60 | "autoload": {
61 | "psr-4": {
62 | "GuzzleHttp\\": "src/"
63 | },
64 | "files": [
65 | "src/functions_include.php"
66 | ]
67 | },
68 | "autoload-dev": {
69 | "psr-4": {
70 | "GuzzleHttp\\Tests\\": "tests/"
71 | }
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/guzzle/src/BodySummarizer.php:
--------------------------------------------------------------------------------
1 | truncateAt = $truncateAt;
17 | }
18 |
19 | /**
20 | * Returns a summarized message body.
21 | */
22 | public function summarize(MessageInterface $message): ?string
23 | {
24 | return $this->truncateAt === null
25 | ? \GuzzleHttp\Psr7\Message::bodySummary($message)
26 | : \GuzzleHttp\Psr7\Message::bodySummary($message, $this->truncateAt);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php:
--------------------------------------------------------------------------------
1 | sessionKey = $sessionKey;
32 | $this->storeSessionCookies = $storeSessionCookies;
33 | $this->load();
34 | }
35 |
36 | /**
37 | * Saves cookies to session when shutting down
38 | */
39 | public function __destruct()
40 | {
41 | $this->save();
42 | }
43 |
44 | /**
45 | * Save cookies to the client session
46 | */
47 | public function save(): void
48 | {
49 | $json = [];
50 | /** @var SetCookie $cookie */
51 | foreach ($this as $cookie) {
52 | if (CookieJar::shouldPersist($cookie, $this->storeSessionCookies)) {
53 | $json[] = $cookie->toArray();
54 | }
55 | }
56 |
57 | $_SESSION[$this->sessionKey] = \json_encode($json);
58 | }
59 |
60 | /**
61 | * Load the contents of the client session into the data array
62 | */
63 | protected function load(): void
64 | {
65 | if (!isset($_SESSION[$this->sessionKey])) {
66 | return;
67 | }
68 | $data = \json_decode($_SESSION[$this->sessionKey], true);
69 | if (\is_array($data)) {
70 | foreach ($data as $cookie) {
71 | $this->setCookie(new SetCookie($cookie));
72 | }
73 | } elseif (\strlen($data)) {
74 | throw new \RuntimeException("Invalid cookie data");
75 | }
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php:
--------------------------------------------------------------------------------
1 | request = $request;
33 | $this->handlerContext = $handlerContext;
34 | }
35 |
36 | /**
37 | * Get the request that caused the exception
38 | */
39 | public function getRequest(): RequestInterface
40 | {
41 | return $this->request;
42 | }
43 |
44 | /**
45 | * Get contextual information about the error from the underlying handler.
46 | *
47 | * The contents of this array will vary depending on which handler you are
48 | * using. It may also be just an empty array. Relying on this data will
49 | * couple you to a specific handler, but can give more debug information
50 | * when needed.
51 | */
52 | public function getHandlerContext(): array
53 | {
54 | return $this->handlerContext;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php:
--------------------------------------------------------------------------------
1 | factory = $options['handle_factory']
34 | ?? new CurlFactory(3);
35 | }
36 |
37 | public function __invoke(RequestInterface $request, array $options): PromiseInterface
38 | {
39 | if (isset($options['delay'])) {
40 | \usleep($options['delay'] * 1000);
41 | }
42 |
43 | $easy = $this->factory->create($request, $options);
44 | \curl_exec($easy->handle);
45 | $easy->errno = \curl_errno($easy->handle);
46 |
47 | return CurlFactory::finish($this, $easy, $this->factory);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/promises/Makefile:
--------------------------------------------------------------------------------
1 | all: clean test
2 |
3 | test:
4 | vendor/bin/phpunit
5 |
6 | coverage:
7 | vendor/bin/phpunit --coverage-html=artifacts/coverage
8 |
9 | view-coverage:
10 | open artifacts/coverage/index.html
11 |
12 | clean:
13 | rm -rf artifacts/*
14 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/promises/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "guzzlehttp/promises",
3 | "description": "Guzzle promises library",
4 | "keywords": ["promise"],
5 | "license": "MIT",
6 | "authors": [
7 | {
8 | "name": "Michael Dowling",
9 | "email": "mtdowling@gmail.com",
10 | "homepage": "https://github.com/mtdowling"
11 | }
12 | ],
13 | "require": {
14 | "php": ">=5.5"
15 | },
16 | "require-dev": {
17 | "symfony/phpunit-bridge": "^4.4 || ^5.1"
18 | },
19 | "autoload": {
20 | "psr-4": {
21 | "GuzzleHttp\\Promise\\": "src/"
22 | },
23 | "files": ["src/functions_include.php"]
24 | },
25 | "autoload-dev": {
26 | "psr-4": {
27 | "GuzzleHttp\\Promise\\Tests\\": "tests/"
28 | }
29 | },
30 | "scripts": {
31 | "test": "vendor/bin/simple-phpunit",
32 | "test-ci": "vendor/bin/simple-phpunit --coverage-text"
33 | },
34 | "extra": {
35 | "branch-alias": {
36 | "dev-master": "1.4-dev"
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/promises/src/AggregateException.php:
--------------------------------------------------------------------------------
1 | then([$promise, 'resolve'], [$promise, 'reject']);
26 | return $promise;
27 | }
28 |
29 | return new FulfilledPromise($value);
30 | }
31 |
32 | /**
33 | * Creates a rejected promise for a reason if the reason is not a promise.
34 | * If the provided reason is a promise, then it is returned as-is.
35 | *
36 | * @param mixed $reason Promise or reason.
37 | *
38 | * @return PromiseInterface
39 | */
40 | public static function rejectionFor($reason)
41 | {
42 | if ($reason instanceof PromiseInterface) {
43 | return $reason;
44 | }
45 |
46 | return new RejectedPromise($reason);
47 | }
48 |
49 | /**
50 | * Create an exception for a rejected promise value.
51 | *
52 | * @param mixed $reason
53 | *
54 | * @return \Exception|\Throwable
55 | */
56 | public static function exceptionFor($reason)
57 | {
58 | if ($reason instanceof \Exception || $reason instanceof \Throwable) {
59 | return $reason;
60 | }
61 |
62 | return new RejectionException($reason);
63 | }
64 |
65 | /**
66 | * Returns an iterator for the given value.
67 | *
68 | * @param mixed $value
69 | *
70 | * @return \Iterator
71 | */
72 | public static function iterFor($value)
73 | {
74 | if ($value instanceof \Iterator) {
75 | return $value;
76 | }
77 |
78 | if (is_array($value)) {
79 | return new \ArrayIterator($value);
80 | }
81 |
82 | return new \ArrayIterator([$value]);
83 | }
84 | }
85 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/promises/src/FulfilledPromise.php:
--------------------------------------------------------------------------------
1 | value = $value;
24 | }
25 |
26 | public function then(
27 | callable $onFulfilled = null,
28 | callable $onRejected = null
29 | ) {
30 | // Return itself if there is no onFulfilled function.
31 | if (!$onFulfilled) {
32 | return $this;
33 | }
34 |
35 | $queue = Utils::queue();
36 | $p = new Promise([$queue, 'run']);
37 | $value = $this->value;
38 | $queue->add(static function () use ($p, $value, $onFulfilled) {
39 | if (Is::pending($p)) {
40 | try {
41 | $p->resolve($onFulfilled($value));
42 | } catch (\Throwable $e) {
43 | $p->reject($e);
44 | } catch (\Exception $e) {
45 | $p->reject($e);
46 | }
47 | }
48 | });
49 |
50 | return $p;
51 | }
52 |
53 | public function otherwise(callable $onRejected)
54 | {
55 | return $this->then(null, $onRejected);
56 | }
57 |
58 | public function wait($unwrap = true, $defaultDelivery = null)
59 | {
60 | return $unwrap ? $this->value : null;
61 | }
62 |
63 | public function getState()
64 | {
65 | return self::FULFILLED;
66 | }
67 |
68 | public function resolve($value)
69 | {
70 | if ($value !== $this->value) {
71 | throw new \LogicException("Cannot resolve a fulfilled promise");
72 | }
73 | }
74 |
75 | public function reject($reason)
76 | {
77 | throw new \LogicException("Cannot reject a fulfilled promise");
78 | }
79 |
80 | public function cancel()
81 | {
82 | // pass
83 | }
84 | }
85 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/promises/src/Is.php:
--------------------------------------------------------------------------------
1 | getState() === PromiseInterface::PENDING;
15 | }
16 |
17 | /**
18 | * Returns true if a promise is fulfilled or rejected.
19 | *
20 | * @return bool
21 | */
22 | public static function settled(PromiseInterface $promise)
23 | {
24 | return $promise->getState() !== PromiseInterface::PENDING;
25 | }
26 |
27 | /**
28 | * Returns true if a promise is fulfilled.
29 | *
30 | * @return bool
31 | */
32 | public static function fulfilled(PromiseInterface $promise)
33 | {
34 | return $promise->getState() === PromiseInterface::FULFILLED;
35 | }
36 |
37 | /**
38 | * Returns true if a promise is rejected.
39 | *
40 | * @return bool
41 | */
42 | public static function rejected(PromiseInterface $promise)
43 | {
44 | return $promise->getState() === PromiseInterface::REJECTED;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/promises/src/PromisorInterface.php:
--------------------------------------------------------------------------------
1 | reason = $reason;
24 | }
25 |
26 | public function then(
27 | callable $onFulfilled = null,
28 | callable $onRejected = null
29 | ) {
30 | // If there's no onRejected callback then just return self.
31 | if (!$onRejected) {
32 | return $this;
33 | }
34 |
35 | $queue = Utils::queue();
36 | $reason = $this->reason;
37 | $p = new Promise([$queue, 'run']);
38 | $queue->add(static function () use ($p, $reason, $onRejected) {
39 | if (Is::pending($p)) {
40 | try {
41 | // Return a resolved promise if onRejected does not throw.
42 | $p->resolve($onRejected($reason));
43 | } catch (\Throwable $e) {
44 | // onRejected threw, so return a rejected promise.
45 | $p->reject($e);
46 | } catch (\Exception $e) {
47 | // onRejected threw, so return a rejected promise.
48 | $p->reject($e);
49 | }
50 | }
51 | });
52 |
53 | return $p;
54 | }
55 |
56 | public function otherwise(callable $onRejected)
57 | {
58 | return $this->then(null, $onRejected);
59 | }
60 |
61 | public function wait($unwrap = true, $defaultDelivery = null)
62 | {
63 | if ($unwrap) {
64 | throw Create::exceptionFor($this->reason);
65 | }
66 |
67 | return null;
68 | }
69 |
70 | public function getState()
71 | {
72 | return self::REJECTED;
73 | }
74 |
75 | public function resolve($value)
76 | {
77 | throw new \LogicException("Cannot resolve a rejected promise");
78 | }
79 |
80 | public function reject($reason)
81 | {
82 | if ($reason !== $this->reason) {
83 | throw new \LogicException("Cannot reject a rejected promise");
84 | }
85 | }
86 |
87 | public function cancel()
88 | {
89 | // pass
90 | }
91 | }
92 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/promises/src/RejectionException.php:
--------------------------------------------------------------------------------
1 | reason = $reason;
22 |
23 | $message = 'The promise was rejected';
24 |
25 | if ($description) {
26 | $message .= ' with reason: ' . $description;
27 | } elseif (is_string($reason)
28 | || (is_object($reason) && method_exists($reason, '__toString'))
29 | ) {
30 | $message .= ' with reason: ' . $this->reason;
31 | } elseif ($reason instanceof \JsonSerializable) {
32 | $message .= ' with reason: '
33 | . json_encode($this->reason, JSON_PRETTY_PRINT);
34 | }
35 |
36 | parent::__construct($message);
37 | }
38 |
39 | /**
40 | * Returns the rejection reason.
41 | *
42 | * @return mixed
43 | */
44 | public function getReason()
45 | {
46 | return $this->reason;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/promises/src/TaskQueue.php:
--------------------------------------------------------------------------------
1 | run();
13 | */
14 | class TaskQueue implements TaskQueueInterface
15 | {
16 | private $enableShutdown = true;
17 | private $queue = [];
18 |
19 | public function __construct($withShutdown = true)
20 | {
21 | if ($withShutdown) {
22 | register_shutdown_function(function () {
23 | if ($this->enableShutdown) {
24 | // Only run the tasks if an E_ERROR didn't occur.
25 | $err = error_get_last();
26 | if (!$err || ($err['type'] ^ E_ERROR)) {
27 | $this->run();
28 | }
29 | }
30 | });
31 | }
32 | }
33 |
34 | public function isEmpty()
35 | {
36 | return !$this->queue;
37 | }
38 |
39 | public function add(callable $task)
40 | {
41 | $this->queue[] = $task;
42 | }
43 |
44 | public function run()
45 | {
46 | while ($task = array_shift($this->queue)) {
47 | /** @var callable $task */
48 | $task();
49 | }
50 | }
51 |
52 | /**
53 | * The task queue will be run and exhausted by default when the process
54 | * exits IFF the exit is not the result of a PHP E_ERROR error.
55 | *
56 | * You can disable running the automatic shutdown of the queue by calling
57 | * this function. If you disable the task queue shutdown process, then you
58 | * MUST either run the task queue (as a result of running your event loop
59 | * or manually using the run() method) or wait on each outstanding promise.
60 | *
61 | * Note: This shutdown will occur before any destructors are triggered.
62 | */
63 | public function disableShutdown()
64 | {
65 | $this->enableShutdown = false;
66 | }
67 | }
68 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/promises/src/TaskQueueInterface.php:
--------------------------------------------------------------------------------
1 |
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/psr7/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "guzzlehttp/psr7",
3 | "type": "library",
4 | "description": "PSR-7 message implementation that also provides common utility methods",
5 | "keywords": [
6 | "request",
7 | "response",
8 | "message",
9 | "stream",
10 | "http",
11 | "uri",
12 | "url",
13 | "psr-7"
14 | ],
15 | "license": "MIT",
16 | "authors": [
17 | {
18 | "name": "Michael Dowling",
19 | "email": "mtdowling@gmail.com",
20 | "homepage": "https://github.com/mtdowling"
21 | },
22 | {
23 | "name": "Tobias Schultze",
24 | "homepage": "https://github.com/Tobion"
25 | },
26 | {
27 | "name": "Márk Sági-Kazár",
28 | "email": "mark.sagikazar@gmail.com",
29 | "homepage": "https://sagikazarmark.hu"
30 | }
31 | ],
32 | "require": {
33 | "php": "^7.2.5 || ^8.0",
34 | "psr/http-factory": "^1.0",
35 | "psr/http-message": "^1.0",
36 | "ralouphie/getallheaders": "^3.0"
37 | },
38 | "provide": {
39 | "psr/http-factory-implementation": "1.0",
40 | "psr/http-message-implementation": "1.0"
41 | },
42 | "require-dev": {
43 | "bamarni/composer-bin-plugin": "^1.4.1",
44 | "http-interop/http-factory-tests": "^0.9",
45 | "phpunit/phpunit": "^8.5.8 || ^9.3.10"
46 | },
47 | "suggest": {
48 | "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
49 | },
50 | "extra": {
51 | "branch-alias": {
52 | "dev-master": "2.0-dev"
53 | }
54 | },
55 | "autoload": {
56 | "psr-4": {
57 | "GuzzleHttp\\Psr7\\": "src/"
58 | }
59 | },
60 | "autoload-dev": {
61 | "psr-4": {
62 | "GuzzleHttp\\Tests\\Psr7\\": "tests/"
63 | }
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/psr7/src/DroppingStream.php:
--------------------------------------------------------------------------------
1 | stream = $stream;
27 | $this->maxLength = $maxLength;
28 | }
29 |
30 | public function write($string): int
31 | {
32 | $diff = $this->maxLength - $this->stream->getSize();
33 |
34 | // Begin returning 0 when the underlying stream is too large.
35 | if ($diff <= 0) {
36 | return 0;
37 | }
38 |
39 | // Write the stream or a subset of the stream if needed.
40 | if (strlen($string) < $diff) {
41 | return $this->stream->write($string);
42 | }
43 |
44 | return $this->stream->write(substr($string, 0, $diff));
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/psr7/src/Header.php:
--------------------------------------------------------------------------------
1 | ]+>|[^=]+/', $kvp, $matches)) {
26 | $m = $matches[0];
27 | if (isset($m[1])) {
28 | $part[trim($m[0], $trimmed)] = trim($m[1], $trimmed);
29 | } else {
30 | $part[] = trim($m[0], $trimmed);
31 | }
32 | }
33 | }
34 | if ($part) {
35 | $params[] = $part;
36 | }
37 | }
38 |
39 | return $params;
40 | }
41 |
42 | /**
43 | * Converts an array of header values that may contain comma separated
44 | * headers into an array of headers with no comma separated values.
45 | *
46 | * @param string|array $header Header to normalize.
47 | */
48 | public static function normalize($header): array
49 | {
50 | if (!is_array($header)) {
51 | return array_map('trim', explode(',', $header));
52 | }
53 |
54 | $result = [];
55 | foreach ($header as $value) {
56 | foreach ((array) $value as $v) {
57 | if (strpos($v, ',') === false) {
58 | $result[] = $v;
59 | continue;
60 | }
61 | foreach (preg_split('/,(?=([^"]*"[^"]*")*[^"]*$)/', $v) as $vv) {
62 | $result[] = trim($vv);
63 | }
64 | }
65 | }
66 |
67 | return $result;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/psr7/src/InflateStream.php:
--------------------------------------------------------------------------------
1 | 15 + 32]);
32 | $this->stream = $stream->isSeekable() ? new Stream($resource) : new NoSeekStream(new Stream($resource));
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/psr7/src/LazyOpenStream.php:
--------------------------------------------------------------------------------
1 | filename = $filename;
30 | $this->mode = $mode;
31 | }
32 |
33 | /**
34 | * Creates the underlying stream lazily when required.
35 | */
36 | protected function createStream(): StreamInterface
37 | {
38 | return Utils::streamFor(Utils::tryFopen($this->filename, $this->mode));
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/psr7/src/NoSeekStream.php:
--------------------------------------------------------------------------------
1 | @,;:\\\"/[\]?={}\x01-\x20\x7F]++):[ \t]*+((?:[ \t]*+[\x21-\x7E\x80-\xFF]++)*+)[ \t]*+\r?\n)m";
22 | public const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)";
23 | }
24 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/psr7/vendor-bin/php-cs-fixer/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "php": "^7.2.5 || ^8.0",
4 | "friendsofphp/php-cs-fixer": "2.18.3"
5 | },
6 | "config": {
7 | "preferred-install": "dist"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/psr7/vendor-bin/phpstan/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "php": "^7.2.5 || ^8.0",
4 | "phpstan/phpstan": "0.12.81",
5 | "phpstan/phpstan-deprecation-rules": "0.12.6"
6 | },
7 | "config": {
8 | "preferred-install": "dist"
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/guzzlehttp/psr7/vendor-bin/psalm/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "require": {
3 | "php": "^7.2.5 || ^8.0",
4 | "psalm/phar": "4.6.2"
5 | },
6 | "config": {
7 | "preferred-install": "dist"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/psr/http-client/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | All notable changes to this project will be documented in this file, in reverse chronological order by release.
4 |
5 | ## 1.0.1
6 |
7 | Allow installation with PHP 8. No code changes.
8 |
9 | ## 1.0.0
10 |
11 | First stable release. No changes since 0.3.0.
12 |
13 | ## 0.3.0
14 |
15 | Added Interface suffix on exceptions
16 |
17 | ## 0.2.0
18 |
19 | All exceptions are in `Psr\Http\Client` namespace
20 |
21 | ## 0.1.0
22 |
23 | First release
24 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/psr/http-client/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2017 PHP Framework Interoperability Group
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/psr/http-client/README.md:
--------------------------------------------------------------------------------
1 | HTTP Client
2 | ===========
3 |
4 | This repository holds all the common code related to [PSR-18 (HTTP Client)][psr-url].
5 |
6 | Note that this is not a HTTP Client implementation of its own. It is merely abstractions that describe the components of a HTTP Client.
7 |
8 | The installable [package][package-url] and [implementations][implementation-url] are listed on Packagist.
9 |
10 | [psr-url]: http://www.php-fig.org/psr/psr-18
11 | [package-url]: https://packagist.org/packages/psr/http-client
12 | [implementation-url]: https://packagist.org/providers/psr/http-client-implementation
13 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/psr/http-client/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "psr/http-client",
3 | "description": "Common interface for HTTP clients",
4 | "keywords": ["psr", "psr-18", "http", "http-client"],
5 | "homepage": "https://github.com/php-fig/http-client",
6 | "license": "MIT",
7 | "authors": [
8 | {
9 | "name": "PHP-FIG",
10 | "homepage": "http://www.php-fig.org/"
11 | }
12 | ],
13 | "require": {
14 | "php": "^7.0 || ^8.0",
15 | "psr/http-message": "^1.0"
16 | },
17 | "autoload": {
18 | "psr-4": {
19 | "Psr\\Http\\Client\\": "src/"
20 | }
21 | },
22 | "extra": {
23 | "branch-alias": {
24 | "dev-master": "1.0.x-dev"
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/psr/http-client/src/ClientExceptionInterface.php:
--------------------------------------------------------------------------------
1 | =7.0.0",
23 | "psr/http-message": "^1.0"
24 | },
25 | "autoload": {
26 | "psr-4": {
27 | "Psr\\Http\\Message\\": "src/"
28 | }
29 | },
30 | "extra": {
31 | "branch-alias": {
32 | "dev-master": "1.0.x-dev"
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/psr/http-factory/src/RequestFactoryInterface.php:
--------------------------------------------------------------------------------
1 | =5.3.0"
15 | },
16 | "autoload": {
17 | "psr-4": {
18 | "Psr\\Http\\Message\\": "src/"
19 | }
20 | },
21 | "extra": {
22 | "branch-alias": {
23 | "dev-master": "1.0.x-dev"
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/ralouphie/getallheaders/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Ralph Khattar
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/ralouphie/getallheaders/README.md:
--------------------------------------------------------------------------------
1 | getallheaders
2 | =============
3 |
4 | PHP `getallheaders()` polyfill. Compatible with PHP >= 5.3.
5 |
6 | [](https://travis-ci.org/ralouphie/getallheaders)
7 | [](https://coveralls.io/r/ralouphie/getallheaders?branch=master)
8 | [](https://packagist.org/packages/ralouphie/getallheaders)
9 | [](https://packagist.org/packages/ralouphie/getallheaders)
10 | [](https://packagist.org/packages/ralouphie/getallheaders)
11 |
12 |
13 | This is a simple polyfill for [`getallheaders()`](http://www.php.net/manual/en/function.getallheaders.php).
14 |
15 | ## Install
16 |
17 | For PHP version **`>= 5.6`**:
18 |
19 | ```
20 | composer require ralouphie/getallheaders
21 | ```
22 |
23 | For PHP version **`< 5.6`**:
24 |
25 | ```
26 | composer require ralouphie/getallheaders "^2"
27 | ```
28 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/ralouphie/getallheaders/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ralouphie/getallheaders",
3 | "description": "A polyfill for getallheaders.",
4 | "license": "MIT",
5 | "authors": [
6 | {
7 | "name": "Ralph Khattar",
8 | "email": "ralph.khattar@gmail.com"
9 | }
10 | ],
11 | "require": {
12 | "php": ">=5.6"
13 | },
14 | "require-dev": {
15 | "phpunit/phpunit": "^5 || ^6.5",
16 | "php-coveralls/php-coveralls": "^2.1"
17 | },
18 | "autoload": {
19 | "files": ["src/getallheaders.php"]
20 | },
21 | "autoload-dev": {
22 | "psr-4": {
23 | "getallheaders\\Tests\\": "tests/"
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/inc/volcengine-imagex/vendor/ralouphie/getallheaders/src/getallheaders.php:
--------------------------------------------------------------------------------
1 | 'Content-Type',
16 | 'CONTENT_LENGTH' => 'Content-Length',
17 | 'CONTENT_MD5' => 'Content-Md5',
18 | );
19 |
20 | foreach ($_SERVER as $key => $value) {
21 | if (substr($key, 0, 5) === 'HTTP_') {
22 | $key = substr($key, 5);
23 | if (!isset($copy_server[$key]) || !isset($_SERVER[$key])) {
24 | $key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key))));
25 | $headers[$key] = $value;
26 | }
27 | } elseif (isset($copy_server[$key])) {
28 | $headers[$copy_server[$key]] = $value;
29 | }
30 | }
31 |
32 | if (!isset($headers['Authorization'])) {
33 | if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) {
34 | $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION'];
35 | } elseif (isset($_SERVER['PHP_AUTH_USER'])) {
36 | $basic_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
37 | $headers['Authorization'] = 'Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $basic_pass);
38 | } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) {
39 | $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST'];
40 | }
41 | }
42 |
43 | return $headers;
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 |
6 | * @license GPL-3.0 License
7 | * @version 2022.01.26
8 | */
9 | get_header(); ?>
10 |
11 |
12 |
13 |
14 |
18 |
22 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
38 |
39 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/languages/en_US.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/languages/en_US.mo
--------------------------------------------------------------------------------
/page-full.php:
--------------------------------------------------------------------------------
1 |
6 | * @license GPL-3.0 License
7 | * @version 2024.01.17
8 | */
9 |
10 | get_header(); ?>
11 |
12 |
13 |
14 |
15 |
17 |
18 |
21 |
22 | '',
46 | 'next_or_number' => 'next',
47 | 'previouspagelink' => '',
48 | 'nextpagelink' => __('下一页 ', 'kratos')
49 | )
50 | ); ?>
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/pages/page-smilies.php:
--------------------------------------------------------------------------------
1 |
6 | * @license GPL-3.0 License
7 | * @version 2022.01.26
8 | */
9 | $smilies = join("\n", array_map(function ($s) {
10 | return ' ";
13 | }, [
14 | 'razz',
15 | 'evil',
16 | 'exclaim',
17 | 'smile',
18 | 'redface',
19 | 'biggrin',
20 | 'eek',
21 | 'confused',
22 | 'idea',
23 | 'lol',
24 | 'mad',
25 | 'twisted',
26 | 'rolleyes',
27 | 'wink',
28 | 'cool',
29 | 'arrow',
30 | 'neutral',
31 | 'cry',
32 | 'mrgreen',
33 | 'drooling',
34 | 'persevering'
35 | ]));
36 |
--------------------------------------------------------------------------------
/pages/page-toolbar.php:
--------------------------------------------------------------------------------
1 |
6 | * @license GPL-3.0 License
7 | * @version 2022.05.27
8 | */
9 | ?>
10 |
--------------------------------------------------------------------------------
/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seatonjiang/kratos/d1303478b24f6cb375fcd70e3164dcc391c970f2/screenshot.png
--------------------------------------------------------------------------------