Skip to content

Instantly share code, notes, and snippets.

GDmac GDmac

  • Netherlands
Block or report user

Report or block GDmac

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
rossriley / bootstrap.php
Created Sep 9, 2015
Add a contenttype / id prefix to an image upload path
View bootstrap.php
// Appears in your bootstrap file, before the call to $app->run()
$app['upload'] = $app->extend('upload', function ($handler, $app) {
if ($app['request']->get('contenttype') == 'pages') {
if ($app['request']->get('contenttypeslug') && $app['request']->get('id')) {
return $handler;
niyazpk / pQuery.js
Created Oct 25, 2014
Add or update query string parameter
View pQuery.js
// Add / Update a key-value pair in the URL query parameters
function updateUrlParameter(uri, key, value) {
// remove the hash part before operating on the uri
var i = uri.indexOf('#');
var hash = i === -1 ? '' : uri.substr(i);
uri = i === -1 ? uri : uri.substr(0, i);
var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i");
var separator = uri.indexOf('?') !== -1 ? "&" : "?";
if (uri.match(re)) {
croxton /
Last active Apr 8, 2018
Stash and conditionals in EE 2.9

With Stash you have always been able to create global variables and evaluate them in the same template using if/else conditionals:

{exp:stash:set_value name="var" value="cheese" type="snippet"}

{if var == "cheese"}
  	We have cheese!
  	Where's the cheese, gromit? 
dennisfrank /
Created May 23, 2014
Shell script to import a remote database into local environment
# Import a remote database into a local database
# ----------------------------------------------
# Based on
# Don’t forget chmod +x to make the script executable.
# Change the extension to .command to run the script directly from OS X Finder.
octavian-nita / module.js
Created Feb 18, 2014
JavaScript module pattern (inspiration: TypeScript, json2.js by Douglas Crockford)
View module.js
var Module;
(function (Module) {
'use strict';
var Greeter = (function () {
// Define the Greeter class:
function Greeter(message) {
this.greeting = message;
narfbg / hkdf.php
Created Feb 3, 2014
Experimental HKDF implementation for CodeIgniter's encryption class
View hkdf.php
* @link
* @param $key Input key
* @param $digest A SHA-2 hashing algorithm
* @param $salt Optional salt
* @param $length Output length (defaults to the selected digest size)
* @param $info Optional context/application-specific info
* @return string A pseudo-random key
brandonkelly /
Last active Nov 5, 2019
Templating in EE vs. Craft
amphibian / gist:5414609
Created Apr 18, 2013
Quick example of one way to deal with Localize class methods which will be deprecated in ExpressionEngine 2.6
View gist:5414609
// Backwards-compatibility with pre-2.6 Localize class
$format_date_fn = (version_compare(APP_VER, '2.6', '>=')) ? 'format_date' : 'decode_date';
echo $this->EE->localize->{$format_date_fn}('%Y-%m-%d', $this->EE->localize->now);
// 2013-04-18

Some Key points

[21:35:16] 1. Controllers call out to a repository to answer questions (like give me comments for a post, or are there any active users)
[21:35:27] so the repositories contain those business rules
[21:35:37] the entities (orm models) contain the application agnostic business rules
[21:35:42] like what makes a valid person
[21:36:09] 2. The repository interacts with the ORM to get the entities
[21:36:42] 3. The controller is merely responsible for processing the request, calling out to the appropriate repositories, and constructing the response
[21:36:52] All of the interactions are injected of course

croxton /
Created Oct 29, 2012
Stash & template partials - nested embed


Stash 2.3.4 (beta) or later

Stash template directory


You can’t perform that action at this time.