diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..e69de29 diff --git a/README.md b/README.md new file mode 100755 index 0000000..067ef3d --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# Ekomi Rich Snippets for Magento® 1 + +Show your ratings from Ekomi on your homepage and use them for the Rich Snippets so the Rich Snippets will be shown in the most popular search engines. + +## Development by Magmodules + +We are a Dutch Magento® Only Agency dedicated to the development of extensions for Magento® 1 and Magento® 2. All our extensions are coded by our own team and our support team is always there to help you out. + +## Links + +[Visit Magmodules.eu](https://www.magmodules.eu/) + +[Terms and Conditions](https://www.magmodules.eu/terms.html) + +[Contact Us](https://www.magmodules.eu/contact-us.html) \ No newline at end of file diff --git a/app/code/local/Magmodules/Ekomisnippets/Block/Adminhtml/System/Config/Form/Field/Heading.php b/app/code/local/Magmodules/Ekomisnippets/Block/Adminhtml/System/Config/Form/Field/Heading.php new file mode 100755 index 0000000..695e38e --- /dev/null +++ b/app/code/local/Magmodules/Ekomisnippets/Block/Adminhtml/System/Config/Form/Field/Heading.php @@ -0,0 +1,38 @@ + + * @copyright Copyright (c) 2017 (http://www.magmodules.eu) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +class Magmodules_Ekomisnippets_Block_Adminhtml_System_Config_Form_Field_Heading + extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface +{ + + /** + * @param Varien_Data_Form_Element_Abstract $element + * + * @return string + */ + public function render(Varien_Data_Form_Element_Abstract $element) + { + $useContainerId = $element->getData('use_container_id'); + return sprintf('

%s

', + $element->getHtmlId(), $element->getLabel() + ); + } + +} diff --git a/app/code/local/Magmodules/Ekomisnippets/Block/Adminhtml/System/Config/Form/Field/Version.php b/app/code/local/Magmodules/Ekomisnippets/Block/Adminhtml/System/Config/Form/Field/Version.php new file mode 100755 index 0000000..0127a31 --- /dev/null +++ b/app/code/local/Magmodules/Ekomisnippets/Block/Adminhtml/System/Config/Form/Field/Version.php @@ -0,0 +1,35 @@ + + * @copyright Copyright (c) 2017 (http://www.magmodules.eu) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +class Magmodules_Ekomisnippets_Block_Adminhtml_System_Config_Form_Field_Version + extends Mage_Adminhtml_Block_System_Config_Form_Field +{ + + /** + * @param Varien_Data_Form_Element_Abstract $element + * + * @return mixed + */ + public function _getElementHtml(Varien_Data_Form_Element_Abstract $element) + { + return Mage::getConfig()->getNode()->modules->Magmodules_Ekomisnippets->version; + } + +} \ No newline at end of file diff --git a/app/code/local/Magmodules/Ekomisnippets/Block/Adminhtml/Widget/Info/Info.php b/app/code/local/Magmodules/Ekomisnippets/Block/Adminhtml/Widget/Info/Info.php new file mode 100755 index 0000000..f845b37 --- /dev/null +++ b/app/code/local/Magmodules/Ekomisnippets/Block/Adminhtml/Widget/Info/Info.php @@ -0,0 +1,65 @@ + + * @copyright Copyright (c) 2017 (http://www.magmodules.eu) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +class Magmodules_Ekomisnippets_Block_Adminhtml_Widget_Info_Info + extends Mage_Adminhtml_Block_Abstract implements Varien_Data_Form_Element_Renderer_Interface { + + /** + * @param Varien_Data_Form_Element_Abstract $element + * + * @return string + */ + public function render(Varien_Data_Form_Element_Abstract $element) + { + $magento_version = Mage::getVersion(); + $module_version = Mage::getConfig()->getNode()->modules->Magmodules_Ekomisnippets->version; + $logo_link = '//www.magmodules.eu/logo/kiyohsnippets/' . $module_version . '/' . $magento_version . '/logo.png'; + + $html = '
+

About Magmodules.eu

+

We are a Magento only E-commerce Agency located in the Netherlands.
+
+ + + + + + + + + + + + + + + + + + + + +
View more extensions from us:Magento Connect
Send us an E-mail: + info@magmodules.eu
Visit our website:www.magmodules.eu
  
Need help?Online manual
+

