Skip to content

Commit

Permalink
Merge pull request #43 from Affirm/dev_v3.5.6
Browse files Browse the repository at this point in the history
Dev v3.5.6
  • Loading branch information
Dipti Bele authored Jul 17, 2018
2 parents 02e44f0 + f2164ab commit 6ff3081
Show file tree
Hide file tree
Showing 15 changed files with 439 additions and 20 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ dependencies:

package: validate_version
mkdir -p ./var/
cd ./extension && tar -cvf ../var/Affirm_Affirm-3.5.5.tgz *
cd ./extension && tar -cvf ../var/Affirm_Affirm-3.5.6.tgz *
cd ./build && ./magento-tar-to-connect.phar affirm_tar_to_connect_config.php

clean:
Expand Down
6 changes: 3 additions & 3 deletions build/affirm_tar_to_connect_config.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php
return array(
'base_dir' => realpath('../var/'),
'archive_files' => 'Affirm_Affirm-3.5.5.tgz',
'archive_files' => 'Affirm_Affirm-3.5.6.tgz',
'extension_name' => 'Affirm_Magento',
'skip_version_compare' => true,
'extension_version' => '3.5.5',
'archive_connect' => 'Affirm_Affirm-3.5.5.tgz',
'extension_version' => '3.5.6',
'archive_connect' => 'Affirm_Affirm-3.5.6.tgz',
'path_output' => realpath('../var/'),

'stability' => 'stable',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public function getPriceHtml($product, $displayMinimalPrice = false, $idSuffix =
$mfpValue = $this->helper('affirm/promo_asLowAs')->getAffirmMFPValue(array($productItemMFP), $categoryIds);

$learnMore = ($this->helper('affirm/promo_asLowas')->isVisibleLearnMore()) ? 'true' : 'false';
$html .= '<div class="affirm-as-low-as" ' . (!empty($mfpValue) ? 'data-promo-id="' . $mfpValue . '"' : '') . ' data-amount="' . $this->helper('affirm/util')->formatCents($price) .'" data-learnmore-show="'.$learnMore.'"></div>';
$html .= '<div class="affirm-as-low-as" data-page-type="category" ' . (!empty($mfpValue) ? 'data-promo-id="' . $mfpValue . '"' : '') . ' data-amount="' . $this->helper('affirm/util')->formatCents($price) .'" data-learnmore-show="'.$learnMore.'"></div>';
}

return $html;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
<?php
/**
*
* * BSD 3-Clause License
* *
* * Copyright (c) 2018, Affirm
* * All rights reserved.
* *
* * Redistribution and use in source and binary forms, with or without
* * modification, are permitted provided that the following conditions are met:
* *
* * Redistributions of source code must retain the above copyright notice, this
* * list of conditions and the following disclaimer.
* *
* * Redistributions in binary form must reproduce the above copyright notice,
* * this list of conditions and the following disclaimer in the documentation
* * and/or other materials provided with the distribution.
* *
* * Neither the name of the copyright holder nor the names of its
* * contributors may be used to endorse or promote products derived from
* * this software without specific prior written permission.
* *
* * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/

/**
* Affirm order tracking confirm pixel
*/
class Affirm_Affirm_Block_Promo_Pixel_Confirm extends Mage_Core_Block_Template
{

public function getOrdersTrackingCodeAffirmAnalytics()
{
$orderIds = $this->getOrderIds();
if (empty($orderIds) || !is_array($orderIds)) {
return;
}
$collection = Mage::getResourceModel('sales/order_collection')
->addFieldToFilter('entity_id', array('in' => $orderIds));
$result = array();
foreach ($collection as $order) {
$result[] = sprintf("affirm.analytics.trackOrderConfirmed({
'affiliation': '%s',
'orderId': '%s',
'currency': '%s',
'total': '%s',
'tax': '%s',
'shipping': '%s',
'paymentMethod': '%s'
});",
$this->jsQuoteEscape(Mage::app()->getStore()->getFrontendName()),
$order->getIncrementId(),
$order->getOrderCurrencyCode(),
Mage::helper('affirm/util')->formatCents($order->getBaseGrandTotal()),
Mage::helper('affirm/util')->formatCents($order->getBaseTaxAmount()),
Mage::helper('affirm/util')->formatCents($order->getBaseShippingAmount()),
$order->getPayment()->getMethod()
);
}
return implode("\n", $result);
}

/**
* Is ga available
*
* @return bool
*/
protected function _isAvailable()
{
return Mage::helper('affirm/promo_data')->isConfirmPixelEnabled();
}

/**
* Render Affirm tracking scripts
*
* @return string
*/
protected function _toHtml()
{
if (!$this->_isAvailable()) {
return '';
}
return parent::_toHtml();
}

public function getCustomerSessionId()
{
$orderIds = $this->getOrderIds();
if (empty($orderIds) || !is_array($orderIds)) {
return;
}
$collection = Mage::getResourceModel('sales/order_collection')
->addFieldToFilter('entity_id', array('in' => $orderIds));
$result = array();
foreach ($collection as $order) {
$customerId = ($order->getCustomerId()) ? $order->getCustomerId() : $guestId = "CUSTOMER-" . Mage::helper('affirm/promo_data')->getDateMicrotime();
}
return $customerId;
}
}
24 changes: 24 additions & 0 deletions extension/app/code/community/Affirm/Affirm/Block/Promo/Promo.php
Original file line number Diff line number Diff line change
Expand Up @@ -169,4 +169,28 @@ public function getCheckoutMFPValue()

