Skip to content

Instantly share code, notes, and snippets.

View tott's full-sized avatar

Thorsten Ott tott

  • Germany, Cologne area
View GitHub Profile
@tott
tott / ip_in_range.php
Created November 27, 2013 22:46
php check if IP is in given network range
/**
* Check if a given ip is in a network
* @param string $ip IP to check in IPV4 format eg. 127.0.0.1
* @param string $range IP/CIDR netmask eg. 127.0.0.0/24, also 127.0.0.1 is accepted and /32 assumed
* @return boolean true if the ip is in this range / false if not.
*/
function ip_in_range( $ip, $range ) {
if ( strpos( $range, '/' ) == false ) {
$range .= '/32';
}
@tott
tott / gist:2572405
Created May 1, 2012 23:39
debugging WordPress rewrite rules
<?php
add_action( 'generate_rewrite_rules', 'debug_action_generate_rewrite_rules', 1, 1 );
// debug http://core.trac.wordpress.org/browser/trunk/wp-includes/rewrite.php#L1592
// this should only be hit if the rewrite_rules option is empty.
// http://core.trac.wordpress.org/browser/trunk/wp-includes/rewrite.php#L1616
function debug_action_generate_rewrite_rules( $rules ) {
global $debug_action_rules;
error_log( __FUNCTION__ . ' : ' . __LINE__ );
error_log( var_export( $_SERVER, true ) );
error_log( "Rules Option: " . var_export( get_option( 'rewrite_rules' ), true ) );
@tott
tott / gist:3895832
Created October 15, 2012 21:57
create cpu load in python
#!/usr/bin/env python
"""
Produces load on all available CPU cores
"""
from multiprocessing import Pool
from multiprocessing import cpu_count
def f(x):
while True:
@tott
tott / group-fields.php
Last active September 27, 2022 13:26
ElasticPress group meta fields
<?php
add_filter(
'ep_prepare_meta_data',
function ( $meta ) {
$meta_groups = [
'group1' => [
'_sku',
'_sale_price_dates_from',
'_sale_price_dates_to',
],
@tott
tott / harvest-bugger.php
Created February 3, 2014 11:04
For all those people who forget to run their harvest timer. Here's a little script that will bug you when you do. Runs on OSX.
<?php
/**
* Helper script that can be run in cron to bug you when you forgot to run a harvest timer.
* install terminal-notifier via:
* sudo gem install terminal-notifier
* Make sure to adjust your credentials.
* Schedule via crontab -e to run weekdays 9-5
* <star>/10 09-17 * * 1-5 php <path-to-script>
* replace <star> with *
*/
@tott
tott / debug_http_requests.php
Created May 22, 2019 14:19
debug_http_requests.php Debug WordPress http api requests
<?php
add_action( 'http_api_debug', 'my_http_api_debug', 10, 5 );
function my_http_api_debug( $response, $type, $class, $args, $url ) {
error_log( 'requested url: ' . var_export( $url, true ) );
error_log( 'arguments: ' . var_export( $args, true ) );
error_log( 'http response : ' . var_export( $response, true ) );
}
@tott
tott / gist:7125b5cfa1bd48d8da0e9ad89256c802
Created November 24, 2018 20:59
polybar popup calendar
polybar config
[module/date]
type = custom/script
exec = ~/scripts/popup-calendar.sh
interval = 5
click-left = ~/scripts/popup-calendar.sh --popup
format-background = ${colors.alt-background}
format-foreground = ${colors.alt-foreground}
label = %output:25%
@tott
tott / import-teamwork.sh
Created October 12, 2020 14:48
Get Tasks currently assigned to you from Teamwork api and import to topydo
#!/usr/bin/env bash
# Get token from edit profile API & Mobile https://developer.teamwork.com/projects/apikey/key
# Get auth string by base64 encoding <token>:<randomstring>
# https://www.base64encode.org/ can be used to create such encoded string
token=<authstring>
authString="Authorization: Basic $token"
# Get user id from your profile url (/#/people/<userid>/tasks)
userId=<userid>
@tott
tott / gist:1782a7fe1b8158eeb13ab632e2663574
Created September 21, 2020 12:19
ElasticPress allow _wysiwig_ meta_keys in searches
add_filter(
'ep_weighting_configuration_for_search',
function( $weighting_config ) {
global $wpdb;
$post_meta = get_transient( 'custom_ep_distinct_post_meta' );
if ( ! $post_meta ) {
$post_meta = $wpdb->get_col(
"SELECT DISTINCT meta_key
FROM {$wpdb->postmeta} pm
@tott
tott / hide_repeater_meta_from_elasticpress.php
Created March 19, 2020 19:56
Hide repeater styrle fields following the pattern ..._0_... from indexing in ElasticPress
add_filter( 'ep_prepare_meta_data', function( $meta ) { 
foreach( $meta as $key => $value ) {
if ( preg_match( '/.+_([0-9]+)_.+/', $key ) ) {
unset( $meta[$key] );
}
}
return $meta;
} );