diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 8dc4cb18..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,89 +0,0 @@ -const length = 140 - -module.exports = { - parser: '@typescript-eslint/parser', - plugins: [ - '@typescript-eslint', - 'import', - 'react' - ], - parserOptions: { - ecmaVersion: 9, - sourceType: 'module', - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'] - }, - env: { - es6: true, - node: true, - browser: true - }, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:import/recommended', - 'plugin:import/typescript', - 'plugin:react/recommended', - 'plugin:react-hooks/recommended' - ], - settings: { - 'import/core-modules': ['tinymce'], - 'react': { version: '17.0.2' } - }, - rules: { - '@typescript-eslint/prefer-ts-expect-error': 'error', - '@typescript-eslint/no-unused-vars': ['warn', { - ignoreRestSiblings: true, - varsIgnorePattern: '^_', - argsIgnorePattern: '^_' - }], - 'quotes': ['error', 'single', { avoidEscape: true }], - 'linebreak-style': ['error', 'unix'], - 'eqeqeq': ['error', 'always'], - 'indent': ['error', 'tab', { SwitchCase: 1 }], - 'max-len': ['warn', length, { ignorePattern: 'd="([\\s\\S]*?)"' }], - 'array-bracket-newline': ['error', 'consistent'], - 'function-call-argument-newline': ['error', 'consistent'], - 'comma-dangle': ['error', 'only-multiline'], - 'no-tabs': ['error', { allowIndentationTabs: true }], - 'one-var': ['error', 'never'], - 'arrow-parens': ['error', 'as-needed'], - 'quote-props': ['error', 'consistent-as-needed'], - 'yoda': ['error', 'always'], - 'dot-notation': 'error', - 'operator-linebreak': ['error', 'after'], - 'no-extra-parens': ['warn', 'all'], - 'object-property-newline': ['error', { allowAllPropertiesOnSameLine: true }], - 'prefer-template': 'error', - 'no-magic-numbers': ['error', { ignore: [-1, 0, 1] }], - 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }], - 'dot-location': ['error', 'property'], - 'capitalized-comments': ['warn', 'always', { - ignorePattern: 'translators:', - ignoreInlineComments: true, - ignoreConsecutiveComments: true - }], - 'no-invalid-this': 'error', - 'max-lines-per-function': ['warn', { skipBlankLines: true, skipComments: true }], - 'prefer-named-capture-group': 'error', - 'func-style': ['error', 'expression'], - 'no-mixed-spaces-and-tabs': ['error', 'smart-tabs'], - 'semi': ['error', 'never'], - - 'no-ternary': 'off', - 'multiline-ternary': 'off', - 'padded-blocks': 'off', - 'implicit-arrow-linebreak': 'off', - - // Potentially revisit these later - 'curly': ['error', 'multi-line'], - 'no-alert': 'off', - 'camelcase': 'off', - 'sort-keys': 'off', - 'max-params': 'off', - 'sort-imports': 'off', - 'require-unicode-regexp': 'off', - 'array-element-newline': 'off', - 'space-before-function-paren': 'off' - } -} diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 14ce1184..1341bbea 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -1,114 +1,65 @@ -name: "π Bug Report" -description: "Did you find a bug in Code Snippets and can you reproduce it consistently? Please report it here." -labels: ["bug"] +name: Bug report +description: Create a report to help us improve +labels: [ 'bug' ] body: - - type: markdown + - type: textarea attributes: - value: | - ## β οΈ BEFORE POSTING YOUR ISSUE - ### π Please create GitHub issues only for Code Snippets Bug Reports. - #### β GitHub issues should NOT BE USED FOR SUPPORT β. - β If you have questions, need guidance, help, or general support, please use one of the following channels: - - π [Code Snippets Community](https://www.facebook.com/groups/codesnippetsplugin) The main Facebook group where all kinds of users come together to help each other. - - π [Documentation](https://help.codesnippets.pro/) Learn everything about our Developer-API. - - π‘ [Feature Requests](https://roadmap.codesnippets.pro/ideas) Let us know how we can make dev-life easier for you ; ) - - πΊοΈ [Roadmap](https://roadmap.codesnippets.pro/roadmap) See what we're up to. - - β [Reviews](https://wordpress.org/plugins/code-snippets/#reviews) Please leave a review, they really make a difference for us! - - π [Changelog](https://wordpress.org/plugins/code-snippets/#developers) Check the latest features we released. - - π¬ [Free Support Forum](https://wordpress.org/support/plugin/code-snippets/) Get help on WordPress.org. - - π If you have an active [Code Snippets Pro](https://codesnippets.pro/) license you are entitled to personal support, please see your purchase email or visit your [Code Snippets Account page](https://codesnippets.pro/account/) for details. - - ### π Follow these best practices to help save you time - - π **Search Before Posting:** Before creating a new Bug Report, please search for similar issues to prevent creating duplicates. - - π **Stay Up-to-date:** Make sure you are using the most recent and stable versions of [Code Snippets](https://wordpress.org/plugins/code-snippets/#developers), [Code Snippets Pro](https://codesnippets.pro/), [WordPress](https://wordpress.org/download/releases/), and your theme. - - π¬ **Isolate the problem:** Deactivate all of your plugins (except Code Snippets Free/Pro), and temporarily change your WordPress theme to [Hello theme](https://wordpress.org/themes/hello-elementor/). If this solves the problem, gradually activate your plugins and theme one by one, until you spot the conflicting plugin or theme. - - π΅οΈ **Validate Your Issue:** If the issue can't be recreated consistently or reproduced on other sites, it's likely not a bug in Code Snippets. In that case, use one of the support links above. - - π§© **Contact 3rd-party Support:** If the issue happens with a Code Snippets add-on, extension, compatible plugin, or integrated theme, contact their support first. We do not provide support for 3rd-party software. - - 1οΈβ£ **One Issue Per Thread:** If you are experiencing more than one bug, submit only **ONE ISSUE PER THREAD**, so we can properly track them and reference them without any confusion. + label: Current behavior + description: A concise description of what you're experiencing. + validations: + required: true - ## THE ISSUE - - type: checkboxes - id: prerequisites - attributes: - label: "Prerequisites" - options: - - label: "I have searched for similar issues in both open and closed tickets and cannot find a duplicate." - required: true - - label: "The issue still exists against the latest stable version of Code Snippets." - required: true - - type: dropdown - id: bug_type + - type: textarea attributes: - label: "Type of Bug" - description: "What type of bug are you reporting? Please select at least one option that is affected by the issue you're reporting (acceppts multiple options)." - multiple: true - options: - - "Snippet type PHP" - - "Snippet type HTML" - - "Snippet type CSS" - - "Snippet type JS" - - "A Code Snippet" - - "Design/Styles" - - "Dependencies" - - "Code Editor" - - "Export/Import" - - "Internationalization" - - "Maintenance Mode" - - "Notes" - - "Performance" - - "Plugin Settings" - - "Privacy" - - "Product/Core" - - "Product/Pro" - - "Product/Cloud" - - "RTL" - - "Semantics" - - "SEO" - - "UI/UX" - - "Widget" - - "Workflow" - - "I'm Not Sure" - - "Unspecified" + label: Expected behavior + description: A concise description of what you expected to happen. validations: required: true + - type: textarea - id: description + id: to_reproduce + attributes: + label: Steps to reproduce + description: Outline the steps to reproduce the behavior. + placeholder: > + 1. Go to '...' + 2. Click on '....' + 3. Scroll down to '....' + 4. See error validations: - required: true + required: false + + - type: input attributes: - label: "Description" - description: "Describe the problem. What caused the issue? What did you expect to happen and what actually happened? Please be as descriptive as possible. Attach screenshots, screen recordings, and related links." - - type: textarea - id: steps_to_reproduce + label: WordPress version + description: What version of WordPress was this tested on? validations: required: true + + - type: input attributes: - label: "Steps to reproduce" - description: "List all the steps needed to reproduce the issue in detail, so we can replicate it ourselves on our own installation. Be thorough, we won't be able to reproduce it if you don't explain how." - placeholder: "1) ... 2) ... 3) ..." - - type: checkboxes - id: isolating_the_problem + label: Code Snippets version + description: What version of Code Snippets was this tested on? + validations: + required: true + + - type: dropdown attributes: - label: "Isolating the problem" + label: Code Snippets license + description: Was this tested on the core free plugin, or with Code Snippets Pro? + multiple: true options: - - label: "This bug happens with only the Code Snippets plugin active (Free or Pro)." - - label: "This bug happens with a Blank WordPress theme active. For example: ([Hello theme](https://wordpress.org/themes/hello-elementor/))." - - label: "I can reproduce this bug consistently following the steps above." - - type: textarea - id: system_info + - Core (free) + - Pro validations: required: true + + - type: textarea attributes: - label: "Comment" - description: "Please add anything else you may deem useful for us to help you." - render: markdown - - type: markdown - attributes: - value: | + label: Anything else? + description: | + Links? References? Anything that will give us more context about the issue you are encountering! - --- - β οΈ Please follow all the instructions indicated above, and fill all the required fields with valid information. We reserve the right to close issues that do not comply with these guidelines without any warning. - - - + Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index e4243232..ff7bf39b 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,15 +1,12 @@ blank_issues_enabled: true contact_links: - - name: π Feature Request - url: https://roadmap.codesnippets.pro/ideas - about: Suggest new ideas, features, or enhancements - name: β Support Question url: https://help.codesnippets.pro/ about: For Code Snippets users who need assistant and have general usage questions. - - name: π Premium Support - For customer only + - name: π Premium Support - For customers only url: https://help.codesnippets.pro/ about: If you have an active license you are entitled to premium support. - - name: π¨οΈ Code Snippets Global Community + - name: π¨οΈ Code Snippets Facebook Community url: https://www.facebook.com/groups/codesnippetsplugin about: The main Facebook group where all kinds of users come together to help each other. - name: π Code Snippets Documentation diff --git a/.github/ISSUE_TEMPLATE/delete_me b/.github/ISSUE_TEMPLATE/delete_me deleted file mode 100644 index fdaf01da..00000000 --- a/.github/ISSUE_TEMPLATE/delete_me +++ /dev/null @@ -1,38 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug (only bugs please, this is not support!)** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml new file mode 100644 index 00000000..82483de6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -0,0 +1,32 @@ +name: Feature request +description: Suggest an idea for this project +labels: [ 'enhancement', 'suggestion' ] +body: + - type: textarea + attributes: + label: Is your feature request related to a problem? Please describe + description: A clear and concise description of what the problem is. + placeholder: e.g. I'm always frustrated whenβ¦ + validations: + required: false + + - type: textarea + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: true + + - type: textarea + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + validations: + required: false + + - type: textarea + attributes: + label: Additional context + description: Add any other context or screenshots about the feature request here. + validations: + required: false diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..eb930d58 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,47 @@ +name: "(Build): Plugin" + +on: + workflow_call: + inputs: + ref: + required: false + type: string + default: ${{ inputs.ref }} + outputs: + artifact_name: + value: ${{ jobs.build.outputs.artifact_name }} + artifact_url: + value: ${{ jobs.build.outputs.artifact_url }} +jobs: + build: + runs-on: ubuntu-latest + outputs: + artifact_name: ${{ steps.build.outputs.name }} + artifact_url: ${{ steps.artifacts.outputs.artifact-url }} + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ inputs.ref }} + + - name: Set up PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '8.1' + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version-file: .node-version + + - name: Install & Build + id: build + run: | + npm install && npm run bundle + echo "name=$(jq -r .name package.json)" >> $GITHUB_OUTPUT + + - name: Upload + id: artifacts + uses: actions/upload-artifact@v4 + with: + name: ${{ steps.build.outputs.name }} + path: ./bundle diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml new file mode 100644 index 00000000..154d07f4 --- /dev/null +++ b/.github/workflows/pull-request.yml @@ -0,0 +1,40 @@ +name: "(Pull Request): Build" + +on: + pull_request: + types: [labeled] + +jobs: + comment: + if: contains(github.event.pull_request.labels.*.name, 'build') + runs-on: ubuntu-latest + outputs: + comment_id: ${{ steps.comment.outputs.comment-id }} + steps: + - name: Comment + id: comment + uses: peter-evans/create-or-update-comment@v4 + with: + issue-number: ${{ github.event.pull_request.number }} + body: | + π Build started.. a link to the built zip file will appear here soon.. + + install: + needs: comment + uses: ./.github/workflows/build.yml + with: + ref: ${{ github.head_ref }} + + publish: + needs: ['comment', 'install'] + runs-on: ubuntu-latest + steps: + - name: Publish comment + if: ${{ needs.install.outputs.artifact_name || needs.install.outputs.artifact_url }} + uses: peter-evans/create-or-update-comment@v4 + with: + edit-mode: replace + comment-id: ${{ needs.comment.outputs.comment_id }} + body: | + ### Download and install + π¦ [${{ needs.install.outputs.artifact_name }}.zip](${{ needs.install.outputs.artifact_url }}) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..f10c23f0 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,51 @@ +name: "(Release): Build" + +on: + release: + types: [created] + +jobs: + install: + uses: ./.github/workflows/build.yml + with: + ref: ${{ github.event.release.tag_name }} + + upload: + needs: install + runs-on: ubuntu-latest + steps: + - name: Get artifact url + id: artifact + run: | + url="${{ needs.install.outputs.artifact_url }}" + id="${url##*/}" + echo "id=$id" >> $GITHUB_OUTPUT + + - name: Download built zip + id: download + uses: actions/download-artifact@v4 + with: + artifact-ids: ${{ steps.artifact.outputs.id }} + path: ./dist + + - name: Get artifact url + id: zip + run: | + zip_name="${{ needs.install.outputs.artifact_name }}.zip" + + cd ./dist/${{ needs.install.outputs.artifact_name }} + zip -r "../$zip_name" . + cd .. + + echo "path=$(pwd)/$zip_name" >> $GITHUB_OUTPUT + + - name: Upload release asset + uses: softprops/action-gh-release@v2 + with: + files: ${{ steps.zip.outputs.path }} + + # deploy: + # needs: upload + # uses: ./.github/workflows/svn_push.yml + # with: + # ref: ${{ github.event.release.tag_name }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8ec98f56..e42ed840 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,10 @@ # Composer -/vendor/ +/src/vendor/ # generated files /code-snippets.*.zip /code-snippets-pro.*.zip -/dist/ +/src/dist/ /bundle/ # Node diff --git a/.node-version b/.node-version new file mode 100644 index 00000000..80a9956e --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +v20.16.0 diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 521a9f7c..00000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -legacy-peer-deps=true diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index e44a38e0..00000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v18.12.1 diff --git a/.travis.yml b/.travis.yml index 8583c0d6..58f3c835 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,7 +31,6 @@ env: before_install: - nvm install node - composer self-update - - npm install -g gulp # Prepare your build for testing. # Failures in this section will result in build status 'errored'. @@ -54,7 +53,7 @@ script: # Search for PHP syntax errors. - find . -maxdepth 1 \( -name '*.php' \) -exec php -lf {} \; - - find php/ \( -name '*.php' \) -exec php -lf {} \; + - find src/php/ \( -name '*.php' \) -exec php -lf {} \; # Run tests - npm run test diff --git a/CHANGELOG.md b/CHANGELOG.md index 086054d3..8895d528 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,567 +1,932 @@ # Changelog -## 3.6.4 (beta release) -* Fixed: Minor type compatability issue with newer versions of PHP. -* Improvement: Increment the revision number of CSS and JS snippet when using the 'Reset Caches' debug action. (PRO) -* Fixed: Undefined array key issue when initiating cloud sync. (PRO) -* Fixed: Bug preventing downloading a single snippet from a bundle. (PRO) -* Added: AI generation for all snippet types: HTML, CSS, JS. (PRO) -* Fixed: Translations not loading for strings in JavaScript files. -* Improved: UX in generate dialog, such as allowing 'Enter' to submit the form. (PRO) -* Added: Button to create a cloud connection directly from the Snippets menu when disconnected. (PRO) - -## 3.6.3 (13 Nov 2023) -* Fixed: Import error when initialising cloud sync configuration. (PRO) -* Improved: Added debug action for resetting snippets caches. - -## 3.6.2 (11 Nov 2023) -* Fixed: Error when attempting to save shared network snippets marked as active. -* Fixed: Type error when rendering checkbox fields without a stored or default value. -* Fixed: Removed automatic encoding of code content. -* Fixed: Label for snippet sharing input incorrectly linked to input field. -* Fixed: Error when attempting to download export files from Edit menu. -* Fixed: Issue loading Freemius string overrides too early. (PRO) -* Fixed: Fix redirect URL when connecting with OAuth on subdirectory or HTTPS sites. (PRO) -* Fixed: Import error when attempting to completely uninstall the plugin. - -## 3.6.1 (07 Nov 2023) -* Fixed: Issue accessing fields on Snippets class. - -## 3.6.0 (07 Nov 2023) +## [3.6.8] (2025-02-14) + +### Added +* `code_snippets/hide_welcome_banner` filter hook for hiding welcome banner in dashboard. + +### Changed +* Updated Freemius SDK to the latest version. (PRO) + +### Removed +* Functionality allowing `[code_snippet]` shortcodes to be embedded recursively β it will be re-added in a future version. + +### Fixed +* Shortcodes embedded within `[code_snippet]` shortcodes not evaluating correctly. +* Translation functions being called too early in some instances when loading plugin settings. +* 'Generate' button not appearing on some sites. (PRO) +* Incorrect arrow entity used in cloud list table (props to [brandonjp]). +* Removed reference to missing plugins.css file in core plugin version. + +## [3.6.7] (2025-01-24) + +### Added +* Generated snippet shortcode tags will include the snippet name, for easier identification. +* Admin notices will dismiss automatically after five seconds. ([#208](https://github.com/codesnippetspro/code-snippets/issues/208)) + +### Changed +* Updated CSS to use latest Sass features. +* Moved theme selector to just above editor preview on settings page (thanks to [brandonjp]). ([#206](https://github.com/codesnippetspro/code-snippets/issues/206)) +* `[code_snippet]` shortcodes can now be nested within each other. ([#198](https://github.com/codesnippetspro/code-snippets/issues/198)) + +### Fixed +* Save buttons above editor did not follow usual validation process in Pro. (PRO) ([#197](https://github.com/codesnippetspro/code-snippets/issues/197)) +* Minor inconsistencies in consistent UI elements between Core and Pro. +* Tags input not allowing input. ([#211](https://github.com/codesnippetspro/code-snippets/issues/211)) +* Issue with Elementor source code widget. (PRO) ([#205](https://github.com/codesnippetspro/code-snippets/issues/205)) +* Snippet descriptions not visible when viewing cloud search results. +* Snippet import page not displaying number of successfully imported snippets. +* Use UTC time when deciding when to display campaign notices. + +## [3.6.6.1] (2024-11-27) + +### Fixed +* Redeployment of [v3.6.6](#366-2024-11-27) to overcome issue with initial build. +* Type issue when caching cloud links. (PRO) + +## [3.6.6] (2024-11-27) + +### Changed +* Improved compatability with modern versions of PHP. +* Extended welcome API to include admin notices. +* Action hook `code_snippets/update_snippet` now only includes the snippet ID instead of the full snippet object. +* Action hook `code_snippets/admin/manage` now includes the currently viewed type. + +### Fixed +* Memory issue from checking aggregate posts while loading front-end syntax highlighter. +* Translation functions being called too early on upgrade, resulting in localisation loading errors. +* Bug preventing the 'share on network' status of network snippets from correctly updating. +* Incorrect logic controlling when to display 'Save Changes' or 'Save Changes and Activate' buttons. +* Old notices persisting when switching between editing and creating snippets. + +## 3.6.5.1 (2024-05-24) + +* Redeployment of [v3.6.5](#365-2024-05-24) to overcome issue with initial build. + +## [3.6.5] (2024-05-24) + +### Added +* New admin menu providing useful resources and updates on the Code Snippets plugin and community. + +## [3.6.4] (2024-03-15) + +### Added +* AI generation for all snippet types: HTML, CSS, JS. (PRO) +* Button to create a cloud connection directly from the Snippets menu when disconnected. (PRO) + +### Changed +* Increment the revision number of CSS and JS snippet when using the 'Reset Caches' debug action. (PRO) +* UX in generate dialog, such as allowing 'Enter' to submit the form. (PRO) + +### Fixed +* Minor type compatability issue with newer versions of PHP. +* Undefined array key issue when initiating cloud sync. (PRO) +* Bug preventing downloading a single snippet from a bundle. (PRO) +* Translations not loading for strings in JavaScript files. + +## [3.6.3] (2023-11-13) + +### Added +* Added debug action for resetting snippets caches. + +### Fixed +* Import error when initialising cloud sync configuration. (PRO) + +## [3.6.2] (2023-11-11) + +### Removed +* Removed automatic encoding of code content. + +### Fixed +* Error when attempting to save shared network snippets marked as active. +* Type error when rendering checkbox fields without a stored or default value. +* Label for snippet sharing input incorrectly linked to input field. +* Error when attempting to download export files from Edit menu. +* Issue loading Freemius string overrides too early. (PRO) +* Fix redirect URL when connecting with OAuth on subdirectory or HTTPS sites. (PRO) +* Import error when attempting to completely uninstall the plugin. + +## [3.6.1] (2023-11-07) + +### Fixed +* Issue accessing fields on Snippets class. + +## [3.6.0] (2023-11-07) + +### Added +* Ability to authenticate with Code Snippets Cloud using OAuth. (PRO) +* Integration with GPT AI for generating snippets. (PRO) +* Ability to generate line-by-line descriptions of snippet code with GPT AI. (PRO) +* Ability to generate tags and description text from existing snippet code with GPT AI. (PRO) +* Added debug settings menu for manually performing problem-solving actions. +* Filter to disable scroll-into-view functionality for edit page notices. + +### Changed * Updated minimum PHP requirement to 7.4. +* Ensure that the URL of the edit snippet page changes when adding a new snippet. +* Snippet tags will automatically be added when focus is lost on the tags field. + +### Fixed +* Moved active status border on edit name field to left-hand side. +* New notices will not scroll if already at top of page. +* Potential CSRF vulnerability allowing an authenticated user to reset settings. + +## [3.5.1] (2023-09-15) + +### Fixed +* Undefined array key error when accessing plugin settings page. (PRO) +* Issue registering API endpoints affecting edit post screen. (PRO) +* Snippet ID instead of snippet object being passed to `code_snippets/update_snippet` action hook. + +## [3.5.0] (2023-09-13) + +### Added +* Support for the Code Snippets Cloud API. +* Search and download public snippets. +* Codevault back-up and synchronisation. (PRO) +* Synchronised local snippets are automatically updated in Cloud. (PRO) +* Bulk actions - 'update' and 'download'. +* Download snippets from public and private codevaults. (PRO) +* Search and download any publicly viewable snippet in Code Snippet Cloud by keyword or name of codevault. (PRO) +* Deploy snippets to plugin from Code Snippets Cloud app. (PRO) +* Bundles of Joy! Search and download Snippet Bundles in one go direct from Code Snippets Cloud. (PRO) + +### Changed +* Redirect to snippets table when deleting snippet from the edit menu. +* Scroll new notices into view on edit menu. -* Added: Ability to authenticate with Code Snippets Cloud using OAuth. (PRO) -* Added: Integration with GPT AI for generating snippets. (PRO) -* Added: Ability to generate line-by-line descriptions of snippet code with GPT AI. (PRO) -* Added: Ability to generate tags and description text from existing snippet code with GPT AI. (PRO) - -* Improved: Ensure that the URL of the edit snippet page changes when adding a new snippet. -* Improved: Snippet tags will automatically be added when focus is lost on the tags field. -* Improved: Added debug settings menu for manually performing problem-solving actions. -* Fixed: Moved active status border on edit name field to left-hand side. -* Added: Filter to disable scroll-into-view functionality for edit page notices. -* Fixed: New notices will not scroll if already at top of page. -* Fixed: Potential CSRF vulnerability allowing an authenticated user to reset settings. - -## 3.5.1 (15 Sep 2023) -* Fixed: Undefined array key error when accessing plugin settings page. (PRO) -* Fixed: Issue registering API endpoints affecting edit post screen. (PRO) -* Fixed: Snippet ID instead of snippet object being passed to `code_snippets/update_snippet` action hook. - -## 3.5.0 (13 Sep 2023) -* Added: Support for the Code Snippets Cloud API. -* Added: Search and download public snippets. -* Added: Codevault back-up and synchronisation. (PRO) -* Added: Synchronised local snippets are automatically updated in Cloud. (PRO) -* Added: Bulk actions - 'update' and 'download'. -* Added: Download snippets from public and private codevaults. (PRO) -* Added: Search and download any publicly viewable snippet in Code Snippet Cloud by keyword or name of codevault. (PRO) -* Added: Deploy snippets to plugin from Code Snippets Cloud app. (PRO) -* Added: Bundles of Joy! Search and download Snippet Bundles in one go direct from Code Snippets Cloud. (PRO) -* Fixed: Error when attempting to update network shared snippets after saving. [[#](https://wordpress.org/support/topic/activating-snippets-breaks-on-wordpress-6-3/)] -* Improved: Redirect to snippets table when deleting snippet from the edit menu. -* Improved: Scroll new notices into view on edit menu. - -## 3.4.2 (05 Jul 2023) -* Fixed: Issue causing export process to fail with fatal error. [[#](https://wordpress.org/support/topic/critical-error-on-exporting-snippets/)] -* Fixed: Type issue on `the_posts` filter when no posts available. [[#](https://wordpress.org/support/topic/collision-with-plugin-xml-sitemap-google-news/)] - -## 3.4.1 (29 Jun 2023) -* Fixed: Undefined array key error. [[#](https://wordpress.org/support/topic/after-updating-occasionally-getting-undefined-array-key-query/)] -* Fixed: Potential type issue when loading Prism. [[#](https://wordpress.org/support/topic/code-snippets-fatal-error-breaking-xml-sitemaps/)] -* Improved: Added better debugging when calling REST API methods from the edit menu. -* Improved: Escape special characters when sending snippet code through AJAX to avoid false-positives from security modules. [[#](https://wordpress.org/support/topic/latest-3-4-0-ajax-bug-cannot-save-snippets-403-error/)] -* Improved: Only display the latest update or error notice on the edit page, instead of allowing them to stack. -* Fixed: Potential type issue when sorting snippets. [[#](https://github.com/codesnippetspro/code-snippets/issues/166)] -* Fixed: Issue preventing asset revision numbers from updating correctly. (PRO) [[#](https://github.com/codesnippetspro/code-snippets/issues/166)] - -## 3.4.0 (17 May 2023) -* Added: Proper WordPress REST API support for retrieving and modifying snippets. -* Improved: Better compatibility with modern versions of PHP (7.0+). -* Improved: Converted Edit/Add New Snippet page to use React. +### Fixed +* Error when attempting to update network shared snippets after saving. [[#](https://wordpress.org/support/topic/activating-snippets-breaks-on-wordpress-6-3/)] + +## [3.4.2] (2023-07-05) + +### Fixed +* Issue causing export process to fail with fatal error. [[#](https://wordpress.org/support/topic/critical-error-on-exporting-snippets/)] +* Type issue on `the_posts` filter when no posts available. [[#](https://wordpress.org/support/topic/collision-with-plugin-xml-sitemap-google-news/)] + +## [3.4.1] (2023-06-29) + +### Added +* Added better debugging when calling REST API methods from the edit menu. + +### Changed +* Escape special characters when sending snippet code through AJAX to avoid false-positives from security modules. [[#](https://wordpress.org/support/topic/latest-3-4-0-ajax-bug-cannot-save-snippets-403-error/)] +* Only display the latest update or error notice on the edit page, instead of allowing them to stack. + +### Fixed +* Undefined array key error. [[#](https://wordpress.org/support/topic/after-updating-occasionally-getting-undefined-array-key-query/)] +* Potential type issue when loading Prism. [[#](https://wordpress.org/support/topic/code-snippets-fatal-error-breaking-xml-sitemaps/)] +* Potential type issue when sorting snippets. [[#](https://github.com/codesnippetspro/code-snippets/issues/166)] +* Issue preventing asset revision numbers from updating correctly. (PRO) [[#](https://github.com/codesnippetspro/code-snippets/issues/166)] + +## [3.4.0] (2023-05-17) + +### Added +* Proper WordPress REST API support for retrieving and modifying snippets. +* Added help links to content snippet options. + +### Changed +* Better compatibility with modern versions of PHP (7.0+). +* Converted Edit/Add New Snippet page to use React. * Converted action buttons to asynchronously use REST API endpoints through AJAX. * Load page components dynamically through React. * Added action notice queue system. * Replaced native alert dialog with proper React modal. -* Improved: Catch snippet execution errors to prevent site from crashing. -* Improved: Display recent snippet errors in admin dashboard instead. -* Improved: Updated editor block to use new REST API endpoints. (PRO) -* Improved: Change colour of upgrade notice in Pro plugin. (PRO) -* Improved: All available snippet data is included in export files. -* Improved: Only import specific fields from export file, even if additional fields specified. -* Fixed: Issue preventing editor colorpicker from loading correctly. (PRO) -* Improved: Added help links to content snippet options. -* Improved: Pass additional attributes specified in `[code_snippet]` content shortcode to shortcode content. -* Improved: Make shortcode attributes available as individual variables. -* Improved: Allow boolean attributes to be passed to code snippets shortcodes without specifying a value. -* Improved: Replace external links to Pro pricing page with an upgrade modal. -* Fixed: Issue preventing linting libraries from loading correctly in the code editor. - -## 3.3.0 (09 Mar 2023) -* Fixed: Do not enqueue CSS or JS snippet file if no snippets exist. (PRO) -* Improved: Added additional editor shortcuts to list in tooltip. -* Added: Filter for changing Snippets admin menu position. [See this help article for more information.](https://help.codesnippets.pro/article/61-how-can-i-change-the-location-of-the-snippets-admin-menu) -* Added: Ability to filter shortcode output. Thanks to contributions from [Jack Szwergold](https://github.com/JackSzwergold). -* Fixed: Bug causing all snippets to show in site health information instead of those active. -* Fixed: Unnecessary sanitization of file upload data causing import process to fail on Windows systems. - -## 3.2.2 (17 Nov 2022) -* Fixed: Plugin lacking a valid header error on activation. - -## 3.2.1 (05 Oct 2022) -* Fixed: Issue making survey reminder notice not dismissible. -* Added: `Ctrl`+`/` or `Cmd`+`/` as shortcut for commenting out code in the snippet editor. -* Added: Additional hooks to various snippet actions, thanks to contributions made by [ancient-spirit](https://github.com/ancient-spirit). -* Added: Fold markers, additional keyboard shortcuts and keymap options to snippet editor, -thanks to contributions made by [Amaral Krichman](https://github.com/karmaral). -* Improved: Removed duplicate tables exist query. ([#](https://wordpress.org/support/topic/duplicate-queries-21)). -* Improved: Enabled 'add paragraphs and formatting' option by default for newly inserted content snippets. -* Added: WP-CLI commands for retrieving, activating, deactivating, deleting, creating, updating, exporting and importing snippets. -* Fixed: Path to iron visible when updating the pro plugin. - -## 3.2.0 (22 Jul 2022) -* Fixed: Remove default value from SQL columns to improve compatibility with certain versions of MySQL. -* Fixed: Delay loading snippets in Gutenberg editor blocks. (PRO) -* Added: Option to show and hide line numbers in Gutenberg source code editor block. (PRO) -* Added: Support for highlighting HTML, CSS, JS and embedded code in the front-end PrismJS code highlighter. -* Added: Additional features to front-end PrismJS code highlighter, including automatic links and a copy button. -* Added: Support for multiple code styles in the source code Gutenberg editor block. (PRO) -* Added: Admin notice announcing release of Code Snippets Pro. -* Fixed: Inconsistencies with translations between different plugin versions. -* Fixed: Issue with Content Snippet shortcode information not displaying. -* Added: Button for copying shortcode text to clipboard. -* Improved: Include Code Snippets CSS and JS source code in distributed package. -* Improved: Don't delete data from plugin if deleting Code Snippets Free while Code Snippets Pro is active. -* Improved: Streamlined user interface and experience in Gutenberg editor blocks. (PRO) -* Added: Option to choose from 44 different themes for the Prism code highlighter in the source editor block and Elementor widget. (PRO) -* Improved: Compatibility of Elementor widgets with the latest version of Elementor. (PRO) -* Improved: Replace icon font menu icon with embedded SVG icon. - -## 3.1.2 (03 Jul 2022) +* Catch snippet execution errors to prevent site from crashing. +* Display recent snippet errors in admin dashboard instead. +* Updated editor block to use new REST API endpoints. (PRO) +* Change colour of upgrade notice in Pro plugin. (PRO) +* All available snippet data is included in export files. +* Only import specific fields from export file, even if additional fields specified. +* Pass additional attributes specified in `[code_snippet]` content shortcode to shortcode content. +* Make shortcode attributes available as individual variables. +* Allow boolean attributes to be passed to code snippets shortcodes without specifying a value. +* Replace external links to Pro pricing page with an upgrade modal. + +### Fixed +* Issue preventing editor colorpicker from loading correctly. (PRO) +* Issue preventing linting libraries from loading correctly in the code editor. + +## [3.3.0] (2023-03-09) + +### Added +* Added additional editor shortcuts to list in tooltip. +* Filter for changing Snippets admin menu position. [See this help article for more information.](https://help.codesnippets.pro/article/61-how-can-i-change-the-location-of-the-snippets-admin-menu) +* Ability to filter shortcode output. Thanks to contributions from [Jack Szwergold](https://github.com/JackSzwergold). + +### Fixed +* Do not enqueue CSS or JS snippet file if no snippets exist. (PRO) +* Bug causing all snippets to show in site health information instead of those active. +* Unnecessary sanitization of file upload data causing import process to fail on Windows systems. + +## [3.2.2] (2022-11-17) + +### Fixed +* Plugin lacking a valid header error on activation. + +## [3.2.1] (2022-10-05) + +### Added +* `Ctrl`+`/` or `Cmd`+`/` as shortcut for commenting out code in the snippet editor. +* Additional hooks to various snippet actions, thanks to contributions made by [ancient-spirit](https://github.com/ancient-spirit). +* Fold markers, additional keyboard shortcuts and keymap options to snippet editor, + thanks to contributions made by [Amaral Krichman](https://github.com/karmaral). +* WP-CLI commands for retrieving, activating, deactivating, deleting, creating, updating, exporting and importing snippets. + +### Changed +* Removed duplicate tables exist query. ([#](https://wordpress.org/support/topic/duplicate-queries-21)). +* Enabled 'add paragraphs and formatting' option by default for newly inserted content snippets. + +### Fixed +* Issue making survey reminder notice not dismissible. +* Path to iron visible when updating the pro plugin. + +## [3.2.0] (2022-07-22) + +### Added +* Option to show and hide line numbers in Gutenberg source code editor block. (PRO) +* Support for highlighting HTML, CSS, JS and embedded code in the front-end PrismJS code highlighter. +* Additional features to front-end PrismJS code highlighter, including automatic links and a copy button. +* Support for multiple code styles in the source code Gutenberg editor block. (PRO) +* Admin notice announcing release of Code Snippets Pro. +* Button for copying shortcode text to clipboard. +* Option to choose from 44 different themes for the Prism code highlighter in the source editor block and Elementor widget. (PRO) + +### Changed +* Include Code Snippets CSS and JS source code in distributed package. +* Don't delete data from plugin if deleting Code Snippets Free while Code Snippets Pro is active. +* Streamlined user interface and experience in Gutenberg editor blocks. (PRO) +* Compatibility of Elementor widgets with the latest version of Elementor. (PRO) +* Replace icon font menu icon with embedded SVG icon. + +### Removed +* Remove default value from SQL columns to improve compatibility with certain versions of MySQL. + +### Fixed +* Delay loading snippets in Gutenberg editor blocks. (PRO) +* Inconsistencies with translations between different plugin versions. +* Issue with Content Snippet shortcode information not displaying. + +## [3.1.2] (2022-07-03) + +### Changed * Updated external links and branding for Code Snippets Pro. -* Improved: Add link URLs to settings pages, as an alternative to in-page navigation. -* Fixed: Various fixes to block editor scripts. (PRO) -* Fixed: Improved visual style of Gutenberg editor blocks. (PRO) - -## 3.1.1 (13 Jun 2022) -* Fixed: Download snippets feature not including snippet content. -* Fixed: Alignment of 'opens externally' dashicon. -* Improved: Added additional parameters to `code_snippets/export/filename` filter. - -## 3.1.0 (17 May 2022) -* Fixed: Caching inconsistencies preventing snippets and settings from refreshing on sites with persistent object caching. -* Improved: Simplified database queries. -* Added: More comprehensive cache coverage, including for active snippets. -* Added: Icon to 'Go Pro' button indicating it opens an external tab. -* Improved: Allow display styles in snippet descriptions. - -## 3.0.1 (14 May 2022) -* Fixed: Incompatibility issue with earlier versions of PHP. - -## 3.0.0 (14 May 2022) - -### Added -* Added: HTML content snippets for displaying as shortcodes or including in the page head or footer area. -* Added: Notice reminding users to upgrade unsupported PHP versions. -* Added: Visual settings to add attributes to shortcodes. -* Added: Shortcode buttons to the post and page content editors. -* Added: Basic REST API endpoints. -* Added: Snippet type column to the snippets table. -* Added: Snippet type badges to Edit and Add New Snippet pages. -* Added: Setting to control whether the current line of the code editor is highlighted. -* Added: Display a warning when saving a snippet with missing title or code. -* Added: Add suffix to title of cloned snippets. - -### Changed -* Improved: Updated plugin code to use namespaces, preventing name collisions with other plugins. -* Improved: Added key for the 'active' and 'scope' database table columns to speed up queries. -* Improved: Redirect from edit menu if not editing a valid snippet. -* Improved: Moved activation switch into its own table column. -* Improved: Updated code documentation according to WordPress standards. -* Improved: Added snippet type labels to the tabs on the Snippets page. -* Improved: Split settings page into tabs. -* Improved: Use the version of CodeMirror included with WordPress where possible to inherit the additional built-in features. -* Improved: Added hover effect to priority settings in the snippets table to show that they are editable. -* Fixed: Snippets table layout on smaller screens. +* Add link URLs to settings pages, as an alternative to in-page navigation. +* Improved visual style of Gutenberg editor blocks. (PRO) + +### Fixed +* Various fixes to block editor scripts. (PRO) + +## [3.1.1] (2022-06-13) + +### Added +* Added additional parameters to `code_snippets/export/filename` filter. + +### Fixed +* Download snippets feature not including snippet content. +* Alignment of 'opens externally' dashicon. + +## [3.1.0] (2022-05-17) + +### Added +* More comprehensive cache coverage, including for active snippets. +* Icon to 'Go Pro' button indicating it opens an external tab. + +### Changed +* Simplified database queries. +* Allow display styles in snippet descriptions. + +### Fixed +* Caching inconsistencies preventing snippets and settings from refreshing on sites with persistent object caching. + +## [3.0.1] (2022-05-14) + +### Fixed +* Incompatibility issue with earlier versions of PHP. + +## [3.0.0] (2022-05-14) + +### Added +* HTML content snippets for displaying as shortcodes or including in the page head or footer area. +* Notice reminding users to upgrade unsupported PHP versions. +* Visual settings to add attributes to shortcodes. +* Shortcode buttons to the post and page content editors. +* Basic REST API endpoints. +* Snippet type column to the snippets table. +* Snippet type badges to Edit and Add New Snippet pages. +* Setting to control whether the current line of the code editor is highlighted. +* Display a warning when saving a snippet with missing title or code. +* Add suffix to title of cloned snippets. +* Added key for the 'active' and 'scope' database table columns to speed up queries. +* Added snippet type labels to the tabs on the Snippets page. +* Added hover effect to priority settings in the snippets table to show that they are editable. +* CSS style snippets for the site front-end and admin area. (PRO) +* JavaScript snippets for the site head and body area on the front-end. (PRO) +* Browser cache versioning for CSS and JavaScript snippets. (PRO) +* Support for exporting and downloading CSS and JavaScript snippets. (PRO) +* Support for highlighting code on the front-end. (PRO) +* Editor syntax highlighting for CSS, JavaScript and HTML snippets. (PRO) +* Button to preview full file when editing CSS or JavaScript snippets. (PRO) +* Option to minify CSS and JavaScript snippets. (PRO) +* Gutenberg editor block for displaying content snippets. (PRO) +* Gutenberg editor block for displaying snippet source code. (PRO) +* Elementor widget for displaying content snippets. (PRO) +* Elementor widget for displaying snippet source code. (PRO) + +### Changed +* Updated plugin code to use namespaces, preventing name collisions with other plugins. +* Redirect from edit menu if not editing a valid snippet. +* Moved activation switch into its own table column. +* Updated code documentation according to WordPress standards. +* Split settings page into tabs. +* Use the version of CodeMirror included with WordPress where possible to inherit the additional built-in features. ### Deprecated -* Removed: Deprecated functions and compatibility code for unsupported PHP versions. -* Removed: Option to disable snippet scopes. - -### New in Pro -* Added: CSS style snippets for the site front-end and admin area. -* Added: JavaScript snippets for the site head and body area on the front-end. -* Added: Browser cache versioning for CSS and JavaScript snippets. -* Added: Support for exporting and downloading CSS and JavaScript snippets. -* Added: Support for highlighting code on the front-end. -* Added: Editor syntax highlighting for CSS, JavaScript and HTML snippets. -* Added: Button to preview full file when editing CSS or JavaScript snippets. -* Added: Option to minify CSS and JavaScript snippets. -* Added: Gutenberg editor block for displaying content snippets. -* Added: Gutenberg editor block for displaying snippet source code. -* Added: Elementor widget for displaying content snippets. -* Added: Elementor widget for displaying snippet source code. - -## 2.14.6 (13 May 2022) -* Fixed: Issue with processing uploaded import files. -* Fixed: Issue with processing tag filters. - -## 2.14.5 (10 May 2022) -* Fixed: Incompatibility issue with older versions of PHP. - -## 2.14.4 (5 May 2022) -* Fixed: Prevent array key errors when loading the snippet table with unknown order values. - -## 2.14.3 (10 Dec 2021) -* Fixed: Potential security issue outputting snippets-safe-mode query variable value as-is. Thanks to Krzysztof ZajΔ c for reporting. - -## 2.14.2 (09 Sep 2021) -* Fixed: Prevent network snippets table from being created on single-site installs. +* Deprecated functions and compatibility code for unsupported PHP versions. + +### Removed +* Option to disable snippet scopes. + +### Fixed +* Snippets table layout on smaller screens. + +## [2.14.6] (2022-05-13) + +### Fixed +* Issue with processing uploaded import files. +* Issue with processing tag filters. + +## [2.14.5] (2022-05-10) + +### Fixed +* Incompatibility issue with older versions of PHP. + +## [2.14.4] (2022-05-05) + +### Fixed +* Prevent array key errors when loading the snippet table with unknown order values. + +## [2.14.3] (2021-12-10) + +### Fixed +* Potential security issue outputting snippets-safe-mode query variable value as-is. Thanks to Krzysztof ZajΔ c for reporting. + +## [2.14.2] (2021-09-09) + +### Added * Added translations: - - Spanish by [Ibidem Group](https://www.ibidemgroup.com) - - Urdu by [Samuel Badree](https://mobilemall.pk/) - - Greek by [Toni Bishop from Jrop](https://www.jrop.com/) -* Added: Support for `:class` syntax to the code validator. -* Added: PHP8 support to the code linter. -* Added: Color picker feature to the code editor. -* Added: Failsafe to prevent multiple versions of Code Snippets from running simultaneously. - -## 2.14.1 (10 Mar 2021) -* Added: Czech translation by [LukΓ‘Ε‘ TesaΕ](https://github.com/atomicf4ll). -* Fixed: Code validator now supports `function_exists` and `class_exists` checks. -* Fixed: Code validator now supports anonymous functions. -* Fixed: Issue with saving the hidden columns setting. -* Fixed: Replaced the outdated tag-it library with [tagger](https://github.com/jcubic/tagger) for powering the snippet tags editor. -* Added: Code direction setting for RTL users. + * Spanish by [Ibidem Group](https://www.ibidemgroup.com) + * Urdu by [Samuel Badree](https://mobilemall.pk/) + * Greek by [Toni Bishop from Jrop](https://www.jrop.com/) +* Support for `:class` syntax to the code validator. +* PHP8 support to the code linter. +* Color picker feature to the code editor. +* Failsafe to prevent multiple versions of Code Snippets from running simultaneously. + +### Fixed +* Prevent network snippets table from being created on single-site installs. + +## [2.14.1] (2021-03-10) + +### Added +* Czech translation by [LukΓ‘Ε‘ TesaΕ](https://github.com/atomicf4ll). +* Code direction setting for RTL users. +* Additional action hooks and search API thanks to [@Spreeuw](https://github.com/Spreeuw). + +### Changed * Updated CodeMirror to version 5.59.4. -* Added: Additional action hooks and search API thanks to [@Spreeuw](https://github.com/Spreeuw). -## 2.14.0 (26 Jan 2020) +### Fixed +* Code validator now supports `function_exists` and `class_exists` checks. +* Code validator now supports anonymous functions. +* Issue with saving the hidden columns setting. +* Replaced the outdated tag-it library with [tagger](https://github.com/jcubic/tagger) for powering the snippet tags editor. + +## [2.14.0] (2020-01-26) + +### Added +* Basic error checking for duplicate functions and classes. +* Additional API options for retrieving snippets. +* Store the time and date when each snippet was last modified. +* Basic error checking when activating snippets. + +### Changed * Updated CodeMirror to version 5.50.2. -* Added: Basic error checking for duplicate functions and classes. * Updated Italian translations to fix display issues β thanks to [Francesco Marino](https://360fun.net). -* Fixed: Ordering snippets in the table by name will now be case-insensitive. -* Added: Additional API options for retrieving snippets. -* Fixed: Code editor will now properly highlight embedded HTML, CSS and JavaScript code. * Changed the indicator color for inactive snippets from red to grey. + +### Fixed +* Ordering snippets in the table by name will now be case-insensitive. +* Code editor will now properly highlight embedded HTML, CSS and JavaScript code. * Fixed a bug preventing the editor theme from being set to default. -* Added: Store the time and date when each snippet was last modified. -* Added: Basic error checking when activating snippets. -* Fixed: Ensure that imported snippets are always inactive. -* Fixed: Check the referer on the import menu to prevent CSRF attacks. -Thanks to [Chloe with the Wordfence Threat Intelligence team](https://www.wordfence.com/blog/author/wfchloe/) for reporting. -* Fixed: Ensure that individual snippet action links use proper verification. - -## 2.13.3 (13 Mar 2019) -* Added: Hover effect to activation switches. -* Added: Additional save buttons above snippet editor. -* Added: List save keyboard shortcuts to the help tooltip. -* Added: Change "no items found" message when search filters match nothing. -* Fixed: Calling deprecated code in database upgrade process. -* Fixed: Include snippet priority in export files. -* Fixed: Use Unix newlines in code export file. +* Ensure that imported snippets are always inactive. +* Check the referer on the import menu to prevent CSRF attacks. + Thanks to [Chloe with the Wordfence Threat Intelligence team](https://www.wordfence.com/blog/author/wfchloe/) for reporting. +* Ensure that individual snippet action links use proper verification. + +## [2.13.3] (2019-03-13) + +### Added +* Hover effect to activation switches. +* Additional save buttons above snippet editor. +* List save keyboard shortcuts to the help tooltip. +* Change "no items found" message when search filters match nothing. + +### Changed * Updated CodeMirror to version 5.44.0. -* Fixed: Correctly register snippet tables with WordPress to prevent database repair errors. -[[#](https://wordpress.org/support/topic/database-corrupted-4/)] -* Fixed: CodeMirror indentation settings being applied incorrectly. -## 2.13.2 (25 Jan 2019) +### Fixed +* Calling deprecated code in database upgrade process. +* Include snippet priority in export files. +* Use Unix newlines in code export file. +* Correctly register snippet tables with WordPress to prevent database repair errors. + [[#](https://wordpress.org/support/topic/database-corrupted-4/)] +* CodeMirror indentation settings being applied incorrectly. + +## [2.13.2] (2019-01-25) + +### Removed * Removed potentially problematic cursor position saving feature. -## 2.13.1 (22 Jan 2019) -* Added: Add menu buttons to settings page for compact menu. -* Updated: French translation updated thanks to momo-fr. -* Fixed: Split code editor and tag editor scripts into their own files to prevent dependency errors. -* Fixed: Handling of single-use shared network snippets. -* Fixed: Minor translation template issues. -* Added: Help tooltop to snippet editor for keyboard shortcuts, thanks to Michael DeWitt. -* Improved: Added button for executing single-use snippets to snippets table. -* Added: Sample snippet for ordering snippets table by name by default. +## [2.13.1] (2019-01-22) + +### Added +* Add menu buttons to settings page for compact menu. +* Help tooltop to snippet editor for keyboard shortcuts, thanks to Michael DeWitt. +* Added button for executing single-use snippets to snippets table. +* Sample snippet for ordering snippets table by name by default. + +### Changed +* French translation updated thanks to momo-fr. * Updated CodeMirror to version 5.43.0. -## 2.13.0 (17 Dec 2018) -* Added: Search/replace functionality to the snippet editor. [See here for a list of keyboard shortcuts.](https://codemirror.net/demo/search.html) [[#](https://wordpress.org/support/topic/feature-request-codemirror-search-and-replace/)] +### Fixed +* Split code editor and tag editor scripts into their own files to prevent dependency errors. +* Handling of single-use shared network snippets. +* Minor translation template issues. + +## [2.13.0] (2018-12-17) + +### Added +* Search/replace functionality to the snippet editor. [See here for a list of keyboard shortcuts.](https://codemirror.net/demo/search.html) [[#](https://wordpress.org/support/topic/feature-request-codemirror-search-and-replace/)] +* Option to make admin menu more compact. +* Added additional styles to editor settings preview. +* PHP linter to code editor. + +### Changed * Updated CodeMirror to version 5.42.0. -* Added: Option to make admin menu more compact. -* Fixed: Problem clearing recently active snippet list. -* Improved: Integration between plugin and the CodeMirror library, to prevent collisions. -* Improved: Added additional styles to editor settings preview. -* Added: PHP linter to code editor. -* Improved: Use external scripts instead of inline scripts. -* Fixed: Missing functionality for 'Auto Close Brackets' and 'Highlight Selection Matches' settings. - -## 2.12.1 (15 Nov 2018) -* Improved: CodeMirror updated to version 5.41.0. -* Improved: Attempt to create database columns that might be missing after a table upgrade. -* Improved: Streamlined upgrade process. -* Fixed: Interface layout on sites using right-to-left languages. -* Improved: Made search box appear at top of page on mobile. [[#](https://wordpress.org/support/topic/small-modification-for-mobile-ux/)] +* Integration between plugin and the CodeMirror library, to prevent collisions. +* Use external scripts instead of inline scripts. + +### Fixed +* Problem clearing recently active snippet list. +* Missing functionality for 'Auto Close Brackets' and 'Highlight Selection Matches' settings. + +## [2.12.1] (2018-11-15) + +### Changed +* CodeMirror updated to version 5.41.0. +* Attempt to create database columns that might be missing after a table upgrade. +* Streamlined upgrade process. +* Made search box appear at top of page on mobile. [[#](https://wordpress.org/support/topic/small-modification-for-mobile-ux/)] * Updated screenshots. -## 2.12.0 (23 Sep 2018) +### Fixed +* Interface layout on sites using right-to-left languages. + +## [2.12.0] (2018-09-23) + +### Added +* Added Import button next to page title on manage page. +* Added coloured banner indicating whether a snippet is active when editing. + +### Changed +* Updated import page to improve usability. +* Updated CodeMirror to 5.40.0. + +### Removed * Removed option for including network-wide snippets in subsite lists on multisite. -* Fixed: Prevented hidden columns setting from reverting to default. -* Improved: Updated import page to improve usability. -* Improved: Added Import button next to page title on manage page. -* Improved: Added coloured banner indicating whether a snippet is active when editing. -* Update CodeMirror to 5.40.0. - -## 2.11.0 (24 Jul 2018) -* Added: Ability to assign a priority to snippets, to determine the order in which they are executed. -* Improvement: The editor cursor position will be preserved when saving a snippet. -* Added: Pressing Ctrl/Cmd + S while writing a snippet will save it. -* Added: Shadow opening PHP tag above the code editor. -* Improved: Updated the message shown when there are no snippets. -* Added: Install sample snippets when the plugin is installed. -* Improved: Show all available tags when selecting the tag field. -* Added: Filter hook for controlling the default list table view. -* Added: Action for cloning snippets. - -## 2.10.2 (21 Jul 2018) -* Added: Button to reset settings to their default values. -* Improved: Made uninstall cleanup optional through a plugin setting. -* Fixed: Applied formatting filters to snippet descriptions in the table. -* Improved: Ordered tags by name in the filter dropdown menu. -* Fixed: Incorrectly translated strings. -* Added: Belarusian translation by Hrank.com. -* Improved: Enabled sorting snippets table by tags. + +### Fixed +* Prevented hidden columns setting from reverting to default. + +## [2.11.0] (2018-07-24) + +### Added +* Ability to assign a priority to snippets, to determine the order in which they are executed. +* Pressing Ctrl/Cmd + S while writing a snippet will save it. +* Shadow opening PHP tag above the code editor. +* Install sample snippets when the plugin is installed. +* Filter hook for controlling the default list table view. +* Action for cloning snippets. + +### Changed +* The editor cursor position will be preserved when saving a snippet. +* Updated the message shown when there are no snippets. +* Show all available tags when selecting the tag field. + +## [2.10.2] (2018-07-21) + +### Added +* Button to reset settings to their default values. +* Belarusian translation by Hrank.com. + +### Changed +* Made uninstall cleanup optional through a plugin setting. +* Ordered tags by name in the filter dropdown menu. +* Enabled sorting snippets table by tags. * Updated CodeMirror to version 5.39.0. -## 2.10.1 (10 Feb 2018) -* Fixed: Prevent errors when trying to export no snippets. -* Fixed: Use wp_json_encode() to encode export data. -* Fixed: Check both the file extension and MIME type of uploaded import files. - -## 2.10.0 (18 Jan 2018) -* Improved: Added support for importing from multiple export files at once. -* Improved: Unbold the titles of inactive snippets for greater visual distinction. -* Added: New scope for single-use snippets. -* Improved: Don't show network snippets on subsites by default, and only to super admins. -* Improved: Export snippets to JSON instead of XML. -* Improved: More options for importing duplicate snippets. -* Improved: Use strings for representing scopes internally instead of numbers. -* Added: Allowed plugin settings to be unified on multisite through Network Settings option. -* Fixed: Issue with incorrectly treating network snippets as site-wide for code validation. -* Improved: Rename 'Export to PHP' to 'Download', and add button to edit snippet page. - -## 2.9.6 (14 Jan 2018) +### Fixed +* Applied formatting filters to snippet descriptions in the table. +* Incorrectly translated strings. + +## [2.10.1] (2018-02-10) + +### Fixed +* Prevent errors when trying to export no snippets. +* Use wp_json_encode() to encode export data. +* Check both the file extension and MIME type of uploaded import files. + +## [2.10.0] (2018-01-18) + +### Added +* Added support for importing from multiple export files at once. +* New scope for single-use snippets. +* Allowed plugin settings to be unified on multisite through Network Settings option. + +### Changed +* Unbold the titles of inactive snippets for greater visual distinction. +* Don't show network snippets on subsites by default, and only to super admins. +* Export snippets to JSON instead of XML. +* More options for importing duplicate snippets. +* Use strings for representing scopes internally instead of numbers. +* Rename 'Export to PHP' to 'Download', and add button to edit snippet page. + +### Fixed +* Issue with incorrectly treating network snippets as site-wide for code validation. + +## [2.9.6] (2018-01-14) + +### Added * Added Brazilian Portuguese translation by [Bruno Borges](http://brunoborges.info) -* Fixed: Use standard WordPress capabilities instead of custom capabilities to prevent lockouts. -* Fixed: Multisite issue with retrieving active shared snippets from the wrong table causing duplicate snippet execution. + +### Changed * Moved scope and other settings on single snippet page to below code area. -## 2.9.5 (13 Jan 2018) -* Fixed: Undefined function error when accessing the database on multisite. -* Fixed: Ensured all admin headings are hierarchical for accessibility. -* Made the "Activate By Default" setting enabled by default for new installs. +### Fixed +* Use standard WordPress capabilities instead of custom capabilities to prevent lockouts. +* Multisite issue with retrieving active shared snippets from the wrong table causing duplicate snippet execution. + +## [2.9.5] (2018-01-13) + +### Changed * Updated CodeMirror to version 5.33. +* Made the "Activate By Default" setting enabled by default for new installations. + +### Fixed +* Undefined function error when accessing the database on multisite. +* Ensured all admin headings are hierarchical for accessibility. -## 2.9.4 (19 Sep 2017) -* Fixed: Prevented PHP error from occurring when saving a snippet. +## [2.9.4] (2017-09-19) + +### Changed * Minor improvements to database creation function. -## 2.9.3 (11 Sep 2017) -* Fixed: Prevent snippets from being executed twice when saving due to invalid ID being passed to allow_execute_snippet filter. -* Fixed: Re-enabled output suppression when executing snippets. +### Fixed +* Prevented PHP error from occurring when saving a snippet. + +## [2.9.3] (2017-09-11) + +### Fixed +* Prevent snippets from being executed twice when saving due to invalid ID being passed to allow_execute_snippet filter. +* Re-enabled output suppression when executing snippets. + +## [2.9.2] (2017-09-08) -## 2.9.2 (08 Sep 2017) -* Fixed: Do not attempt to combine queries for fetching local and multisite snippets. +### Fixed +* Do not attempt to combine queries for fetching local and multisite snippets. + +## [2.9.1] (2017-09-07) + +### Fixed +* Prevent illegal mix of collations errors when fetching snippets from database tables with different collations. + [[#](https://wordpress.org/support/topic/issue-on-multisite-with-wpml/)] + +## [2.9.0] (2017-09-06) -## 2.9.1 (07 Sep 2017) -* Fixed: Prevent illegal mix of collations errors when fetching snippets from database tables with different collations. -[[#](https://wordpress.org/support/topic/issue-on-multisite-with-wpml/)] +### Changed +* Moved code to disable snippet execution into a filter hook. +* execute_active_snippets() function updated with improved efficiency. +* Renamed Snippet class to avoid name collisions with other plugins. +* Don't hide output when executing a snippet. + +### Fixed +* Prevented invalid properties from being set when saving a snippet. +* Use the correct protocol when saving a snippet. +* Active shared snippets not being updated correctly. -## 2.9.0 (06 Sep 2017) -* Fixed: Prevented invalid properties from being set when saving a snippet. -* Fixed: Use the correct protocol when saving a snippet. -* Improved: Moved code to disable snippet execution into a filter hook. -* Fixed: Active shared snippets not being updated correctly. -* Improved: execute_active_snippets() function updated with improved efficiency. -* Improved: Renamed Snippet class to avoid name collisions with other plugins. -* Improved: Don't hide output when executing a snippet. +## [2.8.7] (2017-05-18) -## 2.8.7 (18 May 2017) +### Added * Added French (Canada) translation by Domonic Desbiens. * Added fixes for Indonesian translation by @zmni. -## 2.8.6 (14 May 2017) -* Ensured that get_snippets() function retrieves snippets with the correct 'network' setting. Fixes snippet edit links in network admin. +## [2.8.6] (2017-05-14) + +### Fixed * Fixed snippet description field alias not mapping correctly, causing snippet descriptions to not be displayed in the table or when editing a snippet. +* Ensured that get_snippets() function retrieves snippets with the correct 'network' setting. Fixes snippet edit links in network admin. -## 2.8.5 (13 May 2017) -* Ensured HTML in snippet titles is escaped in snippets table. +## [2.8.5] (2017-05-13) + +### Added * Added Indonesian translation by Jordan Silaen from ChameleonJohn.com . +* Added setting to hide network snippets on subsites. + +### Security +* Ensured HTML in snippet titles is escaped in snippets table. * Disallowed undefined fields to be set on the Snippets class. * Prevented shared network snippets from being included twice in snippets table on multisite. -* Added setting to hide network snippets on subsites. -## 2.8.4 (29 April 2017) +## [2.8.4] (2017-04-29) + +### Fixed * Fixed all snippets being treated as network snippets on non-multisite sites. -## 2.8.3 (29 April 2017) +## [2.8.3] (2017-04-29) + +### Added +* Added more compete output escaping to prevent XSS errors. + +### Changed * Updated CodeMirror to version 5.25.0. * Show network active snippets as read-only on multisite subsites. -* Added more compete output escaping to prevent XSS errors. -## 2.8.2 (27 Feb 2017) +## [2.8.2] (2017-02-27) + +### Fixed * Fix bug introduced in 2.8.1 that broke code verification functionality by executing code twice. -## 2.8.1 (25 Feb 2017) +## [2.8.1] (2017-02-25) + +### Changed * Updated German translation. -* Fixed admin menu items not translating. +* Updated CodeMirror to version 5.24.0. + +### Removed * Removed possible conflict between Debug Bar Console plugin. (#52) + +### Fixed +* Fixed admin menu items not translating. * Corrected editor alignment on RTL sites. ([#](https://wordpress.org/support/topic/suggestion-css-fix-for-rtl-sites/)) * Fixed bulk actions running when Filter button is clicked. ([#](https://wordpress.org/support/topic/bug-with-filtering-action-buttons/)) -* Updated CodeMirror to version 5.24.0. -## 2.8.0 (14 Dec 2016) -* Fixed Italian translation errors. Props to @arsenalemusica. +## [2.8.0] (2016-12-14) + +### Changed * Renamed 'Manage' admin menu label to 'All Snippets' to keep in line with other admin menu labels. * Renamed placeholder on snippet name field to 'Enter title here'. -* Removed CodeMirror search functionality. +* Updated CodeMirror to version 5.21.0. * Moved 'Edit Snippet' admin menu above 'Add New' menu. * Made pressing Ctrl-Enter in the code editor save the snippet. -* Updated CodeMirror to version 5.21.0. -## 2.7.3 (24 Oct 2016) +### Removed +* Removed CodeMirror search functionality. + +### Fixed +* Fixed Italian translation errors. Props to @arsenalemusica. + +## [2.7.3] (2016-10-24) + +### Changed * Updated CodeMirror to version 5.10.0. + +### Fixed * Fixed a few strings not being translated. -## 2.7.2 (01 Oct 2016) +## [2.7.2] (2016-10-01) + +### Changed * Updated German translation by [Mario Siegmann](https://web-alltag.de). -## 2.7.1 (30 Sep 2016) +## [2.7.1] (2016-09-30) + +### Added * Added Dutch translation by Sander Spies. + +### Changed +* Updated CodeMirror to version 5.19.0. + +### Security * Ensured that the editor theme setting is properly validated. Thanks to [Netsparker](https://www.netsparker.com) for reporting. * Ensured that snippet tags are properly escaped. Thanks to [Netsparker](https://www.netsparker.com) for reporting. -* Updated CodeMirror to version 5.19.0. -## 2.7.0 (23 July 2016) +## [2.7.0] (2016-07-23) + +### Added +* Added query var to disable snippet execution. To use, add `?snippets-safe-mode=true` to the URL. + +### Changed +* Updated German translation by [Mario Siegmann](https://web-alltag.de). +* Updated CodeMirror to version 5.17.0. +* Increased default snippets per page so that all are usually shown. + +### Fixed * Fixed plugin translations being loaded. -* Increase default snippets per page so that all are usually shown. * Fixed description field not being imported. -* Updated German translation by [Mario Siegmann](https://web-alltag.de). * Fixed issue with CodeMirror rubyblue theme. [[#](https://wordpress.org/support/topic/a-problem-with-the-cursor-color-and-the-fix-that-worked-for-me)] -* Added query var to disable snippet execution. To use, add `?snippets-safe-mode=true` to the URL. * Fixed snippet fields not importing. -* Updated CodeMirror to version 5.17.0. * Fixed a minor XSS vulnerability discovered by Burak Kelebek. [[#](https://wordpress.org/support/topic/security-vulnerability-20)] -## 2.6.1 (10 Feb 2016) +## [2.6.1] (2016-02-10) + +### Changed * Updated German translation by [Mario Siegmann](https://web-alltag.de). -* Fixed error catching not working correctly. * Updated error catching to work with snippets including functions and classes. + +### Fixed +* Fixed error catching not working correctly. * Fixed editor autoresizing. -## 2.6.0 (31 Dec 2015) +## [2.6.0] (2015-12-31) + +### Added +* Added `[code_snippets]` shortcode for embedding snippet code in a post. +* Added front-end syntax highlighting for shortcode using [PrismJS](https://prismjs.com). + +### Changed +* Updated CodeMirror to version 5.10.0. + +### Removed * Reconfigured plugin to use classloader and converted a lot of functional code into OOP code. -* Updated CodeMirror to version 5.10.0. -* Added `[code_snippets]` shortcode for embedding snippet code in a post. + +### Fixed * Fixed broken snippet search feature. [[#](https://wordpress.org/support/topic/search-is-not-working-6)] -* Added front-end syntax highlighting for shortcode using [PrismJS](https://prismjs.com). -## 2.5.1 (11 Oct 2016) -* Fixed: Ensure errors are fatal before catching them during error checking. -* Fixed: Escape the snippet name on the edit page to ensure it displays correctly. -* Fixed: Exclude snippets with named functions from error checking so they do not run twice. +## [2.5.1] (2016-10-11) + +### Fixed +* Ensure errors are fatal before catching them during error checking. +* Escape the snippet name on the edit page to ensure it displays correctly. +* Exclude snippets with named functions from error checking so they do not run twice. + +## [2.5.0] (2015-10-08) -## 2.5.0 (8 Oct 2015) -* Added: Detect parse and fatal errors in code when saving a snippet, and display a user-friendly message. -* Fixed: Updated access of some methods in Code_Snippets_List_Table class to match updated WP_List_Table class. +### Added +* Detect parse and fatal errors in code when saving a snippet, and display a user-friendly message. + +### Changed +* Updated access of some methods in Code_Snippets_List_Table class to match updated WP_List_Table class. + +## [2.4.2] (2015-09-27) -## 2.4.2 (27 Sep 2015) +### Added * Added query variable to activate safe mode. +* Added settings to disable description and tag editors. + +### Changed +* Updated editor preview updating code to use vanilla JavaScript instead of jQuery. + +### Fixed * Fixed settings not saving. * Fixed snippet descriptions not displaying on manage menu. -* Added settings to disable description and tag editors. -* Fixed: Load CodeMirror after plugin styles to fix error with Zenburn theme. -* Fixed: Hide snippet scope icons when the scope selector is disabled. +* Load CodeMirror after plugin styles to fix error with Zenburn theme. +* Hide snippet scope icons when the scope selector is disabled. * Fixed description heading on edt snippet menu being hidden when visual editor disabled. -* Updated editor preview updating code to use vanilla JavaScript instead of jQuery. -* Fixed: Deactivate a shared network snippet on all subsites when it looses its sharing status. +* Deactivate a shared network snippet on all subsites when it looses its sharing status. + +## [2.4.1] (2015-09-17) -## 2.4.1 (17 Sep 2015) +### Fixed * Fixed CodeMirror themes not being detected on settings page [[#](https://wordpress.org/support/topic/updated-to-240-now-i-cant-switch-theme)] -## 2.4.0 (17 Sep 2015) +## [2.4.0] (2015-09-17) + +### Added * Added ability to share network snippets to individual sites on WordPress multisite. +* Added `code_snippets/after_execute_snippet` filter. +* Added class for individual snippets. + +### Changed * Improved code directory and class structure. -* Remove legacy code for pre-3.6 compatibility. * Improved code for printing admin messages. * Updated German translation (Joerg Knoerchen) -* Added `code_snippets/after_execute_snippet` filter. -* Added class for individual snippets. * Updated `get_snippets()` function to retrieve individual snippets. -* Removed scope statuses and added fixed tags to indicate scope. * Changed admin page headers to use `
{`${validationWarning} ${__('Continue?', 'code-snippets')}`}
-{label} |
{(Array.isArray(mod) ? mod : [mod]).map(modifier =>
- 'Ctrl' === modifier || 'Cmd' === modifier ?
- <>
- {keys.Ctrl}
- {keys.Cmd}
- {SEP}
- > :
- 'Option' === mod ?
-
- {keys.Option}{SEP}
- :
- <>{keys[modifier]}{SEP}>
+
+ |
' . __( 'For more information:', 'code-snippets' ) . "
\n"; + $kses = [ + 'p' => [], + 'strong' => [], + 'a' => [ 'href' => [] ], + ]; + + $contents = sprintf( "%s
\n", esc_html__( 'For more information:', 'code-snippets' ) ); foreach ( $sidebar_links as $url => $label ) { $contents .= "\n" . sprintf( '', esc_url( $url ), esc_html( $label ) ); } - $this->screen->set_help_sidebar( wp_kses_post( $contents ) ); + $this->screen->set_help_sidebar( wp_kses( $contents, $kses ) ); } /** @@ -126,7 +142,8 @@ private function load_manage_help() { [ __( 'Be sure to check your snippets for errors before you activate them, as a faulty snippet could bring your whole blog down. If your site starts doing strange things, deactivate all your snippets and activate them one at a time.', 'code-snippets' ), __( "If something goes wrong with a snippet, and you can't use WordPress, you can cause all snippets to stop executing by turning on safe mode.", 'code-snippets' ), - __( 'You can find out how to enable safe mode in the Code Snippets Pro Docs.', 'code-snippets' ), + /* translators: %s: URL to Code Snippets Pro Docs */ + sprintf( __( 'You can find out how to enable safe mode in the Code Snippets Pro Docs.', 'code-snippets' ), 'https://help.codesnippets.pro/article/12-safe-mode' ) ] ); } @@ -141,7 +158,8 @@ private function load_edit_help() { [ $this->get_intro_text() . __( 'Here you can add a new snippet, or edit an existing one.', 'code-snippets' ), - __( "If you're not sure about the types of snippets you can add, take a look at the Code Snippets Pro Docs for inspiration.", 'code-snippets' ), + /* translators: %s: URL to Code Snippets Pro Docs */ + sprintf( __( "If you're not sure about the types of snippets you can add, take a look at the Code Snippets Pro Docs for inspiration.", 'code-snippets' ), 'https://help.codesnippets.pro/collection/2-adding-snippets' ), ] ); @@ -150,7 +168,7 @@ private function load_edit_help() { __( 'Adding Snippets', 'code-snippets' ), [ __( 'You need to fill out the name and code fields for your snippet to be added. While the description field will add more information about how your snippet works, what is does and where you found it, it is completely optional.', 'code-snippets' ), - __( 'Please be sure to check that your snippet is valid PHP code and will not produce errors before adding it through this page. While doing so will not become active straight away, it will help to minimise the chance of a faulty snippet becoming active on your site.', 'code-snippets' ), + __( 'Please be sure to check that your snippet is valid PHP code and will not produce errors before adding it through this page. While doing so will not become active straight away, it will help to minimize the chance of a faulty snippet becoming active on your site.', 'code-snippets' ), ] ); } diff --git a/php/class-data-item.php b/src/php/class-data-item.php similarity index 90% rename from php/class-data-item.php rename to src/php/class-data-item.php index ffc25001..25cfe75b 100644 --- a/php/class-data-item.php +++ b/src/php/class-data-item.php @@ -16,21 +16,21 @@ abstract class Data_Item { * * @var arrayprocess_description( $item->description ) ); ?>
+process_description( $item->description ) ); ?>
@@ -245,14 +248,22 @@ public function display_rows() {