Skip to content

Instantly share code, notes, and snippets.

@matdave
Last active April 10, 2020 16:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matdave/0786a6a990408bf428513ca0cd237415 to your computer and use it in GitHub Desktop.
Save matdave/0786a6a990408bf428513ca0cd237415 to your computer and use it in GitHub Desktop.
MODX codeSamples
<?php
/**
* codeSample Snippet for rendering ASCII characters of element calls in MODX frontend
* e.g.
* [[codeSample?&element=`QuickEmail`&properties=`debug=1` &cachedFlag=`true`]]
* outputs [[!QuickEmail? &debug=`1`]]
**/
$element = $modx->getOption('element', $scriptProperties, null);
$type = $modx->getOption('elementClass', $scriptProperties, 'modSnippet');
$cachedFlag = $modx->getOption('cachedFlag', $scriptProperties, false);
$properties = $modx->getOption('properties', $scriptProperties, null);
$output = null;
if(!empty($element)){
$output = "&#91;&#91;";
$output .= ($cachedFlag) ? "&#33;" : "";
switch($type){
case "snippet":
case "modSnippet":
break;
case "chunk":
case "modChunk":
$output .= "&#36;";
break;
case "resource":
case "modResource":
$output .= "&#126;";
break;
case "variable":
case "tv":
case "modTemplateVariable":
$output .= "&#42;";
break;
case "placeholder":
$output .= "&#43;";
break;
}
$output .= $element;
$properties = explode(",",$properties);
if(!empty($properties)){
$output .= "&#63;";
foreach($properties as $property){
$property = explode("=",$property);
$output .= " &#38;".$property[0]."&#61;&#96;".$property[1]."&#96;";
}
}
$output .= "&#93;&#93;";
}
return $output;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment