Skip to content

Instantly share code, notes, and snippets.

View yavir-me's full-sized avatar

yavir-me

  • Kyiv, Ukraine
View GitHub Profile
@yavir-me
yavir-me / custom_date_format.js
Created August 30, 2016 08:35
Custom date format js (like php date)
//*** This code is copyright 2002-2016 by Gavin Kistner, !@phrogz.net
//*** It is covered under the license viewable at http://phrogz.net/JS/_ReuseLicense.txt
Date.prototype.customFormat = function(formatString){
var YYYY,YY,MMMM,MMM,MM,M,DDDD,DDD,DD,D,hhhh,hhh,hh,h,mm,m,ss,s,ampm,AMPM,dMod,th;
YY = ((YYYY=this.getFullYear())+"").slice(-2);
MM = (M=this.getMonth()+1)<10?('0'+M):M;
MMM = (MMMM=["January","February","March","April","May","June","July","August","September","October","November","December"][M-1]).substring(0,3);
DD = (D=this.getDate())<10?('0'+D):D;
DDD = (DDDD=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][this.getDay()]).substring(0,3);
th=(D>=10&&D<=20)?'th':((dMod=D%10)==1)?'st':(dMod==2)?'nd':(dMod==3)?'rd':'th';
@yavir-me
yavir-me / custom_date_format.js
Created August 30, 2016 08:35
Custom date format js (like php date)
//*** This code is copyright 2002-2016 by Gavin Kistner, !@phrogz.net
//*** It is covered under the license viewable at http://phrogz.net/JS/_ReuseLicense.txt
Date.prototype.customFormat = function(formatString){
var YYYY,YY,MMMM,MMM,MM,M,DDDD,DDD,DD,D,hhhh,hhh,hh,h,mm,m,ss,s,ampm,AMPM,dMod,th;
YY = ((YYYY=this.getFullYear())+"").slice(-2);
MM = (M=this.getMonth()+1)<10?('0'+M):M;
MMM = (MMMM=["January","February","March","April","May","June","July","August","September","October","November","December"][M-1]).substring(0,3);
DD = (D=this.getDate())<10?('0'+D):D;
DDD = (DDDD=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][this.getDay()]).substring(0,3);
th=(D>=10&&D<=20)?'th':((dMod=D%10)==1)?'st':(dMod==2)?'nd':(dMod==3)?'rd':'th';
@yavir-me
yavir-me / sanitize_input.php
Created September 18, 2016 15:39
Sanitize input data
function cleanInputData(){
$sanitized = array();
foreach($_POST as $cur){
$str = trim($cur);
$str = mb_convert_encoding($str, 'UTF-8', 'UTF-8');
$str = htmlentities($str, ENT_QUOTES, 'UTF-8');
array_push($sanitize, $str);
}
return $sanitized;
}
@yavir-me
yavir-me / email_reg_exp.php
Created September 19, 2016 19:13
php email regular expression
emailRegex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$/igm;
@yavir-me
yavir-me / in_array_insensitive.php
Created September 30, 2016 20:16
in array insensitive execution
function inArrayI($needle, $haystack) {
return in_array(strtolower($needle), array_map('strtolower', $haystack));
}
@yavir-me
yavir-me / check_extensions.php
Created September 30, 2016 20:32
check extensions of all the files
if (count($_FILES)) {
foreach ($_FILES as $file) {
$tmp = explode('.', $file['name']);
$ext = end($tmp);
if ($this->inArrayI($ext, $this->img_exts)) {
// do smth
}
}
}
@yavir-me
yavir-me / DBProcessor.php
Last active November 15, 2017 09:13
Replace domain wordpress (whole db)
<?php
require 'DBConnector.php';
class DBProcessor
{
protected $textFieldTypes = ['text', 'blob', 'varchar', 'longtext', 'tinytext', 'text', 'mediumtext'];
public $replacement;
public $replacementWith;
@yavir-me
yavir-me / nestedFilesToArray.php
Created November 28, 2017 15:43
nested files any deep to array
function findFiles($directory, $extensions = array()) {
function glob_recursive($directory, &$directories = array()) {
foreach(glob($directory, GLOB_ONLYDIR | GLOB_NOSORT) as $folder) {
$directories[] = $folder;
glob_recursive("{$folder}/*", $directories);
}
}
glob_recursive($directory, $directories);
$files = array ();
foreach($directories as $directory) {
@yavir-me
yavir-me / tslint.json
Last active February 19, 2019 11:36
tslint json
{
"extends": [
"tslint:latest",
"tslint-react",
"tslint-eslint-rules",
"tslint-config-prettier"
],
"rules": {
"ordered-imports": false,
"no-submodule-imports": false,
@yavir-me
yavir-me / .prettierrc
Last active March 1, 2019 15:29
JS Prettier config
{
"tabWidth": 2,
"semi": false,
"singleQuote": true,
"trailingComma": "es5",
"bracketSpacing": true,
"arrowParens": "always",
"printWidth": 120
}