Skip to content

Instantly share code, notes, and snippets.

View pmeissner's full-sized avatar

Philip Meissner pmeissner

View GitHub Profile
@pmeissner
pmeissner / gist:3750017
Created September 19, 2012 14:36
override the global redactor settings
fields:
spa_packages_grid:
display: Spa Packages
type: grid
fields:
spa_packages_title:
display: Title
type: text
spa_packages_body:
@pmeissner
pmeissner / statamic count
Created September 11, 2012 16:23
tag pairs variable helper count
{{ gallery }}
{{ if count < "6" }}
{{ img }} (1 through 5)
{{ else }}
{{ img }} (6 through infinity and beyond)
<?
public static function generate_url($file_key) {
$s3 = self::get_s3();
$link = ArclightAWSExpiring_Link::create()->where('file_key = ?', $file_key)->find();
if (!$link)
throw new Phpr_ApplicationException('We are sorry, but the link could not be found');
return $s3->get_object_url(self::$configuration->bucket, $file_key, '10 Seconds',
array('response' => array('content-disposition' => 'attachment; filename=' . $link->file_name))
);
@pmeissner
pmeissner / ajax_handlers.php
Created September 23, 2011 01:49
Moving from billing to pay in 1 step for orders with just a download.
<?
function download_only_on_process_billing_address_place_order_and_pay($controller, $page, $params)
{
if (post('ship_to_billing_address'))
{
Shop_CheckoutData::copy_billing_to_shipping();
$controller->action();
}
@pmeissner
pmeissner / ajax_handlers.php
Created September 23, 2011 01:43
Moving from billing to pay in 1 step.
<?
function download_only_on_process_billing_address_place_order_and_pay($controller, $page, $params)
{
if (post('ship_to_billing_address'))
{
Shop_CheckoutData::copy_billing_to_shipping();
$controller->action();
}
<? $this->render_partial('shop:product_options'); ?>
<? if (PSInventory_Inventory::out_of_stock( $product, post('product_options') )): ?>
<p>
<strong>
<? $options_string = PSInventory_Data::create_option_string(post('product_extra_options', array()), $product->id);
$data = PSInventory_Data::create()->where('product_id=? AND options_string=?', $product->id, $options_string)->find();
$extended_sku = $data->extended_sku;
?>
We're sorry, the item (size/color/style) you've selected is temporarily out-of-stock.
<a href="<?= site_url('out-of-stock-contact-form') ?>?item=<?= urlencode($extended_sku); ?>" rel="lightbox[external 900 300]" title="Out of Stock Contact Form" id="oosLink" class="button">Notify me</a> when this item becomes available.
<?
if ($product->extra_options->count):
?>
<div class="extra_options">
<table class="product_attributes">
<? foreach ($product->extra_options as $option):
$control_name = 'product_extra_options['.$option->option_key.']';
$posted_options = post('product_extra_options', array());
$is_checked = isset($posted_options[$option->option_key]);
$options_string = PSInventory_Data::create_option_string(post('options'), $product->id);
@pmeissner
pmeissner / gist:1007782
Created June 4, 2011 10:14
LemonStand AJAX Handler for MailChimp function
function process_mailing_list($controller)
{
if (post('mailinglist_signup')) {
$url = "https://us2.api.mailchimp.com/1.2/?output=php&method=listSubscribe";
$data = Shop_CheckoutData::get_billing_info();
$country = Shop_Country::create()->find($data->country);
$state = Shop_CountryState::create()->find($data->state);
$fields = array(