Skip to content

Instantly share code, notes, and snippets.

View davidalexander's full-sized avatar

David Alexander davidalexander

View GitHub Profile
@davidalexander
davidalexander / index.php
Created March 15, 2012 21:21
Thoughts on best way to test subdomain
<?php
/**
* how best to turn on errors for staging subdomains
*
* as this is in the index.php, performance is important,
* although technically the page will be cached
*/
// 1. preg_match
if (preg_match('/^s1\.|^s2\.|^s3\.|^s4\.|^s5\.|^mac\.|^local\.|^mac-upgrade\./', $_SERVER['HTTP_HOST'])) {
@davidalexander
davidalexander / index.php
Last active October 4, 2015 22:48
Magento developer subdomains
/**
* Set developer mode and display_errors based on subdomain
*/
$staging_subdomains = array(
's1',
's2',
's3',
's4',
's5',
'mac',
@davidalexander
davidalexander / rsync_magento_media.sh
Last active January 29, 2020 10:01
rsync the media directory from live site to local site. Useful when you need imagery which is (correctly) ignored by version control.
rsync \
--verbose \
--progress \
--stats \
--compress \
--rsh=/usr/bin/ssh \
--recursive \
--times \
--perms \
--links \
@davidalexander
davidalexander / gist:6937862
Created October 11, 2013 16:30
Magento - Report for count and revenue of promotions
SELECT
sr.`name` as rule_name,
count(*) as total_orders,
SUM(sfo.`total_paid`) as revenue,
sr.`rule_id`,
sfo.`applied_rule_ids`
FROM
`sales_flat_order` sfo,
`salesrule` sr
WHERE
xdebug.remote_autostart=true
xdebug.remote_enable=1
xdebug.collect_vars=on
xdebug.collect_params=4
xdebug.show_local_vars=on
xdebug.var_display_max_depth=5
xdebug.show_exception_trace=on
@davidalexander
davidalexander / gist:7772193
Created December 3, 2013 16:21
Magento: Efficiently get a single product attribute from product id
<?php
$attribute_value = Mage::getResourceSingleton('catalog/product')->getAttributeRawValue($productId, 'attribute_code', Mage::app()->getStore());
echo $attribute_value;
@davidalexander
davidalexander / gist:11351615
Created April 27, 2014 18:00
magento - get all quoted translation strings
# https://twitter.com/mrsopacua/status/447892121283223552 (@mrsopacua)
find app/design/frontend -type f -exec perl -ne 'while($_ =~ /(?<=\W)__\(\s*([\x27\x22])(.+?)\1\s*\)/g) { print "$2\n"; }' {} +
@davidalexander
davidalexander / magento_logrotate
Last active September 17, 2016 08:46
magento logrotate
# /etc/logrotate.d/magento
"/path/to/site/var/log/*.log"
"/path/to/another-site/var/log/*.log" {
compress
copytruncate
daily
missingok
notifempty
olddir archive
@davidalexander
davidalexander / largest_tables.sql
Created July 16, 2014 12:42
get largest 10 tables in all SQL databases
-- http://www.mysqlperformanceblog.com/2008/02/04/finding-out-largest-tables-on-mysql-server/
SELECT
CONCAT(table_schema, '.', table_name),
CONCAT(ROUND(table_rows / 1000000, 2), 'M') rows,
CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), 'G') DATA,
CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), 'G') idx,
CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), 'G') total_size,
ROUND(index_length / data_length, 2) idxfrac
FROM
information_schema.TABLES
@davidalexander
davidalexander / gist:f938f8b4d14b82581cfb
Last active August 29, 2015 14:04
resend order emails from Magento admin for local testing
<?php
// app/code/core/Mage/Sales/Model/Order.php
// comment the following lines arround ln.1272
// if ($this->getEmailSent()) {
// return $this;
// }