March 1, 2013
No Comments
Buckley is a UK based company that prides itself on designing and manufacturing high quality fashion & costume jewellery at competitive prices since its inception in 1989. The company has rapidly expanded into a worldwide brand with jewellery collections available to a vast market of over 200 stores including more than 60 Duty Free shops and 120 airlines . We are glad to hear that Buckley has contributed over US$3 million to the funding of the Royal British Legion through the sale of its elegant Buckley Poppy.
The development idea:
Buckley Jewellery was initially launched using WordPress and used an ecommerce package called ShopperPress. As the company grew and they started to expand their business to Duty Free shops and airlines, it became apparent that WordPress could not provide enough support for their complex modifications and customisations. This is when the idea of re-building the site in Magento was suggested.
We started working with Buckley in 2011 and have been providing them with continuous support since then. Some of the main requirements were broadly to do the following:
1. Magento implementation and migration from previous platform
We installed and configured Magento onto Buckley’s chosen hosting platform and installed the essential extensions such as shipping and payment gateways including PayPal and SagePay. We also migrated all of their products, customers and orders database from the previous platform into Magento. A clean and clear design was created and customised to their specification and we have been tweaking it per their needs and requirements ever since.
2. Magento training
After successfully migrating the site to Magento, we did an on-site one day introduction course with Buckley, where we gave them the background understanding and some useful skills required to get the most out of their new Magento store.
Here is a quote from Mark at Buckley Jewellry: “The day was extremely useful with just the right amount of content to set us on our way.”
3. Magento upgrade and Magento security patch applied
It is important to make sure that your Magento site is up to date. We have done two upgrades for Buckley so far and they all went really well.The upgrades were done in three separate phrases – exploratory upgrade, bugs fixing and deployment to live. We hit a few bugs but managed to fix them within hours.
Around mid July 2012, a serious security hole was found in Zend Framework which allow hackers to gain access to mysql server credentials. A patch was quickly applied to Buckley live store using a nice Bash script we put together. We offered this free security patching service to all Magento sites with a voluntary charity donation and had a lot of sites take us up on this offer.
4. Ongoing support
Buckley have joined our retainer scheme where we provide them with daily maintenance supports, bugs fixing and consultation services. Various firesale promotions, extensions and marketing exercises were installed and configured into their website.
Recently we had migrated Buckley and its sister site Attwood & Sawyer to a dedicated server, which is faster, more secured and gives them better control over the sites.
Buckley also engages in designing beautiful vintage inspired pieces in the silver Bouton rages and we are currently managing the merger process of Bouton into Buckley main sites.
Testimonial
Here is a quote from Mark Noble, IT Manager at Buckley Jewellery:
“Buckley Jewellery originally approached Edmonds Commerce to take our existing site and develop it onto a Magento platform. Since this first project we have used Joseph and his team for a further website and additional work to develop & expand our ecommerce business. The offer of installing the Magento patch across our websites was typical of a company who provide an honest and refreshing approach to website design. I would not hesitate to recommend Edmonds Commerce for any ecommerce development and advice”.

February 25, 2013
No Comments
Edmonds Commerce employs a team of specialist PHP web developers who are all Zend Certified Engineers. This is a highly respected PHP qualification that ensures the highest standards of PHP development expertise. By achieving this certification we ensure that our developers have the kind of well rounded and deep understanding of the PHP language that can be utilised to achieve the highest quality production.
All of the e-commerce platforms, such as Magento and OpenCart are written in PHP and so the first thing to be sure of when you have a developer working on your projects is that they are very skilled in PHP itself as well as having an expert knowledge of the platform.

