Skip to content

Instantly share code, notes, and snippets.

View niksumeiko's full-sized avatar

Nik Sumeiko niksumeiko

View GitHub Profile
<?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 14:15
Very simple, but perfectly working, email JavaScript validation pattern.
if (!/\S+@\S+\.\S+/.test("email@example.com")) {
// Invalid email address
}
@niksumeiko
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.
// 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 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.
# 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 December 18, 2015 15:48
JavaScript function that returns a random integer within specified range of integers (eg from 0 to 167).
// 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 December 18, 2015 15:49
JavaScript function that returns current UNIX timestamp (eg 1371570826).
// 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 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.
##
# 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 September 8, 2017 17:21
Handlebars templates watcher for WebStorm 6. Watcher complies Handlebars template file to a JavaScript file on every change.
<?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 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.
// 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 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.
<?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();