key/utils-plugin

Utils for OctoberCMS, get pages for blocks etc Twig filters and more

Installs: 20

Dependents: 0

Suggesters: 0

Security: 0

Type:october-plugin

1.0.7 2025-09-10 11:09 UTC

This package is auto-updated.

Last update: 2025-09-10 11:12:21 UTC


README

This plugin is a collection of extensions used for OctoberCMS projects by Key Agency.

Installation

composer require key/utils-plugin

Components

reCAPTCHA

The reCaptcha component adds a hidden recaptcha_token input field to the page. Add required|recaptcha to the validation rules and you are ready to go. The key and secret can be configured in the plugin settings.

Form Widgets

CS Repeater

  • Code: csrepeater
  • Description: Enhanced drop-in replacement for the standard repeater with copy/paste functionality and auto-fold options

Icon Picker

  • Code: iconpicker
  • Description: Icon picker form widget for selecting icons

Twig Extensions

Filters

  • to_lines - Converts multi-line input content to configurable HTML elements with optional animations
  • clean_lines - Converts input content to clean text only
  • inline - Converts images to inline images (like SVG)
  • colorglyph - Sets colors of SVG images
  • config_get - Returns config settings
  • twig - Parse variables through Twig
  • crypt_sign - Cryptographic signing of values
  • suffix - Adds random numeric suffix to input
  • resizeImage - Resizes images with ToughDeveloper Image Resizer
  • mediaFileExists - Checks if a media file exists on the server

Functions

  • config_get - Access configuration values

Helper Classes

Helpers

Class: Key\Utils\Classes\Helpers

  • Helpers::guid() - Generates GUID for unique identifiers
  • Helpers::stripInput() - Strips and cleans input content

Phone Number Validation

Class: Key\Utils\Classes\PhoneNumber

  • Google libphonenumber integration for phone number validation

ActiveCampaign Integration

Class: Key\Utils\Classes\ActiveCampaign

  • ActiveCampaign API integration

Console Commands

Clear Cache

php artisan utils:clearcache

Clears cache with option to clear image thumbs created by the image scale plugin.

Dynamic Model Methods

The plugin extends various OctoberCMS models with additional methods:

  • getCmsPages() - Returns list of CMS pages
  • getStaticPages() - Returns list of static pages
  • getCategoryIdOptions() - Returns FAQ categories
  • getNewsCategoryOptions() - Returns news categories
  • getAnimationStyleOptions() - Returns animation style options

Usage in Form Fields

page:
    label: Page
    type: dropdown
    options: getCmsPages

animation_style:
    label: Animation Style
    type: dropdown
    options: getAnimationStyleOptions

List Column Types

HTML Column

  • Type: html
  • Description: Renders HTML content in list columns

Validation Rules

Phone Number Validation

Add phonenumber to your validation rules for Google-powered phone number validation.

reCAPTCHA Validation

Add recaptcha to your validation rules for reCAPTCHA verification.

Loggable Model Trait

The Loggable trait can be used to log database changes to the Theme Log.

use \Key\Utils\Traits\Loggable;

class MyModel extends Model
{
    use Loggable;
    
    // Force logging even for non-authenticated users
    public $loggedOutUsers = true;
}

Settings

Plugin settings can be configured through the OctoberCMS backend:

  • reCAPTCHA site key and secret
  • CSS customization
  • Feature toggles for repeater auto-fold and resize pane functionality

Dependencies

  • ActiveCampaign API PHP client
  • Google libphonenumber library
  • ToughDeveloper Image Resizer
  • Various OctoberCMS plugins (RainLab Pages, Indikator Content, RedMarlin FAQ)

Version History

  • 1.0.7 - Added mediaFileExists twig filter
  • 1.0.6 - Added icon lib form field
  • 1.0.5 - Default animations to false
  • 1.0.4 - Added loggable trait
  • 1.0.3 - Fix google phone number validation without country code
  • 1.0.2 - Added google phone number validation
  • 1.0.1 - Updated composer.json
  • 1.0.0 - First version of the key utils