Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
never stop.

Matheus Pratta MatheusMK3

💭
never stop.
View GitHub Profile
View wpu_get_nav_menu.fn.php
<?php
/**
* Processa um menu do WordPress de acordo com a localização no tema
* Sintaxe: wpu_get_nav_menu ($localização, $returns = null)
* Sintaxe: wpu_get_nav_menu_array ($menu, $args = array())
* Autor: Matheus Pratta <eu@matheus.io>
*/
function wpu_get_nav_menu ($location, $returns = null) {
// Obtemos as posições de menu no tema
View fn.find_best_match.php
<?php
/**
* string find_best_match (string $word, array $db, float &$best_match_score);
* Compares $word with each ocurrence in $db, then results the closest matching string.
* Also returns how much both words matched in %.
*/
function find_best_match ($word, $db, &$best_match_score) {
// Initialize our comparison variables
$best_match = $word;
$best_match_score = 0;
@MatheusMK3
MatheusMK3 / popups-infinitos.html
Created Apr 22, 2018
Exemplo de bug no Chrome, que permite criação de popups infinitos sem interação de usuário.
View popups-infinitos.html
<!DOCTYPE html>
<html>
<head>
<title>Google Chrome Popup Bypass</title>
<script type="text/javascript">
/**
* Fonte: Custom Chromium Build to Reverse Engineer Pop-Under Trick <https://www.youtube.com/watch?v=y6Uzinz3DRU>
* Por algum motivo, os eventos "message" do Chrome são tratados como ações causadas pelo usuário, o que resulta na possibilidade de se criar popups infinitos, sem qualquer interação do usuário.
* Também possibilita exibir mais de um popup a partir de cliques de mouse e até mesmo a criação de "popunder", um popup que fica abaixo da janela atual.
*/
@MatheusMK3
MatheusMK3 / image-optimizer.js
Last active Feb 20, 2018
Easy-peasy image optimizer in jQuery. Enables page-wide lazy-loading.
View image-optimizer.js
/**
* jQuery Image Optimizer
* Lazy-loads images + background-images
* by Matheus Pratta <https://github.com/MatheusMK3>
*/
window.optimize_images = () => {
// Placeholder image, should be a 1x1 GIF in base64
var placeholder = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
@MatheusMK3
MatheusMK3 / google-font-packager.php
Created Feb 11, 2018
CLI tool to download Google Fonts into a local directory, in WOFF2 format, while rewriting Google Fonts CSS to point to local files.
View google-font-packager.php
<?php
/************************************************************************************************
* Google Font Packager
* Version 1.0 (2018-02-11)
* by Matheus Pratta (https://github.com/matheusmk3)
*/
if (!isset($argv[1]))
die ('Usage: google-font-packager.php [google-font-import-url [output-file.css]]');
View Keybase.gist
### Keybase proof
I hereby claim:
* I am matheusmk3 on github.
* I am matt_pratta (https://keybase.io/matt_pratta) on keybase.
* I have a public key ASCmjAFCKokPiTDRDM9RhHwXtS0RX3qh2bb6EBfWYz4Vzgo
To claim this, I am signing this object:
@MatheusMK3
MatheusMK3 / cf7_cidades_estados.js
Last active Jul 7, 2017
Plugin para o Contact Form 7 que converte campos de texto "Cidade/Estado" em campos select de preenchimento automático
View cf7_cidades_estados.js
// Plugin de Cidade/Estado para ContactForm7
// Por Matheus Pratta <eu@matheus.io>
// Uso: cf7_cidades_estados('#seletorEstado', '#seletorCidade');
function cf7_cidades_estados (iEstado, iCidade) {
var base_dados = {"Acre":[{"id":79,"nome":"Acrelândia","estado_id":1,"created_at":null,"updated_at":null},{"id":80,"nome":"Assis Brasil","estado_id":1,"created_at":null,"updated_at":null},{"id":81,"nome":"Brasiléia","estado_id":1,"created_at":null,"updated_at":null},{"id":82,"nome":"Bujari","estado_id":1,"created_at":null,"updated_at":null},{"id":83,"nome":"Capixaba","estado_id":1,"created_at":null,"updated_at":null},{"id":84,"nome":"Cruzeiro do Sul","estado_id":1,"created_at":null,"updated_at":null},{"id":85,"nome":"Epitaciolândia","estado_id":1,"created_at":null,"updated_at":null},{"id":86,"nome":"Feijó","estado_id":1,"created_at":null,"updated_at":null},{"id":87,"nome":"Jordão","estado_id":1,"created_at":null,"updated_at":null},{"id":88,"nome":"Mâncio Lima","estado_id":1,"created_at":null,"updated_at":null},{"
@MatheusMK3
MatheusMK3 / whatever.css
Created May 8, 2017
Always-visible element with shadows
View whatever.css
/* Apply this to a class, so the object is always visible */
.some-class {
box-shadow: inset 0px 0px 2px rgba(255,255,255,0.35), 0px 0px 2px rgba(0, 0, 0, 0.5);
}
@MatheusMK3
MatheusMK3 / array_multilevel.php
Last active Jan 18, 2017
PHP helper to retrieve and set data on multi-level arrays
View array_multilevel.php
public static function array_multilevel (&$array, $name, $fn = null, $separator = '.') {
$name_tree = explode($separator, $name);
if (count($name_tree) > 1) {
$name_tree = array_reverse($name_tree);
$name = array_pop($name_tree);
$name_tree = array_reverse($name_tree);
$name_tree = implode($separator, $name_tree);
if (!isset($array[$name]))
@MatheusMK3
MatheusMK3 / Benchmark.php
Created Jan 13, 2017
PHP / Laravel 5 Benchmark Tool
View Benchmark.php
<?php
namespace App;
class Benchmark {
private static $_times = [];
private static $_last_time = null;
private static $_last_name = null;
public static function run ($name = 'Unnamed Test') {