Skip to content

Instantly share code, notes, and snippets.

View lkraav's full-sized avatar
🎯
Focusing

Leho Kraav lkraav

🎯
Focusing
View GitHub Profile
@lkraav
lkraav / 8kzenrecover.py
Created November 17, 2009 20:57
8kzenrecover.py
#!/usr/bin/python
# Copyright 2007 by Tobia Conforto <tobia.conforto@gmail.com>
#
# This program is free software; you can redistribute it and/or modify it under the terms of the GNU General
# Public License as published by the Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
@lkraav
lkraav / woocommerce-coupons-default-individua-use.php
Created April 8, 2020 08:53
Micro-plugin to make new WooCommerce coupons default "Individual use only" checkbox ON in the editor
/**
* Default coupon editor to enable individual use.
* Avoid stacked coupon discount abuse / admin mistakes.
*
* @see https://gist.github.com/bryceadams/6bb8ff287e1016b933c593d755e25a86
* @since 2020.04.07
*/
add_action( 'woocommerce_coupon_options', static function( $coupon_id, $coupon ) {
if ( 'auto-draft' === get_post_status( $coupon_id ) ) {
$coupon->set_individual_use( true );
@lkraav
lkraav / grub.cfg
Created April 7, 2011 15:11
Boot Multiple ISO from USB via Grub2 using Linux, using http://www.pendrivelinux.com/boot-multiple-iso-from-usb-via-grub2-using-linux/ as starting point. Idea is that this gist would accumulate known configurations for booting various ISOs with correct pa
# This grub.cfg file was created by Lance http://www.pendrivelinux.com
# Suggested Entries and the suggestor, if available, will also be noted.
# Adding an Unlisted ISO: To try ISO Files that are not yet listed, use
# the existing menuentry examples in /boot/grub/grub.cfg and append any
# options normally found in the distributions syslinux.cfg file on the
# "append" line to the "linux" line of the menu entry.
set timeout=10
set default=0
<?xml version="1.0"?>
<psalm
errorLevel="1"
reportMixedIssues="false"
resolveFromConfigFile="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
>
<projectFiles>
@lkraav
lkraav / less-rewrite-rules.php
Created May 27, 2020 11:08
Sometimes you don't need all stock rewrite rules
<?php
/*
Plugin Name: Less Rewrite Rules
Plugin URI: https://conversionready.com
Description: Less matching, more speed. Removes "attachment", "feed", "trackback" rewrites.
Author: Leho Kraav
Author URI: https://conversionready.com
Version: 2015.05.01
License: MIT
*/
@lkraav
lkraav / pods-act-data-save.php
Last active February 14, 2019 08:42
Working with Pods - Advanced Content Types, data save example https://www.meetup.com/Tallinn-WordPress-meetup/events/257955635/
try {
$counts = $client->counts->getCounts( [] );
if ( isset( $counts->type ) && 'count.hash' === $counts->type ) {
$pod_name = 'metric';
$pod = pods(
$pod_name,
diff --git a/embedded/inc/views-templates/wpv-template.class.php b/embedded/inc/views-templates/wpv-template.class.php
index 62586ce..52c2ea4 100644
--- a/embedded/inc/views-templates/wpv-template.class.php
<script>
(function( $, window, document, undefined ) {
/**
* `VariationForm.update_variation_values` can only differentiate
* variations by `value` attributes. Our secondary dimension is
* `data-variation-id`. Memoize original selection here.
*
* @see {@link https://github.com/woocommerce/woocommerce/blob/2.6.14/assets/js/frontend/add-to-cart-variation.js}
* @see {@link https://github.com/woocommerce/woocommerce/issues/12929}
(function(){
// @version 2016.03.11
var experimentID = COPY_PASTE_ID_FROM_URL;
window.optimizely = window.optimizely || [];
// avoid firing in editor
if (window.optimizely.activeExperiments.indexOf(experimentID.toString()) == -1) return;
if (typeof window.optimizely.data.experiments[experimentID] !== 'undefined') {
(function(){
// @version 2016.03.11
var experimentID = COPY_PASTE_ID_FROM_URL;
window.optimizely = window.optimizely || [];
// avoid firing in editor
if (window.optimizely.activeExperiments.indexOf(experimentID.toString()) == -1) return;
if (typeof window.optimizely.data.experiments[experimentID] !== 'undefined') {