Skip to content

Instantly share code, notes, and snippets.

View mbunge's full-sized avatar
💭
tinker, tinker, ponder, ponder

Marco Bunge mbunge

💭
tinker, tinker, ponder, ponder
View GitHub Profile
@mbunge
mbunge / stanalone_view.php
Created June 24, 2013 13:22
Read and reander views by recursion
<?php
class View {
public function throwException($message){
throw new Exception($message);
}
public function getPagesBySection($targetSection,$targetFolder,$decoratorCallback=null){
@mbunge
mbunge / xgs.scss
Last active December 19, 2015 08:58
Nextlevel Gridssystem - XGS by Marco Bunge of rubymatrix.de <marco.bunge@rubymatrix-de>. Based on 960gs (http://960.gs)
/*-----------------------------------------------------
Nextlevel Gridssystem - XGS
by Marco Bunge of rubymatrix.de <marco.bunge@rubymatrix-de>.
Based on 960gs (http://960.gs)
SASS Core
-------------------------------------------------------*/
/* Grid Settings
---------------------------*/
@mbunge
mbunge / loadjsfile.js
Created July 28, 2013 16:48
Load JavaScript asynchrone
var loadJsFile = function (filename) {
var fileref = document.createElement('script')
fileref.setAttribute("type", "text/javascript")
fileref.setAttribute("src", filename)
if (typeof fileref != "undefined") {
document.getElementsByTagName("head")[0].appendChild(fileref)
}
}
@mbunge
mbunge / impex.php
Last active December 22, 2015 07:39
ImpEx is managing profiles as anonymous functions. Each profile receive current ImpEx object and data of previous profile and return processed data. All profiles will executed by running order.
<?php
class ImpEx {
private $data = null;
private $rawData = null;
private $processData = null;
private $profiles = null;
const CSV_DELIMITER = ',';
const CSV_DELIMITER_EXCEL = ';';
@mbunge
mbunge / gulpfile.js
Created January 29, 2014 13:52
PHPUnit with latest gulp 3.5.0 +
var gulp = require('gulp');
var sys = require('sys');
var gutil = require('gulp-util');
var exec = require('gulp-exec');
gulp.task('phpunit', function() {
gulp.src('./tests').pipe(
exec('phpunit --bootstrap tests/bootstrap.php -c tests/phpunit.xml tests/', function(error, stdout){
sys.puts(stdout);
return false;
@mbunge
mbunge / numberFormat.js
Last active August 29, 2015 14:16
Formatting numbers in Javascript with correct rounding. Binding as Prototype to number.
//Plain method
var numberFormat = function (number, decPlaces, decSeparator, thouSeparator) {
decPlaces = isNaN(decPlaces = Math.abs(decPlaces)) ? 2 : decPlaces;
decSeparator = decSeparator == undefined ? "." : decSeparator;
thouSeparator = thouSeparator == undefined ? "," : thouSeparator;
var roundAndReduceDecimals = function (num, length) {
return Math.round(num * Math.pow(10, length)) / Math.pow(10, length);
};
@mbunge
mbunge / Input.php
Last active August 29, 2015 14:16
Simple input class to fetch input data without usage of global vars like $_POST. Get in touch and follow at twitter http://twitter.com/makk_eightbit! Thank you!
<?php
/**
* @author Marco Bunge <marco_bunge@web.de>
* @copyright 2015 Marco Bunge
* Get in touch and follow at twitter http://twitter.com/makk_eightbit! Thank you!
*/
/**
* Class Input
*/
@mbunge
mbunge / domIoC.js
Last active August 29, 2015 14:16
Inversion of control for dom element. Get in touch and follow at twitter http://twitter.com/makk_eightbit! Thank you!
/**
* @author Marco Bunge <marco_bunge@web.de>
* @copyright 2015 Marco Bunge http://marco-bunge.de
* @licence MIT http://opensource.org/licenses/MIT
*
* Get in touch and follow me at twitter http://twitter.com/makk_eightbit! Thank you!
*
* Inversion of control for dom elements.
* Allows you to bind custom logic, plugins, etc. to a dom element.
* The binding is referencing passed data attributes.
@mbunge
mbunge / adjustToAspectRatio.js
Created March 11, 2015 14:35
Adjust element to an aspect ratio based on height or width. Get in touch and follow me at twitter http://twitter.com/makk_eightbit! Thank you!
/**
* @author Marco Bunge <marco_bunge@web.de>
* @copyright 2015 Marco Bunge http://marco-bunge.de
* @licence MIT http://opensource.org/licenses/MIT
*
* Get in touch and follow me at twitter http://twitter.com/makk_eightbit! Thank you!
*
* Adjust element to an aspect ratio based on height or width.
* Default aspect ratio is 16:9 (tv)
* Usage:
@mbunge
mbunge / angula-parsley.js
Created August 19, 2015 15:05
Use Parsley 2.0 with angular 1.4.x. Jquery 1.11.x or 2.x required!
/**
* Created by Marco Bunge on 18.08.2015.
* Inspired by http://ryanalberts.com/797/parsley-validation-with-angularjs/
*/
(function (angular, jq, window, document) {
'use strict';
//var ngParsley = angular.module('parsley', [])
//ngParsley.constant('parsleyConfig', {});
var ngParsleyJs = angular.module('parsley', []);