Skip to content

Instantly share code, notes, and snippets.

View scottsb's full-sized avatar

Scott Buchanan scottsb

View GitHub Profile
@scottsb
scottsb / pre-commit
Last active July 15, 2017 15:42 — forked from timsweb/pre-commit
Git hook to prevent committing xdebug_break() functions. Save as .git/hooks/pre-commit then chmod +x it. Submodules also have their own hooks folder: ".git/modules/submodule/path/here/hooks".
#!/bin/sh
for FILE in `git diff --cached --name-only` ; do
# Check if the file contains 'debugger'
grep -qE '^[ \t]*xdebug_break()' $FILE
if [[ $? -eq 0 ]]
then
echo $FILE ' contains xdebug_break()! To commit retry with --no-verify'
exit 1
fi
@scottsb
scottsb / component-library-generators.md
Last active December 8, 2017 16:13
Component Library Generators for Existing Site

Component Library Generators for Existing Sites

Goal

Identify a tool for generating a living component/pattern library that can be integrated alongside a pre-existing code base. Ideally should be able to generate static HTML as part of a Grunt/Gulp job.

Finalists

@scottsb
scottsb / m2-cache-cheat-sheet.md
Last active February 22, 2024 14:56
Magento 2 Cache Cheat Sheet

Magento 2 Cache Cheat Sheet

This page lists what caches or directories you will need to clear to apply various types of changes. It is consolidated and adapted from the complete official documentation on directories and caches.

💁 If your development environment supports it, you are better off using Vinai's automatic cache cleaner. As of this writing, the primary reason why it might not work is if your code is hosted on a NFS share (common with Vagrant).

@scottsb
scottsb / fix-description.md
Last active July 5, 2019 20:20
Patch for WooCommerce Auth.net DPM SHA2 Response Calculation

The WooCommerce Authorize.net DPM plugin (v.1.8.0) has a bug in the SHA2 response calculation, causing the following error to appear to customers when they enter invalid credit card information (as well as an email to the merchant admin email):

An error occurred while trying to report this transaction to the merchant. An e-mail has been sent to the merchant informing them of the error. The following is the result of the attempt to charge your credit card.

As a quick fix, open the file class-wc-authorize-net-relay-response-handler.php and search for this bit of code:

! empty( $data[ $hash_field ] )

And replace with this:

@scottsb
scottsb / php-fpm-status-table
Last active June 21, 2023 09:10
PHP-FPM Full Status as Table
#!/usb/bin/env bash
# Update as needed:
# * Status page URL for php-fpm if not at http://127.0.0.1/status
# * Host header of website if required to match correct pool
# Columns (as of PHP 7.1):
# * pid
# * state
# * start time
@scottsb
scottsb / di.xml
Last active August 3, 2019 14:18
Quick Fix Module for Magento2 Issue #21299 (HEAD request returns 404)
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Framework\App\Request\HttpMethodMap">
<arguments>
<argument name="map" xsi:type="array">
<item name="OPTIONS" xsi:type="string">\Magento\Framework\App\Action\HttpOptionsActionInterface</item>
<item name="GET" xsi:type="string">\Magento\Framework\App\Action\HttpGetActionInterface</item>
<item name="HEAD" xsi:type="string">\Magento\Framework\App\Action\HttpGetActionInterface</item>
<item name="POST" xsi:type="string">\Magento\Framework\App\Action\HttpPostActionInterface</item>
<item name="PUT" xsi:type="string">\Magento\Framework\App\Action\HttpPutActionInterface</item>
@scottsb
scottsb / concatenate-jira-comments-to-description.md
Last active December 22, 2021 21:59
Concatenate Jira Comments to Description for Import

Purpose

Reformat Jira ticket export to include comments in the ticket description and to update attachment URLs to include an authorization key.

Background

Jira provides the ability to import from CSV two different ways:

  1. External System Import: A more powerful import accessible only to admins and that is potentially too powerful, auto-creating users and custom fields in a way that may not be desired.