You can read all about the ZCE exam here.
In a nutshell the exam is designed to test knowledge and skill that a professional PHP developer would need to tackle the kind of day to day issues they are likely to face. The exam covers a broad range of topics and really tests the in depth and broad knowledge of PHP that is required to really get the most out of the language and deliver the highest quality PHP development.
featured, By:
Joseph Edmonds
No Comments
Tags:
certification,
developers,
development,
engineers,
exam,
php,
qualification,
web,
zce,
zend
November 5, 2012
No Comments
Concrete5 is a CMS system based on Zend Framework that uses Jquery for it’s Javascript layer. Both of these are very popular and powerful frameworks that are really great to work with.
The thing that users really love though is the ability to edit Concrete5 pages on the fly making it very easy to use by non techies.
You can see the real ethos of the platform (from our techie point of view) here.
If you are looking for some expert PHP developers to help you get your Concrete5 site off the ground then get in touch with Edmonds Commerce today.
September 6, 2012
No Comments
Exciting times in the php world, Zend Framework 2.0 stable has been released!
Magento is currently based on the 1.x branch of Zend, and Magento 2 is aiming to be on Zend Framework 2 (ZF2) so this puts the world one step closer to Magento 2.0.
The full announcement is here
July 10, 2012
No Comments
We are currently offering a free service to apply the security patches for any Magento store. You can read all about that here.
For those of you who are comfortable SSHing into your server and running things manually but would like this to be as easy as possible, you can use our bash script to automatically determine which Magento security patch you require and then apply it.
Simply run the following command:
wget -qO- http://www.edmondscommerce.co.uk/stuff/applysecuritypatch.sh | /bin/sh
For information, this is the source of the above file.
#!/bin/bash
if [ ! -f app/Mage.php ]; then
echo "Not in the magento basedir. please run from public_html, httpdocs, www or wherever index.php is."
exit 99
fi
WGET_BINARY=$(which wget)
if [ "" = "$WGET_BINARY" ]; then
echo "Can't find wget in path... can't continue"
exit 98
fi
MAGENTO_VERSION=$(grep 'function getVersionInfo\(\)' -A6 app/Mage.php | sed s/[^0-9]//g | tr '\n' '.' | sed s/'\.\.*'// | sed s/'\.$'//)
echo "Your Magento version is $MAGENTO_VERSION"
export $(grep 'function getVersionInfo()' -A6 app/Mage.php | grep = | sed s/,// | sed s/\>// | sed s/'[\t ]'//g | tr "a-z" "A-Z" | sed s/^/MAGENTO_/ | sed s/"'"//g)
set | grep MAGENTO
#
#Community Edition 1.4.0.0 through 1.4.1.1 http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.4.0.0-1.4.1.1.patch
#Community Edition 1.4.2.0 http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.4.2.0.patch
#Community Edition 1.5.0.0 through 1.7.0.1 http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.5.0.0-1.7.0.1.patch
#
if [ "$MAGENTO_MAJOR" -eq "1" ]; then
if [ "$MAGENTO_MINOR" -eq "4" ]; then
if [ $MAGENTO_PATCH -lt "2" ]; then
CORRECT_PATCH='http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.4.0.0-1.4.1.1.patch'
echo "Running Magento < 1.4.2.0 - patch is $CORRECT_PATCH";
else
CORRECT_PATCH='http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.4.2.0.patch'
echo "Running Magento 1.4.2.0 - patch is $CORRECT_PATCH";
fi
elif [ $MAGENTO_MINOR -gt "4" ]; then
if [ $MAGENTO_MINOR -lt "7" ]; then
CORRECT_PATCH='http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.5.0.0-1.7.0.1.patch'
echo "Running Magento 1.5.0.0 or above - patch is $CORRECT_PATCH";
elif [ $MAGENTO_MINOR -eq "7" -a $MAGENTO_PATCH -eq "0" -a $MAGENTO_REVISION -lt "2" ]; then
CORRECT_PATCH='http://www.magentocommerce.com/downloads/assets/1.7.0.2/CE_1.5.0.0-1.7.0.1.patch'
echo "Running Magento 1.5.0.0 or above - patch is $CORRECT_PATCH";
else
echo "Running Magento 1.7.0.2 - already patched."
exit 1
fi
fi
else
echo "You're not running version 1.x.x.x of Magento, I have no idea what to do!"
exit 97
fi
wget -O - $CORRECT_PATCH 2> /dev/null | patch -p0
if [ $? -eq 0 ]; then
echo "Patch succeeded."
else
echo "For some reason the patch failed. See the output above."
echo "You could attempt to download the patch manually and apply it - the url is :- "
echo $CORRECT_PATCH
fi
Please note this script is supplied without any warranty, use at your own risk. We are not supplying the patch files simply making it easy to download and apply the correct one.
We strongly recommend you patch your store as soon as possible.
If you need help, just ask!
magento, By:
admin
No Comments
Tags:
bug,
fix,
framework,
free,
magento,
offer,
patch,
script,
security,
tool,
zend
The magento platform is based on a PHP framework called Zend Framework.
Recently a bug was found in Zend Framework which potentially allows attackers to read any file on your server. This could mean they could gain access to your mysql server credentials for example.
You can read the full details here.
The actual bug details for Zend Framework are in this security advisory.
Free Security Patching Service
In a nutshell this represents a serious security hole that you need to plug as soon as possible. Fixing this issue is very simple indeed if you know what you are doing.
For this reason Edmonds Commerce are happy to offer FREE assistance in applying this patch to any Magento store owner whether you are a current client or not. We will not charge you in any way for this service.
To request FREE assistance contact us today
Donation to Charity
If you choose to, you could make a donation to cover this service here:
http://www.justgiving.com/EdmondsCommerce
Please Note
We will need you to give us shell (otherwise known as SSH) access to your server if available.
If you are on a shared hosting service that is not able to supply shell access, we would suggest you ask your hosting company to help you with this issue. Feel free to refer them to this page.
magento, By:
admin
1 Comment
Tags:
api,
fix,
framework,
free,
help,
hole,
magento,
patch,
rpc,
security,
solution,
xml,
zend,
zf
February 29, 2012
No Comments
We are really pleased to announce the successful Zend Certification exam for two of our developers Bolaji and Martyn.
It’s really quite a hard exam to pass and definitely tests your knowledge of PHP to the limits. They found it challenging but nailed it.
That means that we now have a 100% Zend Certified PHP Developer team ready to work on your projects.
February 24, 2012
No Comments
If you are having issues running unit tests that work with sessions and call session_start(), you might see error messages like this:
output started at “PHPUnit/Util/Printer.php:173″
If you do, the solution is fairly simple. Just add the flag –stderr to PHPUnit eg
phpunit --stderr mytest.php
If you are using Netbeans, you simply need to add this to your PHPUnit script setting in
Tools-Options-PHP-Unit Test
eg /opt/lampp/bin/phpunit –stderr

php, By:
admin
No Comments
Tags:
framework,
headers,
magento,
php,
phpunit,
problem,
sent,
session,
solution,
unit,
zend,
zf
February 21, 2012
No Comments
I have recently been working on a Magento project that required a custom API integration with Zen Desk.
Magento is based on Zend Framework which is nice because it means we can use the Zend_Rest_Client object to handle the API integration which provides a nice layer of abstraction and sorts out a lot of the heavy lifting required.
However I came across a terminal issue trying to get it working properly with HTTP Basic Authentication which the Zen Desk API uses.
I found some instructions which recommended creating a Zend_Uri_Http object and then setting the username and password against this. However as Zen Desk uses the email address as the username component, this failed completely.
In the end the solution I found was to grab the static HTTP client object that the REST client is built upon and call the public setAuth method on this. This way the Authorisation header is correctly created, encoded and appended to the headers.
Logically it feels like a dirty way to do things, grabbing the HTTP client statically to do this, but it works and I can’t see how else you would do it.
For info here is the code:
/**
* @return Zend_Rest_Client
*/
protected function getClient() {
if (null === $this->_client) {
$url = $this->getApiUrl();
$uri = Zend_Uri_Http::fromString($url);
$this->_client = new Zend_Rest_Client($uri);
Zend_Service_Abstract::getHttpClient()->setAuth($this->getUsername(),$this->getPassword());
}
return $this->_client;
}
zend framework, By:
admin
No Comments
Tags:
api,
auth,
authentication,
basic,
encoding,
framework,
http,
magento,
problem,
rest,
setauth,
solution,
zend
January 23, 2012
No Comments
The first development release of Magento 2 has a few areas worthy of note for developers of the coming changes to Magento.
Magento 2 now requires PHP 5.3
Zend is still version 1.11.1.
Magento 2 now implements templates on a per modules basis. So now all the different bits of the theme are separated into the modules it belongs to. This means that any existing version 1 theme cannot be dropped into version 2.
Themes in Magento 2 have the concept of variations of the same theme. So a theme can have different CSS and images but use the same templates, this can be configured per store per user agent in the admin. This is useful if you have different seasonable themes that are the same as each other but with a few different images and colours. To achieve the same in Magento 1 you would have to use packages and Magento’s ability to cascade up, this is not longer necessary.
This development release of Magento has a major focus on updating the theme and template system to be more ridged unlike Magento version 1 where the template files could be basically any where within a theme.
magento, By:
admin
No Comments
Tags:
2,
5.3,
developer,
magento,
magento 2,
php,
php 5.3,
two,
version,
web developer,
zend