Skip to content

Instantly share code, notes, and snippets.

View mikebranderhorst's full-sized avatar

Mike Branderhorst mikebranderhorst

  • Deo Volente Research
  • The Netherlands
View GitHub Profile
@peterjaap
peterjaap / ConditionalSpecialPrice.php
Last active February 19, 2023 10:48
Wyomind Data Feed Manager conditional special price - this custom attribute for Wyomind Data Feed Manager only shows the special price when the special price is set lower than the original price.
<?php
if($product->getSpecialPrice() && $product->getSpecialPrice() > 0 && $product->getSpecialPrice() < $product->getPrice()) {
$specialPriceInclTax = Mage::helper('tax')->getPrice($product, $product->getSpecialPrice(), true);
$conditionalSpecialPrice = '<g:sale_price>' . $specialPriceInclTax . '</g:sale_price>' . PHP_EOL;
$specialFromDate = $product->getSpecialFromDate();
$specialToDate = $product->getSpecialToDate();
if($specialFromDate && !$specialToDate) {
$specialToDate = '2100-01-01';
}
if($specialToDate && !$specialFromDate) {
@peterjaap
peterjaap / checkPricesVsSpecialPrice.php
Last active November 25, 2015 06:40
This small script looks for products with a higher special price than normal price and removes the special price if the $emptySpecialPrice flag is set to true. Be sure to reindex the prices after running this.
<?php
chdir(dirname(__FILE__));
require_once '../app/Mage.php';
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
umask(0);
$resource = Mage::getModel('core/resource');
$db = $resource->getConnection('core_write');
@benlinton
benlinton / multiple_mysql_versions_for_development.md
Last active August 15, 2025 21:37
Multiple MySQL Versions with Homebrew

Multiple MySQL Versions for Development

Options included below:

  • Using Docker docker-compose
  • Using Homebrew brew

Using Docker (recommended)

This gist was originally created for Homebrew before the rise of Docker, yet it may be best to avoid installing mysql via brew any longer. Instead consider adding a barebones docker-compose.yml for each project and run docker-compose up to start each project's mysql service.

@steverobbins
steverobbins / 00-magento-session-db-gc-non-locking-readme.md
Last active January 18, 2021 05:18
Clean Magento's core_session table in background

Script to "safely" clean up the core_session table without causing lock wait timeouts.

Not thoroughly vetted but met the client's needs.

Requires disabling Mage_Core_Model_Resource_Session:gc(), e.g.

--- a/app/code/core/Mage/Core/Model/Resource/Session.php
+++ b/app/code/core/Mage/Core/Model/Resource/Session.php
@@ -74,7 +74,7 @@ class Mage_Core_Model_Resource_Session implements Zend_Session_SaveHandler_Inter
@ralph089
ralph089 / .wakeup
Last active May 8, 2025 19:26
Restarts Bluetooth Module on Mac OS X. You can use the script as shortcut to restart Bluetooth on demand or you can use it with "SleepWatcher" to automatically restart Bluetooth on wakeup (See README.md). I created it, because my Logitech Bluetooth Mouse doesn't stay connected after sleep-mode, so i had to manually re-pair my mouse.
#!/bin/bash
#
# Restart Bluetooth Module on Mac OS X
#
# Requires Blueutil to be installed: http://brewformulas.org/blueutil
BT="/usr/local/bin/blueutil"
log() {
echo "$@"
@peterjaap
peterjaap / server.blacklist
Last active January 1, 2024 13:39
Bad bot blacklist nginx config file (used on Hypernodes for Magento - place in /data/web/nginx/server.blacklist)
# Main list
if ($http_user_agent ~* (360Spider|80legs.com|Abonti|AcoonBot|Acunetix|adbeat_bot|AddThis.com|adidxbot|ADmantX|AhrefsBot|AngloINFO|Antelope|Applebot|BaiduSpider|BeetleBot|billigerbot|binlar|bitlybot|BlackWidow|BLP_bbot|BoardReader|Bolt\ 0|BOT\ for\ JCE|Bot\ mailto\:craftbot@yahoo\.com|casper|CazoodleBot|CCBot|checkprivacy|ChinaClaw|chromeframe|Clerkbot|Cliqzbot|clshttp|CommonCrawler|comodo|CPython|crawler4j|Crawlera|CRAZYWEBCRAWLER|Curious|Curl|Custo|CWS_proxy|Default\ Browser\ 0|diavol|DigExt|Digincore|DIIbot|DISCo|discobot|DoCoMo|DotBot|Download\ Demon|DTS.Agent|EasouSpider|eCatch|ecxi|EirGrabber|Elmer|EmailCollector|EmailSiphon|EmailWolf|Exabot|ExaleadCloudView|ExpertSearch|ExpertSearchSpider|Express\ WebPictures|extract|ExtractorPro|EyeNetIE|Ezooms|F2S|FastSeek|feedfinder|FeedlyBot|FHscan|finbot|Flamingo_SearchEngine|FlappyBot|FlashGet|flicky|Flipboard|g00g1e|genieo|Genieo|GetRight|GetWeb\!|GigablastOpenSource|Go\-Ahead\-Got\-It|Go\!Zilla|GozaikBot|grab|GrabNet|Grafula|GrapeshotCrawler|GT\:\:
@w00fz
w00fz / sphp.sh
Last active November 28, 2024 12:37
PHP switcher
#!/bin/bash
# Check if command was ran as root.
if [[ $(id -u) -eq 0 ]]; then
echo "The command \"sphp\" should not be executed as root or via sudo directly."
echo "When a service requires root access, you will be prompted for a password as needed."
exit 1
fi
# Usage
@peterjaap
peterjaap / magento_postman_collection.json
Created November 18, 2016 11:28
Postman request collection for Magento 1 SOAP v2
{
"id": "6b940a31-113d-109f-f36a-75c1604ef7d4",
"name": "ExampleShop",
"description": "",
"order": [
"2658e264-981e-4786-7f05-88f3fce0f4e6",
"8c81cf7c-e188-b8bd-0970-a96aa3a8d6a3",
"a1e3c72f-6fde-d46b-7896-e1627f7e5f64",
"c050284d-14bd-bdd6-256e-30111f354ef6",
"3b0ac9f0-3544-4797-fd4f-56b436ecd029",
@vicgonvt
vicgonvt / Xdebug.md
Last active April 5, 2019 18:29
Instructions for Installing Xdebug in a Mac with Laravel, Valet and Sublime Text

NOTE: This assumes that you have Valet, Homebrew, Sublime Text and PHP properly installed and functioning and will only focus on the setup and installation and setup of Xdebug. There are other tutorials that go into great depth explaining how to get those tools installed on your mac.

Let's get started right away!

Installing Xdebug

You need to know which version of PHP you are running in your machine. To do so, from the terminal run the command php -v and this will display something like this

PHP 7.0.14 (cli) (built: Dec  8 2016 23:34:17) ( NTS )
@alkrauss48
alkrauss48 / Dockerfile
Last active November 10, 2022 16:24
Running a docker container as a non-root user
# By default, Docker containers run as the root user. This is bad because:
# 1) You're more likely to modify up settings that you shouldn't be
# 2) If an attacker gets access to your container - well, that's bad if they're root.
# Here's how you can run change a Docker container to run as a non-root user
## CREATE APP USER ##
# Create the home directory for the new app user.
RUN mkdir -p /home/app