This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$success = false; | |
if (!empty($value)) { | |
$re = "/^((((\+[\d\-.]{1,5})?[ \-.]?\d{3})|(\+[\d\-.]{1,5})?[ \-.]?\((\d{3}\)))?[ \-.]?\d{3}[ \-.]?\d{4}\s?(e?x?t?\.?\s?\d{1,7})?)?$/i"; | |
if (preg_match($re, $value) === 1) $success = true; | |
} | |
if (!$success) { | |
$validator->addError($key, 'Please enter a valid phone number.'); | |
return false; | |
} else { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Steps to implement | |
* 1. Set HTML content-type default suffix to '/' | |
* 2. Ensure Resources have isFolder = 1 as default | |
* 3. If you still have issues with Resources being routed to the URI without a trailing slash, | |
* create this Plugin and enable it 'OnWebPageInit'. | |
**/ | |
if ($modx->event->name !== 'OnWebPageInit') return; | |
if (substr($_SERVER['REQUEST_URI'], -1) !== '/') $modx->sendRedirect($_SERVER['REQUEST_URI'] . '/', array( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* getter function for resource properties. sets placeholders with all values. | |
* optionally allows direct return of one element within the namespaced properties sub-array | |
* @author @sepiariver | |
* | |
**/ | |
// OPTIONS | |
$id = (int) $modx->getOption('id', $scriptProperties, 0); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* | |
* @author @sepiariver | |
* | |
**/ | |
if ($modx->context->get('key') !== 'mgr' || $modx->event->name !== 'OnDocFormSave') return; | |
if (!($resource instanceof modResource)) { | |
$modx->log(modX::LOG_LEVEL_ERROR, 'setResourceProps Plugin did not have access to a valid resource object on line: ' . __LINE__); | |
return; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* SaveProcessedContent | |
* @author @theboxer | |
* @comments @sepiariver | |
* | |
* GPL, no warranties, etc. | |
* | |
* USAGE: | |
* Enable 'OnDocFormSave' event in Plugin properties, and supply a valid "tvName" value. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* getTVInputsFromJson | |
* @author @sepiariver <[email protected]> | |
* | |
* Example usage: | |
* 1. Create a Chunk with this Snippet call: [[getTVInputsFromJson? &jsonFile=`http://schema.org/docs/tree.jsonld`]] | |
* 2. Create a Single-Select TV with @CHUNK binding for "Input Options": @CHUNK my_schema_tv_chunk | |
* 3. Resources with the TV enabled will get a list of schema.org itemtype property values, like this screenshot: http://sepiariver.co/1KUr4LJ | |
* |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Based on @garryn Garry Nutting's amazingly fast sitemap generator: | |
* http://www.modx360.com/blog/2013/09/03/google-sitemap-thousands-of-resources/ | |
* | |
* Modified by @sepiariver for multi-context support | |
* GPL, no warranties, etc. | |
* | |
*/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Use the cbGetLayoutSetting snippet to get a setting from a particular layout. | |
* @author YJ Tso @sepiariver <[email protected]> | |
* @param (id) &resource allows checking for fields on other resources. | |
* @param (bool) &showDebug return debugging info as JSON. | |
* @param (string) &toPlaceholder set a placeholder with this string as key, instead of returning. | |
* @param required (int) &layout - ID of ContentBlocks layout from which to fetch the setting. | |
* @param required (string) &setting - key of layout setting to return. | |
* |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* getJsonProperty | |
* | |
* Example usage: | |
* [[getJsonProperty? | |
* &tpl=`myChunkTpl` | |
* &key=`0.rows.0.repeater.rows` | |
* &json=`[[cbGetFieldContent? &field=`28` &returnAsJSON=`1`]]` | |
* ]] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
if (empty($input) || !is_numeric($input)) return $input; | |
$opts = array_filter(array_map('trim', explode(',', $options))); | |
$args = array(); | |
$args['decimals'] = (isset($opts[0])) ? intval($opts[0]) : 2; | |
$args['dec_point'] = (isset($opts[1])) ? (string) $opts[1] : '.'; | |
$args['thousands_sep'] = (isset($opts[2])) ? (string) $opts[2] : ','; | |
return number_format(floatval($input), $args['decimals'], $args['dec_point'], $args['thousands_sep']); |