Skip to content

Instantly share code, notes, and snippets.

@blainelang
blainelang / components.add-record-modal.js
Last active April 18, 2017 02:39
Ember Bootstrap Actions
import Ember from 'ember';
export default Ember.Component.extend({
actions: {
save() {
console.log('components/add-record-modal action - save!');
this.sendAction('save');
},
actionTest() {
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle 101'
});
@blainelang
blainelang / components.nav-bar.js
Last active April 18, 2017 00:11
bootstrap-components
import Ember from 'ember';
export default Ember.Component.extend({
});
import Ember from 'ember';
export default Ember.Component.extend({
actions:{
save(){
console.log('save in component');
this.sendAction('save');
this.sendAction('savemore');
}
}
@blainelang
blainelang / guzzletest.php
Last active July 17, 2017 12:35
Drupal 8 standalone PHP script using Guzzle to request a node with a JSON response and HTML response.
<?php
/* Script located in the docroot for your Drupal 8 site */
use Drupal\Core\DrupalKernel;
use Drupal\Core\Site\Settings;
use Symfony\Component\HttpFoundation\Request;
$autoloader = require_once __DIR__ . '/core/vendor/autoload.php';
use GuzzleHttp\Client;
@blainelang
blainelang / maestro launch workflow
Created October 10, 2014 19:00
Code snippet to launch a maestro workflow
/* Code to launch a maestro workflow.
* Pass in the template ID and security token
* Once the workflow instance is launched, it
* returns the new process id
*/
$template = 1; // Set to the maestro template you want to launch
$sec_token = drupal_get_token('maestro_user');
$new_process_id = maestro_launch_workflow($template, $sec_token);
@blainelang
blainelang / Commbuilder template info hook.php
Created February 19, 2014 17:29
Commbuilder template info hook
/**
* Implement hook_theme()
*/
function as_newsletter_template_2014v1_commbuilder_template_info() {
return array(
'theme_set_2014v1' => array(
'default' => array(
'email' => array(
'description' => 'Single column layout tested for Outlook',
'template' => 'theme/email_single_column',
@blainelang
blainelang / Comment Trick
Created October 19, 2013 14:36
This trick below can be used to toggle between two sets of code, with one symbol in the code with no additional short-keys to learn, and no tool dependencies!
//*
Often, in development or debugging, we need to toggle on/off a section of code or want to swap a few lines.
We often comment out those lines but here is a neat trick where we have the comment annotation around two
sections of code - in my case I want to test some code with a value of 100 or 200 but this could be a tw
large sections of code that I want to toggle or swap.
Add this to you editor and just delete the first / and watch as your editor disables the first assignment
and now enables the 2nd assignment. It's the little things at times that amaze you as I sit here
toggling on/off that first / to see my editor's reaction :)
@blainelang
blainelang / Array Manipulation
Created September 16, 2013 17:52
Move an array element to the beginning of the array
$implementations = array('pi_commerce' => $implementations['pi_commerce']) + $implementations;
@blainelang
blainelang / Maestro API for processes
Created August 29, 2013 20:06
Using the maestro API to launch a new workflow instance, crank the engine and get process detail. Sample PHP code to interact with the Drupal maestro module (workflow engine) https://drupal.org/project/maestro
// Helper function to instantiate maestro engine and step it forward
maestro_orchestrator();
// Alternative method to interact with the maestro engine API
$maestro = Maestro::createMaestroObject(1);
/*
That's it! Wherever you want to run the orchestrator, you will place that code.
If you look in maestro.module, you will find the function maestro_orchestrator.
Inside of it we are trying to acquire a lock based on a defined lock delay (in seconds) configuration parameter.
The lock is essentially a simple lock semaphore. If for some reason the lock is not relinquished in a default of 512 seconds,