Skip to content

Instantly share code, notes, and snippets.

@swport
swport / awesm.md
Created January 1, 2018 09:27 — forked from matula/awesm.md
Awesome PHP stuff in one Gist
@swport
swport / cliserver.php
Created March 28, 2018 13:23 — forked from ckressibucher/cliserver.php
Router script for PHP built in server
<?php
// public/cliserver.php (router script)
if (php_sapi_name() !== 'cli-server') {
die('this is only for the php development server');
}
if (is_file($_SERVER['DOCUMENT_ROOT'].'/'.$_SERVER['SCRIPT_NAME'])) {
// probably a static file...
return false;
@swport
swport / rebuild-cache.php
Created April 30, 2018 05:34 — forked from phpdreams/rebuild-cache.php
Speaker List Cache Generation
<?php
// this will read in all the speakers, sort them by date, then store in a file for use later
$speakerList = [
'speaker-file',
];
$speakers_all = [];
foreach($speakerList as $speaker) {
$speakers_all[$speaker] = include_once("./speakers/{$speaker}.php");
$speakers_all[$speaker]['bullet-points'] = text2bullets($speakers_all[$speaker]['bullet-points']);
@swport
swport / dependencyResolver.php
Last active October 24, 2018 08:41
Simple Dependency Resolver in PHP. Dependency Autowiring.
<?php
/*
* USAGE:
*
* // this is where I define all my dependencies in case if they are not directly instantiable (resolvable)
* $deps = array(
* 'DependentClass' => array(
* 'depclass' => 'DependencyClass'
* )
* );
<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="de"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="de"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="de"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="de"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<title></title>
@swport
swport / woocommerce_payment_process_rest.php
Last active June 25, 2023 06:31
WordPress Rest API endpoint to process payments via WC
<?php
/*
* Suitable for NON-HOSTED payment gateways wallets, funds, etc.
*
* You can also process HOSTED payment gateways like paypal, but you'll get a rediect URL at the end
* and you have to handle that depending on what client (android, ios) you're catering to.
* You can have the redirect URL open up in a web-view-client and collect payment.
*
**/
@swport
swport / countries_list.php
Created January 21, 2021 13:53
Countries List PHP Array
<?php
return array (
0 =>
array (
'id' => 1,
'name' => 'Afghanistan',
'iso3' => 'AFG',
'iso2' => 'AF',
'phone_code' => '93',
'capital' => 'Kabul',
@swport
swport / states_regions_provinces.php
Created January 21, 2021 13:57
States / Regions / Provinces List PHP Array
<?php
return array (
0 =>
array (
'id' => 3901,
'name' => 'Badakhshan',
'country_id' => 1,
'state_code' => 'BDS',
),
1 =>
@swport
swport / cart_context_reactjs.js
Last active June 6, 2021 07:53
Cart Context in ReactJS
import React, {
createContext,
useEffect,
useReducer
} from 'react';
const lStorage = require('store'); // store.js library
export const CartContext = createContext();
@swport
swport / useAxiosLoader.ts
Last active February 25, 2023 19:21
Axios react-hook to know how many network requests are currently running
import axios from 'axios';
const addToast = (message: string, type: 'success' | 'error') => {
/// add logic to show toast
};
// hook to know if there are network requests currently running
// and how many are running
export const useAxiosLoader = () => {
const [counter, setCounter] = React.useState(0);