return Mage::helper('affirm/promo_asLowAs')->getAffirmMFPValue($productItemMFP, $categoryIds, $this->helper('checkout/cart')->getQuote()->getGrandTotal());
}

/**
* Get Page type
*
* @return string
*/
public function getPageType()
{
$currentController = Mage::app()->getFrontController()->getRequest()->getControllerName();
switch($currentController) {
case 'product':
return 'product';
break;
case 'category':
return 'category';
break;
case 'cart':
return 'cart';
break;
default:
return 'homepage';
break;
}
}
}
30 changes: 30 additions & 0 deletions extension/app/code/community/Affirm/Affirm/Helper/Promo/Data.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,11 @@ class Affirm_Affirm_Helper_Promo_Data extends Mage_Core_Helper_Abstract
*/
const AFFIRM_PROMO_DEV_SETTINGS_CONTAINER = 'affirmpromo/developer_settings/container_';

/**
* Affirm pixel for confirmation page
*/
const AFFIRM_PROMO_PIXEL_CONFIRM = 'affirmpromo/pixel/active_confirm';

/**
* PDP handle
*/
Expand Down Expand Up @@ -242,4 +247,29 @@ public function getPLPAffirmJsScript()
}
return 'js/affirm/noconf.js';
}

/**
* Returns is pixel placement for confirmation page enabled
*
* @param null|Mage_Core_Model_Store $store
* @return bool
*/
public function isConfirmPixelEnabled($store = null)
{
return Mage::getStoreConfigFlag(self::AFFIRM_PROMO_PIXEL_CONFIRM, $store);
}

/**
* get Date with Microtime.
*
* @return string
*/
public function getDateMicrotime()
{
$microtime = explode(' ', microtime());
$msec = $microtime[0];
$msecArray = explode('.', $msec);
$date = date('Y-m-d-H-i-s') . '-' . $msecArray[1];
return $date;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?php
/**
*
* * BSD 3-Clause License
* *
* * Copyright (c) 2018, Affirm
* * All rights reserved.
* *
* * Redistribution and use in source and binary forms, with or without
* * modification, are permitted provided that the following conditions are met:
* *
* * Redistributions of source code must retain the above copyright notice, this
* * list of conditions and the following disclaimer.
* *
* * Redistributions in binary form must reproduce the above copyright notice,
* * this list of conditions and the following disclaimer in the documentation
* * and/or other materials provided with the distribution.
* *
* * Neither the name of the copyright holder nor the names of its
* * contributors may be used to endorse or promote products derived from
* * this software without specific prior written permission.
* *
* * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
/**
* Class Affirm_Affirm_Model_Order_Observer_AfterOrderSuccess
*
* After order success page
*/
class Affirm_Affirm_Model_Order_Observer_AfterOrderSuccess
{
/**
* Add order information into Affirm pixel block to render on checkout success pages
*
* @param Varien_Event_Observer $observer
*/
public function setAffirmAnalyticsOnOrderSuccessPageView(Varien_Event_Observer $observer)
{
$orderIds = $observer->getEvent()->getOrderIds();
if (empty($orderIds) || !is_array($orderIds)) {
return;
}
$block = Mage::app()->getFrontController()->getAction()->getLayout()->getBlock('affirm_pixel_javascript');
if ($block) {
$block->setOrderIds($orderIds);
}
}
}
52 changes: 51 additions & 1 deletion extension/app/code/community/Affirm/Affirm/etc/config.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,42 @@
<?xml version="1.0"?>
<!--
~ /*
~ * BSD 3-Clause License
~ *
~ * Copyright (c) 2018, Affirm
~ * All rights reserved.
~ *
~ * Redistribution and use in source and binary forms, with or without
~ * modification, are permitted provided that the following conditions are met:
~ *
~ * Redistributions of source code must retain the above copyright notice, this
~ * list of conditions and the following disclaimer.
~ *
~ * Redistributions in binary form must reproduce the above copyright notice,
~ * this list of conditions and the following disclaimer in the documentation
~ * and/or other materials provided with the distribution.
~ *
~ * Neither the name of the copyright holder nor the names of its
~ * contributors may be used to endorse or promote products derived from
~ * this software without specific prior written permission.
~ *
~ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
~ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
~ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
~ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
~ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
~ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
~ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
~ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
~ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
~ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
~ */
-->

<config>
<modules>
<Affirm_Affirm>
<version>3.5.5</version>
<version>3.5.6</version>
</Affirm_Affirm>
</modules>
<global>
Expand Down Expand Up @@ -184,6 +218,22 @@
</affirm_affirm_mfp_detection_customer_login>
</observers>
</customer_login>
<checkout_onepage_controller_success_action>
<observers>
<affirm_order_success>
<class>affirm/order_observer_afterOrderSuccess</class>
<method>setAffirmAnalyticsOnOrderSuccessPageView</method>
</affirm_order_success>
</observers>
</checkout_onepage_controller_success_action>
<checkout_multishipping_controller_success_action>
<observers>
<affirm_order_success>
<class>affirm/order_observer_afterOrderSuccess</class>
<method>setAffirmAnalyticsOnOrderSuccessPageView</method>
</affirm_order_success>
</observers>
</checkout_multishipping_controller_success_action>
</events>
<layout>
<updates>
Expand Down
Loading

0 comments on commit 6ff3081

Please sign in to comment.