Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@ve3
ve3 / data-from-versioncontrol-steamdb.php
Last active April 26, 2019 04:45
Kingdom Rush Origins format save data to readable achievements.
<?php
if (!is_file('filtered-savefile.php')) {
die('Unable to get filtered data, please run save-file.php first.');
}
require 'filtered-savefile.php';
// https://steamdb.info/app/816340/history/
@ve3
ve3 / functions.php
Last active July 14, 2019 08:10
Check password hash length for each algo.
<?php
function printDebug($var)
{
echo '<pre>' . print_r($var, true) . '</pre>' . PHP_EOL;
}
/**
@ve3
ve3 / timezone-selectbox.php
Last active November 17, 2019 07:24
Generate timezones list array
<?php
function getTimezones(): array
{
$timezones = \DateTimeZone::listIdentifiers();
$options = [];
$lastRegion = '';
if (is_array($timezones)) {
foreach ($timezones as $key => $timezone) {
$DateTimeZone = new \DateTimeZone($timezone);
@ve3
ve3 / thai-characters.php
Last active August 13, 2020 14:59
PHP: list Thai characters in array. แสดงอักขระภาษาไทยเป็น array.
<?php
echo '<meta charset="utf-8">' . PHP_EOL;
/*for ($i = 0; $i <= 255; $i++) {
$string = chr($i);
echo $i . ' =&gt; ';
echo iconv('tis-620', 'utf-8//IGNORE', $string);
@ve3
ve3 / demo1-max-concurrent-wait-all.html
Last active June 17, 2021 16:41
Ajax (XHR) with max concurrent connection.
<!--demo1-max-concurrent-wait-all.html-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>XHR multi concurrent connection</title>
<style>
#debug {
border: 3px dashed #ccc;
margin: 10px 0;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="rundiz-expandcollapse-list">
<ul>
<li>
@ve3
ve3 / Antibot.js
Last active December 22, 2021 08:39
Spambot prevention
/**
* Antibot JS class.
*/
class Antibot {
/**
* Setup honeypot form group.
@ve3
ve3 / str_contains.php
Last active January 3, 2022 04:50
PHP `str_contains()` polyfill
<?php
if (!function_exists('str_contains')) {
/**
* Determine if a string contains a given substring
*
* @link https://www.php.net/manual/en/function.str-contains.php PHP `str_contains` original document.
* @param string $haystack The string to search in.
* @param string $needle The substring to search for in the `haystack`.
* @return bool Returns `true` if `needle` is in `haystack`, `false` otherwise.
@ve3
ve3 / fa6-icons-renamed.php
Created March 12, 2022 07:04
Font Awesome 6 icons renamed
<?php
// Icons that was renamed in Font Awesome 6. 👎👎👎👎👎
// https://fontawesome.com/docs/web/setup/upgrade/whats-changed#icons-renamed-in-version-6
// The array format is [old name] => new name.
// The first array set is without `fa-` prefix.
$renamed = array (
'ad' => 'rectangle-ad',
'adjust' => 'circle-half-stroke',
'air-freshener' => 'spray-can-sparkles',
@ve3
ve3 / YouTubeURL.js
Created December 14, 2022 10:55
JavaScript YouTube URL class
/**
* YouTube URL.
*
* @author Vee W.
*/
class YouTubeURL {