Version Notes
* Setting the products sales time interval.
* Fix date of setting the product's state new.
* Update preview mode.
Download this release
Release Info
Developer | Favizone |
Extension | Favizone_Recommender |
Version | 1.0.5 |
Comparing to | |
See all releases |
Code changes from version 1.0.4 to 1.0.5
- app/code/community/Favizone/Recommender/Block/Tracker.php +6 -0
- app/code/community/Favizone/Recommender/Helper/Common.php +2 -4
- app/code/community/Favizone/Recommender/Model/Meta/Product.php +34 -13
- app/code/community/Favizone/Recommender/Model/Observer.php +1 -2
- app/code/community/Favizone/Recommender/controllers/Adminhtml/FavizoneController.php +2 -2
- app/design/adminhtml/default/default/template/favizonerecommender/adminconfig.phtml +7 -9
- app/design/frontend/base/default/template/favizonerecommender/bottom.phtml +3 -1
- app/design/frontend/base/default/template/favizonerecommender/event.phtml +0 -1
- app/design/frontend/base/default/template/favizonerecommender/preview.phtml +17 -9
- app/design/frontend/base/default/template/favizonerecommender/tracker.phtml +2 -1
- app/locale/fr_FR/Favizone_Recommender.csv +4 -2
- js/favizone/favizone-auto-appender.js +3 -0
- js/favizone/favizone-helper.js +34 -2
- js/favizone/favizone-preview-manager.js +79 -24
- js/favizone/internal-sender.js +2 -2
- package.xml +8 -6
- skin/adminhtml/default/default/favizone/admin-custom-style.css +259 -14
- skin/adminhtml/default/default/images/favizone/minimize.png +0 -0
app/code/community/Favizone/Recommender/Block/Tracker.php
CHANGED
@@ -152,4 +152,10 @@ class Favizone_Recommender_Block_Tracker extends Mage_Core_Block_Template
|
|
152 |
|
153 |
return $result;
|
154 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
}
|
152 |
|
153 |
return $result;
|
154 |
}
|
155 |
+
|
156 |
+
public function getCookiesExpirationTime(){
|
157 |
+
|
158 |
+
$lifeTime = Mage::getModel('core/cookie')->getLifetime('favizone_visit_'.Mage::app()->getStore()->getId()) ;
|
159 |
+
return $lifeTime ;
|
160 |
+
}
|
161 |
}
|
app/code/community/Favizone/Recommender/Helper/Common.php
CHANGED
@@ -319,13 +319,11 @@ class Favizone_Recommender_Helper_Common extends Mage_Core_Helper_Abstract
|
|
319 |
* @param $store_id
|
320 |
* @return Array() the categories list
|
321 |
*/
|
322 |
-
public function resetData(){
|
323 |
$transaction = Mage::getSingleton('core/resource')->getConnection('core_write');
|
324 |
try {
|
325 |
$transaction->beginTransaction();
|
326 |
-
|
327 |
-
$transaction->query('DELETE FROM favizone_recommender_access_key');
|
328 |
-
|
329 |
$transaction->commit();
|
330 |
} catch (Exception $e) {
|
331 |
$transaction->rollBack(); // if anything goes wrong, this will undo all changes you made to your database
|
319 |
* @param $store_id
|
320 |
* @return Array() the categories list
|
321 |
*/
|
322 |
+
public function resetData($store_id){
|
323 |
$transaction = Mage::getSingleton('core/resource')->getConnection('core_write');
|
324 |
try {
|
325 |
$transaction->beginTransaction();
|
326 |
+
$transaction->query('DELETE FROM favizone_recommender_access_key where store_id= '.$store_id);
|
|
|
|
|
327 |
$transaction->commit();
|
328 |
} catch (Exception $e) {
|
329 |
$transaction->rollBack(); // if anything goes wrong, this will undo all changes you made to your database
|
app/code/community/Favizone/Recommender/Model/Meta/Product.php
CHANGED
@@ -28,7 +28,6 @@ class Favizone_Recommender_Model_Meta_Product extends Mage_Core_Model_Abstract{
|
|
28 |
*/
|
29 |
public function loadProductData(Mage_Catalog_Model_Product $product, Mage_Core_Model_Store $store, $wholeSale = true){
|
30 |
|
31 |
-
|
32 |
$product_data = array();
|
33 |
$utcTz = new DateTimeZone("UTC");
|
34 |
|
@@ -42,9 +41,9 @@ class Favizone_Recommender_Model_Meta_Product extends Mage_Core_Model_Abstract{
|
|
42 |
$product_data['reference'] = $product->getSku();
|
43 |
|
44 |
//description
|
45 |
-
$product_data['description'] = $product->getDescription();
|
46 |
//short description
|
47 |
-
$product_data['shortDescription']= $product->getShortDescription();
|
48 |
|
49 |
//Price
|
50 |
$product_data['price']= $this->getProductPrice($product);
|
@@ -106,13 +105,16 @@ class Favizone_Recommender_Model_Meta_Product extends Mage_Core_Model_Abstract{
|
|
106 |
|
107 |
$product_data['isNew'] = $this->isProductNew($product);
|
108 |
if($product_data['isNew'] ){
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
|
|
113 |
}
|
114 |
$product_rule = $this->getProductRule($product, $store);
|
115 |
-
//$product_data['getSpecialPrice'] = $product->getSpecialPrice();
|
116 |
if(!is_null($product->getSpecialPrice()) && !empty($product->getSpecialPrice())){
|
117 |
|
118 |
$product_data['isReduced'] = true;
|
@@ -122,14 +124,22 @@ class Favizone_Recommender_Model_Meta_Product extends Mage_Core_Model_Abstract{
|
|
122 |
$product_data['price_without_reduction'] =Mage::helper('tax')
|
123 |
->getPrice($product, $product->getPrice());
|
124 |
$product_data['reduction'] = $product_data['price_without_reduction'] - $product_data['price'];
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
|
127 |
$product_data['reduction_tax'] = true;//TTC
|
128 |
|
129 |
}else{
|
130 |
if(count($product_rule)>0){
|
131 |
|
132 |
-
//$tz = Mage::getStoreConfig(Mage_Core_Model_Locale::XML_PATH_DEFAULT_TIMEZONE);
|
133 |
$product_rule = $product_rule[0];
|
134 |
$product_data['isReduced'] = true;
|
135 |
$product_data['reduction'] = $product_rule ['action_amount'];
|
@@ -137,9 +147,15 @@ class Favizone_Recommender_Model_Meta_Product extends Mage_Core_Model_Abstract{
|
|
137 |
if($product_rule ['action_amount']=='by_percent'){
|
138 |
$product_data['reduction_type'] = 'percentage';
|
139 |
}
|
140 |
-
|
141 |
-
|
142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
$product_data['reduction_tax'] = true;//TTC
|
144 |
$product_data['price_without_reduction'] = Mage::helper('tax')
|
145 |
->getPrice($product, $product->getPrice());
|
@@ -167,6 +183,11 @@ class Favizone_Recommender_Model_Meta_Product extends Mage_Core_Model_Abstract{
|
|
167 |
}
|
168 |
}
|
169 |
}
|
|
|
|
|
|
|
|
|
|
|
170 |
if ($product->getData('type_id') == "configurable"){
|
171 |
//get the configurable data from the product
|
172 |
$config = $product->getTypeInstance(true);
|
28 |
*/
|
29 |
public function loadProductData(Mage_Catalog_Model_Product $product, Mage_Core_Model_Store $store, $wholeSale = true){
|
30 |
|
|
|
31 |
$product_data = array();
|
32 |
$utcTz = new DateTimeZone("UTC");
|
33 |
|
41 |
$product_data['reference'] = $product->getSku();
|
42 |
|
43 |
//description
|
44 |
+
$product_data['description'] = strip_tags($product->getDescription());
|
45 |
//short description
|
46 |
+
$product_data['shortDescription']= strip_tags($product->getShortDescription());
|
47 |
|
48 |
//Price
|
49 |
$product_data['price']= $this->getProductPrice($product);
|
105 |
|
106 |
$product_data['isNew'] = $this->isProductNew($product);
|
107 |
if($product_data['isNew'] ){
|
108 |
+
if($product->getNewsFromDate()){
|
109 |
+
$newFromDate = (new DateTime($product->getNewsFromDate()))->setTimezone($utcTz)->format(self::DATE_FORMAT) ;
|
110 |
+
$product_data['isNew_from_date'] = $newFromDate;
|
111 |
+
}
|
112 |
+
if($product->getNewsToDate()){
|
113 |
+
$newToDate = (new DateTime( $product->getNewsToDate()))->setTimezone($utcTz)->format(self::DATE_FORMAT);
|
114 |
+
$product_data['isNew_to_date'] = $newToDate;
|
115 |
+
}
|
116 |
}
|
117 |
$product_rule = $this->getProductRule($product, $store);
|
|
|
118 |
if(!is_null($product->getSpecialPrice()) && !empty($product->getSpecialPrice())){
|
119 |
|
120 |
$product_data['isReduced'] = true;
|
124 |
$product_data['price_without_reduction'] =Mage::helper('tax')
|
125 |
->getPrice($product, $product->getPrice());
|
126 |
$product_data['reduction'] = $product_data['price_without_reduction'] - $product_data['price'];
|
127 |
+
|
128 |
+
if($product->getSpecialToDate()){
|
129 |
+
|
130 |
+
$product_data['reduction_from_date'] = (new DateTime($product->getSpecialFromDate()))->setTimezone($utcTz)->format(self::DATE_FORMAT);
|
131 |
+
}
|
132 |
+
|
133 |
+
if($product->getSpecialToDate()){
|
134 |
+
|
135 |
+
$product_data['reduction_expiry_date'] = (new DateTime($product->getSpecialToDate()))->setTimezone($utcTz)->format(self::DATE_FORMAT);
|
136 |
+
}
|
137 |
|
138 |
$product_data['reduction_tax'] = true;//TTC
|
139 |
|
140 |
}else{
|
141 |
if(count($product_rule)>0){
|
142 |
|
|
|
143 |
$product_rule = $product_rule[0];
|
144 |
$product_data['isReduced'] = true;
|
145 |
$product_data['reduction'] = $product_rule ['action_amount'];
|
147 |
if($product_rule ['action_amount']=='by_percent'){
|
148 |
$product_data['reduction_type'] = 'percentage';
|
149 |
}
|
150 |
+
if($product_rule['from_time'] != 0 && $product_rule['from_time'] != '0'){
|
151 |
+
$from_time = new DateTime('@'.$product_rule['from_time']);
|
152 |
+
$product_data['reduction_from_date'] = $from_time->setTimezone($utcTz)->format(self::DATE_FORMAT);
|
153 |
+
}
|
154 |
+
if($product_rule['to_time'] != 0 && $product_rule['to_time'] != '0'){
|
155 |
+
$to_date = new DateTime('@'.$product_rule['to_time']);
|
156 |
+
$product_data['reduction_expiry_date'] = $to_date->setTimezone($utcTz)->format(self::DATE_FORMAT);
|
157 |
+
}
|
158 |
+
|
159 |
$product_data['reduction_tax'] = true;//TTC
|
160 |
$product_data['price_without_reduction'] = Mage::helper('tax')
|
161 |
->getPrice($product, $product->getPrice());
|
183 |
}
|
184 |
}
|
185 |
}
|
186 |
+
if($product->getTypeId() == "simple")
|
187 |
+
$product_data['hasDeclination'] = false;
|
188 |
+
else
|
189 |
+
$product_data['hasDeclination'] = true;
|
190 |
+
|
191 |
if ($product->getData('type_id') == "configurable"){
|
192 |
//get the configurable data from the product
|
193 |
$config = $product->getTypeInstance(true);
|
app/code/community/Favizone/Recommender/Model/Observer.php
CHANGED
@@ -184,8 +184,7 @@ class Favizone_Recommender_Model_Observer
|
|
184 |
$customer = $observer->getEvent()->getCustomer();
|
185 |
foreach($stores as $store) {
|
186 |
if(!empty($common_helper->getStoreInfo($store->getId())->getData())){
|
187 |
-
|
188 |
-
if($common_helper->getSessionIdentifier($store->getId()) != "anonymous")
|
189 |
Mage::helper('favizone_recommender/customer')->sendCustomerData($customer->getId(), $store->getId());
|
190 |
}
|
191 |
}
|
184 |
$customer = $observer->getEvent()->getCustomer();
|
185 |
foreach($stores as $store) {
|
186 |
if(!empty($common_helper->getStoreInfo($store->getId())->getData())){
|
187 |
+
if($common_helper->getSessionIdentifier($store->getId()) != "anonymous")
|
|
|
188 |
Mage::helper('favizone_recommender/customer')->sendCustomerData($customer->getId(), $store->getId());
|
189 |
}
|
190 |
}
|
app/code/community/Favizone/Recommender/controllers/Adminhtml/FavizoneController.php
CHANGED
@@ -134,12 +134,12 @@ class Favizone_Recommender_Adminhtml_FavizoneController extends Mage_Adminhtml_C
|
|
134 |
}
|
135 |
|
136 |
/**
|
137 |
-
* Reset data
|
138 |
*/
|
139 |
public function resetDataAction(){
|
140 |
$this->getResponse()->setHeader('Content-type', 'application/json');
|
141 |
$store = Favizone_Recommender_Block_Common::getSelectedStore();
|
142 |
-
Mage::helper('favizone_recommender/common')->resetData();
|
143 |
//Preparing response
|
144 |
$responseData = array(
|
145 |
|
134 |
}
|
135 |
|
136 |
/**
|
137 |
+
* Reset Extension data
|
138 |
*/
|
139 |
public function resetDataAction(){
|
140 |
$this->getResponse()->setHeader('Content-type', 'application/json');
|
141 |
$store = Favizone_Recommender_Block_Common::getSelectedStore();
|
142 |
+
Mage::helper('favizone_recommender/common')->resetData($store->getId());
|
143 |
//Preparing response
|
144 |
$responseData = array(
|
145 |
|
app/design/adminhtml/default/default/template/favizonerecommender/adminconfig.phtml
CHANGED
@@ -83,17 +83,14 @@
|
|
83 |
</div>
|
84 |
<hr>
|
85 |
<div class="row">
|
|
|
86 |
<div class="col-md-4 ">
|
87 |
<p>
|
88 |
-
<a class="btn"
|
89 |
-
</p>
|
90 |
-
</div>
|
91 |
-
<div class="col-md-4 ">
|
92 |
-
<p>
|
93 |
-
<a class="btn" target="_blank" href="<?php echo Mage::helper('favizone_recommender/data')->getHost();?>/profil" ><i class="fa fa-user fa-2x"></i>
|
94 |
<?php echo $this->__('Go to my profile');?> </a>
|
95 |
</p>
|
96 |
</div>
|
|
|
97 |
<div class="col-md-4 ">
|
98 |
<p>
|
99 |
<a class="btn" onclick="sendData('<?php echo $this->getUrl('*/*/sendCategoryData', array('isAjax' => true))?>', 'category-sync', <?php echo Favizone_Recommender_Block_Common::getSelectedStore()->getId(); ?>);" name="submitFavizoneCategories"><i class="fa fa-refresh fa-2x"></i><?php echo $this->__('Synchronize my categories'); ?> </a>
|
@@ -167,7 +164,7 @@
|
|
167 |
</div>
|
168 |
</div>
|
169 |
<p class="terms-block">
|
170 |
-
<?php echo $this->__('By clicking you accept the') ;?> <a target="_blank" href="www.favizone.com/terms"> <?php echo $this->__('
|
171 |
</p>
|
172 |
</div>
|
173 |
</div>
|
@@ -182,8 +179,9 @@
|
|
182 |
<script type="text/javascript">
|
183 |
function confirmWindow() {
|
184 |
var url = "<?php echo $this->getUrl('*/*/resetData', array('isAjax' => true))?>";
|
185 |
-
|
186 |
-
|
|
|
187 |
}
|
188 |
}
|
189 |
</script>
|
83 |
</div>
|
84 |
<hr>
|
85 |
<div class="row">
|
86 |
+
|
87 |
<div class="col-md-4 ">
|
88 |
<p>
|
89 |
+
<a class="btn" target="_blank" href="https://admin.favizone.com/login" ><i class="fa fa-user fa-2x"></i>
|
|
|
|
|
|
|
|
|
|
|
90 |
<?php echo $this->__('Go to my profile');?> </a>
|
91 |
</p>
|
92 |
</div>
|
93 |
+
<div class="col-md-4 "> </div>
|
94 |
<div class="col-md-4 ">
|
95 |
<p>
|
96 |
<a class="btn" onclick="sendData('<?php echo $this->getUrl('*/*/sendCategoryData', array('isAjax' => true))?>', 'category-sync', <?php echo Favizone_Recommender_Block_Common::getSelectedStore()->getId(); ?>);" name="submitFavizoneCategories"><i class="fa fa-refresh fa-2x"></i><?php echo $this->__('Synchronize my categories'); ?> </a>
|
164 |
</div>
|
165 |
</div>
|
166 |
<p class="terms-block">
|
167 |
+
<?php echo $this->__('By clicking you accept the') ;?> <a target="_blank" href="http://www.favizone.com/terms/"> <?php echo $this->__('terms and conditions of Favizone') ;?> </a>
|
168 |
</p>
|
169 |
</div>
|
170 |
</div>
|
179 |
<script type="text/javascript">
|
180 |
function confirmWindow() {
|
181 |
var url = "<?php echo $this->getUrl('*/*/resetData', array('isAjax' => true))?>";
|
182 |
+
var store = " <?php echo Favizone_Recommender_Block_Common::getSelectedStore()->getId(); ?>";
|
183 |
+
if (confirm("<?php echo $this->__('This will remove all Favizone extension config data for this store view !');?>") == true) {
|
184 |
+
sendResetRequest(url, store);
|
185 |
}
|
186 |
}
|
187 |
</script>
|
app/design/frontend/base/default/template/favizonerecommender/bottom.phtml
CHANGED
@@ -16,6 +16,7 @@
|
|
16 |
?>
|
17 |
<?php if (Mage::helper('favizone_recommender/common')->validateContext()): ?>
|
18 |
<script>
|
|
|
19 |
var store_id = "<?php echo Mage::app()->getStore()->getId()?>";
|
20 |
if(typeof(favizone_tracker)=='undefined'){
|
21 |
|
@@ -35,7 +36,8 @@
|
|
35 |
|
36 |
visit_event = "<?php echo $this->getVisitEvent()?>";
|
37 |
favizone_events.push(visit_event);
|
38 |
-
|
|
|
39 |
}
|
40 |
}
|
41 |
//searching for custom data in standards pages
|
16 |
?>
|
17 |
<?php if (Mage::helper('favizone_recommender/common')->validateContext()): ?>
|
18 |
<script>
|
19 |
+
|
20 |
var store_id = "<?php echo Mage::app()->getStore()->getId()?>";
|
21 |
if(typeof(favizone_tracker)=='undefined'){
|
22 |
|
36 |
|
37 |
visit_event = "<?php echo $this->getVisitEvent()?>";
|
38 |
favizone_events.push(visit_event);
|
39 |
+
var expiry_date = "<?php echo $this->getCookiesExpirationTime();?>";
|
40 |
+
favizone_searcher.setCookie("favizone_visit_"+store_id, "", expiry_date);
|
41 |
}
|
42 |
}
|
43 |
//searching for custom data in standards pages
|
app/design/frontend/base/default/template/favizonerecommender/event.phtml
CHANGED
@@ -16,6 +16,5 @@
|
|
16 |
?>
|
17 |
<script>
|
18 |
function sendEvent(event){
|
19 |
-
console.log(event);
|
20 |
}
|
21 |
</script>
|
16 |
?>
|
17 |
<script>
|
18 |
function sendEvent(event){
|
|
|
19 |
}
|
20 |
</script>
|
app/design/frontend/base/default/template/favizonerecommender/preview.phtml
CHANGED
@@ -19,22 +19,30 @@
|
|
19 |
<div class="row">
|
20 |
<div class="col-sm-6 col-md-6">
|
21 |
<a href="<?php echo Mage::helper('favizone_recommender/data')->getHost();?>" target="_blank">
|
22 |
-
<img
|
23 |
</a>
|
24 |
</div>
|
25 |
<div class="col-sm-6 col-md-6">
|
26 |
<div class="pull-right">
|
27 |
-
<span class="favizone_move"
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
29 |
</span>
|
30 |
</div>
|
31 |
</div>
|
32 |
-
<div class="
|
33 |
-
|
34 |
-
<
|
35 |
-
<
|
36 |
-
|
37 |
-
|
|
|
|
|
|
|
38 |
</div>
|
39 |
</div>
|
40 |
</div>
|
19 |
<div class="row">
|
20 |
<div class="col-sm-6 col-md-6">
|
21 |
<a href="<?php echo Mage::helper('favizone_recommender/data')->getHost();?>" target="_blank">
|
22 |
+
<img title="<?php echo $this->__('Go to my dashboard');?>" class="favizone_logo" src="<?php echo $this->getSkinUrl('images/favizone/logo-favizone.png',array('_package'=>'default','_area'=>'adminhtml'))?>">
|
23 |
</a>
|
24 |
</div>
|
25 |
<div class="col-sm-6 col-md-6">
|
26 |
<div class="pull-right">
|
27 |
+
<span class="favizone_move" id="favizone_preview_setting" style="float: left;">
|
28 |
+
<img class="img-logo" title="<?php echo $this->__('Minimize window');?>"
|
29 |
+
src="<?php echo $this->getSkinUrl('images/favizone/minimize.png',array('_package'=>'default','_area'=>'adminhtml'))?>"
|
30 |
+
>
|
31 |
+
</span>
|
32 |
+
<span class="favizone_move" id="favizone_preview_close" style="float: left;">
|
33 |
+
<img title=" <?php echo $this->__('End preview mode');?>" class="img-logo" src="<?php echo $this->getSkinUrl('images/favizone/close.png',array('_package'=>'default','_area'=>'adminhtml'))?>">
|
34 |
</span>
|
35 |
</div>
|
36 |
</div>
|
37 |
+
<div class="clearfix"></div>
|
38 |
+
<div class="col-sm-12 col-md-12" id="favizone_header" >
|
39 |
+
<div class="favizone_description">
|
40 |
+
<p><?php echo $this->__("This is a demonstration of Favizone's recommendations.");?>
|
41 |
+
<a href="http://www.favizone.com/support" target="_blank" class="favizone-help"><?php echo $this->__("Help");?></a>
|
42 |
+
</p>
|
43 |
+
<p><?php echo $this->__("You can navigate on your store and view all Favizone's recommendations.");?></p>
|
44 |
+
<p><?php echo $this->__("Please do not close this window until you finish your simulation on preview mode.");?></p>
|
45 |
+
</div>
|
46 |
</div>
|
47 |
</div>
|
48 |
</div>
|
app/design/frontend/base/default/template/favizonerecommender/tracker.phtml
CHANGED
@@ -34,7 +34,8 @@
|
|
34 |
|
35 |
visit_event = "<?php echo $this->getVisitEvent()?>";
|
36 |
favizone_events.push(visit_event);
|
37 |
-
|
|
|
38 |
}
|
39 |
}
|
40 |
|
34 |
|
35 |
visit_event = "<?php echo $this->getVisitEvent()?>";
|
36 |
favizone_events.push(visit_event);
|
37 |
+
var expiry_date = "<?php echo $this->getCookiesExpirationTime();?>";
|
38 |
+
favizone_searcher.setCookie("favizone_visit_"+store_id, "", expiry_date);
|
39 |
}
|
40 |
}
|
41 |
|
app/locale/fr_FR/Favizone_Recommender.csv
CHANGED
@@ -10,7 +10,7 @@
|
|
10 |
"Please add your access key","Ajoutez votre clé d'accès"
|
11 |
"your access key","votre clé d'accès"
|
12 |
"By clicking you accept the","En cliquant, vous acceptez les"
|
13 |
-
"
|
14 |
"Yes","Oui"
|
15 |
"No","Non"
|
16 |
"End preview mode","Fermer le mode demo"
|
@@ -28,4 +28,6 @@
|
|
28 |
"Help","Aide"
|
29 |
"Help to getting stared","Aide pour commencer"
|
30 |
"Reset Favizone extension data","Réinitialiser les données de l'extention Favizone"
|
31 |
-
"This will remove all Favizone extension config data!","Cette action va rénitialiser toutes des données de configuration de votre extention Favizone!"
|
|
|
|
10 |
"Please add your access key","Ajoutez votre clé d'accès"
|
11 |
"your access key","votre clé d'accès"
|
12 |
"By clicking you accept the","En cliquant, vous acceptez les"
|
13 |
+
"terms and conditions of Favizone","termes et conditions de Favizone."
|
14 |
"Yes","Oui"
|
15 |
"No","Non"
|
16 |
"End preview mode","Fermer le mode demo"
|
28 |
"Help","Aide"
|
29 |
"Help to getting stared","Aide pour commencer"
|
30 |
"Reset Favizone extension data","Réinitialiser les données de l'extention Favizone"
|
31 |
+
"This will remove all Favizone extension config data!","Cette action va rénitialiser toutes des données de configuration de votre extention Favizone!"
|
32 |
+
"This will remove all Favizone extension config data for this store view !","Cette action va rénitialiser toutes des données de configuration de votre extention Favizone pour cette boutique!"
|
33 |
+
"Please do not close this window until you finish your simulation on preview mode.","Veuillez ne pas fermer cette fenêtre jusqu'à ce que vous avez terminé votre simulation en mode de prévisualisation."
|
js/favizone/favizone-auto-appender.js
CHANGED
@@ -8,6 +8,9 @@ function FavizoneAppender(element_gender, element_identifier){
|
|
8 |
|
9 |
this.element_gender = element_gender;
|
10 |
this.element_identifier = element_identifier;
|
|
|
|
|
|
|
11 |
this.appendFavizoneElement = function(){
|
12 |
|
13 |
var section = document.getElementById(this.element_identifier);
|
8 |
|
9 |
this.element_gender = element_gender;
|
10 |
this.element_identifier = element_identifier;
|
11 |
+
/*
|
12 |
+
* Adding data for custom areas
|
13 |
+
*/
|
14 |
this.appendFavizoneElement = function(){
|
15 |
|
16 |
var section = document.getElementById(this.element_identifier);
|
js/favizone/favizone-helper.js
CHANGED
@@ -18,8 +18,24 @@ function FavizoneHelper(){
|
|
18 |
return "";
|
19 |
}
|
20 |
|
21 |
-
this.setCookie = function(cname, cvalue) {
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
}
|
24 |
|
25 |
this.insertParam = function (paramName, paramValue)
|
@@ -45,4 +61,20 @@ function FavizoneHelper(){
|
|
45 |
|
46 |
return url;
|
47 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
}
|
18 |
return "";
|
19 |
}
|
20 |
|
21 |
+
this.setCookie = function(cname, cvalue, expiry_time) {
|
22 |
+
|
23 |
+
var expires;
|
24 |
+
var path = "/";
|
25 |
+
var domain= window.location.hostname.split('.').reverse()[1] + "." + window.location.hostname.split('.').reverse()[0] ;
|
26 |
+
|
27 |
+
cookieStr = cname + "=" + escape(cvalue) + "; ";
|
28 |
+
if(expiry_time){
|
29 |
+
expires = new Date();
|
30 |
+
expires = new Date(expires.getTime() + expiry_time * 1000);
|
31 |
+
} else {
|
32 |
+
var today = new Date();
|
33 |
+
expires = new Date(today.getTime() + 15 * 24 * 60 * 60 * 1000);
|
34 |
+
}
|
35 |
+
|
36 |
+
expires = expires.toGMTString();
|
37 |
+
document.cookie = this.setCookieParams(cname, cvalue, expires, path, window.location.hostname);
|
38 |
+
document.cookie = this.setCookieParams(cname, cvalue, expires, path, "."+window.location.hostname);
|
39 |
}
|
40 |
|
41 |
this.insertParam = function (paramName, paramValue)
|
61 |
|
62 |
return url;
|
63 |
}
|
64 |
+
|
65 |
+
this.setCookieParams = function(cname, cvalue, expires, path, domain){
|
66 |
+
|
67 |
+
var cookieStr = cname + "=" + escape(cvalue) + "; ";
|
68 |
+
if(expires){
|
69 |
+
cookieStr += "expires=" + expires + "; ";
|
70 |
+
}
|
71 |
+
if(path){
|
72 |
+
cookieStr += "path=" + path + "; ";
|
73 |
+
}
|
74 |
+
if(domain){
|
75 |
+
cookieStr += "domain=" + domain + "; ";
|
76 |
+
}
|
77 |
+
|
78 |
+
return cookieStr;
|
79 |
+
}
|
80 |
}
|
js/favizone/favizone-preview-manager.js
CHANGED
@@ -4,51 +4,106 @@
|
|
4 |
* @author Favizone Solutions Ltd <contact@favizone.com>
|
5 |
* @copyright 2015-2016 Favizone Solutions Ltd
|
6 |
*/
|
7 |
-
document.getElementById("favizone_preview_close").onclick = function(){
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
if(url.indexOf("favizone_preview=true")>-1){
|
12 |
|
13 |
-
|
14 |
-
|
15 |
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
|
20 |
-
|
21 |
-
window.location.href = url;
|
22 |
};
|
23 |
|
24 |
var selected = null, // Object of the element to be moved
|
25 |
-
|
26 |
-
|
|
|
|
|
27 |
|
28 |
// Will be called when user starts dragging an element
|
29 |
function _drag_init(elem) {
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
}
|
34 |
|
35 |
// Will be called when user dragging an element
|
36 |
function _move_elem(e) {
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
}
|
42 |
|
43 |
// Destroy the object when we are done
|
44 |
function _destroy() {
|
45 |
-
|
46 |
}
|
47 |
|
48 |
// Bind the functions...
|
49 |
-
document.getElementById('favizone_preview_section').onmousedown = function
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
};
|
53 |
|
54 |
document.onmousemove = _move_elem;
|
4 |
* @author Favizone Solutions Ltd <contact@favizone.com>
|
5 |
* @copyright 2015-2016 Favizone Solutions Ltd
|
6 |
*/
|
7 |
+
document.getElementById("favizone_preview_close").onclick = function() {
|
8 |
|
9 |
+
var url = window.location.href;
|
10 |
+
if (url.indexOf("favizone_preview=true") > -1) {
|
|
|
11 |
|
12 |
+
url = url.replace("favizone_preview=true", "favizone_preview=false");
|
13 |
+
} else {
|
14 |
|
15 |
+
favizone_helper = new FavizoneHelper();
|
16 |
+
url = favizone_helper.insertParam("favizone_preview", "false");
|
17 |
+
}
|
18 |
|
19 |
+
window.location.href = url;
|
|
|
20 |
};
|
21 |
|
22 |
var selected = null, // Object of the element to be moved
|
23 |
+
x_pos = 0,
|
24 |
+
y_pos = 0, // Stores x & y coordinates of the mouse pointer
|
25 |
+
x_elem = 0,
|
26 |
+
y_elem = 0; // Stores top, left values (edge) of the element
|
27 |
|
28 |
// Will be called when user starts dragging an element
|
29 |
function _drag_init(elem) {
|
30 |
+
// Store the object of the element which needs to be moved
|
31 |
+
selected = elem;
|
32 |
+
x_elem = x_pos - selected.offsetLeft;
|
33 |
}
|
34 |
|
35 |
// Will be called when user dragging an element
|
36 |
function _move_elem(e) {
|
37 |
+
x_pos = document.all ? window.event.clientX : e.pageX;
|
38 |
+
if (selected !== null) {
|
39 |
+
selected.style.left = (x_pos - x_elem) + 'px';
|
40 |
+
}
|
41 |
}
|
42 |
|
43 |
// Destroy the object when we are done
|
44 |
function _destroy() {
|
45 |
+
selected = null;
|
46 |
}
|
47 |
|
48 |
// Bind the functions...
|
49 |
+
document.getElementById('favizone_preview_section').onmousedown = function() {
|
50 |
+
_drag_init(this);
|
51 |
+
return false;
|
52 |
+
};
|
53 |
+
|
54 |
+
window.parent.document.getElementById('favizone_preview_setting').addEventListener('click', function(e) {
|
55 |
+
toggleSlide(window.parent.document.getElementById('favizone_header'));
|
56 |
+
}, false);
|
57 |
+
|
58 |
+
/** Toggle slide effect**/
|
59 |
+
var toggleSlide = function(el) {
|
60 |
+
var el_max_height = 0;
|
61 |
+
if (el.getAttribute('data-max-height')) {
|
62 |
+
// we've already used this before, so everything is setup
|
63 |
+
if (el.style.maxHeight.replace('px', '').replace('%', '') === '0') {
|
64 |
+
el.style.maxHeight = el.getAttribute('data-max-height');
|
65 |
+
} else {
|
66 |
+
el.style.maxHeight = '0';
|
67 |
+
}
|
68 |
+
} else {
|
69 |
+
el_max_height = getHeight(el) + 'px';
|
70 |
+
el.style['transition'] = 'max-height 0.5s ease-in-out';
|
71 |
+
el.style.overflowY = 'scroll';
|
72 |
+
el.style.maxHeight = '0';
|
73 |
+
el.setAttribute('data-max-height', el_max_height);
|
74 |
+
el.style.display = 'block';
|
75 |
+
|
76 |
+
// we use setTimeout to modify maxHeight later than display (to we have the transition effect)
|
77 |
+
setTimeout(function() {
|
78 |
+
// el.style.maxHeight = el_max_height;
|
79 |
+
}, 10);
|
80 |
+
}
|
81 |
+
};
|
82 |
+
var getHeight = function(el) {
|
83 |
+
var el_style = window.parent.getComputedStyle(el),
|
84 |
+
el_display = el_style.display,
|
85 |
+
el_position = el_style.position,
|
86 |
+
el_visibility = el_style.visibility,
|
87 |
+
el_max_height = el_style.maxHeight.replace('px', '').replace('%', ''),
|
88 |
+
wanted_height = 0;
|
89 |
+
|
90 |
+
// if its not hidden we just return normal height
|
91 |
+
if (el_display !== 'none' && el_max_height !== '0') {
|
92 |
+
return el.offsetHeight;
|
93 |
+
}
|
94 |
+
// the element is hidden so:
|
95 |
+
// making the el block so we can meassure its height but still be hidden
|
96 |
+
el.style.position = 'absolute';
|
97 |
+
el.style.visibility = 'hidden';
|
98 |
+
el.style.display = 'block';
|
99 |
+
|
100 |
+
wanted_height = el.offsetHeight;
|
101 |
+
|
102 |
+
// reverting to the original values
|
103 |
+
el.style.display = el_display;
|
104 |
+
el.style.position = el_position;
|
105 |
+
el.style.visibility = el_visibility;
|
106 |
+
return wanted_height;
|
107 |
};
|
108 |
|
109 |
document.onmousemove = _move_elem;
|
js/favizone/internal-sender.js
CHANGED
@@ -83,12 +83,12 @@ setVisibleElements = function(indicator , callStep){
|
|
83 |
}
|
84 |
}
|
85 |
|
86 |
-
sendResetRequest = function(url){
|
87 |
try {
|
88 |
|
89 |
new Ajax.Request(url, {
|
90 |
method: "post",
|
91 |
-
parameters: "test=1",
|
92 |
onSuccess: function(response) {
|
93 |
window.location.reload();
|
94 |
}
|
83 |
}
|
84 |
}
|
85 |
|
86 |
+
sendResetRequest = function(url, store){
|
87 |
try {
|
88 |
|
89 |
new Ajax.Request(url, {
|
90 |
method: "post",
|
91 |
+
parameters: "test=1"+"&&store="+store,
|
92 |
onSuccess: function(response) {
|
93 |
window.location.reload();
|
94 |
}
|
package.xml
CHANGED
@@ -1,18 +1,20 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Favizone_Recommender</name>
|
4 |
-
<version>1.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Favizone</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Personalization for Magento</summary>
|
10 |
-
<description>
|
11 |
-
<notes>*
|
|
|
|
|
12 |
<authors><author><name>Favizone</name><user>favizone</user><email>contact@favizone.com</email></author></authors>
|
13 |
-
<date>2016-
|
14 |
-
<time>
|
15 |
-
<contents><target name="mageetc"><dir name="modules"><file name="Favizone_Recommender.xml" hash="7457b857a4a6fb30905081c9c87fee60"/></dir></target><target name="magecommunity"><dir name="Favizone"><dir name="Recommender"><dir name="Block"><dir name="Adminhtml"><file name="AdminConfig.php" hash="6c6b1589892a4c6b563de6fdeeece7fd"/></dir><file name="Common.php" hash="e53f8700fcf0fde9353a571d71272547"/><file name="Custom.php" hash="b904e161cc0100d7518f09bec7cf04ac"/><file name="Renderer.php" hash="6e97d9d908b47e7f59b288b35fe3d18d"/><file name="Tracker.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Favizone_Recommender</name>
|
4 |
+
<version>1.0.5</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/osl-3.0.php">Favizone</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Personalization for Magento</summary>
|
10 |
+
<description>Favizone Increase your conversion rate and average order value by delivering your customers personalized product recommendations throughout their shopping journey.e_Recommender</description>
|
11 |
+
<notes>* Setting the products sales time interval.
|
12 |
+
* Fix date of setting the product's state new.
|
13 |
+
* Update preview mode.</notes>
|
14 |
<authors><author><name>Favizone</name><user>favizone</user><email>contact@favizone.com</email></author></authors>
|
15 |
+
<date>2016-10-26</date>
|
16 |
+
<time>09:00:57</time>
|
17 |
+
<contents><target name="mageetc"><dir name="modules"><file name="Favizone_Recommender.xml" hash="7457b857a4a6fb30905081c9c87fee60"/></dir></target><target name="magecommunity"><dir name="Favizone"><dir name="Recommender"><dir name="Block"><dir name="Adminhtml"><file name="AdminConfig.php" hash="6c6b1589892a4c6b563de6fdeeece7fd"/></dir><file name="Common.php" hash="e53f8700fcf0fde9353a571d71272547"/><file name="Custom.php" hash="b904e161cc0100d7518f09bec7cf04ac"/><file name="Renderer.php" hash="6e97d9d908b47e7f59b288b35fe3d18d"/><file name="Tracker.php" hash="c099c9ff1e207aa5d0f868bf12434280"/></dir><dir name="Helper"><file name="Account.php" hash="62eda9b2b7bb7db618e117d9ba002b7b"/><file name="Category.php" hash="930e778211cfd1a0bc53677e1b938ac1"/><file name="Common.php" hash="7a02d2ae2d8e8e69ed525010e8cba906"/><file name="Customer.php" hash="d964c01b0feee83dd279115deaa8b209"/><file name="Data.php" hash="a191304d6e1eab96cc452873ab7b4b75"/><file name="Order.php" hash="d4023b65bf902b7ef202b91b7d0629e7"/><file name="Product.php" hash="7dde25dcb6bc03ed86c8c5786cafdc9e"/><file name="Sender.php" hash="24f9459a7eefcaa5f3a13e90f932dab2"/></dir><dir name="Model"><file name="AccessKey.php" hash="c0fabf3617b346543bcca6f36fe98e1a"/><dir name="Meta"><file name="Customer.php" hash="de62cf990ba2d3b1e83759919f6f9cfc"/><file name="Order.php" hash="9ebb1a57b41bee5db8c3463f241d872f"/><file name="Product.php" hash="20bbcb40aa8c053d3c72a5f8054053ee"/></dir><file name="Observer.php" hash="a4773942a8dea9fbaff53a74099d7cec"/><file name="Product.php" hash="728a1739e56c9b98ffbe5f94b27a2593"/><dir name="Resource"><dir name="AccessKey"><file name="Collection.php" hash="5255134124dc54701b4942cc0c29f018"/></dir><file name="AccessKey.php" hash="5e4d06afae4261e6f7e1da929a3c4d09"/><file name="Setup.php" hash="5e0685b4baad75a3e84223fad4c1e3b9"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="FavizoneController.php" hash="b4ee116ce929b07a2de297a899cc6c14"/></dir><file name="IndexController.php" hash="b0085fe71c5a1ef53204f71d58620200"/></dir><dir name="etc"><file name="adminhtml.xml" hash="abe94fe89c2635eae6b0c46c27601982"/><file name="config.xml" hash="02c708c115f76caebbbb4cdd6cba840e"/></dir><dir name="sql"><dir name="favizone_recommender_setup"><file name="mysql4-install-1.0.0.php" hash="b2b0bf8d6a50ea30808e284fe6e6d956"/><file name="mysql4-upgrade-1.0.0-1.0.3.php" hash="13a8f4614e43b2a65f854e6c51ae3e04"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="favizone"><file name="admin-custom-style.css" hash="f278f55ed46d78600f7613fa4ad494f4"/><file name="font-awesome.min.css" hash="7aa7a0865ce6f38d0e854d3dd4623e3d"/><dir name="fonts"><file name="FontAwesome.otf" hash="87d8ca3ddc57e7d2da6226e480f90457"/><file name="fontawesome-webfont.eot" hash="32400f4e08932a94d8bfd2422702c446"/><file name="fontawesome-webfont.svg" hash="f775f9cca88e21d45bebe185b27c0e5b"/><file name="fontawesome-webfont.ttf" hash="a3de2170e4e9df77161ea5d3f31b2668"/><file name="fontawesome-webfont.woff" hash="a35720c2fed2c7f043bc7e4ffb45e073"/><file name="fontawesome-webfont.woff2" hash="db812d8a70a4e88e888744c1c9a27e89"/></dir></dir><dir name="images"><dir name="favizone"><file name="close.png" hash="8177fd73492c9b00de9d8e39ce518352"/><file name="logo-favizone.png" hash="f4ba18ee390b6080b5660a0102c817e8"/><file name="minimize.png" hash="beff58e92474b2ff1365107c75747e63"/></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="favizone"><file name="favizone-auto-appender.js" hash="5d76d6c235b07ee68b73909d1c048a3a"/><file name="favizone-helper.js" hash="ad8fbad529e8e4d803949d860ae67ad8"/><file name="favizone-preview-manager.js" hash="76802c9d3e38cb8ec3c700754d40fd8f"/><file name="favizone-renderer.js" hash="86f672087f479cc113f66bc97227e3aa"/><file name="favizone-tracker.js" hash="dbd2e4d131911b41f220ff880e1df23c"/><file name="internal-sender.js" hash="79f6501b98c3fa279bcaf1bb885e663f"/></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="favizonerecommender.xml" hash="accc4ea6c5ec649f9c990508196399f5"/></dir><dir name="template"><dir name="favizonerecommender"><file name="adminconfig.phtml" hash="da1eabbd8822f36101b4378bfae4288d"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="favizonerecommender.xml" hash="761e78aad6a8b28baba9ceb008755732"/></dir><dir name="template"><dir name="favizonerecommender"><file name="bottom.phtml" hash="0a4c338723bbdc8753f4536cc69a7284"/><file name="common.phtml" hash="d9f906e6eb81892361b5bd5c0e88b8ed"/><file name="custom.phtml" hash="b4c5c3492a1eca27c59510b642a1f837"/><file name="event.phtml" hash="8da220d74a265c722edfa43f02b21a4e"/><file name="footer.phtml" hash="f080c361ceff1aed3010e9aad9c07251"/><file name="index.phtml" hash="17e341f9b39c20030ce03bced05fd091"/><file name="preview.phtml" hash="c205c5d2ed8dc98877f6d8d0f6a356ac"/><file name="renderer.phtml" hash="b269e1e7f9e4dfd57e6806e581e887f0"/><file name="tracker.phtml" hash="d3e3ee4ebaf6042f37c1366811bbad7f"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Favizone_Recommender.csv" hash="9832f3a28ed8c6af16ddb29d23444131"/></dir><dir name="fr_FR"><file name="Favizone_Recommender.csv" hash="af5908d502a8d2356e86f6a1729a7309"/></dir></target></contents>
|
18 |
<compatible/>
|
19 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
20 |
</package>
|
skin/adminhtml/default/default/favizone/admin-custom-style.css
CHANGED
@@ -72,7 +72,7 @@
|
|
72 |
display: table;
|
73 |
}
|
74 |
.login-block{
|
75 |
-
|
76 |
}
|
77 |
.form-group {
|
78 |
margin-left: -5px;
|
@@ -218,10 +218,7 @@ input#ab_test_off {
|
|
218 |
width: 41.66667%;
|
219 |
}
|
220 |
|
221 |
-
|
222 |
-
color: #777777 !important;
|
223 |
-
text-align: center !important; ;
|
224 |
-
}
|
225 |
.favizone_description {
|
226 |
clear:both !important;
|
227 |
}
|
@@ -251,15 +248,6 @@ input#ab_test_off {
|
|
251 |
left: 25%;
|
252 |
|
253 |
}
|
254 |
-
#favizone_preview_section hr {
|
255 |
-
border: 0 !important;
|
256 |
-
height: 1px !important;
|
257 |
-
background: #333 !important;
|
258 |
-
background-image: linear-gradient(to right, #ccc, #333, #ccc) !important;
|
259 |
-
}
|
260 |
-
#favizone_preview_section .panel-body {
|
261 |
-
padding: 0px !important;
|
262 |
-
}
|
263 |
.col-sm-6.col-md-6 {
|
264 |
float: left;
|
265 |
width: 50%;
|
@@ -271,3 +259,260 @@ input#ab_test_off {
|
|
271 |
.col-md-4, .col-md-3, .col-md-5, .col-lg-5, .col-lg-3{float: left;}
|
272 |
}
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
display: table;
|
73 |
}
|
74 |
.login-block{
|
75 |
+
text-align: center;
|
76 |
}
|
77 |
.form-group {
|
78 |
margin-left: -5px;
|
218 |
width: 41.66667%;
|
219 |
}
|
220 |
|
221 |
+
|
|
|
|
|
|
|
222 |
.favizone_description {
|
223 |
clear:both !important;
|
224 |
}
|
248 |
left: 25%;
|
249 |
|
250 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
.col-sm-6.col-md-6 {
|
252 |
float: left;
|
253 |
width: 50%;
|
259 |
.col-md-4, .col-md-3, .col-md-5, .col-lg-5, .col-lg-3{float: left;}
|
260 |
}
|
261 |
|
262 |
+
/** Preview **/
|
263 |
+
#favizone_preview_section .row {
|
264 |
+
margin-left: -5px;
|
265 |
+
margin-left: -5px;
|
266 |
+
margin-right: -5px;
|
267 |
+
background: none;
|
268 |
+
}
|
269 |
+
#favizone_preview_section .row:after {
|
270 |
+
clear: both;
|
271 |
+
}
|
272 |
+
#favizone_preview_section .row:before {
|
273 |
+
content: " ";
|
274 |
+
display: table;
|
275 |
+
}
|
276 |
+
#favizone_preview_section .row:last-child {} #favizone_preview_section {
|
277 |
+
position: relative;
|
278 |
+
padding: 20px;
|
279 |
+
margin-bottom: 20px;
|
280 |
+
border: solid 1px #e6e6e6;
|
281 |
+
background-color: #fff;
|
282 |
+
-webkit-border-radius: 5px;
|
283 |
+
border-radius: 5px;
|
284 |
+
-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0 2px 0, #fff 0 0 0 3px inset;
|
285 |
+
box-shadow: rgba(0, 0, 0, 0.1) 0 2px 0, #fff 0 0 0 3px inset;
|
286 |
+
border: solid 1px #ddd;
|
287 |
+
-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0 2px 0, #fff 0 0 0 3px inset;
|
288 |
+
box-shadow: rgba(0, 0, 0, 0.1) 0 2px 0, #fff 0 0 0 3px inset;
|
289 |
+
}
|
290 |
+
#favizone_preview_section p {
|
291 |
+
margin: 0 0 8.5px;
|
292 |
+
}
|
293 |
+
#favizone_preview_section * {
|
294 |
+
-webkit-box-sizing: border-box;
|
295 |
+
-moz-box-sizing: border-box;
|
296 |
+
box-sizing: border-box;
|
297 |
+
}
|
298 |
+
#favizone_preview_section .h4 {
|
299 |
+
font-size: 15px;
|
300 |
+
font: 400 12px/1.42857 "Open Sans", Helvetica, Arial, sans-serif;
|
301 |
+
color: #555;
|
302 |
+
background-color: #fff;
|
303 |
+
-webkit-tap-highlight-color: transparent;
|
304 |
+
}
|
305 |
+
#favizone_preview_section h1 {
|
306 |
+
font-size: 31px;
|
307 |
+
}
|
308 |
+
#favizone_preview_section h1,
|
309 |
+
#favizone_preview_section .h1,
|
310 |
+
#favizone_preview_section h2,
|
311 |
+
#favizone_preview_section .h2,
|
312 |
+
#favizone_preview_section h3,
|
313 |
+
#favizone_preview_section .h3 {
|
314 |
+
margin-top: 17px;
|
315 |
+
margin-bottom: 8.5px;
|
316 |
+
font-family: "Ubuntu Condensed", Helvetica, Arial, sans-serif;
|
317 |
+
font-weight: 400;
|
318 |
+
line-height: 1.1;
|
319 |
+
color: #555;
|
320 |
+
}
|
321 |
+
#favizone_preview_section .text-center {
|
322 |
+
text-align: center;
|
323 |
+
}
|
324 |
+
#favizone_preview_section a {
|
325 |
+
color: #00aff0;
|
326 |
+
text-decoration: none;
|
327 |
+
}
|
328 |
+
#favizone_preview_section .panel-body {
|
329 |
+
padding: 0px;
|
330 |
+
border: none;
|
331 |
+
}
|
332 |
+
#favizone_preview_section .panel-body:after {
|
333 |
+
content: " ";
|
334 |
+
display: table;
|
335 |
+
}
|
336 |
+
#favizone_preview_section .login-block {
|
337 |
+
text-align: center;
|
338 |
+
}
|
339 |
+
#favizone_preview_section .form-group {
|
340 |
+
margin-left: -5px;
|
341 |
+
margin-right: -5px;
|
342 |
+
margin-bottom: 15px;
|
343 |
+
}
|
344 |
+
#favizone_preview_section .form-group:before,
|
345 |
+
#favizone_preview_section .form-group:after {
|
346 |
+
content: " ";
|
347 |
+
display: table;
|
348 |
+
}
|
349 |
+
#favizone_preview_section .form-group .control-label {
|
350 |
+
text-align: right;
|
351 |
+
margin-bottom: 0;
|
352 |
+
padding-top: 5px;
|
353 |
+
font-size: 13px;
|
354 |
+
font-weight: normal;
|
355 |
+
color: #666;
|
356 |
+
}
|
357 |
+
#favizone_preview_section .btn {
|
358 |
+
display: inline-block;
|
359 |
+
padding: 6px 12px;
|
360 |
+
margin-bottom: 0;
|
361 |
+
font-size: 14px;
|
362 |
+
font-weight: 400;
|
363 |
+
line-height: 1.42857143;
|
364 |
+
text-align: center;
|
365 |
+
white-space: nowrap;
|
366 |
+
vertical-align: middle;
|
367 |
+
-ms-touch-action: manipulation;
|
368 |
+
touch-action: manipulation;
|
369 |
+
cursor: pointer;
|
370 |
+
-webkit-user-select: none;
|
371 |
+
-moz-user-select: none;
|
372 |
+
-ms-user-select: none;
|
373 |
+
user-select: none;
|
374 |
+
background-image: none;
|
375 |
+
border: 1px solid transparent;
|
376 |
+
border-radius: 4px;
|
377 |
+
}
|
378 |
+
#favizone_preview_section .btn-default {
|
379 |
+
color: #333;
|
380 |
+
background-color: #fff;
|
381 |
+
border-color: #ccc;
|
382 |
+
}
|
383 |
+
#favizone_preview_section .btn.btn-default:hover {
|
384 |
+
color: #fff;
|
385 |
+
background-color: #00aff0;
|
386 |
+
border-color: #008abd;
|
387 |
+
-webkit-box-shadow: none;
|
388 |
+
box-shadow: none;
|
389 |
+
}
|
390 |
+
#favizone_preview_section .help-block {
|
391 |
+
display: block;
|
392 |
+
margin-top: 5px;
|
393 |
+
margin-bottom: 10px;
|
394 |
+
color: #959595;
|
395 |
+
text-align: center;
|
396 |
+
}
|
397 |
+
#favizone_preview_section .help-block {
|
398 |
+
font-style: italic;
|
399 |
+
}
|
400 |
+
#favizone_preview_section .switch {
|
401 |
+
display: block;
|
402 |
+
height: 26px;
|
403 |
+
position: relative;
|
404 |
+
}
|
405 |
+
#favizone_preview_section .width-lg {
|
406 |
+
width: 160px !important;
|
407 |
+
}
|
408 |
+
#favizone_preview_section .switch input {} #favizone_preview_section .fa-2x {
|
409 |
+
font-size: 2em;
|
410 |
+
}
|
411 |
+
#favizone_preview_section hr {
|
412 |
+
margin-top: 17px;
|
413 |
+
margin-bottom: 17px;
|
414 |
+
border: 0;
|
415 |
+
border-top: 1px solid #eee;
|
416 |
+
}
|
417 |
+
#favizone_preview_section .prestashop-switch label {
|
418 |
+
text-transform: uppercase;
|
419 |
+
color: #bbb;
|
420 |
+
font-weight: 400;
|
421 |
+
cursor: pointer;
|
422 |
+
-webkit-transition: color 0.2s ease-out;
|
423 |
+
-o-transition: color 0.2s ease-out;
|
424 |
+
transition: color 0.2s ease-out;
|
425 |
+
float: left;
|
426 |
+
width: auto;
|
427 |
+
}
|
428 |
+
#favizone_preview_section .hide {
|
429 |
+
display: none !important;
|
430 |
+
}
|
431 |
+
#favizone_preview_section .col-md-4,
|
432 |
+
#favizone_preview_section .col-sm-11,
|
433 |
+
#favizone_preview_section .col-md-11,
|
434 |
+
#favizone_preview_section .col-lg-11,
|
435 |
+
#favizone_preview_section .col-xs-12,
|
436 |
+
#favizone_preview_section .col-sm-12,
|
437 |
+
#favizone_preview_section .col-md-12,
|
438 |
+
#favizone_preview_section .col-lg-12 {
|
439 |
+
position: relative;
|
440 |
+
min-height: 1px;
|
441 |
+
padding-left: 5px;
|
442 |
+
padding-right: 5px;
|
443 |
+
}
|
444 |
+
#favizone_preview_section .col-md-12 {
|
445 |
+
width: 100%;
|
446 |
+
}
|
447 |
+
#favizone_preview_section .col-lg-3 {
|
448 |
+
width: 25%;
|
449 |
+
}
|
450 |
+
#favizone_preview_section .col-md-4 {
|
451 |
+
width: 33.33333%;
|
452 |
+
}
|
453 |
+
#favizone_preview_section .col-lg-5 {} #favizone_preview_section .col-lg-5 {
|
454 |
+
width: 41.66667%;
|
455 |
+
}
|
456 |
+
#favizone_preview_section p {
|
457 |
+
color: #777777 !important;
|
458 |
+
text-align: center !important;
|
459 |
+
;
|
460 |
+
}
|
461 |
+
#favizone_preview_section .favizone_description {
|
462 |
+
clear: both !important;
|
463 |
+
height: auto !important;
|
464 |
+
height: 90px !important;
|
465 |
+
margin: 5px 0 !important;
|
466 |
+
border-top: 1px solid #cecece !important;
|
467 |
+
}
|
468 |
+
#favizone_preview_section .favizone_move {
|
469 |
+
cursor: pointer;!important;
|
470 |
+
}
|
471 |
+
#favizone_preview_section .favizone_logo {
|
472 |
+
width: 55%;
|
473 |
+
}
|
474 |
+
#favizone_preview_section .favizone-help {
|
475 |
+
color: #ec751e !important;
|
476 |
+
}
|
477 |
+
#favizone_preview_section {
|
478 |
+
-webkit-box-shadow: 5px 3px 64px -4px rgba(0, 0, 0, 0.41);
|
479 |
+
-moz-box-shadow: 5px 3px 64px -4px rgba(0, 0, 0, 0.41);
|
480 |
+
box-shadow: 5px 3px 64px -4px rgba(0, 0, 0, 0.41);
|
481 |
+
-webkit-border-radius: 12px;
|
482 |
+
-moz-border-radius: 12px;
|
483 |
+
border-radius: 12px !important;
|
484 |
+
width: 45%;
|
485 |
+
position: fixed !important;
|
486 |
+
top: 0px;
|
487 |
+
z-index: 9999;
|
488 |
+
border: none !important;
|
489 |
+
height: auto;
|
490 |
+
left: 25%;
|
491 |
+
}
|
492 |
+
#favizone_preview_section hr {
|
493 |
+
border: 0 !important;
|
494 |
+
height: 1px !important;
|
495 |
+
background: #333 !important;
|
496 |
+
background-image: linear-gradient(to right, #ccc, #333, #ccc) !important;
|
497 |
+
}
|
498 |
+
#favizone_preview_section .col-sm-6.col-md-6 {
|
499 |
+
float: left;
|
500 |
+
width: 50%;
|
501 |
+
}
|
502 |
+
#favizone_preview_section .pull-right {
|
503 |
+
float: right;
|
504 |
+
}
|
505 |
+
#favizone_preview_section .img-logo {
|
506 |
+
width: 80%;
|
507 |
+
}
|
508 |
+
#favizone_preview_section .clear-content {
|
509 |
+
clear: both;
|
510 |
+
font-size: 1px;
|
511 |
+
}
|
512 |
+
#favizone_preview_section .favizone-sep {
|
513 |
+
margin-top: 20px
|
514 |
+
}
|
515 |
+
#favizone_preview_section .favizone-notification {
|
516 |
+
background-color: #e2ebee !important;
|
517 |
+
width: 100% !important;
|
518 |
+
}
|
skin/adminhtml/default/default/images/favizone/minimize.png
ADDED
Binary file
|