Select some shipping methods in your addon for some reason

The idea is that you want to know in your addon some shipping methods that you can do something with them. For example when creating an integration with a carrier company and you want to let admin create the shipment from the backend but your integration has nothing to do with shipping cost, because it […]


Cs-Cart payed order statuses

In cs-cart when payment is made order must be set to “payed order status”. Not found in documentation, but in fn.cart.php function fn_get_order_paid_statuses, where it requires that the status must have inventory D. Decreasing inventory setting in order status. Otherwise order will be placed successfully but customer will get a failure message.


Cs-Cart and Symfony console

Things have changes since 2017, an update will be posted on that soon. For sometime now i had the idea to use symfony console component in some of my cs-cart addons to run crontab or other long tasks without creating for each one of them a script in shop’s root folder. First issue was to […]


Variable Number of Nested For Loops

An old problem that came to my head a couple of days ago. I solved it as an excersive in Fortran class about 25 years ago, my current solution is: $lbound = 1; $ubound = 4; $loops = 3; $numbers = array(); for($i=1; $i=1; $l–) { $numbers[$l]++; if( $numbers[$l]>$ubound ) { $numbers[$l] = $lbound; } […]


A software maintenance tale gone bad

A long time ago… In 2011 I was hired by an e-shop owner to develop an addon for his e-shop. The software that powers his e-shop is a proprietary and well established program, we will refer to it as the Cart. It is not necessary to tell you names, companies and brands in order to […]


if you can’t use apt to clean up due to a 100% full /boot

From: http://askubuntu.com/questions/345588/what-is-the-safest-way-to-clean-up-boot-partition The solution that worked from me. NOTE: this is only if you can’t use apt to clean up due to a 100% full /boot If apt-get isn’t functioning because your /boot is at 100%, you’ll need to clean out /boot first. This likely has caught a kernel upgrade in a partial install which […]


programming is like writing a book…

“programming is like writing a book… …except if you miss out a single comma on page 126 the whole thing makes no damn sense” This is one of the more briliant thoughts on what is programming!


Reduce doctrine queries on hydration of related entities

Suppose you have a schema like the one in the next figure and in your repository class you fetch an MqProject entity and later in the code you traverse through all MqProject’s related MqJobs and each job’s related MqTasks like foreach($project->getJobs as $job) { foreach($job->getTasks as $task) { printf(“job: %s task %s\n”, $job->getId(), $task->getId()); } […]


Symfony – RabbitMq

Past few days I did some work on the software I use for my research. The analysis of the evolution of software projects can take some time if the code base gets big and there are many releases. Till now I was using JMSJobQueueBundle to run long jobs is the background. Excellent bundle, easy to […]