Skip to content

Instantly share code, notes, and snippets.

View fracasula's full-sized avatar
🏋️‍♂️
One pomodoro after another

Francesco Casula fracasula

🏋️‍♂️
One pomodoro after another
View GitHub Profile
@fracasula
fracasula / getMp3StreamTitle.php
Last active April 24, 2024 00:38
How to get the MP3 metadata (StreamTitle) from a streaming URL
<?php
/**
* Please be aware. This gist requires at least PHP 5.4 to run correctly.
* Otherwise consider downgrading the $opts array code to the classic "array" syntax.
*/
function getMp3StreamTitle($streamingUrl, $interval, $offset = 0, $headers = true)
{
$needle = 'StreamTitle=';
$ua = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36';
@fracasula
fracasula / ajaxRouter.js
Last active December 20, 2015 18:39
Ajax Router
;(function (w, $, undefined) {
"use strict";
w.ajaxRouter = function (event, url) {
if (event.ctrlKey)
return true; // CTRL+CLICK opens link in new tab -> no ajax, default behaviour
else {
var url = url || $(this).attr('href'),
matches = /^http[s]?\:\/\/([^/]+)/.exec(url);
@fracasula
fracasula / Curl.php
Created August 14, 2013 15:08
Basic curl class
<?php
class Curl
{
const HTTP_OK = 200;
const HTTP_NOT_FOUND = 404;
const HTTP_INTERNAL_SERVER_ERROR = 500;
const TEXT_HTML = 'text/html';
const TEXT_PLAIN = 'text/plain';
@fracasula
fracasula / AcmeBundlenameExtension.php
Last active December 22, 2015 15:28
Symfony2 Bundle basic parameters configuration tree (config.yml)
<?php
namespace Acme\Bundle\Bundlename\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;
/**
@fracasula
fracasula / site
Created September 12, 2013 09:16
Simple Apache2 Virtual Host
# /etc/apache2/sites-enabled/site
<VirtualHost *:80>
RewriteEngine On
RewriteOptions Inherit
ServerAdmin admin@example.com
ServerName example.com
@fracasula
fracasula / mysql_delete_join.sql
Created February 25, 2014 12:09
Delete with Join in MySQL
DELETE `t` FROM `category_translation` AS `t`
LEFT JOIN `category` AS `c`
ON `c`.`id` = `t`.`id`
WHERE `c`.`id` IS NULL;
@fracasula
fracasula / mysqldump.sh
Last active August 24, 2016 13:49
MySQL dump cli command (mysqldump)
# Example 1
mysqldump --databases dbname -u root -p > dbname.sql
# Example 2
mysqldump --databases dbname -u root -pPASSWORD | gzip -c > dbname.sql.gz
# Example 3 (just the schema with no data and disabling foreign keys)
mysqldump -u root -pPASSWORD --no-data --single-transaction --quick --lock-tables=false -y --disable-keys dbname | gzip -c > dbname_schema.sql.gz
# Example 4 (loading the DB back into MySQL)
@fracasula
fracasula / example_ssl.conf
Last active August 29, 2015 13:57
SSL LAMP local server for test purposes (http://dannytsang.co.uk/create-and-enable-ssl-on-ubuntu-lamp-server/ for further information)
<VirtualHost *:443>
SSLEngine On
# sudo apt-get install ssl-cert
# sudo a2enmod ssl
# Generate the crt file with: sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/www.example.com.crt
SSLCertificateFile /etc/apache2/ssl/www.example.com.crt
ServerName www.example.com
@fracasula
fracasula / location_match.conf
Created April 17, 2014 14:47
Protecting a specific location with Apache allowing only a range of IPs (and/or a domain) [whitelist IP]
<LocationMatch ^/(folder1|folder2|folder3\/child)/(.*)[\/]{0,1}feed>
Order deny,allow
Deny from all
Allow from mydomain.com 80.80.80.10/15
</LocationMatch>
@fracasula
fracasula / example_ssl.conf
Created April 22, 2014 10:01
Force Wordpress to HTTP on non-admin URLs
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/www.example.com.crt
ServerName example.com
ServerAlias www.example.com
<Directory "/var/www/example/">
AllowOverride All
Order allow,deny