Skip to content

Instantly share code, notes, and snippets.

@degecko
degecko / paginate.php
Last active March 4, 2016 08:18
Pagination helper
<?php
/**
* Pagination helper written for laravel, available for any project.
*
* A couple examples:
*
* [1] $current_page = 1; $total_pages = 1;
* <no output, no pagination needed>
*
@degecko
degecko / url.php
Last active October 18, 2015 15:43
Base URL basic path contructor.
<?php
/**
* Examples of input (assumes $homepage = 'http://site.com'):
*
* Input: url('')
* Return: http://site.com/
*
* Input: url('home')
* Return: http://site.com/home
@degecko
degecko / human_fsize.php
Last active October 18, 2015 15:43
Get human readable file size from a number of bytes.
<?php
function human_fsize ($size, $unit = '')
{
if (( ! $unit && $size >= 1 << 40) || $unit == 'TB') {
return number_format($size / (1 << 40), 2) . ' TB';
}
if (( ! $unit && $size >= 1 << 30) || $unit == 'GB') {
return number_format($size / (1 << 30), 2) . ' GB';
@degecko
degecko / slug.php
Last active October 18, 2015 15:42
Generate an alphanumerical slug from a given string
<?php
function slug ($string, $delimiter = '-') {
$string = trim($string);
$string = preg_replace('#[^a-z0-9 ]#i', '', $string);
$string = preg_replace('#\s+#', $delimiter, $string);
return $string;
}
#!/usr/bin/env php
<?php
/* Install notes:
Copy this script onto your web server. I'll assume the location is /opt/tools/add_vhost.php
Give it the right privileges:
# chmod +x /opt/tools/add_vhost.php
<?php
/**
* Works for:
*
* isset_or($_GET['test'], false)
* and
* isset_or($_GET['test'], 'other true value', false)
*/
@degecko
degecko / regex.php
Created December 29, 2015 11:31
Match everything but something
<?php
$data = 'This is my data that contains SOMETHING I DON\'T WANT in it.';
preg_match('#^(?:(?!SOMETHING).)*$#', $data, $results);
@degecko
degecko / recursive-ids.js
Last active August 16, 2016 09:13
Recursively sets DOM tree unique ids on each child element of the given jQuery selector.
/**
* Recursively sets DOM tree unique ids
* on each child element of the given jQuery selector.
*
* E.g. Given elem = $('<div> <p> <strong></strong><strong></strong> </p> <p></p> </div>')
*
* setTreeIds(elem) will result in:
*
* <div tid="0">
* <p tid="00">
<?php
if (! function_exists('get_slug')) {
/**
* Returns the requested slug part from the REQUEST_URI.
*
* E.g.:
* get_slug(1) where the URI is /app/123/edit will be equal to "app"
* get_slug(2) where the URI is /app/123/edit will be equal to "app/123"
* get_slug() where the URI is /app/123/edit will be equal to "app/123/edit"
<!-- A SematicUI Dropdown VueJS Component -->
<template>
<div :class="classes">
<div class="text" v-if="showTitle">
<img :src="selected.avatar" v-if="hasAvatar && selected">
<span v-text="title"></span>
</div>
<i class="icon" :class="{ dropdown: ! loading, loading }"></i>