Skip to content

Instantly share code, notes, and snippets.

View samhernandez's full-sized avatar
🎈

Sam Hernandez samhernandez

🎈
  • Precocity LLC
  • Plano TX
  • X @sam_h
View GitHub Profile
@samhernandez
samhernandez / docker-container-name.sh
Last active April 10, 2017 19:32
Get the container name from a compose file
# Suppose there is service defined in the docker-compose.yml file
# named `mysql` but it does not have `container_name` defined so
# we don't know what the container name is right now
CONTAINER_NAME=$(docker-compose -f docker-compose.yml ps | grep mysql | awk '{ print $1 }')
echo "Restarting mysql container"
docker stop $CONTAINER_NAME
docker start $CONTAINER_NAME
@samhernandez
samhernandez / iterate.twig
Last active April 7, 2017 19:59
A macro to iterate through Neo and Matrix blocks
{#
Don't call this method directly from templates. Rather, call the `neo` or `matrix`
methods to keep things future-proof.
Block templates may be named (from most generic to most specific)
{ block type }_{ entry field handle }_{ entry section handle}_{ entry type}.twig
{ block type }_{ entry field handle }_{ entry section handle}.twig
{ block type }_{ entry field handle }.twig
{ block type }.twig
@samhernandez
samhernandez / mysqlsync
Last active March 22, 2024 16:14
Sync remote mysql database to local over ssh
#!/bin/bash
# This script assumes you have ssh access to a remote server
# Both databases are backed up to sql files in the same directory
# this script is executed from.
# Usage:
# 1. Make sure this file is executable with `chmod +x mysqlsync`
# 2. Set the credentials for the variables at the top
# (Remember, no spaces around the '=' sign)
# 3. Run it from a directory where you'd like the backup files to go:
@samhernandez
samhernandez / drupal-multilingual-files.conf
Created January 28, 2015 20:45
Redirect to files that exist without the first language segment in the url
# For Drupal multilingual sites
#
# When the first segment of the url path is a language like 'en', 'fr', 'es'
# paths to files break because Drupal adds them to the base url.
# This turns `http://site.com/es/style.css` into `http://site.com/style.css`
# if the latter is actually a file.
RewriteCond %{DOCUMENT_ROOT}/$1 -f
RewriteRule ^/?\w{2}/(.+)$ %{DOCUMENT_ROOT}/$1 [L]
@samhernandez
samhernandez / edit-this.twig
Created September 3, 2014 16:38
Craft CMS edit entry link
{% if entry is defined and currentUser and currentUser.can('editEntries:' ~ entry.id) %}
<a href="{{ entry.cpEditUrl }}" class="edit-this section-{{ entry.sectionId }}">Edit this</a>
{% endif %}
@samhernandez
samhernandez / customroutes.php
Last active October 10, 2023 10:11
A simple class to add custom routes to Wordpress.
<?php
/**
* NOTE: This gist is very old. You might want to check out recent forks
* like this one: https://github.com/Alexlytle/Wordpress_custom_route/blob/main/Wordpress_Custom_route.php
* (thanks @Alexlytle) If you have an improvement to this gist, please
* post a link in a comment for others who might benefit. Thanks!
*
* A class to create simple custom routes.
*
@samhernandez
samhernandez / drupal-render-entity-field.php
Created August 2, 2013 21:37
Sometimes you want to render a node or user field in a template. Argue about modifying stuff in hook_preprocess() all you want. Don't see the difference between using this and render() in a template.
/**
* Returns the simple, cleaned, translated value for a node or user field
* without extra Drupal markup.
*
* Examples:
* <?php print render_entity_field('user', $user, 'field_first_name'); ?>
* <?php print render_entity_field('node', $node, 'field_my_custom_field'); ?>
*
* @see http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way
* @param string $type 'node', 'user'
@samhernandez
samhernandez / drupal-render-entity-field.php
Created August 2, 2013 21:37
Sometimes you want to render a node or user field in a template. Argue about modifying stuff in hook_preprocess() all you want. Don't see the difference between using this and render() in a template.
/**
* Returns the simple, cleaned, translated value for a node or user field
* without extra Drupal markup.
*
* Examples:
* <?php print render_entity_field('user', $user, 'field_first_name'); ?>
* <?php print render_entity_field('node', $node, 'field_my_custom_field'); ?>
*
* @see http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way
* @param string $type 'node', 'user'
@samhernandez
samhernandez / drupal-render-entity-field.php
Created August 2, 2013 21:37
Sometimes you want to render a node or user field in a template. Argue about modifying stuff in hook_preprocess() all you want. Don't see the difference between using this and render() in a template.
/**
* Returns the simple, cleaned, translated value for a node or user field
* without extra Drupal markup.
*
* Examples:
* <?php print render_entity_field('user', $user, 'field_first_name'); ?>
* <?php print render_entity_field('node', $node, 'field_my_custom_field'); ?>
*
* @see http://www.computerminds.co.uk/articles/rendering-drupal-7-fields-right-way
* @param string $type 'node', 'user'
@samhernandez
samhernandez / drupal-users-by-role-id.php
Last active December 20, 2015 13:59
Get an array of users for a given role id.
/**
* Get an array of users for a given role id.
* @param int $rid - The role id
* @return array
*/
function users_by_role_id($rid)
{
$users = array();
$uids = array();
$query = db_query("SELECT uid FROM users_roles WHERE rid = :role_id", array(':role_id' => $rid));