Skip to content

Instantly share code, notes, and snippets.

@ivoba
ivoba / IndexController.php
Created July 10, 2012 10:15
symfony2 caching data via doctrine/commons
$cache = $this->get('cache');
$cache->setNamespace('mynamespace.cache');
if (false === ($cached_data = $cache->fetch($cache_key))) {
$cached_data = $SOMEAPI->getData($params);
$cache->save($cache_key, $cached_data, 3600);//TTL 1h
}
@ivoba
ivoba / IndexController.php
Created July 30, 2012 09:21
Symfony2 caching with LiipDoctrineCacheBundle
$cache = $container->get('liip_doctrine_cache.ns.[mynamespace]');
if (false === ($cached_data = $cache->fetch($cache_key))) {
$cached_data = $SOMEAPI->getData($params);
$cache->save($cache_key, $cached_data, 3600);//TTL 1h
}
<?php
class MemberProfileFieldExtension extends DataExtension {
public static $db = array(
'SortOrder' => 'Int'
);
function updateCMSFields(FieldList $fields) {
$fields->push(new NumericField('SortOrder', 'SortOrder'));
@ivoba
ivoba / app.js
Last active December 26, 2015 04:59
bower & masonry & imagesloaded & requirejs
define(['masonry/masonry', 'imagesloaded/imagesloaded'], function(Masonry, imagesLoaded) {
$(document).ready(function() {
var container = document.querySelector('#masonry');
imagesLoaded(container, function() {
var msnry = new Masonry(container, {
columnWidth: 200,
gutter: 20,
itemSelector: '.item',
isFitWidth: true
});
@ivoba
ivoba / post-merge
Created November 13, 2014 17:13
post-merge hook for composer php apps
#/usr/bin/env bash
# MIT © Sindre Sorhus - sindresorhus.com
# forked by Gianluca Guarini
# phponly by Ivo Bathke ;)
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
@ivoba
ivoba / Dockerfile
Created February 20, 2015 16:28
php5.5 with pimple c extension
FROM ubuntu:14.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y \
php5-dev \
php5-cli \
php5-fpm \
php5-json \
php5-intl \
@ivoba
ivoba / gist:faf0cff10410024f87e0
Created June 17, 2015 13:07
VarDumper dump javascript error #15015
<script> Sfdump = window.Sfdump || (function (doc) { var refStyle = doc.createElement('style'), rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/; doc.documentElement.firstChild.appendChild(refStyle); function toggle(a) { var s = a.nextSibling || {}; if ('sf-dump-compact' == s.className) { a.lastChild.innerHTML = '&#9660;'; s.className = 'sf-dump-expanded'; } else if ('sf-dump-expanded' == s.className) { a.lastChild.innerHTML = '&#9654;'; s.className = 'sf-dump-compact'; } else { return false; } return true; }; return function (root) { root = doc.getElementById(root); function a(e, f) { root.addEventListener(e, function (e) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } }); }; root.addEventListener('mouseover', function (e) { if ('' != refStyle.innerHTML) { refStyle.innerHTML = ''; } }); a('mouseover', function (a) { if (a = idRx.exec(a.className)) { refStyle.innerHTML = 'pre.sf-dump .'+a[0]+'{background-col
# Your init script
#
# Atom will evaluate this file each time a new window is opened. It is run
# after packages are loaded/activated and after the previous editor state
# has been restored.
#
# An example hack to log to the console when each text editor is saved.
#
# atom.workspace.observeTextEditors (editor) ->
# editor.onDidSave ->
@ivoba
ivoba / SS4_lemp_config.conf
Last active January 9, 2018 08:38
SS4 lemp config
server {
listen 80;
# server_name domain.tld www.domain.tld;
index index.php;
root /var/www/current;
charset utf8;
autoindex off;
@ivoba
ivoba / filterCsv.mjs
Last active January 17, 2022 08:41
Filter a csv file with nodejs streams
import {pipeline} from 'stream';
import {parse, transform, stringify} from 'csv';
import {createReadStream, createWriteStream} from 'fs';
pipeline(
createReadStream(`./members.csv`),
parse(),
transform(data => data[2] !== '' ? data : null),
stringify({}),
createWriteStream(`./members_filtered.csv`),