Changeset 3382646
- Timestamp:
- 10/22/2025 01:35:04 PM (5 months ago)
- Location:
- code-snippets/trunk
- Files:
-
- 7 edited
-
CHANGELOG.md (modified) (1 diff)
-
code-snippets.php (modified) (2 diffs)
-
css/settings.scss (modified) (4 diffs)
-
dist/settings.css (modified) (1 diff)
-
php/rest-api/class-snippets-rest-controller.php (modified) (5 diffs)
-
readme.txt (modified) (1 diff)
-
vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
code-snippets/trunk/CHANGELOG.md
r3382390 r3382646 1 1 # Changelog 2 2 3 4 5 6 ## [3.7.1-beta.3] (2025-10-22) 7 8 ### Added 9 * Snippets REST API now supports pagination via page and per_page query parameters. 3 10 4 11 -
code-snippets/trunk/code-snippets.php
r3382390 r3382646 9 9 * License URI: license.txt 10 10 * Text Domain: code-snippets 11 * Version: 3.7.1-beta. 211 * Version: 3.7.1-beta.3 12 12 * Requires PHP: 7.4 13 13 * Requires at least: 5.0 14 14 * 15 * @version 3.7.1-beta. 215 * @version 3.7.1-beta.3 16 16 * @package Code_Snippets 17 17 * @author Shea Bunge <[email protected]> … … 38 38 * @const string 39 39 */ 40 define( 'CODE_SNIPPETS_VERSION', '3.7.1-beta. 2' );40 define( 'CODE_SNIPPETS_VERSION', '3.7.1-beta.3' ); 41 41 42 42 /** -
code-snippets/trunk/css/settings.scss
r3382390 r3382646 143 143 144 144 #target_version { 145 min- width: 200px;145 min-inline-size: 200px; 146 146 margin-inline-start: 8px; 147 147 } … … 159 159 // Warning box styling 160 160 #version-switch-warning { 161 margin- top: 20px !important;161 margin-block-start: 20px !important; 162 162 padding: 12px 16px; 163 border- left: 4px solid #dba617;163 border-inline-start: 4px solid #dba617; 164 164 background: #fff8e5; 165 165 border-radius: 4px; … … 184 184 } 185 185 186 .notice {187 &.notice {188 &-success {189 border-left-color: #00a32a;190 }191 192 &-error {193 border-left-color: #d63638;194 }195 196 &-warning {197 border-left-color: #dba617;198 }199 200 &-info {201 border-left-color: #72aee6;202 }203 }204 }186 .notice { 187 &.notice { 188 &-success { 189 border-inline-start-color: #00a32a; 190 } 191 192 &-error { 193 border-inline-start-color: #d63638; 194 } 195 196 &-warning { 197 border-inline-start-color: #dba617; 198 } 199 200 &-info { 201 border-inline-start-color: #72aee6; 202 } 203 } 204 } 205 205 } 206 206 … … 208 208 .form-table { 209 209 th { 210 width: 180px;211 } 212 } 213 } 210 inline-size: 180px; 211 } 212 } 213 } -
code-snippets/trunk/dist/settings.css
r3382390 r3382646 1 .CodeMirror{background-color:#fff;block-size:auto!important;border:1px solid #dfdfdf;border-radius:3px}.CodeMirror-code{outline:none}.CodeMirror-focused .cm-matchhighlight{color:#fff!important;outline:1px solid green}.CodeMirror-sizer:after,.CodeMirror-sizer:before{color:#bbb;display:block}.CodeMirror-sizer:before{content:"";padding-block-end:5px}.cm-s-rubyblue .CodeMirror-cursor{border-inline-start:1px solid #fff!important}.CodeMirror-lint-marker-multiple,[class*=CodeMirror-lint-marker],[class*=CodeMirror-lint-message]{background-image:none}.CodeMirror-lint-marker-error,.CodeMirror-lint-marker-warning{cursor:help}.CodeMirror-lint-marker-multiple{inset-block-start:0;position:absolute}[class*=CodeMirror-lint-marker]:before{font:normal 18px/1 dashicons;inset-block-start:-2px;position:relative}[class*=CodeMirror-lint-message]:before{font:normal 16px/1 dashicons;inset-inline-start:16px;position:absolute}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin-block:5px 2px;margin-inline:0;padding-block:3px;padding-inline:28px 12px}.CodeMirror-lint-message-warning{background-color:#fff8e5;border-inline-start:4px solid #ffb900}.CodeMirror-lint-marker-warning:before,.CodeMirror-lint-message-warning:before{color:#f6a306;content:""}.CodeMirror-lint-message-error{background-color:#fbeaea;border-inline-start:4px solid #dc3232}.CodeMirror-lint-marker-error:before,.CodeMirror-lint-message-error:before{color:#dc3232;content:""}.CodeMirror-lint-tooltip{background:none;border:none;border-radius:0;direction:ltr}.CodeMirror .CodeMirror-matchingbracket{background:rgba(255,150,0,.3);color:inherit}.CodeMirror .CodeMirror-linenumber{color:#666}.CodeMirror-foldmarker{color:inherit;font-weight:700;margin-inline:.25em}p.submit{display:flex;justify-content:space-between}.settings-section,p.submit{max-inline-size:1020px}.nav-tab-wrapper{margin-block-end:1em}input[type=number]{inline-size:4em}.CodeMirror{inline-size:100%;max-inline-size:800px;padding-inline-end:1em}.CodeMirror-sizer:before{content:"<?php"}body.no-js .nav-tab-wrapper{display:none}body.no-js .settings-section{display:block!important}body.js .settings-section-title{border:0;clip:rect(1px,1px,1px,1px);block-size:1px;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important}body.js .nav-tab:not(.nav-tab-active){cursor:pointer}body.js .settings-section{display:none}body.js .wrap[data-active-tab=debug] .debug-settings,body.js .wrap[data-active-tab=editor] .editor-settings,body.js .wrap[data-active-tab=general] .general-settings,body.js .wrap[data-active-tab=version-switch] .version-switch-settings{display:block}.license-status{color:#aaa;display:inline-block;line-height:2;padding-inline-end:2em}.license-status-valid{color:#2ecc40}.license-status-expired{color:#dc3232}.wrap[data-active-tab=license] .submit{display:none}#code_snippets_remove_license{border-color:#b32d2e;color:#b32d2e}#code_snippets_license_key{font-family:Consolas,Monaco,monospace}#cloud_token{inline-size:90vw;max-inline-size:450px}.cloud-message{border-radius:5px;font-weight:600;inline-size:-moz-fit-content;inline-size:fit-content;padding:5px}.cloud-error{background:#e53935;color:#ffebee}.cloud-success{background:#43a047;color:#e8f5e9}.refresh-success{background:#2271b1;color:#ffeb3b}.cloud-settings tbody tr:nth-child(n+5){display:none}.code-snippets-version-switch .current-version{background:#f0f6fc;border:1px solid #c3c4c7;border-radius:3px;color:#0073aa;font-family:monospace;font-size:1.1em;font-weight:700;padding:2px 8px}.code-snippets-version-switch #target_version{margin-inline-start:8px;min- width:200px}.code-snippets-version-switch #switch-version-btn[disabled]{background-color:#f0f0f1!important;border-color:#dcdcde!important;color:#a7aaad!important;cursor:not-allowed;opacity:.6}.code-snippets-version-switch #version-switch-warning{background:#fff8e5;border-left:4px solid #dba617;border-radius:4px;margin-top:20px!important;padding:12px 16px}.code-snippets-version-switch #version-switch-warning p{color:#8f6914;margin:0}.code-snippets-version-switch #version-switch-warning p strong{color:#8f6914}.code-snippets-version-switch #version-switch-result{margin-block-start:12px}.code-snippets-version-switch #version-switch-result.notice{border-radius:4px;padding:8px 12px}.code-snippets-version-switch .notice.notice-success{border-left-color:#00a32a}.code-snippets-version-switch .notice.notice-error{border-left-color:#d63638}.code-snippets-version-switch .notice.notice-warning{border-left-color:#dba617}.code-snippets-version-switch .notice.notice-info{border-left-color:#72aee6}.version-switch-settings .form-table th{width:180px}1 .CodeMirror{background-color:#fff;block-size:auto!important;border:1px solid #dfdfdf;border-radius:3px}.CodeMirror-code{outline:none}.CodeMirror-focused .cm-matchhighlight{color:#fff!important;outline:1px solid green}.CodeMirror-sizer:after,.CodeMirror-sizer:before{color:#bbb;display:block}.CodeMirror-sizer:before{content:"";padding-block-end:5px}.cm-s-rubyblue .CodeMirror-cursor{border-inline-start:1px solid #fff!important}.CodeMirror-lint-marker-multiple,[class*=CodeMirror-lint-marker],[class*=CodeMirror-lint-message]{background-image:none}.CodeMirror-lint-marker-error,.CodeMirror-lint-marker-warning{cursor:help}.CodeMirror-lint-marker-multiple{inset-block-start:0;position:absolute}[class*=CodeMirror-lint-marker]:before{font:normal 18px/1 dashicons;inset-block-start:-2px;position:relative}[class*=CodeMirror-lint-message]:before{font:normal 16px/1 dashicons;inset-inline-start:16px;position:absolute}.CodeMirror-lint-message-error,.CodeMirror-lint-message-warning{box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin-block:5px 2px;margin-inline:0;padding-block:3px;padding-inline:28px 12px}.CodeMirror-lint-message-warning{background-color:#fff8e5;border-inline-start:4px solid #ffb900}.CodeMirror-lint-marker-warning:before,.CodeMirror-lint-message-warning:before{color:#f6a306;content:""}.CodeMirror-lint-message-error{background-color:#fbeaea;border-inline-start:4px solid #dc3232}.CodeMirror-lint-marker-error:before,.CodeMirror-lint-message-error:before{color:#dc3232;content:""}.CodeMirror-lint-tooltip{background:none;border:none;border-radius:0;direction:ltr}.CodeMirror .CodeMirror-matchingbracket{background:rgba(255,150,0,.3);color:inherit}.CodeMirror .CodeMirror-linenumber{color:#666}.CodeMirror-foldmarker{color:inherit;font-weight:700;margin-inline:.25em}p.submit{display:flex;justify-content:space-between}.settings-section,p.submit{max-inline-size:1020px}.nav-tab-wrapper{margin-block-end:1em}input[type=number]{inline-size:4em}.CodeMirror{inline-size:100%;max-inline-size:800px;padding-inline-end:1em}.CodeMirror-sizer:before{content:"<?php"}body.no-js .nav-tab-wrapper{display:none}body.no-js .settings-section{display:block!important}body.js .settings-section-title{border:0;clip:rect(1px,1px,1px,1px);block-size:1px;clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important}body.js .nav-tab:not(.nav-tab-active){cursor:pointer}body.js .settings-section{display:none}body.js .wrap[data-active-tab=debug] .debug-settings,body.js .wrap[data-active-tab=editor] .editor-settings,body.js .wrap[data-active-tab=general] .general-settings,body.js .wrap[data-active-tab=version-switch] .version-switch-settings{display:block}.license-status{color:#aaa;display:inline-block;line-height:2;padding-inline-end:2em}.license-status-valid{color:#2ecc40}.license-status-expired{color:#dc3232}.wrap[data-active-tab=license] .submit{display:none}#code_snippets_remove_license{border-color:#b32d2e;color:#b32d2e}#code_snippets_license_key{font-family:Consolas,Monaco,monospace}#cloud_token{inline-size:90vw;max-inline-size:450px}.cloud-message{border-radius:5px;font-weight:600;inline-size:-moz-fit-content;inline-size:fit-content;padding:5px}.cloud-error{background:#e53935;color:#ffebee}.cloud-success{background:#43a047;color:#e8f5e9}.refresh-success{background:#2271b1;color:#ffeb3b}.cloud-settings tbody tr:nth-child(n+5){display:none}.code-snippets-version-switch .current-version{background:#f0f6fc;border:1px solid #c3c4c7;border-radius:3px;color:#0073aa;font-family:monospace;font-size:1.1em;font-weight:700;padding:2px 8px}.code-snippets-version-switch #target_version{margin-inline-start:8px;min-inline-size:200px}.code-snippets-version-switch #switch-version-btn[disabled]{background-color:#f0f0f1!important;border-color:#dcdcde!important;color:#a7aaad!important;cursor:not-allowed;opacity:.6}.code-snippets-version-switch #version-switch-warning{background:#fff8e5;border-inline-start:4px solid #dba617;border-radius:4px;margin-block-start:20px!important;padding:12px 16px}.code-snippets-version-switch #version-switch-warning p{color:#8f6914;margin:0}.code-snippets-version-switch #version-switch-warning p strong{color:#8f6914}.code-snippets-version-switch #version-switch-result{margin-block-start:12px}.code-snippets-version-switch #version-switch-result.notice{border-radius:4px;padding:8px 12px}.code-snippets-version-switch .notice.notice-success{border-inline-start-color:#00a32a}.code-snippets-version-switch .notice.notice-error{border-inline-start-color:#d63638}.code-snippets-version-switch .notice.notice-warning{border-inline-start-color:#dba617}.code-snippets-version-switch .notice.notice-info{border-inline-start-color:#72aee6}.version-switch-settings .form-table th{inline-size:180px} -
code-snippets/trunk/php/rest-api/class-snippets-rest-controller.php
r3352486 r3382646 81 81 ); 82 82 83 // Allow standard collection parameters (page, per_page, etc.) on the collection route. 84 $collection_args = array_merge( $network_args, $this->get_collection_params() ); 85 83 86 register_rest_route( 84 87 $this->namespace, … … 89 92 'callback' => [ $this, 'get_items' ], 90 93 'permission_callback' => [ $this, 'get_items_permissions_check' ], 91 'args' => $ network_args,94 'args' => $collection_args, 92 95 ], 93 96 [ … … 187 190 188 191 /** 189 * Retrieves a collection of snippets .192 * Retrieves a collection of snippets, with pagination. 190 193 * 191 194 * @param WP_REST_Request $request Full details about the request. … … 194 197 */ 195 198 public function get_items( $request ): WP_REST_Response { 196 $snippets = get_snippets(); 199 $network = $request->get_param( 'network' ); 200 $all_snippets = get_snippets( [], $network ); 201 202 // Get collection params (page, per_page). 203 $collection_params = $this->get_collection_params(); 204 $per_page_request = (int) $request->get_param( 'per_page' ); 205 $per_page = max( 1, $per_page_request ? $per_page_request : (int) $collection_params['per_page']['default'] ); 206 207 $page_request = (int) $request->get_param( 'page' ); 208 $page = max( 1, $page_request ? $page_request : (int) $collection_params['page']['default'] ); 209 210 // Count total items 211 $total_items = count( $all_snippets ); 212 $total_pages = (int) ceil( $total_items / $per_page ); 213 214 // Slice the full list to the requested page. 215 $offset = ( $page - 1 ) * $per_page; 216 $snippets = array_slice( $all_snippets, $offset, $per_page ); 217 197 218 $snippets_data = []; 198 219 … … 202 223 } 203 224 204 return rest_ensure_response( $snippets_data ); 225 $response = rest_ensure_response( $snippets_data ); 226 $response->header( 'X-WP-Total', (string) $total_items ); 227 $response->header( 'X-WP-TotalPages', (string) $total_pages ); 228 229 return $response; 205 230 } 206 231 -
code-snippets/trunk/readme.txt
r3382390 r3382646 104 104 105 105 == Changelog == 106 107 108 109 = 3.7.1-beta.3 (2025-10-22) = 110 111 __Added__ 112 113 * Snippets REST API now supports pagination via page and per_page query parameters. 106 114 107 115 -
code-snippets/trunk/vendor/composer/installed.php
r3382390 r3382646 2 2 'root' => array( 3 3 'name' => 'codesnippetspro/code-snippets', 4 'pretty_version' => 'v3.7.1-beta. 2',5 'version' => '3.7.1.0-beta 2',6 'reference' => ' 30b6276bdba9172a5f7f705991ff99ebd091fa5a',4 'pretty_version' => 'v3.7.1-beta.3', 5 'version' => '3.7.1.0-beta3', 6 'reference' => '66cc3f9e3755fe3736cd93d2609e04bb8e156876', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'codesnippetspro/code-snippets' => array( 14 'pretty_version' => 'v3.7.1-beta. 2',15 'version' => '3.7.1.0-beta 2',16 'reference' => ' 30b6276bdba9172a5f7f705991ff99ebd091fa5a',14 'pretty_version' => 'v3.7.1-beta.3', 15 'version' => '3.7.1.0-beta3', 16 'reference' => '66cc3f9e3755fe3736cd93d2609e04bb8e156876', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.