Skip to content

Instantly share code, notes, and snippets.


Nik Sumeiko niksumeiko

View GitHub Profile
View emailcustomencoder.php
function tep_rewrite_email($content) {
$email_patt = '([A-Za-z0-9._%-]+)\@([A-Za-z0-9._%-]+)\.([A-Za-z0-9._%-]+)';
$mailto_pattern = '#\<a[^>]*?href=\"mailto:\s?' . $email_patt . '[^>]*?\>[^>]*?<\/a\>#';
$rewrite_result = '<span class="mailme">\\1 AT \\2 DOT \\3</span>';
$content = preg_replace($mailto_pattern, $rewrite_result, $content);
$content = preg_replace('#' . $email_patt . '#', $rewrite_result, $content);
niksumeiko / emailpatter.js
Created May 27, 2013 14:15
Very simple, but perfectly working, email JavaScript validation pattern.
View emailpatter.js
if (!/\S+@\S+\.\S+/.test("")) {
// Invalid email address
niksumeiko / object.equals.js
Last active December 18, 2015 12:19
JavaScript function that I am using to compare 2 JavaScript object without taking in mind prototypes of these objects.
View object.equals.js
// Function that compares 2 objects
function equals(obj1, obj2, skip) {
var i, l;
if ( typeof obj1 === "object" && typeof obj2 === "object") {
obj1 = JSON.stringify(obj1);
obj2 = JSON.stringify(obj2);
if (skip && skip.length) {
obj1 = JSON.parse(obj1);
niksumeiko / git.stash
Created June 17, 2013 18:43
Use 'git stash [, pop]' to commit to the proper GIT branch when discovered that you have made local changes in an inappropriate branch.
View git.stash
# Sometimes we discover that local changes we have made in our GIT project
# are not related to the branch we currently work in.
# So we need to switch the propoer branch before committing the changes.
# 'git stash [, pop]' is going to solve the problem easily.
# 1. While you have uncommitted changes, 'stash' them to create a temporary
# commit of the current state of the working copy (both cached and
# uncached files) and to revert the working copy to the current HEAD:
git stash
niksumeiko / utils.getRandomInteger.js
Last active December 18, 2015 15:48
JavaScript function that returns a random integer within specified range of integers (eg from 0 to 167).
View utils.getRandomInteger.js
// Returns a random integer between min and max.
function getRandomInteger(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
niksumeiko / utils.getUNIXTimestamp.js
Last active December 18, 2015 15:49
JavaScript function that returns current UNIX timestamp (eg 1371570826).
View utils.getUNIXTimestamp.js
// Returns UNIX timestamp.
// Sometimes visible in different JavaScript developers teams as now().
function getUNIXTimestamp() {
return Math.round((new Date()).getTime() / 1000);
niksumeiko / mac.emptyTrash
Created June 30, 2013 10:16
Mac Terminal command that securely removes files from Trash using incredibly secure 35-pass method. That basically means that first the data is removed, then written over 35 times using randomly generated patterns, making recovery quite literally impossible.
View mac.emptyTrash
# Command to empty Trash with 35-pass security method. This is the most secure deletion,
# so you will not be able to recover any file deleted with this method.
# Replace <MAC_USER> with your Mac username.
srm -rfv /Users/<MAC_USER>/.Trash/*
# Command to empty Trash with 7-pass security method that meets the
niksumeiko / webstorm.watchers.handlebars.xml
Last active September 8, 2017 17:21
Handlebars templates watcher for WebStorm 6. Watcher complies Handlebars template file to a JavaScript file on every change.
View webstorm.watchers.handlebars.xml
<?xml version="1.0" encoding="UTF-8"?>
* Compiled .js files are saved into generated '/compiled' folder.
<option name="arguments" value="$FileDir$/$FileName$ -f $FileDir$/compiled/$FileNameWithoutExtension$.js" />
<option name="checkSyntaxErrors" value="false" />
<option name="description" value="Compiles .handlebars, .hbs templates into .js files" />
<option name="exitCodeBehavior" value="ERROR" />
niksumeiko / jquery.scrollDirection.js
Created July 14, 2013 09:03
jQuery function that identifies page scrolling direction. Used when it's needed to apply different functionality for different (up/down) scrolling directions.
View jquery.scrollDirection.js
// Variable that is going to hold previous 'document' scrollTop
// value (/vertical scrollbars position).
var prevScrollTop;
// Function that returns 'true' (/boolen) if user scrolls the
// page up, 'false' (/boolen) if user scrolls the page down.
function scrollsUp(scrollTop) {
var before = prevScrollTop;
niksumeiko / laravel.controllers.users.php
Last active December 22, 2015 06:49
Demonstration of PHP Laravel framework Response class methods that sets custom HTTP status codes in your Controller response. Especially handy when wish to manage your REST API error responses.
View laravel.controllers.users.php
class Users_Controller extends Base_Controller {
public function action_index() {
$id = Input::get('id');
if ($id) {
$user = DB::table('users')->where('id', $id)->first();