Mailroom Clerk
Download for Windows:
Download for Mac:
Download for Windows:
Download for Mac:
When using S3 as our external storage, sometimes we have to let users download files from S3. If file is too large, it may not fit in the memory. The solution is to stream file into user’s browser straight from S3. Let’s take a look how to do it with Laravel’s Filesystem. There are 2…
Recently I was assigned to do data migration from Magento 1.8.1.0 to Magento 2.1.0 In this article, I will share some points you must look out for when migrating to Magento 2. There are several things you must be aware of before you start migration: Magento 2 is a memory hog. So, suggested 2GB RAM…
Adding email headers in Laravel application is quite simple. SwiftMessage can be customized using withSwiftMessage method of Mailable base class: https://laravel.com/docs/8.x/mail#customizing-the-swiftmailer-message However you have to remember to do it every time you create a new “mailable” class. Some mail APIs require you to put a special header each time you send an email. In this…
A query below selects products that need to be updated in a remote application. It takes quantities of products in host application that are connected to source products application. On top of that it looks at all the orders that are in “Pending” status and reserves quantities for those products. SELECT products.quantity_available, connector_products.stock_id, products.id, connector_products.sku,…
$fp = fopen(‘https://www.example.com/pdfdoc’, ‘r’); $user = “sammy”; $pass = “password”; $ftp_server = “192.168.10.10”; //should be wrapped in try catch to properly handle errors $ftp_conn = ftp_ssl_connect($ftp_server); $login = ftp_login($ftp_conn, $user, $pass); ftp_chdir($ftp_conn, ‘path/to/folder’); //can also use ftp_pwd ftp_pasv($ftp_conn, true); //passive mode ftp_fput($ftp_conn, “mydocument.pdf”, $fp, FTP_BINARY); fclose($fp); ftp_close($ftp_conn); Above code can be used to upload a…
In php one can use filters with streams. Sometimes it can become handy. Let’s say you open a .csv file as a stream, but this file is tab separated. Your program can can process coma separated csvs, but not tab separated. This is a good use case for a stream filter, because it can make replacements…