'; + return $html; + } + +} diff --git a/app/code/local/Magmodules/Ekomisnippets/Block/Snippets.php b/app/code/local/Magmodules/Ekomisnippets/Block/Snippets.php new file mode 100755 index 0000000..b834d47 --- /dev/null +++ b/app/code/local/Magmodules/Ekomisnippets/Block/Snippets.php @@ -0,0 +1,66 @@ + + * @copyright Copyright (c) 2017 (http://www.magmodules.eu) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +class Magmodules_Ekomisnippets_Block_Snippets extends Mage_Core_Block_Template +{ + + /** + * @return mixed + */ + public function getSnapshopRequest() + { + return $this->helper('ekomisnippets')->getSnapshopRequest(); + } + + /** + * @return mixed + */ + public function getEkomiLink() + { + return $this->helper('ekomisnippets')->getEkomiLink(); + } + + /** + * @param $rating + * + * @return mixed + */ + public function getEkomiStars($rating) + { + return $this->helper('ekomisnippets')->getEkomiStars($rating); + } + + /** + * + */ + protected function _construct() + { + parent::_construct(); + $this->addData(array( + 'cache_lifetime' => 7200, + 'cache_tags' => array(Mage_Cms_Model_Block::CACHE_TAG, 'ekomisnippets_block'), + 'cache_key' => 'ekomisnippets-snippets-block', + )); + if (Mage::getStoreConfig('ekomisnippets/api/enabled')) { + $this->setTemplate('magmodules/ekomisnippets/block.phtml'); + } + } + +} \ No newline at end of file diff --git a/app/code/local/Magmodules/Ekomisnippets/Helper/Data.php b/app/code/local/Magmodules/Ekomisnippets/Helper/Data.php new file mode 100755 index 0000000..cada2f3 --- /dev/null +++ b/app/code/local/Magmodules/Ekomisnippets/Helper/Data.php @@ -0,0 +1,75 @@ + + * @copyright Copyright (c) 2017 (http://www.magmodules.eu) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +class Magmodules_Ekomisnippets_Helper_Data extends Mage_Core_Helper_Abstract +{ + + /** + * @return bool + */ + function getSnapshopRequest() + { + $ekomiApiId = Mage::getStoreConfig('ekomisnippets/api/api_id'); + $ekomiApiKey = Mage::getStoreConfig('ekomisnippets/api/api_key'); + $ekomiVersion = 'cust-1.0.0'; + + if ($ekomiApiId && $ekomiApiKey) { + $api = 'http://api.ekomi.de/v2/wsdl'; + $client = new SoapClient($api, array('exceptions' => 0)); + $sendSnapshotRequest = $client->getSnapshot($ekomiApiId . '|' . $ekomiApiKey, $ekomiVersion); + $ret = unserialize(utf8_decode($sendSnapshotRequest)); + if ($ret['done']) { + $snippets = $ret['info']; + if ($snippets['fb_count'] > 0) { + return $snippets; + } + } + } + return false; + } + + /** + * @return bool|string + */ + function getEkomiLink() + { + if (Mage::getStoreConfig('ekomisnippets/api/show_link')) { + $ekomiLink = Mage::getStoreConfig('ekomisnippets/api/ekomi_link'); + return Mage::helper('ekomisnippets')->__('customer reviews on') . ' Ekomi'; + } else { + return false; + } + } + + /** + * @param $rating + * + * @return string + */ + function getEkomiStars($rating) + { + $perc = round(($rating * 20), 0); + $html = '
'; + $html .= '
'; + $html .= '
'; + return $html; + } + +} \ No newline at end of file diff --git a/app/code/local/Magmodules/Ekomisnippets/Model/System/Config/Flushcache.php b/app/code/local/Magmodules/Ekomisnippets/Model/System/Config/Flushcache.php new file mode 100755 index 0000000..110ac99 --- /dev/null +++ b/app/code/local/Magmodules/Ekomisnippets/Model/System/Config/Flushcache.php @@ -0,0 +1,30 @@ + + * @copyright Copyright (c) 2017 (http://www.magmodules.eu) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +class Magmodules_Ekomisnippets_Model_System_Config_Flushcache extends Mage_Core_Model_Config_Data { + + /** + * + */ + protected function _afterSave() { + Mage::app()->cleanCache('ekomisnippets_block'); + } + +} diff --git a/app/code/local/Magmodules/Ekomisnippets/etc/adminhtml.xml b/app/code/local/Magmodules/Ekomisnippets/etc/adminhtml.xml new file mode 100755 index 0000000..98749df --- /dev/null +++ b/app/code/local/Magmodules/Ekomisnippets/etc/adminhtml.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + Ekomi Rich Snippets + + + + + + + + + + \ No newline at end of file diff --git a/app/code/local/Magmodules/Ekomisnippets/etc/config.xml b/app/code/local/Magmodules/Ekomisnippets/etc/config.xml new file mode 100755 index 0000000..57b4c8e --- /dev/null +++ b/app/code/local/Magmodules/Ekomisnippets/etc/config.xml @@ -0,0 +1,79 @@ + + + + + + 1.1.1 + + + + + + Magmodules_Ekomisnippets_Helper + + + + + Magmodules_Ekomisnippets_Block + + + + + Magmodules_Ekomisnippets_Model + + + + + + + + magmodules_ekomisnippets.xml + + + + + + + + Magmodules_Ekomisnippets.csv + + + + + + + + + + + Magmodules_Ekomisnippets.csv + + + + + + + + + 0 + + + + \ No newline at end of file diff --git a/app/code/local/Magmodules/Ekomisnippets/etc/system.xml b/app/code/local/Magmodules/Ekomisnippets/etc/system.xml new file mode 100755 index 0000000..db97b8e --- /dev/null +++ b/app/code/local/Magmodules/Ekomisnippets/etc/system.xml @@ -0,0 +1,148 @@ + + + + + + + 200 + + + + + + magmodules + text + 15 + 1 + 1 + 1 + + + ekomisnippets/adminhtml_widget_info_info + 1 + 1 + 1 + 1 + + + + text + 2 + 1 + 1 + 1 + 1 + + + + select + adminhtml/system_config_source_yesno + ekomisnippets/system_config_flushcache + 1 + 1 + 1 + 1 + + + + text + ekomisnippets/adminhtml_system_config_form_field_version + 2 + 1 + 0 + 0 + + + + ekomisnippets/adminhtml_system_config_form_field_heading + 10 + 1 + 1 + 1 + + + + text + 11 + 1 + 1 + 1 + + + + text + 12 + 1 + 1 + 1 + + + + ekomisnippets/adminhtml_system_config_form_field_heading + 20 + 1 + 1 + 1 + + + + select + adminhtml/system_config_source_yesno + 21 + 1 + 1 + 1 + + + + text + 22 + 1 + 1 + 1 + + 1 + + + + + select + adminhtml/system_config_source_yesno + 23 + 1 + 1 + 1 + + + + + + text + 3 + 1 + 1 + 1 + 1 + Use: {{block type="ekomisnippets/snippets" name="ekomisnippets"}} to call the block on the homepage.

]]>
+
+
+
+
+
\ No newline at end of file diff --git a/app/design/frontend/base/default/layout/magmodules_ekomisnippets.xml b/app/design/frontend/base/default/layout/magmodules_ekomisnippets.xml new file mode 100755 index 0000000..8cc03e5 --- /dev/null +++ b/app/design/frontend/base/default/layout/magmodules_ekomisnippets.xml @@ -0,0 +1,27 @@ + + + + + + + magmodules/ekomisnippets/style.css + + + \ No newline at end of file diff --git a/app/design/frontend/base/default/template/magmodules/ekomisnippets/block.phtml b/app/design/frontend/base/default/template/magmodules/ekomisnippets/block.phtml new file mode 100755 index 0000000..35b9149 --- /dev/null +++ b/app/design/frontend/base/default/template/magmodules/ekomisnippets/block.phtml @@ -0,0 +1,36 @@ + + * @copyright Copyright (c) 2017 (http://www.magmodules.eu) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ +?> +getSnapshopRequest()) { ?> +
+ getEkomiStars($_snippets['fb_avg']); ?> +
+
+ +

__('Rating') ?> + + __('based on') ?> + + getEkomiLink(); ?> +

+
+
+
+ \ No newline at end of file diff --git a/app/etc/modules/Magmodules_Ekomisnippets.xml b/app/etc/modules/Magmodules_Ekomisnippets.xml new file mode 100755 index 0000000..29e2ad9 --- /dev/null +++ b/app/etc/modules/Magmodules_Ekomisnippets.xml @@ -0,0 +1,28 @@ + + + + + + + true + local + + + \ No newline at end of file diff --git a/app/locale/en_US/Magmodules_Ekomisnippets.csv b/app/locale/en_US/Magmodules_Ekomisnippets.csv new file mode 100755 index 0000000..e69de29 diff --git a/app/locale/it_IT/Magmodules_Ekomisnippets.csv b/app/locale/it_IT/Magmodules_Ekomisnippets.csv new file mode 100755 index 0000000..bc2b749 --- /dev/null +++ b/app/locale/it_IT/Magmodules_Ekomisnippets.csv @@ -0,0 +1,13 @@ +"General configuration","Configurazione generale" +"Use: {{block type="ekomisnippets/snippets" name="ekomisnippets" template="magmodules/ekomisnippets/block.phtml"}} to call the block on the homepage","Use: {{block type="ekomisnippets/snippets" name="ekomisnippets" template="magmodules/ekomisnippets/block.phtml"}} to call the block on the homepage" +"API CREDENTIALS","API CREDENZIALI" +"API ID","API ID" +"API Key","API Key" +"DESIGN","Design" +"Shopname","Nome del negozio" +"Show Link to Ekomi","Mostra Link eKomi" +"Ekomi Link","Ekomi Link" +"Show Stars","Mostra Stars" +"Rating","Valutazione" +"based on","sulla base" +"customer reviews on","recensioni dei clienti su" \ No newline at end of file diff --git a/app/locale/nl_NL/Magmodules_Ekomisnippets.csv b/app/locale/nl_NL/Magmodules_Ekomisnippets.csv new file mode 100755 index 0000000..41abb78 --- /dev/null +++ b/app/locale/nl_NL/Magmodules_Ekomisnippets.csv @@ -0,0 +1,13 @@ +"General configuration","Algemene Configuratie" +"Use: {{block type="ekomisnippets/snippets" name="ekomisnippets" template="magmodules/ekomisnippets/block.phtml"}} to call the block on the homepage","Gebruik: {{block type="ekomisnippets/snippets" name="ekomisnippets" template="magmodules/ekomisnippets/block.phtml"}} to call the block on the homepage" +"API CREDENTIALS","API Gegevens" +"API ID","API ID" +"API Key","API sleutel" +"DESIGN","Ontwerp" +"Shopname","Winkelnaam" +"Show Link to Ekomi","Toon link naar Ekomi" +"Ekomi Link","Ekomi Link" +"Show Stars","Toon sterren" +"Rating","Beoordeeld" +"based on","gebasseerd op" +"customer reviews on","klant beoordelingen" \ No newline at end of file diff --git a/modman b/modman new file mode 100755 index 0000000..2e73397 --- /dev/null +++ b/modman @@ -0,0 +1,8 @@ +app/code/local/Magmodules/Ekomisnippets app/code/local/Magmodules/Ekomisnippets +app/etc/modules/Magmodules_Ekomisnippets.xml app/etc/modules/Magmodules_Ekomisnippets.xml +app/locale/en_US/Magmodules_Ekomisnippets.csv app/locale/en_US/Magmodules_Ekomisnippets.csv +app/locale/it_IT/Magmodules_Ekomisnippets.csv app/locale/it_IT/Magmodules_Ekomisnippets.csv +app/locale/nl_NL/Magmodules_Ekomisnippets.csv app/locale/nl_NL/Magmodules_Ekomisnippets.csv +app/design/frontend/base/default/layout/magmodules_ekomisnippets.xml app/design/frontend/base/default/layout/magmodules_ekomisnippets.xml +app/design/frontend/base/default/template/magmodules/ekomisnippets app/design/frontend/base/default/template/magmodules/ekomisnippets +skin/frontend/base/default/magmodules/ekomisnippets skin/frontend/base/default/magmodules/ekomisnippets \ No newline at end of file diff --git a/skin/frontend/base/default/magmodules/ekomisnippets/images/5-stars-empty.png b/skin/frontend/base/default/magmodules/ekomisnippets/images/5-stars-empty.png new file mode 100755 index 0000000..a7e5a16 Binary files /dev/null and b/skin/frontend/base/default/magmodules/ekomisnippets/images/5-stars-empty.png differ diff --git a/skin/frontend/base/default/magmodules/ekomisnippets/images/5-stars-full.png b/skin/frontend/base/default/magmodules/ekomisnippets/images/5-stars-full.png new file mode 100755 index 0000000..5d9f2a1 Binary files /dev/null and b/skin/frontend/base/default/magmodules/ekomisnippets/images/5-stars-full.png differ diff --git a/skin/frontend/base/default/magmodules/ekomisnippets/images/bkg_rating.gif b/skin/frontend/base/default/magmodules/ekomisnippets/images/bkg_rating.gif new file mode 100755 index 0000000..fcebdc7 Binary files /dev/null and b/skin/frontend/base/default/magmodules/ekomisnippets/images/bkg_rating.gif differ diff --git a/skin/frontend/base/default/magmodules/ekomisnippets/style.css b/skin/frontend/base/default/magmodules/ekomisnippets/style.css new file mode 100755 index 0000000..42f9565 --- /dev/null +++ b/skin/frontend/base/default/magmodules/ekomisnippets/style.css @@ -0,0 +1,41 @@ +/* + * Magmodules.eu - http://www.magmodules.eu + * + * NOTICE OF LICENSE + * This source file is subject to the Open Software License (OSL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/osl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to info@magmodules.eu so we can send you a copy immediately. + * + * @category Magmodules + * @package Magmodules_Ekomisnippets + * @author Magmodules + * @copyright Copyright (c) 2017 (http://www.magmodules.eu) + * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) + */ + +.ekomi-shop-snippets { + margin-top: 5px; +} + +.ekomi-shop-snippets .rating-box { + float: left; + margin: 3px 5px 0px 0px; +} + +.ekomi-shop-snippets .rating { + display: block; + background: url(./images/5-stars-full.png) no-repeat; + background-size: 100px; + height: 50px; +} + +.ekomi-shop-snippets .rating-box { + width: 100px; + background: url(./images/5-stars-empty.png) no-repeat; + margin: 5px auto; + background-size: 100px; +} \ No newline at end of file