Category: english

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 […]


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 […]


Add a shipping carrier in cs-cart 4.x

Adding a new shipping carrier in cs-cart is a ugly story. There is no administration page for that and to do it manually you have to follow a multi-part procedure. This procedure I will try to describe here in details. I thank cs-cart forum members for their posts, because from the information posted there I managed to put up the whole procedure here clearly.


Cs-Cart using classes

Some times cs-cart add-ons are getting larger than a 200 lines of code. Controller actions get longer, functionality requires more code. For example my ShopFeed addon is around 2800 lines of php code. Not including smarty templates. Putting code in func.php is the obvious solution. But there you have to work with functional code and […]