Skip to content

Instantly share code, notes, and snippets.

@zecka
zecka / sync-folder.ts
Created August 30, 2024 10:10
Typescript : Sync two folder with watch option
import chalk from 'chalk';
import * as fs from 'fs';
import * as path from 'path';
import * as util from 'util';
const copyFile = util.promisify(fs.copyFile);
interface SyncOptions {
sourceDir: string;
targetDir: string;
@zecka
zecka / af-form-success-message.js
Created April 21, 2023 22:49
Acf advanced form show success message on top of form
acf.addAction('af/form/ajax/submission', (data, form) => {
// Reset data.type to prevet af perform success message injection onSuccess
// check --> advanced-forms/assets/js/forms.js
data.type = false
const $form = $('#'+form.key);
// Insert success message right before the form DOM element
$(data.success_message).insertBefore($form)
})
export type GoogleFontName =
| "abeezee"
| "abel"
| "abhayalibre"
| "abrilfatface"
| "aclonica"
| "acme"
| "actor"
| "adamina"
| "adventpro"
@zecka
zecka / all-google-fonts-array.json
Created January 18, 2022 15:12
A complete list of google font in an array
["ABeeZee","Abel","Abhaya Libre","Abril Fatface","Aclonica","Acme","Actor","Adamina","Advent Pro","Aguafina Script","Akaya Kanadaka","Akaya Telivigala","Akronim","Aladin","Alata","Alatsi","Aldrich","Alef","Alegreya","Alegreya SC","Alegreya Sans","Alegreya Sans SC","Aleo","Alex Brush","Alfa Slab One","Alice","Alike","Alike Angular","Allan","Allerta","Allerta Stencil","Allison","Allura","Almarai","Almendra","Almendra Display","Almendra SC","Alumni Sans","Amarante","Amaranth","Amatic SC","Amethysta","Amiko","Amiri","Amita","Anaheim","Andada Pro","Andika","Andika New Basic","Angkor","Annie Use Your Telescope","Anonymous Pro","Antic","Antic Didone","Antic Slab","Anton","Antonio","Arapey","Arbutus","Arbutus Slab","Architects Daughter","Archivo","Archivo Black","Archivo Narrow","Are You Serious","Aref Ruqaa","Arima Madurai","Arimo","Arizonia","Armata","Arsenal","Artifika","Arvo","Arya","Asap","Asap Condensed","Asar","Asset","Assistant","Astloch","Asul","Athiti","Atkinson Hyperlegible","Atma","Atomic Age","Aubrey","A
@zecka
zecka / wp-kses-outside-wordpress.php
Last active May 27, 2020 12:52
wp_kses outside wordpress (Dirty copy of wp_kses)
<?php
function get_charset()
{
return 'utf-8';
}
/**
* kses 0.2.2 - HTML/XHTML filter that only allows some elements and attributes
* Copyright (C) 2002, 2003, 2005 Ulf Harnhammar
@zecka
zecka / html-purifier-example-use.php
Created May 27, 2020 12:51
Example use of HTMLPurifier PHP
<?php
// composer install ezyang/htmlpurifier
require 'vendor/autoload.php';
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.AllowedElements', 'a,i,b,p,div,strong,h1,h2,h3,h4,h5,ol,ul,li,br');
$config->set('HTML.AllowedAttributes', 'href,title,target,name');
$config->set('HTML.Attr.Name.UseCDATA', true);
$config->set('AutoFormat.RemoveEmpty.RemoveNbsp', true);
$config->set('Attr.AllowedFrameTargets', ['_blank']);
@zecka
zecka / valet_new_drupal_site.sh
Created April 17, 2020 12:07
Create a new drupal site on Valet with MAMP on Mac OS
# =============================
# CHECK REQUIREMENTS
# =============================
requirement=1;
#check if pv command exist
if ! which pv >/dev/null; then
echo "You need to install pv"
requirement=0
fi
@zecka
zecka / class-wp-bulk-task.php
Last active April 29, 2020 18:17
Make Bulk taks tool in WordPress admin
<?php
/*
USAGE:
$task = new WP_Bulk_Task('test-bulk-task', 'product');
$task->set_callback(function($post){
error_log($post->ID);
});
$task->set_posts_per_page(1);
$task->register();
*/
@zecka
zecka / Wordpress virtual page
Last active August 9, 2019 15:09 — forked from qutek/Wordpress virtual page
[Wordpress] Virtual Page
<?php
/**
* 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 3 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
@zecka
zecka / measure-execution-time.php
Last active August 7, 2019 13:19
measure execution times of php scripts
<?php
function example_measure_execution_time(){
$start = microtime(true);
// Here your script
$duration = microtime(true) - $start; // in seconds
echo 'the script take '. $duration.' to be executed';
}