Skip to content

Instantly share code, notes, and snippets.

@cviebrock
cviebrock / CompactFunction.php
Created August 16, 2017 14:14
Twig `compact` function
<?php
class CompactFunction extends Twig_Extension
{
/**
* @inheritdoc
*/
public function getFunctions()
{
@cviebrock
cviebrock / dovecot-maildir-compress.sh
Last active November 26, 2022 16:21 — forked from cs278/dovecot-maildir-compress.sh
Compresses email in maildir format
#!/bin/sh
# Find the mails you want to compress in a single maildir.
#
# Skip files that don't have ,S=<size> in the filename.
#
# Compress the mails to tmp/
#
# Update the compressed files' mtimes to be the same as they were in the original files (e.g. touch command)
#
@cviebrock
cviebrock / crypter.php
Last active October 8, 2021 17:31
Replacement for Laravel 3.2's crypter class, that doesn't require mcrypt
<?php namespace Laravel; defined('DS') or die('No direct script access.');
/**
* The mcrypt library was deprecated in PHP7.2, so I couldn't run old Laravel 3.2
* applications anymore. Rather than upgrade the whole application, you can just
* replace the `/laravel/crypter.php` file with this one, which uses the
* OpenSSL library instead of mcrypt.
*/
@cviebrock
cviebrock / ElasticLoggingProvider.php
Created September 29, 2016 14:57
Log Laravel to Elastic/Logstash
<?php namespace App\Providers;
use Elastica\Client;
use Illuminate\Support\ServiceProvider;
use Monolog\Formatter\LogstashFormatter;
use Monolog\Handler\ElasticSearchHandler;
class ElasticLoggingProvider extends ServiceProvider
{
@cviebrock
cviebrock / vincenty.sql
Created August 14, 2017 20:56
Vincenty distance formula as a MySQL function
CREATE FUNCTION VINCENTY(
lat1 FLOAT, lon1 FLOAT,
lat2 FLOAT, lon2 FLOAT
) RETURNS FLOAT
NO SQL
DETERMINISTIC
COMMENT 'Returns the distance in degrees on the Earth between two known points
of latitude and longitude using the Vincenty formula from:
http://en.wikipedia.org/wiki/Great-circle_distance'
BEGIN
@cviebrock
cviebrock / max-z-index.js
Created April 9, 2021 17:22
Get max z-index of all elements on a page
const reducer = (max, elem) => {
const s = window.getComputedStyle(elem);
const z = parseInt(s.getPropertyValue('z-index'), 10) || 0;
return Math.max(max, z);
};
const maxZ = Array.from(document.getElementsByTagName('*'))
.reduce(reducer, Number.MIN_SAFE_INTEGER);
@cviebrock
cviebrock / .powerlevelrc
Last active October 15, 2020 03:14
PowerLevel9K configuration
# General
POWERLEVEL9K_MODE='nerdfont-complete'
POWERLEVEL9K_COLOR_SCHEME='dark'
# Prompts
if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir virtualenv vcs)
else
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(root_indicator dir virtualenv vcs)
fi
@cviebrock
cviebrock / select2-foundation5.css
Created December 20, 2013 15:56
Select2 CSS for Zurb Foundation 5
/*
Version: 3.4.5 Timestamp: Mon Nov 4 08:22:42 PST 2013
*/
.select2-container {
margin: 0 0 1rem 0;
position: relative;
vertical-align: middle;
font-family: inherit;
-webkit-appearance: none !important;
font-size: 0.875rem;
<?php
class :{
public static function ()($x) {
return $x;
}
public static function rеturn ($x) {
echo $x;
}
}
@cviebrock
cviebrock / switch-php.sh
Created April 17, 2018 15:21
Helper to switch between brew versions of PHP
#!/usr/bin/env bash
CX="\033[0m"
CR="\033[31m"
CG="\033[32m"
CY="\033[33m"
FULL_VER=`php -r 'echo phpversion();'`
VER=`php -r 'echo phpversion();' | cut -d '.' -f1,2`
echo -e "${CY}Current PHP version:${CX} ${FULL_VER}";