A curated list of amazingly awesome PHP libraries, resources and shiny things.
- Composer
- Composer Related
- Frameworks
- Framework Components
# basic pfctl control | |
# == | |
# Related: http://www.OpenBSD.org | |
# Last update: Tue Dec 28, 2004 | |
# == | |
# Note: | |
# this document is only provided as a basic overview | |
# for some common pfctl commands and is by no means | |
# a replacement for the pfctl and pf manual pages. |
#!/usr/bin/python -tt | |
# Copyright 2017 Garrett Holmstrom | |
# | |
# This program is free software; you can redistribute it and/or modify it | |
# under the terms of the GNU General Public License as published by the | |
# Free Software Foundation; either version 3 of the License or (at your | |
# option) any later version accepted by the Santa Barbara Hackerspace (or | |
# its successor approved by the Santa Barbara Hackerspace), which shall | |
# act as a proxy as defined in Section 14 of version 3 of the license. |
#!/usr/bin/python -tt | |
# Copyright 2017 Garrett Holmstrom | |
# | |
# This program is free software; you can redistribute it and/or modify it | |
# under the terms of the GNU General Public License as published by the | |
# Free Software Foundation; either version 3 of the License or (at your | |
# option) any later version accepted by the Santa Barbara Hackerspace (or | |
# its successor approved by the Santa Barbara Hackerspace), which shall | |
# act as a proxy as defined in Section 14 of version 3 of the license. |
function forecastUrl(apiKey, location) { | |
var apiUrl = "https://api.forecast.io/forecast"; | |
var excludeFields = "exclude=minutely,hourly"; | |
return apiUrl + "/" + apiKey + "/" + location + "?" + excludeFields; | |
} | |
function getForecast(url) { | |
var got = require("got"); | |
return got(url) | |
.then(function (response) { |
/* Expects month to be in 1-12 index based. */ | |
var monthInformation = function(year, month){ | |
/* Create a date. Usually month in JS is 0-11 index based but here is a hack that can be used to calculate total days in a month */ | |
var date = new Date(year, month, 0); | |
/* Get the total number of days in a month */ | |
this.totalDays = date.getDate(); | |
/* End day of month. Like Saturday is end of month etc. 0 means Sunday and 6 means Saturday */ | |
this.endDay = date.getDay(); | |
date.setDate(1); | |
/* Start day of month. Like Saturday is start of month etc. 0 means Sunday and 6 means Saturday */ |
I run a lot of web servers for different projects, all of them on different ports. Generally I start with port 8000 and increment from there as I spin up new servers, but it became tiresome to remember what projects were running on which ports and what the next available port was.
/etc/hosts won't let you specify a port, but a combination of aliasing 127.0.0.1 to 127.0.0.X, forwarding ports from 8000 to 80, and adding the 127.0.0.X IP under an alias in /etc/hosts did work.
This script finds the next available value of X, aliases it with ifconfig
, forwards the given port to port 80 with ipfw
, and adds a new entry to /etc/hosts that aliases the IP to the domain you want.
Now I can add a server alias with sudo domain-alias funproject 8000
, run the web server at 127.0.0.X:8000, and load up http://funproject/ in my browser.
(Because I needed it to work on a Mac, I couldn't use iptables
. ipfw
seems to work, though its manpage claims it's deprecated and pfctl
is the way to go. I wasn't able to figure
<?php | |
/** | |
* @file | |
* Default theme implementation to display a block. | |
* | |
* Available variables: | |
* - $block->subject: Block title. | |
* - $content: Block content. | |
* - $block->module: Module that generated the block. |
These files import ONE database table (users) into Drupal. | |
Some key issues to note for the record: | |
* getting the name of the hook right in planetmath.module | |
(it should be MODULENAME_migrate_api). | |
* make sure to clear the cache after the module is | |
imported (drush cc all). This should help identify any | |
coding errors! |
// For 403 @ /admin/settings/customerror | |
// Title: Access Denied | |
<?php global $user; // http://www.kinetasystems.com/blog/creating-custom-error-pages-in-drupal ?> | |
<?php if ($user->uid): ?> | |
<p>Sorry <?php print $user->name; ?>, you don't have permission to view the page you've just tried to access.</p> | |
<p>If you feel that you have received this message in error, please | |
<a href="/about">contact us</a> with specific details so that we may review your access to this web site.</p> | |
<p>Thanks</p> | |
<?php else: ?> | |
<p>This page may be available to clients and registered users only. Please select from one of the other options available to you below.</p> |