Skip to content

Instantly share code, notes, and snippets.

Avatar

Nik Sumeiko niksumeiko

View GitHub Profile
View emailcustomencoder.php
<?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
niksumeiko / emailpatter.js
Created May 27, 2013
Very simple, but perfectly working, email JavaScript validation pattern.
View emailpatter.js
if (!/\S+@\S+\.\S+/.test("email@example.com")) {
// Invalid email address
}
@niksumeiko
niksumeiko / object.equals.js
Last active Dec 18, 2015
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
niksumeiko / git.stash
Created Jun 17, 2013
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
niksumeiko / utils.getRandomInteger.js
Last active Dec 18, 2015
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
niksumeiko / utils.getUNIXTimestamp.js
Last active Dec 18, 2015
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
niksumeiko / mac.emptyTrash
Created Jun 30, 2013
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
niksumeiko / webstorm.watchers.handlebars.xml
Last active Sep 8, 2017
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"?>
<TaskOptions>
<TaskOptions>
/*
* 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
niksumeiko / jquery.scrollDirection.js
Created Jul 14, 2013
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
niksumeiko / laravel.controllers.users.php
Last active Dec 22, 2015
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
<?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();