key / utils-plugin
Utils for OctoberCMS, get pages for blocks etc Twig filters and more
Requires
- activecampaign/api-php: ^2.0
- composer/installers: ~1.0
- giggsey/libphonenumber-for-php: ^8.13
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 animationsclean_lines
- Converts input content to clean text onlyinline
- Converts images to inline images (like SVG)colorglyph
- Sets colors of SVG imagesconfig_get
- Returns config settingstwig
- Parse variables through Twigcrypt_sign
- Cryptographic signing of valuessuffix
- Adds random numeric suffix to inputresizeImage
- Resizes images with ToughDeveloper Image ResizermediaFileExists
- 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 identifiersHelpers::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 pagesgetStaticPages()
- Returns list of static pagesgetCategoryIdOptions()
- Returns FAQ categoriesgetNewsCategoryOptions()
- Returns news categoriesgetAnimationStyleOptions()
- 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