Skip to content

Instantly share code, notes, and snippets.

Christian Seel christianseel

Block or report user

Report or block christianseel

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@christianseel
christianseel / MODX index.php
Created Jun 28, 2017
MODX index.php with XRouting integrated
View MODX index.php
<?php
/*
* This file is part of MODX Revolution.
*
* Copyright (c) MODX, LLC. All Rights Reserved.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
@christianseel
christianseel / modParsedManagerController
Created Apr 14, 2016
save at core/components/<yournamespace>/controllers/<alias>.class.php and call it via /manager/?a=<alias>&namespace=<yournamespace> (make sure to add the namespace to you namespaces in MODX) – http://modxcookbook.com/customize-manager/cmps/cmp-made-easy.html
View modParsedManagerController
<?php
class TestcmpParsedManagerController extends modParsedManagerController
{
public function getPageTitle() {
return 'Test CMP';
}
public function process(array $scriptProperties = [])
{
@christianseel
christianseel / regClient.snippet.php
Last active Feb 2, 2016
Usage: [[!regClient? &input=`markup or script here` &function=`htmlToBottom`]]
View regClient.snippet.php
<?php
$options = isset($options) ? $options : 'htmlToBottom';
$function = $modx->getOption('function', $scriptProperties, $options);
$plaintext = (strstr($input, PHP_EOL)) ? true : false;
switch ($function) {
case 'cssToHead':
$modx->regClientCSS($input);
break;
case 'htmlToHead':
$modx->regClientStartupHTMLBlock($input);
@christianseel
christianseel / alfred_sipgate
Last active May 15, 2016
AppleScript for www.alfredapp.com for Sipage. You need to be logged in at sipgate.com at the same time
View alfred_sipgate
on alfred_script(q)
tell application "Google Chrome"
set ActivePage to window 1
set CallTab to make new tab at end of tabs of ActivePage
set URL of CallTab to "https://app.sipgate.com/"
delay 1
set jscode to "function post(path, params, method) { method = method || 'post'; var form = document.createElement('form'); form.setAttribute('method', method); form.setAttribute('action', path); for(var key in params) { if(params.hasOwnProperty(key)) { var hiddenField = document.createElement('input'); hiddenField.setAttribute('type', 'hidden'); hiddenField.setAttribute('name', key); hiddenField.setAttribute('value', params[key]); form.appendChild(hiddenField); } } document.body.appendChild(form); form.submit(); } post('https://secure.live.sipgate.de/ajax-fast.php/account/click2dial/', {from: '2373479e0', to: '" & q & "'});"
execute front window's active tab javascript jscode
delay 1
@christianseel
christianseel / extract-teaser-layouts.php
Last active May 6, 2016
MODX Plugin (OnDocFormSave): Extract Teaser Layouts – saves a specific ContentBlocks layout into a TV to make it available elsewhere. To prevent the layout from rendering in the content area you need to wrap your CB layout template into [[+render_teaser:is=`1`:then=`<template here>`:else``]]
View extract-teaser-layouts.php
<?php
// load service
$corePath = $modx->getOption('contentblocks.core_path', null, $modx->getOption('core_path').'components/contentblocks/');
$ContentBlocks = $modx->getService('contentblocks','ContentBlocks', $corePath.'model/contentblocks/');
// get cb json
if ($modx->event->name == 'OnDocFormSave') {
$cbJson = $resource->get('contentblocks');
} else {
$cbJson = $resource->getProperty('content','contentblocks','');
@christianseel
christianseel / fix-file-permissions
Created Mar 13, 2015
fix file and folder permissions for MODX
View fix-file-permissions
<?php
switch($modx->event->name) {
case 'OnFileManagerDirCreate':
$modx->log(modX::LOG_LEVEL_ERROR, 'fix folder permissions for: '.$directory.'/');
chmod($directory.'/', octdec($modx->getOption('new_folder_permissions')));
break;
case 'OnFileManagerFileCreate':
$modx->log(modX::LOG_LEVEL_ERROR, 'fix file permissions for: '.$path);
chmod($path, octdec($modx->getOption('new_file_permissions')));
break;
@christianseel
christianseel / XRouting 1.3.1
Created Jan 20, 2015
XRouting 1.3.1 (with debug info: add ?xrdebug=1 to your URL)
View XRouting 1.3.1
<?php
switch ($modx->event->name) {
// "refresh cache" part
case 'OnContextSave':
case 'OnContextRemove':
case 'OnSiteRefresh':
$contexts = array();
$cacheKey = 'xrouting_contextmap';
View sm-annotated.html
<script type="text/javascript">
(function () {
"use strict";
// once cached, the css file is stored on the client forever unless
// the URL below is changed. Any change will invalidate the cache
var css_href = './index_files/web-fonts.css';
// a simple event handler wrapper
function on(el, ev, callback) {
if (el.addEventListener) {
el.addEventListener(ev, callback, false);
@christianseel
christianseel / gist:9ef49c1a2f225c337909
Created Oct 5, 2014
Replace ContentBlocks values with new values
View gist:9ef49c1a2f225c337909
<?
$c = $modx->newQuery('modResource');
$resources = $modx->getCollection('modResource', $c);
foreach ($resources as $res) {
$properties = $res->getProperties('contentblocks');
if (empty($properties)) continue;
if (empty($properties['content'])) continue;
@christianseel
christianseel / Chunk tabNavigationItem
Last active Mar 2, 2018
"generateTabs" output filter for ContentBlocks. See http://slides.com/christianseel/contentblocks/ for instructions.
View Chunk tabNavigationItem
<li class="tab-title [[+idx:is=`1`:then=`active`:else=``]]" role="presentational">
<a href="#[[+id]]" role="tab" tabindex="0" aria-selected="false" controls="[[+id]]">[[+title]]</a>
</li>
You can’t perform that action at this time.