Skip to content

Instantly share code, notes, and snippets.

View thomascube's full-sized avatar

Thomas B. thomascube

  • Berne, Switzerland
View GitHub Profile
<?php
/**
* Distributed Composer package registration script
*
* This script registers the given composer module to the local installation registry
* in order to let composer.phar build autoloader files for installed modules.
*
* Usage: php add-package.php <PATH-TO-MODULE-COMPOSER.JSON> <VERSION>
*
@thomascube
thomascube / RegisterCommand.php
Last active August 29, 2015 13:57
Patches and additions for creating a PHP Composer RPM module from source
<?php
/*
* This file is part of Composer.
*
* (c) Thomas Bruederli <bruederli@kolabsys.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
@thomascube
thomascube / kolab_webhelp.diff
Last active August 29, 2015 14:03
Kolab web client user guide
diff --git a/_static/default.css b/_static/default.css
index b6f8f62..378107f 100755
--- a/_static/default.css
+++ b/_static/default.css
@@ -26,7 +26,7 @@ body {
div.banner {
margin: 0 0 3px 0;
padding: 10px 0;
- height: 40px;
+ height: 16px;
@thomascube
thomascube / git-svn-create-rev-map.php
Created May 13, 2012 16:43
Script to generate a revision mapping table from two SVN and GIT log files
<?php
/**
* This script builds a revision mapping table from two SVN and GIT log files.
* It uses a commit's date and comment to connect SVN revisions with a GIT commits.
*
* Execute it with php git-svn-create-rev-map.php svn.log git.log
*
* @author Thomas Bruederli <thomas(at)roundcube(dot)net>
**/
@thomascube
thomascube / cve-2017-16651.md
Last active January 3, 2024 11:12
Roundcube Vulnerability CVE-2017-16651

Roundcube Webmail File Disclosure Vulnerability

  • Software: https://roundcube.net/
  • Versions: 1.1.0 - 1.1.9, 1.2.0 - 1.2.6, 1.3.0 - 1.3.2
  • CVE: CVE-2017-16651
  • Author: Thomas Bruederli
  • Release date: 2017-11-09

Summary

Roundcube Webmail allows unauthorized access to arbitrary files on the

@thomascube
thomascube / image2grf.php
Created July 11, 2018 08:02
PHP function to convert a PNG image to a .GRF file for use with Zebra printers
<?php
/**
* Converts a PNG image to a .GRF file for use with Zebra printers
*
* The input is preferably a 1-bit black/white image but RGB images
* are accepted as well.
*
* This function uses PHP's GD library image functions.
*
@thomascube
thomascube / app.js
Created January 4, 2020 13:53
Automated Docker builds with Google cloud functions
const bent = require('bent');
const httpJSON = bent('json');
const admin = require('firebase-admin');
const DOCKER_BUILD_TRIGGER = 'https://hub.docker.com/api/build/v1/source/<this-is-secret>/trigger/<another-secret>/call/';
const BUILD_TAGS = {
'1.3.x-apache': '7.2-apache',
'1.3.x-fpm': '7.2-fpm',
'1.3.x-fpm-alpine': '7.2-fpm-alpine',
'1.4.x-apache': '7.3-apache',
'1.4.x-fpm': '7.3-fpm',
@thomascube
thomascube / 0_reuse_code.js
Created June 28, 2017 06:08
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@thomascube
thomascube / vtimezone.php
Last active January 4, 2026 21:30
VTIMEZONE component for a Olson timezone identifier with daylight transitions.Solution to this StackOverflow question: https://stackoverflow.com/questions/6682304/generating-an-icalender-vtimezone-component-from-phps-timezone-value/25971680
<?php
use \Sabre\VObject;
// use composer autoloader
require_once 'vendor/autoload.php';
/**
* Returns a VTIMEZONE component for a Olson timezone identifier
* with daylight transitions covering the given date range.
# replace the values for these placeholders to match your environment
variables = {
'skin': 'kolab',
}
# General information about the project.
project = u'Kolab Groupware Help'
copyright = u'2014, kolab.org'
version = '3.1'