Skip to content

Instantly share code, notes, and snippets.

@skamenetskiy
skamenetskiy / gist:5202393
Last active December 15, 2015 04:29
PHP Singleton sample
<?php
class Singleton
{
/** @var Singleton $_instance */
private static $_instance = null;
/**
* Returns a single instance of Singleton
/**
* User: Semen Kamenetskiy
* Date: 30.08.13
*/
!function () {
'use strict';
/**
/**
* User: Semen Kamenetskiy
* Date: 05.09.13
*/
!function () {
'use strict';
/**
@skamenetskiy
skamenetskiy / async.js
Last active August 29, 2015 14:08
Asynchronous Js/Css laoder
/**
* @preserve Copyright 2015 Semen Kamenetskiy <skamenetskiy@live.com>
*/
(function (win, doc, TYPE_SCRIPT, TYPE_CSS, TYPE_HEAD, TYPE_OBJECT, TYPE_STRING, TYPE_TEXT_JS, TYPE_TEXT_CSS, REL, MEDIA, ALL) {
var _elementParams = {};
_elementParams[TYPE_SCRIPT] = {
async: true,
type: TYPE_TEXT_JS
@skamenetskiy
skamenetskiy / ie.js
Last active August 29, 2015 14:08
A good way to detect Internet Explorer and it's version with JavaScript #internetexplorer #javascript
/**
* Created by Semen Kamenetskiy <skamenetskiy@live.com>
*/
(function (win, doc, div, i, cc) {
'use strict';
cc = cc
.replace('%3E', '>')
(function (Window, Document, DateObject, ArrayObject, append, d28, d29, d30, d31, undefined) {
var _date = new DateObject(),
_daysInMonth = [d31, d28, d31, d30, d31, d30, d31, d31, d30, d31, d30, d31];
/**
* HTMLElement factory
* @param tag
* @param [attributes]
* @returns {HTMLElement}
@skamenetskiy
skamenetskiy / SearchObject.js
Last active August 29, 2015 14:17
A simple library for adding a searchObject parameter to global location object.
/**
* A simple library for adding a searchObject parameter to global location object.
* The script supports IE7+ and the normal browsers
* @copyright Semen Kamenetskiy <skamenetskiy@live.com>
* @link https://gist.github.com/skamenetskiy/398a7512960e827b4ab2
*/
(function (Window, History, Location, _objectName, _prefix, _states) {
'use strict';
/**
* @copyright Semen Kamenetskiy <skamenetskiy@live.com>
*/
(function (global, undefined) {
'use strict';
/**
* Foreach loop
{"latitude": "52.986375", "user_id": 12, "name": "Christina McArdle", "longitude": "-6.043701"}
{"latitude": "51.92893", "user_id": 1, "name": "Alice Cahill", "longitude": "-10.27699"}
{"latitude": "51.8856167", "user_id": 2, "name": "Ian McArdle", "longitude": "-10.4240951"}
{"latitude": "52.3191841", "user_id": 3, "name": "Jack Enright", "longitude": "-8.5072391"}
{"latitude": "53.807778", "user_id": 28, "name": "Charlie Halligan", "longitude": "-7.714444"}
{"latitude": "53.4692815", "user_id": 7, "name": "Frank Kehoe", "longitude": "-9.436036"}
{"latitude": "54.0894797", "user_id": 8, "name": "Eoin Ahearn", "longitude": "-6.18671"}
{"latitude": "53.038056", "user_id": 26, "name": "Stephen McArdle", "longitude": "-7.653889"}
{"latitude": "54.1225", "user_id": 27, "name": "Enid Gallagher", "longitude": "-8.143333"}
{"latitude": "53.1229599", "user_id": 6, "name": "Theresa Enright", "longitude": "-6.2705202"}
#!/usr/local/bin/node
/**
* Converts current array to flat array
* @returns {Array}
*/
Array.prototype.flatten = function () {
/**
* The result container