Version Notes
Stable Release
Download this release
Release Info
Developer | elefunds GmbH |
Extension | lfnds_donation |
Version | 1.0.0 |
Comparing to | |
See all releases |
Version 1.0.0
- app/code/community/Lfnds/Donation/Block/Checkout/Banner.php +142 -0
- app/code/community/Lfnds/Donation/Block/Checkout/Socialmedia.php +145 -0
- app/code/community/Lfnds/Donation/Block/Page/Head.php +103 -0
- app/code/community/Lfnds/Donation/Block/Sales/Order/Email.php +59 -0
- app/code/community/Lfnds/Donation/Helper/Data.php +276 -0
- app/code/community/Lfnds/Donation/Manager/SyncManager.php +227 -0
- app/code/community/Lfnds/Donation/Model/Donation.php +143 -0
- app/code/community/Lfnds/Donation/Model/Mysql4/Donation.php +55 -0
- app/code/community/Lfnds/Donation/Model/Mysql4/Donation/Collection.php +117 -0
- app/code/community/Lfnds/Donation/Model/Mysql4/Receiver.php +56 -0
- app/code/community/Lfnds/Donation/Model/Mysql4/Receiver/Collection.php +103 -0
- app/code/community/Lfnds/Donation/Model/Observer.php +340 -0
- app/code/community/Lfnds/Donation/Model/Receiver.php +105 -0
- app/code/community/Lfnds/Donation/Model/System/Config/Source/Color.php +76 -0
- app/code/community/Lfnds/Donation/Model/System/Config/Source/Payment.php +79 -0
- app/code/community/Lfnds/Donation/Model/System/Config/Source/Position.php +65 -0
- app/code/community/Lfnds/Donation/Model/System/Config/Source/Theme.php +76 -0
- app/code/community/Lfnds/Donation/controllers/IndexController.php +27 -0
- app/code/community/Lfnds/Donation/etc/config.xml +218 -0
- app/code/community/Lfnds/Donation/etc/system.xml +136 -0
- app/code/community/Lfnds/Donation/sql/lfnds_donation_setup/mysql4-install-1.0.0.php +247 -0
- app/design/frontend/base/default/layout/lfnds_donation.xml +67 -0
- app/design/frontend/base/default/template/lfnds/donation/checkout/onepage/review/donation_banner.phtml +63 -0
- app/design/frontend/base/default/template/lfnds/donation/checkout/onepage/review/donation_banner_after.phtml +4 -0
- app/design/frontend/base/default/template/lfnds/donation/checkout/onepage/review/donation_banner_before.phtml +4 -0
- app/design/frontend/base/default/template/lfnds/donation/checkout/onepage/socialmedia.phtml +13 -0
- app/design/frontend/base/default/template/lfnds/donation/mail/description.phtml +2 -0
- app/design/frontend/base/default/template/lfnds/donation/page/html/head.phtml +1 -0
- app/etc/modules/Lfnds_Donation.xml +11 -0
- app/locale/de_DE/Lfnds_Donation.csv +21 -0
- app/locale/en_US/Lfnds_Donation.csv +2 -0
- lib/Elefunds/Communication/CurlRequest.php +202 -0
- lib/Elefunds/Communication/RestInterface.php +97 -0
- lib/Elefunds/Communication/certificate/GandiProSSLCA.pem +3923 -0
- lib/Elefunds/Configuration/BaseConfiguration.php +344 -0
- lib/Elefunds/Configuration/ConfigurationInterface.php +208 -0
- lib/Elefunds/Configuration/DefaultConfiguration.php +80 -0
- lib/Elefunds/Documentation/PHPGuideBasics.md +160 -0
- lib/Elefunds/Documentation/PHPGuideConfiguration.md +146 -0
- lib/Elefunds/Documentation/PHPGuideTemplating.md +235 -0
- lib/Elefunds/Example/RawDataConfiguration.php +60 -0
- lib/Elefunds/Example/ShopExampleCheckoutSuccessConfiguration.php +69 -0
- lib/Elefunds/Example/ShopExampleConfiguration.php +77 -0
- lib/Elefunds/Example/rawDataExample.php +110 -0
- lib/Elefunds/Example/shopExample.php +81 -0
- lib/Elefunds/Example/shopExampleCheckoutSuccess.php +60 -0
- lib/Elefunds/Exception/ElefundsCommunicationException.php +56 -0
- lib/Elefunds/Exception/ElefundsException.php +120 -0
- lib/Elefunds/Facade.php +341 -0
- lib/Elefunds/Model/Donation.php +427 -0
- lib/Elefunds/Model/DonationInterface.php +219 -0
- lib/Elefunds/Model/Factory.php +122 -0
- lib/Elefunds/Model/Receiver.php +345 -0
- lib/Elefunds/Model/ReceiverInterface.php +201 -0
- lib/Elefunds/README.md +50 -0
- lib/Elefunds/Template/Shop/CheckoutConfiguration.php +119 -0
- lib/Elefunds/Template/Shop/CheckoutSuccess.phtml +18 -0
- lib/Elefunds/Template/Shop/CheckoutSuccessConfiguration.php +115 -0
- lib/Elefunds/Template/Shop/Css/color.less +2 -0
- lib/Elefunds/Template/Shop/Css/elefunds.less +436 -0
- lib/Elefunds/Template/Shop/Css/elefunds_dark_blue.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elefunds_dark_green.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elefunds_dark_grey.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elefunds_dark_orange.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elefunds_dark_purple.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elefunds_light_blue.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elefunds_light_green.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elefunds_light_grey.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elefunds_light_orange.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elefunds_light_purple.min.css +1 -0
- lib/Elefunds/Template/Shop/Css/elements.less +156 -0
- lib/Elefunds/Template/Shop/Helper/RequestHelper.php +149 -0
- lib/Elefunds/Template/Shop/Hooks/ShopHooks.php +307 -0
- lib/Elefunds/Template/Shop/Images/elefunds_item_main.png +0 -0
- lib/Elefunds/Template/Shop/Images/elefunds_item_small.png +0 -0
- lib/Elefunds/Template/Shop/Images/elefunds_item_thumbnail.png +0 -0
- lib/Elefunds/Template/Shop/Javascript/elefunds.jquery.js +227 -0
- lib/Elefunds/Template/Shop/Javascript/elefunds.jquery.min.js +1 -0
- lib/Elefunds/Template/Shop/Javascript/elefundsTT.jquery.js +211 -0
- lib/Elefunds/Template/Shop/ShopConfiguration.php +113 -0
- lib/Elefunds/Template/Shop/View.phtml +92 -0
- lib/Elefunds/Test/Unit/Configuration/BaseConfigurationTest.php +197 -0
- lib/Elefunds/Test/Unit/Configuration/DefaultConfigurationTest.php +72 -0
- lib/Elefunds/Test/Unit/Exception/ElefundsExceptionTest.php +97 -0
- lib/Elefunds/Test/Unit/FacadeTest.php +544 -0
- lib/Elefunds/Test/Unit/Model/DonationTest.php +430 -0
- lib/Elefunds/Test/Unit/Model/FactoryTest.php +107 -0
- lib/Elefunds/Test/Unit/Model/ReceiverTest.php +340 -0
- lib/Elefunds/Test/Unit/View/BaseViewTest.php +227 -0
- lib/Elefunds/View/BaseView.php +358 -0
- lib/Elefunds/View/ViewInterface.php +219 -0
- package.xml +54 -0
- skin/frontend/base/default/css/lfnds_donation/additional/elefunds_magento_additional.css +9 -0
- skin/frontend/base/default/css/lfnds_donation/additional/elefunds_magento_onestep_additional.css +454 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_dark_blue.min.css +1 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_dark_green.min.css +1 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_dark_grey.min.css +1 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_dark_orange.min.css +1 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_dark_purple.min.css +1 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_light_blue.min.css +1 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_light_green.min.css +1 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_light_grey.min.css +1 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_light_orange.min.css +1 -0
- skin/frontend/base/default/css/lfnds_donation/elefunds_light_purple.min.css +1 -0
- skin/frontend/base/default/images/lfnds_donation/elefunds_item_main.png +0 -0
- skin/frontend/base/default/images/lfnds_donation/elefunds_item_small.png +0 -0
- skin/frontend/base/default/images/lfnds_donation/elefunds_item_thumbnail.png +0 -0
- skin/frontend/base/default/js/lfnds_donation/additional/elefunds_magento_onepage_additional.js +147 -0
- skin/frontend/base/default/js/lfnds_donation/additional/elefunds_magento_onestep_additional.js +171 -0
- skin/frontend/base/default/js/lfnds_donation/elefunds.jquery.js +227 -0
- skin/frontend/base/default/js/lfnds_donation/elefunds.jquery.min.js +1 -0
- skin/frontend/base/default/js/lfnds_donation/elefundsTT.jquery.js +211 -0
- skin/frontend/base/default/js/lfnds_donation/jQueryNoConflict.js +1 -0
- skin/frontend/base/default/js/lfnds_donation/jquery-1.9.1.min.js +5 -0
app/code/community/Lfnds/Donation/Block/Checkout/Banner.php
ADDED
@@ -0,0 +1,142 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds Magento Module
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*/
|
38 |
+
|
39 |
+
/**
|
40 |
+
* General helper function to access and configure the SDK in magento
|
41 |
+
*
|
42 |
+
* @package elefunds Magento Module
|
43 |
+
* @subpackage Block
|
44 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>, Christian Peters <christian@elefunds.de>
|
45 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
46 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
47 |
+
* @link http://www.elefunds.de
|
48 |
+
* @since File available since Release 1.0.0
|
49 |
+
*/
|
50 |
+
class Lfnds_Donation_Block_Checkout_Banner extends Mage_Core_Block_Template {
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @var Lfnds_Donation_Helper_Data $helper
|
54 |
+
*/
|
55 |
+
protected $helper;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @var string
|
59 |
+
*/
|
60 |
+
protected $position;
|
61 |
+
|
62 |
+
public function __construct() {
|
63 |
+
$this->helper = Mage::helper('lfnds_donation');
|
64 |
+
}
|
65 |
+
|
66 |
+
public function getPosition() {
|
67 |
+
if ($this->position === NULL) {
|
68 |
+
$this->position = Mage::getStoreConfig('lfnds_donation/advanced/banner_position');
|
69 |
+
}
|
70 |
+
return $this->position;
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Returns the API Template.
|
75 |
+
*
|
76 |
+
* If we cannot display the Template, we return an empty string.
|
77 |
+
*
|
78 |
+
* Used and shown in /design/frontend/base/default/template/lfnds/donation/checkout/onepage/review/donation_banner.phtml
|
79 |
+
*
|
80 |
+
* @return string The rendered HTML Snippet
|
81 |
+
*/
|
82 |
+
public function getApiTemplate() {
|
83 |
+
|
84 |
+
if (!$this->helper->isOneStepCheckoutInstalled()) {
|
85 |
+
// The event does not work with one step checkout.
|
86 |
+
// That's because the payment methods are not configured prior to the module.
|
87 |
+
Mage::dispatchEvent('elefunds_checkout_review_before_enable', array('object' => $this));
|
88 |
+
} else {
|
89 |
+
$this->helper->getConfiguredFacade()->getConfiguration()->getView()->assign('toolTipPosition', 'right');
|
90 |
+
}
|
91 |
+
$template = '';
|
92 |
+
|
93 |
+
if ($this->helper->isActive()) {
|
94 |
+
|
95 |
+
try {
|
96 |
+
$facade = $this->helper->getConfiguredFacade();
|
97 |
+
|
98 |
+
$banner_width = Mage::getStoreConfig('lfnds_donation/advanced/banner_width');
|
99 |
+
$total = Mage::getModel('checkout/cart')->getQuote()->getGrandTotal();
|
100 |
+
$localeCode = Mage::app()->getLocale()->getLocaleCode();
|
101 |
+
$symbols = Zend_Locale_Data::getList($localeCode, 'symbols');
|
102 |
+
|
103 |
+
$receivers = $this->helper->getReceivers();
|
104 |
+
|
105 |
+
if (count($receivers) >= 3) {
|
106 |
+
|
107 |
+
$facade->getConfiguration()
|
108 |
+
->getView()
|
109 |
+
->assign('shopWidth', $banner_width)
|
110 |
+
->assign('currencyDelimiter', $symbols['decimal'])
|
111 |
+
->assign('total', $total * 100)
|
112 |
+
->assign('receivers', $receivers);
|
113 |
+
|
114 |
+
$template = $facade->renderTemplate();
|
115 |
+
|
116 |
+
}
|
117 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $exception) {
|
118 |
+
Mage::logException($exception);
|
119 |
+
}
|
120 |
+
}
|
121 |
+
return $template;
|
122 |
+
}
|
123 |
+
|
124 |
+
public function getExcludedPaymentMethods() {
|
125 |
+
return $this->helper->getExcludedPaymentMethods();
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Returns true if the elefunds plugin can be displayed.
|
130 |
+
*
|
131 |
+
* @return bool
|
132 |
+
*/
|
133 |
+
public function canShowBanner() {
|
134 |
+
return $this->isActive;
|
135 |
+
}
|
136 |
+
|
137 |
+
public function deactivateBanner() {
|
138 |
+
$this->isActive = FALSE;
|
139 |
+
}
|
140 |
+
|
141 |
+
|
142 |
+
}
|
app/code/community/Lfnds/Donation/Block/Checkout/Socialmedia.php
ADDED
@@ -0,0 +1,145 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* General helper function to access and configure the SDK in magento
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Block
|
43 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>, Christian Peters <christian@elefunds.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Block_Checkout_Socialmedia extends Mage_Core_Block_Template {
|
50 |
+
|
51 |
+
/**
|
52 |
+
* @var Mage_Sales_Model_Order
|
53 |
+
*/
|
54 |
+
protected $order;
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @var Lfnds_Donation_Helper_Data
|
58 |
+
*/
|
59 |
+
protected $helper;
|
60 |
+
|
61 |
+
public function __construct() {
|
62 |
+
$this->helper = Mage::helper('lfnds_donation');
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Adds the elefunds page head to the layout.
|
67 |
+
*/
|
68 |
+
protected function _prepareLayout() {
|
69 |
+
$headBlock = $this->getLayout()->createBlock('lfnds_donation/page_head', 'elefunds.head');
|
70 |
+
$this->getLayout()->getBlock('head')->setChild('elefunds.head', $headBlock);
|
71 |
+
|
72 |
+
parent::_prepareLayout();
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Checks whether a donation exists in the actual order.
|
77 |
+
*
|
78 |
+
* @return bool
|
79 |
+
*/
|
80 |
+
public function existDonation() {
|
81 |
+
$virtualProduct = $this->helper->getVirtualProduct();
|
82 |
+
if (!$virtualProduct) {
|
83 |
+
Mage::log('Unable to retrieve virtual product for elefunds.');
|
84 |
+
} else {
|
85 |
+
if ($this->getOrder() !== NULL && $this->getOrder()->getItemsCollection()->getItemByColumnValue('product_id', $virtualProduct->getId())) {
|
86 |
+
return TRUE;
|
87 |
+
}
|
88 |
+
}
|
89 |
+
return FALSE;
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Retrieves the current order.
|
94 |
+
*
|
95 |
+
* @return Mage_Sales_Model_Order
|
96 |
+
*/
|
97 |
+
public function getOrder() {
|
98 |
+
if (!$this->order) {
|
99 |
+
$orderId = Mage::getSingleton('checkout/session')->getLastRealOrderId();
|
100 |
+
if ($orderId) {
|
101 |
+
$order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
|
102 |
+
$this->order = $order;
|
103 |
+
if (!$order->getId()) {
|
104 |
+
$this->order = NULL;
|
105 |
+
}
|
106 |
+
}
|
107 |
+
}
|
108 |
+
return $this->order;
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Renders the social media template or returns an empty string if we do have nothing to show.
|
113 |
+
*
|
114 |
+
* @return string
|
115 |
+
*/
|
116 |
+
public function renderSocialMedia() {
|
117 |
+
$order = $this->getOrder();
|
118 |
+
|
119 |
+
/** @var Elefunds_Facade $facade */
|
120 |
+
$facade = $this->helper->getConfiguredFacade(TRUE);
|
121 |
+
|
122 |
+
$donationItem = Mage::getModel('lfnds_donation/donation');
|
123 |
+
/** @var Lfnds_Donation_Model_Donation $donationItem */
|
124 |
+
$donationItem->loadByAttribute('foreign_id', $order->getIncrementId());
|
125 |
+
|
126 |
+
if ($donationItem->getId()) {
|
127 |
+
$receivers = $this->helper->getReceivers();
|
128 |
+
|
129 |
+
$receiverIds = $donationItem->getReceiverIds();
|
130 |
+
$receiversArray = array();
|
131 |
+
foreach ($receivers as $receiver) {
|
132 |
+
if (in_array($receiver->getId(TRUE), $receiverIds)) {
|
133 |
+
$receiversArray[$receiver->getId(TRUE)] = $receiver->getName();
|
134 |
+
}
|
135 |
+
}
|
136 |
+
|
137 |
+
$facade->getConfiguration()->getView()->assign('foreignId', $donationItem->getForeignId());
|
138 |
+
$facade->getConfiguration()->getView()->assign('receivers', $receiversArray);
|
139 |
+
|
140 |
+
return $facade->renderTemplate('CheckoutSuccess');
|
141 |
+
}
|
142 |
+
|
143 |
+
return '';
|
144 |
+
}
|
145 |
+
}
|
app/code/community/Lfnds/Donation/Block/Page/Head.php
ADDED
@@ -0,0 +1,103 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds Magento Module
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*/
|
38 |
+
|
39 |
+
/**
|
40 |
+
* General helper function to access and configure the SDK in magento
|
41 |
+
*
|
42 |
+
* @package elefunds Magento Module
|
43 |
+
* @subpackage Block
|
44 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>, Christian Peters <christian@elefunds.de>
|
45 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
46 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
47 |
+
* @link http://www.elefunds.de
|
48 |
+
* @since File available since Release 1.0.0
|
49 |
+
*/
|
50 |
+
class Lfnds_Donation_Block_Page_Head extends Mage_Core_Block_Template {
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Gets CSS- and Javascript-files from the Elefunds Facade and adds them to the head block
|
54 |
+
*/
|
55 |
+
protected function _prepareLayout() {
|
56 |
+
|
57 |
+
/** @var Lfnds_Donation_Helper_Data $helper */
|
58 |
+
$helper = Mage::helper('lfnds_donation');
|
59 |
+
$headBlock = $this->getLayout()->getBlock('head');
|
60 |
+
|
61 |
+
try {
|
62 |
+
$includeJQuery = Mage::getStoreConfig('lfnds_donation/advanced/include_jquery');
|
63 |
+
|
64 |
+
$facade = $helper->getConfiguredFacade();
|
65 |
+
|
66 |
+
// Javascript includes
|
67 |
+
$scriptFiles = $facade->getTemplateJavascriptFiles($includeJQuery);
|
68 |
+
|
69 |
+
|
70 |
+
|
71 |
+
if ($includeJQuery) {
|
72 |
+
array_unshift($scriptFiles, 'jQueryNoConflict.js');
|
73 |
+
array_unshift($scriptFiles, 'jquery-1.9.1.min.js');
|
74 |
+
}
|
75 |
+
|
76 |
+
foreach ($scriptFiles as $jsFile) {
|
77 |
+
$headBlock->addItem('skin_js', 'js' . DS . 'lfnds_donation' . DS . basename($jsFile));
|
78 |
+
}
|
79 |
+
|
80 |
+
if ($helper->isOneStepCheckoutInstalled()) {
|
81 |
+
$jsAdditional = '/elefunds_magento_onestep_additional.js';
|
82 |
+
$headBlock->addItem('skin_js', 'js' . DS . 'lfnds_donation' . DS . 'additional' . DS . basename($jsAdditional));
|
83 |
+
}
|
84 |
+
|
85 |
+
// CSS included
|
86 |
+
// This CSS is not used in OneStepCheckout
|
87 |
+
// Check layout/lfnds_donation.xml for OneStepCheckout CSS
|
88 |
+
if (!$helper->isOneStepCheckoutInstalled()) {
|
89 |
+
$cssFiles = $facade->getTemplateCssFiles();
|
90 |
+
foreach ($cssFiles as $cssFile) {
|
91 |
+
$headBlock->addCss('css' . DS . 'lfnds_donation' . DS . basename($cssFile));
|
92 |
+
}
|
93 |
+
} else {
|
94 |
+
$headBlock->addCss('css' . DS . 'lfnds_donation' . DS . 'additional' . DS . 'elefunds_magento_onestep_additional.css');
|
95 |
+
}
|
96 |
+
|
97 |
+
|
98 |
+
} catch (Exception $exception) {
|
99 |
+
Mage::logException($exception);
|
100 |
+
}
|
101 |
+
parent::_prepareLayout();
|
102 |
+
}
|
103 |
+
}
|
app/code/community/Lfnds/Donation/Block/Sales/Order/Email.php
ADDED
@@ -0,0 +1,59 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* General helper function to access and configure the SDK in magento
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Block
|
43 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Block_Sales_Order_Email extends Mage_Core_Block_Template {
|
50 |
+
|
51 |
+
protected function _toHtml() {
|
52 |
+
$item = $this->getLayout()->getBlock('additional.product.info')->getItem();
|
53 |
+
|
54 |
+
if ($item->getSku() === Lfnds_Donation_Model_Donation::ELEFUNDS_VIRTUAL_PRODUCT_SKU) {
|
55 |
+
return parent::_toHtml();
|
56 |
+
}
|
57 |
+
return '';
|
58 |
+
}
|
59 |
+
}
|
app/code/community/Lfnds/Donation/Helper/Data.php
ADDED
@@ -0,0 +1,276 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds Magento Module
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*/
|
38 |
+
|
39 |
+
/**
|
40 |
+
* General helper function to access and configure the SDK in magento
|
41 |
+
*
|
42 |
+
* @package elefunds Magento Module
|
43 |
+
* @subpackage Helper
|
44 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>, Christian Peters <christian@elefunds.de>
|
45 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
46 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
47 |
+
* @link http://www.elefunds.de
|
48 |
+
* @since File available since Release 1.0.0
|
49 |
+
*/
|
50 |
+
class Lfnds_Donation_Helper_Data extends Mage_Core_Helper_Abstract {
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @var Mage_Catalog_Model_Product
|
54 |
+
*/
|
55 |
+
protected $virtualProduct;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @var array
|
59 |
+
*/
|
60 |
+
protected $facade = array();
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @var Elefunds_Template_Shop_Helper_RequestHelper
|
64 |
+
*/
|
65 |
+
protected $requestHelper;
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @var array
|
69 |
+
*/
|
70 |
+
protected $receivers;
|
71 |
+
|
72 |
+
/**
|
73 |
+
* @var Lfnds_Donation_Manager_SyncManager
|
74 |
+
*/
|
75 |
+
protected $syncManager;
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @var bool
|
79 |
+
*/
|
80 |
+
protected $usesOneStepCheckout;
|
81 |
+
|
82 |
+
/**
|
83 |
+
* @var bool
|
84 |
+
*/
|
85 |
+
protected $active;
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Configures the facade based on the plugin settings and the current locale.
|
89 |
+
*
|
90 |
+
* @param bool $checkoutSuccess
|
91 |
+
* @param bool $autoFetchReceivers
|
92 |
+
* @return Elefunds_Facade
|
93 |
+
*/
|
94 |
+
public function getConfiguredFacade($checkoutSuccess = FALSE, $autoFetchReceivers = TRUE) {
|
95 |
+
$configurationType = $checkoutSuccess ? 'CheckoutSuccess' : 'Checkout';
|
96 |
+
|
97 |
+
if (!isset($this->facade[$configurationType])) {
|
98 |
+
|
99 |
+
$configPath = Mage::getBaseDir('lib') . DS . 'Elefunds' . DS . 'Template'
|
100 |
+
. DS . 'Shop' . DS . $configurationType . 'Configuration.php';
|
101 |
+
$facadePath = Mage::getBaseDir('lib') . DS . 'Elefunds' . DS . 'Facade.php';
|
102 |
+
|
103 |
+
$className = 'Elefunds_Template_Shop_'.$configurationType.'Configuration';
|
104 |
+
|
105 |
+
require_once($facadePath);
|
106 |
+
require_once($configPath);
|
107 |
+
|
108 |
+
/** @var Elefunds_Configuration_ConfigurationInterface $configuration */
|
109 |
+
$configuration = new $className();
|
110 |
+
|
111 |
+
$magentoConfigBasePath = 'lfnds_donation/general';
|
112 |
+
$clientId = Mage::getStoreConfig($magentoConfigBasePath . '/client_id');
|
113 |
+
$apiKey = Mage::getStoreConfig($magentoConfigBasePath . '/api_key');
|
114 |
+
$countryCode = substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2);
|
115 |
+
|
116 |
+
$configuration->setClientId($clientId)
|
117 |
+
->setApiKey($apiKey)
|
118 |
+
->setCountrycode($countryCode);
|
119 |
+
|
120 |
+
$theme = Mage::getStoreConfig($magentoConfigBasePath . '/theme');
|
121 |
+
$color = Mage::getStoreConfig($magentoConfigBasePath . '/color');
|
122 |
+
|
123 |
+
|
124 |
+
$facade = new Elefunds_Facade($configuration);
|
125 |
+
$facade->getConfiguration()->getView()->assign(
|
126 |
+
'skin',
|
127 |
+
array(
|
128 |
+
'theme' => $theme,
|
129 |
+
'color' => $color
|
130 |
+
)
|
131 |
+
);
|
132 |
+
|
133 |
+
$this->facade[$configurationType] = $facade;
|
134 |
+
}
|
135 |
+
|
136 |
+
return $this->facade[$configurationType];
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* A helper to verify the request for elefunds donations.
|
141 |
+
*
|
142 |
+
* @param array $request
|
143 |
+
* @return Elefunds_Template_Shop_Helper_RequestHelper
|
144 |
+
*/
|
145 |
+
public function getRequestHelper(array $request = array()) {
|
146 |
+
if ($this->requestHelper === NULL) {
|
147 |
+
$helperPath = Mage::getBaseDir('lib') . DS . 'Elefunds' . DS . 'Template'
|
148 |
+
. DS . 'Shop' . DS . 'Helper' . DS . 'RequestHelper.php';
|
149 |
+
require_once $helperPath;
|
150 |
+
$this->requestHelper = new Elefunds_Template_Shop_Helper_RequestHelper();
|
151 |
+
}
|
152 |
+
$this->requestHelper->setRequest($request);
|
153 |
+
return $this->requestHelper;
|
154 |
+
}
|
155 |
+
|
156 |
+
|
157 |
+
/**
|
158 |
+
* Returns a valid set of receivers.
|
159 |
+
*
|
160 |
+
* @return array
|
161 |
+
*/
|
162 |
+
public function getReceivers() {
|
163 |
+
|
164 |
+
if ($this->receivers === NULL) {
|
165 |
+
$time = new DateTime();
|
166 |
+
|
167 |
+
/** @var Lfnds_Donation_Model_Mysql4_Receiver_Collection $receiversCollection */
|
168 |
+
$receiversCollection = Mage::getModel('lfnds_donation/receiver')->getCollection();
|
169 |
+
|
170 |
+
|
171 |
+
$receiversCollection->addFieldToFilter(
|
172 |
+
'valid', array(
|
173 |
+
'from' => $time->format("Y-m-d H:i:s")
|
174 |
+
)
|
175 |
+
)
|
176 |
+
->addFieldToFilter('countrycode', substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2));
|
177 |
+
|
178 |
+
try {
|
179 |
+
if ($receiversCollection->getSize() < 3) {
|
180 |
+
$this->receivers = $this->getSyncManager()->syncReceivers();
|
181 |
+
|
182 |
+
if (count($this->receivers) < 3) {
|
183 |
+
// Okay, this line of code will hopefully never execute! We do ALWAYS provide three receivers.
|
184 |
+
$this->receivers = array();
|
185 |
+
}
|
186 |
+
} else {
|
187 |
+
$this->receivers = $receiversCollection;
|
188 |
+
}
|
189 |
+
} catch (Exception $exception) {
|
190 |
+
Mage::logException($exception);
|
191 |
+
Mage::log('Elefunds database tables not available or module improperly configured.');
|
192 |
+
|
193 |
+
$this->receivers = array();
|
194 |
+
}
|
195 |
+
|
196 |
+
|
197 |
+
}
|
198 |
+
|
199 |
+
return $this->receivers;
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* Returns the available receiver ids
|
204 |
+
*
|
205 |
+
* @return array
|
206 |
+
*/
|
207 |
+
public function getAvailableReceiverIds() {
|
208 |
+
$ids = array();
|
209 |
+
/** @var Lfnds_Donation_Model_Mysql4_Receiver_Collection $receiversCollection */
|
210 |
+
$receiversCollection = Mage::getModel('lfnds_donation/receiver')->getCollection();
|
211 |
+
$receiversCollection->addFieldToFilter('countrycode', substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2));
|
212 |
+
|
213 |
+
/** Lfnds_Donation_Model_Receiver $receiver */
|
214 |
+
foreach ($receiversCollection as $receiver) {
|
215 |
+
$ids[] = $receiver->getReceiverId();
|
216 |
+
}
|
217 |
+
return $ids;
|
218 |
+
}
|
219 |
+
|
220 |
+
/**
|
221 |
+
* Retrieves the virtual product.
|
222 |
+
*
|
223 |
+
* @return Mage_Catalog_Model_Product
|
224 |
+
*/
|
225 |
+
public function getVirtualProduct() {
|
226 |
+
/** @var Mage_Catalog_Model_Product $productModel */
|
227 |
+
$productModel = Mage::getModel('catalog/product');
|
228 |
+
$id = $productModel->getIdBySku(Lfnds_Donation_Model_Donation::ELEFUNDS_VIRTUAL_PRODUCT_SKU);
|
229 |
+
if (!$id) {
|
230 |
+
$this->virtualProduct = NULL;
|
231 |
+
} else {
|
232 |
+
$this->virtualProduct = $productModel->load($id);
|
233 |
+
}
|
234 |
+
|
235 |
+
return $this->virtualProduct;
|
236 |
+
}
|
237 |
+
|
238 |
+
public function getSyncManager() {
|
239 |
+
if ($this->syncManager === NULL) {
|
240 |
+
$this->syncManager = new Lfnds_Donation_Manager_SyncManager($this->getConfiguredFacade());
|
241 |
+
}
|
242 |
+
|
243 |
+
return $this->syncManager;
|
244 |
+
}
|
245 |
+
|
246 |
+
/**
|
247 |
+
* Returns the setted state of the one step checkout in the backend.
|
248 |
+
*
|
249 |
+
* @return bool
|
250 |
+
*/
|
251 |
+
public function isOneStepCheckoutInstalled() {
|
252 |
+
if ($this->usesOneStepCheckout === NULL) {
|
253 |
+
$this->usesOneStepCheckout = Mage::getStoreConfig('lfnds_donation/advanced/uses_onestepcheckout');
|
254 |
+
}
|
255 |
+
return $this->usesOneStepCheckout;
|
256 |
+
}
|
257 |
+
|
258 |
+
/**
|
259 |
+
* @return array
|
260 |
+
*/
|
261 |
+
public function getExcludedPaymentMethods() {
|
262 |
+
$path = 'lfnds_donation/advanced/excluded_payment_methods';
|
263 |
+
$storeId = Mage::app()->getStore()->getId();
|
264 |
+
|
265 |
+
$excludedMethodsAsString = Mage::getStoreConfig($path, $storeId);
|
266 |
+
return !empty($excludedMethodsAsString) ? explode(',', $excludedMethodsAsString) : array();
|
267 |
+
}
|
268 |
+
|
269 |
+
public function isActive() {
|
270 |
+
if ($this->active === NULL) {
|
271 |
+
$this->active = Mage::getStoreConfig('lfnds_donation/general/active');
|
272 |
+
}
|
273 |
+
return $this->active;
|
274 |
+
}
|
275 |
+
|
276 |
+
}
|
app/code/community/Lfnds/Donation/Manager/SyncManager.php
ADDED
@@ -0,0 +1,227 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Syncs between database and API.
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Manager
|
43 |
+
* @author Christian Peters <christian@elefunds.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Manager_SyncManager
|
50 |
+
{
|
51 |
+
|
52 |
+
/**
|
53 |
+
* @var Elefunds_Facade
|
54 |
+
*/
|
55 |
+
protected $facade;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Initialisation of the sync process.
|
59 |
+
*
|
60 |
+
* @param Elefunds_Facade $facade
|
61 |
+
*/
|
62 |
+
public function __construct(Elefunds_Facade $facade) {
|
63 |
+
$this->facade = $facade;
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Retrieves fresh sets of receivers.
|
68 |
+
*
|
69 |
+
* The sync is done for the german and english language. For convenience,
|
70 |
+
* the receivers of the current magento locale are returned.
|
71 |
+
*
|
72 |
+
* @return array with receivers of the facade's original countrycode
|
73 |
+
*/
|
74 |
+
public function syncReceivers() {
|
75 |
+
|
76 |
+
/** @var Lfnds_Donation_Model_Mysql4_Receiver_Collection $receiverCollection */
|
77 |
+
$receiverCollection = Mage::getModel('lfnds_donation/receiver')->getCollection();
|
78 |
+
|
79 |
+
// We want this to be available from anywhere, so we do not set state!
|
80 |
+
$originalCountryCode = $this->facade->getConfiguration()->getCountrycode();
|
81 |
+
|
82 |
+
$returnedReceivers = array();
|
83 |
+
$germanReceivers = array();
|
84 |
+
$englishReceivers = array();
|
85 |
+
|
86 |
+
try {
|
87 |
+
$this->facade->getConfiguration()->setCountrycode('de');
|
88 |
+
$germanReceivers = $this->facade->getReceivers();
|
89 |
+
|
90 |
+
$this->facade->getConfiguration()->setCountrycode('en');
|
91 |
+
$englishReceivers = $this->facade->getReceivers();
|
92 |
+
|
93 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $exception) {
|
94 |
+
// Pass, we still use the old receivers.
|
95 |
+
}
|
96 |
+
|
97 |
+
if (count($germanReceivers) > 0) {
|
98 |
+
$receiverCollection->removeByLanguage('de')
|
99 |
+
->mapArrayOfSDKReceiversToEntitiesAndSave($germanReceivers, 'de');
|
100 |
+
}
|
101 |
+
|
102 |
+
if (count($englishReceivers) > 0) {
|
103 |
+
$receiverCollection->removeByLanguage('en')
|
104 |
+
->mapArrayOfSDKReceiversToEntitiesAndSave($englishReceivers, 'en');
|
105 |
+
}
|
106 |
+
|
107 |
+
if ($originalCountryCode === 'de') {
|
108 |
+
$returnedReceivers = $germanReceivers;
|
109 |
+
}
|
110 |
+
|
111 |
+
if ($originalCountryCode === 'en') {
|
112 |
+
$returnedReceivers = $englishReceivers;
|
113 |
+
}
|
114 |
+
|
115 |
+
$this->facade->getConfiguration()->setCountrycode($originalCountryCode);
|
116 |
+
|
117 |
+
return $returnedReceivers;
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Syncs all donations to the API.
|
122 |
+
*
|
123 |
+
* @return $this
|
124 |
+
*/
|
125 |
+
public function syncDonations() {
|
126 |
+
|
127 |
+
/** @var Lfnds_Donation_Model_Mysql4_Donation_Collection $donationCollection */
|
128 |
+
$donationCollection = Mage::getModel('lfnds_donation/donation')->getCollection();
|
129 |
+
$donationCollection->addFieldToFilter('state',
|
130 |
+
array(
|
131 |
+
Lfnds_Donation_Model_Donation::SCHEDULED_FOR_ADDING,
|
132 |
+
Lfnds_Donation_Model_Donation::SCHEDULED_FOR_CANCELLATION,
|
133 |
+
Lfnds_Donation_Model_Donation::SCHEDULED_FOR_COMPLETION
|
134 |
+
)
|
135 |
+
);
|
136 |
+
|
137 |
+
$donationsToBeCancelled = array();
|
138 |
+
$donationsToBeCompleted = array();
|
139 |
+
$donationsToBeAdded = array();
|
140 |
+
|
141 |
+
/** @var Lfnds_Donation_Model_Donation $donationModel */
|
142 |
+
foreach ($donationCollection as $donationModel) {
|
143 |
+
switch ($donationModel->getState()) {
|
144 |
+
|
145 |
+
case Lfnds_Donation_Model_Donation::SCHEDULED_FOR_ADDING:
|
146 |
+
$donationsToBeAdded[$donationModel->getForeignId()] = $donationModel;
|
147 |
+
break;
|
148 |
+
|
149 |
+
case Lfnds_Donation_Model_Donation::SCHEDULED_FOR_CANCELLATION:
|
150 |
+
$donationsToBeCancelled[$donationModel->getForeignId()] = $donationModel;
|
151 |
+
break;
|
152 |
+
|
153 |
+
case Lfnds_Donation_Model_Donation::SCHEDULED_FOR_COMPLETION:
|
154 |
+
$donationsToBeCompleted[$donationModel->getForeignId()] = $donationModel;
|
155 |
+
break;
|
156 |
+
}
|
157 |
+
}
|
158 |
+
|
159 |
+
// Add pending donations
|
160 |
+
try {
|
161 |
+
$this->facade->addDonations($this->mapArrayOfEntitiesToSDKObject($donationsToBeAdded));
|
162 |
+
$donationCollection->setStates($donationsToBeAdded, Lfnds_Donation_Model_Donation::PENDING);
|
163 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $exception) {
|
164 |
+
$donationCollection->setStates($donationsToBeAdded, Lfnds_Donation_Model_Donation::SCHEDULED_FOR_ADDING);
|
165 |
+
}
|
166 |
+
|
167 |
+
// Cancel donations
|
168 |
+
try {
|
169 |
+
$this->facade->cancelDonations(array_keys($donationsToBeCancelled));
|
170 |
+
$donationCollection->setStates($donationsToBeCancelled, Lfnds_Donation_Model_Donation::CANCELLED);
|
171 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $exception) {
|
172 |
+
$donationCollection->setStates($donationsToBeCancelled, Lfnds_Donation_Model_Donation::SCHEDULED_FOR_CANCELLATION);
|
173 |
+
}
|
174 |
+
|
175 |
+
// Complete donation
|
176 |
+
try {
|
177 |
+
$this->facade->completeDonations(array_keys($donationsToBeCompleted));
|
178 |
+
$donationCollection->setStates($donationsToBeCompleted, Lfnds_Donation_Model_Donation::COMPLETED);
|
179 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $exception) {
|
180 |
+
$donationCollection->setStates($donationsToBeCompleted, Lfnds_Donation_Model_Donation::SCHEDULED_FOR_COMPLETION);
|
181 |
+
}
|
182 |
+
|
183 |
+
return $this;
|
184 |
+
}
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Maps an array of Donation entities to SDK Objects.
|
188 |
+
*
|
189 |
+
* @param array
|
190 |
+
* @return array
|
191 |
+
*/
|
192 |
+
protected function mapArrayOfEntitiesToSDKObject(array $donationModels) {
|
193 |
+
|
194 |
+
$sdkDonations = array();
|
195 |
+
|
196 |
+
/** @var Donation $donationModel */
|
197 |
+
foreach ($donationModels as $donationModel) {
|
198 |
+
|
199 |
+
$donation = $this->facade->createDonation()
|
200 |
+
->setForeignId($donationModel->getForeignId())
|
201 |
+
->setAmount($donationModel->getAmount())
|
202 |
+
->setSuggestedAmount($donationModel->getSuggestedAmount())
|
203 |
+
->setGrandTotal($donationModel->getGrandTotal())
|
204 |
+
->setReceiverIds($donationModel->getReceiverIds())
|
205 |
+
->setAvailableReceiverIds($donationModel->getAvailableReceiverIds())
|
206 |
+
->setTime($donationModel->getTime());
|
207 |
+
|
208 |
+
try {
|
209 |
+
$donation->setDonator(
|
210 |
+
$donationModel->getDonatorEmail(),
|
211 |
+
$donationModel->getDonatorFirstName(),
|
212 |
+
$donationModel->getDonatorLastName(),
|
213 |
+
$donationModel->getDonatorStreetAddress(),
|
214 |
+
$donationModel->getDonatorZip(),
|
215 |
+
$donationModel->getDonatorCity(),
|
216 |
+
$donationModel->getDonatorCountrycode()
|
217 |
+
);
|
218 |
+
} catch(InvalidArgumentException $exception) {
|
219 |
+
// It's always easier to ask for forgiveness, than for permission.
|
220 |
+
}
|
221 |
+
|
222 |
+
$sdkDonations[] = $donation;
|
223 |
+
}
|
224 |
+
|
225 |
+
return $sdkDonations;
|
226 |
+
}
|
227 |
+
}
|
app/code/community/Lfnds/Donation/Model/Donation.php
ADDED
@@ -0,0 +1,143 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* General helper function to access and configure the SDK in magento
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Model
|
43 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>, Christian Peters <christian@elefunds.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Model_Donation extends Mage_Core_Model_Abstract
|
50 |
+
{
|
51 |
+
|
52 |
+
protected $_eventPrefix = 'elefunds_donation';
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Donation states
|
56 |
+
*/
|
57 |
+
const
|
58 |
+
NEW_ORDER = 0,
|
59 |
+
SCHEDULED_FOR_ADDING = 1,
|
60 |
+
SCHEDULED_FOR_CANCELLATION = 2,
|
61 |
+
SCHEDULED_FOR_COMPLETION = 3,
|
62 |
+
PENDING = 4,
|
63 |
+
CANCELLED = 5,
|
64 |
+
COMPLETED = 6;
|
65 |
+
|
66 |
+
const ELEFUNDS_VIRTUAL_PRODUCT_SKU = 'elefunds-donation';
|
67 |
+
|
68 |
+
public function loadByAttribute($attribute, $value)
|
69 |
+
{
|
70 |
+
$this->load($value, $attribute);
|
71 |
+
return $this;
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Timestamp wrapper for time.
|
76 |
+
*
|
77 |
+
* @param DateTime $time
|
78 |
+
* @return $this
|
79 |
+
*/
|
80 |
+
public function setTime(DateTime $time) {
|
81 |
+
parent::setTime($time->format('Y-m-d H:i:s'));
|
82 |
+
return $this;
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Timestamp wrapper for time.
|
87 |
+
*
|
88 |
+
* @return DateTime
|
89 |
+
*/
|
90 |
+
public function getTime() {
|
91 |
+
return Datetime::createFromFormat('Y-m-d H:i:s', parent::getTime(), new DateTimeZone('UTC'));
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Sets all receivers and maps them to a csv for the database.
|
96 |
+
*
|
97 |
+
* @param array $receiverIds
|
98 |
+
* @return $this
|
99 |
+
*/
|
100 |
+
public function setReceiverIds(array $receiverIds) {
|
101 |
+
parent::setReceiverIds(implode(',', $receiverIds));
|
102 |
+
return $this;
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Maps back the csv to an array of receiver ids as int and
|
107 |
+
* returns it.
|
108 |
+
*
|
109 |
+
* @return array
|
110 |
+
*/
|
111 |
+
public function getReceiverIds() {
|
112 |
+
return array_map(function($x) { return (int)$x;}, explode(',',parent::getReceiverIds()));
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Sets the available receivers, that are saved as CSV in
|
117 |
+
* the database.
|
118 |
+
*
|
119 |
+
* @param array $availableReceiverIds
|
120 |
+
* @return $this
|
121 |
+
*/
|
122 |
+
public function setAvailableReceiverIds($availableReceiverIds) {
|
123 |
+
parent::setAvailableReceiverIds(implode(',', $availableReceiverIds));
|
124 |
+
return $this;
|
125 |
+
}
|
126 |
+
|
127 |
+
/**
|
128 |
+
* Returns the CSV from the database mapped to an array of integers and returns it.
|
129 |
+
*
|
130 |
+
* @return array
|
131 |
+
*/
|
132 |
+
public function getAvailableReceiverIds() {
|
133 |
+
return array_map(function($x) { return (int)$x;}, explode(',',parent::getAvailableReceiverIds()));
|
134 |
+
}
|
135 |
+
|
136 |
+
|
137 |
+
protected function _construct()
|
138 |
+
{
|
139 |
+
$this->_init('lfnds_donation/donation');
|
140 |
+
}
|
141 |
+
|
142 |
+
|
143 |
+
}
|
app/code/community/Lfnds/Donation/Model/Mysql4/Donation.php
ADDED
@@ -0,0 +1,55 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* General helper function to access and configure the SDK in magento
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Model
|
43 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Model_Mysql4_Donation extends Mage_Core_Model_Mysql4_Abstract
|
50 |
+
{
|
51 |
+
public function _construct()
|
52 |
+
{
|
53 |
+
$this->_init('lfnds_donation/donation', 'donation_id');
|
54 |
+
}
|
55 |
+
}
|
app/code/community/Lfnds/Donation/Model/Mysql4/Donation/Collection.php
ADDED
@@ -0,0 +1,117 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds Magento Module
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*/
|
38 |
+
|
39 |
+
/**
|
40 |
+
* General helper function to access and configure the SDK in magento
|
41 |
+
*
|
42 |
+
* @package elefunds Magento Module
|
43 |
+
* @subpackage Model
|
44 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>, Christian Peters <christian@elefunds.de>
|
45 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
46 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
47 |
+
* @link http://www.elefunds.de
|
48 |
+
* @since File available since Release 1.0.0
|
49 |
+
*/
|
50 |
+
class Lfnds_Donation_Model_Mysql4_Donation_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
51 |
+
{
|
52 |
+
public function _construct()
|
53 |
+
{
|
54 |
+
$this->_init('lfnds_donation/donation');
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Sets given donations as synced and flushes the
|
59 |
+
* entity manager.
|
60 |
+
*
|
61 |
+
* @param array $donations
|
62 |
+
* @param int $state
|
63 |
+
* @return void
|
64 |
+
*/
|
65 |
+
public function setStates(array $donations, $state) {
|
66 |
+
foreach ($donations as $donation) {
|
67 |
+
/** @var Lfnds_Donation_Model_Donation $donation */
|
68 |
+
$donation->setState($state);
|
69 |
+
$donation->save();
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Adds a donation to the repository.
|
75 |
+
*
|
76 |
+
* @param string $foreignId
|
77 |
+
*
|
78 |
+
* @param int $roundup
|
79 |
+
* @param int $grandTotal
|
80 |
+
* @param array $receivers
|
81 |
+
* @param array $availableReceivers
|
82 |
+
* @param array $userData
|
83 |
+
* @param string $languageCode
|
84 |
+
* @param int $suggestedRoundUp
|
85 |
+
* @param int $status
|
86 |
+
* @return void
|
87 |
+
*/
|
88 |
+
public function addDonation($foreignId, $roundup, $grandTotal, array $receivers, array $availableReceivers, array $userData, $languageCode, $suggestedRoundUp = 0, $status = 0) {
|
89 |
+
|
90 |
+
$donation = new Lfnds_Donation_Model_Donation();
|
91 |
+
$donation->setForeignId($foreignId)
|
92 |
+
->setAmount((int)$roundup)
|
93 |
+
->setGrandTotal((int)$grandTotal)
|
94 |
+
->setReceiverIds($receivers)
|
95 |
+
->setAvailableReceiverIds($availableReceivers)
|
96 |
+
->setTime(new DateTime(NULL, new DateTimeZone('UTC')))
|
97 |
+
->setSuggestedAmount((int)$suggestedRoundUp)
|
98 |
+
->setState($status);
|
99 |
+
|
100 |
+
if (count($userData) === 6) {
|
101 |
+
$donation->setDonatorFirstname($userData['firstName'])
|
102 |
+
->setDonatorLastname($userData['lastName'])
|
103 |
+
->setDonatorEmail($userData['email'])
|
104 |
+
->setDonatorStreetAddress($userData['streetAddress'])
|
105 |
+
->setDonatorZip($userData['zip'])
|
106 |
+
->setDonatorCity($userData['city'])
|
107 |
+
->setDonatorCountrycode($languageCode);
|
108 |
+
}
|
109 |
+
|
110 |
+
try {
|
111 |
+
$donation->save();
|
112 |
+
} catch (Exception $exception) {
|
113 |
+
Mage::logException($exception);
|
114 |
+
}
|
115 |
+
|
116 |
+
}
|
117 |
+
}
|
app/code/community/Lfnds/Donation/Model/Mysql4/Receiver.php
ADDED
@@ -0,0 +1,56 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds Magento Module
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*/
|
38 |
+
|
39 |
+
/**
|
40 |
+
* General helper function to access and configure the SDK in magento
|
41 |
+
*
|
42 |
+
* @package elefunds Magento Module
|
43 |
+
* @subpackage Model
|
44 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>
|
45 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
46 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
47 |
+
* @link http://www.elefunds.de
|
48 |
+
* @since File available since Release 1.0.0
|
49 |
+
*/
|
50 |
+
class Lfnds_Donation_Model_Mysql4_Receiver extends Mage_Core_Model_Mysql4_Abstract
|
51 |
+
{
|
52 |
+
public function _construct()
|
53 |
+
{
|
54 |
+
$this->_init('lfnds_donation/receiver', 'internal_identifier');
|
55 |
+
}
|
56 |
+
}
|
app/code/community/Lfnds/Donation/Model/Mysql4/Receiver/Collection.php
ADDED
@@ -0,0 +1,103 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds Magento Module
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*/
|
38 |
+
|
39 |
+
/**
|
40 |
+
* General helper function to access and configure the SDK in magento
|
41 |
+
*
|
42 |
+
* @package elefunds Magento Module
|
43 |
+
* @subpackage Model
|
44 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>, Christian Peters <christian@elefunds.de>
|
45 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
46 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
47 |
+
* @link http://www.elefunds.de
|
48 |
+
* @since File available since Release 1.0.0
|
49 |
+
*/
|
50 |
+
class Lfnds_Donation_Model_Mysql4_Receiver_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
|
51 |
+
{
|
52 |
+
public function _construct()
|
53 |
+
{
|
54 |
+
$this->_init('lfnds_donation/receiver');
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Removes receivers by given language.
|
59 |
+
*
|
60 |
+
* @param string $code
|
61 |
+
* @return $this
|
62 |
+
*/
|
63 |
+
public function removeByLanguage($code) {
|
64 |
+
|
65 |
+
$receivers = $this->addFieldToFilter('countrycode', $code);
|
66 |
+
/** @var Lfnds_Donation_Model_Receiver $receiver */
|
67 |
+
foreach ($receivers as $receiver) {
|
68 |
+
$receiver->delete();
|
69 |
+
}
|
70 |
+
|
71 |
+
return $this->_reset();
|
72 |
+
}
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Maps an array of receivers (as returned from the SDK) to a doctrine model.
|
76 |
+
*
|
77 |
+
* @param array $receivers that are implementing Elefunds_Model_ReceiverInterface
|
78 |
+
* @param string $languageCode
|
79 |
+
*
|
80 |
+
* @return $this
|
81 |
+
*/
|
82 |
+
public function mapArrayOfSDKReceiversToEntitiesAndSave(array $receivers, $languageCode) {
|
83 |
+
|
84 |
+
/** @var Elefunds_Model_ReceiverInterface $receiver */
|
85 |
+
foreach ($receivers as $receiver) {
|
86 |
+
/** @var Lfnds_Donation_Model_Receiver $entity */
|
87 |
+
$entity = Mage::getModel('lfnds_donation/receiver');
|
88 |
+
$entity->setReceiverId($receiver->getId())
|
89 |
+
->setName($receiver->getName())
|
90 |
+
->setImage($receiver->getImage('horizontal', 'medium'))
|
91 |
+
->setValid($receiver->getValidTime())
|
92 |
+
->setDescription($receiver->getDescription())
|
93 |
+
->setCountrycode($languageCode);
|
94 |
+
|
95 |
+
try {
|
96 |
+
$entity->save();
|
97 |
+
} catch (Exception $exception) {
|
98 |
+
Mage::logException($exception);
|
99 |
+
}
|
100 |
+
}
|
101 |
+
return $this;
|
102 |
+
}
|
103 |
+
}
|
app/code/community/Lfnds/Donation/Model/Observer.php
ADDED
@@ -0,0 +1,340 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds Magento Module
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*/
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Watches for events that are interacting with the elefunds module.
|
41 |
+
*
|
42 |
+
* @package elefunds Magento Module
|
43 |
+
* @subpackage Model
|
44 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>, Christian Peters <christian@elefunds.de>
|
45 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
46 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
47 |
+
* @link http://www.elefunds.de
|
48 |
+
* @since File available since Release 1.0.0
|
49 |
+
*/
|
50 |
+
class Lfnds_Donation_Model_Observer
|
51 |
+
{
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @var Lfnds_Donation_Helper_Data
|
55 |
+
*/
|
56 |
+
protected $helper;
|
57 |
+
|
58 |
+
public function __construct() {
|
59 |
+
$this->helper = Mage::helper('lfnds_donation');
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Adds the virtual product to the quote, so it's in included in the
|
64 |
+
* processed order on save order after.
|
65 |
+
*
|
66 |
+
* @param Varien_Event_Observer $observer
|
67 |
+
* @return void
|
68 |
+
*/
|
69 |
+
public function onPreDispatchSaveOrder(Varien_Event_Observer $observer) {
|
70 |
+
|
71 |
+
$params = Mage::app()->getRequest()->getParams();
|
72 |
+
|
73 |
+
/** @var Elefunds_Template_Shop_Helper_RequestHelper $requestHelper */
|
74 |
+
$requestHelper = $this->helper->getRequestHelper($params);
|
75 |
+
if ($requestHelper->isActiveAndValid()) {
|
76 |
+
|
77 |
+
/** @var Mage_Checkout_Model_Session $checkoutSession */
|
78 |
+
$checkoutSession = Mage::getSingleton('checkout/session');
|
79 |
+
$quote = $checkoutSession->getQuote();
|
80 |
+
|
81 |
+
/** @var Mage_Sales_Model_Quote_Item $elefundsProduct */
|
82 |
+
$elefundsProduct = $this->helper->getVirtualProduct();
|
83 |
+
|
84 |
+
if ($elefundsProduct === NULL) {
|
85 |
+
Mage::log('Elefunds object not found on store!');
|
86 |
+
return;
|
87 |
+
}
|
88 |
+
|
89 |
+
if ($quote->hasProductId($elefundsProduct->getId())) {
|
90 |
+
return;
|
91 |
+
}
|
92 |
+
|
93 |
+
$roundUpAsFloat = $requestHelper->getRoundUpAsFloat();
|
94 |
+
$elefundsProduct->setPrice($roundUpAsFloat);
|
95 |
+
$elefundsProduct->setBasePrice($roundUpAsFloat);
|
96 |
+
$quote->addProduct($elefundsProduct);
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Dispatched after the order is saved.
|
102 |
+
*
|
103 |
+
* Manipulates the quote with an elefunds virtual product.
|
104 |
+
*
|
105 |
+
* @param Varien_Event_Observer $observer
|
106 |
+
* @return void
|
107 |
+
*/
|
108 |
+
public function onSaveOrderAfter(Varien_Event_Observer $observer) {
|
109 |
+
|
110 |
+
$params = Mage::app()->getRequest()->getParams();
|
111 |
+
|
112 |
+
/** @var Elefunds_Template_Shop_Helper_RequestHelper $requestHelper */
|
113 |
+
$requestHelper = $this->helper->getRequestHelper($params);
|
114 |
+
|
115 |
+
if($requestHelper->isActiveAndValid()) {
|
116 |
+
|
117 |
+
/* @var $order Mage_Sales_Model_Order */
|
118 |
+
$order = $observer->getEvent()->getOrder();
|
119 |
+
|
120 |
+
if ($requestHelper->isDonationReceiptRequested()) {
|
121 |
+
$billingAddress = $order->getBillingAddress();
|
122 |
+
$streets = $billingAddress->getStreet(); // 5.3 compliant lazy array access
|
123 |
+
$user = array(
|
124 |
+
'firstName' => $billingAddress->getFirstname() ? $billingAddress->getFirstname() : '',
|
125 |
+
'lastName' => $billingAddress->getLastname() ? $billingAddress->getLastname() : $order->getCustomerName(),
|
126 |
+
'email' => $billingAddress->getEmail(),
|
127 |
+
'streetAddress' => $streets[0],
|
128 |
+
'zip' => (int)$billingAddress->getPostcode(),
|
129 |
+
'city' => $billingAddress->getCity()
|
130 |
+
);
|
131 |
+
} else {
|
132 |
+
$user = array();
|
133 |
+
}
|
134 |
+
|
135 |
+
/** @var Lfnds_Donation_Model_Mysql4_Donation_Collection $donationCollection */
|
136 |
+
$donationCollection = Mage::getModel('lfnds_donation/donation')->getCollection();
|
137 |
+
$donationCollection->addDonation(
|
138 |
+
$order->getIncrementId(),
|
139 |
+
$requestHelper->getRoundUp(),
|
140 |
+
$order->getTotalDue() * 100,
|
141 |
+
$requestHelper->getReceiverIds(),
|
142 |
+
$this->helper->getAvailableReceiverIds(),
|
143 |
+
$user,
|
144 |
+
$order->getBillingAddress()->getCountryId(),
|
145 |
+
$requestHelper->getSuggestedRoundUp(),
|
146 |
+
Lfnds_Donation_Model_Donation::NEW_ORDER
|
147 |
+
);
|
148 |
+
}
|
149 |
+
}
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Dispatched when the order is finished.
|
153 |
+
*
|
154 |
+
* @param Varien_Event_Observer $observer
|
155 |
+
* @return void
|
156 |
+
*/
|
157 |
+
public function onOrderFinished(Varien_Event_Observer $observer)
|
158 |
+
{
|
159 |
+
$orderIds = $observer->getEvent()->getOrderIds();
|
160 |
+
|
161 |
+
$orderId = 0;
|
162 |
+
if (is_array($orderIds) && !empty($orderIds)) {
|
163 |
+
$orderId = (int)$orderIds[0];
|
164 |
+
}
|
165 |
+
|
166 |
+
/* @var $order Mage_Sales_Model_Order */
|
167 |
+
$order = Mage::getModel('sales/order')->load($orderId);
|
168 |
+
|
169 |
+
/** @var Mage_Sales_Model_Quote_Item $elefundsProduct */
|
170 |
+
$elefundsProduct = $this->helper->getVirtualProduct();
|
171 |
+
|
172 |
+
if ($elefundsProduct !== NULL || $order->getItemByQuoteItemId($elefundsProduct->getQuoteId()) !== NULL) {
|
173 |
+
|
174 |
+
$donation = Mage::getModel('lfnds_donation/donation');
|
175 |
+
$donation->loadByAttribute('foreign_id', $order->getIncrementId());
|
176 |
+
|
177 |
+
if ($donation !== NULL && $donation->getId()) {
|
178 |
+
$donation->setState(Lfnds_Donation_Model_Donation::SCHEDULED_FOR_ADDING);
|
179 |
+
$donation->save();
|
180 |
+
}
|
181 |
+
|
182 |
+
$this->helper->getSyncManager()->syncDonations();
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Whenever an order is saved, we check if it contains a donation and if the status change is of
|
188 |
+
* interest for the API. If so, we invoke the sync process.
|
189 |
+
*
|
190 |
+
* @param Varien_Event_Observer $observer
|
191 |
+
* @return void
|
192 |
+
*/
|
193 |
+
public function onOrderSaved(Varien_Event_Observer $observer)
|
194 |
+
{
|
195 |
+
/* @var $order Mage_Sales_Model_Order */
|
196 |
+
$order = $observer->getEvent()->getOrder();
|
197 |
+
|
198 |
+
$newState = $order->getData('state');
|
199 |
+
$oldState = $order->getOrigData('state');
|
200 |
+
|
201 |
+
if ($newState === NULL || $oldState === NULL) {
|
202 |
+
return;
|
203 |
+
}
|
204 |
+
|
205 |
+
/** @var Lfnds_Donation_Model_Donation $donation */
|
206 |
+
$donation = Mage::getModel('lfnds_donation/donation');
|
207 |
+
$donation->loadByAttribute('foreign_id', $order->getIncrementId());
|
208 |
+
|
209 |
+
if ($donation !== NULL) {
|
210 |
+
$stateHasChanged = $newState !== $oldState;
|
211 |
+
|
212 |
+
if ($stateHasChanged) {
|
213 |
+
|
214 |
+
// We have to map the magento states to API states ...
|
215 |
+
$statesToBeMappedToAddingState = array(
|
216 |
+
Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
|
217 |
+
Mage_Sales_Model_Order::STATE_PROCESSING,
|
218 |
+
Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW
|
219 |
+
);
|
220 |
+
|
221 |
+
$statesToBeMappedToCancelledState = array(
|
222 |
+
Mage_Sales_Model_Order::STATE_CANCELED
|
223 |
+
);
|
224 |
+
|
225 |
+
$statesToBeMappedToCompletionState = array(
|
226 |
+
Mage_Sales_Model_Order::STATE_CLOSED,
|
227 |
+
Mage_Sales_Model_Order::STATE_COMPLETE
|
228 |
+
);
|
229 |
+
|
230 |
+
$stateToBySyncedToTheApi = -1;
|
231 |
+
|
232 |
+
if (in_array($newState, $statesToBeMappedToAddingState)) {
|
233 |
+
$stateToBySyncedToTheApi = Lfnds_Donation_Model_Donation::SCHEDULED_FOR_ADDING;
|
234 |
+
}
|
235 |
+
if (in_array($newState, $statesToBeMappedToCancelledState)) {
|
236 |
+
$stateToBySyncedToTheApi = Lfnds_Donation_Model_Donation::SCHEDULED_FOR_CANCELLATION;
|
237 |
+
}
|
238 |
+
if (in_array($newState, $statesToBeMappedToCompletionState)) {
|
239 |
+
$stateToBySyncedToTheApi = Lfnds_Donation_Model_Donation::SCHEDULED_FOR_COMPLETION;
|
240 |
+
}
|
241 |
+
|
242 |
+
if ($stateToBySyncedToTheApi > Lfnds_Donation_Model_Donation::NEW_ORDER) {
|
243 |
+
if ($donation->getState() !== $stateToBySyncedToTheApi) {
|
244 |
+
$donation->setState($stateToBySyncedToTheApi);
|
245 |
+
$donation->save();
|
246 |
+
$this->helper->getSyncManager()->syncDonations();
|
247 |
+
}
|
248 |
+
}
|
249 |
+
}
|
250 |
+
}
|
251 |
+
}
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Removes the Donation from cloned (reordered or edited orders) in the backend.
|
255 |
+
*
|
256 |
+
* @param Varien_Event_Observer $observer
|
257 |
+
*/
|
258 |
+
public function removeDonationFromClonedOrderInBackend(Varien_Event_Observer $observer) {
|
259 |
+
|
260 |
+
/* @var $order Mage_Sales_Model_Order */
|
261 |
+
$order = $observer->getEvent()->getOrder();
|
262 |
+
|
263 |
+
/* @var Mage_Sales_Model_Quote $quote */
|
264 |
+
$quote = $observer->getEvent()->getQuote();
|
265 |
+
|
266 |
+
$elefundsItem = NULL;
|
267 |
+
/** @var Mage_Sales_Model_Order_Item $item */
|
268 |
+
foreach ($order->getAllItems() as $item) {
|
269 |
+
if ($item->getSku() === Lfnds_Donation_Model_Donation::ELEFUNDS_VIRTUAL_PRODUCT_SKU) {
|
270 |
+
$elefundsItem = $item;
|
271 |
+
break;
|
272 |
+
}
|
273 |
+
}
|
274 |
+
|
275 |
+
if ($elefundsItem !== NULL) {
|
276 |
+
$allItems = $quote->getAllItems();
|
277 |
+
// Since $quote->removeItem() does not work for virtual products,
|
278 |
+
// we have to remove and re-add all items.
|
279 |
+
// @todo: removeAllItems was implemented in 1.6, we have reimplemented here for 1.5
|
280 |
+
// @todo: can be exchanged with $quote->removeAllItems() if we no longer support 1.5
|
281 |
+
foreach ($quote->getItemsCollection() as $itemId => $item) {
|
282 |
+
if (is_null($item->getId())) {
|
283 |
+
$quote->getItemsCollection()->removeItemByKey($itemId);
|
284 |
+
} else {
|
285 |
+
$item->isDeleted(true);
|
286 |
+
}
|
287 |
+
}
|
288 |
+
|
289 |
+
|
290 |
+
/** @var Mage_Sales_Model_Quote_Item $item */
|
291 |
+
foreach ($allItems as $item) {
|
292 |
+
if ($item->getSku() !== Lfnds_Donation_Model_Donation::ELEFUNDS_VIRTUAL_PRODUCT_SKU) {
|
293 |
+
$quote->addItem($item);
|
294 |
+
}
|
295 |
+
}
|
296 |
+
$quote->save();
|
297 |
+
}
|
298 |
+
}
|
299 |
+
|
300 |
+
|
301 |
+
/**
|
302 |
+
* @param Varien_Event_Observer $observer
|
303 |
+
*/
|
304 |
+
public function limitPayments(Varien_Event_Observer $observer) {
|
305 |
+
/** @var Lfnds_Donation_Block_Checkout_Banner $block */
|
306 |
+
$block = $observer->getEvent()->getObject();
|
307 |
+
|
308 |
+
try {
|
309 |
+
$paymentCode = Mage::getSingleton('checkout/session')->getQuote()
|
310 |
+
->getPayment()
|
311 |
+
->getMethodInstance()
|
312 |
+
->getCode();
|
313 |
+
} catch (Exception $exception) {
|
314 |
+
// This exception is thrown, when the merchant uses some kind of one step checkout
|
315 |
+
// (where no payment has yet been set).
|
316 |
+
// If so, check if you have enabled the one step checkout in the settings.
|
317 |
+
// If it's a one step checkout that we do not support,
|
318 |
+
// we silently bypass the module, as the shop would crash otherwise.
|
319 |
+
Mage::log('We could not get a default payment and are deactivating the banner.');
|
320 |
+
}
|
321 |
+
|
322 |
+
$excludedMethods = $this->helper->getExcludedPaymentMethods();
|
323 |
+
if (in_array($paymentCode, $excludedMethods)) {
|
324 |
+
$block->deactivateBanner();
|
325 |
+
}
|
326 |
+
}
|
327 |
+
|
328 |
+
/**
|
329 |
+
* @param Varien_Event_Observer $observer
|
330 |
+
*/
|
331 |
+
public function excludeDonationFromDiscount(Varien_Event_Observer $observer){
|
332 |
+
$quoteItem = $observer->getQuoteItem();
|
333 |
+
$product = $observer->getProduct();
|
334 |
+
if ($product->getSku() == Lfnds_Donation_Model_Donation::ELEFUNDS_VIRTUAL_PRODUCT_SKU) {
|
335 |
+
$quoteItem->setNoDiscount(TRUE);
|
336 |
+
}
|
337 |
+
}
|
338 |
+
|
339 |
+
}
|
340 |
+
|
app/code/community/Lfnds/Donation/Model/Receiver.php
ADDED
@@ -0,0 +1,105 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Elefunds Receiver Model
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Model
|
43 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Model_Receiver extends Mage_Core_Model_Abstract
|
50 |
+
{
|
51 |
+
protected $_eventPrefix = 'elefunds_receiver';
|
52 |
+
|
53 |
+
/**
|
54 |
+
* We want to have the receiver model interchangeable with the SDK receivers.
|
55 |
+
* Since getID is reserved, we provide an additional parameter that selectively
|
56 |
+
* bypasses this behaviour.
|
57 |
+
*
|
58 |
+
* @param bool $bypassInternalIdentifier
|
59 |
+
* @return int
|
60 |
+
*/
|
61 |
+
public function getId($bypassInternalIdentifier = FALSE) {
|
62 |
+
if ($bypassInternalIdentifier) {
|
63 |
+
return $this->getReceiverId();
|
64 |
+
} else {
|
65 |
+
return parent::getId();
|
66 |
+
}
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* This methods just fakes the SDK signature to make calls interchangeable.
|
71 |
+
*
|
72 |
+
* @param string $direction
|
73 |
+
* @param string $size
|
74 |
+
* @return string
|
75 |
+
*/
|
76 |
+
public function getImage($direction, $size) {
|
77 |
+
return parent::getImage();
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* Timestamp wrapper for time.
|
82 |
+
*
|
83 |
+
* @param DateTime $time
|
84 |
+
* @return $this
|
85 |
+
*/
|
86 |
+
public function setValid(DateTime $time) {
|
87 |
+
parent::setValid($time->format('Y-m-d H:i:s'));
|
88 |
+
return $this;
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Timestamp wrapper for time.
|
93 |
+
*
|
94 |
+
* @return DateTime
|
95 |
+
*/
|
96 |
+
public function getValid() {
|
97 |
+
return Datetime::createFromFormat('Y-m-d H:i:s', parent::getValid(), new DateTimeZone('UTC'));
|
98 |
+
}
|
99 |
+
|
100 |
+
protected function _construct()
|
101 |
+
{
|
102 |
+
$this->_init('lfnds_donation/receiver');
|
103 |
+
}
|
104 |
+
|
105 |
+
}
|
app/code/community/Lfnds/Donation/Model/System/Config/Source/Color.php
ADDED
@@ -0,0 +1,76 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Retrieves available themes.
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Model
|
43 |
+
* @author Christian Peters, <christian@elefunds.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Model_System_Config_Source_Color
|
50 |
+
{
|
51 |
+
protected $_options;
|
52 |
+
|
53 |
+
public function toOptionArray()
|
54 |
+
{
|
55 |
+
/** @var Lfnds_Donation_Helper_Data $helper */
|
56 |
+
$helper = Mage::helper('lfnds_donation');
|
57 |
+
$facade = $helper->getConfiguredFacade(TRUE);
|
58 |
+
if (!$this->_options) {
|
59 |
+
|
60 |
+
/** @var Elefunds_Template_Shop_ShopConfiguration $configuration */
|
61 |
+
$configuration = $facade->getConfiguration();
|
62 |
+
$colors = $configuration->getAvailableColors();
|
63 |
+
|
64 |
+
foreach ($colors as $color) {
|
65 |
+
$optionsArray[] = array(
|
66 |
+
'value' => $color,
|
67 |
+
'label' => $color,
|
68 |
+
);
|
69 |
+
}
|
70 |
+
|
71 |
+
$this->_options = $optionsArray;
|
72 |
+
}
|
73 |
+
|
74 |
+
return $this->_options;
|
75 |
+
}
|
76 |
+
}
|
app/code/community/Lfnds/Donation/Model/System/Config/Source/Payment.php
ADDED
@@ -0,0 +1,79 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Retrieves available payment groups.
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Model
|
43 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Model_System_Config_Source_Payment
|
50 |
+
{
|
51 |
+
protected $_options;
|
52 |
+
|
53 |
+
public function toOptionArray($isMultiselect = FALSE)
|
54 |
+
{
|
55 |
+
if (!$this->_options) {
|
56 |
+
$options = Mage::getSingleton('payment/config')->getActiveMethods();
|
57 |
+
foreach ($options as $code => $value) {
|
58 |
+
$optionsArray[] = array(
|
59 |
+
'value' => $code,
|
60 |
+
'label' => Mage::getStoreConfig('payment/' . $code . '/title'),
|
61 |
+
);
|
62 |
+
}
|
63 |
+
$this->_options = $optionsArray;
|
64 |
+
}
|
65 |
+
|
66 |
+
$options = $this->_options;
|
67 |
+
|
68 |
+
if(!$isMultiselect){
|
69 |
+
array_unshift($options,
|
70 |
+
array(
|
71 |
+
'value' => '',
|
72 |
+
'label' => Mage::helper('adminhtml')->__('--Please Select--'),
|
73 |
+
)
|
74 |
+
);
|
75 |
+
}
|
76 |
+
|
77 |
+
return $options;
|
78 |
+
}
|
79 |
+
}
|
app/code/community/Lfnds/Donation/Model/System/Config/Source/Position.php
ADDED
@@ -0,0 +1,65 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Retrieves available themes.
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Model
|
43 |
+
* @author Christian Peters, <christian@elefunds.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Model_System_Config_Source_Position
|
50 |
+
{
|
51 |
+
public function toOptionArray()
|
52 |
+
{
|
53 |
+
return array(
|
54 |
+
array(
|
55 |
+
'value' => 'top',
|
56 |
+
'label' => 'Top'
|
57 |
+
),
|
58 |
+
array(
|
59 |
+
'value' => 'bottom',
|
60 |
+
'label' => 'Bottom'
|
61 |
+
)
|
62 |
+
);
|
63 |
+
|
64 |
+
}
|
65 |
+
}
|
app/code/community/Lfnds/Donation/Model/System/Config/Source/Theme.php
ADDED
@@ -0,0 +1,76 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* elefunds Magento Module
|
4 |
+
*
|
5 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
6 |
+
* All rights reserved.
|
7 |
+
*
|
8 |
+
* Redistribution and use in source and binary forms, with or without
|
9 |
+
* modification, are permitted provided that the following conditions
|
10 |
+
* are met:
|
11 |
+
*
|
12 |
+
* * Redistributions of source code must retain the above copyright
|
13 |
+
* notice, this list of conditions and the following disclaimer.
|
14 |
+
*
|
15 |
+
* * Redistributions in binary form must reproduce the above copyright
|
16 |
+
* notice, this list of conditions and the following disclaimer in
|
17 |
+
* the documentation and/or other materials provided with the
|
18 |
+
* distribution.
|
19 |
+
*
|
20 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
21 |
+
* contributors may be used to endorse or promote products derived
|
22 |
+
* from this software without specific prior written permission.
|
23 |
+
*
|
24 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
25 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
26 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
27 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
28 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
29 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
30 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
32 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
33 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
34 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
35 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
36 |
+
*/
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Retrieves available themes.
|
40 |
+
*
|
41 |
+
* @package elefunds Magento Module
|
42 |
+
* @subpackage Model
|
43 |
+
* @author Christian Peters, <christian@elefunds.de>
|
44 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
45 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
46 |
+
* @link http://www.elefunds.de
|
47 |
+
* @since File available since Release 1.0.0
|
48 |
+
*/
|
49 |
+
class Lfnds_Donation_Model_System_Config_Source_Theme
|
50 |
+
{
|
51 |
+
protected $_options;
|
52 |
+
|
53 |
+
public function toOptionArray()
|
54 |
+
{
|
55 |
+
/** @var Lfnds_Donation_Helper_Data $helper */
|
56 |
+
$helper = Mage::helper('lfnds_donation');
|
57 |
+
$facade = $helper->getConfiguredFacade(TRUE);
|
58 |
+
if (!$this->_options) {
|
59 |
+
|
60 |
+
/** @var Elefunds_Template_Shop_ShopConfiguration $configuration */
|
61 |
+
$configuration = $facade->getConfiguration();
|
62 |
+
$themes = $configuration->getAvailableThemes();
|
63 |
+
|
64 |
+
foreach ($themes as $theme) {
|
65 |
+
$optionsArray[] = array(
|
66 |
+
'value' => $theme,
|
67 |
+
'label' => $theme,
|
68 |
+
);
|
69 |
+
}
|
70 |
+
|
71 |
+
$this->_options = $optionsArray;
|
72 |
+
}
|
73 |
+
|
74 |
+
return $this->_options;
|
75 |
+
}
|
76 |
+
}
|
app/code/community/Lfnds/Donation/controllers/IndexController.php
ADDED
@@ -0,0 +1,27 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* IndexController
|
5 |
+
*
|
6 |
+
* Renders our view
|
7 |
+
*
|
8 |
+
* Controller is registered in ../etc/config.xml
|
9 |
+
* The rendered View is also defined in ../etc/config.xml (layout)
|
10 |
+
*
|
11 |
+
* @package elefunds Magento Module
|
12 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>
|
13 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
14 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
15 |
+
* @link http://www.elefunds.de
|
16 |
+
*/
|
17 |
+
class Lfnds_Donation_IndexController extends Mage_Core_Controller_Front_Action {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* The default Action for any controller
|
21 |
+
* Loads and renders the layout
|
22 |
+
*/
|
23 |
+
public function indexAction() {
|
24 |
+
$this->loadLayout();
|
25 |
+
$this->renderLayout();
|
26 |
+
}
|
27 |
+
}
|
app/code/community/Lfnds/Donation/etc/config.xml
ADDED
@@ -0,0 +1,218 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0" ?>
|
2 |
+
<config>
|
3 |
+
<modules>
|
4 |
+
<Lfnds_Donation>
|
5 |
+
<version>1.0.0</version>
|
6 |
+
</Lfnds_Donation>
|
7 |
+
</modules>
|
8 |
+
|
9 |
+
<global>
|
10 |
+
<models>
|
11 |
+
<lfnds_donation>
|
12 |
+
<class>Lfnds_Donation_Model</class>
|
13 |
+
<resourceModel>donation_mysql4</resourceModel>
|
14 |
+
</lfnds_donation>
|
15 |
+
<donation_mysql4>
|
16 |
+
<class>Lfnds_Donation_Model_Mysql4</class>
|
17 |
+
<entities>
|
18 |
+
<donation>
|
19 |
+
<table>lfnds_donation_donation</table>
|
20 |
+
</donation>
|
21 |
+
<receiver>
|
22 |
+
<table>lfnds_donation_receiver</table>
|
23 |
+
</receiver>
|
24 |
+
</entities>
|
25 |
+
</donation_mysql4>
|
26 |
+
</models>
|
27 |
+
|
28 |
+
<blocks>
|
29 |
+
<lfnds_donation>
|
30 |
+
<class>Lfnds_Donation_Block</class>
|
31 |
+
</lfnds_donation>
|
32 |
+
</blocks>
|
33 |
+
|
34 |
+
<helpers>
|
35 |
+
<lfnds_donation>
|
36 |
+
<class>Lfnds_Donation_Helper</class>
|
37 |
+
</lfnds_donation>
|
38 |
+
</helpers>
|
39 |
+
|
40 |
+
<resources>
|
41 |
+
<lfnds_donation_setup>
|
42 |
+
<setup>
|
43 |
+
<module>Lfnds_Donation</module>
|
44 |
+
<class>Mage_Core_Model_Resource_Setup</class>
|
45 |
+
</setup>
|
46 |
+
<use>default_setup</use>
|
47 |
+
</lfnds_donation_setup>
|
48 |
+
|
49 |
+
<lfnds_donation_write>
|
50 |
+
<use>default_write</use>
|
51 |
+
</lfnds_donation_write>
|
52 |
+
<lfnds_donation_read>
|
53 |
+
<use>default_read</use>
|
54 |
+
</lfnds_donation_read>
|
55 |
+
</resources>
|
56 |
+
<events>
|
57 |
+
<sales_order_save_after>
|
58 |
+
<observers>
|
59 |
+
<syncDonationOnChangedState>
|
60 |
+
<type>model</type>
|
61 |
+
<class>lfnds_donation/observer</class>
|
62 |
+
<method>onOrderSaved</method>
|
63 |
+
</syncDonationOnChangedState>
|
64 |
+
</observers>
|
65 |
+
</sales_order_save_after>
|
66 |
+
<sales_convert_order_to_quote>
|
67 |
+
<observers>
|
68 |
+
<removeDonationFromClonedOrder>
|
69 |
+
<type>model</type>
|
70 |
+
<class>lfnds_donation/observer</class>
|
71 |
+
<method>removeDonationFromClonedOrderInBackend</method>
|
72 |
+
</removeDonationFromClonedOrder>
|
73 |
+
</observers>
|
74 |
+
</sales_convert_order_to_quote>
|
75 |
+
</events>
|
76 |
+
</global>
|
77 |
+
|
78 |
+
<adminhtml>
|
79 |
+
<translate>
|
80 |
+
<modules>
|
81 |
+
<Lfnds_Donation>
|
82 |
+
<files>
|
83 |
+
<default>Lfnds_Donation.csv</default>
|
84 |
+
</files>
|
85 |
+
</Lfnds_Donation>
|
86 |
+
</modules>
|
87 |
+
</translate>
|
88 |
+
<layout>
|
89 |
+
<updates>
|
90 |
+
<lfnds_donation>
|
91 |
+
<file>lfnds_donation.xml</file>
|
92 |
+
</lfnds_donation>
|
93 |
+
</updates>
|
94 |
+
</layout>
|
95 |
+
<acl>
|
96 |
+
<resources>
|
97 |
+
<admin>
|
98 |
+
<children>
|
99 |
+
<system>
|
100 |
+
<children>
|
101 |
+
<config>
|
102 |
+
<children>
|
103 |
+
<lfnds_donation>
|
104 |
+
<title>Elefunds</title>
|
105 |
+
</lfnds_donation>
|
106 |
+
</children>
|
107 |
+
</config>
|
108 |
+
</children>
|
109 |
+
</system>
|
110 |
+
</children>
|
111 |
+
</admin>
|
112 |
+
</resources>
|
113 |
+
</acl>
|
114 |
+
</adminhtml>
|
115 |
+
|
116 |
+
<frontend>
|
117 |
+
<routers>
|
118 |
+
<lfnds_donation>
|
119 |
+
<use>standard</use>
|
120 |
+
<args>
|
121 |
+
<module>Lfnds_Donation</module>
|
122 |
+
<frontName>elefunds</frontName>
|
123 |
+
</args>
|
124 |
+
</lfnds_donation>
|
125 |
+
</routers>
|
126 |
+
<events>
|
127 |
+
|
128 |
+
<!-- +++ One step checkout specific events +++ -->
|
129 |
+
<controller_action_predispatch_onestepcheckout_index_index>
|
130 |
+
<observers>
|
131 |
+
<limitPayments>
|
132 |
+
<type>model</type>
|
133 |
+
<class>lfnds_donation/observer</class>
|
134 |
+
<method>onPreDispatchSaveOrder</method>
|
135 |
+
</limitPayments>
|
136 |
+
</observers>
|
137 |
+
</controller_action_predispatch_onestepcheckout_index_index>
|
138 |
+
<!-- ^^^ One step checkout specific events ^^^ -->
|
139 |
+
|
140 |
+
|
141 |
+
<!-- +++ One page checkout specific events +++ -->
|
142 |
+
<elefunds_checkout_review_before_enable>
|
143 |
+
<observers>
|
144 |
+
<limitPayments>
|
145 |
+
<type>model</type>
|
146 |
+
<class>lfnds_donation/observer</class>
|
147 |
+
<method>limitPayments</method>
|
148 |
+
</limitPayments>
|
149 |
+
</observers>
|
150 |
+
</elefunds_checkout_review_before_enable>
|
151 |
+
<controller_action_predispatch_checkout_onepage_saveOrder>
|
152 |
+
<observers>
|
153 |
+
<addDonationToBasket>
|
154 |
+
<type>model</type>
|
155 |
+
<class>lfnds_donation/observer</class>
|
156 |
+
<method>onPreDispatchSaveOrder</method>
|
157 |
+
</addDonationToBasket>
|
158 |
+
</observers>
|
159 |
+
</controller_action_predispatch_checkout_onepage_saveOrder>
|
160 |
+
<!-- ^^^ One page checkout specific events ^^^ -->
|
161 |
+
|
162 |
+
<!-- +++ Shared events +++ -->
|
163 |
+
<checkout_type_onepage_save_order_after>
|
164 |
+
<observers>
|
165 |
+
<addDonationToElefundsModel>
|
166 |
+
<type>model</type>
|
167 |
+
<class>lfnds_donation/observer</class>
|
168 |
+
<method>onSaveOrderAfter</method>
|
169 |
+
</addDonationToElefundsModel>
|
170 |
+
</observers>
|
171 |
+
</checkout_type_onepage_save_order_after>
|
172 |
+
<checkout_onepage_controller_success_action>
|
173 |
+
<observers>
|
174 |
+
<updateDonationStateAndSync>
|
175 |
+
<type>model</type>
|
176 |
+
<class>lfnds_donation/observer</class>
|
177 |
+
<method>onOrderFinished</method>
|
178 |
+
</updateDonationStateAndSync>
|
179 |
+
</observers>
|
180 |
+
</checkout_onepage_controller_success_action>
|
181 |
+
<sales_quote_item_set_product>
|
182 |
+
<observers>
|
183 |
+
<exclude_from_donation>
|
184 |
+
<type>model</type>
|
185 |
+
<class>lfnds_donation/observer</class>
|
186 |
+
<method>excludeDonationFromDiscount</method>
|
187 |
+
</exclude_from_donation>
|
188 |
+
</observers>
|
189 |
+
</sales_quote_item_set_product>
|
190 |
+
<!-- ^^^ Shared events ^^^ -->
|
191 |
+
|
192 |
+
</events>
|
193 |
+
|
194 |
+
<layout>
|
195 |
+
<updates>
|
196 |
+
<lfnds_donation>
|
197 |
+
<file>lfnds_donation.xml</file>
|
198 |
+
</lfnds_donation>
|
199 |
+
</updates>
|
200 |
+
</layout>
|
201 |
+
</frontend>
|
202 |
+
|
203 |
+
<default>
|
204 |
+
<lfnds_donation>
|
205 |
+
<general>
|
206 |
+
<active>0</active>
|
207 |
+
<theme>light</theme>
|
208 |
+
<color>orange</color>
|
209 |
+
</general>
|
210 |
+
<advanced>
|
211 |
+
<include_jquery>1</include_jquery>
|
212 |
+
<banner_width>681</banner_width>
|
213 |
+
<banner_position>bottom</banner_position>
|
214 |
+
<uses_onestepcheckout>0</uses_onestepcheckout>
|
215 |
+
</advanced>
|
216 |
+
</lfnds_donation>
|
217 |
+
</default>
|
218 |
+
</config>
|
app/code/community/Lfnds/Donation/etc/system.xml
ADDED
@@ -0,0 +1,136 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<config>
|
3 |
+
<tabs>
|
4 |
+
<lfnds_donation translate="label" module="lfnds_donation">
|
5 |
+
<label>Elefunds</label>
|
6 |
+
<sort_order>2888000</sort_order>
|
7 |
+
</lfnds_donation>
|
8 |
+
</tabs>
|
9 |
+
<sections>
|
10 |
+
<lfnds_donation translate="label" module="lfnds_donation">
|
11 |
+
<label>Donation</label>
|
12 |
+
<tab>lfnds_donation</tab>
|
13 |
+
<sort_order>100</sort_order>
|
14 |
+
<show_in_default>1</show_in_default>
|
15 |
+
<show_in_website>1</show_in_website>
|
16 |
+
<show_in_store>1</show_in_store>
|
17 |
+
<groups>
|
18 |
+
<general translate="label comment">
|
19 |
+
<label>General</label>
|
20 |
+
<comment>Welcome to elefunds!</comment>
|
21 |
+
<sort_order>10</sort_order>
|
22 |
+
<show_in_default>1</show_in_default>
|
23 |
+
<show_in_website>1</show_in_website>
|
24 |
+
<show_in_store>1</show_in_store>
|
25 |
+
<fields>
|
26 |
+
<active translate="label comment">
|
27 |
+
<label>Enabled</label>
|
28 |
+
<frontend_type>select</frontend_type>
|
29 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
30 |
+
<show_in_default>1</show_in_default>
|
31 |
+
<show_in_website>1</show_in_website>
|
32 |
+
<show_in_store>1</show_in_store>
|
33 |
+
<sort_order>10</sort_order>
|
34 |
+
<comment>Activate / deactivate the elefunds module.</comment>
|
35 |
+
</active>
|
36 |
+
<client_id translate="label">
|
37 |
+
<label>Client Id</label>
|
38 |
+
<frontend_type>text</frontend_type>
|
39 |
+
<show_in_default>1</show_in_default>
|
40 |
+
<show_in_website>1</show_in_website>
|
41 |
+
<show_in_store>1</show_in_store>
|
42 |
+
<sort_order>30</sort_order>
|
43 |
+
</client_id>
|
44 |
+
<api_key translate="label">
|
45 |
+
<label>Api Key</label>
|
46 |
+
<frontend_type>text</frontend_type>
|
47 |
+
<show_in_default>1</show_in_default>
|
48 |
+
<show_in_website>1</show_in_website>
|
49 |
+
<show_in_store>1</show_in_store>
|
50 |
+
<sort_order>40</sort_order>
|
51 |
+
</api_key>
|
52 |
+
<theme translate="label comment">
|
53 |
+
<label>Theme</label>
|
54 |
+
<frontend_type>select</frontend_type>
|
55 |
+
<source_model>lfnds_donation/system_config_source_theme</source_model>
|
56 |
+
<show_in_default>1</show_in_default>
|
57 |
+
<show_in_website>1</show_in_website>
|
58 |
+
<show_in_store>1</show_in_store>
|
59 |
+
<sort_order>50</sort_order>
|
60 |
+
<comment>Select a base theme for the elefunds donation module.</comment>
|
61 |
+
</theme>
|
62 |
+
<color translate="label comment">
|
63 |
+
<label>Color</label>
|
64 |
+
<frontend_type>select</frontend_type>
|
65 |
+
<source_model>lfnds_donation/system_config_source_color</source_model>
|
66 |
+
<show_in_default>1</show_in_default>
|
67 |
+
<show_in_website>1</show_in_website>
|
68 |
+
<show_in_store>1</show_in_store>
|
69 |
+
<sort_order>60</sort_order>
|
70 |
+
<comment>Select a color for the elefunds donation module.</comment>
|
71 |
+
</color>
|
72 |
+
</fields>
|
73 |
+
</general>
|
74 |
+
<advanced translate="label">
|
75 |
+
<label>Advanced</label>
|
76 |
+
<sort_order>20</sort_order>
|
77 |
+
<show_in_default>1</show_in_default>
|
78 |
+
<show_in_website>1</show_in_website>
|
79 |
+
<show_in_store>1</show_in_store>
|
80 |
+
<fields>
|
81 |
+
<banner_width translate="label comment">
|
82 |
+
<label>Banner width</label>
|
83 |
+
<frontend_type>text</frontend_type>
|
84 |
+
<show_in_default>1</show_in_default>
|
85 |
+
<show_in_website>1</show_in_website>
|
86 |
+
<show_in_store>1</show_in_store>
|
87 |
+
<sort_order>10</sort_order>
|
88 |
+
<comment>The modul width in pixel. Adjust this number if the modul does not fit perfectly in your checkout.</comment>
|
89 |
+
</banner_width>
|
90 |
+
<banner_position translate="label comment">
|
91 |
+
<label>Banner position</label>
|
92 |
+
<frontend_type>select</frontend_type>
|
93 |
+
<source_model>lfnds_donation/system_config_source_position</source_model>
|
94 |
+
<show_in_default>1</show_in_default>
|
95 |
+
<show_in_website>1</show_in_website>
|
96 |
+
<show_in_store>1</show_in_store>
|
97 |
+
<sort_order>20</sort_order>
|
98 |
+
<comment>Choose where to position the module relative to the article listing.</comment>
|
99 |
+
</banner_position>
|
100 |
+
<include_jquery translate="label">
|
101 |
+
<label>Include jQuery</label>
|
102 |
+
<frontend_type>select</frontend_type>
|
103 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
104 |
+
<show_in_default>1</show_in_default>
|
105 |
+
<show_in_website>1</show_in_website>
|
106 |
+
<show_in_store>1</show_in_store>
|
107 |
+
<sort_order>30</sort_order>
|
108 |
+
<comment>Load jQuery in the frontend, if it's not already loaded.</comment>
|
109 |
+
</include_jquery>
|
110 |
+
<uses_onestepcheckout translate="label comment">
|
111 |
+
<label>Uses one step checkout?</label>
|
112 |
+
<frontend_type>select</frontend_type>
|
113 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
114 |
+
<show_in_default>1</show_in_default>
|
115 |
+
<show_in_website>1</show_in_website>
|
116 |
+
<show_in_store>1</show_in_store>
|
117 |
+
<sort_order>40</sort_order>
|
118 |
+
<comment>Set to yes, if your shop uses the module from onestepcheckout.com.</comment>
|
119 |
+
</uses_onestepcheckout>
|
120 |
+
<excluded_payment_methods translate="label comment">
|
121 |
+
<label>Excluded payment methods</label>
|
122 |
+
<frontend_type>multiselect</frontend_type>
|
123 |
+
<source_model>lfnds_donation/system_config_source_payment</source_model>
|
124 |
+
<show_in_default>1</show_in_default>
|
125 |
+
<show_in_website>1</show_in_website>
|
126 |
+
<show_in_store>1</show_in_store>
|
127 |
+
<sort_order>50</sort_order>
|
128 |
+
<comment>Elefunds won't be displayed in the selected payment methods.</comment>
|
129 |
+
<can_be_empty>1</can_be_empty>
|
130 |
+
</excluded_payment_methods>
|
131 |
+
</fields>
|
132 |
+
</advanced>
|
133 |
+
</groups>
|
134 |
+
</lfnds_donation>
|
135 |
+
</sections>
|
136 |
+
</config>
|
app/code/community/Lfnds/Donation/sql/lfnds_donation_setup/mysql4-install-1.0.0.php
ADDED
@@ -0,0 +1,247 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds Magento Module
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*/
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Installation Script for the magento module,
|
41 |
+
* creates DB Tables and adds VirtualProduct for Donations
|
42 |
+
*
|
43 |
+
* @package elefunds Magento Module
|
44 |
+
* @subpackage sql
|
45 |
+
* @author Raul Armando Salamanca Gonzalez <raul.salamanca@gmx.de>, Roland Luckenhuber <roland@elefunds.de>
|
46 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
47 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
48 |
+
* @link http://www.elefunds.de
|
49 |
+
* @since File available since Release 1.0.0
|
50 |
+
*/
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Fixes for Magento 1.5
|
54 |
+
*
|
55 |
+
* @deprecated
|
56 |
+
*/
|
57 |
+
|
58 |
+
// Fix for not supported datetime in magento <= 1.5
|
59 |
+
// Once we're done, change $datetime in the Table definitions
|
60 |
+
// with Varien_Db_Ddl_Table::TYPE_DATETIME
|
61 |
+
// ATM we're falling back to varchar for magento <= 1.5
|
62 |
+
$class = new ReflectionClass('Varien_Db_Ddl_Table');
|
63 |
+
if ($class->hasConstant('TYPE_DATETIME')) {
|
64 |
+
$datetime = Varien_Db_Ddl_Table::TYPE_DATETIME;
|
65 |
+
$datetimeIdentifier = NULL;
|
66 |
+
} else {
|
67 |
+
$datetime = Varien_Db_Ddl_Table::TYPE_VARCHAR;
|
68 |
+
$datetimeIdentifier = 25;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @var $installer Mage_Core_Model_Resource_Setup
|
73 |
+
*/
|
74 |
+
$installer = $this;
|
75 |
+
|
76 |
+
define('ELEFUNDS_VIRTUAL_PRODUCT_SKU', 'elefunds-donation');
|
77 |
+
|
78 |
+
/**
|
79 |
+
* @var int
|
80 |
+
*/
|
81 |
+
$donationProduct = Mage::getModel('catalog/product')->getIdBySku(ELEFUNDS_VIRTUAL_PRODUCT_SKU);
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Adding donationProduct to catalog/product if not already created
|
85 |
+
*/
|
86 |
+
if (!$donationProduct) {
|
87 |
+
Mage::app()->loadAreaPart(Mage_Core_Model_App_Area::AREA_GLOBAL, Mage_Core_Model_App_Area::PART_EVENTS);
|
88 |
+
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
|
89 |
+
Mage::app()->setUpdateMode(FALSE);
|
90 |
+
|
91 |
+
|
92 |
+
$websiteId = Mage::app()->getStore(TRUE)->getWebsiteId();
|
93 |
+
// In case the module gets installed with a brand new installation
|
94 |
+
// we assume a website id of 0
|
95 |
+
if (is_null($websiteId)) {
|
96 |
+
$websiteId = 0;
|
97 |
+
}
|
98 |
+
|
99 |
+
/** @var Mage_Catalog_Model_Product $donationProduct */
|
100 |
+
$donationProduct = Mage::getModel('catalog/product');
|
101 |
+
$donationProduct->setSku(ELEFUNDS_VIRTUAL_PRODUCT_SKU)
|
102 |
+
->setAttributeSetId(Mage::getModel('catalog/product')->getResource()->getEntityType()->getDefaultAttributeSetId())
|
103 |
+
->setTypeId(Mage_Catalog_Model_Product_Type::TYPE_VIRTUAL)
|
104 |
+
->setName('elefunds Donation')
|
105 |
+
->setDescription('An item that is used when donations are added as items')
|
106 |
+
->setShortDescription('An item that is used when donations are added as items')
|
107 |
+
->setPrice(0.00)
|
108 |
+
->setVisibility(Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE)
|
109 |
+
->setStatus(Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
|
110 |
+
->setTaxClassId(0)
|
111 |
+
->setCreatedAt(strtotime('now'))
|
112 |
+
->setWebsiteIds(array($websiteId, 1))
|
113 |
+
->setStockData(array(
|
114 |
+
'manage_stock' => 0,
|
115 |
+
'use_config_manage_stock'=> 0,
|
116 |
+
'is_in_stock' => 1
|
117 |
+
));
|
118 |
+
|
119 |
+
try {
|
120 |
+
$donationProduct->save();
|
121 |
+
} catch (Exception $exception){
|
122 |
+
Mage::logException($exception);
|
123 |
+
}
|
124 |
+
|
125 |
+
// This is separated, as we do not want the extension to break when images cannot be added.
|
126 |
+
// ATM it does not look like we need product images, but in case the use case arises (e.g.
|
127 |
+
// when some shop wants it on it's invoice: Here you go.
|
128 |
+
/*
|
129 |
+
try {
|
130 |
+
$skinPath = Mage::getBaseDir('skin') . DS . 'frontend' . DS . 'base ' . DS . 'default' . DS . 'images' . DS . 'lfnds_donation' . DS;
|
131 |
+
$fullImagePath = $skinPath . 'elefunds_item_main.png';
|
132 |
+
$fullSmallImagePath = $skinPath . 'elefunds_item_small.png';
|
133 |
+
$fullThumbnailPath = $skinPath . 'elefunds_item_thumbnail.png';
|
134 |
+
|
135 |
+
$donationProduct->addImageToMediaGallery ($fullImagePath, array ('image'), false, false);
|
136 |
+
$donationProduct->addImageToMediaGallery ($fullSmallImagePath, array ('small_image'), false, false);
|
137 |
+
$donationProduct->addImageToMediaGallery ($fullThumbnailPath, array ('thumbnail'), false, false);
|
138 |
+
$donationProduct->save();
|
139 |
+
} catch (Exception $exception) {
|
140 |
+
var_dump($exception); exit;
|
141 |
+
Mage::logException($exception);
|
142 |
+
}
|
143 |
+
*/
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* Creating table lfnds_donation_donation
|
148 |
+
*/
|
149 |
+
if (!$installer->tableExists('lfnds_donation_donation')) {
|
150 |
+
$donationTable = $installer->getConnection()
|
151 |
+
->newTable($installer->getTable('lfnds_donation_donation'))
|
152 |
+
->addColumn('donation_id', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL, array(
|
153 |
+
'unsigned' => TRUE,
|
154 |
+
'identity' => TRUE,
|
155 |
+
'nullable' => FALSE,
|
156 |
+
'primary' => TRUE,
|
157 |
+
), 'Donation ID')
|
158 |
+
->addColumn('foreign_id', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
|
159 |
+
'nullable' => FALSE,
|
160 |
+
), 'Store ID')
|
161 |
+
->addColumn('amount', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL, array(
|
162 |
+
'nullable' => TRUE,
|
163 |
+
), 'Amount')
|
164 |
+
->addColumn('suggested_amount', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL, array(
|
165 |
+
'nullable' => TRUE,
|
166 |
+
), 'Suggested Amount')
|
167 |
+
->addColumn('grand_total', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL, array(
|
168 |
+
'nullable' => TRUE,
|
169 |
+
), 'Suggested Amount')
|
170 |
+
->addColumn('receiver_ids', Varien_Db_Ddl_Table::TYPE_VARCHAR, 45, array(
|
171 |
+
'nullable' => TRUE,
|
172 |
+
), 'Receiver Ids')
|
173 |
+
->addColumn('available_receiver_ids', Varien_Db_Ddl_Table::TYPE_VARCHAR, 45, array(
|
174 |
+
'nullable' => TRUE,
|
175 |
+
), 'Available Receiver Ids')
|
176 |
+
->addColumn('time', $datetime, $datetimeIdentifier, array(
|
177 |
+
'nullable' => FALSE,
|
178 |
+
), 'Time')
|
179 |
+
->addColumn('donator_firstname', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
|
180 |
+
'nullable' => TRUE,
|
181 |
+
), 'Donator Firstname')
|
182 |
+
->addColumn('donator_lastname', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
|
183 |
+
'nullable' => TRUE,
|
184 |
+
), 'Donator Lastname')
|
185 |
+
->addColumn('donator_zip', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL, array(
|
186 |
+
'nullable' => TRUE,
|
187 |
+
), 'Donator ZIP Code')
|
188 |
+
->addColumn('donator_city', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
|
189 |
+
'nullable' => TRUE,
|
190 |
+
), 'Donator Citry')
|
191 |
+
->addColumn('donator_countrycode', Varien_Db_Ddl_Table::TYPE_VARCHAR, 2, array(
|
192 |
+
'nullable' => TRUE,
|
193 |
+
), 'Donator Countrycode')
|
194 |
+
->addColumn('state', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL, array(
|
195 |
+
'nullable' => FALSE,
|
196 |
+
), 'The donation state');
|
197 |
+
|
198 |
+
$installer->getConnection()->createTable($donationTable);
|
199 |
+
}
|
200 |
+
|
201 |
+
/**
|
202 |
+
* Creating Table lfnds_donation_receiver
|
203 |
+
*/
|
204 |
+
if (!$installer->tableExists('lfnds_donation_receiver')) {
|
205 |
+
$receiverTable = $installer->getConnection()
|
206 |
+
->newTable($installer->getTable('lfnds_donation_receiver'))
|
207 |
+
->addColumn('internal_identifier', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL, array(
|
208 |
+
'unsigned' => FALSE,
|
209 |
+
'identity' => TRUE,
|
210 |
+
'nullable' => FALSE,
|
211 |
+
'primary' => TRUE,
|
212 |
+
), 'Internal Identifier for magento')
|
213 |
+
->addColumn('receiver_id', Varien_Db_Ddl_Table::TYPE_INTEGER, NULL, array(
|
214 |
+
'unsigned' => FALSE,
|
215 |
+
'nullable' => FALSE,
|
216 |
+
), 'Receiver ID')
|
217 |
+
->addColumn('name', Varien_Db_Ddl_Table::TYPE_VARCHAR, 45, array(
|
218 |
+
'nullable' => TRUE,
|
219 |
+
), 'Receiver ID')
|
220 |
+
->addColumn('countrycode', Varien_Db_Ddl_Table::TYPE_VARCHAR, 5, array(
|
221 |
+
'nullable' => TRUE,
|
222 |
+
), 'Country Code')
|
223 |
+
->addColumn('description', Varien_Db_Ddl_Table::TYPE_VARCHAR, 200, array(
|
224 |
+
'nullable' => TRUE,
|
225 |
+
), 'Description')
|
226 |
+
->addColumn('image', Varien_Db_Ddl_Table::TYPE_LONGVARCHAR, NULL, array(
|
227 |
+
'nullable' => TRUE,
|
228 |
+
), 'Image URL')
|
229 |
+
->addColumn('valid', $datetime, $datetimeIdentifier, array(
|
230 |
+
'nullable' => FALSE,
|
231 |
+
), 'Valid');
|
232 |
+
|
233 |
+
$installer->getConnection()->createTable($receiverTable);
|
234 |
+
}
|
235 |
+
|
236 |
+
/**
|
237 |
+
* Post database fixes
|
238 |
+
*
|
239 |
+
* @deprecated
|
240 |
+
*/
|
241 |
+
$version = Mage::getVersionInfo();
|
242 |
+
|
243 |
+
// For 1.5 or lower
|
244 |
+
if ($version['major'] === '1' && in_array($version['minor'], array('4', '5'))) {
|
245 |
+
$installer->getConnection()->query('ALTER TABLE lfnds_donation_receiver MODIFY internal_identifier INTEGER NOT NULL AUTO_INCREMENT');
|
246 |
+
$installer->getConnection()->query('ALTER TABLE lfnds_donation_donation MODIFY donation_id INTEGER NOT NULL AUTO_INCREMENT');
|
247 |
+
}
|
app/design/frontend/base/default/layout/lfnds_donation.xml
ADDED
@@ -0,0 +1,67 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
Defines when to call specific Blocks (from Block/..)
|
4 |
+
-->
|
5 |
+
<layout version="0.1.0">
|
6 |
+
<checkout_onepage_index>
|
7 |
+
<reference name="head">
|
8 |
+
<action method="addItem"><type>skin_css</type><name>css/lfnds_donation/additional/elefunds_magento_additional.css</name></action>
|
9 |
+
<block type="lfnds_donation/page_head" name="elefunds.head"/>
|
10 |
+
<action method="addItem"><type>skin_js</type><name>js/lfnds_donation/additional/elefunds_magento_onepage_additional.js</name></action>
|
11 |
+
</reference>
|
12 |
+
</checkout_onepage_index>
|
13 |
+
|
14 |
+
<checkout_onepage_review>
|
15 |
+
<reference name="checkout.onepage.review.info.items.before">
|
16 |
+
<block type="lfnds_donation/checkout_banner" name="checkout.onepage.elefunds.banner_before" as="elefunds.banner_before" template="lfnds/donation/checkout/onepage/review/donation_banner_before.phtml" />
|
17 |
+
</reference>
|
18 |
+
<reference name="checkout.onepage.review.info.items.after">
|
19 |
+
<block type="lfnds_donation/checkout_banner" name="checkout.onepage.elefunds.banner_after" as="elefunds.banner_after" template="lfnds/donation/checkout/onepage/review/donation_banner_after.phtml" />
|
20 |
+
</reference>
|
21 |
+
</checkout_onepage_review>
|
22 |
+
|
23 |
+
<checkout_onepage_success>
|
24 |
+
<!-- head was added by code, so it will be loaded only if a donation was done! -->
|
25 |
+
<reference name="content">
|
26 |
+
<block type="lfnds_donation/checkout_socialmedia" name="checkout.onepage.sucess.socialmedia" after="checkout.success" as="elefunds.socialmedia" template="lfnds/donation/checkout/onepage/socialmedia.phtml" />
|
27 |
+
</reference>
|
28 |
+
</checkout_onepage_success>
|
29 |
+
|
30 |
+
<!-- +++ One step checkout implementation +++ -->
|
31 |
+
<onestepcheckout_index_index>
|
32 |
+
<reference name="head">
|
33 |
+
<action method="addItem"><type>skin_css</type><name>css/lfnds_donation/additional/elefunds_magento_onestep_additional.css</name></action>
|
34 |
+
<block type="lfnds_donation/page_head" name="elefunds.head"/>
|
35 |
+
</reference>
|
36 |
+
<reference name="content">
|
37 |
+
<block type="lfnds_donation/checkout_banner" name="checkout.onepage.elefunds.banner" as="elefunds.banner" after="onestepcheckout.billing.address" template="lfnds/donation/checkout/onepage/review/donation_banner.phtml" />
|
38 |
+
</reference>
|
39 |
+
</onestepcheckout_index_index>
|
40 |
+
<!-- ^^^ One step checkout implementation ^^^ -->
|
41 |
+
|
42 |
+
<!-- +++ Elefunds billing changes +++ -->
|
43 |
+
<sales_email_order_items>
|
44 |
+
<reference name="additional.product.info">
|
45 |
+
<block type="lfnds_donation/sales_order_email" name="donation.description" template="lfnds/donation/mail/description.phtml"/>
|
46 |
+
</reference>
|
47 |
+
</sales_email_order_items>
|
48 |
+
|
49 |
+
<sales_email_order_invoice_items>
|
50 |
+
<reference name="additional.product.info">
|
51 |
+
<block type="core/template" name="donation.description" template="lfnds/donation/mail/description.phtml"/>
|
52 |
+
</reference>
|
53 |
+
</sales_email_order_invoice_items>
|
54 |
+
|
55 |
+
<sales_email_order_shipment_items>
|
56 |
+
<reference name="additional.product.info">
|
57 |
+
<block type="core/template" name="donation.description" template="lfnds/donation/mail/description.phtml"/>
|
58 |
+
</reference>
|
59 |
+
</sales_email_order_shipment_items>
|
60 |
+
|
61 |
+
<sales_email_order_creditmemo_items>
|
62 |
+
<reference name="additional.product.info">
|
63 |
+
<block type="core/template" name="donation.description" template="lfnds/donation/mail/description.phtml"/>
|
64 |
+
</reference>
|
65 |
+
</sales_email_order_creditmemo_items>
|
66 |
+
<!-- ^^^ Elefunds billing changes ^^^ -->
|
67 |
+
</layout>
|
app/design/frontend/base/default/template/lfnds/donation/checkout/onepage/review/donation_banner.phtml
ADDED
@@ -0,0 +1,63 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
$html = $this->getApiTemplate();
|
3 |
+
if (!empty($html)):
|
4 |
+
$html = '<div id="elefunds-form">' . $html . '</div>';
|
5 |
+
echo $html;
|
6 |
+
?>
|
7 |
+
<script type="text/javascript">
|
8 |
+
//<![CDATA[
|
9 |
+
|
10 |
+
// Review is only defined in one page checkout
|
11 |
+
if (typeof Review !== 'undefined') {
|
12 |
+
|
13 |
+
/*
|
14 |
+
* One page checkout specific JS
|
15 |
+
*/
|
16 |
+
|
17 |
+
var ElefundsForm = Class.create();
|
18 |
+
ElefundsForm.prototype = {
|
19 |
+
initialize: function(form) {
|
20 |
+
this.form = form;
|
21 |
+
}
|
22 |
+
}
|
23 |
+
|
24 |
+
eleForm = new ElefundsForm($('elefunds-form'));
|
25 |
+
|
26 |
+
Review.prototype.save = function(){
|
27 |
+
if (checkout.loadWaiting!=false) return;
|
28 |
+
checkout.setLoadWaiting('review');
|
29 |
+
var params = Form.serialize(payment.form);
|
30 |
+
if (this.agreementsForm) {
|
31 |
+
params += '&'+Form.serialize(this.agreementsForm);
|
32 |
+
}
|
33 |
+
if (eleForm.form) {
|
34 |
+
params += '&'+Form.serialize(eleForm.form);
|
35 |
+
}
|
36 |
+
|
37 |
+
params.save = true;
|
38 |
+
var request = new Ajax.Request(
|
39 |
+
this.saveUrl,
|
40 |
+
{
|
41 |
+
method:'post',
|
42 |
+
parameters:params,
|
43 |
+
onComplete: this.onComplete,
|
44 |
+
onSuccess: this.onSave,
|
45 |
+
onFailure: checkout.ajaxFailure.bind(checkout)
|
46 |
+
}
|
47 |
+
);
|
48 |
+
};
|
49 |
+
} else {
|
50 |
+
|
51 |
+
/*
|
52 |
+
* One step checkout specific JS
|
53 |
+
*/
|
54 |
+
var elefunds = elefunds || {};
|
55 |
+
elefunds.excludedPaymentMethods = [ <?php implode(',', $this->getExcludedPaymentMethods()) ?> ];
|
56 |
+
|
57 |
+
}
|
58 |
+
//]]>
|
59 |
+
</script>
|
60 |
+
<?php
|
61 |
+
endif;
|
62 |
+
?>
|
63 |
+
|
app/design/frontend/base/default/template/lfnds/donation/checkout/onepage/review/donation_banner_after.phtml
ADDED
@@ -0,0 +1,4 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
if ($this->getPosition() === 'bottom') {
|
3 |
+
include(dirname(__FILE__) . '/donation_banner.phtml');
|
4 |
+
}
|
app/design/frontend/base/default/template/lfnds/donation/checkout/onepage/review/donation_banner_before.phtml
ADDED
@@ -0,0 +1,4 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
if ($this->getPosition() === 'top') {
|
3 |
+
include(dirname(__FILE__) . '/donation_banner.phtml');
|
4 |
+
}
|
app/design/frontend/base/default/template/lfnds/donation/checkout/onepage/socialmedia.phtml
ADDED
@@ -0,0 +1,13 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php if ($this->existDonation()): ?>
|
2 |
+
<div id="elefunds-sucess-div" style="display:none">
|
3 |
+
<?php echo $this->renderSocialMedia(); ?>
|
4 |
+
</div>
|
5 |
+
|
6 |
+
<script type="text/javascript">
|
7 |
+
var subtitle = $$(".sub-title");
|
8 |
+
var elefunddiv = $('elefunds-sucess-div');
|
9 |
+
|
10 |
+
subtitle[0].insert({'after': elefunddiv});
|
11 |
+
elefunddiv.show();
|
12 |
+
</script>
|
13 |
+
<?php endif; ?>
|
app/design/frontend/base/default/template/lfnds/donation/mail/description.phtml
ADDED
@@ -0,0 +1,2 @@
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
echo $this->__('Your donation is processed by the elefunds Foundation gUG which forwards 100% to your chosen charities.');
|
app/design/frontend/base/default/template/lfnds/donation/page/html/head.phtml
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
<?php
|
app/etc/modules/Lfnds_Donation.xml
ADDED
@@ -0,0 +1,11 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0" ?>
|
2 |
+
<!-- Shows the Elefunds module in the module list,
|
3 |
+
configure basic module-options -->
|
4 |
+
<config>
|
5 |
+
<modules>
|
6 |
+
<Lfnds_Donation>
|
7 |
+
<active>true</active>
|
8 |
+
<codePool>community</codePool>
|
9 |
+
</Lfnds_Donation>
|
10 |
+
</modules>
|
11 |
+
</config>
|
app/locale/de_DE/Lfnds_Donation.csv
ADDED
@@ -0,0 +1,21 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
"Your donation is processed by the elefunds Foundation gUG which forwards 100% to your chosen charities.","Die Spende wird vereinnahmt für die elefunds Stiftung gUG und zu 100% an die ausgewählten Organisationen weitergeleitet. Der Kaufbeleg ersetzt keine Spendenbescheinigung im Sinne des Steuerrechts."
|
2 |
+
"Activate / deactivate the elefunds module.", "Aktiviert oder deaktiviert das elefunds Modul."
|
3 |
+
"Client ID", "Kundennummer"
|
4 |
+
"API Key", "API Schlüssel"
|
5 |
+
"Theme", "Thema"
|
6 |
+
"Select a base theme for the elefunds donation module.", "Wählen Sie ein Thema für das elefunds Modul aus."
|
7 |
+
"Color", "Farbe"
|
8 |
+
"Select a color for the elefunds donation module.", "Wählen Sie eine Farbe für das elefunds Modul aus."
|
9 |
+
"Banner width", "Modul Breite"
|
10 |
+
"The modul width in pixel. Adjust this number if the modul does not fit perfectly in your checkout.", "Die Modulbreite in Pixel. Bitte passen Sie diese Nummer an, falls das elefunds Modul nicht perfekt in Ihren Checkout passt."
|
11 |
+
"Include jQuery", "jQuery einbinden"
|
12 |
+
"Load jQuery in the frontend, if it's not already loaded.", "Falls Ihr Frontend jQuery bereits benutzt, können Sie das Laden von jQuery deaktivieren."
|
13 |
+
"Excluded payment methods", "Ausgeschlossene Zahlungsmöglichkeiten"
|
14 |
+
"Elefunds won't be displayed in the selected payment methods.", "Elefunds wird bei den ausgewählten Zahlungsmöglichkeiten nicht angezeigt."
|
15 |
+
"Welcome to elefunds!","<br /><div class='box'><h2>Herzlich Willkommen,</h2><br /><p>Um das Plugin aktivieren und in Betrieb nehmen zu können, müssen Sie Ihre Anmeldung abschließen:</p><br /><p><a target='_blank' href='https://elefunds.de/produkt/anmeldung'>Zur Anmeldung</a></p><br /><p>Gleich kann es losgehen!</p><br /><p><b>Vielen Dank für Ihr Engagement.</b></p><br /><p>Hinweis für Entwickler und Administratoren:</p><br /><p>Wenn Sie das Plugin unverbindlich in einem Demoshop testen möchten, schauen Sie doch in unsere <a href='http://elefunds.github.com/elefunds-SDK'>Software Dokumentation</a>. In unserem <a href='https://github.com/elefunds/elefunds-SDK/blob/master/Documentation/GettingStarted.md#prerequisites'>Getting Started Guide</a> finden Sie Zugangsdaten, die Sie zu Testzwecken nutzen könnten.</p></div>"
|
16 |
+
"Uses one step checkout?", "One Step Checkout installiert?"
|
17 |
+
"Set to yes, if your shop uses the module from onestepcheckout.com.", "Aktivieren Sie diese Option, wenn Sie das Modul von onestepcheckout.com installiert haben und nutzen."
|
18 |
+
"Banner position", "Banner Position"
|
19 |
+
"Choose where to position the module relative to the article listing.", "Bestimmen Sie die Position des Moduls relativ zur Artikelzusammenfassung."
|
20 |
+
"Top", "Oberhalb"
|
21 |
+
"Bottom", "Unterhalb"
|
app/locale/en_US/Lfnds_Donation.csv
ADDED
@@ -0,0 +1,2 @@
|
|
Â
|
|
Â
|
1 |
+
"Your donation is processed by the elefunds Foundation gUG which forwards 100% to your chosen charities.","Your donation is processed by the elefunds Foundation gUG which forwards 100% to your chosen charities."
|
2 |
+
"Welcome to elefunds!", "<br /><div class='box'><h2>Welcome.</h2><br /><p>To activate the plugin, please register your shop here:</p><br /><p><a target='_blank' href='https://elefunds.de/produkt/anmeldung'>Register</a></p><br /><p><b>We appreciate your corporate responsibility!</b></p><br /><p>If you would like to test the module in your demo shop, you can find sample login credentials in our <a href='https://github.com/elefunds/elefunds-SDK/blob/master/Documentation/GettingStarted.md#prerequisites'>Getting Started Guide</a>.</p>"
|
lib/Elefunds/Communication/CurlRequest.php
ADDED
@@ -0,0 +1,202 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once 'RestInterface.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Curl Request
|
44 |
+
*
|
45 |
+
* Connects to the elefunds API via curl.
|
46 |
+
*
|
47 |
+
* Type validation is performed, but valid semantic input is forwarded to the API or curl itself.
|
48 |
+
*
|
49 |
+
* @package elefunds API PHP Library
|
50 |
+
* @subpackage Communication
|
51 |
+
* @author Christian Peters <christian@elefunds.de>
|
52 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
53 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
54 |
+
* @link http://www.elefunds.de
|
55 |
+
* @since File available since Release 1.0.0
|
56 |
+
*/
|
57 |
+
class Elefunds_Communication_CurlRequest implements Elefunds_Communication_RestInterface {
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @var resource
|
61 |
+
*/
|
62 |
+
protected $curl;
|
63 |
+
|
64 |
+
/**
|
65 |
+
* @var array
|
66 |
+
*/
|
67 |
+
protected $curlOptions;
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Initializes curl - if the extension is installed.
|
71 |
+
*
|
72 |
+
* @throws Elefunds_Exception_ElefundsException if curl is not installed
|
73 |
+
*/
|
74 |
+
public function __construct() {
|
75 |
+
if (!extension_loaded('curl')) {
|
76 |
+
throw new Elefunds_Exception_ElefundsException(
|
77 |
+
'You are using the curl request method without having curl installed on your server.
|
78 |
+
Your options are to either use another implementation of the RestInterface or to install curl.',
|
79 |
+
1347875278);
|
80 |
+
}
|
81 |
+
|
82 |
+
$this->curl = curl_init();
|
83 |
+
$this->curlOptions = array();
|
84 |
+
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Performs a GET Request against a given URL.
|
89 |
+
*
|
90 |
+
* @param string $restUrl with fully qualified resource path
|
91 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
92 |
+
* @return string the server response as JSON
|
93 |
+
*/
|
94 |
+
public function get($restUrl) {
|
95 |
+
$this->curlOptions[CURLOPT_CUSTOMREQUEST] = 'GET';
|
96 |
+
$this->curlOptions[CURLOPT_URL] = (string)$restUrl;
|
97 |
+
|
98 |
+
return $this->performRequest();
|
99 |
+
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Performs a POST Request against a given URL.
|
104 |
+
*
|
105 |
+
* @param string $restUrl with fully qualified resource path
|
106 |
+
* @param string $body the JSON body
|
107 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
108 |
+
* @return string the server response as JSON
|
109 |
+
*/
|
110 |
+
public function post($restUrl, $body) {
|
111 |
+
|
112 |
+
$this->curlOptions[CURLOPT_CUSTOMREQUEST] = 'POST';
|
113 |
+
$this->curlOptions[CURLOPT_POSTFIELDS] = (string)$body;
|
114 |
+
$this->curlOptions[CURLOPT_URL] = (string)$restUrl;
|
115 |
+
$this->curlOptions[CURLOPT_HTTPHEADER] = array('Content-Type: application/json');
|
116 |
+
|
117 |
+
return $this->performRequest();
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Performs a DELETE Request against a given URL.
|
122 |
+
*
|
123 |
+
* @param string $restUrl with fully qualified resource path
|
124 |
+
* @param string $body the JSON body
|
125 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
126 |
+
* @return string the server response as JSON
|
127 |
+
*/
|
128 |
+
public function put($restUrl, $body = '') {
|
129 |
+
|
130 |
+
$this->curlOptions[CURLOPT_CUSTOMREQUEST] = 'PUT';
|
131 |
+
$this->curlOptions[CURLOPT_URL] = (string)$restUrl;
|
132 |
+
|
133 |
+
if (strlen($body) > 0) {
|
134 |
+
$this->curlOptions[CURLOPT_POSTFIELDS] = (string)$body;
|
135 |
+
$this->curlOptions[CURLOPT_HTTPHEADER] = array('Content-Type: application/json');
|
136 |
+
}
|
137 |
+
|
138 |
+
return $this->performRequest();
|
139 |
+
}
|
140 |
+
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Performs a DELETE Request against a given URL.
|
144 |
+
*
|
145 |
+
* @param string $restUrl with fully qualified resource path
|
146 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
147 |
+
* @return string the server response as JSON
|
148 |
+
*/
|
149 |
+
public function delete($restUrl) {
|
150 |
+
$this->curlOptions[CURLOPT_CUSTOMREQUEST] = 'DELETE';
|
151 |
+
$this->curlOptions[CURLOPT_URL] = (string)$restUrl;
|
152 |
+
|
153 |
+
return $this->performRequest();
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Performs the actual curl request.
|
158 |
+
*
|
159 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
160 |
+
* @return string the server response as JSON
|
161 |
+
*/
|
162 |
+
protected function performRequest() {
|
163 |
+
$this->curlOptions[CURLOPT_RETURNTRANSFER] = TRUE;
|
164 |
+
$this->curlOptions[CURLOPT_USERAGENT] = 'elefunds-php-1.1';
|
165 |
+
$this->curlOptions[CURLOPT_CAINFO] = dirname(__FILE__) . '/certificate/GandiProSSLCA.pem';
|
166 |
+
|
167 |
+
curl_setopt_array($this->curl, $this->curlOptions);
|
168 |
+
|
169 |
+
$serverResponse = curl_exec($this->curl);
|
170 |
+
|
171 |
+
if ($serverResponse === FALSE) {
|
172 |
+
|
173 |
+
throw new Elefunds_Exception_ElefundsCommunicationException(
|
174 |
+
'Unable to connect to the elefunds API',
|
175 |
+
1347878604,
|
176 |
+
array(
|
177 |
+
'curlErrorCode' => curl_errno($this->curl),
|
178 |
+
'curlErrorMessage' => curl_error($this->curl)
|
179 |
+
)
|
180 |
+
);
|
181 |
+
}
|
182 |
+
|
183 |
+
$httpResponseCode = curl_getinfo($this->curl, CURLINFO_HTTP_CODE);
|
184 |
+
|
185 |
+
if ($httpResponseCode !== 200) {
|
186 |
+
throw new Elefunds_Exception_ElefundsCommunicationException(
|
187 |
+
'An error occurred during the api call. Refer to additionalInformation of this exception for more details.',
|
188 |
+
1347899756668,
|
189 |
+
array(
|
190 |
+
'httpCode' => $httpResponseCode,
|
191 |
+
'serverResponse' => (string)$serverResponse
|
192 |
+
)
|
193 |
+
);
|
194 |
+
}
|
195 |
+
|
196 |
+
// Reset options
|
197 |
+
$this->curlOptions = array();
|
198 |
+
|
199 |
+
return $serverResponse;
|
200 |
+
}
|
201 |
+
|
202 |
+
}
|
lib/Elefunds/Communication/RestInterface.php
ADDED
@@ -0,0 +1,97 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../Exception/ElefundsCommunicationException.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Rest Interface
|
44 |
+
*
|
45 |
+
* By default, the API uses the CurlRequest implementation of this interface.
|
46 |
+
* If you are not able (or not want to) use curl, use this interface for your request method.
|
47 |
+
*
|
48 |
+
* @package elefunds API PHP Library
|
49 |
+
* @subpackage Communication
|
50 |
+
* @author Christian Peters <christian@elefunds.de>
|
51 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
52 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
53 |
+
* @link http://www.elefunds.de
|
54 |
+
* @since File available since Release 1.0.0
|
55 |
+
*/
|
56 |
+
interface Elefunds_Communication_RestInterface {
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Performs a GET Request against a given URL.
|
60 |
+
*
|
61 |
+
* @param string $restUrl with fully qualified resource path
|
62 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
63 |
+
* @return string the server response as JSON
|
64 |
+
*/
|
65 |
+
public function get($restUrl);
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Performs a POST Request against a given URL.
|
69 |
+
*
|
70 |
+
* @param string $restUrl with fully qualified resource path
|
71 |
+
* @param string $body the JSON body
|
72 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
73 |
+
* @return string the server response as JSON
|
74 |
+
*/
|
75 |
+
public function post($restUrl, $body);
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Performs a PUT Request against a given URL.
|
79 |
+
*
|
80 |
+
* @param string $restUrl with fully qualified resource path
|
81 |
+
* @param string $body the JSON body
|
82 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
83 |
+
* @return string the server response as JSON
|
84 |
+
*/
|
85 |
+
public function put($restUrl, $body = '');
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Performs a DELETE Request against a given URL.
|
89 |
+
*
|
90 |
+
* @param string $restUrl with fully qualified resource path
|
91 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
92 |
+
* @return string the server response as JSON
|
93 |
+
*/
|
94 |
+
public function delete($restUrl);
|
95 |
+
|
96 |
+
|
97 |
+
}
|
lib/Elefunds/Communication/certificate/GandiProSSLCA.pem
ADDED
@@ -0,0 +1,3923 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
-----BEGIN CERTIFICATE-----
|
2 |
+
MIIEnjCCA4agAwIBAgIQPBkQvAZ54yVvTfQWo16zFDANBgkqhkiG9w0BAQUFADCB
|
3 |
+
lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
|
4 |
+
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
|
5 |
+
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
|
6 |
+
SGFyZHdhcmUwHhcNMDgxMDIzMDAwMDAwWhcNMjAwNTMwMTA0ODM4WjA8MQswCQYD
|
7 |
+
VQQGEwJGUjESMBAGA1UEChMJR0FOREkgU0FTMRkwFwYDVQQDExBHYW5kaSBQcm8g
|
8 |
+
U1NMIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw5nFDd2ffWY4
|
9 |
+
OxZxUVj2uQ49ms1N68h471Kq5j3R9OkVJYwObJqozTZvnlcmJ/QG5lZY9+RXDNyU
|
10 |
+
V1EKVL92l4vHkngDhhTQaoIB0sNeJMdnCzzjebnmN3VTbSTniQhYEZPg1554Zo+2
|
11 |
+
U39kHBCPKZbwNk11EP4f7U7goyatkNJl0b28zEjbfGvJbPNE6vfaiBfM06spAHft
|
12 |
+
gJbCC2lzmv9L5R+KlixFFk3P8IkZInLnrGZ6iP0XIckVI8ENoMxu0SXb5JnfF8OS
|
13 |
+
QKdqBZKFBMbNJCCBQjXiv50hQEvVTX/INrqoMUfOVV1OT2HmuhPEBdoU0tU75mwm
|
14 |
+
VArKuQAdwwIDAQABo4IBPjCCATowHwYDVR0jBBgwFoAUoXJfJhsomEOVXQc31YWW
|
15 |
+
nUvSw0UwHQYDVR0OBBYEFMGxMoDxE5IUL21nMJIYqnw5VRQ+MA4GA1UdDwEB/wQE
|
16 |
+
AwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMBgGA1UdIAQRMA8wDQYLKwYBBAGyMQEC
|
17 |
+
AhowRAYDVR0fBD0wOzA5oDegNYYzaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VU
|
18 |
+
Ti1VU0VSRmlyc3QtSGFyZHdhcmUuY3JsMHQGCCsGAQUFBwEBBGgwZjA9BggrBgEF
|
19 |
+
BQcwAoYxaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VUTkFkZFRydXN0U2VydmVy
|
20 |
+
X0NBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0LmNvbTAN
|
21 |
+
BgkqhkiG9w0BAQUFAAOCAQEAjSvVDlj6cT/RDFCrOvqpd1gZD7rzKzDGpfi3IciU
|
22 |
+
cjatYny806bAaAxRqL56e3O4rRMr+Jw1sHGpcqfKkm3YBW0CyJAum4vI07lYjZpn
|
23 |
+
9ihcWeatDX4gp/6Pm862lGITpB6TLriX1G7EYdnjOudIajawz64vnyTdvzmC18BV
|
24 |
+
+wC3A9f57mnqzm5SghMSeGlF78y9vPUXWPfBx9JY4Ga/r+U59djQrgbKY93sgyXD
|
25 |
+
3LS+K6NqGCKt58LcXQq75/e0OnHoJ3tiPMiB1IuYoIRCXevitc1ynVyP/m5wuZqB
|
26 |
+
wHHiX3Eo2RFMBCfSE7mSUoSwgHWtp1tHh0IvL8H7dmKjZQ==
|
27 |
+
-----END CERTIFICATE-----
|
28 |
+
|
29 |
+
##
|
30 |
+
## ca-bundle.crt -- Bundle of CA Root Certificates
|
31 |
+
##
|
32 |
+
## Certificate data from Mozilla as of: Sat Dec 29 20:03:40 2012
|
33 |
+
##
|
34 |
+
## This is a bundle of X.509 certificates of public Certificate Authorities
|
35 |
+
## (CA). These were automatically extracted from Mozilla's root certificates
|
36 |
+
## file (certdata.txt). This file can be found in the mozilla source tree:
|
37 |
+
## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1
|
38 |
+
##
|
39 |
+
## It contains the certificates in PEM format and therefore
|
40 |
+
## can be directly used with curl / libcurl / php_curl, or with
|
41 |
+
## an Apache+mod_ssl webserver for SSL client authentication.
|
42 |
+
## Just configure this file as the SSLCACertificateFile.
|
43 |
+
##
|
44 |
+
|
45 |
+
# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.87 $ $Date: 2012/12/29 16:32:45 $
|
46 |
+
|
47 |
+
GTE CyberTrust Global Root
|
48 |
+
==========================
|
49 |
+
-----BEGIN CERTIFICATE-----
|
50 |
+
MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg
|
51 |
+
Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG
|
52 |
+
A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz
|
53 |
+
MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL
|
54 |
+
Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0
|
55 |
+
IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u
|
56 |
+
sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql
|
57 |
+
HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID
|
58 |
+
AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW
|
59 |
+
M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF
|
60 |
+
NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/
|
61 |
+
-----END CERTIFICATE-----
|
62 |
+
|
63 |
+
Thawte Server CA
|
64 |
+
================
|
65 |
+
-----BEGIN CERTIFICATE-----
|
66 |
+
MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT
|
67 |
+
DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
|
68 |
+
dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE
|
69 |
+
AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j
|
70 |
+
b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV
|
71 |
+
BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u
|
72 |
+
c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG
|
73 |
+
A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0
|
74 |
+
ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl
|
75 |
+
/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7
|
76 |
+
1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR
|
77 |
+
MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J
|
78 |
+
GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ
|
79 |
+
GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc=
|
80 |
+
-----END CERTIFICATE-----
|
81 |
+
|
82 |
+
Thawte Premium Server CA
|
83 |
+
========================
|
84 |
+
-----BEGIN CERTIFICATE-----
|
85 |
+
MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT
|
86 |
+
DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs
|
87 |
+
dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE
|
88 |
+
AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl
|
89 |
+
ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT
|
90 |
+
AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU
|
91 |
+
VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2
|
92 |
+
aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ
|
93 |
+
cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2
|
94 |
+
aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh
|
95 |
+
Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/
|
96 |
+
qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm
|
97 |
+
SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf
|
98 |
+
8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t
|
99 |
+
UCemDaYj+bvLpgcUQg==
|
100 |
+
-----END CERTIFICATE-----
|
101 |
+
|
102 |
+
Equifax Secure CA
|
103 |
+
=================
|
104 |
+
-----BEGIN CERTIFICATE-----
|
105 |
+
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
|
106 |
+
ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
|
107 |
+
MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
|
108 |
+
B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
|
109 |
+
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
|
110 |
+
fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
|
111 |
+
8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
|
112 |
+
A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
|
113 |
+
CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
|
114 |
+
A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
|
115 |
+
spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
|
116 |
+
Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
|
117 |
+
zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
|
118 |
+
BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
|
119 |
+
70+sB3c4
|
120 |
+
-----END CERTIFICATE-----
|
121 |
+
|
122 |
+
Digital Signature Trust Co. Global CA 1
|
123 |
+
=======================================
|
124 |
+
-----BEGIN CERTIFICATE-----
|
125 |
+
MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
|
126 |
+
ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy
|
127 |
+
MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
|
128 |
+
IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA
|
129 |
+
A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE
|
130 |
+
NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i
|
131 |
+
o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
|
132 |
+
BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
|
133 |
+
dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
|
134 |
+
IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY
|
135 |
+
MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM
|
136 |
+
BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
|
137 |
+
ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq
|
138 |
+
kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4
|
139 |
+
RbyhkwS7hp86W0N6w4pl
|
140 |
+
-----END CERTIFICATE-----
|
141 |
+
|
142 |
+
Digital Signature Trust Co. Global CA 3
|
143 |
+
=======================================
|
144 |
+
-----BEGIN CERTIFICATE-----
|
145 |
+
MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE
|
146 |
+
ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy
|
147 |
+
MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs
|
148 |
+
IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA
|
149 |
+
A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD
|
150 |
+
VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS
|
151 |
+
xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo
|
152 |
+
BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0
|
153 |
+
dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw
|
154 |
+
IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY
|
155 |
+
MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM
|
156 |
+
BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB
|
157 |
+
AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi
|
158 |
+
up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1
|
159 |
+
mPnHfxsb1gYgAlihw6ID
|
160 |
+
-----END CERTIFICATE-----
|
161 |
+
|
162 |
+
Verisign Class 3 Public Primary Certification Authority
|
163 |
+
=======================================================
|
164 |
+
-----BEGIN CERTIFICATE-----
|
165 |
+
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx
|
166 |
+
FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
|
167 |
+
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow
|
168 |
+
XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
|
169 |
+
IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
|
170 |
+
A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
|
171 |
+
f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
|
172 |
+
hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA
|
173 |
+
TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah
|
174 |
+
WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf
|
175 |
+
Tqj/ZA1k
|
176 |
+
-----END CERTIFICATE-----
|
177 |
+
|
178 |
+
Verisign Class 1 Public Primary Certification Authority - G2
|
179 |
+
============================================================
|
180 |
+
-----BEGIN CERTIFICATE-----
|
181 |
+
MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
|
182 |
+
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
|
183 |
+
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
|
184 |
+
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
|
185 |
+
dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
|
186 |
+
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy
|
187 |
+
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
|
188 |
+
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
|
189 |
+
dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd
|
190 |
+
k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq
|
191 |
+
WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB
|
192 |
+
MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM
|
193 |
+
XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC
|
194 |
+
lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ
|
195 |
+
-----END CERTIFICATE-----
|
196 |
+
|
197 |
+
Verisign Class 2 Public Primary Certification Authority - G2
|
198 |
+
============================================================
|
199 |
+
-----BEGIN CERTIFICATE-----
|
200 |
+
MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV
|
201 |
+
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
|
202 |
+
cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
|
203 |
+
Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
|
204 |
+
c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV
|
205 |
+
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h
|
206 |
+
cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp
|
207 |
+
Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
|
208 |
+
c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx
|
209 |
+
nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC
|
210 |
+
wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA
|
211 |
+
ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK
|
212 |
+
1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk
|
213 |
+
LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg==
|
214 |
+
-----END CERTIFICATE-----
|
215 |
+
|
216 |
+
Verisign Class 3 Public Primary Certification Authority - G2
|
217 |
+
============================================================
|
218 |
+
-----BEGIN CERTIFICATE-----
|
219 |
+
MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT
|
220 |
+
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
|
221 |
+
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
|
222 |
+
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
|
223 |
+
dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT
|
224 |
+
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy
|
225 |
+
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln
|
226 |
+
biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz
|
227 |
+
dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO
|
228 |
+
FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71
|
229 |
+
lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB
|
230 |
+
MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT
|
231 |
+
1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD
|
232 |
+
Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9
|
233 |
+
-----END CERTIFICATE-----
|
234 |
+
|
235 |
+
GlobalSign Root CA
|
236 |
+
==================
|
237 |
+
-----BEGIN CERTIFICATE-----
|
238 |
+
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
|
239 |
+
GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
|
240 |
+
b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
|
241 |
+
BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
|
242 |
+
VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
|
243 |
+
DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
|
244 |
+
THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
|
245 |
+
Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
|
246 |
+
c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
|
247 |
+
gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
|
248 |
+
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
|
249 |
+
AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
|
250 |
+
Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
|
251 |
+
j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
|
252 |
+
hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
|
253 |
+
X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
|
254 |
+
-----END CERTIFICATE-----
|
255 |
+
|
256 |
+
GlobalSign Root CA - R2
|
257 |
+
=======================
|
258 |
+
-----BEGIN CERTIFICATE-----
|
259 |
+
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv
|
260 |
+
YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
|
261 |
+
bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
|
262 |
+
aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
|
263 |
+
bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6
|
264 |
+
ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp
|
265 |
+
s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN
|
266 |
+
S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL
|
267 |
+
TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C
|
268 |
+
ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
|
269 |
+
FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i
|
270 |
+
YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN
|
271 |
+
BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
|
272 |
+
9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu
|
273 |
+
01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7
|
274 |
+
9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
|
275 |
+
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
|
276 |
+
-----END CERTIFICATE-----
|
277 |
+
|
278 |
+
ValiCert Class 1 VA
|
279 |
+
===================
|
280 |
+
-----BEGIN CERTIFICATE-----
|
281 |
+
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
|
282 |
+
b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
|
283 |
+
YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
|
284 |
+
bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy
|
285 |
+
MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
|
286 |
+
d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg
|
287 |
+
UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
|
288 |
+
LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
|
289 |
+
A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi
|
290 |
+
GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm
|
291 |
+
DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG
|
292 |
+
lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX
|
293 |
+
icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP
|
294 |
+
Orf1LXLI
|
295 |
+
-----END CERTIFICATE-----
|
296 |
+
|
297 |
+
ValiCert Class 2 VA
|
298 |
+
===================
|
299 |
+
-----BEGIN CERTIFICATE-----
|
300 |
+
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
|
301 |
+
b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
|
302 |
+
YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
|
303 |
+
bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
|
304 |
+
MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
|
305 |
+
d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg
|
306 |
+
UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
|
307 |
+
LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
|
308 |
+
A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC
|
309 |
+
CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf
|
310 |
+
ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ
|
311 |
+
SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV
|
312 |
+
UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8
|
313 |
+
W9ViH0Pd
|
314 |
+
-----END CERTIFICATE-----
|
315 |
+
|
316 |
+
RSA Root Certificate 1
|
317 |
+
======================
|
318 |
+
-----BEGIN CERTIFICATE-----
|
319 |
+
MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp
|
320 |
+
b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs
|
321 |
+
YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh
|
322 |
+
bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw
|
323 |
+
MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0
|
324 |
+
d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg
|
325 |
+
UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0
|
326 |
+
LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA
|
327 |
+
A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td
|
328 |
+
3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H
|
329 |
+
BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs
|
330 |
+
3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF
|
331 |
+
V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r
|
332 |
+
on+jjBXu
|
333 |
+
-----END CERTIFICATE-----
|
334 |
+
|
335 |
+
Verisign Class 1 Public Primary Certification Authority - G3
|
336 |
+
============================================================
|
337 |
+
-----BEGIN CERTIFICATE-----
|
338 |
+
MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
|
339 |
+
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
340 |
+
cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
341 |
+
IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
|
342 |
+
dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
|
343 |
+
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
|
344 |
+
dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
|
345 |
+
cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg
|
346 |
+
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
347 |
+
ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E
|
348 |
+
bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ
|
349 |
+
rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+
|
350 |
+
Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB
|
351 |
+
FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
|
352 |
+
q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N
|
353 |
+
y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3
|
354 |
+
ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h
|
355 |
+
a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc
|
356 |
+
D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g==
|
357 |
+
-----END CERTIFICATE-----
|
358 |
+
|
359 |
+
Verisign Class 2 Public Primary Certification Authority - G3
|
360 |
+
============================================================
|
361 |
+
-----BEGIN CERTIFICATE-----
|
362 |
+
MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT
|
363 |
+
MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y
|
364 |
+
azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug
|
365 |
+
b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0
|
366 |
+
aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ
|
367 |
+
BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1
|
368 |
+
c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y
|
369 |
+
aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD
|
370 |
+
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
371 |
+
AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6
|
372 |
+
tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7
|
373 |
+
C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS
|
374 |
+
0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs
|
375 |
+
Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0
|
376 |
+
JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf
|
377 |
+
0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU
|
378 |
+
sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx
|
379 |
+
JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j
|
380 |
+
GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q
|
381 |
+
-----END CERTIFICATE-----
|
382 |
+
|
383 |
+
Verisign Class 3 Public Primary Certification Authority - G3
|
384 |
+
============================================================
|
385 |
+
-----BEGIN CERTIFICATE-----
|
386 |
+
MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
|
387 |
+
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
388 |
+
cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
389 |
+
IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
|
390 |
+
dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
|
391 |
+
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
|
392 |
+
dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
|
393 |
+
cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
|
394 |
+
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
395 |
+
ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
|
396 |
+
EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
|
397 |
+
cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
|
398 |
+
EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
|
399 |
+
055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
|
400 |
+
ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
|
401 |
+
j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
|
402 |
+
/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
|
403 |
+
xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
|
404 |
+
t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
|
405 |
+
-----END CERTIFICATE-----
|
406 |
+
|
407 |
+
Verisign Class 4 Public Primary Certification Authority - G3
|
408 |
+
============================================================
|
409 |
+
-----BEGIN CERTIFICATE-----
|
410 |
+
MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
|
411 |
+
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
412 |
+
cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
413 |
+
IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
|
414 |
+
dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
|
415 |
+
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
|
416 |
+
dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
|
417 |
+
cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg
|
418 |
+
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
419 |
+
ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS
|
420 |
+
tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM
|
421 |
+
8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW
|
422 |
+
Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX
|
423 |
+
Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
|
424 |
+
j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt
|
425 |
+
mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
|
426 |
+
fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd
|
427 |
+
RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG
|
428 |
+
UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
|
429 |
+
-----END CERTIFICATE-----
|
430 |
+
|
431 |
+
Entrust.net Secure Server CA
|
432 |
+
============================
|
433 |
+
-----BEGIN CERTIFICATE-----
|
434 |
+
MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV
|
435 |
+
BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg
|
436 |
+
cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl
|
437 |
+
ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv
|
438 |
+
cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG
|
439 |
+
A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi
|
440 |
+
eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p
|
441 |
+
dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0
|
442 |
+
aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ
|
443 |
+
aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5
|
444 |
+
gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw
|
445 |
+
ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw
|
446 |
+
CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l
|
447 |
+
dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
|
448 |
+
bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl
|
449 |
+
cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
|
450 |
+
dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw
|
451 |
+
NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow
|
452 |
+
HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA
|
453 |
+
BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN
|
454 |
+
Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9
|
455 |
+
n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
|
456 |
+
-----END CERTIFICATE-----
|
457 |
+
|
458 |
+
Entrust.net Premium 2048 Secure Server CA
|
459 |
+
=========================================
|
460 |
+
-----BEGIN CERTIFICATE-----
|
461 |
+
MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u
|
462 |
+
ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp
|
463 |
+
bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV
|
464 |
+
BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx
|
465 |
+
NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3
|
466 |
+
d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl
|
467 |
+
MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u
|
468 |
+
ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
469 |
+
MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL
|
470 |
+
Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr
|
471 |
+
hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW
|
472 |
+
nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi
|
473 |
+
VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC
|
474 |
+
AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER
|
475 |
+
gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B
|
476 |
+
AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo
|
477 |
+
oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS
|
478 |
+
o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z
|
479 |
+
2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX
|
480 |
+
OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ==
|
481 |
+
-----END CERTIFICATE-----
|
482 |
+
|
483 |
+
Baltimore CyberTrust Root
|
484 |
+
=========================
|
485 |
+
-----BEGIN CERTIFICATE-----
|
486 |
+
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE
|
487 |
+
ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li
|
488 |
+
ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC
|
489 |
+
SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs
|
490 |
+
dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME
|
491 |
+
uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB
|
492 |
+
UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C
|
493 |
+
G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9
|
494 |
+
XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr
|
495 |
+
l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI
|
496 |
+
VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB
|
497 |
+
BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh
|
498 |
+
cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5
|
499 |
+
hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa
|
500 |
+
Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
|
501 |
+
RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
|
502 |
+
-----END CERTIFICATE-----
|
503 |
+
|
504 |
+
Equifax Secure Global eBusiness CA
|
505 |
+
==================================
|
506 |
+
-----BEGIN CERTIFICATE-----
|
507 |
+
MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
|
508 |
+
RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp
|
509 |
+
bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx
|
510 |
+
HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds
|
511 |
+
b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV
|
512 |
+
PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN
|
513 |
+
qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn
|
514 |
+
hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
|
515 |
+
BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs
|
516 |
+
MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN
|
517 |
+
I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY
|
518 |
+
NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV
|
519 |
+
-----END CERTIFICATE-----
|
520 |
+
|
521 |
+
Equifax Secure eBusiness CA 1
|
522 |
+
=============================
|
523 |
+
-----BEGIN CERTIFICATE-----
|
524 |
+
MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
|
525 |
+
RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB
|
526 |
+
LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE
|
527 |
+
ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz
|
528 |
+
IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ
|
529 |
+
1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a
|
530 |
+
IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk
|
531 |
+
MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW
|
532 |
+
Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF
|
533 |
+
AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5
|
534 |
+
lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+
|
535 |
+
KpYrtWKmpj29f5JZzVoqgrI3eQ==
|
536 |
+
-----END CERTIFICATE-----
|
537 |
+
|
538 |
+
Equifax Secure eBusiness CA 2
|
539 |
+
=============================
|
540 |
+
-----BEGIN CERTIFICATE-----
|
541 |
+
MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE
|
542 |
+
ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y
|
543 |
+
MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT
|
544 |
+
DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB
|
545 |
+
nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn
|
546 |
+
2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5
|
547 |
+
BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG
|
548 |
+
A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx
|
549 |
+
JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG
|
550 |
+
A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e
|
551 |
+
uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB
|
552 |
+
Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1
|
553 |
+
jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia
|
554 |
+
78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm
|
555 |
+
V+GRMOrN
|
556 |
+
-----END CERTIFICATE-----
|
557 |
+
|
558 |
+
AddTrust Low-Value Services Root
|
559 |
+
================================
|
560 |
+
-----BEGIN CERTIFICATE-----
|
561 |
+
MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
562 |
+
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU
|
563 |
+
cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw
|
564 |
+
CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO
|
565 |
+
ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB
|
566 |
+
AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6
|
567 |
+
54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr
|
568 |
+
oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1
|
569 |
+
Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui
|
570 |
+
GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w
|
571 |
+
HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD
|
572 |
+
AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT
|
573 |
+
RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw
|
574 |
+
HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt
|
575 |
+
ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph
|
576 |
+
iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
|
577 |
+
eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr
|
578 |
+
mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj
|
579 |
+
ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
|
580 |
+
-----END CERTIFICATE-----
|
581 |
+
|
582 |
+
AddTrust External Root
|
583 |
+
======================
|
584 |
+
-----BEGIN CERTIFICATE-----
|
585 |
+
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
586 |
+
QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
|
587 |
+
VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
|
588 |
+
NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
|
589 |
+
cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
|
590 |
+
Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
|
591 |
+
+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
|
592 |
+
Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
|
593 |
+
aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
|
594 |
+
2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
|
595 |
+
7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
|
596 |
+
BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
|
597 |
+
VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
|
598 |
+
VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
|
599 |
+
IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
|
600 |
+
j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
|
601 |
+
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
|
602 |
+
e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
|
603 |
+
G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
|
604 |
+
-----END CERTIFICATE-----
|
605 |
+
|
606 |
+
AddTrust Public Services Root
|
607 |
+
=============================
|
608 |
+
-----BEGIN CERTIFICATE-----
|
609 |
+
MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
610 |
+
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU
|
611 |
+
cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ
|
612 |
+
BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l
|
613 |
+
dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF
|
614 |
+
AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu
|
615 |
+
nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i
|
616 |
+
d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG
|
617 |
+
Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw
|
618 |
+
HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G
|
619 |
+
A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
|
620 |
+
/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux
|
621 |
+
FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G
|
622 |
+
A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4
|
623 |
+
JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL
|
624 |
+
+YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
|
625 |
+
GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9
|
626 |
+
Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H
|
627 |
+
EufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
|
628 |
+
-----END CERTIFICATE-----
|
629 |
+
|
630 |
+
AddTrust Qualified Certificates Root
|
631 |
+
====================================
|
632 |
+
-----BEGIN CERTIFICATE-----
|
633 |
+
MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
634 |
+
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU
|
635 |
+
cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx
|
636 |
+
CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ
|
637 |
+
IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG
|
638 |
+
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx
|
639 |
+
64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3
|
640 |
+
KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o
|
641 |
+
L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR
|
642 |
+
wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU
|
643 |
+
MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/
|
644 |
+
BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE
|
645 |
+
BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y
|
646 |
+
azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD
|
647 |
+
ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG
|
648 |
+
GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
|
649 |
+
dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze
|
650 |
+
RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB
|
651 |
+
iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE=
|
652 |
+
-----END CERTIFICATE-----
|
653 |
+
|
654 |
+
Entrust Root Certification Authority
|
655 |
+
====================================
|
656 |
+
-----BEGIN CERTIFICATE-----
|
657 |
+
MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV
|
658 |
+
BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw
|
659 |
+
b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG
|
660 |
+
A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0
|
661 |
+
MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu
|
662 |
+
MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu
|
663 |
+
Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v
|
664 |
+
dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
665 |
+
ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz
|
666 |
+
A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww
|
667 |
+
Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68
|
668 |
+
j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN
|
669 |
+
rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw
|
670 |
+
DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1
|
671 |
+
MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH
|
672 |
+
hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
|
673 |
+
A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM
|
674 |
+
Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa
|
675 |
+
v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS
|
676 |
+
W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
|
677 |
+
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
678 |
+
-----END CERTIFICATE-----
|
679 |
+
|
680 |
+
RSA Security 2048 v3
|
681 |
+
====================
|
682 |
+
-----BEGIN CERTIFICATE-----
|
683 |
+
MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK
|
684 |
+
ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy
|
685 |
+
MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb
|
686 |
+
BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
|
687 |
+
AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7
|
688 |
+
Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb
|
689 |
+
WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH
|
690 |
+
KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP
|
691 |
+
+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/
|
692 |
+
MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E
|
693 |
+
FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY
|
694 |
+
v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj
|
695 |
+
0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj
|
696 |
+
VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395
|
697 |
+
nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA
|
698 |
+
pKnXwiJPZ9d37CAFYd4=
|
699 |
+
-----END CERTIFICATE-----
|
700 |
+
|
701 |
+
GeoTrust Global CA
|
702 |
+
==================
|
703 |
+
-----BEGIN CERTIFICATE-----
|
704 |
+
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
|
705 |
+
Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
|
706 |
+
MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
|
707 |
+
LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
708 |
+
CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
|
709 |
+
BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
|
710 |
+
8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
|
711 |
+
T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
|
712 |
+
vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
|
713 |
+
AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
|
714 |
+
DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
|
715 |
+
zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
|
716 |
+
d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
|
717 |
+
mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
|
718 |
+
XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
|
719 |
+
Mw==
|
720 |
+
-----END CERTIFICATE-----
|
721 |
+
|
722 |
+
GeoTrust Global CA 2
|
723 |
+
====================
|
724 |
+
-----BEGIN CERTIFICATE-----
|
725 |
+
MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
726 |
+
R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw
|
727 |
+
MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
|
728 |
+
LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
729 |
+
ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/
|
730 |
+
NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k
|
731 |
+
LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA
|
732 |
+
Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b
|
733 |
+
HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF
|
734 |
+
MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH
|
735 |
+
K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7
|
736 |
+
srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh
|
737 |
+
ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL
|
738 |
+
OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC
|
739 |
+
x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF
|
740 |
+
H4z1Ir+rzoPz4iIprn2DQKi6bA==
|
741 |
+
-----END CERTIFICATE-----
|
742 |
+
|
743 |
+
GeoTrust Universal CA
|
744 |
+
=====================
|
745 |
+
-----BEGIN CERTIFICATE-----
|
746 |
+
MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
747 |
+
R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
|
748 |
+
MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
|
749 |
+
Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
|
750 |
+
ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
|
751 |
+
JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
|
752 |
+
RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
|
753 |
+
7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
|
754 |
+
8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
|
755 |
+
qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
|
756 |
+
Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
|
757 |
+
Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
|
758 |
+
KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
|
759 |
+
ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
|
760 |
+
XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
|
761 |
+
hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
|
762 |
+
aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
|
763 |
+
qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
|
764 |
+
oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
|
765 |
+
xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
|
766 |
+
KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
|
767 |
+
DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
|
768 |
+
xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
|
769 |
+
p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
|
770 |
+
P/rmMuGNG2+k5o7Y+SlIis5z/iw=
|
771 |
+
-----END CERTIFICATE-----
|
772 |
+
|
773 |
+
GeoTrust Universal CA 2
|
774 |
+
=======================
|
775 |
+
-----BEGIN CERTIFICATE-----
|
776 |
+
MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
777 |
+
R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
|
778 |
+
MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
|
779 |
+
SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
|
780 |
+
A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
|
781 |
+
DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
|
782 |
+
j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
|
783 |
+
JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
|
784 |
+
QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
|
785 |
+
WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
|
786 |
+
20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
|
787 |
+
ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
|
788 |
+
SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
|
789 |
+
8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
|
790 |
+
+/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
|
791 |
+
BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
|
792 |
+
dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
|
793 |
+
4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
|
794 |
+
mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
|
795 |
+
A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
|
796 |
+
Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
|
797 |
+
pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
|
798 |
+
FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
|
799 |
+
gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
|
800 |
+
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
801 |
+
-----END CERTIFICATE-----
|
802 |
+
|
803 |
+
UTN-USER First-Network Applications
|
804 |
+
===================================
|
805 |
+
-----BEGIN CERTIFICATE-----
|
806 |
+
MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE
|
807 |
+
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
808 |
+
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp
|
809 |
+
BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5
|
810 |
+
WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T
|
811 |
+
YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
|
812 |
+
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB
|
813 |
+
cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug
|
814 |
+
mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj
|
815 |
+
DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu
|
816 |
+
Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi
|
817 |
+
P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE
|
818 |
+
j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w
|
819 |
+
HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j
|
820 |
+
cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G
|
821 |
+
CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y
|
822 |
+
IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK
|
823 |
+
RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp
|
824 |
+
xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq
|
825 |
+
DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE
|
826 |
+
-----END CERTIFICATE-----
|
827 |
+
|
828 |
+
America Online Root Certification Authority 1
|
829 |
+
=============================================
|
830 |
+
-----BEGIN CERTIFICATE-----
|
831 |
+
MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
|
832 |
+
QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
|
833 |
+
Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG
|
834 |
+
A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
|
835 |
+
T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD
|
836 |
+
ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG
|
837 |
+
v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z
|
838 |
+
DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh
|
839 |
+
sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP
|
840 |
+
8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T
|
841 |
+
AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z
|
842 |
+
o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf
|
843 |
+
GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF
|
844 |
+
VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft
|
845 |
+
3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g
|
846 |
+
Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds
|
847 |
+
sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7
|
848 |
+
-----END CERTIFICATE-----
|
849 |
+
|
850 |
+
America Online Root Certification Authority 2
|
851 |
+
=============================================
|
852 |
+
-----BEGIN CERTIFICATE-----
|
853 |
+
MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT
|
854 |
+
QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp
|
855 |
+
Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG
|
856 |
+
A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg
|
857 |
+
T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD
|
858 |
+
ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en
|
859 |
+
fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8
|
860 |
+
f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO
|
861 |
+
qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN
|
862 |
+
RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0
|
863 |
+
gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn
|
864 |
+
6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid
|
865 |
+
FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6
|
866 |
+
Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj
|
867 |
+
B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op
|
868 |
+
aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE
|
869 |
+
AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY
|
870 |
+
T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p
|
871 |
+
+DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg
|
872 |
+
JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy
|
873 |
+
zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO
|
874 |
+
ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh
|
875 |
+
1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf
|
876 |
+
GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff
|
877 |
+
Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP
|
878 |
+
cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk=
|
879 |
+
-----END CERTIFICATE-----
|
880 |
+
|
881 |
+
Visa eCommerce Root
|
882 |
+
===================
|
883 |
+
-----BEGIN CERTIFICATE-----
|
884 |
+
MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG
|
885 |
+
EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug
|
886 |
+
QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2
|
887 |
+
WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm
|
888 |
+
VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
|
889 |
+
bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL
|
890 |
+
F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b
|
891 |
+
RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0
|
892 |
+
TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI
|
893 |
+
/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs
|
894 |
+
GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
|
895 |
+
MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc
|
896 |
+
CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW
|
897 |
+
YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz
|
898 |
+
zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu
|
899 |
+
YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
|
900 |
+
398znM/jra6O1I7mT1GvFpLgXPYHDw==
|
901 |
+
-----END CERTIFICATE-----
|
902 |
+
|
903 |
+
Certum Root CA
|
904 |
+
==============
|
905 |
+
-----BEGIN CERTIFICATE-----
|
906 |
+
MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK
|
907 |
+
ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla
|
908 |
+
Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u
|
909 |
+
by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x
|
910 |
+
wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL
|
911 |
+
kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ
|
912 |
+
89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K
|
913 |
+
Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P
|
914 |
+
NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq
|
915 |
+
hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+
|
916 |
+
GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg
|
917 |
+
GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/
|
918 |
+
0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS
|
919 |
+
qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw==
|
920 |
+
-----END CERTIFICATE-----
|
921 |
+
|
922 |
+
Comodo AAA Services root
|
923 |
+
========================
|
924 |
+
-----BEGIN CERTIFICATE-----
|
925 |
+
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
|
926 |
+
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
|
927 |
+
TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw
|
928 |
+
MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl
|
929 |
+
c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV
|
930 |
+
BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
931 |
+
ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG
|
932 |
+
C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs
|
933 |
+
i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW
|
934 |
+
Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH
|
935 |
+
Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK
|
936 |
+
Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f
|
937 |
+
BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl
|
938 |
+
cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz
|
939 |
+
LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm
|
940 |
+
7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
|
941 |
+
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
|
942 |
+
8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C
|
943 |
+
12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
944 |
+
-----END CERTIFICATE-----
|
945 |
+
|
946 |
+
Comodo Secure Services root
|
947 |
+
===========================
|
948 |
+
-----BEGIN CERTIFICATE-----
|
949 |
+
MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
|
950 |
+
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
|
951 |
+
TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw
|
952 |
+
MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu
|
953 |
+
Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi
|
954 |
+
BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
955 |
+
ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP
|
956 |
+
9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc
|
957 |
+
rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC
|
958 |
+
oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V
|
959 |
+
p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E
|
960 |
+
FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w
|
961 |
+
gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj
|
962 |
+
YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm
|
963 |
+
aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm
|
964 |
+
4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
|
965 |
+
Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL
|
966 |
+
DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw
|
967 |
+
pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H
|
968 |
+
RR3B7Hzs/Sk=
|
969 |
+
-----END CERTIFICATE-----
|
970 |
+
|
971 |
+
Comodo Trusted Services root
|
972 |
+
============================
|
973 |
+
-----BEGIN CERTIFICATE-----
|
974 |
+
MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS
|
975 |
+
R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg
|
976 |
+
TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw
|
977 |
+
MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h
|
978 |
+
bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw
|
979 |
+
IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
980 |
+
AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7
|
981 |
+
3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y
|
982 |
+
/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6
|
983 |
+
juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS
|
984 |
+
ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud
|
985 |
+
DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB
|
986 |
+
/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp
|
987 |
+
ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl
|
988 |
+
cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw
|
989 |
+
uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
|
990 |
+
pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA
|
991 |
+
BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l
|
992 |
+
R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O
|
993 |
+
9y5Xt5hwXsjEeLBi
|
994 |
+
-----END CERTIFICATE-----
|
995 |
+
|
996 |
+
QuoVadis Root CA
|
997 |
+
================
|
998 |
+
-----BEGIN CERTIFICATE-----
|
999 |
+
MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
|
1000 |
+
ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
|
1001 |
+
eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
|
1002 |
+
MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
|
1003 |
+
cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
|
1004 |
+
EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
|
1005 |
+
AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
|
1006 |
+
J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
|
1007 |
+
F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
|
1008 |
+
YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
|
1009 |
+
AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
|
1010 |
+
PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
|
1011 |
+
ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
|
1012 |
+
MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
|
1013 |
+
YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
|
1014 |
+
ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
|
1015 |
+
Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
|
1016 |
+
Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
|
1017 |
+
BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
|
1018 |
+
FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
|
1019 |
+
aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
|
1020 |
+
tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
|
1021 |
+
fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
|
1022 |
+
LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
|
1023 |
+
gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
|
1024 |
+
5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
|
1025 |
+
5nrQNiOKSnQ2+Q==
|
1026 |
+
-----END CERTIFICATE-----
|
1027 |
+
|
1028 |
+
QuoVadis Root CA 2
|
1029 |
+
==================
|
1030 |
+
-----BEGIN CERTIFICATE-----
|
1031 |
+
MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
|
1032 |
+
EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx
|
1033 |
+
ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
|
1034 |
+
aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
1035 |
+
DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6
|
1036 |
+
XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk
|
1037 |
+
lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB
|
1038 |
+
lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy
|
1039 |
+
lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt
|
1040 |
+
66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn
|
1041 |
+
wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh
|
1042 |
+
D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy
|
1043 |
+
BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie
|
1044 |
+
J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud
|
1045 |
+
DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU
|
1046 |
+
a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
|
1047 |
+
ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv
|
1048 |
+
Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3
|
1049 |
+
UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm
|
1050 |
+
VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK
|
1051 |
+
+JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW
|
1052 |
+
IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1
|
1053 |
+
WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X
|
1054 |
+
f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II
|
1055 |
+
4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8
|
1056 |
+
VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
|
1057 |
+
-----END CERTIFICATE-----
|
1058 |
+
|
1059 |
+
QuoVadis Root CA 3
|
1060 |
+
==================
|
1061 |
+
-----BEGIN CERTIFICATE-----
|
1062 |
+
MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
|
1063 |
+
EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx
|
1064 |
+
OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM
|
1065 |
+
aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC
|
1066 |
+
DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg
|
1067 |
+
DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij
|
1068 |
+
KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K
|
1069 |
+
DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv
|
1070 |
+
BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp
|
1071 |
+
p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8
|
1072 |
+
nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX
|
1073 |
+
MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM
|
1074 |
+
Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz
|
1075 |
+
uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT
|
1076 |
+
BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj
|
1077 |
+
YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
|
1078 |
+
aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB
|
1079 |
+
BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD
|
1080 |
+
VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4
|
1081 |
+
ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE
|
1082 |
+
AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV
|
1083 |
+
qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s
|
1084 |
+
hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z
|
1085 |
+
POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2
|
1086 |
+
Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp
|
1087 |
+
8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
|
1088 |
+
bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu
|
1089 |
+
g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p
|
1090 |
+
vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr
|
1091 |
+
qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto=
|
1092 |
+
-----END CERTIFICATE-----
|
1093 |
+
|
1094 |
+
Security Communication Root CA
|
1095 |
+
==============================
|
1096 |
+
-----BEGIN CERTIFICATE-----
|
1097 |
+
MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
|
1098 |
+
U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
|
1099 |
+
HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
|
1100 |
+
U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw
|
1101 |
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw
|
1102 |
+
8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM
|
1103 |
+
DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX
|
1104 |
+
5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd
|
1105 |
+
DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2
|
1106 |
+
JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw
|
1107 |
+
DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g
|
1108 |
+
0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a
|
1109 |
+
mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ
|
1110 |
+
s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
|
1111 |
+
6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi
|
1112 |
+
FL39vmwLAw==
|
1113 |
+
-----END CERTIFICATE-----
|
1114 |
+
|
1115 |
+
Sonera Class 1 Root CA
|
1116 |
+
======================
|
1117 |
+
-----BEGIN CERTIFICATE-----
|
1118 |
+
MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
|
1119 |
+
U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw
|
1120 |
+
NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
|
1121 |
+
IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88
|
1122 |
+
7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9
|
1123 |
+
EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl
|
1124 |
+
0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645
|
1125 |
+
2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa
|
1126 |
+
HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT
|
1127 |
+
iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9
|
1128 |
+
28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV
|
1129 |
+
yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR
|
1130 |
+
vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P
|
1131 |
+
qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z
|
1132 |
+
IRlXvVWa
|
1133 |
+
-----END CERTIFICATE-----
|
1134 |
+
|
1135 |
+
Sonera Class 2 Root CA
|
1136 |
+
======================
|
1137 |
+
-----BEGIN CERTIFICATE-----
|
1138 |
+
MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
|
1139 |
+
U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
|
1140 |
+
NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
|
1141 |
+
IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
|
1142 |
+
/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
|
1143 |
+
dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
|
1144 |
+
f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
|
1145 |
+
tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
|
1146 |
+
nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
|
1147 |
+
XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
|
1148 |
+
0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
|
1149 |
+
cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
|
1150 |
+
Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
|
1151 |
+
EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
|
1152 |
+
llpwrN9M
|
1153 |
+
-----END CERTIFICATE-----
|
1154 |
+
|
1155 |
+
Staat der Nederlanden Root CA
|
1156 |
+
=============================
|
1157 |
+
-----BEGIN CERTIFICATE-----
|
1158 |
+
MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE
|
1159 |
+
ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g
|
1160 |
+
Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w
|
1161 |
+
HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh
|
1162 |
+
bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt
|
1163 |
+
vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P
|
1164 |
+
jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca
|
1165 |
+
C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth
|
1166 |
+
vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6
|
1167 |
+
22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV
|
1168 |
+
HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v
|
1169 |
+
dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN
|
1170 |
+
BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR
|
1171 |
+
EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw
|
1172 |
+
MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y
|
1173 |
+
nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
|
1174 |
+
iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
|
1175 |
+
-----END CERTIFICATE-----
|
1176 |
+
|
1177 |
+
TDC Internet Root CA
|
1178 |
+
====================
|
1179 |
+
-----BEGIN CERTIFICATE-----
|
1180 |
+
MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE
|
1181 |
+
ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx
|
1182 |
+
NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu
|
1183 |
+
ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
1184 |
+
MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j
|
1185 |
+
xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL
|
1186 |
+
znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc
|
1187 |
+
5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6
|
1188 |
+
otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI
|
1189 |
+
AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM
|
1190 |
+
VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM
|
1191 |
+
MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC
|
1192 |
+
AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe
|
1193 |
+
UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G
|
1194 |
+
CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m
|
1195 |
+
gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+
|
1196 |
+
2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb
|
1197 |
+
O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU
|
1198 |
+
Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l
|
1199 |
+
-----END CERTIFICATE-----
|
1200 |
+
|
1201 |
+
TDC OCES Root CA
|
1202 |
+
================
|
1203 |
+
-----BEGIN CERTIFICATE-----
|
1204 |
+
MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE
|
1205 |
+
ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5
|
1206 |
+
MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB
|
1207 |
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH
|
1208 |
+
nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0
|
1209 |
+
zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV
|
1210 |
+
iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde
|
1211 |
+
dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO
|
1212 |
+
3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB
|
1213 |
+
5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k
|
1214 |
+
ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm
|
1215 |
+
cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp
|
1216 |
+
Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x
|
1217 |
+
LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM
|
1218 |
+
MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm
|
1219 |
+
aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy
|
1220 |
+
MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647
|
1221 |
+
+RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6
|
1222 |
+
NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4
|
1223 |
+
A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc
|
1224 |
+
A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9
|
1225 |
+
AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1
|
1226 |
+
AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw==
|
1227 |
+
-----END CERTIFICATE-----
|
1228 |
+
|
1229 |
+
UTN DATACorp SGC Root CA
|
1230 |
+
========================
|
1231 |
+
-----BEGIN CERTIFICATE-----
|
1232 |
+
MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE
|
1233 |
+
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
1234 |
+
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ
|
1235 |
+
BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa
|
1236 |
+
MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w
|
1237 |
+
HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy
|
1238 |
+
dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
1239 |
+
AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys
|
1240 |
+
raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo
|
1241 |
+
wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA
|
1242 |
+
9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv
|
1243 |
+
33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud
|
1244 |
+
DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9
|
1245 |
+
BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD
|
1246 |
+
LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3
|
1247 |
+
DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
|
1248 |
+
Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0
|
1249 |
+
I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx
|
1250 |
+
EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP
|
1251 |
+
DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI
|
1252 |
+
-----END CERTIFICATE-----
|
1253 |
+
|
1254 |
+
UTN USERFirst Email Root CA
|
1255 |
+
===========================
|
1256 |
+
-----BEGIN CERTIFICATE-----
|
1257 |
+
MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
|
1258 |
+
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
1259 |
+
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0
|
1260 |
+
BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05
|
1261 |
+
OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx
|
1262 |
+
FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx
|
1263 |
+
ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz
|
1264 |
+
dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
1265 |
+
MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx
|
1266 |
+
B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8
|
1267 |
+
om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG
|
1268 |
+
TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl
|
1269 |
+
yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE
|
1270 |
+
AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV
|
1271 |
+
HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll
|
1272 |
+
bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH
|
1273 |
+
AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne
|
1274 |
+
xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+
|
1275 |
+
5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV
|
1276 |
+
NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ
|
1277 |
+
w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ=
|
1278 |
+
-----END CERTIFICATE-----
|
1279 |
+
|
1280 |
+
UTN USERFirst Hardware Root CA
|
1281 |
+
==============================
|
1282 |
+
-----BEGIN CERTIFICATE-----
|
1283 |
+
MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE
|
1284 |
+
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
1285 |
+
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd
|
1286 |
+
BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx
|
1287 |
+
OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0
|
1288 |
+
eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz
|
1289 |
+
ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3
|
1290 |
+
DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI
|
1291 |
+
wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd
|
1292 |
+
tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8
|
1293 |
+
i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf
|
1294 |
+
Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw
|
1295 |
+
gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF
|
1296 |
+
lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF
|
1297 |
+
UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF
|
1298 |
+
BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
|
1299 |
+
//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW
|
1300 |
+
XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2
|
1301 |
+
lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn
|
1302 |
+
iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67
|
1303 |
+
nfhmqA==
|
1304 |
+
-----END CERTIFICATE-----
|
1305 |
+
|
1306 |
+
UTN USERFirst Object Root CA
|
1307 |
+
============================
|
1308 |
+
-----BEGIN CERTIFICATE-----
|
1309 |
+
MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE
|
1310 |
+
BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl
|
1311 |
+
IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb
|
1312 |
+
BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz
|
1313 |
+
NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx
|
1314 |
+
HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy
|
1315 |
+
dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB
|
1316 |
+
BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR
|
1317 |
+
loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ
|
1318 |
+
w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu
|
1319 |
+
lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7
|
1320 |
+
RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL
|
1321 |
+
BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8
|
1322 |
+
ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly
|
1323 |
+
c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw
|
1324 |
+
DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw
|
1325 |
+
NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO
|
1326 |
+
PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE
|
1327 |
+
qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG
|
1328 |
+
hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g=
|
1329 |
+
-----END CERTIFICATE-----
|
1330 |
+
|
1331 |
+
Camerfirma Chambers of Commerce Root
|
1332 |
+
====================================
|
1333 |
+
-----BEGIN CERTIFICATE-----
|
1334 |
+
MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
|
1335 |
+
QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
|
1336 |
+
ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx
|
1337 |
+
NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp
|
1338 |
+
cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn
|
1339 |
+
MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC
|
1340 |
+
AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU
|
1341 |
+
xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH
|
1342 |
+
NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW
|
1343 |
+
DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV
|
1344 |
+
d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud
|
1345 |
+
EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v
|
1346 |
+
cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P
|
1347 |
+
AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh
|
1348 |
+
bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD
|
1349 |
+
VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
|
1350 |
+
aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi
|
1351 |
+
fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD
|
1352 |
+
L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN
|
1353 |
+
UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n
|
1354 |
+
ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1
|
1355 |
+
erfutGWaIZDgqtCYvDi1czyL+Nw=
|
1356 |
+
-----END CERTIFICATE-----
|
1357 |
+
|
1358 |
+
Camerfirma Global Chambersign Root
|
1359 |
+
==================================
|
1360 |
+
-----BEGIN CERTIFICATE-----
|
1361 |
+
MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe
|
1362 |
+
QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i
|
1363 |
+
ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx
|
1364 |
+
NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt
|
1365 |
+
YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg
|
1366 |
+
MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw
|
1367 |
+
ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J
|
1368 |
+
1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O
|
1369 |
+
by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl
|
1370 |
+
6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c
|
1371 |
+
8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/
|
1372 |
+
BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j
|
1373 |
+
aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B
|
1374 |
+
Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj
|
1375 |
+
aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y
|
1376 |
+
ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
|
1377 |
+
bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA
|
1378 |
+
PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y
|
1379 |
+
gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ
|
1380 |
+
PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4
|
1381 |
+
IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes
|
1382 |
+
t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
|
1383 |
+
-----END CERTIFICATE-----
|
1384 |
+
|
1385 |
+
NetLock Qualified (Class QA) Root
|
1386 |
+
=================================
|
1387 |
+
-----BEGIN CERTIFICATE-----
|
1388 |
+
MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
|
1389 |
+
CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
|
1390 |
+
BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn
|
1391 |
+
eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0
|
1392 |
+
bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER
|
1393 |
+
MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0
|
1394 |
+
LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0
|
1395 |
+
dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP
|
1396 |
+
aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV
|
1397 |
+
CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e
|
1398 |
+
8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb
|
1399 |
+
m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ
|
1400 |
+
0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM
|
1401 |
+
0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
|
1402 |
+
HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2
|
1403 |
+
YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh
|
1404 |
+
biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p
|
1405 |
+
a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz
|
1406 |
+
YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg
|
1407 |
+
YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg
|
1408 |
+
ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov
|
1409 |
+
L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr
|
1410 |
+
Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0
|
1411 |
+
aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg
|
1412 |
+
YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0
|
1413 |
+
IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3
|
1414 |
+
DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN
|
1415 |
+
wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg
|
1416 |
+
W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc
|
1417 |
+
R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR
|
1418 |
+
5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko
|
1419 |
+
-----END CERTIFICATE-----
|
1420 |
+
|
1421 |
+
NetLock Notary (Class A) Root
|
1422 |
+
=============================
|
1423 |
+
-----BEGIN CERTIFICATE-----
|
1424 |
+
MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI
|
1425 |
+
EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
|
1426 |
+
dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j
|
1427 |
+
ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX
|
1428 |
+
DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH
|
1429 |
+
EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD
|
1430 |
+
VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz
|
1431 |
+
cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM
|
1432 |
+
D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ
|
1433 |
+
z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC
|
1434 |
+
/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7
|
1435 |
+
tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6
|
1436 |
+
4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG
|
1437 |
+
A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC
|
1438 |
+
Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv
|
1439 |
+
bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
|
1440 |
+
IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn
|
1441 |
+
LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0
|
1442 |
+
ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz
|
1443 |
+
IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh
|
1444 |
+
IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu
|
1445 |
+
b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh
|
1446 |
+
bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg
|
1447 |
+
Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp
|
1448 |
+
bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5
|
1449 |
+
ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP
|
1450 |
+
ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB
|
1451 |
+
CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr
|
1452 |
+
KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM
|
1453 |
+
8CgHrTwXZoi1/baI
|
1454 |
+
-----END CERTIFICATE-----
|
1455 |
+
|
1456 |
+
NetLock Business (Class B) Root
|
1457 |
+
===============================
|
1458 |
+
-----BEGIN CERTIFICATE-----
|
1459 |
+
MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT
|
1460 |
+
CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
|
1461 |
+
BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg
|
1462 |
+
VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD
|
1463 |
+
VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv
|
1464 |
+
bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg
|
1465 |
+
VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
|
1466 |
+
iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S
|
1467 |
+
o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr
|
1468 |
+
1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV
|
1469 |
+
HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ
|
1470 |
+
RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh
|
1471 |
+
dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0
|
1472 |
+
ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv
|
1473 |
+
c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg
|
1474 |
+
YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh
|
1475 |
+
c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz
|
1476 |
+
Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA
|
1477 |
+
bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl
|
1478 |
+
IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2
|
1479 |
+
YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj
|
1480 |
+
cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM
|
1481 |
+
43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR
|
1482 |
+
stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI
|
1483 |
+
-----END CERTIFICATE-----
|
1484 |
+
|
1485 |
+
NetLock Express (Class C) Root
|
1486 |
+
==============================
|
1487 |
+
-----BEGIN CERTIFICATE-----
|
1488 |
+
MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT
|
1489 |
+
CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV
|
1490 |
+
BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD
|
1491 |
+
KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ
|
1492 |
+
BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6
|
1493 |
+
dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j
|
1494 |
+
ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB
|
1495 |
+
jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z
|
1496 |
+
W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63
|
1497 |
+
euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw
|
1498 |
+
DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN
|
1499 |
+
RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn
|
1500 |
+
YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB
|
1501 |
+
IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i
|
1502 |
+
aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0
|
1503 |
+
ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs
|
1504 |
+
ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo
|
1505 |
+
dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y
|
1506 |
+
emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k
|
1507 |
+
IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ
|
1508 |
+
UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg
|
1509 |
+
YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2
|
1510 |
+
xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW
|
1511 |
+
gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A==
|
1512 |
+
-----END CERTIFICATE-----
|
1513 |
+
|
1514 |
+
XRamp Global CA Root
|
1515 |
+
====================
|
1516 |
+
-----BEGIN CERTIFICATE-----
|
1517 |
+
MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE
|
1518 |
+
BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj
|
1519 |
+
dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
|
1520 |
+
dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx
|
1521 |
+
HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg
|
1522 |
+
U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
|
1523 |
+
dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu
|
1524 |
+
IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx
|
1525 |
+
foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE
|
1526 |
+
zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs
|
1527 |
+
AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry
|
1528 |
+
xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
|
1529 |
+
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap
|
1530 |
+
oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC
|
1531 |
+
AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc
|
1532 |
+
/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
|
1533 |
+
qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n
|
1534 |
+
nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz
|
1535 |
+
8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw=
|
1536 |
+
-----END CERTIFICATE-----
|
1537 |
+
|
1538 |
+
Go Daddy Class 2 CA
|
1539 |
+
===================
|
1540 |
+
-----BEGIN CERTIFICATE-----
|
1541 |
+
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY
|
1542 |
+
VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp
|
1543 |
+
ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG
|
1544 |
+
A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g
|
1545 |
+
RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD
|
1546 |
+
ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv
|
1547 |
+
2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32
|
1548 |
+
qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j
|
1549 |
+
YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY
|
1550 |
+
vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O
|
1551 |
+
BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o
|
1552 |
+
atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu
|
1553 |
+
MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG
|
1554 |
+
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim
|
1555 |
+
PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt
|
1556 |
+
I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
|
1557 |
+
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI
|
1558 |
+
Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b
|
1559 |
+
vZ8=
|
1560 |
+
-----END CERTIFICATE-----
|
1561 |
+
|
1562 |
+
Starfield Class 2 CA
|
1563 |
+
====================
|
1564 |
+
-----BEGIN CERTIFICATE-----
|
1565 |
+
MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc
|
1566 |
+
U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg
|
1567 |
+
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo
|
1568 |
+
MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
|
1569 |
+
A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG
|
1570 |
+
SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY
|
1571 |
+
bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ
|
1572 |
+
JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm
|
1573 |
+
epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN
|
1574 |
+
F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF
|
1575 |
+
MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f
|
1576 |
+
hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo
|
1577 |
+
bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g
|
1578 |
+
QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs
|
1579 |
+
afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM
|
1580 |
+
PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
|
1581 |
+
xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD
|
1582 |
+
KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
|
1583 |
+
QBFGmh95DmK/D5fs4C8fF5Q=
|
1584 |
+
-----END CERTIFICATE-----
|
1585 |
+
|
1586 |
+
StartCom Certification Authority
|
1587 |
+
================================
|
1588 |
+
-----BEGIN CERTIFICATE-----
|
1589 |
+
MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
|
1590 |
+
U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
|
1591 |
+
ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
|
1592 |
+
NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
|
1593 |
+
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
|
1594 |
+
U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
|
1595 |
+
ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
|
1596 |
+
o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
|
1597 |
+
Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
|
1598 |
+
eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
|
1599 |
+
2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
|
1600 |
+
6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
|
1601 |
+
osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
|
1602 |
+
untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
|
1603 |
+
UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
|
1604 |
+
37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
|
1605 |
+
FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0
|
1606 |
+
Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj
|
1607 |
+
YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH
|
1608 |
+
AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw
|
1609 |
+
Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg
|
1610 |
+
U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5
|
1611 |
+
LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl
|
1612 |
+
cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh
|
1613 |
+
cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT
|
1614 |
+
dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
|
1615 |
+
AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh
|
1616 |
+
3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm
|
1617 |
+
vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk
|
1618 |
+
fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3
|
1619 |
+
fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ
|
1620 |
+
EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
|
1621 |
+
yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl
|
1622 |
+
1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/
|
1623 |
+
lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro
|
1624 |
+
g14=
|
1625 |
+
-----END CERTIFICATE-----
|
1626 |
+
|
1627 |
+
Taiwan GRCA
|
1628 |
+
===========
|
1629 |
+
-----BEGIN CERTIFICATE-----
|
1630 |
+
MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
|
1631 |
+
EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
|
1632 |
+
DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
|
1633 |
+
dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
|
1634 |
+
ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
|
1635 |
+
w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
|
1636 |
+
BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
|
1637 |
+
1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
|
1638 |
+
htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
|
1639 |
+
J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
|
1640 |
+
Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
|
1641 |
+
B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
|
1642 |
+
O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
|
1643 |
+
lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
|
1644 |
+
HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
|
1645 |
+
09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
|
1646 |
+
TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
|
1647 |
+
Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
|
1648 |
+
Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
|
1649 |
+
D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
|
1650 |
+
DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
|
1651 |
+
Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
|
1652 |
+
7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
|
1653 |
+
CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
|
1654 |
+
+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
|
1655 |
+
-----END CERTIFICATE-----
|
1656 |
+
|
1657 |
+
Firmaprofesional Root CA
|
1658 |
+
========================
|
1659 |
+
-----BEGIN CERTIFICATE-----
|
1660 |
+
MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT
|
1661 |
+
GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp
|
1662 |
+
Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA
|
1663 |
+
ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL
|
1664 |
+
MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT
|
1665 |
+
OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2
|
1666 |
+
ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB
|
1667 |
+
AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V
|
1668 |
+
j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH
|
1669 |
+
lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf
|
1670 |
+
3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8
|
1671 |
+
NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww
|
1672 |
+
KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG
|
1673 |
+
AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud
|
1674 |
+
DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD
|
1675 |
+
ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq
|
1676 |
+
u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf
|
1677 |
+
wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm
|
1678 |
+
7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG
|
1679 |
+
VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA=
|
1680 |
+
-----END CERTIFICATE-----
|
1681 |
+
|
1682 |
+
Wells Fargo Root CA
|
1683 |
+
===================
|
1684 |
+
-----BEGIN CERTIFICATE-----
|
1685 |
+
MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV
|
1686 |
+
BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv
|
1687 |
+
cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
|
1688 |
+
MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl
|
1689 |
+
bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv
|
1690 |
+
MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG
|
1691 |
+
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX
|
1692 |
+
x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3
|
1693 |
+
E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5
|
1694 |
+
OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j
|
1695 |
+
sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj
|
1696 |
+
YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF
|
1697 |
+
BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD
|
1698 |
+
ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv
|
1699 |
+
m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R
|
1700 |
+
OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx
|
1701 |
+
x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023
|
1702 |
+
tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s=
|
1703 |
+
-----END CERTIFICATE-----
|
1704 |
+
|
1705 |
+
Swisscom Root CA 1
|
1706 |
+
==================
|
1707 |
+
-----BEGIN CERTIFICATE-----
|
1708 |
+
MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG
|
1709 |
+
EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy
|
1710 |
+
dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4
|
1711 |
+
MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln
|
1712 |
+
aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC
|
1713 |
+
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM
|
1714 |
+
MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF
|
1715 |
+
NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe
|
1716 |
+
AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC
|
1717 |
+
b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn
|
1718 |
+
7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN
|
1719 |
+
cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp
|
1720 |
+
WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5
|
1721 |
+
haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY
|
1722 |
+
MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw
|
1723 |
+
HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
|
1724 |
+
BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9
|
1725 |
+
MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn
|
1726 |
+
jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ
|
1727 |
+
MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H
|
1728 |
+
VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl
|
1729 |
+
vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl
|
1730 |
+
OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3
|
1731 |
+
1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq
|
1732 |
+
nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy
|
1733 |
+
x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW
|
1734 |
+
NY6E0F/6MBr1mmz0DlP5OlvRHA==
|
1735 |
+
-----END CERTIFICATE-----
|
1736 |
+
|
1737 |
+
DigiCert Assured ID Root CA
|
1738 |
+
===========================
|
1739 |
+
-----BEGIN CERTIFICATE-----
|
1740 |
+
MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG
|
1741 |
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw
|
1742 |
+
IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx
|
1743 |
+
MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
|
1744 |
+
ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew
|
1745 |
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO
|
1746 |
+
9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy
|
1747 |
+
UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW
|
1748 |
+
/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy
|
1749 |
+
oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf
|
1750 |
+
GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF
|
1751 |
+
66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq
|
1752 |
+
hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc
|
1753 |
+
EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn
|
1754 |
+
SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i
|
1755 |
+
8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe
|
1756 |
+
+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==
|
1757 |
+
-----END CERTIFICATE-----
|
1758 |
+
|
1759 |
+
DigiCert Global Root CA
|
1760 |
+
=======================
|
1761 |
+
-----BEGIN CERTIFICATE-----
|
1762 |
+
MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG
|
1763 |
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw
|
1764 |
+
HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw
|
1765 |
+
MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3
|
1766 |
+
dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq
|
1767 |
+
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn
|
1768 |
+
TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5
|
1769 |
+
BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H
|
1770 |
+
4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y
|
1771 |
+
7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB
|
1772 |
+
o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm
|
1773 |
+
8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF
|
1774 |
+
BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr
|
1775 |
+
EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt
|
1776 |
+
tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886
|
1777 |
+
UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
|
1778 |
+
CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
|
1779 |
+
-----END CERTIFICATE-----
|
1780 |
+
|
1781 |
+
DigiCert High Assurance EV Root CA
|
1782 |
+
==================================
|
1783 |
+
-----BEGIN CERTIFICATE-----
|
1784 |
+
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG
|
1785 |
+
EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw
|
1786 |
+
KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw
|
1787 |
+
MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ
|
1788 |
+
MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu
|
1789 |
+
Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t
|
1790 |
+
Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS
|
1791 |
+
OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3
|
1792 |
+
MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ
|
1793 |
+
NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe
|
1794 |
+
h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB
|
1795 |
+
Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY
|
1796 |
+
JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ
|
1797 |
+
V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp
|
1798 |
+
myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK
|
1799 |
+
mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
1800 |
+
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
|
1801 |
+
-----END CERTIFICATE-----
|
1802 |
+
|
1803 |
+
Certplus Class 2 Primary CA
|
1804 |
+
===========================
|
1805 |
+
-----BEGIN CERTIFICATE-----
|
1806 |
+
MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
|
1807 |
+
BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
|
1808 |
+
OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
|
1809 |
+
dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
1810 |
+
ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
|
1811 |
+
5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
|
1812 |
+
Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
|
1813 |
+
YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
|
1814 |
+
e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
|
1815 |
+
CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
|
1816 |
+
YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
|
1817 |
+
L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
|
1818 |
+
P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
|
1819 |
+
TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
|
1820 |
+
7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
|
1821 |
+
//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
|
1822 |
+
l7+ijrRU
|
1823 |
+
-----END CERTIFICATE-----
|
1824 |
+
|
1825 |
+
DST Root CA X3
|
1826 |
+
==============
|
1827 |
+
-----BEGIN CERTIFICATE-----
|
1828 |
+
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
|
1829 |
+
ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
|
1830 |
+
DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
|
1831 |
+
cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
|
1832 |
+
ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
|
1833 |
+
rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
|
1834 |
+
UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
|
1835 |
+
xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
|
1836 |
+
utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
|
1837 |
+
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
|
1838 |
+
MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
|
1839 |
+
dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
|
1840 |
+
GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
|
1841 |
+
RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
|
1842 |
+
fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
|
1843 |
+
-----END CERTIFICATE-----
|
1844 |
+
|
1845 |
+
DST ACES CA X6
|
1846 |
+
==============
|
1847 |
+
-----BEGIN CERTIFICATE-----
|
1848 |
+
MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG
|
1849 |
+
EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT
|
1850 |
+
MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha
|
1851 |
+
MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE
|
1852 |
+
CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC
|
1853 |
+
AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI
|
1854 |
+
DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa
|
1855 |
+
pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow
|
1856 |
+
GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy
|
1857 |
+
MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud
|
1858 |
+
EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu
|
1859 |
+
Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy
|
1860 |
+
dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU
|
1861 |
+
CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2
|
1862 |
+
5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t
|
1863 |
+
Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq
|
1864 |
+
nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs
|
1865 |
+
vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3
|
1866 |
+
oKfN5XozNmr6mis=
|
1867 |
+
-----END CERTIFICATE-----
|
1868 |
+
|
1869 |
+
TURKTRUST Certificate Services Provider Root 1
|
1870 |
+
==============================================
|
1871 |
+
-----BEGIN CERTIFICATE-----
|
1872 |
+
MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF
|
1873 |
+
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP
|
1874 |
+
MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0
|
1875 |
+
acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx
|
1876 |
+
MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg
|
1877 |
+
U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB
|
1878 |
+
TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC
|
1879 |
+
aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
1880 |
+
AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX
|
1881 |
+
yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i
|
1882 |
+
Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ
|
1883 |
+
8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4
|
1884 |
+
W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME
|
1885 |
+
BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46
|
1886 |
+
sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE
|
1887 |
+
q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy
|
1888 |
+
B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY
|
1889 |
+
nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H
|
1890 |
+
-----END CERTIFICATE-----
|
1891 |
+
|
1892 |
+
TURKTRUST Certificate Services Provider Root 2
|
1893 |
+
==============================================
|
1894 |
+
-----BEGIN CERTIFICATE-----
|
1895 |
+
MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF
|
1896 |
+
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP
|
1897 |
+
MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg
|
1898 |
+
QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN
|
1899 |
+
MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr
|
1900 |
+
dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G
|
1901 |
+
A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls
|
1902 |
+
acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G
|
1903 |
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe
|
1904 |
+
LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI
|
1905 |
+
x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g
|
1906 |
+
QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr
|
1907 |
+
5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB
|
1908 |
+
AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G
|
1909 |
+
A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt
|
1910 |
+
Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4
|
1911 |
+
Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+
|
1912 |
+
hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P
|
1913 |
+
9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5
|
1914 |
+
UrbnBEI=
|
1915 |
+
-----END CERTIFICATE-----
|
1916 |
+
|
1917 |
+
SwissSign Platinum CA - G2
|
1918 |
+
==========================
|
1919 |
+
-----BEGIN CERTIFICATE-----
|
1920 |
+
MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCQ0gxFTAT
|
1921 |
+
BgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWduIFBsYXRpbnVtIENBIC0gRzIw
|
1922 |
+
HhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAwWjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMM
|
1923 |
+
U3dpc3NTaWduIEFHMSMwIQYDVQQDExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJ
|
1924 |
+
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu
|
1925 |
+
669yIIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2HtnIuJpX+UF
|
1926 |
+
eNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+6ixuEFGSzH7VozPY1kne
|
1927 |
+
WCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5objM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIo
|
1928 |
+
j5+saCB9bzuohTEJfwvH6GXp43gOCWcwizSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/6
|
1929 |
+
8++QHkwFix7qepF6w9fl+zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34T
|
1930 |
+
aNhxKFrYzt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaPpZjy
|
1931 |
+
domyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtFKwH3HBqi7Ri6Cr2D
|
1932 |
+
+m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuWae5ogObnmLo2t/5u7Su9IPhlGdpV
|
1933 |
+
CX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMBAAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
|
1934 |
+
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCv
|
1935 |
+
zAeHFUdvOMW0ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW
|
1936 |
+
IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUAA4ICAQAIhab1
|
1937 |
+
Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0uMoI3LQwnkAHFmtllXcBrqS3
|
1938 |
+
NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4
|
1939 |
+
U99REJNi54Av4tHgvI42Rncz7Lj7jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8
|
1940 |
+
KV2LwUvJ4ooTHbG/u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl
|
1941 |
+
9x8DYSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1puEa+S1B
|
1942 |
+
aYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXaicYwu+uPyyIIoK6q8QNs
|
1943 |
+
OktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbGDI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSY
|
1944 |
+
Mdp08YSTcU1f+2BY0fvEwW2JorsgH51xkcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAci
|
1945 |
+
IfNAChs0B0QTwoRqjt8ZWr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g==
|
1946 |
+
-----END CERTIFICATE-----
|
1947 |
+
|
1948 |
+
SwissSign Gold CA - G2
|
1949 |
+
======================
|
1950 |
+
-----BEGIN CERTIFICATE-----
|
1951 |
+
MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw
|
1952 |
+
EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN
|
1953 |
+
MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp
|
1954 |
+
c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B
|
1955 |
+
AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq
|
1956 |
+
t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C
|
1957 |
+
jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg
|
1958 |
+
vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF
|
1959 |
+
ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR
|
1960 |
+
AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend
|
1961 |
+
jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO
|
1962 |
+
peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR
|
1963 |
+
7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi
|
1964 |
+
GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw
|
1965 |
+
AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64
|
1966 |
+
OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov
|
1967 |
+
L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm
|
1968 |
+
5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
|
1969 |
+
44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf
|
1970 |
+
Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m
|
1971 |
+
Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp
|
1972 |
+
mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk
|
1973 |
+
vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf
|
1974 |
+
KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br
|
1975 |
+
NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
|
1976 |
+
viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
|
1977 |
+
-----END CERTIFICATE-----
|
1978 |
+
|
1979 |
+
SwissSign Silver CA - G2
|
1980 |
+
========================
|
1981 |
+
-----BEGIN CERTIFICATE-----
|
1982 |
+
MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT
|
1983 |
+
BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
|
1984 |
+
DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3
|
1985 |
+
aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG
|
1986 |
+
9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644
|
1987 |
+
N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm
|
1988 |
+
+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH
|
1989 |
+
6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu
|
1990 |
+
MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
|
1991 |
+
qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5
|
1992 |
+
FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs
|
1993 |
+
ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc
|
1994 |
+
celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X
|
1995 |
+
CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
|
1996 |
+
BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB
|
1997 |
+
tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0
|
1998 |
+
cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P
|
1999 |
+
4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F
|
2000 |
+
kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L
|
2001 |
+
3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx
|
2002 |
+
/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa
|
2003 |
+
DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
|
2004 |
+
e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu
|
2005 |
+
WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
|
2006 |
+
DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
|
2007 |
+
DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
|
2008 |
+
-----END CERTIFICATE-----
|
2009 |
+
|
2010 |
+
GeoTrust Primary Certification Authority
|
2011 |
+
========================================
|
2012 |
+
-----BEGIN CERTIFICATE-----
|
2013 |
+
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
|
2014 |
+
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
|
2015 |
+
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
|
2016 |
+
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
|
2017 |
+
cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
2018 |
+
CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
|
2019 |
+
b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
|
2020 |
+
nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
|
2021 |
+
RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
|
2022 |
+
tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
|
2023 |
+
AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
|
2024 |
+
hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
|
2025 |
+
Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
|
2026 |
+
NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
|
2027 |
+
Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
|
2028 |
+
1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
|
2029 |
+
-----END CERTIFICATE-----
|
2030 |
+
|
2031 |
+
thawte Primary Root CA
|
2032 |
+
======================
|
2033 |
+
-----BEGIN CERTIFICATE-----
|
2034 |
+
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
|
2035 |
+
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
2036 |
+
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
2037 |
+
cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
|
2038 |
+
MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
|
2039 |
+
SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
|
2040 |
+
KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
|
2041 |
+
FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
|
2042 |
+
oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
|
2043 |
+
1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
|
2044 |
+
q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
|
2045 |
+
aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
|
2046 |
+
afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
|
2047 |
+
VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
|
2048 |
+
AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
|
2049 |
+
uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
|
2050 |
+
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
|
2051 |
+
jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
|
2052 |
+
z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
|
2053 |
+
-----END CERTIFICATE-----
|
2054 |
+
|
2055 |
+
VeriSign Class 3 Public Primary Certification Authority - G5
|
2056 |
+
============================================================
|
2057 |
+
-----BEGIN CERTIFICATE-----
|
2058 |
+
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
|
2059 |
+
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
|
2060 |
+
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
|
2061 |
+
IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
|
2062 |
+
ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
|
2063 |
+
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
|
2064 |
+
biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
|
2065 |
+
dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
|
2066 |
+
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
2067 |
+
ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
|
2068 |
+
j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
|
2069 |
+
Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
|
2070 |
+
Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
|
2071 |
+
fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
|
2072 |
+
BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
|
2073 |
+
Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
|
2074 |
+
aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
|
2075 |
+
SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
|
2076 |
+
X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
|
2077 |
+
KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
|
2078 |
+
Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
|
2079 |
+
ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
|
2080 |
+
-----END CERTIFICATE-----
|
2081 |
+
|
2082 |
+
SecureTrust CA
|
2083 |
+
==============
|
2084 |
+
-----BEGIN CERTIFICATE-----
|
2085 |
+
MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG
|
2086 |
+
EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy
|
2087 |
+
dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe
|
2088 |
+
BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC
|
2089 |
+
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX
|
2090 |
+
OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t
|
2091 |
+
DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH
|
2092 |
+
GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b
|
2093 |
+
01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH
|
2094 |
+
ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/
|
2095 |
+
BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj
|
2096 |
+
aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
|
2097 |
+
KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu
|
2098 |
+
SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf
|
2099 |
+
mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ
|
2100 |
+
nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR
|
2101 |
+
3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=
|
2102 |
+
-----END CERTIFICATE-----
|
2103 |
+
|
2104 |
+
Secure Global CA
|
2105 |
+
================
|
2106 |
+
-----BEGIN CERTIFICATE-----
|
2107 |
+
MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG
|
2108 |
+
EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH
|
2109 |
+
bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg
|
2110 |
+
MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg
|
2111 |
+
Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx
|
2112 |
+
YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ
|
2113 |
+
bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g
|
2114 |
+
8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV
|
2115 |
+
HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi
|
2116 |
+
0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud
|
2117 |
+
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn
|
2118 |
+
oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA
|
2119 |
+
MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+
|
2120 |
+
OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn
|
2121 |
+
CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5
|
2122 |
+
3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc
|
2123 |
+
f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW
|
2124 |
+
-----END CERTIFICATE-----
|
2125 |
+
|
2126 |
+
COMODO Certification Authority
|
2127 |
+
==============================
|
2128 |
+
-----BEGIN CERTIFICATE-----
|
2129 |
+
MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE
|
2130 |
+
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG
|
2131 |
+
A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1
|
2132 |
+
dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb
|
2133 |
+
MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD
|
2134 |
+
T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
|
2135 |
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH
|
2136 |
+
+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww
|
2137 |
+
xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV
|
2138 |
+
4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA
|
2139 |
+
1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI
|
2140 |
+
rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E
|
2141 |
+
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k
|
2142 |
+
b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC
|
2143 |
+
AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP
|
2144 |
+
OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/
|
2145 |
+
RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc
|
2146 |
+
IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN
|
2147 |
+
+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ==
|
2148 |
+
-----END CERTIFICATE-----
|
2149 |
+
|
2150 |
+
Network Solutions Certificate Authority
|
2151 |
+
=======================================
|
2152 |
+
-----BEGIN CERTIFICATE-----
|
2153 |
+
MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG
|
2154 |
+
EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
|
2155 |
+
IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx
|
2156 |
+
MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu
|
2157 |
+
MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
|
2158 |
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx
|
2159 |
+
jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT
|
2160 |
+
aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT
|
2161 |
+
crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc
|
2162 |
+
/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB
|
2163 |
+
AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP
|
2164 |
+
BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv
|
2165 |
+
bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA
|
2166 |
+
A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q
|
2167 |
+
4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/
|
2168 |
+
GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv
|
2169 |
+
wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD
|
2170 |
+
ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey
|
2171 |
+
-----END CERTIFICATE-----
|
2172 |
+
|
2173 |
+
WellsSecure Public Root Certificate Authority
|
2174 |
+
=============================================
|
2175 |
+
-----BEGIN CERTIFICATE-----
|
2176 |
+
MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM
|
2177 |
+
F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw
|
2178 |
+
NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN
|
2179 |
+
MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl
|
2180 |
+
bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD
|
2181 |
+
VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G
|
2182 |
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1
|
2183 |
+
iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13
|
2184 |
+
i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8
|
2185 |
+
bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB
|
2186 |
+
K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB
|
2187 |
+
AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu
|
2188 |
+
cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm
|
2189 |
+
lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB
|
2190 |
+
i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww
|
2191 |
+
GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg
|
2192 |
+
Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI
|
2193 |
+
K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0
|
2194 |
+
bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj
|
2195 |
+
qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es
|
2196 |
+
E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ
|
2197 |
+
tylv2G0xffX8oRAHh84vWdw+WNs=
|
2198 |
+
-----END CERTIFICATE-----
|
2199 |
+
|
2200 |
+
COMODO ECC Certification Authority
|
2201 |
+
==================================
|
2202 |
+
-----BEGIN CERTIFICATE-----
|
2203 |
+
MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC
|
2204 |
+
R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE
|
2205 |
+
ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB
|
2206 |
+
dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix
|
2207 |
+
GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
|
2208 |
+
Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo
|
2209 |
+
b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X
|
2210 |
+
4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni
|
2211 |
+
wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E
|
2212 |
+
BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG
|
2213 |
+
FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
|
2214 |
+
U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
|
2215 |
+
-----END CERTIFICATE-----
|
2216 |
+
|
2217 |
+
IGC/A
|
2218 |
+
=====
|
2219 |
+
-----BEGIN CERTIFICATE-----
|
2220 |
+
MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD
|
2221 |
+
VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE
|
2222 |
+
Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy
|
2223 |
+
MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI
|
2224 |
+
EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT
|
2225 |
+
STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB
|
2226 |
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2
|
2227 |
+
TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW
|
2228 |
+
So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy
|
2229 |
+
HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd
|
2230 |
+
frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ
|
2231 |
+
tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB
|
2232 |
+
egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC
|
2233 |
+
iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK
|
2234 |
+
q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q
|
2235 |
+
MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg
|
2236 |
+
Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI
|
2237 |
+
lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF
|
2238 |
+
0mBWWg==
|
2239 |
+
-----END CERTIFICATE-----
|
2240 |
+
|
2241 |
+
Security Communication EV RootCA1
|
2242 |
+
=================================
|
2243 |
+
-----BEGIN CERTIFICATE-----
|
2244 |
+
MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
|
2245 |
+
U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh
|
2246 |
+
dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE
|
2247 |
+
BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl
|
2248 |
+
Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
2249 |
+
AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO
|
2250 |
+
/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX
|
2251 |
+
WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z
|
2252 |
+
ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4
|
2253 |
+
bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK
|
2254 |
+
9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
|
2255 |
+
SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm
|
2256 |
+
iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG
|
2257 |
+
Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW
|
2258 |
+
mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW
|
2259 |
+
T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490
|
2260 |
+
-----END CERTIFICATE-----
|
2261 |
+
|
2262 |
+
OISTE WISeKey Global Root GA CA
|
2263 |
+
===============================
|
2264 |
+
-----BEGIN CERTIFICATE-----
|
2265 |
+
MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
|
2266 |
+
BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
|
2267 |
+
A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
|
2268 |
+
bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
|
2269 |
+
VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
|
2270 |
+
IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
|
2271 |
+
IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
|
2272 |
+
Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
|
2273 |
+
Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
|
2274 |
+
d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
|
2275 |
+
/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
|
2276 |
+
LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
|
2277 |
+
AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
|
2278 |
+
KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
|
2279 |
+
MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
|
2280 |
+
+vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
|
2281 |
+
hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
|
2282 |
+
okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
|
2283 |
+
-----END CERTIFICATE-----
|
2284 |
+
|
2285 |
+
S-TRUST Authentication and Encryption Root CA 2005 PN
|
2286 |
+
=====================================================
|
2287 |
+
-----BEGIN CERTIFICATE-----
|
2288 |
+
MIIEezCCA2OgAwIBAgIQNxkY5lNUfBq1uMtZWts1tzANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE
|
2289 |
+
BhMCREUxIDAeBgNVBAgTF0JhZGVuLVd1ZXJ0dGVtYmVyZyAoQlcpMRIwEAYDVQQHEwlTdHV0dGdh
|
2290 |
+
cnQxKTAnBgNVBAoTIERldXRzY2hlciBTcGFya2Fzc2VuIFZlcmxhZyBHbWJIMT4wPAYDVQQDEzVT
|
2291 |
+
LVRSVVNUIEF1dGhlbnRpY2F0aW9uIGFuZCBFbmNyeXB0aW9uIFJvb3QgQ0EgMjAwNTpQTjAeFw0w
|
2292 |
+
NTA2MjIwMDAwMDBaFw0zMDA2MjEyMzU5NTlaMIGuMQswCQYDVQQGEwJERTEgMB4GA1UECBMXQmFk
|
2293 |
+
ZW4tV3VlcnR0ZW1iZXJnIChCVykxEjAQBgNVBAcTCVN0dXR0Z2FydDEpMCcGA1UEChMgRGV1dHNj
|
2294 |
+
aGVyIFNwYXJrYXNzZW4gVmVybGFnIEdtYkgxPjA8BgNVBAMTNVMtVFJVU1QgQXV0aGVudGljYXRp
|
2295 |
+
b24gYW5kIEVuY3J5cHRpb24gUm9vdCBDQSAyMDA1OlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
2296 |
+
MIIBCgKCAQEA2bVKwdMz6tNGs9HiTNL1toPQb9UY6ZOvJ44TzbUlNlA0EmQpoVXhOmCTnijJ4/Ob
|
2297 |
+
4QSwI7+Vio5bG0F/WsPoTUzVJBY+h0jUJ67m91MduwwA7z5hca2/OnpYH5Q9XIHV1W/fuJvS9eXL
|
2298 |
+
g3KSwlOyggLrra1fFi2SU3bxibYs9cEv4KdKb6AwajLrmnQDaHgTncovmwsdvs91DSaXm8f1Xgqf
|
2299 |
+
eN+zvOyauu9VjxuapgdjKRdZYgkqeQd3peDRF2npW932kKvimAoA0SVtnteFhy+S8dF2g08LOlk3
|
2300 |
+
KC8zpxdQ1iALCvQm+Z845y2kuJuJja2tyWp9iRe79n+Ag3rm7QIDAQABo4GSMIGPMBIGA1UdEwEB
|
2301 |
+
/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTVFJv
|
2302 |
+
bmxpbmUxLTIwNDgtNTAdBgNVHQ4EFgQUD8oeXHngovMpttKFswtKtWXsa1IwHwYDVR0jBBgwFoAU
|
2303 |
+
D8oeXHngovMpttKFswtKtWXsa1IwDQYJKoZIhvcNAQEFBQADggEBAK8B8O0ZPCjoTVy7pWMciDMD
|
2304 |
+
pwCHpB8gq9Yc4wYfl35UvbfRssnV2oDsF9eK9XvCAPbpEW+EoFolMeKJ+aQAPzFoLtU96G7m1R08
|
2305 |
+
P7K9n3frndOMusDXtk3sU5wPBG7qNWdX4wple5A64U8+wwCSersFiXOMy6ZNwPv2AtawB6MDwidA
|
2306 |
+
nwzkhYItr5pCHdDHjfhA7p0GVxzZotiAFP7hYy0yh9WUUpY6RsZxlj33mA6ykaqP2vROJAA5Veit
|
2307 |
+
F7nTNCtKqUDMFypVZUF0Qn71wK/Ik63yGFs9iQzbRzkk+OBM8h+wPQrKBU6JIRrjKpms/H+h8Q8b
|
2308 |
+
Hz2eBIPdltkdOpQ=
|
2309 |
+
-----END CERTIFICATE-----
|
2310 |
+
|
2311 |
+
Microsec e-Szigno Root CA
|
2312 |
+
=========================
|
2313 |
+
-----BEGIN CERTIFICATE-----
|
2314 |
+
MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE
|
2315 |
+
BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL
|
2316 |
+
EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0
|
2317 |
+
MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz
|
2318 |
+
dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT
|
2319 |
+
GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
|
2320 |
+
AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG
|
2321 |
+
d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N
|
2322 |
+
oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc
|
2323 |
+
QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ
|
2324 |
+
PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb
|
2325 |
+
MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG
|
2326 |
+
IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD
|
2327 |
+
VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3
|
2328 |
+
LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A
|
2329 |
+
dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn
|
2330 |
+
AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA
|
2331 |
+
4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg
|
2332 |
+
AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA
|
2333 |
+
egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6
|
2334 |
+
Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO
|
2335 |
+
PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv
|
2336 |
+
c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h
|
2337 |
+
cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw
|
2338 |
+
IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT
|
2339 |
+
WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV
|
2340 |
+
MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER
|
2341 |
+
MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp
|
2342 |
+
Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal
|
2343 |
+
HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT
|
2344 |
+
nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE
|
2345 |
+
aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a
|
2346 |
+
86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK
|
2347 |
+
yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB
|
2348 |
+
S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU=
|
2349 |
+
-----END CERTIFICATE-----
|
2350 |
+
|
2351 |
+
Certigna
|
2352 |
+
========
|
2353 |
+
-----BEGIN CERTIFICATE-----
|
2354 |
+
MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw
|
2355 |
+
EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3
|
2356 |
+
MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI
|
2357 |
+
Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q
|
2358 |
+
XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH
|
2359 |
+
GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p
|
2360 |
+
ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg
|
2361 |
+
DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf
|
2362 |
+
Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ
|
2363 |
+
tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ
|
2364 |
+
BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J
|
2365 |
+
SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA
|
2366 |
+
hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+
|
2367 |
+
ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu
|
2368 |
+
PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
|
2369 |
+
1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw
|
2370 |
+
WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
|
2371 |
+
-----END CERTIFICATE-----
|
2372 |
+
|
2373 |
+
AC Ra\xC3\xADz Certic\xC3\xA1mara S.A.
|
2374 |
+
======================================
|
2375 |
+
-----BEGIN CERTIFICATE-----
|
2376 |
+
MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT
|
2377 |
+
AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg
|
2378 |
+
LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w
|
2379 |
+
HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+
|
2380 |
+
U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh
|
2381 |
+
IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B
|
2382 |
+
AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN
|
2383 |
+
yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU
|
2384 |
+
2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3
|
2385 |
+
4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP
|
2386 |
+
2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm
|
2387 |
+
8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf
|
2388 |
+
HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa
|
2389 |
+
Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK
|
2390 |
+
5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b
|
2391 |
+
czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE
|
2392 |
+
AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g
|
2393 |
+
ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF
|
2394 |
+
BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug
|
2395 |
+
cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf
|
2396 |
+
AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX
|
2397 |
+
EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v
|
2398 |
+
/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3
|
2399 |
+
MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4
|
2400 |
+
3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk
|
2401 |
+
eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f
|
2402 |
+
/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h
|
2403 |
+
RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU
|
2404 |
+
Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ==
|
2405 |
+
-----END CERTIFICATE-----
|
2406 |
+
|
2407 |
+
TC TrustCenter Class 2 CA II
|
2408 |
+
============================
|
2409 |
+
-----BEGIN CERTIFICATE-----
|
2410 |
+
MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
|
2411 |
+
REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
|
2412 |
+
IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw
|
2413 |
+
MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
|
2414 |
+
c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE
|
2415 |
+
AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
2416 |
+
AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw
|
2417 |
+
IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2
|
2418 |
+
xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ
|
2419 |
+
Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u
|
2420 |
+
SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB
|
2421 |
+
/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB
|
2422 |
+
7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
|
2423 |
+
Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
|
2424 |
+
cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
|
2425 |
+
SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
|
2426 |
+
TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G
|
2427 |
+
dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ
|
2428 |
+
KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj
|
2429 |
+
TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP
|
2430 |
+
JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk
|
2431 |
+
vQ==
|
2432 |
+
-----END CERTIFICATE-----
|
2433 |
+
|
2434 |
+
TC TrustCenter Class 3 CA II
|
2435 |
+
============================
|
2436 |
+
-----BEGIN CERTIFICATE-----
|
2437 |
+
MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC
|
2438 |
+
REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy
|
2439 |
+
IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw
|
2440 |
+
MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1
|
2441 |
+
c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE
|
2442 |
+
AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
2443 |
+
AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W
|
2444 |
+
yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo
|
2445 |
+
6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ
|
2446 |
+
uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk
|
2447 |
+
2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB
|
2448 |
+
/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB
|
2449 |
+
7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90
|
2450 |
+
Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU
|
2451 |
+
cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i
|
2452 |
+
SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
|
2453 |
+
TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE
|
2454 |
+
O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8
|
2455 |
+
yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9
|
2456 |
+
IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal
|
2457 |
+
092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc
|
2458 |
+
5A==
|
2459 |
+
-----END CERTIFICATE-----
|
2460 |
+
|
2461 |
+
TC TrustCenter Universal CA I
|
2462 |
+
=============================
|
2463 |
+
-----BEGIN CERTIFICATE-----
|
2464 |
+
MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC
|
2465 |
+
REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
|
2466 |
+
IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN
|
2467 |
+
MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg
|
2468 |
+
VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw
|
2469 |
+
JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD
|
2470 |
+
ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC
|
2471 |
+
qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv
|
2472 |
+
xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw
|
2473 |
+
ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O
|
2474 |
+
gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j
|
2475 |
+
BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
2476 |
+
AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG
|
2477 |
+
1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy
|
2478 |
+
vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3
|
2479 |
+
ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT
|
2480 |
+
ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a
|
2481 |
+
7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY
|
2482 |
+
-----END CERTIFICATE-----
|
2483 |
+
|
2484 |
+
Deutsche Telekom Root CA 2
|
2485 |
+
==========================
|
2486 |
+
-----BEGIN CERTIFICATE-----
|
2487 |
+
MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
|
2488 |
+
RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
|
2489 |
+
A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
|
2490 |
+
MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
|
2491 |
+
A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
|
2492 |
+
b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
|
2493 |
+
bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
|
2494 |
+
KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
|
2495 |
+
AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
|
2496 |
+
Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
|
2497 |
+
jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
|
2498 |
+
HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
|
2499 |
+
E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
|
2500 |
+
zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
|
2501 |
+
rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
|
2502 |
+
dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
|
2503 |
+
Cm26OWMohpLzGITY+9HPBVZkVw==
|
2504 |
+
-----END CERTIFICATE-----
|
2505 |
+
|
2506 |
+
ComSign CA
|
2507 |
+
==========
|
2508 |
+
-----BEGIN CERTIFICATE-----
|
2509 |
+
MIIDkzCCAnugAwIBAgIQFBOWgxRVjOp7Y+X8NId3RDANBgkqhkiG9w0BAQUFADA0MRMwEQYDVQQD
|
2510 |
+
EwpDb21TaWduIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0wNDAzMjQxMTMy
|
2511 |
+
MThaFw0yOTAzMTkxNTAyMThaMDQxEzARBgNVBAMTCkNvbVNpZ24gQ0ExEDAOBgNVBAoTB0NvbVNp
|
2512 |
+
Z24xCzAJBgNVBAYTAklMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8ORUaSvTx49q
|
2513 |
+
ROR+WCf4C9DklBKK8Rs4OC8fMZwG1Cyn3gsqrhqg455qv588x26i+YtkbDqthVVRVKU4VbirgwTy
|
2514 |
+
P2Q298CNQ0NqZtH3FyrV7zb6MBBC11PN+fozc0yz6YQgitZBJzXkOPqUm7h65HkfM/sb2CEJKHxN
|
2515 |
+
GGleZIp6GZPKfuzzcuc3B1hZKKxC+cX/zT/npfo4sdAMx9lSGlPWgcxCejVb7Us6eva1jsz/D3zk
|
2516 |
+
YDaHL63woSV9/9JLEYhwVKZBqGdTUkJe5DSe5L6j7KpiXd3DTKaCQeQzC6zJMw9kglcq/QytNuEM
|
2517 |
+
rkvF7zuZ2SOzW120V+x0cAwqTwIDAQABo4GgMIGdMAwGA1UdEwQFMAMBAf8wPQYDVR0fBDYwNDAy
|
2518 |
+
oDCgLoYsaHR0cDovL2ZlZGlyLmNvbXNpZ24uY28uaWwvY3JsL0NvbVNpZ25DQS5jcmwwDgYDVR0P
|
2519 |
+
AQH/BAQDAgGGMB8GA1UdIwQYMBaAFEsBmz5WGmU2dst7l6qSBe4y5ygxMB0GA1UdDgQWBBRLAZs+
|
2520 |
+
VhplNnbLe5eqkgXuMucoMTANBgkqhkiG9w0BAQUFAAOCAQEA0Nmlfv4pYEWdfoPPbrxHbvUanlR2
|
2521 |
+
QnG0PFg/LUAlQvaBnPGJEMgOqnhPOAlXsDzACPw1jvFIUY0McXS6hMTXcpuEfDhOZAYnKuGntewI
|
2522 |
+
mbQKDdSFc8gS4TXt8QUxHXOZDOuWyt3T5oWq8Ir7dcHyCTxlZWTzTNity4hp8+SDtwy9F1qWF8pb
|
2523 |
+
/627HOkthIDYIb6FUtnUdLlphbpN7Sgy6/lhSuTENh4Z3G+EER+V9YMoGKgzkkMn3V0TBEVPh9VG
|
2524 |
+
zT2ouvDzuFYkRes3x+F2T3I5GN9+dHLHcy056mDmrRGiVod7w2ia/viMcKjfZTL0pECMocJEAw6U
|
2525 |
+
AGegcQCCSA==
|
2526 |
+
-----END CERTIFICATE-----
|
2527 |
+
|
2528 |
+
ComSign Secured CA
|
2529 |
+
==================
|
2530 |
+
-----BEGIN CERTIFICATE-----
|
2531 |
+
MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE
|
2532 |
+
AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w
|
2533 |
+
NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD
|
2534 |
+
QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
2535 |
+
ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs
|
2536 |
+
49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH
|
2537 |
+
7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB
|
2538 |
+
kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1
|
2539 |
+
9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw
|
2540 |
+
AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t
|
2541 |
+
U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA
|
2542 |
+
j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC
|
2543 |
+
AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a
|
2544 |
+
BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp
|
2545 |
+
FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP
|
2546 |
+
51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz
|
2547 |
+
OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw==
|
2548 |
+
-----END CERTIFICATE-----
|
2549 |
+
|
2550 |
+
Cybertrust Global Root
|
2551 |
+
======================
|
2552 |
+
-----BEGIN CERTIFICATE-----
|
2553 |
+
MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
|
2554 |
+
ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4
|
2555 |
+
MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD
|
2556 |
+
ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
|
2557 |
+
+Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW
|
2558 |
+
0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL
|
2559 |
+
AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin
|
2560 |
+
89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT
|
2561 |
+
8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP
|
2562 |
+
BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2
|
2563 |
+
MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G
|
2564 |
+
A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO
|
2565 |
+
lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi
|
2566 |
+
5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2
|
2567 |
+
hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T
|
2568 |
+
X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW
|
2569 |
+
WL1WMRJOEcgh4LMRkWXbtKaIOM5V
|
2570 |
+
-----END CERTIFICATE-----
|
2571 |
+
|
2572 |
+
ePKI Root Certification Authority
|
2573 |
+
=================================
|
2574 |
+
-----BEGIN CERTIFICATE-----
|
2575 |
+
MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG
|
2576 |
+
EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg
|
2577 |
+
Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx
|
2578 |
+
MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq
|
2579 |
+
MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B
|
2580 |
+
AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs
|
2581 |
+
IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi
|
2582 |
+
lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv
|
2583 |
+
qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX
|
2584 |
+
12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O
|
2585 |
+
WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+
|
2586 |
+
ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao
|
2587 |
+
lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/
|
2588 |
+
vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi
|
2589 |
+
Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi
|
2590 |
+
MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH
|
2591 |
+
ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0
|
2592 |
+
1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq
|
2593 |
+
KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV
|
2594 |
+
xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP
|
2595 |
+
NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r
|
2596 |
+
GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE
|
2597 |
+
xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx
|
2598 |
+
gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy
|
2599 |
+
sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
|
2600 |
+
BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw=
|
2601 |
+
-----END CERTIFICATE-----
|
2602 |
+
|
2603 |
+
T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3
|
2604 |
+
=============================================================================================================================
|
2605 |
+
-----BEGIN CERTIFICATE-----
|
2606 |
+
MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH
|
2607 |
+
DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q
|
2608 |
+
aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry
|
2609 |
+
b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV
|
2610 |
+
BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg
|
2611 |
+
S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4
|
2612 |
+
MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl
|
2613 |
+
IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF
|
2614 |
+
n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl
|
2615 |
+
IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft
|
2616 |
+
dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl
|
2617 |
+
cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B
|
2618 |
+
AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO
|
2619 |
+
Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1
|
2620 |
+
xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR
|
2621 |
+
6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL
|
2622 |
+
hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd
|
2623 |
+
BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
|
2624 |
+
MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4
|
2625 |
+
N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT
|
2626 |
+
y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh
|
2627 |
+
LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M
|
2628 |
+
dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI=
|
2629 |
+
-----END CERTIFICATE-----
|
2630 |
+
|
2631 |
+
Buypass Class 2 CA 1
|
2632 |
+
====================
|
2633 |
+
-----BEGIN CERTIFICATE-----
|
2634 |
+
MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
|
2635 |
+
QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2
|
2636 |
+
MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
|
2637 |
+
c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI
|
2638 |
+
hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M
|
2639 |
+
cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83
|
2640 |
+
0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4
|
2641 |
+
0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R
|
2642 |
+
uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC
|
2643 |
+
MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P
|
2644 |
+
AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV
|
2645 |
+
1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt
|
2646 |
+
7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2
|
2647 |
+
fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w
|
2648 |
+
wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho
|
2649 |
+
-----END CERTIFICATE-----
|
2650 |
+
|
2651 |
+
Buypass Class 3 CA 1
|
2652 |
+
====================
|
2653 |
+
-----BEGIN CERTIFICATE-----
|
2654 |
+
MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
|
2655 |
+
QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1
|
2656 |
+
MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh
|
2657 |
+
c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI
|
2658 |
+
hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx
|
2659 |
+
ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0
|
2660 |
+
n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia
|
2661 |
+
AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c
|
2662 |
+
1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC
|
2663 |
+
MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P
|
2664 |
+
AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7
|
2665 |
+
pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA
|
2666 |
+
EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5
|
2667 |
+
htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj
|
2668 |
+
el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915
|
2669 |
+
-----END CERTIFICATE-----
|
2670 |
+
|
2671 |
+
EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1
|
2672 |
+
==========================================================================
|
2673 |
+
-----BEGIN CERTIFICATE-----
|
2674 |
+
MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF
|
2675 |
+
bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg
|
2676 |
+
QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe
|
2677 |
+
Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p
|
2678 |
+
ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt
|
2679 |
+
IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG
|
2680 |
+
SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by
|
2681 |
+
X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b
|
2682 |
+
gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr
|
2683 |
+
eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ
|
2684 |
+
TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy
|
2685 |
+
Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn
|
2686 |
+
uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI
|
2687 |
+
qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm
|
2688 |
+
ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0
|
2689 |
+
Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB
|
2690 |
+
/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW
|
2691 |
+
Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t
|
2692 |
+
FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm
|
2693 |
+
zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k
|
2694 |
+
XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT
|
2695 |
+
bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU
|
2696 |
+
RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK
|
2697 |
+
1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt
|
2698 |
+
2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ
|
2699 |
+
Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9
|
2700 |
+
AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT
|
2701 |
+
-----END CERTIFICATE-----
|
2702 |
+
|
2703 |
+
certSIGN ROOT CA
|
2704 |
+
================
|
2705 |
+
-----BEGIN CERTIFICATE-----
|
2706 |
+
MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD
|
2707 |
+
VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa
|
2708 |
+
Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE
|
2709 |
+
CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I
|
2710 |
+
JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH
|
2711 |
+
rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2
|
2712 |
+
ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD
|
2713 |
+
0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943
|
2714 |
+
AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
|
2715 |
+
Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB
|
2716 |
+
AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8
|
2717 |
+
SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0
|
2718 |
+
x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt
|
2719 |
+
vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
|
2720 |
+
TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
|
2721 |
+
-----END CERTIFICATE-----
|
2722 |
+
|
2723 |
+
CNNIC ROOT
|
2724 |
+
==========
|
2725 |
+
-----BEGIN CERTIFICATE-----
|
2726 |
+
MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE
|
2727 |
+
ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw
|
2728 |
+
OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw
|
2729 |
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD
|
2730 |
+
o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz
|
2731 |
+
VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT
|
2732 |
+
VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or
|
2733 |
+
czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK
|
2734 |
+
y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC
|
2735 |
+
wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S
|
2736 |
+
lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5
|
2737 |
+
Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM
|
2738 |
+
O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8
|
2739 |
+
BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2
|
2740 |
+
G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m
|
2741 |
+
mxE=
|
2742 |
+
-----END CERTIFICATE-----
|
2743 |
+
|
2744 |
+
ApplicationCA - Japanese Government
|
2745 |
+
===================================
|
2746 |
+
-----BEGIN CERTIFICATE-----
|
2747 |
+
MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT
|
2748 |
+
SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw
|
2749 |
+
MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl
|
2750 |
+
cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
2751 |
+
CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4
|
2752 |
+
fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN
|
2753 |
+
wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE
|
2754 |
+
jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu
|
2755 |
+
nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU
|
2756 |
+
WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV
|
2757 |
+
BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD
|
2758 |
+
vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs
|
2759 |
+
o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g
|
2760 |
+
/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD
|
2761 |
+
io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW
|
2762 |
+
dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL
|
2763 |
+
rosot4LKGAfmt1t06SAZf7IbiVQ=
|
2764 |
+
-----END CERTIFICATE-----
|
2765 |
+
|
2766 |
+
GeoTrust Primary Certification Authority - G3
|
2767 |
+
=============================================
|
2768 |
+
-----BEGIN CERTIFICATE-----
|
2769 |
+
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
|
2770 |
+
BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
|
2771 |
+
IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
|
2772 |
+
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
|
2773 |
+
NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
|
2774 |
+
YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
|
2775 |
+
LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
|
2776 |
+
hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
|
2777 |
+
K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
|
2778 |
+
c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
|
2779 |
+
IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
|
2780 |
+
dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
|
2781 |
+
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
|
2782 |
+
2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
|
2783 |
+
cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
|
2784 |
+
Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
|
2785 |
+
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
|
2786 |
+
t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
|
2787 |
+
-----END CERTIFICATE-----
|
2788 |
+
|
2789 |
+
thawte Primary Root CA - G2
|
2790 |
+
===========================
|
2791 |
+
-----BEGIN CERTIFICATE-----
|
2792 |
+
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
|
2793 |
+
VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
|
2794 |
+
IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
|
2795 |
+
Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
|
2796 |
+
MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
|
2797 |
+
b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
|
2798 |
+
IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
|
2799 |
+
LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
|
2800 |
+
8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
|
2801 |
+
mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
|
2802 |
+
G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
|
2803 |
+
rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
|
2804 |
+
-----END CERTIFICATE-----
|
2805 |
+
|
2806 |
+
thawte Primary Root CA - G3
|
2807 |
+
===========================
|
2808 |
+
-----BEGIN CERTIFICATE-----
|
2809 |
+
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
|
2810 |
+
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
2811 |
+
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
2812 |
+
cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
|
2813 |
+
ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
|
2814 |
+
d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
|
2815 |
+
VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
|
2816 |
+
A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
2817 |
+
MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
|
2818 |
+
P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
|
2819 |
+
+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
|
2820 |
+
7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
|
2821 |
+
vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
|
2822 |
+
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
|
2823 |
+
KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
|
2824 |
+
A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
|
2825 |
+
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
|
2826 |
+
8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
|
2827 |
+
er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
|
2828 |
+
-----END CERTIFICATE-----
|
2829 |
+
|
2830 |
+
GeoTrust Primary Certification Authority - G2
|
2831 |
+
=============================================
|
2832 |
+
-----BEGIN CERTIFICATE-----
|
2833 |
+
MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC
|
2834 |
+
VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu
|
2835 |
+
Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD
|
2836 |
+
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1
|
2837 |
+
OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg
|
2838 |
+
MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
|
2839 |
+
b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG
|
2840 |
+
BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc
|
2841 |
+
KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD
|
2842 |
+
VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+
|
2843 |
+
EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m
|
2844 |
+
ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2
|
2845 |
+
npaqBA+K
|
2846 |
+
-----END CERTIFICATE-----
|
2847 |
+
|
2848 |
+
VeriSign Universal Root Certification Authority
|
2849 |
+
===============================================
|
2850 |
+
-----BEGIN CERTIFICATE-----
|
2851 |
+
MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE
|
2852 |
+
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
|
2853 |
+
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
|
2854 |
+
IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u
|
2855 |
+
IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV
|
2856 |
+
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
2857 |
+
cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
2858 |
+
IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0
|
2859 |
+
aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj
|
2860 |
+
1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP
|
2861 |
+
MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72
|
2862 |
+
9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I
|
2863 |
+
AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR
|
2864 |
+
tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G
|
2865 |
+
CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O
|
2866 |
+
a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud
|
2867 |
+
DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3
|
2868 |
+
Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx
|
2869 |
+
Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx
|
2870 |
+
P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P
|
2871 |
+
wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
|
2872 |
+
mJO37M2CYfE45k+XmCpajQ==
|
2873 |
+
-----END CERTIFICATE-----
|
2874 |
+
|
2875 |
+
VeriSign Class 3 Public Primary Certification Authority - G4
|
2876 |
+
============================================================
|
2877 |
+
-----BEGIN CERTIFICATE-----
|
2878 |
+
MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
|
2879 |
+
VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
|
2880 |
+
b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
|
2881 |
+
ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
|
2882 |
+
YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
|
2883 |
+
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
|
2884 |
+
cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
|
2885 |
+
b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
|
2886 |
+
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
|
2887 |
+
Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
|
2888 |
+
rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
|
2889 |
+
/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
|
2890 |
+
HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
|
2891 |
+
Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
|
2892 |
+
A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
|
2893 |
+
AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
|
2894 |
+
-----END CERTIFICATE-----
|
2895 |
+
|
2896 |
+
NetLock Arany (Class Gold) FÅ‘tanúsÃÂtvány
|
2897 |
+
============================================
|
2898 |
+
-----BEGIN CERTIFICATE-----
|
2899 |
+
MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G
|
2900 |
+
A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610
|
2901 |
+
dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB
|
2902 |
+
cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx
|
2903 |
+
MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO
|
2904 |
+
ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv
|
2905 |
+
biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6
|
2906 |
+
c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu
|
2907 |
+
0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw
|
2908 |
+
/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
|
2909 |
+
H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw
|
2910 |
+
fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1
|
2911 |
+
neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB
|
2912 |
+
BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW
|
2913 |
+
qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta
|
2914 |
+
YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC
|
2915 |
+
bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna
|
2916 |
+
NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
|
2917 |
+
dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
|
2918 |
+
-----END CERTIFICATE-----
|
2919 |
+
|
2920 |
+
Staat der Nederlanden Root CA - G2
|
2921 |
+
==================================
|
2922 |
+
-----BEGIN CERTIFICATE-----
|
2923 |
+
MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
|
2924 |
+
CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
|
2925 |
+
Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
|
2926 |
+
TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
|
2927 |
+
ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
|
2928 |
+
5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
|
2929 |
+
vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
|
2930 |
+
CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
|
2931 |
+
e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
|
2932 |
+
OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
|
2933 |
+
CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
|
2934 |
+
48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
|
2935 |
+
trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
|
2936 |
+
qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
|
2937 |
+
AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
|
2938 |
+
ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
|
2939 |
+
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
|
2940 |
+
A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
|
2941 |
+
+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
|
2942 |
+
f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
|
2943 |
+
kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
|
2944 |
+
CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
|
2945 |
+
URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
|
2946 |
+
CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
|
2947 |
+
oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
|
2948 |
+
IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
|
2949 |
+
66+KAQ==
|
2950 |
+
-----END CERTIFICATE-----
|
2951 |
+
|
2952 |
+
CA Disig
|
2953 |
+
========
|
2954 |
+
-----BEGIN CERTIFICATE-----
|
2955 |
+
MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK
|
2956 |
+
QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw
|
2957 |
+
MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz
|
2958 |
+
bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3
|
2959 |
+
DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm
|
2960 |
+
GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD
|
2961 |
+
Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo
|
2962 |
+
hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt
|
2963 |
+
ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w
|
2964 |
+
gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P
|
2965 |
+
AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz
|
2966 |
+
aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff
|
2967 |
+
ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa
|
2968 |
+
BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t
|
2969 |
+
WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3
|
2970 |
+
mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/
|
2971 |
+
CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K
|
2972 |
+
ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA
|
2973 |
+
4Z7CRneC9VkGjCFMhwnN5ag=
|
2974 |
+
-----END CERTIFICATE-----
|
2975 |
+
|
2976 |
+
Juur-SK
|
2977 |
+
=======
|
2978 |
+
-----BEGIN CERTIFICATE-----
|
2979 |
+
MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA
|
2980 |
+
c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw
|
2981 |
+
DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG
|
2982 |
+
SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy
|
2983 |
+
aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
2984 |
+
ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf
|
2985 |
+
TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC
|
2986 |
+
+Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw
|
2987 |
+
UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa
|
2988 |
+
Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF
|
2989 |
+
MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD
|
2990 |
+
HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh
|
2991 |
+
AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA
|
2992 |
+
cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr
|
2993 |
+
AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw
|
2994 |
+
cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE
|
2995 |
+
FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G
|
2996 |
+
A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo
|
2997 |
+
ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL
|
2998 |
+
abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678
|
2999 |
+
IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh
|
3000 |
+
Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2
|
3001 |
+
yyqcjg==
|
3002 |
+
-----END CERTIFICATE-----
|
3003 |
+
|
3004 |
+
Hongkong Post Root CA 1
|
3005 |
+
=======================
|
3006 |
+
-----BEGIN CERTIFICATE-----
|
3007 |
+
MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT
|
3008 |
+
DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx
|
3009 |
+
NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n
|
3010 |
+
IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF
|
3011 |
+
AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1
|
3012 |
+
ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr
|
3013 |
+
auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh
|
3014 |
+
qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY
|
3015 |
+
V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV
|
3016 |
+
HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i
|
3017 |
+
h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio
|
3018 |
+
l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei
|
3019 |
+
IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps
|
3020 |
+
T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT
|
3021 |
+
c4afU9hDDl3WY4JxHYB0yvbiAmvZWg==
|
3022 |
+
-----END CERTIFICATE-----
|
3023 |
+
|
3024 |
+
SecureSign RootCA11
|
3025 |
+
===================
|
3026 |
+
-----BEGIN CERTIFICATE-----
|
3027 |
+
MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi
|
3028 |
+
SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS
|
3029 |
+
b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw
|
3030 |
+
KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1
|
3031 |
+
cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL
|
3032 |
+
TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO
|
3033 |
+
wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq
|
3034 |
+
g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP
|
3035 |
+
O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA
|
3036 |
+
bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
|
3037 |
+
t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh
|
3038 |
+
OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r
|
3039 |
+
bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ
|
3040 |
+
Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01
|
3041 |
+
y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061
|
3042 |
+
lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I=
|
3043 |
+
-----END CERTIFICATE-----
|
3044 |
+
|
3045 |
+
ACEDICOM Root
|
3046 |
+
=============
|
3047 |
+
-----BEGIN CERTIFICATE-----
|
3048 |
+
MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD
|
3049 |
+
T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4
|
3050 |
+
MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG
|
3051 |
+
A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF
|
3052 |
+
AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk
|
3053 |
+
WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD
|
3054 |
+
YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew
|
3055 |
+
MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb
|
3056 |
+
m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk
|
3057 |
+
HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT
|
3058 |
+
xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2
|
3059 |
+
3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9
|
3060 |
+
2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq
|
3061 |
+
TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz
|
3062 |
+
4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU
|
3063 |
+
9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv
|
3064 |
+
bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg
|
3065 |
+
aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP
|
3066 |
+
eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk
|
3067 |
+
zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1
|
3068 |
+
ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI
|
3069 |
+
KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq
|
3070 |
+
nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE
|
3071 |
+
I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp
|
3072 |
+
MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o
|
3073 |
+
tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA==
|
3074 |
+
-----END CERTIFICATE-----
|
3075 |
+
|
3076 |
+
Verisign Class 1 Public Primary Certification Authority
|
3077 |
+
=======================================================
|
3078 |
+
-----BEGIN CERTIFICATE-----
|
3079 |
+
MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
|
3080 |
+
FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5
|
3081 |
+
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
|
3082 |
+
XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAx
|
3083 |
+
IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
|
3084 |
+
A4GNADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0fzGVuDLDQ
|
3085 |
+
VoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHiTkVWaR94AoDa3EeRKbs2
|
3086 |
+
yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFgVKTk8d6Pa
|
3087 |
+
XCUDfGD67gmZPCcQcMgMCeazh88K4hiWNWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n
|
3088 |
+
0a3hUKw8fGJLj7qE1xIVGx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZ
|
3089 |
+
RjXZ+Hxb
|
3090 |
+
-----END CERTIFICATE-----
|
3091 |
+
|
3092 |
+
Verisign Class 3 Public Primary Certification Authority
|
3093 |
+
=======================================================
|
3094 |
+
-----BEGIN CERTIFICATE-----
|
3095 |
+
MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx
|
3096 |
+
FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5
|
3097 |
+
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow
|
3098 |
+
XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz
|
3099 |
+
IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA
|
3100 |
+
A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94
|
3101 |
+
f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol
|
3102 |
+
hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky
|
3103 |
+
CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX
|
3104 |
+
bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/
|
3105 |
+
D/xwzoiQ
|
3106 |
+
-----END CERTIFICATE-----
|
3107 |
+
|
3108 |
+
Microsec e-Szigno Root CA 2009
|
3109 |
+
==============================
|
3110 |
+
-----BEGIN CERTIFICATE-----
|
3111 |
+
MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER
|
3112 |
+
MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv
|
3113 |
+
c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o
|
3114 |
+
dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE
|
3115 |
+
BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt
|
3116 |
+
U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw
|
3117 |
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA
|
3118 |
+
fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG
|
3119 |
+
0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA
|
3120 |
+
pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm
|
3121 |
+
1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC
|
3122 |
+
AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf
|
3123 |
+
QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE
|
3124 |
+
FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o
|
3125 |
+
lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX
|
3126 |
+
I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775
|
3127 |
+
tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02
|
3128 |
+
yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi
|
3129 |
+
LXpUq3DDfSJlgnCW
|
3130 |
+
-----END CERTIFICATE-----
|
3131 |
+
|
3132 |
+
E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi
|
3133 |
+
===================================================
|
3134 |
+
-----BEGIN CERTIFICATE-----
|
3135 |
+
MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
|
3136 |
+
EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz
|
3137 |
+
ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3
|
3138 |
+
MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0
|
3139 |
+
cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u
|
3140 |
+
aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
3141 |
+
AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY
|
3142 |
+
8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y
|
3143 |
+
jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI
|
3144 |
+
JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk
|
3145 |
+
9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD
|
3146 |
+
AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG
|
3147 |
+
SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d
|
3148 |
+
F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq
|
3149 |
+
D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4
|
3150 |
+
Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq
|
3151 |
+
fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX
|
3152 |
+
-----END CERTIFICATE-----
|
3153 |
+
|
3154 |
+
GlobalSign Root CA - R3
|
3155 |
+
=======================
|
3156 |
+
-----BEGIN CERTIFICATE-----
|
3157 |
+
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv
|
3158 |
+
YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh
|
3159 |
+
bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT
|
3160 |
+
aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln
|
3161 |
+
bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt
|
3162 |
+
iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ
|
3163 |
+
0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3
|
3164 |
+
rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl
|
3165 |
+
OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2
|
3166 |
+
xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
|
3167 |
+
FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7
|
3168 |
+
lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8
|
3169 |
+
EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E
|
3170 |
+
bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18
|
3171 |
+
YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
|
3172 |
+
kpeDMdmztcpHWD9f
|
3173 |
+
-----END CERTIFICATE-----
|
3174 |
+
|
3175 |
+
TC TrustCenter Universal CA III
|
3176 |
+
===============================
|
3177 |
+
-----BEGIN CERTIFICATE-----
|
3178 |
+
MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC
|
3179 |
+
REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy
|
3180 |
+
IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe
|
3181 |
+
Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU
|
3182 |
+
QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex
|
3183 |
+
KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB
|
3184 |
+
AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt
|
3185 |
+
QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO
|
3186 |
+
juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut
|
3187 |
+
CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1
|
3188 |
+
M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G
|
3189 |
+
A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/
|
3190 |
+
BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA
|
3191 |
+
g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+
|
3192 |
+
KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK
|
3193 |
+
BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV
|
3194 |
+
CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq
|
3195 |
+
woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg==
|
3196 |
+
-----END CERTIFICATE-----
|
3197 |
+
|
3198 |
+
Autoridad de Certificacion Firmaprofesional CIF A62634068
|
3199 |
+
=========================================================
|
3200 |
+
-----BEGIN CERTIFICATE-----
|
3201 |
+
MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA
|
3202 |
+
BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2
|
3203 |
+
MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw
|
3204 |
+
QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB
|
3205 |
+
NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD
|
3206 |
+
Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P
|
3207 |
+
B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY
|
3208 |
+
7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH
|
3209 |
+
ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI
|
3210 |
+
plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX
|
3211 |
+
MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX
|
3212 |
+
LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK
|
3213 |
+
bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU
|
3214 |
+
vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud
|
3215 |
+
EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH
|
3216 |
+
DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp
|
3217 |
+
cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA
|
3218 |
+
bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx
|
3219 |
+
ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx
|
3220 |
+
51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
|
3221 |
+
R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP
|
3222 |
+
T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f
|
3223 |
+
Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl
|
3224 |
+
osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR
|
3225 |
+
crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR
|
3226 |
+
saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD
|
3227 |
+
KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi
|
3228 |
+
6Et8Vcad+qMUu2WFbm5PEn4KPJ2V
|
3229 |
+
-----END CERTIFICATE-----
|
3230 |
+
|
3231 |
+
Izenpe.com
|
3232 |
+
==========
|
3233 |
+
-----BEGIN CERTIFICATE-----
|
3234 |
+
MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG
|
3235 |
+
EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz
|
3236 |
+
MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu
|
3237 |
+
QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ
|
3238 |
+
03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK
|
3239 |
+
ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU
|
3240 |
+
+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
|
3241 |
+
PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT
|
3242 |
+
OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK
|
3243 |
+
F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK
|
3244 |
+
0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+
|
3245 |
+
0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB
|
3246 |
+
leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID
|
3247 |
+
AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+
|
3248 |
+
SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG
|
3249 |
+
NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx
|
3250 |
+
MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
|
3251 |
+
BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l
|
3252 |
+
Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga
|
3253 |
+
kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q
|
3254 |
+
hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs
|
3255 |
+
g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5
|
3256 |
+
aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5
|
3257 |
+
nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC
|
3258 |
+
ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo
|
3259 |
+
Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z
|
3260 |
+
WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==
|
3261 |
+
-----END CERTIFICATE-----
|
3262 |
+
|
3263 |
+
Chambers of Commerce Root - 2008
|
3264 |
+
================================
|
3265 |
+
-----BEGIN CERTIFICATE-----
|
3266 |
+
MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD
|
3267 |
+
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
|
3268 |
+
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
|
3269 |
+
QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy
|
3270 |
+
Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl
|
3271 |
+
ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF
|
3272 |
+
EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl
|
3273 |
+
cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
|
3274 |
+
AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA
|
3275 |
+
XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj
|
3276 |
+
h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/
|
3277 |
+
ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk
|
3278 |
+
NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g
|
3279 |
+
D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331
|
3280 |
+
lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ
|
3281 |
+
0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj
|
3282 |
+
ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2
|
3283 |
+
EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI
|
3284 |
+
G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ
|
3285 |
+
BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh
|
3286 |
+
bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
|
3287 |
+
bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC
|
3288 |
+
CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH
|
3289 |
+
AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1
|
3290 |
+
wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH
|
3291 |
+
3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU
|
3292 |
+
RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6
|
3293 |
+
M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1
|
3294 |
+
YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF
|
3295 |
+
9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK
|
3296 |
+
zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
|
3297 |
+
nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg
|
3298 |
+
OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ
|
3299 |
+
-----END CERTIFICATE-----
|
3300 |
+
|
3301 |
+
Global Chambersign Root - 2008
|
3302 |
+
==============================
|
3303 |
+
-----BEGIN CERTIFICATE-----
|
3304 |
+
MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD
|
3305 |
+
MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv
|
3306 |
+
bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu
|
3307 |
+
QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx
|
3308 |
+
NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg
|
3309 |
+
Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ
|
3310 |
+
QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD
|
3311 |
+
aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf
|
3312 |
+
VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf
|
3313 |
+
XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0
|
3314 |
+
ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB
|
3315 |
+
/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA
|
3316 |
+
TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M
|
3317 |
+
H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe
|
3318 |
+
Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF
|
3319 |
+
HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh
|
3320 |
+
wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB
|
3321 |
+
AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT
|
3322 |
+
BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE
|
3323 |
+
BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm
|
3324 |
+
aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm
|
3325 |
+
aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp
|
3326 |
+
1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0
|
3327 |
+
dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG
|
3328 |
+
/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6
|
3329 |
+
ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s
|
3330 |
+
dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg
|
3331 |
+
9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH
|
3332 |
+
foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du
|
3333 |
+
qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr
|
3334 |
+
P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq
|
3335 |
+
c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z
|
3336 |
+
09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B
|
3337 |
+
-----END CERTIFICATE-----
|
3338 |
+
|
3339 |
+
Go Daddy Root Certificate Authority - G2
|
3340 |
+
========================================
|
3341 |
+
-----BEGIN CERTIFICATE-----
|
3342 |
+
MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
|
3343 |
+
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu
|
3344 |
+
MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5
|
3345 |
+
MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6
|
3346 |
+
b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G
|
3347 |
+
A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI
|
3348 |
+
hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq
|
3349 |
+
9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD
|
3350 |
+
+qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd
|
3351 |
+
fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl
|
3352 |
+
NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC
|
3353 |
+
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9
|
3354 |
+
BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac
|
3355 |
+
vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r
|
3356 |
+
5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV
|
3357 |
+
N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO
|
3358 |
+
LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1
|
3359 |
+
-----END CERTIFICATE-----
|
3360 |
+
|
3361 |
+
Starfield Root Certificate Authority - G2
|
3362 |
+
=========================================
|
3363 |
+
-----BEGIN CERTIFICATE-----
|
3364 |
+
MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
|
3365 |
+
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
|
3366 |
+
b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
|
3367 |
+
eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw
|
3368 |
+
DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg
|
3369 |
+
VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB
|
3370 |
+
dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv
|
3371 |
+
W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs
|
3372 |
+
bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk
|
3373 |
+
N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf
|
3374 |
+
ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU
|
3375 |
+
JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
3376 |
+
AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol
|
3377 |
+
TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx
|
3378 |
+
4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw
|
3379 |
+
F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K
|
3380 |
+
pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ
|
3381 |
+
c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0
|
3382 |
+
-----END CERTIFICATE-----
|
3383 |
+
|
3384 |
+
Starfield Services Root Certificate Authority - G2
|
3385 |
+
==================================================
|
3386 |
+
-----BEGIN CERTIFICATE-----
|
3387 |
+
MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
|
3388 |
+
B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s
|
3389 |
+
b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl
|
3390 |
+
IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV
|
3391 |
+
BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT
|
3392 |
+
dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg
|
3393 |
+
Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
|
3394 |
+
AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2
|
3395 |
+
h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa
|
3396 |
+
hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP
|
3397 |
+
LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB
|
3398 |
+
rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw
|
3399 |
+
AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG
|
3400 |
+
SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP
|
3401 |
+
E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy
|
3402 |
+
xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
|
3403 |
+
iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza
|
3404 |
+
YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6
|
3405 |
+
-----END CERTIFICATE-----
|
3406 |
+
|
3407 |
+
AffirmTrust Commercial
|
3408 |
+
======================
|
3409 |
+
-----BEGIN CERTIFICATE-----
|
3410 |
+
MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS
|
3411 |
+
BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw
|
3412 |
+
MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
|
3413 |
+
bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF
|
3414 |
+
AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb
|
3415 |
+
DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV
|
3416 |
+
C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6
|
3417 |
+
BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww
|
3418 |
+
MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
|
3419 |
+
HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
3420 |
+
AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG
|
3421 |
+
hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi
|
3422 |
+
qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv
|
3423 |
+
0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh
|
3424 |
+
sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=
|
3425 |
+
-----END CERTIFICATE-----
|
3426 |
+
|
3427 |
+
AffirmTrust Networking
|
3428 |
+
======================
|
3429 |
+
-----BEGIN CERTIFICATE-----
|
3430 |
+
MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS
|
3431 |
+
BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw
|
3432 |
+
MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly
|
3433 |
+
bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF
|
3434 |
+
AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE
|
3435 |
+
Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI
|
3436 |
+
dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24
|
3437 |
+
/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb
|
3438 |
+
h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
|
3439 |
+
HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
|
3440 |
+
AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu
|
3441 |
+
UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6
|
3442 |
+
12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23
|
3443 |
+
WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9
|
3444 |
+
/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=
|
3445 |
+
-----END CERTIFICATE-----
|
3446 |
+
|
3447 |
+
AffirmTrust Premium
|
3448 |
+
===================
|
3449 |
+
-----BEGIN CERTIFICATE-----
|
3450 |
+
MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS
|
3451 |
+
BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy
|
3452 |
+
OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy
|
3453 |
+
dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
|
3454 |
+
MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn
|
3455 |
+
BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV
|
3456 |
+
5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
|
3457 |
+
+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd
|
3458 |
+
GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R
|
3459 |
+
p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI
|
3460 |
+
S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04
|
3461 |
+
6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5
|
3462 |
+
/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo
|
3463 |
+
+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB
|
3464 |
+
/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv
|
3465 |
+
MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg
|
3466 |
+
Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC
|
3467 |
+
6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S
|
3468 |
+
L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK
|
3469 |
+
+4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV
|
3470 |
+
BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg
|
3471 |
+
IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60
|
3472 |
+
g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb
|
3473 |
+
zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw==
|
3474 |
+
-----END CERTIFICATE-----
|
3475 |
+
|
3476 |
+
AffirmTrust Premium ECC
|
3477 |
+
=======================
|
3478 |
+
-----BEGIN CERTIFICATE-----
|
3479 |
+
MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV
|
3480 |
+
BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx
|
3481 |
+
MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U
|
3482 |
+
cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA
|
3483 |
+
IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ
|
3484 |
+
N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW
|
3485 |
+
BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK
|
3486 |
+
BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X
|
3487 |
+
57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM
|
3488 |
+
eQ==
|
3489 |
+
-----END CERTIFICATE-----
|
3490 |
+
|
3491 |
+
Certum Trusted Network CA
|
3492 |
+
=========================
|
3493 |
+
-----BEGIN CERTIFICATE-----
|
3494 |
+
MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK
|
3495 |
+
ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv
|
3496 |
+
biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
|
3497 |
+
MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU
|
3498 |
+
ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
|
3499 |
+
MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
|
3500 |
+
AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC
|
3501 |
+
l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J
|
3502 |
+
J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4
|
3503 |
+
fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0
|
3504 |
+
cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB
|
3505 |
+
Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw
|
3506 |
+
DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj
|
3507 |
+
jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1
|
3508 |
+
mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj
|
3509 |
+
Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI
|
3510 |
+
03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=
|
3511 |
+
-----END CERTIFICATE-----
|
3512 |
+
|
3513 |
+
Certinomis - Autorité Racine
|
3514 |
+
=============================
|
3515 |
+
-----BEGIN CERTIFICATE-----
|
3516 |
+
MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
|
3517 |
+
Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg
|
3518 |
+
LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG
|
3519 |
+
A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw
|
3520 |
+
JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD
|
3521 |
+
ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa
|
3522 |
+
wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly
|
3523 |
+
Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw
|
3524 |
+
2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N
|
3525 |
+
jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q
|
3526 |
+
c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC
|
3527 |
+
lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb
|
3528 |
+
xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g
|
3529 |
+
530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna
|
3530 |
+
4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G
|
3531 |
+
A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ
|
3532 |
+
KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x
|
3533 |
+
WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva
|
3534 |
+
R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40
|
3535 |
+
nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B
|
3536 |
+
CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv
|
3537 |
+
JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE
|
3538 |
+
qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b
|
3539 |
+
WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE
|
3540 |
+
wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/
|
3541 |
+
vgt2Fl43N+bYdJeimUV5
|
3542 |
+
-----END CERTIFICATE-----
|
3543 |
+
|
3544 |
+
Root CA Generalitat Valenciana
|
3545 |
+
==============================
|
3546 |
+
-----BEGIN CERTIFICATE-----
|
3547 |
+
MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE
|
3548 |
+
ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290
|
3549 |
+
IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3
|
3550 |
+
WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE
|
3551 |
+
CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G
|
3552 |
+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2
|
3553 |
+
F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B
|
3554 |
+
ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ
|
3555 |
+
D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte
|
3556 |
+
JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB
|
3557 |
+
AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n
|
3558 |
+
dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB
|
3559 |
+
ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl
|
3560 |
+
AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA
|
3561 |
+
YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy
|
3562 |
+
AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA
|
3563 |
+
aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt
|
3564 |
+
AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA
|
3565 |
+
YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu
|
3566 |
+
AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA
|
3567 |
+
OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0
|
3568 |
+
dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV
|
3569 |
+
BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G
|
3570 |
+
A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S
|
3571 |
+
b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh
|
3572 |
+
TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz
|
3573 |
+
Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63
|
3574 |
+
NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH
|
3575 |
+
iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt
|
3576 |
+
+GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM=
|
3577 |
+
-----END CERTIFICATE-----
|
3578 |
+
|
3579 |
+
A-Trust-nQual-03
|
3580 |
+
================
|
3581 |
+
-----BEGIN CERTIFICATE-----
|
3582 |
+
MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE
|
3583 |
+
Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy
|
3584 |
+
a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R
|
3585 |
+
dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw
|
3586 |
+
RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0
|
3587 |
+
ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1
|
3588 |
+
c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA
|
3589 |
+
zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n
|
3590 |
+
yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE
|
3591 |
+
SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4
|
3592 |
+
iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V
|
3593 |
+
cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV
|
3594 |
+
eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40
|
3595 |
+
ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr
|
3596 |
+
sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd
|
3597 |
+
JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS
|
3598 |
+
mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6
|
3599 |
+
ahq97BvIxYSazQ==
|
3600 |
+
-----END CERTIFICATE-----
|
3601 |
+
|
3602 |
+
TWCA Root Certification Authority
|
3603 |
+
=================================
|
3604 |
+
-----BEGIN CERTIFICATE-----
|
3605 |
+
MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ
|
3606 |
+
VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh
|
3607 |
+
dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG
|
3608 |
+
EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB
|
3609 |
+
IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
3610 |
+
AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx
|
3611 |
+
QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
|
3612 |
+
oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP
|
3613 |
+
4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r
|
3614 |
+
y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
|
3615 |
+
BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG
|
3616 |
+
9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC
|
3617 |
+
mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW
|
3618 |
+
QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY
|
3619 |
+
T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny
|
3620 |
+
Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==
|
3621 |
+
-----END CERTIFICATE-----
|
3622 |
+
|
3623 |
+
Security Communication RootCA2
|
3624 |
+
==============================
|
3625 |
+
-----BEGIN CERTIFICATE-----
|
3626 |
+
MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc
|
3627 |
+
U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh
|
3628 |
+
dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC
|
3629 |
+
SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy
|
3630 |
+
aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
3631 |
+
ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++
|
3632 |
+
+T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R
|
3633 |
+
3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV
|
3634 |
+
spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K
|
3635 |
+
EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8
|
3636 |
+
QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB
|
3637 |
+
CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj
|
3638 |
+
u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk
|
3639 |
+
3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q
|
3640 |
+
tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29
|
3641 |
+
mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03
|
3642 |
+
-----END CERTIFICATE-----
|
3643 |
+
|
3644 |
+
EC-ACC
|
3645 |
+
======
|
3646 |
+
-----BEGIN CERTIFICATE-----
|
3647 |
+
MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE
|
3648 |
+
BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w
|
3649 |
+
ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD
|
3650 |
+
VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE
|
3651 |
+
CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT
|
3652 |
+
BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7
|
3653 |
+
MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt
|
3654 |
+
SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl
|
3655 |
+
Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh
|
3656 |
+
cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND
|
3657 |
+
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK
|
3658 |
+
w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT
|
3659 |
+
ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4
|
3660 |
+
HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a
|
3661 |
+
E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw
|
3662 |
+
0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E
|
3663 |
+
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD
|
3664 |
+
VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0
|
3665 |
+
Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l
|
3666 |
+
dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ
|
3667 |
+
lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
|
3668 |
+
Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe
|
3669 |
+
l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2
|
3670 |
+
E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D
|
3671 |
+
5EI=
|
3672 |
+
-----END CERTIFICATE-----
|
3673 |
+
|
3674 |
+
Hellenic Academic and Research Institutions RootCA 2011
|
3675 |
+
=======================================================
|
3676 |
+
-----BEGIN CERTIFICATE-----
|
3677 |
+
MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
|
3678 |
+
O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y
|
3679 |
+
aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
|
3680 |
+
IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT
|
3681 |
+
AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z
|
3682 |
+
IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo
|
3683 |
+
IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
|
3684 |
+
AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI
|
3685 |
+
1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa
|
3686 |
+
71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u
|
3687 |
+
8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH
|
3688 |
+
3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/
|
3689 |
+
MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8
|
3690 |
+
MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu
|
3691 |
+
b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt
|
3692 |
+
XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8
|
3693 |
+
TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD
|
3694 |
+
/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N
|
3695 |
+
7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4
|
3696 |
+
-----END CERTIFICATE-----
|
3697 |
+
|
3698 |
+
Actalis Authentication Root CA
|
3699 |
+
==============================
|
3700 |
+
-----BEGIN CERTIFICATE-----
|
3701 |
+
MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM
|
3702 |
+
BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE
|
3703 |
+
AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky
|
3704 |
+
MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz
|
3705 |
+
IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290
|
3706 |
+
IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ
|
3707 |
+
wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa
|
3708 |
+
by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6
|
3709 |
+
zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f
|
3710 |
+
YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2
|
3711 |
+
oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l
|
3712 |
+
EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7
|
3713 |
+
hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
|
3714 |
+
EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5
|
3715 |
+
jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY
|
3716 |
+
iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt
|
3717 |
+
ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI
|
3718 |
+
WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0
|
3719 |
+
JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx
|
3720 |
+
K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+
|
3721 |
+
Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC
|
3722 |
+
4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo
|
3723 |
+
2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz
|
3724 |
+
lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem
|
3725 |
+
OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
|
3726 |
+
vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
|
3727 |
+
-----END CERTIFICATE-----
|
3728 |
+
|
3729 |
+
Trustis FPS Root CA
|
3730 |
+
===================
|
3731 |
+
-----BEGIN CERTIFICATE-----
|
3732 |
+
MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
|
3733 |
+
EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
|
3734 |
+
IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
|
3735 |
+
BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
|
3736 |
+
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
|
3737 |
+
RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
|
3738 |
+
H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
|
3739 |
+
cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
|
3740 |
+
o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
|
3741 |
+
AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
|
3742 |
+
BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
|
3743 |
+
GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
|
3744 |
+
yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
|
3745 |
+
8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
|
3746 |
+
l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
|
3747 |
+
iB6XzCGcKQENZetX2fNXlrtIzYE=
|
3748 |
+
-----END CERTIFICATE-----
|
3749 |
+
|
3750 |
+
StartCom Certification Authority
|
3751 |
+
================================
|
3752 |
+
-----BEGIN CERTIFICATE-----
|
3753 |
+
MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
|
3754 |
+
U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu
|
3755 |
+
ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0
|
3756 |
+
NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
|
3757 |
+
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg
|
3758 |
+
U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
|
3759 |
+
ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y
|
3760 |
+
o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/
|
3761 |
+
Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d
|
3762 |
+
eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt
|
3763 |
+
2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z
|
3764 |
+
6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ
|
3765 |
+
osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/
|
3766 |
+
untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc
|
3767 |
+
UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT
|
3768 |
+
37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD
|
3769 |
+
VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ
|
3770 |
+
Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0
|
3771 |
+
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
|
3772 |
+
c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv
|
3773 |
+
bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0
|
3774 |
+
aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0
|
3775 |
+
aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t
|
3776 |
+
L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG
|
3777 |
+
cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5
|
3778 |
+
fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm
|
3779 |
+
N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN
|
3780 |
+
Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T
|
3781 |
+
tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX
|
3782 |
+
e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA
|
3783 |
+
2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs
|
3784 |
+
HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE
|
3785 |
+
JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib
|
3786 |
+
D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8=
|
3787 |
+
-----END CERTIFICATE-----
|
3788 |
+
|
3789 |
+
StartCom Certification Authority G2
|
3790 |
+
===================================
|
3791 |
+
-----BEGIN CERTIFICATE-----
|
3792 |
+
MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
|
3793 |
+
U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
|
3794 |
+
RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE
|
3795 |
+
ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp
|
3796 |
+
dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O
|
3797 |
+
o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG
|
3798 |
+
4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi
|
3799 |
+
Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul
|
3800 |
+
Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs
|
3801 |
+
O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H
|
3802 |
+
vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L
|
3803 |
+
nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS
|
3804 |
+
FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa
|
3805 |
+
z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E
|
3806 |
+
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ
|
3807 |
+
KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K
|
3808 |
+
2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk
|
3809 |
+
J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+
|
3810 |
+
JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG
|
3811 |
+
/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc
|
3812 |
+
nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld
|
3813 |
+
blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc
|
3814 |
+
l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm
|
3815 |
+
7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm
|
3816 |
+
obp573PYtlNXLfbQ4ddI
|
3817 |
+
-----END CERTIFICATE-----
|
3818 |
+
|
3819 |
+
Buypass Class 2 Root CA
|
3820 |
+
=======================
|
3821 |
+
-----BEGIN CERTIFICATE-----
|
3822 |
+
MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
|
3823 |
+
QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X
|
3824 |
+
DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
|
3825 |
+
eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw
|
3826 |
+
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1
|
3827 |
+
g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn
|
3828 |
+
9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b
|
3829 |
+
/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU
|
3830 |
+
CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff
|
3831 |
+
awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI
|
3832 |
+
zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn
|
3833 |
+
Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX
|
3834 |
+
Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs
|
3835 |
+
M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
|
3836 |
+
VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
|
3837 |
+
AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s
|
3838 |
+
A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
|
3839 |
+
osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S
|
3840 |
+
aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd
|
3841 |
+
DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD
|
3842 |
+
LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0
|
3843 |
+
oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC
|
3844 |
+
wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS
|
3845 |
+
CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN
|
3846 |
+
rJgWVqA=
|
3847 |
+
-----END CERTIFICATE-----
|
3848 |
+
|
3849 |
+
Buypass Class 3 Root CA
|
3850 |
+
=======================
|
3851 |
+
-----BEGIN CERTIFICATE-----
|
3852 |
+
MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU
|
3853 |
+
QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X
|
3854 |
+
DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1
|
3855 |
+
eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw
|
3856 |
+
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH
|
3857 |
+
sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR
|
3858 |
+
5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh
|
3859 |
+
7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ
|
3860 |
+
ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
|
3861 |
+
2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV
|
3862 |
+
/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ
|
3863 |
+
RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA
|
3864 |
+
Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq
|
3865 |
+
j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
|
3866 |
+
VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF
|
3867 |
+
AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV
|
3868 |
+
cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G
|
3869 |
+
uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG
|
3870 |
+
Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8
|
3871 |
+
ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2
|
3872 |
+
KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz
|
3873 |
+
6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug
|
3874 |
+
UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe
|
3875 |
+
eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi
|
3876 |
+
Cp/HuZc=
|
3877 |
+
-----END CERTIFICATE-----
|
3878 |
+
|
3879 |
+
T-TeleSec GlobalRoot Class 3
|
3880 |
+
============================
|
3881 |
+
-----BEGIN CERTIFICATE-----
|
3882 |
+
MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM
|
3883 |
+
IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU
|
3884 |
+
cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx
|
3885 |
+
MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz
|
3886 |
+
dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD
|
3887 |
+
ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3
|
3888 |
+
DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK
|
3889 |
+
9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU
|
3890 |
+
NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF
|
3891 |
+
iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W
|
3892 |
+
0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA
|
3893 |
+
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr
|
3894 |
+
AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb
|
3895 |
+
fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT
|
3896 |
+
ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
|
3897 |
+
P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
|
3898 |
+
e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
|
3899 |
+
-----END CERTIFICATE-----
|
3900 |
+
|
3901 |
+
EE Certification Centre Root CA
|
3902 |
+
===============================
|
3903 |
+
-----BEGIN CERTIFICATE-----
|
3904 |
+
MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
|
3905 |
+
EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
|
3906 |
+
dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
|
3907 |
+
MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
|
3908 |
+
UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
|
3909 |
+
ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
3910 |
+
DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
|
3911 |
+
TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
|
3912 |
+
rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
|
3913 |
+
93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
|
3914 |
+
P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
|
3915 |
+
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
|
3916 |
+
MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
|
3917 |
+
BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
|
3918 |
+
xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
|
3919 |
+
lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
|
3920 |
+
uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
|
3921 |
+
3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
|
3922 |
+
dcGWxZ0=
|
3923 |
+
-----END CERTIFICATE-----
|
lib/Elefunds/Configuration/BaseConfiguration.php
ADDED
@@ -0,0 +1,344 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once 'ConfigurationInterface.php';
|
41 |
+
require_once dirname(__FILE__) . '/../Exception/ElefundsException.php';
|
42 |
+
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Base Configuration for the elefunds API.
|
46 |
+
*
|
47 |
+
* @package elefunds API PHP Library
|
48 |
+
* @subpackage Configuration
|
49 |
+
* @author Christian Peters <christian@elefunds.de>
|
50 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
51 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
52 |
+
* @link http://www.elefunds.de
|
53 |
+
* @since File available since Release 1.0.0
|
54 |
+
*/
|
55 |
+
class Elefunds_Configuration_BaseConfiguration implements Elefunds_Configuration_ConfigurationInterface {
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @var array
|
59 |
+
*/
|
60 |
+
protected $availableShareServices = array();
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @var int
|
64 |
+
*/
|
65 |
+
protected $clientId;
|
66 |
+
|
67 |
+
/**
|
68 |
+
* @var string
|
69 |
+
*/
|
70 |
+
protected $apiKey;
|
71 |
+
|
72 |
+
/**
|
73 |
+
* The calculated hashedKey that is a sha1 value of
|
74 |
+
* the clientId concatenated with the api key.
|
75 |
+
*
|
76 |
+
* @var string
|
77 |
+
*/
|
78 |
+
protected $hashedKey;
|
79 |
+
|
80 |
+
/**
|
81 |
+
* @var Elefunds_Communication_RestInterface
|
82 |
+
*/
|
83 |
+
protected $rest;
|
84 |
+
|
85 |
+
/**
|
86 |
+
* @var string
|
87 |
+
*/
|
88 |
+
protected $apiUrl;
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Class name of the donation implementation.
|
92 |
+
*
|
93 |
+
* @var string
|
94 |
+
*/
|
95 |
+
protected $donationClassName;
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Class name of the receiver implementation.
|
99 |
+
*
|
100 |
+
* @var string
|
101 |
+
*/
|
102 |
+
protected $receiverClassName;
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Two digit countrycode to use for calls.
|
106 |
+
*
|
107 |
+
* @var string
|
108 |
+
*/
|
109 |
+
protected $countrycode = 'en';
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Instance of the facade.
|
113 |
+
*
|
114 |
+
* @var Elefunds_Facade
|
115 |
+
*/
|
116 |
+
protected $facade;
|
117 |
+
|
118 |
+
/**
|
119 |
+
* @var Elefunds_View_ViewInterface
|
120 |
+
*/
|
121 |
+
protected $view;
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Setup configuration of an elefunds API Plugin.
|
125 |
+
*
|
126 |
+
* This function gets called after forwarding the configuration to the facade.
|
127 |
+
*
|
128 |
+
* @return void
|
129 |
+
*/
|
130 |
+
public function init() {}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* An instance of the facade. This is set by the facade itself, so you can access API functionality
|
134 |
+
* from within init()!
|
135 |
+
*
|
136 |
+
* @param Elefunds_Facade $facade
|
137 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
138 |
+
*/
|
139 |
+
public function setFacade(Elefunds_Facade $facade) {
|
140 |
+
$this->facade = $facade;
|
141 |
+
return $this;
|
142 |
+
}
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Sets the view for this configuration.
|
146 |
+
*
|
147 |
+
* @param Elefunds_View_ViewInterface $view
|
148 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
149 |
+
*/
|
150 |
+
public function setView(Elefunds_View_ViewInterface $view) {
|
151 |
+
$this->view = $view;
|
152 |
+
return $this;
|
153 |
+
}
|
154 |
+
|
155 |
+
/**
|
156 |
+
* Returns the view that is configured for this configuration.
|
157 |
+
*
|
158 |
+
* @return Elefunds_View_ViewInterface
|
159 |
+
*/
|
160 |
+
public function getView() {
|
161 |
+
return $this->view;
|
162 |
+
}
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Sets the clientId.
|
166 |
+
*
|
167 |
+
* @param int $clientId
|
168 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
169 |
+
*/
|
170 |
+
public function setClientId($clientId) {
|
171 |
+
$this->clientId = (int)$clientId;
|
172 |
+
if ($this->apiKey !== NULL && $this->hashedKey === NULL) {
|
173 |
+
$this->hashedKey = sha1($this->clientId . $this->apiKey);
|
174 |
+
}
|
175 |
+
|
176 |
+
return $this;
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Sets the apiKey.
|
181 |
+
*
|
182 |
+
* @param string $apiKey
|
183 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
184 |
+
*/
|
185 |
+
public function setApiKey($apiKey) {
|
186 |
+
$this->apiKey = (string)$apiKey;
|
187 |
+
if ($this->clientId !== NULL && $this->hashedKey === NULL) {
|
188 |
+
$this->hashedKey = sha1($this->clientId . $this->apiKey);
|
189 |
+
}
|
190 |
+
|
191 |
+
return $this;
|
192 |
+
}
|
193 |
+
|
194 |
+
/**
|
195 |
+
* Returns the ClientId.
|
196 |
+
*
|
197 |
+
* @return int
|
198 |
+
*/
|
199 |
+
public function getClientId() {
|
200 |
+
return $this->clientId;
|
201 |
+
}
|
202 |
+
|
203 |
+
/**
|
204 |
+
* The API Url.
|
205 |
+
*
|
206 |
+
* Url is not validated here, as it's dependent on the RestInterface Implementation. For example
|
207 |
+
* the curl implementation adds it's error message to the additionalInformation of the ElefundsException.
|
208 |
+
*
|
209 |
+
* @param string $url
|
210 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
211 |
+
*/
|
212 |
+
public function setApiUrl($url) {
|
213 |
+
$this->apiUrl = rtrim((string)$url, '/');
|
214 |
+
return $this;
|
215 |
+
}
|
216 |
+
|
217 |
+
/**
|
218 |
+
* Returns the URL to the API without trailing slashes.
|
219 |
+
*
|
220 |
+
* @return string
|
221 |
+
*/
|
222 |
+
public function getApiUrl() {
|
223 |
+
return $this->apiUrl;
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Returns the hashed key
|
228 |
+
*
|
229 |
+
* @throws Elefunds_Exception_ElefundsException if hashedKey has not been calculated
|
230 |
+
* @return string
|
231 |
+
*/
|
232 |
+
public function getHashedKey() {
|
233 |
+
if ($this->hashedKey === NULL) {
|
234 |
+
if ($this->apiKey === NULL || $this->clientId === NULL) {
|
235 |
+
throw new Elefunds_Exception_ElefundsException('HashedKey could not been calculated. Make sure that either clientId and apiKey are set.', 1347889008107);
|
236 |
+
} else {
|
237 |
+
$this->hashedKey = sha1($this->clientId . $this->apiKey);
|
238 |
+
}
|
239 |
+
}
|
240 |
+
return $this->hashedKey;
|
241 |
+
}
|
242 |
+
|
243 |
+
/**
|
244 |
+
* The rest implementation to be used to connect to the api.
|
245 |
+
*
|
246 |
+
* If not changed in the configuration, this will be curl.
|
247 |
+
*
|
248 |
+
* @param Elefunds_Communication_RestInterface $rest
|
249 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
250 |
+
*/
|
251 |
+
public function setRestImplementation(Elefunds_Communication_RestInterface $rest) {
|
252 |
+
$this->rest = $rest;
|
253 |
+
return $this;
|
254 |
+
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* Returns the rest implementation to use, by default, it's curl.
|
258 |
+
*
|
259 |
+
* @return Elefunds_Communication_RestInterface
|
260 |
+
*/
|
261 |
+
public function getRestImplementation() {
|
262 |
+
return $this->rest;
|
263 |
+
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
* Sets the donation class name a fully qualified string.
|
267 |
+
*
|
268 |
+
* Attention: Since we do not use autoloading, you have to require_once the class before
|
269 |
+
* setting it.
|
270 |
+
*
|
271 |
+
* @param string $donationClassName
|
272 |
+
* @throws Elefunds_Exception_ElefundsException if given class does not exist
|
273 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
274 |
+
*/
|
275 |
+
public function setDonationClassName($donationClassName) {
|
276 |
+
if (!class_exists($donationClassName)) {
|
277 |
+
throw new Elefunds_Exception_ElefundsException('Class ' . $donationClassName . ' does not exist. Did you called required_once on the file that hosts this class?', 1347893442819);
|
278 |
+
}
|
279 |
+
$this->donationClassName = (string)$donationClassName;
|
280 |
+
return $this;
|
281 |
+
}
|
282 |
+
|
283 |
+
/**
|
284 |
+
* Returns the donation class name.
|
285 |
+
*
|
286 |
+
* @return string
|
287 |
+
*/
|
288 |
+
public function getDonationClassName() {
|
289 |
+
return $this->donationClassName;
|
290 |
+
}
|
291 |
+
|
292 |
+
/**
|
293 |
+
* Sets the receiver class name a fully qualified string.
|
294 |
+
*
|
295 |
+
* Attention: Since we do not use auto-loading, you have to require_once the class before
|
296 |
+
* setting it.
|
297 |
+
*
|
298 |
+
* @param string $receiverClassName
|
299 |
+
* @throws Elefunds_Exception_ElefundsException if given class does not exist
|
300 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
301 |
+
*/
|
302 |
+
public function setReceiverClassName($receiverClassName) {
|
303 |
+
if (!class_exists($receiverClassName)) {
|
304 |
+
throw new Elefunds_Exception_ElefundsException('Class ' . $receiverClassName . ' does not exist. Did you called required_once on the file that hosts this class?', 1347893442820);
|
305 |
+
}
|
306 |
+
$this->receiverClassName = (string)$receiverClassName;
|
307 |
+
return $this;
|
308 |
+
}
|
309 |
+
|
310 |
+
/**
|
311 |
+
* Returns the receiver class name.
|
312 |
+
*
|
313 |
+
* @return string
|
314 |
+
*/
|
315 |
+
public function getReceiverClassName() {
|
316 |
+
return $this->receiverClassName;
|
317 |
+
}
|
318 |
+
|
319 |
+
/**
|
320 |
+
* Sets the countrycode.
|
321 |
+
*
|
322 |
+
* @param string $countrycode two digit countrycode
|
323 |
+
* @throws InvalidArgumentException if given string is not a countrycode
|
324 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
325 |
+
*/
|
326 |
+
public function setCountrycode($countrycode) {
|
327 |
+
if (is_string($countrycode) && strlen($countrycode) === 2) {
|
328 |
+
$this->countrycode = $countrycode;
|
329 |
+
} else {
|
330 |
+
throw new InvalidArgumentException('Given countrycode must be a two digit string.', 1347965897);
|
331 |
+
}
|
332 |
+
return $this;
|
333 |
+
}
|
334 |
+
|
335 |
+
/**
|
336 |
+
* Returns the countrycode.
|
337 |
+
*
|
338 |
+
* @return string
|
339 |
+
*/
|
340 |
+
public function getCountrycode() {
|
341 |
+
return $this->countrycode;
|
342 |
+
}
|
343 |
+
|
344 |
+
}
|
lib/Elefunds/Configuration/ConfigurationInterface.php
ADDED
@@ -0,0 +1,208 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Elefunds Configuration Interface
|
42 |
+
*
|
43 |
+
* @package elefunds API PHP Library
|
44 |
+
* @subpackage Configuration
|
45 |
+
* @author Christian Peters <christian@elefunds.de>
|
46 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
47 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
48 |
+
* @link http://www.elefunds.de
|
49 |
+
* @since File available since Release 1.0.0
|
50 |
+
*/
|
51 |
+
interface Elefunds_Configuration_ConfigurationInterface {
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Setup configuration of an elefunds API Plugin.
|
55 |
+
*
|
56 |
+
* This function gets called after forwarding the configuration to the facade.
|
57 |
+
*
|
58 |
+
* @param Elefunds_Facade
|
59 |
+
* @return void
|
60 |
+
*/
|
61 |
+
public function init();
|
62 |
+
|
63 |
+
/**
|
64 |
+
* An instance of the facade. This is set by the facade itself, so you can access API functionality
|
65 |
+
* from within init()!
|
66 |
+
*
|
67 |
+
* @param Elefunds_Facade $facade
|
68 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
69 |
+
*
|
70 |
+
*/
|
71 |
+
public function setFacade(Elefunds_Facade $facade);
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Sets the view for this configuration.
|
75 |
+
*
|
76 |
+
* @param Elefunds_View_ViewInterface $view
|
77 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
78 |
+
*/
|
79 |
+
public function setView(Elefunds_View_ViewInterface $view);
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Returns the view that is configured for this configuration.
|
83 |
+
*
|
84 |
+
* @return Elefunds_View_ViewInterface
|
85 |
+
*/
|
86 |
+
public function getView();
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Sets the clientId.
|
90 |
+
*
|
91 |
+
* @param int $clientId
|
92 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
93 |
+
*/
|
94 |
+
public function setClientId($clientId);
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Sets the apiKey.
|
98 |
+
*
|
99 |
+
* @param string $apiKey
|
100 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
101 |
+
*/
|
102 |
+
public function setApiKey($apiKey);
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Returns the ClientId.
|
106 |
+
*
|
107 |
+
* @return int
|
108 |
+
*/
|
109 |
+
public function getClientId();
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Sets the countrycode.
|
113 |
+
*
|
114 |
+
* @param string $countrycode two digit countrycode
|
115 |
+
* @throws InvalidArgumentException if given string is not a countrycode
|
116 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
117 |
+
*/
|
118 |
+
public function setCountrycode($countrycode);
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Returns the countrycode.
|
122 |
+
*
|
123 |
+
* @return string
|
124 |
+
*/
|
125 |
+
public function getCountrycode();
|
126 |
+
|
127 |
+
/**
|
128 |
+
* The API Url.
|
129 |
+
*
|
130 |
+
* Url is not validated here, as it's dependent on the RestInterface Implementation. For example
|
131 |
+
* the curl implementation adds it's error message to the additionalInformation of the ElefundsException.
|
132 |
+
*
|
133 |
+
* @param string $url
|
134 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
135 |
+
*/
|
136 |
+
public function setApiUrl($url);
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Returns the URL to the API without trailing slashes.
|
140 |
+
*
|
141 |
+
* @return string
|
142 |
+
*/
|
143 |
+
public function getApiUrl();
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Returns the hashed key
|
147 |
+
*
|
148 |
+
* @throws Elefunds_Exception_ElefundsException if hashedKey has not been calculated
|
149 |
+
* @return string
|
150 |
+
*/
|
151 |
+
public function getHashedKey();
|
152 |
+
|
153 |
+
/**
|
154 |
+
* The rest implementation to be used to connect to the api.
|
155 |
+
*
|
156 |
+
* If not changed in the configuration, this will be curl.
|
157 |
+
*
|
158 |
+
* @param Elefunds_Communication_RestInterface $rest
|
159 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
160 |
+
*/
|
161 |
+
public function setRestImplementation(Elefunds_Communication_RestInterface $rest);
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Returns the rest implementation to use, by default, it's curl.
|
165 |
+
*
|
166 |
+
* @return Elefunds_Communication_RestInterface
|
167 |
+
*/
|
168 |
+
public function getRestImplementation();
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Sets the donation class name a fully qualified string.
|
172 |
+
*
|
173 |
+
* Attention: Since we do not use autoloading, you have to require_once the class before
|
174 |
+
* setting it.
|
175 |
+
*
|
176 |
+
* @param string $donationClassName
|
177 |
+
* @throws Elefunds_Exception_ElefundsException if given class does not exist
|
178 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
179 |
+
*/
|
180 |
+
public function setDonationClassName($donationClassName);
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Returns the donation class name.
|
184 |
+
*
|
185 |
+
* @return string
|
186 |
+
*/
|
187 |
+
public function getDonationClassName();
|
188 |
+
|
189 |
+
/**
|
190 |
+
* Sets the receiver class name a fully qualified string.
|
191 |
+
*
|
192 |
+
* Attention: Since we do not use auto-loading, you have to require_once the class before
|
193 |
+
* setting it.
|
194 |
+
*
|
195 |
+
* @param string $receiverClassName
|
196 |
+
* @throws Elefunds_Exception_ElefundsException if given class does not exist
|
197 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
198 |
+
*/
|
199 |
+
public function setReceiverClassName($receiverClassName);
|
200 |
+
|
201 |
+
/**
|
202 |
+
* Returns the receiver class name.
|
203 |
+
*
|
204 |
+
* @return string
|
205 |
+
*/
|
206 |
+
public function getReceiverClassName();
|
207 |
+
|
208 |
+
}
|
lib/Elefunds/Configuration/DefaultConfiguration.php
ADDED
@@ -0,0 +1,80 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/BaseConfiguration.php';
|
41 |
+
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Default Configuration for the elefunds API.
|
45 |
+
*
|
46 |
+
* @package elefunds API PHP Library
|
47 |
+
* @subpackage Configuration
|
48 |
+
* @author Christian Peters <christian@elefunds.de>
|
49 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
50 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
51 |
+
* @link http://www.elefunds.de
|
52 |
+
* @since File available since Release 1.0.0
|
53 |
+
*/
|
54 |
+
class Elefunds_Configuration_DefaultConfiguration extends Elefunds_Configuration_BaseConfiguration {
|
55 |
+
|
56 |
+
protected $apiUrl = 'https://connect.elefunds.de';
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Default configuration settings.
|
60 |
+
*
|
61 |
+
* The default configuration uses the basic Donation and Receiver implementations that
|
62 |
+
* ship with the library, as well as a curl based REST connection.
|
63 |
+
*
|
64 |
+
* @return void
|
65 |
+
*/
|
66 |
+
public function init() {
|
67 |
+
require_once dirname(__FILE__) . '/../Communication/CurlRequest.php';
|
68 |
+
$this->setRestImplementation(new Elefunds_Communication_CurlRequest());
|
69 |
+
|
70 |
+
require_once dirname(__FILE__) . '/../Model/Donation.php';
|
71 |
+
$this->setDonationClassName('Elefunds_Model_Donation');
|
72 |
+
|
73 |
+
require_once dirname(__FILE__) . '/../Model/Receiver.php';
|
74 |
+
$this->setReceiverClassName('Elefunds_Model_Receiver');
|
75 |
+
|
76 |
+
Elefunds_Model_Factory::setReceiverImplementation($this->getReceiverClassName());
|
77 |
+
Elefunds_Model_Factory::setDonationImplementation($this->getDonationClassName());
|
78 |
+
}
|
79 |
+
|
80 |
+
}
|
lib/Elefunds/Documentation/PHPGuideBasics.md
ADDED
@@ -0,0 +1,160 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
PHP Guide - Basics
|
2 |
+
==================
|
3 |
+
|
4 |
+
> If you're not exactly a bookworm, chances are you can get away by referring to the samples in the `Examples` folder, an
|
5 |
+
> excellent inline information will be there to assist you as well.
|
6 |
+
|
7 |
+
|
8 |
+
Accounts
|
9 |
+
--------
|
10 |
+
|
11 |
+
> Have you already read the general Getting Started guide in the root Documentation folder of this repository?
|
12 |
+
|
13 |
+
In order to integrate elefunds into your app, you just need an API key and a Client ID. You can contact us at <hello@elefunds.de> to receive your own authentication keys and get started collecting donations.
|
14 |
+
In the meantime you can grab a test account from the `testaccounts.csv` in the root's documentation folder!
|
15 |
+
|
16 |
+
Let's assume, you choose to use the client ID `1001` with the associated API Key of `ay3456789gg234561234`.
|
17 |
+
|
18 |
+
|
19 |
+
Setup
|
20 |
+
-----
|
21 |
+
|
22 |
+
Create a file named `SampleConfiguration.php` (the name does not really matter), save it in the root folder of the PHP
|
23 |
+
Library (next to `Facade.php`) and enter the following lines:
|
24 |
+
|
25 |
+
<?php
|
26 |
+
require_once dirname(__FILE__) . '/Configuration/DefaultConfiguration.php';
|
27 |
+
|
28 |
+
class Elefunds_SampleConfiguration extends Configuration_DefaultConfiguration {
|
29 |
+
|
30 |
+
protected $clientId = 1001;
|
31 |
+
protected $apiKey = 'ay3456789gg234561234';
|
32 |
+
|
33 |
+
}
|
34 |
+
?>
|
35 |
+
|
36 |
+
As you can see, we can get started with very little code. We'll dive into the details later, but at the moment this is all that's needed
|
37 |
+
to setup an app. So let's retrieve some receivers.
|
38 |
+
|
39 |
+
Create a file named `sample.php` within the same folder and add the following lines:
|
40 |
+
|
41 |
+
<?php
|
42 |
+
require_once dirname(__FILE__) . '/Facade.php';
|
43 |
+
require_once dirname(__FILE__) . '/SampleConfiguration.php';
|
44 |
+
|
45 |
+
$facade = new Elefunds_Facade(new Elefunds_SampleConfiguration());
|
46 |
+
?>
|
47 |
+
|
48 |
+
Now the facade is up, running and connected to the elefunds API. Let's retrieve some charities.
|
49 |
+
|
50 |
+
|
51 |
+
Receivers
|
52 |
+
---------
|
53 |
+
|
54 |
+
Since elefunds is centered around donations, charities are called receivers - because they *receive* 100% of all made donations.
|
55 |
+
Add these (and all upcoming) lines before the closing PHP tag:
|
56 |
+
|
57 |
+
try {
|
58 |
+
$receivers = $facade->getReceivers();
|
59 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $exception) {
|
60 |
+
|
61 |
+
// The API is not available!
|
62 |
+
// Kick in fallback or omit the service if you retrieve in real time
|
63 |
+
$message = $exception->getMessage();
|
64 |
+
}
|
65 |
+
|
66 |
+
foreach($receivers as $receiver) {
|
67 |
+
/** @var Elefunds_Model_ReceiverInterface $receiver */
|
68 |
+
|
69 |
+
echo '<p data-id="' . $receiver->getId(). '">' . $receiver->getName() . '</p>';
|
70 |
+
echo '<img src="' .$receiver->getImage('horizontal', 'medium') . '" alt="' . $receiver->getDescription() .'"/>';
|
71 |
+
}
|
72 |
+
|
73 |
+
This will render a tiny HTML snippet that displays the receiver's name along with a horizontal-aligned, medium sized image.
|
74 |
+
Notice that we render the receivers id as a data-attribute and that we use the receivers description for providing an alt-attribute
|
75 |
+
for the image tag.
|
76 |
+
|
77 |
+
> Reminder: The API is really stable and robust, we're talking about best-practices here when we encourage you to watch out
|
78 |
+
> for errors.
|
79 |
+
|
80 |
+
You can use this to create a user-interface for choosing donation receivers. This may be something an administrator does in the backend
|
81 |
+
(e.g. when a donation is triggered anytime someone does something, like subscribing to a newsletter).
|
82 |
+
|
83 |
+
> The library ships with its own templating solution, hence you are not forced to mix everything into a single file. We have a pre-build template
|
84 |
+
> for shops with more coming soon.
|
85 |
+
|
86 |
+
|
87 |
+
Donations
|
88 |
+
---------
|
89 |
+
|
90 |
+
Now that we are able to retrieve receivers, we want to collect donations and send those back to the API. Let's create a donation object now.
|
91 |
+
|
92 |
+
> All setters in the library are chainable.
|
93 |
+
|
94 |
+
$donation = $facade->createDonation()
|
95 |
+
->setForeignId(125)
|
96 |
+
->setAmount(25)
|
97 |
+
->setSuggestedAmount(20)
|
98 |
+
->setGrandTotal(1005)
|
99 |
+
->setReceiverIds(array(2, 3))
|
100 |
+
->setAvailableReceiverIds(array(1001, 1002, 1003))
|
101 |
+
->setTime(new DateTime())
|
102 |
+
->setDonator('christian@elefunds.de', 'Christian', 'Peters', 'Schönhauser Allee 124', 10243, 'Berlin');
|
103 |
+
|
104 |
+
|
105 |
+
We use the facade to create an instance of the donation. Next, we set some values:
|
106 |
+
|
107 |
+
- `foreignId` must be an integer. You are free to add whatever you like here but you must be able to match this foreignId
|
108 |
+
with the donating process on your site. If you are implementing for a shop, the orderId would be a perfect match.
|
109 |
+
|
110 |
+
- `amount` you must set the donated amount.
|
111 |
+
|
112 |
+
- `suggestedAmount` is optional. If your service allows the user to adjust their donation, this value is the amount originally suggested as a donation to the user.
|
113 |
+
|
114 |
+
- `grand total` is optional. It's the sum of donation plus all invoiced items (like the overall costs of an order). If your service
|
115 |
+
does not have something like a grand total at all, just omit this.
|
116 |
+
|
117 |
+
- `receiverIds` are the ID's of the receivers that are qualified for the donation. The ID is available through `$receivers->getId()`
|
118 |
+
|
119 |
+
- `availableReceivers` are optional. If your service gives the user the choice to select from a range of receivers, this array should be filled with all receivers that were available to the user. This will greatly help us to improve our service.
|
120 |
+
|
121 |
+
- `time` is when the donation was made. If you do not send the donation directly after the checkout (e.g. to batch-send them at night),
|
122 |
+
please provide the original time when the donation was made.
|
123 |
+
|
124 |
+
- `donator` is the user that made the donation, you can send the information (optionally) along, when you want to provide donation receipts. In
|
125 |
+
that case, elefunds and its foundation will take care of all the paperwork for you.
|
126 |
+
|
127 |
+
That's it, now just send back the donation:
|
128 |
+
|
129 |
+
try {
|
130 |
+
$responseMessage = $facade->addDonation($donation);
|
131 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $exception) {
|
132 |
+
$message = $exception->getMessage();
|
133 |
+
}
|
134 |
+
|
135 |
+
|
136 |
+
If everything went well, you'll retrieve a status code of `200` and a response message:
|
137 |
+
|
138 |
+
> 1 of 1 donation(s) have been saved. 0 donation(s) failed the validation. 0 donation(s) failed due to a server problem.
|
139 |
+
|
140 |
+
If you get an error, simply send the donation again later. If you used the `$facade->addDonations()` method to
|
141 |
+
add multiple donations, you can send them all again later as well - if some of them were saved before something went wrong,
|
142 |
+
the API is smart enough to sort things out.
|
143 |
+
|
144 |
+
At this stage, the donation has a status of `pending` in our API. You can set it to completed, once you got your money by just
|
145 |
+
sending in the `foreignId`, that you used when adding the donation:
|
146 |
+
|
147 |
+
// One donation:
|
148 |
+
$facade->completeDonation($foreignId);
|
149 |
+
|
150 |
+
// Multiple donations:
|
151 |
+
$facade->completeDonations(array($foreignId, $anotherForeignId));
|
152 |
+
|
153 |
+
If you have to cancel the donation, you can do so by calling the cancel donation method:
|
154 |
+
|
155 |
+
// One donation:
|
156 |
+
$facade->cancelDonation($foreignId);
|
157 |
+
|
158 |
+
// Multiple donations:
|
159 |
+
$facade->cancelDonations(array($foreignId, $anotherForeignId));
|
160 |
+
|
lib/Elefunds/Documentation/PHPGuideConfiguration.md
ADDED
@@ -0,0 +1,146 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
PHP Guide - Configuration
|
2 |
+
=========================
|
3 |
+
|
4 |
+
This SDK ships with a very powerful configuration mechanism. It allows you to setup a basic configuration and switch it at
|
5 |
+
runtime.
|
6 |
+
|
7 |
+
Basics
|
8 |
+
------
|
9 |
+
|
10 |
+
If you want to implement a custom configuration, it's a good idea to extend the default configuration. Here's an overview:
|
11 |
+
|
12 |
+
![overview](http://yuml.me/diagram/scruffy;dir:LR;/class///%20Cool%20Class%20Diagram,%20[note:ConfigurationInterface]-[BaseConfiguration],%20[BaseConfiguration]-%3E[DefaultConfiguration],%20[DefaultConfiguration]-%3E[YourCustomConfiguration] "ConfigurationOverview")
|
13 |
+
|
14 |
+
- the `ConfigurationInterface` is the core for all configuration files. If you are really unsatisfied with the BaseConfiguration you should drop us a mail - or - feel free to implement your own version as the SDK can handle it.
|
15 |
+
|
16 |
+
- the `BaseConfiguration` is a reference implementation, that implements algorithms for authentication, separates concerns of other key players and administrates implementations for our models.
|
17 |
+
|
18 |
+
- the `DefaultConfiguration` sets up a few options that you can use. For example, it sets the REST engine to *curl* and registers vanilla model implementations for receivers and donations.
|
19 |
+
|
20 |
+
> In most scenario's, you're good to go with the default configuration.
|
21 |
+
|
22 |
+
> The `DefaultConfiguration` registers it's setting in the `$configuration->init()` method, that is automatically called by the facade
|
23 |
+
> after the configuration is initialized. If you have custom logic yourself, this method is a good place for it.
|
24 |
+
|
25 |
+
Configuring your app is as easy as:
|
26 |
+
|
27 |
+
<?php
|
28 |
+
require_once dirname(__FILE__) . '/Facade.php';
|
29 |
+
require_once dirname(__FILE__) . '/Configuration/DefaultConfiguration.php';
|
30 |
+
|
31 |
+
$configuration = new Configuration_DefaultConfiguration();
|
32 |
+
$configuration->setClientId(1001)
|
33 |
+
->setApiKey('ay3456789gg234561234')
|
34 |
+
->setCountrycode('de');
|
35 |
+
|
36 |
+
$facade = new Elefunds_Facade($configuration);
|
37 |
+
?>
|
38 |
+
|
39 |
+
Another scenario would be, to implement a class, to extend the DefaultConfiguration:
|
40 |
+
|
41 |
+
<?php
|
42 |
+
require_once dirname(__FILE__) . '/Configuration/DefaultConfiguration.php';
|
43 |
+
|
44 |
+
class Elefunds_YourCustomConfiguration extends Configuration_DefaultConfiguration {
|
45 |
+
|
46 |
+
protected $clientId = 1001;
|
47 |
+
protected $hashedKey = 'eb85fa24f23b7ade5224a036b39556d65e764653';
|
48 |
+
protected $countrycode = 'de';
|
49 |
+
}
|
50 |
+
?>
|
51 |
+
|
52 |
+
Did you noticed, that we did not provide the apiKey, but the already calculated hashedKey? That'll save us some milliseconds,
|
53 |
+
as there is no need to calculate it on every request.
|
54 |
+
|
55 |
+
Advanced
|
56 |
+
--------
|
57 |
+
|
58 |
+
You are free to configure the various files of this SDK yourself. For example, you may want to change the REST engine
|
59 |
+
to something different than curl. You'd then need to implement the `RestInterface` in your own engine. This can be configured
|
60 |
+
like this:
|
61 |
+
|
62 |
+
require_once dirname(__FILE__) . '/YourRestEngine.php';
|
63 |
+
$configuration->setRestImplementation(new YourRestEngine());
|
64 |
+
|
65 |
+
The same is true for the Donation and Receiver classes. A common scenario would be to implement the donation or the receiver to
|
66 |
+
support a persistence layer.
|
67 |
+
|
68 |
+
Here's a very basic example for `Doctrine`:
|
69 |
+
|
70 |
+
<?php
|
71 |
+
namespace YourCompany\YourProduct\Entity;
|
72 |
+
|
73 |
+
use Doctrine\ORM\Mapping as ORM;
|
74 |
+
|
75 |
+
require_once 'path/to/ElefundsSDK/Model/Donation.php';
|
76 |
+
|
77 |
+
/**
|
78 |
+
* @ORM\Entity
|
79 |
+
* @ORM\Table(name="donation")
|
80 |
+
*/
|
81 |
+
class Donation extends Elefunds_Model_Donation
|
82 |
+
{
|
83 |
+
/**
|
84 |
+
* @ORM\Id
|
85 |
+
* @ORM\Column(type="integer")
|
86 |
+
* @ORM\GeneratedValue(strategy="AUTO")
|
87 |
+
*/
|
88 |
+
protected $id;
|
89 |
+
|
90 |
+
/**
|
91 |
+
* @ORM\Column(type="integer")
|
92 |
+
*/
|
93 |
+
protected $foreignId;
|
94 |
+
|
95 |
+
/**
|
96 |
+
* @ORM\Column(type="integer")
|
97 |
+
*/
|
98 |
+
protected $amount;
|
99 |
+
|
100 |
+
/**
|
101 |
+
* @ORM\Column(type="integer")
|
102 |
+
*/
|
103 |
+
protected $suggestedAmount;
|
104 |
+
|
105 |
+
/**
|
106 |
+
* We have a receiver model as well!
|
107 |
+
*
|
108 |
+
* @ORM\OneToMany(targetEntity="Receiver", mappedBy="donation")
|
109 |
+
*/
|
110 |
+
protected $receivers;
|
111 |
+
|
112 |
+
/**
|
113 |
+
* @ORM\OneToMany(targetEntity="Receiver", mappedBy="donation")
|
114 |
+
*/
|
115 |
+
protected $availableReceivers;
|
116 |
+
|
117 |
+
/**
|
118 |
+
* @ORM\Column(type="integer")
|
119 |
+
*/
|
120 |
+
protected $grandTotal;
|
121 |
+
|
122 |
+
/**
|
123 |
+
* @ORM\Column(type="datetime")
|
124 |
+
*/
|
125 |
+
protected $time;
|
126 |
+
}
|
127 |
+
?>
|
128 |
+
|
129 |
+
This would get the job done:
|
130 |
+
|
131 |
+
// Let's assume $facade is already up and running.
|
132 |
+
$facade->getConfiguration()->setDonationClassName('YourCompany\YourProduct\Entity\Donation');
|
133 |
+
|
134 |
+
$donation = $facade->createDonation()->setForeignId(123)
|
135 |
+
->setAmount(50)
|
136 |
+
->addReceiverId(1001)
|
137 |
+
->setAvailableReceiverIds(array(1001, 1002, 1003))
|
138 |
+
->setTime(new DateTime()),
|
139 |
+
|
140 |
+
// Let's say we use symfony and are in a controller:
|
141 |
+
$entityManager = $this->getDoctrine()->getManager();
|
142 |
+
$entityManager->persist($donation);
|
143 |
+
$entityManager->flush();
|
144 |
+
|
145 |
+
The same scenario is true for receivers and can be achieved using the `$configuration->setReceiverClassName()` method. If
|
146 |
+
you can't use the given models as base classes, you can implement the `DonationInterface` as well as the `ReceiverInterface`.
|
lib/Elefunds/Documentation/PHPGuideTemplating.md
ADDED
@@ -0,0 +1,235 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
PHP Guide - Templating
|
2 |
+
======================
|
3 |
+
|
4 |
+
The SDK ships with simple, yet efficient templating support. We have a shop template and are working hard to implement
|
5 |
+
templates for other applications as well. This guide will walk you through setting up the shop template and give you hints
|
6 |
+
on how to implement your own templates.
|
7 |
+
|
8 |
+
Basics
|
9 |
+
------
|
10 |
+
|
11 |
+
**Checkout**
|
12 |
+
|
13 |
+
Using a template is as easy as accessing raw data. But a template gives you some additional configuration options and
|
14 |
+
requires you to provide some extra information.
|
15 |
+
|
16 |
+
The shop example has a configuration like this:
|
17 |
+
|
18 |
+
<?php
|
19 |
+
require_once dirname(__FILE__) . '/Template/Shop/CheckoutConfiguration.php';
|
20 |
+
|
21 |
+
class Elefunds_Example_ShopExampleConfiguration extends Template_Shop_CheckoutConfiguration {
|
22 |
+
|
23 |
+
protected $clientId = 1001;
|
24 |
+
protected $apiKey = 'ay3456789gg234561234';
|
25 |
+
|
26 |
+
public function init() {
|
27 |
+
parent::init();
|
28 |
+
|
29 |
+
// Width of the checkout area, ie. how wide you want the plugin to be
|
30 |
+
$this->view->assign('shopWidth', 600);
|
31 |
+
}
|
32 |
+
}
|
33 |
+
?>
|
34 |
+
|
35 |
+
This is the bare minimum. You can see that we assign values to the view. The view needs the information `shopWidth` to
|
36 |
+
know the width of your checkout layout to calculate the size of the plugin. It needs one more information to do it's job: The total sum to round up. Your shop should give the actual total to the view and it will calculate the assumed roundup and format everything in a nice html snippet.
|
37 |
+
|
38 |
+
So what's left to do:
|
39 |
+
|
40 |
+
<?php
|
41 |
+
require_once dirname(__FILE__) . '/../Facade.php';
|
42 |
+
require_once dirname(__FILE__) . '/ShopExampleConfiguration.php';
|
43 |
+
|
44 |
+
$facade = new Elefunds_Facade();
|
45 |
+
|
46 |
+
try {
|
47 |
+
$facade->setConfiguration(new Elefunds_Example_ShopExampleConfiguration());
|
48 |
+
$snippet = $facade->renderTemplate();
|
49 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $error) {
|
50 |
+
$snippet = '';
|
51 |
+
}
|
52 |
+
?>
|
53 |
+
|
54 |
+
Nothing else is needed to get you going. `$snippet` will now either include the rendered plugin or an empty string if
|
55 |
+
the communication went wrong (the latter is a fallback to not compromise your checkout).
|
56 |
+
|
57 |
+
In order to have everything in place, you need to add CSS and Javascript snippets. This can be done like this:
|
58 |
+
|
59 |
+
<!-- +++ HTML Snippet for your head section +++ -->
|
60 |
+
<?php foreach($facade->getTemplateCssFiles() as $cssFile): ?>
|
61 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $cssFile; ?>">
|
62 |
+
<?php endforeach; ?>
|
63 |
+
<!-- ^^^ HTML Snippets for your head section ^^^ -->
|
64 |
+
|
65 |
+
<!-- +++ HTML Snippet for Javascript Files +++ -->
|
66 |
+
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"> </script>
|
67 |
+
<?php foreach($facade->getTemplateJavascriptFiles() as $javascript): ?>
|
68 |
+
<script type="text/javascript" src="<?php echo $javascript; ?>"></script>
|
69 |
+
<?php endforeach; ?>
|
70 |
+
<!-- ^^^ HTML Snippet for Javascript Files ^^^ -->
|
71 |
+
|
72 |
+
> CSS and Javascript path's are always relative to the SDK root (e.g. the same folder as the `Facade`).
|
73 |
+
|
74 |
+
> We're working on a version, were you can set your javascript library of choice in your configuration.
|
75 |
+
> At the moment, this template requires jQuery.
|
76 |
+
|
77 |
+
|
78 |
+
If you use the `ShopConfiguration`, you can easily change the theme!
|
79 |
+
|
80 |
+
// Let's assume, that the facade is already configured!
|
81 |
+
$configuration = $facade->getConfiguration();
|
82 |
+
|
83 |
+
/** @var Elefunds_Template_Shop_ShopConfiguration $configuration */
|
84 |
+
$configuration->getView()
|
85 |
+
->assign('skin'
|
86 |
+
array(
|
87 |
+
'theme' => 'light',
|
88 |
+
'color' => 'purple'
|
89 |
+
)
|
90 |
+
);
|
91 |
+
|
92 |
+
**Success**
|
93 |
+
|
94 |
+
When a checkout was successful, you can send back the donation and display our facebook and twitter share. This is as easy as:
|
95 |
+
|
96 |
+
require_once dirname(__FILE__) . '/../Facade.php';
|
97 |
+
require_once dirname(__FILE__) . '/ShopExampleCheckoutSuccessConfiguration.php';
|
98 |
+
|
99 |
+
$facade = new Elefunds_Facade();
|
100 |
+
$facade->setConfiguration(new Elefunds_Example_ShopExampleCheckoutSuccessConfiguration());
|
101 |
+
|
102 |
+
|
103 |
+
$facade->getConfiguration()->getView()->assign('donationReceivers', array(
|
104 |
+
2 => 'UNO',
|
105 |
+
3 => 'Care'
|
106 |
+
));
|
107 |
+
|
108 |
+
$facade->getConfiguration()->getView()->assign('foreignId', 1234);
|
109 |
+
$snippet = $facade->renderTemplate('CheckoutSuccess');
|
110 |
+
|
111 |
+
Notice that we do not need to create try / catch blocks here, as there are no API calls yet! You have to add the donation
|
112 |
+
receivers and your foreignId to the view, as they are needed for the facebook and twitter share. `$snippet` now contains the data for the facebook share.
|
113 |
+
|
114 |
+
Since the share does not need additionally Javascript files, you're good to go with the following lines:
|
115 |
+
|
116 |
+
<!-- +++ HTML Snippet for your head section +++ -->
|
117 |
+
<?php foreach($facade->getTemplateCssFiles() as $cssFile): ?>
|
118 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $cssFile; ?>">
|
119 |
+
<?php endforeach; ?>
|
120 |
+
<!-- ^^^ HTML Snippets for your head section ^^^ -->
|
121 |
+
|
122 |
+
> You can configure the Share (like which ones are to display the hover title and much more directly in the init()
|
123 |
+
> method of the CheckoutSuccessConfiguration, or - better - override it's values in your extending Configuration
|
124 |
+
> file.
|
125 |
+
|
126 |
+
All that's left to do no now is send us the donation data.
|
127 |
+
|
128 |
+
|
129 |
+
Advanced
|
130 |
+
--------
|
131 |
+
|
132 |
+
You can create your own template as well. It's easy.
|
133 |
+
|
134 |
+
To get started create a new Folder named `Awesome` below the Template Folder and create a `View.phtml` file in it:
|
135 |
+
|
136 |
+
<div>
|
137 |
+
<p>$view['number']</p>
|
138 |
+
</div>
|
139 |
+
|
140 |
+
> `View` is the default, if you want to name your template differently, you have to add the name as parameter to the
|
141 |
+
> `$facade->renderTemplate('YourDifferentName')` method.
|
142 |
+
|
143 |
+
Create an `AwesomeConfiguration.php` file as well, with the following content:
|
144 |
+
|
145 |
+
<?php
|
146 |
+
|
147 |
+
require_once dirname(__FILE__) . '/../../Configuration/DefaultConfiguration.php';
|
148 |
+
require_once dirname(__FILE__) . '/../../View/BaseView.php';
|
149 |
+
|
150 |
+
class Elefunds_Template_Awesome_AwesomeConfiguration extends Configuration_DefaultConfiguration {
|
151 |
+
|
152 |
+
public function init() {
|
153 |
+
parent::init();
|
154 |
+
|
155 |
+
$this->setView(new Elefunds_View_BaseView());
|
156 |
+
$this->view->setTemplate('Awesome');
|
157 |
+
$this->view->assign('number', 42);
|
158 |
+
}
|
159 |
+
}
|
160 |
+
?>
|
161 |
+
|
162 |
+
If you now pass the AwesomeConfiguration to your facade, you are able to render the template. As you can see, everything
|
163 |
+
you assign to the view is accessible in the `$view` Array of your `View.phtml`.
|
164 |
+
|
165 |
+
But let's do some more tricks!
|
166 |
+
|
167 |
+
Fire some CSS files and Javascript files in the Folder `Template/Awesome/Css` and `Template/Awesome/Javascript`. You can assign
|
168 |
+
them to your template like this (assuming you are inside the configuration's `init()` method):
|
169 |
+
|
170 |
+
$this->view->addCssFile('awesome.min.css');
|
171 |
+
$this->view->addJavascriptFile('awesome.jquery.min.js');
|
172 |
+
|
173 |
+
> It's a good practise to provide minimized versions of your static files.
|
174 |
+
|
175 |
+
Lets create a hook to multiply a number by ten.
|
176 |
+
|
177 |
+
> You can see this trick in action if you are looking at the hooks in the shop template. For example, the suggested roundup gets
|
178 |
+
> calculated that way when the total is assigned to the view.
|
179 |
+
|
180 |
+
Create a file named `AwesomeHooks.php` and save it at `Template/Awesome/Hooks`. Then paste in the following content:
|
181 |
+
|
182 |
+
<?php
|
183 |
+
class Elefunds_Template_Awesome_Hooks_AwesomeHooks {
|
184 |
+
public static function mulitplyByTen($view, $number) {
|
185 |
+
$view->assign('number', $number * 10);
|
186 |
+
}
|
187 |
+
}
|
188 |
+
?>
|
189 |
+
|
190 |
+
Now adjust your Configuration file like this:
|
191 |
+
|
192 |
+
<?php
|
193 |
+
require_once dirname(__FILE__) . '/../../Configuration/DefaultConfiguration.php';
|
194 |
+
require_once dirname(__FILE__) . '/../../View/BaseView.php';
|
195 |
+
require_once dirname(__FILE__) . '/Hooks/AwesomeHooks.php';
|
196 |
+
|
197 |
+
class Elefunds_Template_Awesome_AwesomeConfiguration extends Configuration_DefaultConfiguration {
|
198 |
+
public function init() {
|
199 |
+
parent::init();
|
200 |
+
|
201 |
+
$this->setView(new Elefunds_View_BaseView());
|
202 |
+
$this->view->setTemplate('Awesome');
|
203 |
+
$this->view->registerAssignHook('number', 'Elefunds_Template_Awesome_Hooks_AwesomeHooks', 'mulitplyByTen');
|
204 |
+
}
|
205 |
+
}
|
206 |
+
?>
|
207 |
+
|
208 |
+
We have omitted the number but added a hook for it. If the number is assigned from the outside, the hook kicks in and adds
|
209 |
+
a variable named `numberMultipliedByTen` to the view. If the number is set, it will be available like this:
|
210 |
+
|
211 |
+
<div>
|
212 |
+
<p><?php echo $view['number']; ?></p>
|
213 |
+
<p><?php echo $view['numberMultipliedByTen']; ?></p>
|
214 |
+
</div>
|
215 |
+
|
216 |
+
In order for this to work, the number must be set, an example would be:
|
217 |
+
|
218 |
+
<?php
|
219 |
+
require_once 'Facade.php';
|
220 |
+
require_once 'Template/Awesome/AwesomeConfiguration.php';
|
221 |
+
|
222 |
+
$facade = new Elefunds_Facade(new Elefunds_Template_Awesome_AwesomeConfiguration());
|
223 |
+
$facade->getConfiguration()->getView()->assign('number', 42);
|
224 |
+
echo $facade->renderTemplate();
|
225 |
+
?>
|
226 |
+
|
227 |
+
If the number is assigned, the multiplied version is assigned as well.
|
228 |
+
|
229 |
+
> There's a whole lot more to explore. Be sure to check out the shop template to get an in-depth overview on what is
|
230 |
+
> possible with this SDK's templating system.
|
231 |
+
|
232 |
+
|
233 |
+
|
234 |
+
|
235 |
+
|
lib/Elefunds/Example/RawDataConfiguration.php
ADDED
@@ -0,0 +1,60 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../Configuration/DefaultConfiguration.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Sample Configuration for the elefunds API.
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Example
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Example_RawDataConfiguration extends Elefunds_Configuration_DefaultConfiguration {
|
54 |
+
|
55 |
+
//Insert your clientID and apiKey
|
56 |
+
protected $clientId = 1001;
|
57 |
+
protected $apiKey = 'ay3456789gg234561234';
|
58 |
+
|
59 |
+
protected $countrycode = 'de';
|
60 |
+
}
|
lib/Elefunds/Example/ShopExampleCheckoutSuccessConfiguration.php
ADDED
@@ -0,0 +1,69 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*/
|
38 |
+
|
39 |
+
require_once dirname(__FILE__) . '/../Template/Shop/CheckoutSuccessConfiguration.php';
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Sample Configuration for the elefunds API Shop Template Checkout view.
|
43 |
+
*
|
44 |
+
* @package elefunds API PHP Library
|
45 |
+
* @subpackage Example
|
46 |
+
* @author Christian Peters <christian@elefunds.de>
|
47 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
48 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
49 |
+
* @link http://www.elefunds.de
|
50 |
+
* @since File available since Release 1.0.0
|
51 |
+
*/
|
52 |
+
class Elefunds_Example_ShopExampleCheckoutSuccessConfiguration extends Elefunds_Template_Shop_CheckoutSuccessConfiguration {
|
53 |
+
|
54 |
+
//Insert your clientID and apiKey
|
55 |
+
protected $clientId = 1001;
|
56 |
+
protected $apiKey = 'ay3456789gg234561234';
|
57 |
+
|
58 |
+
protected $countrycode = 'de';
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Assigns the name of the shop.
|
62 |
+
*
|
63 |
+
* @return void
|
64 |
+
*/
|
65 |
+
public function init() {
|
66 |
+
parent::init();
|
67 |
+
}
|
68 |
+
|
69 |
+
}
|
lib/Elefunds/Example/ShopExampleConfiguration.php
ADDED
@@ -0,0 +1,77 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../Template/Shop/CheckoutConfiguration.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Sample Configuration for the elefunds API Shop Template.
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Example
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Example_ShopExampleConfiguration extends Elefunds_Template_Shop_CheckoutConfiguration {
|
54 |
+
|
55 |
+
//Insert your clientID and apiKey
|
56 |
+
protected $clientId = 1001;
|
57 |
+
protected $apiKey = 'ay3456789gg234561234';
|
58 |
+
|
59 |
+
protected $countrycode = 'de';
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Assigns the shop width and the currency delimiter that should be used for the elefunds module.
|
63 |
+
*/
|
64 |
+
public function init() {
|
65 |
+
|
66 |
+
parent::init();
|
67 |
+
|
68 |
+
/** You have to assign some vars here, to calculate the view. */
|
69 |
+
|
70 |
+
// Width of the checkout area, ie. how wide you want the plugin to be
|
71 |
+
$this->view->assign('shopWidth', 900);
|
72 |
+
|
73 |
+
// These are default Values, you can override this if you have another currency # $this->view->assign('currency', '€'); #
|
74 |
+
$this->view->assign('currencyDelimiter', '.');
|
75 |
+
}
|
76 |
+
|
77 |
+
}
|
lib/Elefunds/Example/rawDataExample.php
ADDED
@@ -0,0 +1,110 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once dirname(__FILE__) . '/../Facade.php';
|
4 |
+
require_once dirname(__FILE__) . '/RawDataConfiguration.php';
|
5 |
+
|
6 |
+
// Set up API
|
7 |
+
$facade = new Elefunds_Facade();
|
8 |
+
$facade->setConfiguration(new Example_RawDataConfiguration());
|
9 |
+
|
10 |
+
/**
|
11 |
+
* BASIC ACTIONS
|
12 |
+
*/
|
13 |
+
|
14 |
+
// Get receivers
|
15 |
+
$receivers = $facade->getReceivers();
|
16 |
+
var_dump($receivers);
|
17 |
+
|
18 |
+
// Send donation
|
19 |
+
$response = $facade->addDonations(
|
20 |
+
|
21 |
+
array(
|
22 |
+
|
23 |
+
$facade->createDonation()->setForeignId(123)
|
24 |
+
->setAmount(50)
|
25 |
+
->addReceiverId(1001)
|
26 |
+
->setAvailableReceiverIds(array(1001, 1002, 1003))
|
27 |
+
->setTime(new DateTime()),
|
28 |
+
|
29 |
+
$facade->createDonation()->setForeignId(125)
|
30 |
+
->setAmount(25)
|
31 |
+
->setSuggestedAmount(20)
|
32 |
+
->setGrandTotal(1005)
|
33 |
+
->setReceiverIds(array(1001, 1002))
|
34 |
+
->setAvailableReceiverIds(array(1001, 1002, 1003))
|
35 |
+
->setTime(new DateTime())
|
36 |
+
->setDonator('hello@elefunds.de', 'Christian', 'Peters', 'Schönhauser Allee 124', 10243, 'Berlin')
|
37 |
+
|
38 |
+
)
|
39 |
+
|
40 |
+
);
|
41 |
+
|
42 |
+
// Sample server response
|
43 |
+
echo('<p>Added: ' . $response . '</p>');
|
44 |
+
|
45 |
+
// Some users did not pay or an order got canceled? Just delete their donations with the corresponding foreignId
|
46 |
+
$response = $facade->cancelDonation(123);
|
47 |
+
// Or Multiple
|
48 |
+
# $response = $facade->cancelDonations(array(123, 124));
|
49 |
+
|
50 |
+
// Sample server response
|
51 |
+
echo('<p>Deleted: ' . $response . '</p>');
|
52 |
+
|
53 |
+
// NOTE: Normally you should wrap API calls around try ... catch! Like this:
|
54 |
+
try {
|
55 |
+
$receivers = $facade->getReceivers();
|
56 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $exception) {
|
57 |
+
$message = $exception->getMessage();
|
58 |
+
$additionalInformation = $exception->getAdditionalInformation();
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* COOL TRICKS
|
63 |
+
*/
|
64 |
+
|
65 |
+
// Wanna change language at runtime? Here's an example for TYPO3:
|
66 |
+
# $countrycode = $GLOBALS['TSFE']->sys_language_uid === 0 ? 'de' : 'en';
|
67 |
+
# $facade->getConfiguration()->setCountrycode($countrycode);
|
68 |
+
# $receivers = $facade->getReceivers();
|
69 |
+
|
70 |
+
// Use the API for different shops and want to switch configuration at will?
|
71 |
+
# $configuration = $shop->getId() === 1 ? new MyFirstShopConfiguration() : new MySecondShopConfiguration();
|
72 |
+
# $facade->setConfiguration($configuration);
|
73 |
+
|
74 |
+
|
75 |
+
// Wanna switch from curl to some rare php module no one uses?
|
76 |
+
// You can opt to push this into your configuration file, but you're free to do it at runtime
|
77 |
+
|
78 |
+
# require_once('path/to/class/that/implements/our/RestInterface/Implementation.php);
|
79 |
+
# $facade->getConfiguration()->setRestImplementation(new Implementation());
|
80 |
+
|
81 |
+
|
82 |
+
// You have three different shops, one on doctrine, one on propel and one on your self build persistence layer?
|
83 |
+
// You want to have the donation class be a part of your backend, so it gets auto persisted after retrieving?
|
84 |
+
// You want to decide at runtime, which backend to use?
|
85 |
+
|
86 |
+
// 1. Generate a donation class for your backend and implement the Elefunds_Model_DonationInterface
|
87 |
+
// 2. Use the full power of your persistence backend of choice
|
88 |
+
// 3. Set the backend at runtime like this (assumes that your shop / framework uses autoloading for the persistence backend)
|
89 |
+
// 4. That's it.
|
90 |
+
|
91 |
+
/*
|
92 |
+
switch($persistenceBackend) {
|
93 |
+
|
94 |
+
case self::DOCTRINCE:
|
95 |
+
$facade->getConfiguration()->setDonationClassName('Application\Domain\Model\YourDonationClass');
|
96 |
+
break;
|
97 |
+
|
98 |
+
case self::PROPEL:
|
99 |
+
$facade->getConfiguration()->setDonationClassName('Application\Domain\Model\YourOtherDonationClass');
|
100 |
+
break;
|
101 |
+
|
102 |
+
case self::MYCOOLPERSISTENCEBACKEND:
|
103 |
+
$facade->getConfiguration()->setDonationClassName('Application\Domain\Model\YourThirdDonationClass');
|
104 |
+
break;
|
105 |
+
|
106 |
+
}
|
107 |
+
*/
|
108 |
+
|
109 |
+
// Same is true for Receivers!
|
110 |
+
|
lib/Elefunds/Example/shopExample.php
ADDED
@@ -0,0 +1,81 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* A sample checkout page
|
5 |
+
*/
|
6 |
+
require_once dirname(__FILE__) . '/../Facade.php';
|
7 |
+
require_once dirname(__FILE__) . '/ShopExampleConfiguration.php';
|
8 |
+
|
9 |
+
try {
|
10 |
+
$facade = new Elefunds_Facade();
|
11 |
+
|
12 |
+
$facade->setConfiguration(new Elefunds_Example_ShopExampleConfiguration());
|
13 |
+
|
14 |
+
// Assign the total at runtime.
|
15 |
+
//
|
16 |
+
// Normally this would be coming from the grand total in the checkout process.
|
17 |
+
// For our example, we'll hard-code the value.
|
18 |
+
$actualTotal = 960;
|
19 |
+
$facade->getConfiguration()->getView()->assign('total', $actualTotal);
|
20 |
+
|
21 |
+
// Define the skin of the module. Currently, the skin is made up of the following
|
22 |
+
// theme: 'light', 'dark'
|
23 |
+
// color: 'orange', 'blue', 'green', 'purple'
|
24 |
+
$facade->getConfiguration()->getView()->assign('skin',
|
25 |
+
array(
|
26 |
+
'theme' => 'dark',
|
27 |
+
'color' => 'blue'
|
28 |
+
)
|
29 |
+
);
|
30 |
+
|
31 |
+
$snippet = $facade->renderTemplate();
|
32 |
+
|
33 |
+
} catch (Elefunds_Exception_ElefundsCommunicationException $error) {
|
34 |
+
|
35 |
+
// If something goes wrong, we do not render anything at all.
|
36 |
+
$snippet = '';
|
37 |
+
}
|
38 |
+
|
39 |
+
?>
|
40 |
+
|
41 |
+
<!DOCTYPE HTML >
|
42 |
+
<html>
|
43 |
+
<head>
|
44 |
+
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
45 |
+
<title>My Shop</title>
|
46 |
+
<?php foreach ($facade->getTemplateCssFiles() as $cssFile): ?>
|
47 |
+
<link rel="stylesheet" type="text/css" href="../<?php echo $cssFile; ?>">
|
48 |
+
<?php endforeach; ?>
|
49 |
+
<!-- Be sure to include jQuery as it's required by our JavaScript files -->
|
50 |
+
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
|
51 |
+
<style>
|
52 |
+
body {
|
53 |
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
54 |
+
}
|
55 |
+
</style>
|
56 |
+
</head>
|
57 |
+
<body>
|
58 |
+
<h2>My awesome Shop</h2>
|
59 |
+
|
60 |
+
<!-- Lets assume the checkout total is 9.60€ -->
|
61 |
+
<div style="margin-left: 780px; margin-bottom: 10px; font-weight: bold;">Total: 9.60 €</div>
|
62 |
+
|
63 |
+
<!-- Some other HTML here -->
|
64 |
+
|
65 |
+
<!--
|
66 |
+
This will render the template. If you are using a form, then you will have access to the selected
|
67 |
+
receivers automatically, because they are all rendered as input fields, so you have them to your
|
68 |
+
service upon your next request.
|
69 |
+
|
70 |
+
You can opt to override the template in Template/Shop/View.phtml to fit your needs if you have
|
71 |
+
another implementation.
|
72 |
+
-->
|
73 |
+
<?php echo $snippet; ?>
|
74 |
+
|
75 |
+
<!-- Even more HTML here -->
|
76 |
+
|
77 |
+
<?php foreach ($facade->getTemplateJavascriptFiles() as $javascript): ?>
|
78 |
+
<script type="text/javascript" src="../<?php echo $javascript; ?>"></script>
|
79 |
+
<?php endforeach; ?>
|
80 |
+
</body>
|
81 |
+
</html>
|
lib/Elefunds/Example/shopExampleCheckoutSuccess.php
ADDED
@@ -0,0 +1,60 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* A sample successful order page
|
5 |
+
*/
|
6 |
+
require_once dirname(__FILE__) . '/../Facade.php';
|
7 |
+
require_once dirname(__FILE__) . '/ShopExampleCheckoutSuccessConfiguration.php';
|
8 |
+
|
9 |
+
$facade = new Elefunds_Facade();
|
10 |
+
$facade->setConfiguration(new Elefunds_Example_ShopExampleCheckoutSuccessConfiguration());
|
11 |
+
|
12 |
+
// We've prepared this for you: The names of all receivers are given as hidden field
|
13 |
+
// in the checkout template and you get the ids of the receivers via the checked fields.
|
14 |
+
//
|
15 |
+
// Just check which receivers have been checked by the user and assign them here.
|
16 |
+
//
|
17 |
+
// You can get the id of the receiver from the checkbox input field id
|
18 |
+
// Like this: $receiverIds = array_map(function($x) { return (int)$x; }, $params['elefunds_receiver']);
|
19 |
+
//
|
20 |
+
// We assume, that Care and UNO have been chosen.
|
21 |
+
$facade->getConfiguration()->getView()->assign('receivers', array(
|
22 |
+
2 => 'UNO',
|
23 |
+
3 => 'Care'
|
24 |
+
));
|
25 |
+
|
26 |
+
// Assign current orderId as foreignId
|
27 |
+
$facade->getConfiguration()->getView()->assign('foreignId', 1234);
|
28 |
+
|
29 |
+
// Define the skin of the module. Currently, the skin is made up of the following...
|
30 |
+
// theme: 'light', 'dark'
|
31 |
+
// color: 'orange', 'blue', 'green', 'purple'
|
32 |
+
$facade->getConfiguration()->getView()->assign('skin',
|
33 |
+
array(
|
34 |
+
'theme' => 'dark',
|
35 |
+
'color' => 'blue'
|
36 |
+
)
|
37 |
+
);
|
38 |
+
|
39 |
+
?>
|
40 |
+
|
41 |
+
<!DOCTYPE HTML >
|
42 |
+
<html>
|
43 |
+
<head>
|
44 |
+
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
45 |
+
<title>My awesome Shop</title>
|
46 |
+
<?php foreach ($facade->getTemplateCssFiles() as $cssFile): ?>
|
47 |
+
<link rel="stylesheet" type="text/css" href="../<?php echo $cssFile; ?>">
|
48 |
+
<?php endforeach; ?>
|
49 |
+
</head>
|
50 |
+
<body>
|
51 |
+
<h2>My awesome Shop</h2>
|
52 |
+
|
53 |
+
<!-- Some other HTML here -->
|
54 |
+
|
55 |
+
<?php echo $facade->renderTemplate('CheckoutSuccess'); ?>
|
56 |
+
|
57 |
+
<!-- Even more HTML here -->
|
58 |
+
|
59 |
+
</body>
|
60 |
+
</html>
|
lib/Elefunds/Exception/ElefundsCommunicationException.php
ADDED
@@ -0,0 +1,56 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Elefunds communication error class.
|
42 |
+
*
|
43 |
+
* This error is thrown, if something with the API communication went wrong. Errors like this
|
44 |
+
* should be caught and handled appropriately.
|
45 |
+
*
|
46 |
+
* @package elefunds API PHP Library
|
47 |
+
* @subpackage Exception
|
48 |
+
* @author Christian Peters <christian@elefunds.de>
|
49 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
50 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
51 |
+
* @link http://www.elefunds.de
|
52 |
+
* @since File available since Release 1.0.0
|
53 |
+
*/
|
54 |
+
class Elefunds_Exception_ElefundsCommunicationException extends Elefunds_Exception_ElefundsException {
|
55 |
+
|
56 |
+
}
|
lib/Elefunds/Exception/ElefundsException.php
ADDED
@@ -0,0 +1,120 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Elefunds custom error class.
|
42 |
+
*
|
43 |
+
* This error is thrown if anything fatal goes wrong that needs a developer to fix it.
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Exception
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Exception_ElefundsException extends Exception {
|
54 |
+
|
55 |
+
/**
|
56 |
+
* An elefunds error.
|
57 |
+
*
|
58 |
+
* @param string $message The error message
|
59 |
+
* @param int $code An integer of the code, defined as the timestamp at the time where the error was defined
|
60 |
+
* @param array $additionalInformation
|
61 |
+
*/
|
62 |
+
public function __construct($message, $code = 0, array $additionalInformation=array()) {
|
63 |
+
|
64 |
+
$this->additionalInformation = $additionalInformation;
|
65 |
+
parent::__construct($message, $code);
|
66 |
+
|
67 |
+
}
|
68 |
+
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Add additional information.
|
72 |
+
*
|
73 |
+
* @param array $additionalInformation
|
74 |
+
* @return Elefunds_Exception_ElefundsException
|
75 |
+
*/
|
76 |
+
public function addAdditionalInformation(array $additionalInformation) {
|
77 |
+
$this->additionalInformation = array_merge($this->additionalInformation, $additionalInformation);
|
78 |
+
return $this;
|
79 |
+
}
|
80 |
+
|
81 |
+
|
82 |
+
/**
|
83 |
+
* Additional Information
|
84 |
+
*
|
85 |
+
* Some Exceptions are upgraded with additional information. In this case, refer to
|
86 |
+
* the exception message to find out about their nature.
|
87 |
+
*
|
88 |
+
* @return array
|
89 |
+
*/
|
90 |
+
public function getAdditionalInformation() {
|
91 |
+
return $this->additionalInformation;
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Transforms the error to string.
|
96 |
+
*
|
97 |
+
* All additional information are added if they are of type string.
|
98 |
+
*
|
99 |
+
* @return string
|
100 |
+
*/
|
101 |
+
public function __toString() {
|
102 |
+
|
103 |
+
$additionalInformation = '';
|
104 |
+
|
105 |
+
foreach ($this->additionalInformation as $key => $value) {
|
106 |
+
if (is_string($value)) {
|
107 |
+
$additionalInformation .= (string)$key . ' = ' . $value . PHP_EOL;
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
$string = __CLASS__ . ' [Errorcode: ' . $this->code . '] : ' . $this->message . PHP_EOL;
|
112 |
+
|
113 |
+
if (strlen($additionalInformation) > 0) {
|
114 |
+
$string .= 'Additional information:' . PHP_EOL . $additionalInformation;
|
115 |
+
}
|
116 |
+
|
117 |
+
return $string;
|
118 |
+
|
119 |
+
}
|
120 |
+
}
|
lib/Elefunds/Facade.php
ADDED
@@ -0,0 +1,341 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/Model/Factory.php';
|
41 |
+
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Elefunds Facade with access to the entire API functionality.
|
45 |
+
*
|
46 |
+
* @package elefunds API PHP Library
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Facade {
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @var Elefunds_Configuration_ConfigurationInterface
|
57 |
+
*/
|
58 |
+
protected $configuration;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* The cached receivers response - during one process there should only be one call.
|
62 |
+
*
|
63 |
+
* @var array
|
64 |
+
*/
|
65 |
+
protected $cachedReceivers = array();
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Sets up the facade and initializes configuration (if set).
|
69 |
+
*
|
70 |
+
* @param Elefunds_Configuration_ConfigurationInterface $configuration
|
71 |
+
*/
|
72 |
+
public function __construct(Elefunds_Configuration_ConfigurationInterface $configuration = NULL) {
|
73 |
+
if ($configuration !== NULL) {
|
74 |
+
$this->setConfiguration($configuration);
|
75 |
+
}
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Returns a brand new donation.
|
80 |
+
*
|
81 |
+
* @return Elefunds_Model_DonationInterface
|
82 |
+
*/
|
83 |
+
public function createDonation() {
|
84 |
+
return Elefunds_Model_Factory::getDonation();
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Returns a brand new Receiver.
|
89 |
+
*
|
90 |
+
* @return Elefunds_Model_ReceiverInterface
|
91 |
+
*/
|
92 |
+
public function createReceiver() {
|
93 |
+
return Elefunds_Model_Factory::getReceiver();
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Sets the configuration.
|
98 |
+
*
|
99 |
+
* @param Elefunds_Configuration_ConfigurationInterface $configuration
|
100 |
+
* @return Elefunds_Facade
|
101 |
+
*/
|
102 |
+
public function setConfiguration(Elefunds_Configuration_ConfigurationInterface $configuration) {
|
103 |
+
$this->configuration = $configuration;
|
104 |
+
$this->configuration->setFacade($this);
|
105 |
+
$this->configuration->init();
|
106 |
+
return $this;
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* Returns the configuration instance.
|
111 |
+
*
|
112 |
+
* @return Elefunds_Configuration_ConfigurationInterface
|
113 |
+
*/
|
114 |
+
public function getConfiguration() {
|
115 |
+
return $this->configuration;
|
116 |
+
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Returns the available receivers
|
120 |
+
*
|
121 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException
|
122 |
+
* @return array
|
123 |
+
*/
|
124 |
+
public function getReceivers() {
|
125 |
+
|
126 |
+
if (count($this->cachedReceivers) === 0) {
|
127 |
+
$restUrl = $this->configuration->getApiUrl() . '/receivers/?clientId=' . $this->configuration->getClientId() . '&hashedKey=' . $this->configuration->getHashedKey();
|
128 |
+
$rawJson = $this->configuration->getRestImplementation()->get($restUrl);
|
129 |
+
|
130 |
+
$response = json_decode($rawJson, TRUE);
|
131 |
+
$this->cachedReceivers = $response;
|
132 |
+
}
|
133 |
+
|
134 |
+
// Let's get the country specific receivers
|
135 |
+
if (!isset($this->cachedReceivers['receivers'][$this->configuration->getCountrycode()])) {
|
136 |
+
throw new Elefunds_Exception_ElefundsCommunicationException(
|
137 |
+
'Requested countrycode was not available. Available country codes are: ' . implode(', ', array_keys($response['receivers'])) . '.',
|
138 |
+
1347966301
|
139 |
+
);
|
140 |
+
}
|
141 |
+
|
142 |
+
$receivers = array();
|
143 |
+
|
144 |
+
foreach ($this->cachedReceivers['receivers'][$this->configuration->getCountrycode()] as $rec) {
|
145 |
+
$receiver = $this->createReceiver();
|
146 |
+
$receivers[] = $receiver->setId($rec['id'])
|
147 |
+
->setName($rec['name'])
|
148 |
+
->setDescription($rec['description'])
|
149 |
+
->setImages($rec['images'])
|
150 |
+
->setValidTime(new DateTime($this->cachedReceivers['meta']['valid']));
|
151 |
+
}
|
152 |
+
|
153 |
+
return $receivers;
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* Adds a single Donation to the API.
|
158 |
+
*
|
159 |
+
* This is just a wrapper for the addDonations method.
|
160 |
+
*
|
161 |
+
* @param Elefunds_Model_DonationInterface
|
162 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
163 |
+
* @return string Message returned from the API
|
164 |
+
*/
|
165 |
+
public function addDonation(Elefunds_Model_DonationInterface $donation) {
|
166 |
+
return $this->addDonations(array($donation));
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* Cancels a single Donation at the API.
|
171 |
+
*
|
172 |
+
* This is just a wrapper for the cancelDonations method.
|
173 |
+
*
|
174 |
+
* @param int $donationId
|
175 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
176 |
+
* @return string Message returned from the API
|
177 |
+
*/
|
178 |
+
public function cancelDonation($donationId) {
|
179 |
+
return $this->cancelDonations(array($donationId));
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Completes a single Donation in the API.
|
184 |
+
*
|
185 |
+
* This is just a wrapper for the completeDonations method.
|
186 |
+
*
|
187 |
+
* @param int $donationId
|
188 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
189 |
+
* @return string Message returned from the API
|
190 |
+
*/
|
191 |
+
public function completeDonation($donationId) {
|
192 |
+
return $this->completeDonations(array($donationId));
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* Sends an array of donations to the API.
|
197 |
+
*
|
198 |
+
* @param array $donations
|
199 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
200 |
+
* @return string Message returned from the API
|
201 |
+
*/
|
202 |
+
public function addDonations(array $donations) {
|
203 |
+
|
204 |
+
if (count($donations) > 0) {
|
205 |
+
$restUrl = $this->configuration->getApiUrl() . '/donations/?clientId=' . $this->configuration->getClientId() . '&hashedKey=' . $this->configuration->getHashedKey();
|
206 |
+
$donationsArray = array();
|
207 |
+
|
208 |
+
foreach ($donations as $donation) {
|
209 |
+
$donationsArray[] = $this->mapDonationToArray($donation);
|
210 |
+
}
|
211 |
+
|
212 |
+
$body = json_encode($donationsArray);
|
213 |
+
|
214 |
+
$response = json_decode($this->configuration->getRestImplementation()->post($restUrl, $body), TRUE);
|
215 |
+
return $response['message'];
|
216 |
+
} else {
|
217 |
+
return 'No donations given.';
|
218 |
+
}
|
219 |
+
}
|
220 |
+
|
221 |
+
/**
|
222 |
+
* Cancels an array of donation from the API.
|
223 |
+
*
|
224 |
+
* @param array $donationIds with ids
|
225 |
+
*
|
226 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
227 |
+
* @return string Message returned from the API
|
228 |
+
*/
|
229 |
+
public function cancelDonations(array $donationIds) {
|
230 |
+
|
231 |
+
if (count($donationIds) > 0) {
|
232 |
+
$donationIds = array_filter($donationIds, create_function('$donationIds', 'return (string)$donationIds;'));
|
233 |
+
|
234 |
+
$donationIdsString = implode(',', $donationIds);
|
235 |
+
|
236 |
+
$restUrl = $this->configuration->getApiUrl() . '/donations/' . $donationIdsString . '/?clientId=' . $this->configuration->getClientId() . '&hashedKey=' . $this->configuration->getHashedKey();
|
237 |
+
|
238 |
+
$response = json_decode($this->configuration->getRestImplementation()->delete($restUrl), TRUE);
|
239 |
+
return $response['message'];
|
240 |
+
} else {
|
241 |
+
return 'No donations given.';
|
242 |
+
}
|
243 |
+
}
|
244 |
+
|
245 |
+
/**
|
246 |
+
* Completes an array of Donations in the API.
|
247 |
+
*
|
248 |
+
* @param array $donationIds with ids
|
249 |
+
*
|
250 |
+
* @throws Elefunds_Exception_ElefundsCommunicationException if connection or authentication fails or retrieved http code is not 200
|
251 |
+
* @return string Message returned from the API
|
252 |
+
*/
|
253 |
+
public function completeDonations(array $donationIds) {
|
254 |
+
|
255 |
+
if (count($donationIds) > 0) {
|
256 |
+
$donationIds = array_filter($donationIds, create_function('$donationIds', 'return (string)$donationIds;'));
|
257 |
+
|
258 |
+
$donationIdsString = implode(',', $donationIds);
|
259 |
+
|
260 |
+
$restUrl = $this->configuration->getApiUrl() . '/donations/' . $donationIdsString . '/?clientId=' . $this->configuration->getClientId() . '&hashedKey=' . $this->configuration->getHashedKey();
|
261 |
+
|
262 |
+
$response = json_decode($this->configuration->getRestImplementation()->put($restUrl), TRUE);
|
263 |
+
|
264 |
+
return $response['message'];
|
265 |
+
} else {
|
266 |
+
return 'No donations given.';
|
267 |
+
}
|
268 |
+
}
|
269 |
+
|
270 |
+
/**
|
271 |
+
* Renders the template.
|
272 |
+
*
|
273 |
+
* @param string $templateName
|
274 |
+
* @param bool $givenTemplateNameIsAbsolutePath
|
275 |
+
* @throws Elefunds_Exception_ElefundsException
|
276 |
+
* @return string The rendered HTML Snippet
|
277 |
+
*/
|
278 |
+
public function renderTemplate($templateName = 'View', $givenTemplateNameIsAbsolutePath = FALSE) {
|
279 |
+
|
280 |
+
$view = $this->getConfiguration()->getView();
|
281 |
+
|
282 |
+
if ($view === NULL) {
|
283 |
+
throw new Elefunds_Exception_ElefundsException('There is no template set in your configuration file. Please refer to the documentation or use one of the sample templates.', 1348051662593);
|
284 |
+
}
|
285 |
+
|
286 |
+
return $view->render($templateName, $givenTemplateNameIsAbsolutePath);
|
287 |
+
}
|
288 |
+
|
289 |
+
/**
|
290 |
+
* Returns the CSS Files required by the template.
|
291 |
+
*
|
292 |
+
* @throws Elefunds_Exception_ElefundsException if no template is configured
|
293 |
+
* @return array with css files (path relative to this library)
|
294 |
+
*/
|
295 |
+
public function getTemplateCssFiles() {
|
296 |
+
$view = $this->getConfiguration()->getView();
|
297 |
+
if ($view === NULL) {
|
298 |
+
throw new Elefunds_Exception_ElefundsException('There is no template set in your configuration file. Please refer to the documentation or use one of the sample templates.', 1348051662593);
|
299 |
+
} else {
|
300 |
+
return $view->getCssFiles();
|
301 |
+
}
|
302 |
+
}
|
303 |
+
|
304 |
+
/**
|
305 |
+
* Returns the Javascript Files required by the template.
|
306 |
+
*
|
307 |
+
* @throws Elefunds_Exception_ElefundsException if no template is configured
|
308 |
+
* @return array with javascript files (path relative to this library)
|
309 |
+
*/
|
310 |
+
public function getTemplateJavascriptFiles() {
|
311 |
+
$view = $this->getConfiguration()->getView();
|
312 |
+
if ($view === NULL) {
|
313 |
+
throw new Elefunds_Exception_ElefundsException('There is no template set in your configuration file. Please refer to the documentation or use one of the sample templates.', 1348051662593);
|
314 |
+
} else {
|
315 |
+
return $view->getJavascriptFiles();
|
316 |
+
}
|
317 |
+
}
|
318 |
+
|
319 |
+
/**
|
320 |
+
* Maps a Elefunds_Model_DonationInterface to a JSON ready array.
|
321 |
+
*
|
322 |
+
* @param Elefunds_Model_DonationInterface
|
323 |
+
* @throws Elefunds_Exception_ElefundsException if not all information are given that are needed for the API
|
324 |
+
* @return array
|
325 |
+
*/
|
326 |
+
protected function mapDonationToArray(Elefunds_Model_DonationInterface $donation) {
|
327 |
+
|
328 |
+
if ($donation->getForeignId() === NULL || $donation->getTime() === NULL || $donation->getAmount() === NULL || $donation->getReceiverIds() === NULL || $donation->getAvailableReceiverIds() === NULL) {
|
329 |
+
throw new Elefunds_Exception_ElefundsException('Given donation does not contain all information needed to be send to the API.', 1347975987321);
|
330 |
+
}
|
331 |
+
|
332 |
+
$donationAsArray = $donation->toArray();
|
333 |
+
|
334 |
+
if (isset($donationAsArray['donator']) && !isset($donationAsArray['donator']['countryCode'])) {
|
335 |
+
$donationAsArray['donator']['countryCode'] = $this->getConfiguration()->getCountrycode();
|
336 |
+
}
|
337 |
+
|
338 |
+
return $donationAsArray;
|
339 |
+
}
|
340 |
+
|
341 |
+
}
|
lib/Elefunds/Model/Donation.php
ADDED
@@ -0,0 +1,427 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once 'DonationInterface.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Elefunds Donation Model
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Model
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Model_Donation implements Elefunds_Model_DonationInterface {
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Order or unique transaction ID
|
57 |
+
*
|
58 |
+
* @var string
|
59 |
+
*/
|
60 |
+
protected $foreignId;
|
61 |
+
|
62 |
+
/**
|
63 |
+
* The amount that was donated (in Cents)
|
64 |
+
*
|
65 |
+
* @var int
|
66 |
+
*/
|
67 |
+
protected $amount;
|
68 |
+
|
69 |
+
/**
|
70 |
+
* The amount that was suggested during the checkout (in Cents)
|
71 |
+
*
|
72 |
+
* @var int
|
73 |
+
*/
|
74 |
+
protected $suggestedAmount;
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Array containing integers of receiver IDs.
|
78 |
+
*
|
79 |
+
* @var array
|
80 |
+
*/
|
81 |
+
protected $receiverIds = array();
|
82 |
+
|
83 |
+
/**
|
84 |
+
* Array containing integers of all available receivers.
|
85 |
+
*
|
86 |
+
* @var array
|
87 |
+
*/
|
88 |
+
protected $availableReceiverIds = array();
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Grand total of the order / transaction that is associated with this donation (in Cents)
|
92 |
+
*
|
93 |
+
* @var int
|
94 |
+
*/
|
95 |
+
protected $grandTotal;
|
96 |
+
|
97 |
+
/**
|
98 |
+
* The time, when the donation was made.
|
99 |
+
*
|
100 |
+
* @var DateTime
|
101 |
+
*/
|
102 |
+
protected $time;
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Donator information in the following structure
|
106 |
+
*
|
107 |
+
* <code>
|
108 |
+
* array(
|
109 |
+
* 'email' => 'hello@elefunds.de',
|
110 |
+
* 'firstName' => 'Christian',
|
111 |
+
* 'lastName' => 'Peters',
|
112 |
+
* 'streetAddress' => 'Schönhauser Allee 124',
|
113 |
+
* 'zip' => 10437,
|
114 |
+
* 'city' => 'Berlin',
|
115 |
+
* 'countryCode' => 'de'
|
116 |
+
* );
|
117 |
+
* </code>
|
118 |
+
*
|
119 |
+
* @var array
|
120 |
+
*/
|
121 |
+
protected $donator = array();
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Returns the foreign ID. A unique ID to identify the order or transaction.
|
125 |
+
*
|
126 |
+
* @return string
|
127 |
+
*/
|
128 |
+
public function getForeignId() {
|
129 |
+
return $this->foreignId;
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* Sets the foreign ID. A unique ID to identify the order or transaction.
|
134 |
+
*
|
135 |
+
* @param string $foreignId
|
136 |
+
* @throws InvalidArgumentException if type can't be casted to integer
|
137 |
+
* @return Elefunds_Model_DonationInterface
|
138 |
+
*/
|
139 |
+
public function setForeignId($foreignId) {
|
140 |
+
if (preg_match('/^[A-Za-z0-9_+\-#:.,äüöÄÜÖß]*$/', $foreignId)) {
|
141 |
+
$this->foreignId = (string)$foreignId;
|
142 |
+
} else {
|
143 |
+
throw new InvalidArgumentException('Given foreignId was not of of a type that can be casted to integer.', 1347557226);
|
144 |
+
}
|
145 |
+
|
146 |
+
return $this;
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Returns the donated amount in the smallest unit available in your currency (e.g. cent in EUR or $).
|
151 |
+
*
|
152 |
+
* @return int
|
153 |
+
*/
|
154 |
+
public function getAmount() {
|
155 |
+
return $this->amount;
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Sets the donated amount.
|
160 |
+
*
|
161 |
+
* @param int $amount
|
162 |
+
*
|
163 |
+
* @throws InvalidArgumentException
|
164 |
+
* @return Elefunds_Model_DonationInterface
|
165 |
+
*/
|
166 |
+
public function setAmount($amount) {
|
167 |
+
if (is_int($amount) || ctype_digit($amount)) {
|
168 |
+
$this->amount = $amount > 0 ? (int)$amount : 0 ;
|
169 |
+
} else {
|
170 |
+
throw new InvalidArgumentException('Given amount was not of of a type that can be casted to integer.', 1347557226);
|
171 |
+
}
|
172 |
+
return $this;
|
173 |
+
}
|
174 |
+
|
175 |
+
/**
|
176 |
+
* Returns the amount that was suggested to the customer in the smallest unit available in your currency (e.g. cent in EUR or $).
|
177 |
+
*
|
178 |
+
* @return int
|
179 |
+
*/
|
180 |
+
public function getSuggestedAmount() {
|
181 |
+
return $this->suggestedAmount;
|
182 |
+
}
|
183 |
+
|
184 |
+
/**
|
185 |
+
* Sets the time when the donation took place.
|
186 |
+
*
|
187 |
+
* @param DateTime $time
|
188 |
+
* @return Elefunds_Model_DonationInterface
|
189 |
+
*/
|
190 |
+
public function setTime(DateTime $time) {
|
191 |
+
$this->time = $time;
|
192 |
+
return $this;
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* Returns the time when the donation took place.
|
197 |
+
*
|
198 |
+
* @return DateTime
|
199 |
+
*/
|
200 |
+
public function getTime() {
|
201 |
+
return $this->time;
|
202 |
+
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Sets the amount that was suggested to the customer.
|
206 |
+
*
|
207 |
+
* @param int $amount
|
208 |
+
*
|
209 |
+
* @throws InvalidArgumentException
|
210 |
+
* @return Elefunds_Model_DonationInterface
|
211 |
+
*/
|
212 |
+
public function setSuggestedAmount($amount) {
|
213 |
+
if (is_int($amount) || ctype_digit($amount)) {
|
214 |
+
$this->suggestedAmount = $amount > 0 ? (int)$amount : 0 ;
|
215 |
+
} else {
|
216 |
+
throw new InvalidArgumentException('Given amount was not of of a type that can be casted to integer.', 1347557226);
|
217 |
+
}
|
218 |
+
return $this;
|
219 |
+
}
|
220 |
+
|
221 |
+
/**
|
222 |
+
* Adds a receiverId to the list of receivers who preserve a share of
|
223 |
+
* the donation.
|
224 |
+
*
|
225 |
+
* @param int $receiverId
|
226 |
+
* @throws InvalidArgumentException if given id is not a positive integer
|
227 |
+
* @return Elefunds_Model_DonationInterface
|
228 |
+
*/
|
229 |
+
public function addReceiverId($receiverId) {
|
230 |
+
if (is_int($receiverId) && $receiverId > 0) {
|
231 |
+
$this->receiverIds[] = $receiverId;
|
232 |
+
} else {
|
233 |
+
throw new InvalidArgumentException('Given value must be a positive integer.', 1347721362);
|
234 |
+
}
|
235 |
+
return $this;
|
236 |
+
}
|
237 |
+
|
238 |
+
/**
|
239 |
+
* Set the list of receivers who preserve a share of
|
240 |
+
* the donation.
|
241 |
+
*
|
242 |
+
* @param array $receiverIds array with receiverIds (integers)
|
243 |
+
* @throws InvalidArgumentException if given array contains a value that is not a positive integer
|
244 |
+
* @return Elefunds_Model_DonationInterface
|
245 |
+
*/
|
246 |
+
public function setReceiverIds(array $receiverIds) {
|
247 |
+
|
248 |
+
$isValidArray = $receiverIds === array_filter($receiverIds, create_function('$receiverIds', 'return is_int($receiverIds) && $receiverIds > 0;'));
|
249 |
+
|
250 |
+
if ($isValidArray) {
|
251 |
+
$this->receiverIds = $receiverIds;
|
252 |
+
} else {
|
253 |
+
throw new InvalidArgumentException('Given array may only contain positive integers.', 1347721363);
|
254 |
+
}
|
255 |
+
|
256 |
+
return $this;
|
257 |
+
|
258 |
+
}
|
259 |
+
|
260 |
+
/**
|
261 |
+
* Returns all receivers who preserve a share of
|
262 |
+
* the donation.
|
263 |
+
*
|
264 |
+
* @return array $receiverIds array with receiverIds (integers)
|
265 |
+
*/
|
266 |
+
public function getReceiverIds() {
|
267 |
+
return $this->receiverIds;
|
268 |
+
}
|
269 |
+
|
270 |
+
/**
|
271 |
+
* Adds a receiverId to the list of receivers that were available to the customer.
|
272 |
+
*
|
273 |
+
* @param int $receiverId
|
274 |
+
* @throws InvalidArgumentException if given id is not a positive integer
|
275 |
+
* @return Elefunds_Model_DonationInterface
|
276 |
+
*/
|
277 |
+
public function addAvailableReceiverId($receiverId) {
|
278 |
+
if (is_int($receiverId) && $receiverId > 0) {
|
279 |
+
$this->availableReceiverIds[] = $receiverId;
|
280 |
+
} else {
|
281 |
+
throw new InvalidArgumentException('Given value must be a positive integer.', 1347721366);
|
282 |
+
}
|
283 |
+
return $this;
|
284 |
+
}
|
285 |
+
|
286 |
+
/**
|
287 |
+
* Sets an array of integers to the list of receivers that were available to the customer
|
288 |
+
*
|
289 |
+
* @param array $receiverIds array with receiverIds (integers)
|
290 |
+
* @throws InvalidArgumentException if given array contains a value that is not a positive integer
|
291 |
+
* @return Elefunds_Model_DonationInterface
|
292 |
+
*/
|
293 |
+
public function setAvailableReceiverIds(array $receiverIds) {
|
294 |
+
|
295 |
+
$isValidArray = $receiverIds === array_filter($receiverIds, create_function('$receiverIds', 'return is_int($receiverIds) && $receiverIds > 0;'));
|
296 |
+
|
297 |
+
if ($isValidArray) {
|
298 |
+
$this->availableReceiverIds = $receiverIds;
|
299 |
+
} else {
|
300 |
+
throw new InvalidArgumentException('Given array may only contain positive integers.', 1347721363);
|
301 |
+
}
|
302 |
+
|
303 |
+
return $this;
|
304 |
+
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* Returns all receivers that were available to the customer.
|
309 |
+
*
|
310 |
+
* @return array $receiverIds array with receiverIds (integers)
|
311 |
+
*/
|
312 |
+
public function getAvailableReceiverIds() {
|
313 |
+
return $this->availableReceiverIds;
|
314 |
+
}
|
315 |
+
|
316 |
+
/**
|
317 |
+
* Returns the overall total of the process that is associated with the donation (in Cents).
|
318 |
+
*
|
319 |
+
* @return int
|
320 |
+
*/
|
321 |
+
public function getGrandTotal() {
|
322 |
+
return $this->grandTotal;
|
323 |
+
}
|
324 |
+
|
325 |
+
/**
|
326 |
+
* Sets the overall total of the process that is associated with the donation (in Cents).
|
327 |
+
*
|
328 |
+
* @param int $grandTotal
|
329 |
+
* @throws InvalidArgumentException if type can't be casted to integer
|
330 |
+
* @return Elefunds_Model_DonationInterface
|
331 |
+
*/
|
332 |
+
public function setGrandTotal($grandTotal) {
|
333 |
+
if (is_int($grandTotal) || ctype_digit($grandTotal)) {
|
334 |
+
$this->grandTotal = $grandTotal > 0 ? (int)$grandTotal : 0;
|
335 |
+
} else {
|
336 |
+
throw new InvalidArgumentException('Given total was not of of a type that can be casted to integer.', 1347557227);
|
337 |
+
}
|
338 |
+
return $this;
|
339 |
+
}
|
340 |
+
|
341 |
+
/**
|
342 |
+
* Sets the donator information.
|
343 |
+
*
|
344 |
+
* The setting of the donator information is optional, but required if the donator want to get a donation receipt.
|
345 |
+
* If needed, all you need to do is to provide these information, everything else is taken care of be the
|
346 |
+
* elefunds foundation.
|
347 |
+
*
|
348 |
+
* @param string $email
|
349 |
+
* @param string $firstName
|
350 |
+
* @param string $lastName
|
351 |
+
* @param string $streetAddress
|
352 |
+
* @param int $zip
|
353 |
+
* @param string $city
|
354 |
+
* @param string $countryCode two digit country code; if not given, the code from your settings will be used
|
355 |
+
*
|
356 |
+
* @return Elefunds_Model_Donation
|
357 |
+
* @throws InvalidArgumentException
|
358 |
+
*/
|
359 |
+
public function setDonator($email, $firstName, $lastName, $streetAddress, $zip, $city, $countryCode = NULL) {
|
360 |
+
$validMail = filter_var($email, FILTER_VALIDATE_EMAIL) !== FALSE;
|
361 |
+
|
362 |
+
if ($validMail && is_string($firstName) && is_string($lastName) && is_string($streetAddress) && is_int($zip) && is_string($city)) {
|
363 |
+
|
364 |
+
$this->donator = array(
|
365 |
+
'email' => $email,
|
366 |
+
'firstName' => $firstName,
|
367 |
+
'lastName' => $lastName,
|
368 |
+
'streetAddress' => $streetAddress,
|
369 |
+
'zip' => $zip,
|
370 |
+
'city' => $city,
|
371 |
+
);
|
372 |
+
|
373 |
+
|
374 |
+
if ($countryCode !== NULL && is_string($countryCode) && strlen($countryCode) === 2) {
|
375 |
+
$this->donator['countryCode'] = $countryCode;
|
376 |
+
}
|
377 |
+
|
378 |
+
} else {
|
379 |
+
throw new InvalidArgumentException('Given donator information are not in the correct format.', 1352721709);
|
380 |
+
}
|
381 |
+
|
382 |
+
return $this;
|
383 |
+
}
|
384 |
+
|
385 |
+
/**
|
386 |
+
* Returns the array with donator information.
|
387 |
+
*
|
388 |
+
* @return array
|
389 |
+
*/
|
390 |
+
public function getDonatorInformation() {
|
391 |
+
return $this->donator;
|
392 |
+
}
|
393 |
+
|
394 |
+
/**
|
395 |
+
* Returns an associative array with all available information
|
396 |
+
* about this donation instance.
|
397 |
+
*
|
398 |
+
* @return array
|
399 |
+
*/
|
400 |
+
public function toArray() {
|
401 |
+
|
402 |
+
$donationAsArray = array(
|
403 |
+
'foreignId' => $this->getForeignId(),
|
404 |
+
'donationTimestamp' => $this->getTime()->format(DateTime::ISO8601),
|
405 |
+
'donationAmount' => $this->getAmount(),
|
406 |
+
'receivers' => $this->getReceiverIds(),
|
407 |
+
'receiversAvailable' => $this->getAvailableReceiverIds()
|
408 |
+
);
|
409 |
+
|
410 |
+
// Optional vars
|
411 |
+
$donator = $this->getDonatorInformation();
|
412 |
+
if (count($donator) > 0) {
|
413 |
+
$donationAsArray['donator'] = $donator;
|
414 |
+
}
|
415 |
+
|
416 |
+
if ($this->getGrandTotal() !== NULL) {
|
417 |
+
$donationAsArray['grandTotal'] = $this->getGrandTotal();
|
418 |
+
}
|
419 |
+
|
420 |
+
if ($this->getSuggestedAmount() !== NULL) {
|
421 |
+
$donationAsArray['donationAmountSuggested'] = $this->getSuggestedAmount();
|
422 |
+
}
|
423 |
+
|
424 |
+
return $donationAsArray;
|
425 |
+
}
|
426 |
+
|
427 |
+
}
|
lib/Elefunds/Model/DonationInterface.php
ADDED
@@ -0,0 +1,219 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
/**
|
41 |
+
* elefunds Donation Interface
|
42 |
+
*
|
43 |
+
* @package elefunds API PHP Library
|
44 |
+
* @subpackage Model
|
45 |
+
* @author Christian Peters <christian@elefunds.de>
|
46 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
47 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
48 |
+
* @link http://www.elefunds.de
|
49 |
+
* @since File available since Release 1.0.0
|
50 |
+
*/
|
51 |
+
interface Elefunds_Model_DonationInterface {
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Sets the foreign ID. A unique ID to identify the order or transaction.
|
55 |
+
*
|
56 |
+
* @param int $foreignId
|
57 |
+
* @throws InvalidArgumentException if type can't be casted to integer
|
58 |
+
* @return Elefunds_Model_DonationInterface
|
59 |
+
*/
|
60 |
+
public function setForeignId($foreignId);
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Returns the foreign ID. A unique ID to identify the order or transaction.
|
64 |
+
*
|
65 |
+
* @return int
|
66 |
+
*/
|
67 |
+
public function getForeignId();
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Sets the time when the donation took place.
|
71 |
+
*
|
72 |
+
* @param DateTime $time
|
73 |
+
* @return Elefunds_Model_DonationInterface
|
74 |
+
*/
|
75 |
+
public function setTime(DateTime $time);
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Returns the time when the donation took place.
|
79 |
+
*
|
80 |
+
* @return DateTime
|
81 |
+
*/
|
82 |
+
public function getTime();
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Sets the donated amount.
|
86 |
+
*
|
87 |
+
* @param int $amount
|
88 |
+
* @return Elefunds_Model_DonationInterface
|
89 |
+
*/
|
90 |
+
public function setAmount($amount);
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Returns the donated amount in the smallest unit available in your currency (e.g. cent in EUR or $).
|
94 |
+
*
|
95 |
+
* @return int
|
96 |
+
*/
|
97 |
+
public function getAmount();
|
98 |
+
|
99 |
+
/**
|
100 |
+
* Sets the amount that was suggested to the customer.
|
101 |
+
*
|
102 |
+
* @param int $amount
|
103 |
+
* @return Elefunds_Model_DonationInterface
|
104 |
+
*/
|
105 |
+
public function setSuggestedAmount($amount);
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Returns the amount that was suggested to the customer in the smallest unit available in your currency (e.g. cent in EUR or $).
|
109 |
+
*
|
110 |
+
* @return int
|
111 |
+
*/
|
112 |
+
public function getSuggestedAmount();
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Adds a receiverId to the list of receivers who preserve a share of
|
116 |
+
* the donation.
|
117 |
+
*
|
118 |
+
* @param int $receiverId
|
119 |
+
* @throws InvalidArgumentException if given id is not a positive integer
|
120 |
+
* @return Elefunds_Model_DonationInterface
|
121 |
+
*/
|
122 |
+
public function addReceiverId($receiverId);
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Set the list of receivers who preserve a share of
|
126 |
+
* the donation.
|
127 |
+
*
|
128 |
+
* @param array $receiverIds array with receiverIds (integers)
|
129 |
+
* @throws InvalidArgumentException if given array contains a value that is not a positive integer
|
130 |
+
* @return Elefunds_Model_DonationInterface
|
131 |
+
*/
|
132 |
+
public function setReceiverIds(array $receiverIds);
|
133 |
+
|
134 |
+
/**
|
135 |
+
* Returns all receivers who preserve a share of
|
136 |
+
* the donation.
|
137 |
+
*
|
138 |
+
* @return array with receiverIds (integers)
|
139 |
+
*/
|
140 |
+
public function getReceiverIds();
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Adds a receiverId to the list of receivers that were available to the customer.
|
144 |
+
*
|
145 |
+
* @param int $receiverId
|
146 |
+
* @throws InvalidArgumentException if given id is not a positive integer
|
147 |
+
* @return Elefunds_Model_DonationInterface
|
148 |
+
*/
|
149 |
+
public function addAvailableReceiverId($receiverId);
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Sets an array of integers to the list of receivers that were available to the customer
|
153 |
+
*
|
154 |
+
* @param array $receiverIds array with receiverIds (integers)
|
155 |
+
* @throws InvalidArgumentException if given array contains a value that is not a positive integer
|
156 |
+
* @return Elefunds_Model_DonationInterface
|
157 |
+
*/
|
158 |
+
public function setAvailableReceiverIds(array $receiverIds);
|
159 |
+
|
160 |
+
/**
|
161 |
+
* Returns all receivers that were available to the customer.
|
162 |
+
*
|
163 |
+
* @return array array with receiverIds (integers)
|
164 |
+
*/
|
165 |
+
public function getAvailableReceiverIds();
|
166 |
+
|
167 |
+
/**
|
168 |
+
* Returns the overall total of the process that is associated with the donation.
|
169 |
+
* In the smallest unit available in your currency (e.g. cent in EUR or $).
|
170 |
+
*
|
171 |
+
* @return int
|
172 |
+
*/
|
173 |
+
public function getGrandTotal();
|
174 |
+
|
175 |
+
/**
|
176 |
+
* Sets the overall total of the process that is associated with the donation.
|
177 |
+
*
|
178 |
+
* @param int $grandTotal
|
179 |
+
* @throws InvalidArgumentException if type can't be casted to integer
|
180 |
+
* @return Elefunds_Model_DonationInterface
|
181 |
+
*/
|
182 |
+
public function setGrandTotal($grandTotal);
|
183 |
+
|
184 |
+
/**
|
185 |
+
* Sets the donator information.
|
186 |
+
*
|
187 |
+
* The setting of the donator information is optional, but required if the donator want to get a donation receipt.
|
188 |
+
* If needed, all you need to do is to provide these information, everything else is taken care of be the
|
189 |
+
* elefunds foundation.
|
190 |
+
*
|
191 |
+
* @param string $email
|
192 |
+
* @param string $firstName
|
193 |
+
* @param string $lastName
|
194 |
+
* @param string $streetAddress
|
195 |
+
* @param int $zip
|
196 |
+
* @param string $city
|
197 |
+
* @param string $countryCode two digit country code; if not given, the code from your settings will be used
|
198 |
+
*
|
199 |
+
* @return Elefunds_Model_Donation
|
200 |
+
* @throws InvalidArgumentException
|
201 |
+
*/
|
202 |
+
public function setDonator($email, $firstName, $lastName, $streetAddress, $zip, $city, $countryCode = NULL);
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Returns the array with donator information.
|
206 |
+
*
|
207 |
+
* @return array
|
208 |
+
*/
|
209 |
+
public function getDonatorInformation();
|
210 |
+
|
211 |
+
/**
|
212 |
+
* Returns an associative array with all available information
|
213 |
+
* about this donation instance.
|
214 |
+
*
|
215 |
+
* @return array
|
216 |
+
*/
|
217 |
+
public function toArray();
|
218 |
+
|
219 |
+
}
|
lib/Elefunds/Model/Factory.php
ADDED
@@ -0,0 +1,122 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once 'ReceiverInterface.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Elefunds Model Factory
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Model
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Model_Factory {
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @var string
|
57 |
+
*/
|
58 |
+
protected static $donationPrototype;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* @var string
|
62 |
+
*/
|
63 |
+
protected static $receiverPrototype;
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Sets the prototype for the implementation.
|
67 |
+
*
|
68 |
+
* Be sure to require the class, if you opt to use your own implementation.
|
69 |
+
*
|
70 |
+
* @param string $donation the class name of the implementation.
|
71 |
+
* @return void
|
72 |
+
*/
|
73 |
+
public static function setDonationImplementation($donation) {
|
74 |
+
self::$donationPrototype = $donation;
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Sets the prototype for the implementation.
|
79 |
+
*
|
80 |
+
* Be sure to require the class, if you opt to use your own implementation.
|
81 |
+
*
|
82 |
+
* @param string $receiver the class name of the implementation.
|
83 |
+
* @return void
|
84 |
+
*/
|
85 |
+
public static function setReceiverImplementation($receiver) {
|
86 |
+
self::$receiverPrototype = $receiver;
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* Returns a copy of the provided donation.
|
91 |
+
*
|
92 |
+
* @throws Elefunds_Exception_ElefundsException if class does not implement the DonationInterface
|
93 |
+
* @return Elefunds_Model_DonationInterface
|
94 |
+
*/
|
95 |
+
public static function getDonation() {
|
96 |
+
$donationPrototype = new self::$donationPrototype();
|
97 |
+
if ($donationPrototype instanceof Elefunds_Model_DonationInterface === FALSE) {
|
98 |
+
throw new Elefunds_Exception_ElefundsException(
|
99 |
+
'Given prototype for donation does not implement Elefunds_Model_DonationInterface',
|
100 |
+
1347883795444);
|
101 |
+
}
|
102 |
+
return $donationPrototype;
|
103 |
+
}
|
104 |
+
|
105 |
+
/**
|
106 |
+
* Returns a copy of the provided receiver.
|
107 |
+
*
|
108 |
+
* @throws Elefunds_Exception_ElefundsException if class does not implement the ReceiverInterface
|
109 |
+
* @return Elefunds_Model_ReceiverInterface
|
110 |
+
*/
|
111 |
+
public static function getReceiver() {
|
112 |
+
$receiverPrototype = new self::$receiverPrototype();
|
113 |
+
if ($receiverPrototype instanceof Elefunds_Model_ReceiverInterface === FALSE) {
|
114 |
+
throw new Elefunds_Exception_ElefundsException(
|
115 |
+
'Given prototype for donation does not implement Elefunds_Model_ReceiverInterface',
|
116 |
+
1347883795444);
|
117 |
+
}
|
118 |
+
return $receiverPrototype;
|
119 |
+
}
|
120 |
+
|
121 |
+
}
|
122 |
+
|
lib/Elefunds/Model/Receiver.php
ADDED
@@ -0,0 +1,345 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once 'ReceiverInterface.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Elefunds Receiver
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Model
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Model_Receiver implements Elefunds_Model_ReceiverInterface {
|
54 |
+
|
55 |
+
const IMAGE_ORIENTATION_VERTICAL = 'vertical';
|
56 |
+
const IMAGE_ORIENTATION_HORIZONTAL = 'horizontal';
|
57 |
+
const IMAGE_SIZE_SMALL = 'small';
|
58 |
+
const IMAGE_SIZE_MEDIUM = 'medium';
|
59 |
+
const IMAGE_SIZE_LARGE = 'large';
|
60 |
+
|
61 |
+
/**
|
62 |
+
* @var int
|
63 |
+
*/
|
64 |
+
protected $id;
|
65 |
+
|
66 |
+
/**
|
67 |
+
* @var string
|
68 |
+
*/
|
69 |
+
protected $name;
|
70 |
+
|
71 |
+
/**
|
72 |
+
* @var string
|
73 |
+
*/
|
74 |
+
protected $description;
|
75 |
+
|
76 |
+
/**
|
77 |
+
* <code>
|
78 |
+
* $images = array(
|
79 |
+
* 'vertical' => array(
|
80 |
+
* 'small' => 'http://url.of/the/image'
|
81 |
+
* 'medium' => 'http://url.of/the/image'
|
82 |
+
* 'large' => 'http://url.of/the/image'
|
83 |
+
* )
|
84 |
+
* 'horizontal' => array(
|
85 |
+
* 'small' => 'http://url.of/the/image'
|
86 |
+
* 'medium' => 'http://url.of/the/image'
|
87 |
+
* 'large' => 'http://url.of/the/image'
|
88 |
+
* )
|
89 |
+
* )
|
90 |
+
* </code>
|
91 |
+
*
|
92 |
+
* @var array
|
93 |
+
*/
|
94 |
+
protected $images;
|
95 |
+
|
96 |
+
/**
|
97 |
+
* @var DateTime
|
98 |
+
*/
|
99 |
+
protected $validTime;
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Initializes the indices of the images array.
|
103 |
+
*/
|
104 |
+
public function __construct() {
|
105 |
+
|
106 |
+
$this->images = array(
|
107 |
+
'vertical' => array(
|
108 |
+
'small' => '',
|
109 |
+
'medium' => '',
|
110 |
+
'large' => ''
|
111 |
+
),
|
112 |
+
'horizontal' => array(
|
113 |
+
'small' => '',
|
114 |
+
'medium' => '',
|
115 |
+
'large' => ''
|
116 |
+
)
|
117 |
+
);
|
118 |
+
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Sets the id of the receiver.
|
123 |
+
*
|
124 |
+
* @param int
|
125 |
+
* @throws InvalidArgumentException if given type is not int
|
126 |
+
* @return Elefunds_Model_ReceiverInterface
|
127 |
+
*/
|
128 |
+
public function setId($id) {
|
129 |
+
if (is_int($id) && $id > 0) {
|
130 |
+
$this->id = $id;
|
131 |
+
} else {
|
132 |
+
throw new InvalidArgumentException('Given value must be a positive integer.', 1347734104);
|
133 |
+
}
|
134 |
+
return $this;
|
135 |
+
}
|
136 |
+
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Returns the id of the receiver.
|
140 |
+
*
|
141 |
+
* @return int
|
142 |
+
*/
|
143 |
+
public function getId() {
|
144 |
+
return $this->id;
|
145 |
+
}
|
146 |
+
|
147 |
+
/**
|
148 |
+
* Sets the name of the receiver.
|
149 |
+
*
|
150 |
+
* @param string $name
|
151 |
+
* @throws InvalidArgumentException if given type is not string
|
152 |
+
* @return Elefunds_Model_ReceiverInterface
|
153 |
+
*/
|
154 |
+
public function setName($name) {
|
155 |
+
if (is_string($name)) {
|
156 |
+
$this->name = $name;
|
157 |
+
} else {
|
158 |
+
throw new InvalidArgumentException('Given value must be of type string.', 1347734105);
|
159 |
+
}
|
160 |
+
|
161 |
+
return $this;
|
162 |
+
}
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Returns the name the receiver.
|
166 |
+
*
|
167 |
+
* @return string
|
168 |
+
*/
|
169 |
+
public function getName() {
|
170 |
+
return $this->name;
|
171 |
+
}
|
172 |
+
|
173 |
+
/**
|
174 |
+
* Sets the description of the receiver.
|
175 |
+
*
|
176 |
+
* @param string $description
|
177 |
+
* @throws InvalidArgumentException if given type is not string
|
178 |
+
* @return Elefunds_Model_ReceiverInterface
|
179 |
+
*/
|
180 |
+
public function setDescription($description) {
|
181 |
+
if (is_string($description)) {
|
182 |
+
$this->description = $description;
|
183 |
+
} else {
|
184 |
+
throw new InvalidArgumentException('Given value must be of type string.', 1347734105);
|
185 |
+
}
|
186 |
+
|
187 |
+
return $this;
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Returns the description the receiver.
|
192 |
+
*
|
193 |
+
* @return string
|
194 |
+
*/
|
195 |
+
public function getDescription() {
|
196 |
+
return $this->description;
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Adds or overwrites an image to the array.
|
201 |
+
*
|
202 |
+
* @param string $url Url of the image
|
203 |
+
* @param string $orientation must be either 'horizontal' or 'vertical'
|
204 |
+
* @param string $size either 'small', 'medium' or 'large'
|
205 |
+
* @throws InvalidArgumentException if url, orientation or size are not in correct format#
|
206 |
+
* @return Elefunds_Model_ReceiverInterface
|
207 |
+
*/
|
208 |
+
public function addImage($url, $orientation, $size) {
|
209 |
+
|
210 |
+
// @todo remove once 5.3.3 or higher is supported php version
|
211 |
+
// Fix for PHP <= 5.3.2
|
212 |
+
// https://bugs.php.net/bug.php?id=51192
|
213 |
+
$tempUrl = str_replace('-', '', $url);
|
214 |
+
|
215 |
+
$validUrl = filter_var($tempUrl, FILTER_VALIDATE_URL) !== FALSE;
|
216 |
+
|
217 |
+
if ($validUrl && isset($this->images[$orientation]) && isset($this->images[$orientation][$size])) {
|
218 |
+
$this->images[$orientation][$size] = $url;
|
219 |
+
} else {
|
220 |
+
throw new InvalidArgumentException('URL, orientation and size have to be valid. Please refer to documentation for permitted input.', 1347872590);
|
221 |
+
}
|
222 |
+
|
223 |
+
return $this;
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Returns an image.
|
228 |
+
*
|
229 |
+
* @param string $orientation either 'vertical' or 'horizontal'
|
230 |
+
* @param string $size either 'small', 'medium' or 'large'
|
231 |
+
* @throws InvalidArgumentException if orientation or size are not in correct format
|
232 |
+
* @return string URL to the image
|
233 |
+
*/
|
234 |
+
public function getImage($orientation, $size) {
|
235 |
+
if (isset($this->images[$orientation]) && isset($this->images[$orientation][$size])) {
|
236 |
+
return $this->images[$orientation][$size];
|
237 |
+
} else {
|
238 |
+
throw new InvalidArgumentException('Orientation and size have to be valid. Please refer to documentation for permitted input.', 1347872591);
|
239 |
+
}
|
240 |
+
}
|
241 |
+
|
242 |
+
/**
|
243 |
+
* Sets an array with all images.
|
244 |
+
*
|
245 |
+
* The structure of the array must be like this:
|
246 |
+
*
|
247 |
+
* <code>
|
248 |
+
* $images = array(
|
249 |
+
* 'vertical' => array(
|
250 |
+
* 'small' => 'http://url.of/the/image'
|
251 |
+
* 'medium' => 'http://url.of/the/image'
|
252 |
+
* 'large' => 'http://url.of/the/image'
|
253 |
+
* )
|
254 |
+
* 'horizontal' => array(
|
255 |
+
* 'small' => 'http://url.of/the/image'
|
256 |
+
* 'medium' => 'http://url.of/the/image'
|
257 |
+
* 'large' => 'http://url.of/the/image'
|
258 |
+
* )
|
259 |
+
* )
|
260 |
+
* </code>
|
261 |
+
*
|
262 |
+
* @param array $images
|
263 |
+
* @throws InvalidArgumentException if array is not of correct structure
|
264 |
+
* @return Elefunds_Model_ReceiverInterface
|
265 |
+
*/
|
266 |
+
public function setImages(array $images) {
|
267 |
+
foreach ($images as $orientation => $sizes) {
|
268 |
+
if (is_array($sizes)) {
|
269 |
+
foreach ($sizes as $size => $url) {
|
270 |
+
$this->addImage($url, $orientation, $size);
|
271 |
+
}
|
272 |
+
} else {
|
273 |
+
throw new InvalidArgumentException('Array is not of correct multidimensional structure.', 1347873638);
|
274 |
+
}
|
275 |
+
}
|
276 |
+
return $this;
|
277 |
+
}
|
278 |
+
|
279 |
+
/**
|
280 |
+
* Returns an array with all images.
|
281 |
+
*
|
282 |
+
* The structure of the array will be like this:
|
283 |
+
*
|
284 |
+
* <code>
|
285 |
+
* $images = array(
|
286 |
+
* 'vertical' => array(
|
287 |
+
* 'small' => 'http://url.of/the/image'
|
288 |
+
* 'medium' => 'http://url.of/the/image'
|
289 |
+
* 'large' => 'http://url.of/the/image'
|
290 |
+
* )
|
291 |
+
* 'horizontal' => array(
|
292 |
+
* 'small' => 'http://url.of/the/image'
|
293 |
+
* 'medium' => 'http://url.of/the/image'
|
294 |
+
* 'large' => 'http://url.of/the/image'
|
295 |
+
* )
|
296 |
+
* )
|
297 |
+
* </code>
|
298 |
+
*
|
299 |
+
* @return array
|
300 |
+
*/
|
301 |
+
public function getImages() {
|
302 |
+
return $this->images;
|
303 |
+
}
|
304 |
+
|
305 |
+
/**
|
306 |
+
* Checks whether the receiver is valid.
|
307 |
+
*
|
308 |
+
* When you are retrieving the receiver from the API
|
309 |
+
* it should always be valid. However, if you are
|
310 |
+
* persisting receivers or cache them, you can check
|
311 |
+
* if you need to refresh with this method.
|
312 |
+
*
|
313 |
+
* @return bool
|
314 |
+
*/
|
315 |
+
public function isValid() {
|
316 |
+
return new DateTime() < $this->validTime;
|
317 |
+
}
|
318 |
+
|
319 |
+
/**
|
320 |
+
* Returns the DateTime on which this receiver
|
321 |
+
* expires.
|
322 |
+
*
|
323 |
+
* @return DateTime
|
324 |
+
*/
|
325 |
+
public function getValidTime() {
|
326 |
+
return $this->validTime;
|
327 |
+
}
|
328 |
+
|
329 |
+
/**
|
330 |
+
* Setter for the time until which the receiver is
|
331 |
+
* valid.
|
332 |
+
*
|
333 |
+
* @param DateTime $validTime
|
334 |
+
*
|
335 |
+
* @return Elefunds_Model_ReceiverInterface
|
336 |
+
*/
|
337 |
+
public function setValidTime(DateTime $validTime) {
|
338 |
+
|
339 |
+
$this->validTime = $validTime;
|
340 |
+
return $this;
|
341 |
+
|
342 |
+
}
|
343 |
+
|
344 |
+
}
|
345 |
+
|
lib/Elefunds/Model/ReceiverInterface.php
ADDED
@@ -0,0 +1,201 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Elefunds Receiver Interface
|
42 |
+
*
|
43 |
+
* @package elefunds API PHP Library
|
44 |
+
* @subpackage Model
|
45 |
+
* @author Christian Peters <christian@elefunds.de>
|
46 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
47 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
48 |
+
* @link http://www.elefunds.de
|
49 |
+
* @since File available since Release 1.0.0
|
50 |
+
*/
|
51 |
+
interface Elefunds_Model_ReceiverInterface {
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Sets the ID of the receiver.
|
55 |
+
*
|
56 |
+
* @param int
|
57 |
+
* @throws InvalidArgumentException if given type is not int
|
58 |
+
* @return Elefunds_Model_ReceiverInterface
|
59 |
+
*/
|
60 |
+
public function setId($id);
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Returns the ID of the receiver.
|
64 |
+
*
|
65 |
+
* @return int
|
66 |
+
*/
|
67 |
+
public function getId();
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Sets the name of the receiver.
|
71 |
+
*
|
72 |
+
* @param string $name
|
73 |
+
* @throws InvalidArgumentException if given type is not string
|
74 |
+
* @return Elefunds_Model_ReceiverInterface
|
75 |
+
*/
|
76 |
+
public function setName($name);
|
77 |
+
/**
|
78 |
+
* Returns the name the receiver.
|
79 |
+
*
|
80 |
+
* @return string
|
81 |
+
*/
|
82 |
+
public function getName();
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Sets the description of the receiver.
|
86 |
+
*
|
87 |
+
* @param int
|
88 |
+
* @throws InvalidArgumentException if given type is not string
|
89 |
+
* @return Elefunds_Model_ReceiverInterface
|
90 |
+
*/
|
91 |
+
public function setDescription($description);
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Returns the description the receiver.
|
95 |
+
*
|
96 |
+
* @return string
|
97 |
+
*/
|
98 |
+
public function getDescription();
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Adds or overwrites an image to the array.
|
102 |
+
*
|
103 |
+
* @param string $url url of the image
|
104 |
+
* @param string $orientation must be either 'horizontal' or 'vertical'
|
105 |
+
* @param string $size either 'small', 'medium' or 'large'
|
106 |
+
* @throws InvalidArgumentException if url, orientation or size are not in correct format#
|
107 |
+
* @return Elefunds_Model_ReceiverInterface
|
108 |
+
*/
|
109 |
+
public function addImage($url, $orientation, $size);
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Returns an image.
|
113 |
+
*
|
114 |
+
* @param string $orientation either 'vertical' or 'horizontal'
|
115 |
+
* @param string $size either 'small', 'medium' or 'large'
|
116 |
+
* @throws InvalidArgumentException if orientation or size are not in correct format
|
117 |
+
* @return string URL to the image
|
118 |
+
*/
|
119 |
+
public function getImage($orientation, $size);
|
120 |
+
|
121 |
+
/**
|
122 |
+
* Sets an array with all images.
|
123 |
+
*
|
124 |
+
* The structure of the array must be like this:
|
125 |
+
*
|
126 |
+
* <code>
|
127 |
+
* $images = array(
|
128 |
+
* 'vertical' => array(
|
129 |
+
* 'small' => 'http://url.of/the/image'
|
130 |
+
* 'medium' => 'http://url.of/the/image'
|
131 |
+
* 'large' => 'http://url.of/the/image'
|
132 |
+
* )
|
133 |
+
* 'horizontal' => array(
|
134 |
+
* 'small' => 'http://url.of/the/image'
|
135 |
+
* 'medium' => 'http://url.of/the/image'
|
136 |
+
* 'large' => 'http://url.of/the/image'
|
137 |
+
* )
|
138 |
+
* )
|
139 |
+
* </code>
|
140 |
+
*
|
141 |
+
* @param array $images
|
142 |
+
* @throws InvalidArgumentException if array is not of correct structure
|
143 |
+
* @return Elefunds_Model_ReceiverInterface
|
144 |
+
*/
|
145 |
+
public function setImages(array $images);
|
146 |
+
|
147 |
+
/**
|
148 |
+
* Returns an array with all images.
|
149 |
+
*
|
150 |
+
* The structure of the array will be like this:
|
151 |
+
*
|
152 |
+
* <code>
|
153 |
+
* $images = array(
|
154 |
+
* 'vertical' => array(
|
155 |
+
* 'small' => 'http://url.of/the/image'
|
156 |
+
* 'medium' => 'http://url.of/the/image'
|
157 |
+
* 'large' => 'http://url.of/the/image'
|
158 |
+
* )
|
159 |
+
* 'horizontal' => array(
|
160 |
+
* 'small' => 'http://url.of/the/image'
|
161 |
+
* 'medium' => 'http://url.of/the/image'
|
162 |
+
* 'large' => 'http://url.of/the/image'
|
163 |
+
* )
|
164 |
+
* )
|
165 |
+
* </code>
|
166 |
+
*
|
167 |
+
* @return array
|
168 |
+
*/
|
169 |
+
public function getImages();
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Checks whether the receiver is valid.
|
173 |
+
*
|
174 |
+
* When you are retrieving the receiver from the API
|
175 |
+
* it should always be valid. However, if you are
|
176 |
+
* persisting receivers or cache them, you can check
|
177 |
+
* if you need to refresh with this method.
|
178 |
+
*
|
179 |
+
* @return bool
|
180 |
+
*/
|
181 |
+
public function isValid();
|
182 |
+
|
183 |
+
/**
|
184 |
+
* Returns the DateTime on which this receiver
|
185 |
+
* expires.
|
186 |
+
*
|
187 |
+
* @return DateTime
|
188 |
+
*/
|
189 |
+
public function getValidTime();
|
190 |
+
|
191 |
+
/**
|
192 |
+
* Setter for the time until which the receiver is
|
193 |
+
* valid.
|
194 |
+
*
|
195 |
+
* @param DateTime $validTime
|
196 |
+
*
|
197 |
+
* @return Elefunds_Model_ReceiverInterface
|
198 |
+
*/
|
199 |
+
public function setValidTime(DateTime $validTime);
|
200 |
+
|
201 |
+
}
|
lib/Elefunds/README.md
ADDED
@@ -0,0 +1,50 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
elefunds PHP Client Library 1.2.1
|
2 |
+
=================================
|
3 |
+
|
4 |
+
Welcome to the elefunds PHP Client Library.
|
5 |
+
|
6 |
+
We put a lot of effort into making your daily work with our elefunds API an ease and loads of fun.
|
7 |
+
Therefore we tried to minimize the workload for shop implementers and developers as much as possible
|
8 |
+
while offering you all the necessary freedoms to develop your idea just as quick and sustainable as possible.
|
9 |
+
|
10 |
+
We have been working hard on a finite guide to the API and libraries at hand, and there is already an introduction written in
|
11 |
+
`Documentation/PHPGuide.md`, as well as more general information in the root folder of this repository (`/Documentation`)!
|
12 |
+
|
13 |
+
There's also an excellent inline documentation as well as simple examples (check out the `/Examples`Folder)
|
14 |
+
and a clean and structured code base.
|
15 |
+
|
16 |
+
So please enjoy working with us and never hesitate to call or mail in case of problems, questions or the need for an immediate response.
|
17 |
+
|
18 |
+
Questions concerning bugtracking, feature requests or suggestions are always welcome!
|
19 |
+
|
20 |
+
For questions regarding the API or the PHP Client Library, please contact Christian Peters, <christian@elefunds.de>!
|
21 |
+
|
22 |
+
|
23 |
+
Prerequisites
|
24 |
+
-------------
|
25 |
+
|
26 |
+
This PHP Client Library requires PHP 5.3 or higher and should therefore work on every modern and even a bit aged system.
|
27 |
+
However, if you want to run the tests, you need PHP 5.3.8 or higher. The tests are mainly for code quality and are not
|
28 |
+
needed in a production environment.
|
29 |
+
|
30 |
+
|
31 |
+
What is it about?
|
32 |
+
-----------------
|
33 |
+
|
34 |
+
The API is basically about retrieving donation receivers (e.g. NGOs like Greenpeace, that can receive donations) and -
|
35 |
+
if a donation was made - sending back donation data to the API.
|
36 |
+
|
37 |
+
We have encapsulated the whole process as you can see in `Example/rawDataExample.php`, that handles with the pure
|
38 |
+
data that is returned from the API but already abstracts them in plain old php objects.
|
39 |
+
|
40 |
+
There is as well an example for advanced templating in `Example/shopExample.php`.
|
41 |
+
|
42 |
+
|
43 |
+
Summary
|
44 |
+
-------
|
45 |
+
|
46 |
+
We are sure that this is one small step to revolutionize the way we consume and
|
47 |
+
how we take responsibility in our daily life decisions.
|
48 |
+
So please enjoy all the good deeds you can enable your customers to and help us change the world.
|
49 |
+
We're super excited to see your ideas coming to live with it.
|
50 |
+
After all, have fun with this API!
|
lib/Elefunds/Template/Shop/CheckoutConfiguration.php
ADDED
@@ -0,0 +1,119 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/ShopConfiguration.php';
|
41 |
+
require_once dirname(__FILE__) . '/../../View/BaseView.php';
|
42 |
+
require_once dirname(__FILE__) . '/Hooks/ShopHooks.php';
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Checkout Configuration for a shop template.
|
46 |
+
*
|
47 |
+
* @package elefunds API PHP Library
|
48 |
+
* @subpackage Template\Shop
|
49 |
+
* @author Christian Peters <christian@elefunds.de>
|
50 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
51 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
52 |
+
* @link http://www.elefunds.de
|
53 |
+
* @since File available since Release 1.0.0
|
54 |
+
*/
|
55 |
+
class Elefunds_Template_Shop_CheckoutConfiguration extends Elefunds_Template_Shop_ShopConfiguration {
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @var boolean
|
59 |
+
*/
|
60 |
+
protected $autoFetchReceivers = TRUE;
|
61 |
+
|
62 |
+
/**
|
63 |
+
* Sets if receivers are auto fetched from the API.
|
64 |
+
*
|
65 |
+
* Set this to FALSE if you want to assign the receivers for yourself
|
66 |
+
* (for example if you want to use caching).
|
67 |
+
*
|
68 |
+
* You should then call $this->view->assign('receivers', $receivers) for yourself.
|
69 |
+
*
|
70 |
+
* @param boolean $autoFetchReceivers
|
71 |
+
*/
|
72 |
+
public function setAutoFetchReceivers($autoFetchReceivers)
|
73 |
+
{
|
74 |
+
$this->autoFetchReceivers = $autoFetchReceivers;
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Assigns the receivers.
|
79 |
+
*
|
80 |
+
* @return void
|
81 |
+
*/
|
82 |
+
public function init() {
|
83 |
+
|
84 |
+
parent::init();
|
85 |
+
|
86 |
+
// If set to FALSE, no donation receipt if offered.
|
87 |
+
// If TRUE you have to adjust T&Cs and send back donator information
|
88 |
+
// Refer to the documentation for further information.
|
89 |
+
$this->view->assign('offerDonationReceipt', TRUE);
|
90 |
+
|
91 |
+
if ($this->autoFetchReceivers) {
|
92 |
+
$this->view->assign('receivers', $this->facade->getReceivers());
|
93 |
+
}
|
94 |
+
|
95 |
+
// Defaults, you can opt to override this if you like.
|
96 |
+
$this->view->assign('currency', '€');
|
97 |
+
$this->view->assign('currencyDelimiter', '.');
|
98 |
+
$this->view->assign('toolTipPosition', 'top');
|
99 |
+
|
100 |
+
$this->view->assign('roundSum', 'elefunds_round_sum');
|
101 |
+
$this->view->assign('roundSumContainer', 'elefunds_below_container');
|
102 |
+
|
103 |
+
// L18n
|
104 |
+
if ($this->countrycode === 'de') {
|
105 |
+
$this->view->assign('elefundsDescription', 'Die elefunds Stiftung gUG leitet Deine Spende zu 100% an die ausgewählten Organisationen weiter.');
|
106 |
+
$this->view->assign('slogan', 'Ja, ich möchte mit meinem Einkauf aufrunden und spenden!');
|
107 |
+
$this->view->assign('receipt_slogan', 'Ich möchte eine Spendenquittung erhalten.');
|
108 |
+
$this->view->assign('roundedSumString', 'Runde Summe');
|
109 |
+
} else {
|
110 |
+
$this->view->assign('elefundsDescription', 'elefunds is a charitable foundation proceeding 100% of your donation to the charities of your choice.');
|
111 |
+
$this->view->assign('slogan', 'Yes, I want to roundup my purchase!');
|
112 |
+
$this->view->assign('receipt_slogan', 'I want to receive a donation receipt.');
|
113 |
+
$this->view->assign('roundedSumString', 'Round Sum');
|
114 |
+
}
|
115 |
+
|
116 |
+
$this->view->registerAssignHook('shopWidth', 'Elefunds_Template_Shop_Hooks_ShopHooks', 'calculatePadding');
|
117 |
+
$this->view->registerAssignHook('total', 'Elefunds_Template_Shop_Hooks_ShopHooks', 'calculateRoundUp');
|
118 |
+
}
|
119 |
+
}
|
lib/Elefunds/Template/Shop/CheckoutSuccess.phtml
ADDED
@@ -0,0 +1,18 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<div id="elefunds_share">
|
2 |
+
<h3><?php echo $view['tellAboutIt']; ?></h3>
|
3 |
+
<p><?php echo $view['IDonatedAndWantToTellAboutIt']; ?></p>
|
4 |
+
<?php foreach($view['shares'] as $share): ?>
|
5 |
+
<a title="<?php echo $share->title ?>" href="<?php echo $share->url; ?>" onclick="return elefunds_share('<?php echo $share->url; ?>', '<?php echo $share->title ?>', <?php echo $share->width; ?>, <?php echo $share->height; ?>)">
|
6 |
+
<img src="<?php echo $share->imageUrl; ?>" />
|
7 |
+
</a>
|
8 |
+
|
9 |
+
<?php endforeach; ?>
|
10 |
+
<span><?php echo $view['learnMore']; ?> <a href="http://elefunds.de" target="_blank"><img src="https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_logo_s.png"></a></span>
|
11 |
+
</div>
|
12 |
+
<script language="javascript" type="text/javascript">
|
13 |
+
function elefunds_share(url, title, width, height) {
|
14 |
+
var newwindow=window.open(url,title,'left=100,top=50,width='+width+',height='+height);
|
15 |
+
if (window.focus) {newwindow.focus()}
|
16 |
+
return false;
|
17 |
+
}
|
18 |
+
</script>
|
lib/Elefunds/Template/Shop/CheckoutSuccessConfiguration.php
ADDED
@@ -0,0 +1,115 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/ShopConfiguration.php';
|
41 |
+
require_once dirname(__FILE__) . '/../../View/BaseView.php';
|
42 |
+
require_once dirname(__FILE__) . '/Hooks/ShopHooks.php';
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Base Configuration for the checkout success configuration of the shop template.
|
46 |
+
*
|
47 |
+
* @package elefunds API PHP Library
|
48 |
+
* @subpackage Template\Shop
|
49 |
+
* @author Christian Peters <christian@elefunds.de>
|
50 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
51 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
52 |
+
* @link http://www.elefunds.de
|
53 |
+
* @since File available since Release 1.0.0
|
54 |
+
*/
|
55 |
+
class Elefunds_Template_Shop_CheckoutSuccessConfiguration extends Elefunds_Template_Shop_ShopConfiguration {
|
56 |
+
|
57 |
+
/*
|
58 |
+
* NOTE:
|
59 |
+
*
|
60 |
+
* To change this template, instead of modifying this file, do the following:
|
61 |
+
*
|
62 |
+
* * create a new Folder /Template/MyTemplate
|
63 |
+
* * copy View.phtml and CheckoutSuccess.phtml in it (and adjust them)
|
64 |
+
* * create a MyTemplateBaseConfiguration class, that extends this class (and adjust it)
|
65 |
+
*/
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Assigns the basic variables for the shop.
|
69 |
+
*
|
70 |
+
* @return void
|
71 |
+
*/
|
72 |
+
public function init() {
|
73 |
+
parent::init();
|
74 |
+
|
75 |
+
$this->view->assign('clientId', $this->facade->getConfiguration()->getClientId());
|
76 |
+
$this->view->assign('hashedKey', $this->facade->getConfiguration()->getHashedKey());
|
77 |
+
|
78 |
+
$this->view->assign('availableShareServices', array(
|
79 |
+
'facebook' => array(
|
80 |
+
'image' => 'https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/share_on_facebook.png',
|
81 |
+
'width' => 660,
|
82 |
+
'height' => 350,
|
83 |
+
'title' => $this->countrycode === 'de' ? 'Auf Facebook teilen' : 'Share on facebook'
|
84 |
+
),
|
85 |
+
'twitter' => array(
|
86 |
+
'image' => 'https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/tweet_on_twitter.png',
|
87 |
+
'width' => 620,
|
88 |
+
'height' => 415,
|
89 |
+
'title' => $this->countrycode === 'de' ? 'Auf Twitter tweeten' : 'Tweet on twitter'
|
90 |
+
),
|
91 |
+
));
|
92 |
+
|
93 |
+
if($this->countrycode === 'de') {
|
94 |
+
$this->view->assign('learnMore', 'Erfahre mehr über');
|
95 |
+
} else {
|
96 |
+
$this->view->assign('learnMore', 'Learn more about');
|
97 |
+
}
|
98 |
+
|
99 |
+
$this->view->assign('shareServices', array('facebook', 'twitter'));
|
100 |
+
|
101 |
+
// L18n
|
102 |
+
if ($this->countrycode === 'de') {
|
103 |
+
$this->view->assign('tellAboutIt', 'Juhu! Vielen Dank für Deine Spende.');
|
104 |
+
$this->view->assign('IDonatedAndWantToTellAboutIt', 'Teilen kann man nicht nur mit seinem Einkauf, sondern auch mit seinen Freunden.<br />Erzähle Deinen Freunden von elefunds!');
|
105 |
+
} else {
|
106 |
+
$this->view->assign('tellAboutIt', 'Yay! Thank you for your donation.');
|
107 |
+
$this->view->assign('IDonatedAndWantToTellAboutIt', 'If everyone used their change for change we could make the world a better place. Tell your friends about elefunds.');
|
108 |
+
}
|
109 |
+
|
110 |
+
// Hooks
|
111 |
+
$this->view->registerAssignHook('receivers', 'Elefunds_Template_Shop_Hooks_ShopHooks', 'onReceiversAdded');
|
112 |
+
$this->view->registerAssignHook('foreignId', 'Elefunds_Template_Shop_Hooks_ShopHooks', 'onForeignIdAdded');
|
113 |
+
}
|
114 |
+
|
115 |
+
}
|
lib/Elefunds/Template/Shop/Css/color.less
ADDED
@@ -0,0 +1,2 @@
|
|
Â
|
|
Â
|
1 |
+
@theme: "light";
|
2 |
+
@theme-color: "grey";
|
lib/Elefunds/Template/Shop/Css/elefunds.less
ADDED
@@ -0,0 +1,436 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
@import "elements.less";
|
2 |
+
@import "color.less";
|
3 |
+
|
4 |
+
@cdn-URL: "https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com";
|
5 |
+
|
6 |
+
@font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
|
7 |
+
|
8 |
+
@light-border: #8c8f91;
|
9 |
+
@dark-border: #3a414a;
|
10 |
+
|
11 |
+
@light-currency: #2c3238;
|
12 |
+
@light-shadow: #C6CFD8;
|
13 |
+
@light-input-color: #7f807f;
|
14 |
+
@light-input-border: #7f807f;
|
15 |
+
@light-label-color: #d0d9d2;
|
16 |
+
@light-text-color: #000;
|
17 |
+
|
18 |
+
@dark-currency: #C6CFD8;
|
19 |
+
@dark-shadow: #2c3238;
|
20 |
+
@dark-input-color: #c6cfd8;
|
21 |
+
@dark-input-border: #2f3439;
|
22 |
+
@dark-label-color: #C6CFD8;
|
23 |
+
@dark-text-color: #fff;
|
24 |
+
|
25 |
+
#elefunds_top {
|
26 |
+
position: relative;
|
27 |
+
background: url('@{cdn-URL}/@{theme}/top_bar.png') repeat-x;
|
28 |
+
height: 49px;
|
29 |
+
|
30 |
+
@border-color: "@{theme}-border";
|
31 |
+
border-left: 1px solid @@border-color;
|
32 |
+
border-right: 1px solid @@border-color;
|
33 |
+
line-height: 1.4;
|
34 |
+
|
35 |
+
.user-select(none);
|
36 |
+
|
37 |
+
> div {
|
38 |
+
float: right;
|
39 |
+
margin-right: 10px;
|
40 |
+
}
|
41 |
+
}
|
42 |
+
|
43 |
+
#elefunds_logo {
|
44 |
+
position: absolute;
|
45 |
+
top: 8px;
|
46 |
+
left: 10px;
|
47 |
+
}
|
48 |
+
|
49 |
+
#elefunds_arrow {
|
50 |
+
position: relative;
|
51 |
+
display: inline-block;
|
52 |
+
float: left;
|
53 |
+
background: url('@{cdn-URL}/@{theme}/arrow_bg.png') repeat-x;
|
54 |
+
height: 49px;
|
55 |
+
padding: 0;
|
56 |
+
}
|
57 |
+
|
58 |
+
#elefunds_checkbox {
|
59 |
+
position: absolute;
|
60 |
+
top: 18px;
|
61 |
+
left: 19px;
|
62 |
+
width: 18px;
|
63 |
+
line-height: normal;
|
64 |
+
cursor: pointer;
|
65 |
+
opacity: 0;
|
66 |
+
|
67 |
+
+ label {
|
68 |
+
font-family: @font-family;
|
69 |
+
font-size: 12px;
|
70 |
+
font-weight: normal;
|
71 |
+
@color: "@{theme}-label-color";
|
72 |
+
color: @@color;
|
73 |
+
padding: 9px 10px 9px 60px;
|
74 |
+
height: 31px;
|
75 |
+
margin: 0;
|
76 |
+
max-width: 180px;
|
77 |
+
float: left;
|
78 |
+
cursor: pointer;
|
79 |
+
background: url('@{cdn-URL}/@{theme}/@{theme-color}/arrow_off.png') no-repeat;
|
80 |
+
}
|
81 |
+
|
82 |
+
&:checked + label {
|
83 |
+
background: url('@{cdn-URL}/@{theme}/@{theme-color}/arrow_on.png') no-repeat;
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
#elefunds_arrow_end {
|
88 |
+
width: 14px;
|
89 |
+
height: 49px;
|
90 |
+
display: inline-block;
|
91 |
+
background: url('@{cdn-URL}/@{theme}/arrow_end.png') no-repeat;
|
92 |
+
}
|
93 |
+
|
94 |
+
#elefunds_plus_minus {
|
95 |
+
float: left;
|
96 |
+
padding: 13px 10px 0 30px;
|
97 |
+
|
98 |
+
img {
|
99 |
+
margin: 0 1px;
|
100 |
+
}
|
101 |
+
}
|
102 |
+
|
103 |
+
#elefunds_input_container {
|
104 |
+
float: left;
|
105 |
+
padding-top: 11px;
|
106 |
+
}
|
107 |
+
|
108 |
+
#elefunds_currency {
|
109 |
+
display: inline-block;
|
110 |
+
width: auto;
|
111 |
+
height: 18px;
|
112 |
+
padding: 4px 8px;
|
113 |
+
font-family: @font-family;
|
114 |
+
font-size: 12px;
|
115 |
+
font-weight: normal;
|
116 |
+
line-height: 18px;
|
117 |
+
text-align: center;
|
118 |
+
@color: "@{theme}-currency";
|
119 |
+
color: @@color;
|
120 |
+
|
121 |
+
@shadow: "@{theme}-shadow";
|
122 |
+
text-shadow: 0 1px 0 @@shadow;
|
123 |
+
background: url('@{cdn-URL}/@{theme}/currency_bg.png') repeat-x;
|
124 |
+
|
125 |
+
@border: "@{theme}-input-border";
|
126 |
+
border: 1px solid @@border;
|
127 |
+
border-radius: 3px 0 0 3px;
|
128 |
+
margin-right: -1px;
|
129 |
+
float: left;
|
130 |
+
}
|
131 |
+
|
132 |
+
#elefunds_input {
|
133 |
+
display: inline-block;
|
134 |
+
width: 48px;
|
135 |
+
height: 18px;
|
136 |
+
padding: 4px 2px 4px 0;
|
137 |
+
margin: 0;
|
138 |
+
vertical-align: middle;
|
139 |
+
text-align: center;
|
140 |
+
font-family: @font-family;
|
141 |
+
font-size: 12px;
|
142 |
+
@color: "@{theme}-input-color";
|
143 |
+
color: @@color;
|
144 |
+
|
145 |
+
@shadow: "@{theme}-shadow";
|
146 |
+
text-shadow: 0 1px 0 @@shadow;
|
147 |
+
background: url('@{cdn-URL}/@{theme}/input_bg.png') repeat-x;
|
148 |
+
|
149 |
+
@border: "@{theme}-input-border";
|
150 |
+
border: 1px solid @@border;
|
151 |
+
float: left;
|
152 |
+
outline: none;
|
153 |
+
}
|
154 |
+
|
155 |
+
.elefunds_input_active {
|
156 |
+
@color: "@{theme}-text-color";
|
157 |
+
color: @@color !important;
|
158 |
+
}
|
159 |
+
|
160 |
+
#elefunds_bottom {
|
161 |
+
height: 62px;
|
162 |
+
border-width: 0 1px 1px;
|
163 |
+
border-style: solid;
|
164 |
+
border-color: #cfd0d4 #b9bec4;
|
165 |
+
line-height: 1.4;
|
166 |
+
|
167 |
+
.user-select(none);
|
168 |
+
}
|
169 |
+
|
170 |
+
.elefunds_receiver {
|
171 |
+
margin: 0;
|
172 |
+
text-align: center;
|
173 |
+
display: inline-block;
|
174 |
+
border-left: 1px solid #a3a6ac;
|
175 |
+
background: url('@{cdn-URL}/receiver_off_bg.png') repeat-x;
|
176 |
+
float: left;
|
177 |
+
position: relative;
|
178 |
+
|
179 |
+
> label > img {
|
180 |
+
vertical-align: middle;
|
181 |
+
-webkit-filter: grayscale(1) opacity(0.7);
|
182 |
+
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
|
183 |
+
filter: alpha(opacity=50);
|
184 |
+
}
|
185 |
+
|
186 |
+
> input {
|
187 |
+
cursor: pointer;
|
188 |
+
opacity: 0;
|
189 |
+
font-size: 100%;
|
190 |
+
margin: 0;
|
191 |
+
vertical-align: baseline;
|
192 |
+
width: 22px;
|
193 |
+
position: absolute;
|
194 |
+
top: 25px;
|
195 |
+
left: 13px;
|
196 |
+
}
|
197 |
+
|
198 |
+
> input + label {
|
199 |
+
height: 42px;
|
200 |
+
width: 165px;
|
201 |
+
margin: 0;
|
202 |
+
cursor: pointer;
|
203 |
+
background: url('@{cdn-URL}/checkbox_off.png') 10px 24px no-repeat;
|
204 |
+
display: inline-block;
|
205 |
+
border-left: 1px solid rgb(246, 246, 246);
|
206 |
+
border-left: 1px solid rgba(255, 255, 255, 0.6);
|
207 |
+
}
|
208 |
+
|
209 |
+
> input:checked + label {
|
210 |
+
background: url('@{cdn-URL}/checkbox_on.png') 10px 24px no-repeat;
|
211 |
+
}
|
212 |
+
}
|
213 |
+
|
214 |
+
#elefunds_bottom > input:first-child + div {
|
215 |
+
border-left: 0 !important;
|
216 |
+
}
|
217 |
+
|
218 |
+
.elefunds_receiver_selected {
|
219 |
+
background: url('@{cdn-URL}/receiver_on_bg.png') repeat-x;
|
220 |
+
|
221 |
+
> label > img {
|
222 |
+
filter: none;
|
223 |
+
-webkit-filter: none;
|
224 |
+
-ms-filter: none;
|
225 |
+
}
|
226 |
+
}
|
227 |
+
|
228 |
+
#elefunds_below_container {
|
229 |
+
font-family: @font-family;
|
230 |
+
font-size: 16px;
|
231 |
+
margin: 0;
|
232 |
+
padding: 15px 0 10px;
|
233 |
+
text-align: right;
|
234 |
+
|
235 |
+
label {
|
236 |
+
font-weight: normal;
|
237 |
+
}
|
238 |
+
}
|
239 |
+
|
240 |
+
#elefunds_round_sum_container {
|
241 |
+
background: url('@{cdn-URL}/elefunds_highlight.png') right top no-repeat;
|
242 |
+
|
243 |
+
strong {
|
244 |
+
font-weight: bold;
|
245 |
+
line-height: 1.5em;
|
246 |
+
}
|
247 |
+
|
248 |
+
strong:last-child {
|
249 |
+
margin-right: 8px;
|
250 |
+
}
|
251 |
+
}
|
252 |
+
|
253 |
+
#elefunds_round_sum {
|
254 |
+
display: inline-block;
|
255 |
+
width: 65px;
|
256 |
+
color: #222;
|
257 |
+
}
|
258 |
+
|
259 |
+
#elefunds_receipt {
|
260 |
+
position: relative;
|
261 |
+
float: left;
|
262 |
+
font-size: 12px;
|
263 |
+
color: #333;
|
264 |
+
margin: 5px 0 0 15px;
|
265 |
+
|
266 |
+
.user-select(none);
|
267 |
+
}
|
268 |
+
|
269 |
+
#elefunds_receipt_checkbox {
|
270 |
+
position: absolute;
|
271 |
+
top: 1px;
|
272 |
+
cursor: pointer;
|
273 |
+
opacity: 0;
|
274 |
+
font-size: 100%;
|
275 |
+
margin: 0;
|
276 |
+
vertical-align: baseline;
|
277 |
+
width: 16px;
|
278 |
+
|
279 |
+
+ label {
|
280 |
+
margin: 0;
|
281 |
+
cursor: pointer;
|
282 |
+
background: url('@{cdn-URL}/receipt_off.png') no-repeat;
|
283 |
+
display: inline-block;
|
284 |
+
padding-left: 20px;
|
285 |
+
}
|
286 |
+
}
|
287 |
+
|
288 |
+
|
289 |
+
#elefunds_receipt > input:checked + label {
|
290 |
+
background: url('@{cdn-URL}/receipt_on.png') no-repeat;
|
291 |
+
}
|
292 |
+
|
293 |
+
.elefunds_hidden {
|
294 |
+
visibility: hidden;
|
295 |
+
}
|
296 |
+
|
297 |
+
/* Social Media Share */
|
298 |
+
|
299 |
+
#elefunds_share {
|
300 |
+
width: 450px;
|
301 |
+
padding: 20px 20px 10px;
|
302 |
+
background: #f4f4f4;
|
303 |
+
border: 4px solid #ccc;
|
304 |
+
border-radius: 8px;
|
305 |
+
font-family: @font-family;
|
306 |
+
text-align: center;
|
307 |
+
|
308 |
+
> a {
|
309 |
+
text-decoration: none;
|
310 |
+
}
|
311 |
+
|
312 |
+
h3 {
|
313 |
+
font-weight: bold;
|
314 |
+
color: #222;
|
315 |
+
margin: 0;
|
316 |
+
}
|
317 |
+
|
318 |
+
p {
|
319 |
+
font-size: 14px;
|
320 |
+
color: #666;
|
321 |
+
margin: 20px 0 10px;
|
322 |
+
padding: 10px 10px 20px;
|
323 |
+
}
|
324 |
+
|
325 |
+
span {
|
326 |
+
font-style: normal;
|
327 |
+
font-size: 11px;
|
328 |
+
line-height: 21px;
|
329 |
+
margin-top: 6px;
|
330 |
+
vertical-align: top;
|
331 |
+
display: block;
|
332 |
+
}
|
333 |
+
}
|
334 |
+
|
335 |
+
/* TOOLTIPS */
|
336 |
+
|
337 |
+
#tiptip_content {
|
338 |
+
font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
|
339 |
+
background: #222;
|
340 |
+
background: rgba(0, 0, 0, 0.7);
|
341 |
+
padding: 3px;
|
342 |
+
overflow: hidden;
|
343 |
+
width: 260px;
|
344 |
+
|
345 |
+
.rounded(6px);
|
346 |
+
.drop-shadow(0, 3px, 7px, 0.3);
|
347 |
+
}
|
348 |
+
|
349 |
+
#tiptip_title {
|
350 |
+
background-color: #f5f5f5;
|
351 |
+
padding: 10px 15px 8px;
|
352 |
+
color: #222;
|
353 |
+
font-size: 18px;
|
354 |
+
line-height: 1;
|
355 |
+
text-align: center;
|
356 |
+
font-weight: bold;
|
357 |
+
|
358 |
+
.border-radius(3px, 3px, 0, 0);
|
359 |
+
|
360 |
+
border-bottom: 1px solid #eee;
|
361 |
+
margin: 0;
|
362 |
+
}
|
363 |
+
|
364 |
+
#tiptip_inner {
|
365 |
+
font-size: 12px;
|
366 |
+
color: #222;
|
367 |
+
background-color: #fff;
|
368 |
+
padding: 14px;
|
369 |
+
|
370 |
+
.border-radius(0, 0, 3px, 3px);
|
371 |
+
|
372 |
+
-webkit-background-clip: padding-box;
|
373 |
+
-moz-background-clip: padding-box;
|
374 |
+
background-clip: padding-box;
|
375 |
+
}
|
376 |
+
|
377 |
+
#tiptip_holder {
|
378 |
+
display: none;
|
379 |
+
position: absolute;
|
380 |
+
top: 0;
|
381 |
+
left: 0;
|
382 |
+
z-index: 99999;
|
383 |
+
}
|
384 |
+
|
385 |
+
#tiptip_holder.tip_top {
|
386 |
+
margin-bottom: 5px;
|
387 |
+
}
|
388 |
+
|
389 |
+
#tiptip_holder.tip_left {
|
390 |
+
margin-right: 5px;
|
391 |
+
}
|
392 |
+
|
393 |
+
#tiptip_holder.tip_right {
|
394 |
+
margin-left: 5px;
|
395 |
+
}
|
396 |
+
|
397 |
+
#tiptip_holder.tip_bottom {
|
398 |
+
margin-top: 5px;
|
399 |
+
}
|
400 |
+
|
401 |
+
#tiptip_arrow, #tiptip_arrow_inner {
|
402 |
+
position: absolute;
|
403 |
+
border-color: transparent;
|
404 |
+
border-style: solid;
|
405 |
+
border-width: 6px;
|
406 |
+
height: 0;
|
407 |
+
width: 0;
|
408 |
+
}
|
409 |
+
|
410 |
+
#tiptip_holder.tip_top #tiptip_arrow_inner {
|
411 |
+
margin-top: -7px;
|
412 |
+
margin-left: -6px;
|
413 |
+
border-top-color: rgb(25,25,25);
|
414 |
+
border-top-color: rgba(25, 25, 25, 0.92);
|
415 |
+
}
|
416 |
+
|
417 |
+
#tiptip_holder.tip_right #tiptip_arrow_inner {
|
418 |
+
margin-top: -6px;
|
419 |
+
margin-left: -5px;
|
420 |
+
border-right-color: rgb(25,25,25);
|
421 |
+
border-right-color: rgba(25, 25, 25, 0.92);
|
422 |
+
}
|
423 |
+
|
424 |
+
#tiptip_holder.tip_bottom #tiptip_arrow_inner {
|
425 |
+
margin-top: -5px;
|
426 |
+
margin-left: -6px;
|
427 |
+
border-bottom-color: rgb(25,25,25);
|
428 |
+
border-bottom-color: rgba(25, 25, 25, 0.92);
|
429 |
+
}
|
430 |
+
|
431 |
+
#tiptip_holder.tip_left #tiptip_arrow_inner {
|
432 |
+
margin-top: -6px;
|
433 |
+
margin-left: -7px;
|
434 |
+
border-left-color: rgb(25,25,25);
|
435 |
+
border-left-color: rgba(25, 25, 25, 0.92);
|
436 |
+
}
|
lib/Elefunds/Template/Shop/Css/elefunds_dark_blue.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/blue/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/blue/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elefunds_dark_green.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/green/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/green/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elefunds_dark_grey.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/grey/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/grey/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elefunds_dark_orange.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/orange/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/orange/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elefunds_dark_purple.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/purple/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/purple/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elefunds_light_blue.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/blue/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/blue/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elefunds_light_green.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/green/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/green/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elefunds_light_grey.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/grey/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/grey/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elefunds_light_orange.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/orange/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/orange/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elefunds_light_purple.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/purple/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/purple/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
lib/Elefunds/Template/Shop/Css/elements.less
ADDED
@@ -0,0 +1,156 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*---------------------------------------------------
|
2 |
+
LESS Elements 0.9
|
3 |
+
---------------------------------------------------
|
4 |
+
A set of useful LESS mixins
|
5 |
+
More info at: http://lesselements.com
|
6 |
+
---------------------------------------------------*/
|
7 |
+
|
8 |
+
.gradient(@color: #F5F5F5, @start: #EEE, @stop: #FFF) {
|
9 |
+
background: @color;
|
10 |
+
background: -webkit-gradient(linear,
|
11 |
+
left bottom,
|
12 |
+
left top,
|
13 |
+
color-stop(0, @start),
|
14 |
+
color-stop(1, @stop));
|
15 |
+
background: -ms-linear-gradient(bottom,
|
16 |
+
@start,
|
17 |
+
@stop);
|
18 |
+
background: -moz-linear-gradient(center bottom,
|
19 |
+
@start 0%,
|
20 |
+
@stop 100%);
|
21 |
+
background: -o-linear-gradient(@stop,
|
22 |
+
@start);
|
23 |
+
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@stop,@start));
|
24 |
+
}
|
25 |
+
.bw-gradient(@color: #F5F5F5, @start: 0, @stop: 255) {
|
26 |
+
background: @color;
|
27 |
+
background: -webkit-gradient(linear,
|
28 |
+
left bottom,
|
29 |
+
left top,
|
30 |
+
color-stop(0, rgb(@start,@start,@start)),
|
31 |
+
color-stop(1, rgb(@stop,@stop,@stop)));
|
32 |
+
background: -ms-linear-gradient(bottom,
|
33 |
+
rgb(@start,@start,@start) 0%,
|
34 |
+
rgb(@stop,@stop,@stop) 100%);
|
35 |
+
background: -moz-linear-gradient(center bottom,
|
36 |
+
rgb(@start,@start,@start) 0%,
|
37 |
+
rgb(@stop,@stop,@stop) 100%);
|
38 |
+
background: -o-linear-gradient(rgb(@stop,@stop,@stop),
|
39 |
+
rgb(@start,@start,@start));
|
40 |
+
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",rgb(@stop,@stop,@stop),rgb(@start,@start,@start)));
|
41 |
+
}
|
42 |
+
.bordered(@top-color: #EEE, @right-color: #EEE, @bottom-color: #EEE, @left-color: #EEE) {
|
43 |
+
border-top: solid 1px @top-color;
|
44 |
+
border-left: solid 1px @left-color;
|
45 |
+
border-right: solid 1px @right-color;
|
46 |
+
border-bottom: solid 1px @bottom-color;
|
47 |
+
}
|
48 |
+
.drop-shadow(@x-axis: 0, @y-axis: 1px, @blur: 2px, @alpha: 0.1) {
|
49 |
+
-webkit-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
50 |
+
-moz-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
51 |
+
box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
|
52 |
+
}
|
53 |
+
.rounded(@radius: 2px) {
|
54 |
+
-webkit-border-radius: @radius;
|
55 |
+
-moz-border-radius: @radius;
|
56 |
+
border-radius: @radius;
|
57 |
+
}
|
58 |
+
.border-radius(@topleft: 0, @topright: 0, @bottomright: 0, @bottomleft: 0) {
|
59 |
+
-webkit-border-top-left-radius: @topleft;
|
60 |
+
-webkit-border-top-right-radius: @topright;
|
61 |
+
-webkit-border-bottom-right-radius: @bottomright;
|
62 |
+
-webkit-border-bottom-left-radius: @bottomleft;
|
63 |
+
-moz-border-radius-topleft: @topleft;
|
64 |
+
-moz-border-radius-topright: @topright;
|
65 |
+
-moz-border-radius-bottomright: @bottomright;
|
66 |
+
-moz-border-radius-bottomleft: @bottomleft;
|
67 |
+
border-top-left-radius: @topleft;
|
68 |
+
border-top-right-radius: @topright;
|
69 |
+
border-bottom-right-radius: @bottomright;
|
70 |
+
border-bottom-left-radius: @bottomleft;
|
71 |
+
.background-clip(padding-box);
|
72 |
+
}
|
73 |
+
.opacity(@opacity: 0.5) {
|
74 |
+
-moz-opacity: @opacity;
|
75 |
+
-khtml-opacity: @opacity;
|
76 |
+
-webkit-opacity: @opacity;
|
77 |
+
opacity: @opacity;
|
78 |
+
@opperc: @opacity * 100;
|
79 |
+
-ms-filter: ~"progid:DXImageTransform.Microsoft.Alpha(opacity=@{opperc})";
|
80 |
+
filter: ~"alpha(opacity=@{opperc})";
|
81 |
+
}
|
82 |
+
.transition-duration(@duration: 0.2s) {
|
83 |
+
-moz-transition-duration: @duration;
|
84 |
+
-webkit-transition-duration: @duration;
|
85 |
+
-o-transition-duration: @duration;
|
86 |
+
transition-duration: @duration;
|
87 |
+
}
|
88 |
+
.transform(...) {
|
89 |
+
-webkit-transform: @arguments;
|
90 |
+
-moz-transform: @arguments;
|
91 |
+
-o-transform: @arguments;
|
92 |
+
-ms-transform: @arguments;
|
93 |
+
transform: @arguments;
|
94 |
+
}
|
95 |
+
.rotation(@deg:5deg){
|
96 |
+
.transform(rotate(@deg));
|
97 |
+
}
|
98 |
+
.scale(@ratio:1.5){
|
99 |
+
.transform(scale(@ratio));
|
100 |
+
}
|
101 |
+
.transition(@duration:0.2s, @ease:ease-out) {
|
102 |
+
-webkit-transition: all @duration @ease;
|
103 |
+
-moz-transition: all @duration @ease;
|
104 |
+
-o-transition: all @duration @ease;
|
105 |
+
transition: all @duration @ease;
|
106 |
+
}
|
107 |
+
.inner-shadow(@horizontal:0, @vertical:1px, @blur:2px, @alpha: 0.4) {
|
108 |
+
-webkit-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
109 |
+
-moz-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
110 |
+
box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
|
111 |
+
}
|
112 |
+
.box-shadow(@arguments) {
|
113 |
+
-webkit-box-shadow: @arguments;
|
114 |
+
-moz-box-shadow: @arguments;
|
115 |
+
box-shadow: @arguments;
|
116 |
+
}
|
117 |
+
.box-sizing(@sizing: border-box) {
|
118 |
+
-ms-box-sizing: @sizing;
|
119 |
+
-moz-box-sizing: @sizing;
|
120 |
+
-webkit-box-sizing: @sizing;
|
121 |
+
box-sizing: @sizing;
|
122 |
+
}
|
123 |
+
.user-select(@argument: none) {
|
124 |
+
-webkit-user-select: @argument;
|
125 |
+
-moz-user-select: @argument;
|
126 |
+
-ms-user-select: @argument;
|
127 |
+
user-select: @argument;
|
128 |
+
}
|
129 |
+
.columns(@colwidth: 250px, @colcount: 0, @colgap: 50px, @columnRuleColor: #EEE, @columnRuleStyle: solid, @columnRuleWidth: 1px) {
|
130 |
+
-moz-column-width: @colwidth;
|
131 |
+
-moz-column-count: @colcount;
|
132 |
+
-moz-column-gap: @colgap;
|
133 |
+
-moz-column-rule-color: @columnRuleColor;
|
134 |
+
-moz-column-rule-style: @columnRuleStyle;
|
135 |
+
-moz-column-rule-width: @columnRuleWidth;
|
136 |
+
-webkit-column-width: @colwidth;
|
137 |
+
-webkit-column-count: @colcount;
|
138 |
+
-webkit-column-gap: @colgap;
|
139 |
+
-webkit-column-rule-color: @columnRuleColor;
|
140 |
+
-webkit-column-rule-style: @columnRuleStyle;
|
141 |
+
-webkit-column-rule-width: @columnRuleWidth;
|
142 |
+
column-width: @colwidth;
|
143 |
+
column-count: @colcount;
|
144 |
+
column-gap: @colgap;
|
145 |
+
column-rule-color: @columnRuleColor;
|
146 |
+
column-rule-style: @columnRuleStyle;
|
147 |
+
column-rule-width: @columnRuleWidth;
|
148 |
+
}
|
149 |
+
.translate(@x:0, @y:0) {
|
150 |
+
.transform(translate(@x, @y));
|
151 |
+
}
|
152 |
+
.background-clip(@argument: padding-box) {
|
153 |
+
-moz-background-clip: @argument;
|
154 |
+
-webkit-background-clip: @argument;
|
155 |
+
background-clip: @argument;
|
156 |
+
}
|
lib/Elefunds/Template/Shop/Helper/RequestHelper.php
ADDED
@@ -0,0 +1,149 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Helper for request verification.
|
42 |
+
*
|
43 |
+
* @package elefunds API PHP Library
|
44 |
+
* @subpackage Template\Shop
|
45 |
+
* @author Christian Peters <christian@elefunds.de>
|
46 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
47 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
48 |
+
* @link http://www.elefunds.de
|
49 |
+
* @since File available since Release 1.2.1
|
50 |
+
*/
|
51 |
+
|
52 |
+
class Elefunds_Template_Shop_Helper_RequestHelper {
|
53 |
+
|
54 |
+
protected $request;
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Accepts the request as array.
|
58 |
+
*
|
59 |
+
* @param array $request
|
60 |
+
*/
|
61 |
+
public function __construct(array $request = array()) {
|
62 |
+
$this->request = $request;
|
63 |
+
}
|
64 |
+
|
65 |
+
public function setRequest(array $request) {
|
66 |
+
$this->request = $request;
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Checks if the given request contains the basic information for the elefunds module and checks
|
71 |
+
* if the module is active. The module is active and valid if the following parameters are set:
|
72 |
+
*
|
73 |
+
* elefunds_agree: if the module is checked
|
74 |
+
* elefunds_donation_cent: the donation amount in cent
|
75 |
+
* elefunds_receivers[]: list of receivers the donation goes to
|
76 |
+
* elefunds_receivers: alternative - comma separated list of receivers as a string (in case the value is read from a hidden field)
|
77 |
+
*
|
78 |
+
* @return bool
|
79 |
+
*/
|
80 |
+
public function isActiveAndValid() {
|
81 |
+
|
82 |
+
$agreedToElefunds = isset($this->request['elefunds_agree']) && $this->request['elefunds_agree'] !== 'false';
|
83 |
+
$hasDonation = isset($this->request['elefunds_donation_cent']) && ctype_digit($this->request['elefunds_donation_cent']) && $this->request['elefunds_donation_cent'] > 0;
|
84 |
+
$hasValidReceivers = FALSE;
|
85 |
+
|
86 |
+
if (isset($this->request['elefunds_receivers'])) {
|
87 |
+
if (is_array($this->request['elefunds_receivers'])) {
|
88 |
+
$hasValidReceivers = count($this->request['elefunds_receivers']) > 0;
|
89 |
+
} else {
|
90 |
+
$hasValidReceivers = $this->request['elefunds_receivers'] !== '';
|
91 |
+
}
|
92 |
+
}
|
93 |
+
|
94 |
+
return $agreedToElefunds && $hasDonation && $hasValidReceivers;
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Returns the roundup of the request.
|
99 |
+
*
|
100 |
+
* @return int
|
101 |
+
*/
|
102 |
+
public function getRoundUp() {
|
103 |
+
return (int)$this->request['elefunds_donation_cent'];
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* Returns the roundup as float.
|
108 |
+
*
|
109 |
+
* @return float
|
110 |
+
*/
|
111 |
+
public function getRoundUpAsFloat() {
|
112 |
+
return number_format($this->getRoundUp() / 100, 2);
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Returns the receivers id's of the request, mapped to int.
|
117 |
+
*
|
118 |
+
* @return array
|
119 |
+
*/
|
120 |
+
public function getReceiverIds() {
|
121 |
+
if (is_array($this->request['elefunds_receivers'])) {
|
122 |
+
return array_map(function($x) { return (int)$x; }, $this->request['elefunds_receivers']);
|
123 |
+
} else {
|
124 |
+
return array_map(function($x) { return (int)$x; }, explode(',', $this->request['elefunds_receivers']));
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Returns the suggested roundup in Cent as integer.
|
130 |
+
*
|
131 |
+
* @return int
|
132 |
+
*/
|
133 |
+
public function getSuggestedRoundUp() {
|
134 |
+
if (isset($this->request['elefunds_suggested_round_up_cent']) && ctype_digit($this->request['elefunds_suggested_round_up_cent'])) {
|
135 |
+
return (int)$this->request['elefunds_suggested_round_up_cent'];
|
136 |
+
}
|
137 |
+
return 0;
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Returns true if the customer requested a donation receipt.
|
142 |
+
*
|
143 |
+
* @return bool
|
144 |
+
*/
|
145 |
+
public function isDonationReceiptRequested() {
|
146 |
+
return isset($this->request['elefunds_receipt']) && $this->request['elefunds_receipt'] !== 'false';
|
147 |
+
}
|
148 |
+
|
149 |
+
}
|
lib/Elefunds/Template/Shop/Hooks/ShopHooks.php
ADDED
@@ -0,0 +1,307 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
/**
|
41 |
+
* Hooks for the shop template.
|
42 |
+
*
|
43 |
+
* @package elefunds API PHP Library
|
44 |
+
* @subpackage Template\Shop
|
45 |
+
* @author Christian Peters <christian@elefunds.de>
|
46 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
47 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
48 |
+
* @link http://www.elefunds.de
|
49 |
+
* @since File available since Release 1.0.0
|
50 |
+
*/
|
51 |
+
class Elefunds_Template_Shop_Hooks_ShopHooks {
|
52 |
+
|
53 |
+
private static $foreignId;
|
54 |
+
private static $receiverIds;
|
55 |
+
|
56 |
+
/**
|
57 |
+
* Calculates the suggested roundup to be displayed in the shop.
|
58 |
+
*
|
59 |
+
* @param Elefunds_View_ViewInterface $view
|
60 |
+
* @param int $total in the smallest unit of currency
|
61 |
+
* @return void
|
62 |
+
*/
|
63 |
+
public static function calculateRoundup(Elefunds_View_ViewInterface $view, $total) {
|
64 |
+
|
65 |
+
//Convert to float
|
66 |
+
$total = round(($total / 100), 2);
|
67 |
+
|
68 |
+
//Checkout total price tiers
|
69 |
+
$tiers = array(16, 100, 1000, 999999);
|
70 |
+
|
71 |
+
//Percentage of checkout total
|
72 |
+
$percent = array(0.10, 0.06, 0.04, 0.03);
|
73 |
+
|
74 |
+
//Round to the nearest "round sum"
|
75 |
+
$roundup = array(2, 5, 10, 20);
|
76 |
+
|
77 |
+
//Default tier
|
78 |
+
$tier = count($tiers)-1;
|
79 |
+
|
80 |
+
//Determine checkout price tier
|
81 |
+
foreach($tiers as $key => $value) {
|
82 |
+
if ($total < $value) {
|
83 |
+
$tier = $key;
|
84 |
+
break;
|
85 |
+
}
|
86 |
+
}
|
87 |
+
|
88 |
+
//Percentage of the checkout total...
|
89 |
+
$donationSuggestion = $total * $percent[$tier];
|
90 |
+
|
91 |
+
//Round up total sum, rounded to the nearest $roundup...
|
92 |
+
$roundTotal = ceil(($total + $donationSuggestion) / $roundup[$tier]) * $roundup[$tier];
|
93 |
+
|
94 |
+
//Donation suggestion is the difference between the round total and the checkout total
|
95 |
+
$donationSuggestion = $roundTotal - $total;
|
96 |
+
|
97 |
+
//In case the suggestion is higher than the nearest $roundup, we subtract the nearest $roundup
|
98 |
+
//and adjust the $roundTotal
|
99 |
+
|
100 |
+
if ($donationSuggestion > $roundup[$tier] && $tier < count($tiers)-2) {
|
101 |
+
$donationSuggestion -= $roundup[$tier];
|
102 |
+
}
|
103 |
+
|
104 |
+
//Round the donationSuggestion to eliminate float bugs
|
105 |
+
|
106 |
+
$assigns = $view->getAssignments();
|
107 |
+
$suggestedDonationAmount = round($donationSuggestion, 2);
|
108 |
+
$donationAmountString = number_format($suggestedDonationAmount, 2, $assigns['currencyDelimiter'], '');
|
109 |
+
$roundedSum = number_format(($suggestedDonationAmount + $total), 2, $assigns['currencyDelimiter'], '');
|
110 |
+
|
111 |
+
$view->assign('suggestedDonationAmountCent', $suggestedDonationAmount * 100);
|
112 |
+
$view->assign('suggestedDonationAmount', $donationAmountString);
|
113 |
+
$view->assign('roundedSum', $roundedSum);
|
114 |
+
$view->assign('currencyDelimiter', $assigns['currencyDelimiter']);
|
115 |
+
|
116 |
+
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
* Calculates number of providers displayed and their sizes
|
120 |
+
*
|
121 |
+
* @param Elefunds_View_ViewInterface $view
|
122 |
+
* @param int $width
|
123 |
+
* @return void
|
124 |
+
*/
|
125 |
+
public static function calculatePadding(Elefunds_View_ViewInterface $view, $width) {
|
126 |
+
|
127 |
+
if ($width < 632) {
|
128 |
+
$width = 632;
|
129 |
+
}
|
130 |
+
|
131 |
+
$width = $width - 2;
|
132 |
+
|
133 |
+
// Max number of receivers that can be displayed
|
134 |
+
$receiversCount = (int) floor($width / 210);
|
135 |
+
|
136 |
+
// Adjust receivers & override assignments
|
137 |
+
$assigns = $view->getAssignments();
|
138 |
+
|
139 |
+
// If we have less receivers assigned than space available, reduce the count
|
140 |
+
if (count($assigns['receivers']) < $receiversCount) {
|
141 |
+
$receiversCount = count($assigns['receivers']);
|
142 |
+
}
|
143 |
+
|
144 |
+
$receivers = array_slice($assigns['receivers'], 0, $receiversCount);
|
145 |
+
$view->assign('receivers', $receivers);
|
146 |
+
|
147 |
+
if ($width % 210 == 0) {
|
148 |
+
$paddingLeft = 8;
|
149 |
+
} else {
|
150 |
+
$paddingLeft = 9;
|
151 |
+
}
|
152 |
+
|
153 |
+
$paddingRight = 0;
|
154 |
+
|
155 |
+
//subtract the borders between the buttons
|
156 |
+
$padding = $width - ($receiversCount - 1);
|
157 |
+
|
158 |
+
//subtract image width
|
159 |
+
$padding = $padding - (166 * $receiversCount);
|
160 |
+
|
161 |
+
//subtract min padding
|
162 |
+
$padding = $padding - ($receiversCount * ($paddingLeft + $paddingRight));
|
163 |
+
|
164 |
+
$paddingEach = $padding / $receiversCount;
|
165 |
+
|
166 |
+
$mod = $padding % $receiversCount;
|
167 |
+
|
168 |
+
if ($mod == 0) {
|
169 |
+
$paddingEach = intval($paddingEach);
|
170 |
+
$bonus = 0;
|
171 |
+
} elseif ($mod == 1) {
|
172 |
+
$paddingEach = floor($paddingEach);
|
173 |
+
$bonus = 1;
|
174 |
+
} else {
|
175 |
+
$paddingEach = ceil($paddingEach);
|
176 |
+
$bonus = $mod - $receiversCount;
|
177 |
+
}
|
178 |
+
|
179 |
+
//Padding of the receivers buttons
|
180 |
+
$paddingLeft = $paddingLeft + ceil($paddingEach / 2);
|
181 |
+
$paddingRight = $paddingRight + floor($paddingEach / 2);
|
182 |
+
|
183 |
+
//Padding of the last receiver buttons
|
184 |
+
$paddingLeftLast = $paddingLeft + floor($bonus / 2);
|
185 |
+
$paddingRightLast = $paddingRight + ceil($bonus / 2);
|
186 |
+
|
187 |
+
$view->assignMultiple(
|
188 |
+
array(
|
189 |
+
'paddingLeft' => $paddingLeft . 'px',
|
190 |
+
'paddingRight' => $paddingRight . 'px',
|
191 |
+
'paddingLeftLast' => $paddingLeftLast . 'px',
|
192 |
+
'paddingRightLast' => $paddingRightLast . 'px',
|
193 |
+
)
|
194 |
+
);
|
195 |
+
|
196 |
+
$view->assign('actualShopWidth', $width);
|
197 |
+
}
|
198 |
+
|
199 |
+
/**
|
200 |
+
* Chooses the correct CSS to load in the view based on the theme and color defined in $skin
|
201 |
+
*
|
202 |
+
* @param Elefunds_View_ViewInterface $view
|
203 |
+
* @param array $skin
|
204 |
+
*/
|
205 |
+
public static function chooseCssFile(Elefunds_View_ViewInterface $view, array $skin) {
|
206 |
+
|
207 |
+
$default_theme = 'light';
|
208 |
+
$default_color = 'orange';
|
209 |
+
|
210 |
+
if(!isset($skin['theme']) || !isset($skin['color'])) {
|
211 |
+
$theme = $default_theme;
|
212 |
+
$color = $default_color;
|
213 |
+
} else {
|
214 |
+
$theme = $skin['theme'];
|
215 |
+
$color = $skin['color'];
|
216 |
+
}
|
217 |
+
|
218 |
+
//Set theme & color to use in the view
|
219 |
+
$view->assign('theme', $theme);
|
220 |
+
$view->assign('color', $color);
|
221 |
+
|
222 |
+
//Reset the css array in case assign('skin') has already been invoked
|
223 |
+
$view->flushCssFiles();
|
224 |
+
$view->addCssFile('elefunds_' . $theme . '_' . $color . '.min.css');
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* Forwards the handling to the assignShares method if foreignId is already set. If not,
|
229 |
+
* it just assigns the receiverIds to a private property. The action will then be invoked
|
230 |
+
* once the foreignId is added.
|
231 |
+
*
|
232 |
+
* Invokes as well calculateReceiversText.
|
233 |
+
*
|
234 |
+
* @param Elefunds_View_ViewInterface $view
|
235 |
+
* @param array $receivers
|
236 |
+
*/
|
237 |
+
public static function onReceiversAdded(Elefunds_View_ViewInterface $view, array $receivers) {
|
238 |
+
self::$receiverIds = array_keys($receivers);
|
239 |
+
|
240 |
+
if (self::$foreignId !== NULL) {
|
241 |
+
self::assignShares($view);
|
242 |
+
}
|
243 |
+
}
|
244 |
+
|
245 |
+
/**
|
246 |
+
* Forwards the handling to the assignShares method if receiverIds are already set. If not,
|
247 |
+
* it just assigns the foreignId to a private property. The action will then be invoked
|
248 |
+
* once receivers are added.
|
249 |
+
*
|
250 |
+
* @param Elefunds_View_ViewInterface $view
|
251 |
+
* @param $foreignId
|
252 |
+
*/
|
253 |
+
public static function onForeignIdAdded(Elefunds_View_ViewInterface $view, $foreignId) {
|
254 |
+
self::$foreignId = $foreignId;
|
255 |
+
|
256 |
+
if (self::$receiverIds !== NULL) {
|
257 |
+
self::assignShares($view);
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
+
/**
|
262 |
+
* Assigns shares to the success page!
|
263 |
+
*
|
264 |
+
* @param Elefunds_View_ViewInterface $view
|
265 |
+
*
|
266 |
+
* @throws InvalidArgumentException
|
267 |
+
*
|
268 |
+
* @return void
|
269 |
+
*/
|
270 |
+
private static function assignShares(Elefunds_View_ViewInterface $view) {
|
271 |
+
|
272 |
+
$assigns = $view->getAssignments();
|
273 |
+
|
274 |
+
// No services are configured, hence we skip this.
|
275 |
+
if (!isset($assigns['shareServices'])) {
|
276 |
+
return;
|
277 |
+
}
|
278 |
+
|
279 |
+
$services = $assigns['shareServices'];
|
280 |
+
$baseUrl = 'https://share.elefunds.de/on/%s/%d/%d/%s/%s';
|
281 |
+
$receivers = implode(',', self::$receiverIds);
|
282 |
+
$clientId = $assigns['clientId'];
|
283 |
+
$hashedKey = $assigns['hashedKey'];
|
284 |
+
$checksum = sha1($clientId . self::$foreignId . $receivers . $hashedKey);
|
285 |
+
|
286 |
+
$shares = array();
|
287 |
+
$availableShareServices = $assigns['availableShareServices'];
|
288 |
+
|
289 |
+
foreach($services as $service) {
|
290 |
+
|
291 |
+
if (!array_key_exists($service, $availableShareServices)) {
|
292 |
+
throw new InvalidArgumentException('Service must be one of the following: ' . implode(', ', $availableShareServices));
|
293 |
+
}
|
294 |
+
$serviceObj = new stdClass();
|
295 |
+
$serviceObj->url = sprintf($baseUrl, $service, $clientId, self::$foreignId, $receivers, $checksum);
|
296 |
+
$serviceObj->imageUrl = $availableShareServices[$service]['image'];
|
297 |
+
$serviceObj->width = $availableShareServices[$service]['width'];
|
298 |
+
$serviceObj->height = $availableShareServices[$service]['height'];
|
299 |
+
$serviceObj->title = $availableShareServices[$service]['title'];
|
300 |
+
$shares[] = $serviceObj;
|
301 |
+
}
|
302 |
+
$view->assign('shares', $shares);
|
303 |
+
|
304 |
+
}
|
305 |
+
|
306 |
+
|
307 |
+
}
|
lib/Elefunds/Template/Shop/Images/elefunds_item_main.png
ADDED
Binary file
|
lib/Elefunds/Template/Shop/Images/elefunds_item_small.png
ADDED
Binary file
|
lib/Elefunds/Template/Shop/Images/elefunds_item_thumbnail.png
ADDED
Binary file
|
lib/Elefunds/Template/Shop/Javascript/elefunds.jquery.js
ADDED
@@ -0,0 +1,227 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
var elefunds = (function(parent, $) {
|
2 |
+
|
3 |
+
var roundSumContainer, roundSum, currency, decimal, decimalAlt, total, toolTipPosition;
|
4 |
+
var enabled = false;
|
5 |
+
|
6 |
+
function init(options) {
|
7 |
+
roundSumContainer = options.roundSumContainer;
|
8 |
+
roundSum = options.roundSum;
|
9 |
+
currency = options.currency;
|
10 |
+
decimal = options.decimal;
|
11 |
+
decimalAlt = options.deciamlAlt;
|
12 |
+
total = options.total;
|
13 |
+
toolTipPosition = options.toolTipPosition;
|
14 |
+
|
15 |
+
$('#elefunds').data('elefunds-roundSum', convertToFloat(total + parseInt($('#elefunds_donation_cent').val(), 10)));
|
16 |
+
$('#elefunds').data('elefunds-donation', {donationCent: parseInt($('#elefunds_donation_cent').val(), 10), donationFloat: convertToFloat(parseInt($('#elefunds_donation_cent').val(), 10))});
|
17 |
+
|
18 |
+
function enable() {
|
19 |
+
$('#elefunds_checkbox').prop('checked', true);
|
20 |
+
$("#elefunds_input").addClass('elefunds_input_active');
|
21 |
+
roundSumContainer.slideDown();
|
22 |
+
|
23 |
+
$('#elefunds').trigger('elefunds_enabled');
|
24 |
+
enabled = true;
|
25 |
+
}
|
26 |
+
|
27 |
+
function disable() {
|
28 |
+
$('#elefunds_checkbox').prop('checked', false);
|
29 |
+
$('#elefunds_input').removeClass('elefunds_input_active');
|
30 |
+
roundSumContainer.slideUp();
|
31 |
+
|
32 |
+
$('#elefunds').trigger('elefunds_disabled');
|
33 |
+
enabled = false;
|
34 |
+
}
|
35 |
+
|
36 |
+
// Change button backgrounds when (un)selected
|
37 |
+
$('.elefunds_receiver > input').on('change', function() {
|
38 |
+
//If all are unchecked
|
39 |
+
if($('#elefunds_bottom').find('input[type="checkbox"]:checked').length == 0) {
|
40 |
+
disable();
|
41 |
+
} else if(!enabled) {
|
42 |
+
enable();
|
43 |
+
}
|
44 |
+
|
45 |
+
$(this).parent().toggleClass('elefunds_receiver_selected');
|
46 |
+
});
|
47 |
+
|
48 |
+
// When the plugin is (de)activated
|
49 |
+
$('#elefunds_checkbox').on('change', function() {
|
50 |
+
if($('#elefunds_checkbox').prop('checked') && $('#elefunds_bottom').find('input[type="checkbox"]:checked').length == 0) {
|
51 |
+
$('#elefunds_bottom').find('input[type="checkbox"]').prop('checked', true);
|
52 |
+
$('#elefunds_bottom').find('input[type="checkbox"]').parent().toggleClass('elefunds_receiver_selected');
|
53 |
+
}
|
54 |
+
|
55 |
+
if(!$('#elefunds_checkbox:checked').length) {
|
56 |
+
roundSumContainer.slideUp();
|
57 |
+
$('#elefunds').trigger('elefunds_disabled');
|
58 |
+
enabled = false;
|
59 |
+
|
60 |
+
} else {
|
61 |
+
if ($('#elefunds_checkbox:checked').length) {
|
62 |
+
roundSumContainer.slideDown();
|
63 |
+
|
64 |
+
//Store data
|
65 |
+
var centValue = parseInt($('#elefunds_donation_cent').val(), 10);
|
66 |
+
$('#elefunds').data('elefunds-donation', {donationCent: centValue, donationFloat: convertToFloat(centValue)});
|
67 |
+
|
68 |
+
$('#elefunds').trigger('elefunds_enabled');
|
69 |
+
enabled = true;
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
$('#elefunds_input').toggleClass('elefunds_input_active');
|
74 |
+
});
|
75 |
+
|
76 |
+
$('#elefunds_input').keyup(function(e){
|
77 |
+
if(e.which == 13) e.preventDefault();
|
78 |
+
});
|
79 |
+
|
80 |
+
// Enable tooltips
|
81 |
+
$('.tiptip').tipTip({
|
82 |
+
defaultPosition: toolTipPosition || 'top',
|
83 |
+
edgeOffset: -12,
|
84 |
+
delay: 200
|
85 |
+
});
|
86 |
+
} //END INIT
|
87 |
+
|
88 |
+
//Check if elefunds has already been created in the view
|
89 |
+
(function() {
|
90 |
+
if(parent.hasOwnProperty('options')) {
|
91 |
+
init(parent.options);
|
92 |
+
}
|
93 |
+
})();
|
94 |
+
|
95 |
+
function convertToCent(floatValue) {
|
96 |
+
var centValue;
|
97 |
+
var centArray;
|
98 |
+
|
99 |
+
if(floatValue.indexOf(decimal) !== -1) {
|
100 |
+
centArray = floatValue.split(decimal,2);
|
101 |
+
} else if(floatValue.indexOf(decimalAlt) !== -1) {
|
102 |
+
centArray = floatValue.split(decimalAlt,2);
|
103 |
+
} else {
|
104 |
+
centArray = [floatValue, 0];
|
105 |
+
}
|
106 |
+
|
107 |
+
if(centArray[1].length > 2) {
|
108 |
+
centArray[1] = centArray[1].substr(0,2);
|
109 |
+
}
|
110 |
+
|
111 |
+
while(centArray[1].length < 2) {
|
112 |
+
centArray[1] += '0';
|
113 |
+
}
|
114 |
+
|
115 |
+
if(centArray[0].length < 1) {
|
116 |
+
centArray[0] = 0;
|
117 |
+
}
|
118 |
+
|
119 |
+
centValue = parseInt(centArray[0], 10)*100 + parseInt(centArray[1], 10);
|
120 |
+
|
121 |
+
// Check for valid value
|
122 |
+
if(isNaN(centValue) || centValue < 0) {
|
123 |
+
centValue = 0;
|
124 |
+
}
|
125 |
+
|
126 |
+
return centValue;
|
127 |
+
}
|
128 |
+
|
129 |
+
// Convert cent value to float currency equivalent
|
130 |
+
function convertToFloat(centValue) {
|
131 |
+
var floatValue;
|
132 |
+
|
133 |
+
if(centValue < 10) {
|
134 |
+
floatValue = '0' + decimal + '0' + centValue;
|
135 |
+
} else if(centValue < 100) {
|
136 |
+
floatValue = '0' + decimal + centValue;
|
137 |
+
} else {
|
138 |
+
centValue = centValue.toString();
|
139 |
+
floatValue = centValue.slice(0, -2) + decimal + centValue.slice(-2);
|
140 |
+
}
|
141 |
+
|
142 |
+
return floatValue;
|
143 |
+
}
|
144 |
+
|
145 |
+
// Update the donation input field
|
146 |
+
function updateDonation(centValue) {
|
147 |
+
var floatValue = convertToFloat(centValue);
|
148 |
+
$('#elefunds_input').val(floatValue);
|
149 |
+
|
150 |
+
render(centValue);
|
151 |
+
|
152 |
+
if(enabled) {
|
153 |
+
$('#elefunds').trigger('elefunds_donationChange');
|
154 |
+
}
|
155 |
+
}
|
156 |
+
|
157 |
+
function render(centValue) {
|
158 |
+
// Update the hidden donation input field
|
159 |
+
// containing the value of the donation in cents
|
160 |
+
$('#elefunds_donation_cent').val(centValue);
|
161 |
+
|
162 |
+
// Store data
|
163 |
+
$('#elefunds').data('elefunds-roundSum', convertToFloat(total + centValue));
|
164 |
+
$('#elefunds').data('elefunds-donation', {donationCent: centValue, donationFloat: convertToFloat(centValue)});
|
165 |
+
|
166 |
+
//Update round sum
|
167 |
+
if(roundSum) {
|
168 |
+
roundSum.html(convertToFloat(total + centValue));
|
169 |
+
}
|
170 |
+
}
|
171 |
+
|
172 |
+
return {
|
173 |
+
|
174 |
+
init: function(options) {
|
175 |
+
init(options);
|
176 |
+
},
|
177 |
+
|
178 |
+
// Decrease the donation sum by 1.00
|
179 |
+
decreaseDonation: function() {
|
180 |
+
var centValue = parseInt($('#elefunds_donation_cent').val(), 10);
|
181 |
+
|
182 |
+
if(centValue > 100) {
|
183 |
+
centValue = centValue - 100;
|
184 |
+
updateDonation(centValue);
|
185 |
+
}
|
186 |
+
|
187 |
+
return centValue;
|
188 |
+
},
|
189 |
+
|
190 |
+
// Increase the donation sum by 1.00
|
191 |
+
increaseDonation: function() {
|
192 |
+
var centValue = parseInt($('#elefunds_donation_cent').val(), 10);
|
193 |
+
|
194 |
+
centValue = parseInt(centValue, 10) + 100;
|
195 |
+
|
196 |
+
updateDonation(centValue);
|
197 |
+
return centValue;
|
198 |
+
},
|
199 |
+
|
200 |
+
// Update the hidden field with the current donation value
|
201 |
+
donationChange: function(floatValue) {
|
202 |
+
var centValue = convertToCent(floatValue);
|
203 |
+
render(centValue);
|
204 |
+
|
205 |
+
var timeHandler = $('#elefunds').data('elefunds-timer');
|
206 |
+
var now = (new Date()).getTime();
|
207 |
+
var delay = 800;
|
208 |
+
|
209 |
+
if (typeof(timeHandler) !== 'undefined' && timeHandler !== null) {
|
210 |
+
if(now - timeHandler.time < delay) {
|
211 |
+
clearTimeout(timeHandler.timer);
|
212 |
+
}
|
213 |
+
}
|
214 |
+
|
215 |
+
if(enabled) {
|
216 |
+
var timer = setTimeout(function() {
|
217 |
+
$('#elefunds').trigger('elefunds_donationChange');
|
218 |
+
}, delay);
|
219 |
+
|
220 |
+
$('#elefunds').data('elefunds-timer', {timer: timer, time: (new Date()).getTime()});
|
221 |
+
}
|
222 |
+
|
223 |
+
return centValue;
|
224 |
+
}
|
225 |
+
|
226 |
+
};
|
227 |
+
}(elefunds || {}, jQuery));
|
lib/Elefunds/Template/Shop/Javascript/elefunds.jquery.min.js
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
(function(e){e.fn.tipTip=function(t){var n={activation:"hover",keepAlive:!1,maxWidth:"auto",edgeOffset:2,defaultPosition:"top",delay:50,fadeIn:50,fadeOut:100,attribute:"title",attribute2:"desc",content:"",enter:function(){},exit:function(){}},r=e.extend(n,t),i,s,o,u;if(e("#tiptip_holder").length<=0){i=e('<div id="tiptip_holder" style="max-width:'+r.maxWidth+';"></div>');s=e('<div id="tiptip_content"></div>');o=e('<div id="tiptip_inner"></div>');u=e('<div id="tiptip_arrow"></div>');e("body").append(i.html(s).prepend(u.html('<div id="tiptip_arrow_inner"></div>')))}else{i=e("#tiptip_holder");s=e("#tiptip_content");o=e("#tiptip_inner");u=e("#tiptip_arrow")}return this.each(function(){var t=e(this),n,a,f;if(t.attr(r.attribute)){n=t.attr(r.attribute);a=t.attr(r.attribute2)}else{n=r.title;a=r.content}if(n!==""){if(!r.content){t.removeAttr(r.attribute);t.removeAttr(r.attribute2)}f=!1;if(r.activation==="hover"){t.hover(function(){l()},function(){r.keepAlive||c()});r.keepAlive&&i.hover(function(){},function(){c()})}else if(r.activation==="focus")t.focus(function(){l()}).blur(function(){c()});else if(r.activation==="click"){t.click(function(){l();return!1}).hover(function(){},function(){r.keepAlive||c()});r.keepAlive&&i.hover(function(){},function(){c()})}function l(){r.enter.call(this);s.html('<h3 id="tiptip_title">'+n+"</h3>");o.html(a);s.append(o);i.hide().removeAttr("class").css("margin","0");u.removeAttr("style");var l=parseInt(t.offset().top);t.attr("id")==="elefunds_logo"&&(l-=8);var c=parseInt(t.offset().left),h=parseInt(t.width()),p=parseInt(t.height()),d=i.width(),v=i.height(),m=Math.round((h-d)/2),g=Math.round((p-v)/2),y=Math.round(c+m),b=Math.round(l+p+r.edgeOffset),w="",E="",S=Math.round(d-12)/2;r.defaultPosition==="bottom"?w="_bottom":r.defaultPosition==="top"?w="_top":r.defaultPosition==="left"?w="_left":r.defaultPosition==="right"&&(w="_right");var x=m+c<parseInt(e(window).scrollLeft()),T=d+c>parseInt(e(window).width());if(x&&m<0||w=="_right"&&!T||w=="_left"&&c<d+r.edgeOffset+5){w="_right";E=Math.round(v-13)/2;S=-12;y=Math.round(c+h+r.edgeOffset);b=Math.round(l+g)}else if(T&&m<0||w=="_left"&&!x){w="_left";E=Math.round(v-13)/2;S=Math.round(d);y=Math.round(c-(d+r.edgeOffset+5));b=Math.round(l+g)}var N=l+p+r.edgeOffset+v+8>parseInt(e(window).height()+e(window).scrollTop()),C=l+p-(r.edgeOffset+v+8)<0;if(N||w=="_bottom"&&N||w=="_top"&&!C){w=="_top"||w=="_bottom"?w="_top":w+="_top";E=v;b=Math.round(l-(v+5+r.edgeOffset))}else if(C|(w=="_top"&&C)||w=="_bottom"&&!N){w=="_top"||w=="_bottom"?w="_bottom":w+="_bottom";E=-12;b=Math.round(l+p+r.edgeOffset)}u.css({"margin-left":S+"px","margin-top":E+"px"});i.css({"margin-left":y+"px","margin-top":b+"px"}).attr("class","tip"+w);f&&clearTimeout(f);f=setTimeout(function(){i.stop(!0,!0).fadeIn(r.fadeIn)},r.delay)}function c(){r.exit.call(this);f&&clearTimeout(f);i.fadeOut(r.fadeOut)}}})}})(window.jQuery);var elefunds=function(e,t){function l(e){function l(){t("#elefunds_checkbox").prop("checked",!0);t("#elefunds_input").addClass("elefunds_input_active");n.slideDown();t("#elefunds").trigger("elefunds_enabled");f=!0}function c(){t("#elefunds_checkbox").prop("checked",!1);t("#elefunds_input").removeClass("elefunds_input_active");n.slideUp();t("#elefunds").trigger("elefunds_disabled");f=!1}n=e.roundSumContainer;r=e.roundSum;i=e.currency;s=e.decimal;o=e.deciamlAlt;u=e.total;a=e.toolTipPosition;t("#elefunds").data("elefunds-roundSum",h(u+parseInt(t("#elefunds_donation_cent").val(),10)));t("#elefunds").data("elefunds-donation",{donationCent:parseInt(t("#elefunds_donation_cent").val(),10),donationFloat:h(parseInt(t("#elefunds_donation_cent").val(),10))});t(".elefunds_receiver > input").on("change",function(){t("#elefunds_bottom").find('input[type="checkbox"]:checked').length==0?c():f||l();t(this).parent().toggleClass("elefunds_receiver_selected")});t("#elefunds_checkbox").on("change",function(){if(t("#elefunds_checkbox").prop("checked")&&t("#elefunds_bottom").find('input[type="checkbox"]:checked').length==0){t("#elefunds_bottom").find('input[type="checkbox"]').prop("checked",!0);t("#elefunds_bottom").find('input[type="checkbox"]').parent().toggleClass("elefunds_receiver_selected")}if(!t("#elefunds_checkbox:checked").length){n.slideUp();t("#elefunds").trigger("elefunds_disabled");f=!1}else if(t("#elefunds_checkbox:checked").length){n.slideDown();var e=parseInt(t("#elefunds_donation_cent").val(),10);t("#elefunds").data("elefunds-donation",{donationCent:e,donationFloat:h(e)});t("#elefunds").trigger("elefunds_enabled");f=!0}t("#elefunds_input").toggleClass("elefunds_input_active")});t("#elefunds_input").keyup(function(e){e.which==13&&e.preventDefault()});t(".tiptip").tipTip({defaultPosition:a||"top",edgeOffset:-12,delay:200})}function c(e){var t,n;e.indexOf(s)!==-1?n=e.split(s,2):e.indexOf(o)!==-1?n=e.split(o,2):n=[e,0];n[1].length>2&&(n[1]=n[1].substr(0,2));while(n[1].length<2)n[1]+="0";n[0].length<1&&(n[0]=0);t=parseInt(n[0],10)*100+parseInt(n[1],10);if(isNaN(t)||t<0)t=0;return t}function h(e){var t;if(e<10)t="0"+s+"0"+e;else if(e<100)t="0"+s+e;else{e=e.toString();t=e.slice(0,-2)+s+e.slice(-2)}return t}function p(e){var n=h(e);t("#elefunds_input").val(n);d(e);f&&t("#elefunds").trigger("elefunds_donationChange")}function d(e){t("#elefunds_donation_cent").val(e);t("#elefunds").data("elefunds-roundSum",h(u+e));t("#elefunds").data("elefunds-donation",{donationCent:e,donationFloat:h(e)});r&&r.html(h(u+e))}var n,r,i,s,o,u,a,f=!1;(function(){e.hasOwnProperty("options")&&l(e.options)})();return{init:function(e){l(e)},decreaseDonation:function(){var e=parseInt(t("#elefunds_donation_cent").val(),10);if(e>100){e-=100;p(e)}return e},increaseDonation:function(){var e=parseInt(t("#elefunds_donation_cent").val(),10);e=parseInt(e,10)+100;p(e);return e},donationChange:function(e){var n=c(e);d(n);var r=t("#elefunds").data("elefunds-timer"),i=(new Date).getTime(),s=800;typeof r!="undefined"&&r!==null&&i-r.time<s&&clearTimeout(r.timer);if(f){var o=setTimeout(function(){t("#elefunds").trigger("elefunds_donationChange")},s);t("#elefunds").data("elefunds-timer",{timer:o,time:(new Date).getTime()})}return n}}}(elefunds||{},jQuery);
|
lib/Elefunds/Template/Shop/Javascript/elefundsTT.jquery.js
ADDED
@@ -0,0 +1,211 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*
|
2 |
+
* TipTip
|
3 |
+
* Copyright 2010 Drew Wilson
|
4 |
+
* www.drewwilson.com
|
5 |
+
* code.drewwilson.com/entry/tiptip-jquery-plugin
|
6 |
+
*
|
7 |
+
* Version 1.3 - Updated: Mar. 23, 2010
|
8 |
+
*
|
9 |
+
* This Plug-In will create a custom tooltip to replace the default
|
10 |
+
* browser tooltip. It is extremely lightweight and very smart in
|
11 |
+
* that it detects the edges of the browser window and will make sure
|
12 |
+
* the tooltip stays within the current window size. As a result the
|
13 |
+
* tooltip will adjust itself to be displayed above, below, to the left
|
14 |
+
* or to the right depending on what is necessary to stay within the
|
15 |
+
* browser window. It is completely customizable as well via CSS.
|
16 |
+
*
|
17 |
+
* This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
|
18 |
+
* http://www.opensource.org/licenses/mit-license.php
|
19 |
+
* http://www.gnu.org/licenses/gpl.html
|
20 |
+
*/
|
21 |
+
|
22 |
+
(function ($) {
|
23 |
+
$.fn.tipTip = function (options) {
|
24 |
+
var defaults = {
|
25 |
+
activation: "hover",
|
26 |
+
keepAlive: false,
|
27 |
+
maxWidth: "auto",
|
28 |
+
edgeOffset: 2,
|
29 |
+
defaultPosition: "top",
|
30 |
+
delay: 50,
|
31 |
+
fadeIn: 50,
|
32 |
+
fadeOut: 100,
|
33 |
+
attribute: "title",
|
34 |
+
attribute2: "desc",
|
35 |
+
content: '',
|
36 |
+
enter: function () {},
|
37 |
+
exit: function () {}
|
38 |
+
},
|
39 |
+
opts = $.extend(defaults, options),
|
40 |
+
tiptip_holder,
|
41 |
+
tiptip_content,
|
42 |
+
tiptip_inner,
|
43 |
+
tiptip_arrow;
|
44 |
+
|
45 |
+
// Setup tip tip elements and render them to the DOM
|
46 |
+
if ($("#tiptip_holder").length <= 0) {
|
47 |
+
tiptip_holder = $('<div id="tiptip_holder" style="max-width:' + opts.maxWidth + ';"></div>');
|
48 |
+
tiptip_content = $('<div id="tiptip_content"></div>');
|
49 |
+
tiptip_inner = $('<div id="tiptip_inner"></div>');
|
50 |
+
tiptip_arrow = $('<div id="tiptip_arrow"></div>');
|
51 |
+
$("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')));
|
52 |
+
} else {
|
53 |
+
tiptip_holder = $('#tiptip_holder');
|
54 |
+
tiptip_content = $('#tiptip_content');
|
55 |
+
tiptip_inner = $('#tiptip_inner');
|
56 |
+
tiptip_arrow = $("#tiptip_arrow");
|
57 |
+
}
|
58 |
+
|
59 |
+
return this.each(function () {
|
60 |
+
var org_elem = $(this),
|
61 |
+
org_title,
|
62 |
+
org_desc,
|
63 |
+
timeout;
|
64 |
+
|
65 |
+
if (org_elem.attr(opts.attribute)) {
|
66 |
+
org_title = org_elem.attr(opts.attribute);
|
67 |
+
org_desc = org_elem.attr(opts.attribute2);
|
68 |
+
} else {
|
69 |
+
org_title = opts.title;
|
70 |
+
org_desc = opts.content;
|
71 |
+
}
|
72 |
+
|
73 |
+
if (org_title !== "") {
|
74 |
+
if (!opts.content) {
|
75 |
+
org_elem.removeAttr(opts.attribute);
|
76 |
+
org_elem.removeAttr(opts.attribute2);
|
77 |
+
}
|
78 |
+
timeout = false;
|
79 |
+
|
80 |
+
if (opts.activation === "hover") {
|
81 |
+
org_elem.hover(function () {
|
82 |
+
active_tiptip();
|
83 |
+
}, function () {
|
84 |
+
if (!opts.keepAlive) {
|
85 |
+
deactive_tiptip();
|
86 |
+
}
|
87 |
+
});
|
88 |
+
if (opts.keepAlive) {
|
89 |
+
tiptip_holder.hover(function () {}, function () {
|
90 |
+
deactive_tiptip();
|
91 |
+
});
|
92 |
+
}
|
93 |
+
} else if (opts.activation === "focus") {
|
94 |
+
org_elem.focus(function () {
|
95 |
+
active_tiptip();
|
96 |
+
}).blur(function () {
|
97 |
+
deactive_tiptip();
|
98 |
+
});
|
99 |
+
} else if (opts.activation === "click") {
|
100 |
+
org_elem.click(function () {
|
101 |
+
active_tiptip();
|
102 |
+
return false;
|
103 |
+
}).hover(function () {}, function () {
|
104 |
+
if (!opts.keepAlive) {
|
105 |
+
deactive_tiptip();
|
106 |
+
}
|
107 |
+
});
|
108 |
+
if (opts.keepAlive) {
|
109 |
+
tiptip_holder.hover(function () {}, function () {
|
110 |
+
deactive_tiptip();
|
111 |
+
});
|
112 |
+
}
|
113 |
+
}
|
114 |
+
|
115 |
+
function active_tiptip() {
|
116 |
+
opts.enter.call(this);
|
117 |
+
|
118 |
+
tiptip_content.html('<h3 id="tiptip_title">' + org_title + '</h3>');
|
119 |
+
tiptip_inner.html(org_desc);
|
120 |
+
tiptip_content.append(tiptip_inner);
|
121 |
+
tiptip_holder.hide().removeAttr("class").css("margin", "0");
|
122 |
+
tiptip_arrow.removeAttr("style");
|
123 |
+
|
124 |
+
var top = parseInt(org_elem.offset().top);
|
125 |
+
if (org_elem.attr('id') === 'elefunds_logo') {
|
126 |
+
top -= 8;
|
127 |
+
}
|
128 |
+
|
129 |
+
var left = parseInt(org_elem.offset().left),
|
130 |
+
org_width = parseInt(org_elem.width()),
|
131 |
+
org_height = parseInt(org_elem.height()),
|
132 |
+
tip_w = tiptip_holder.width(),
|
133 |
+
tip_h = tiptip_holder.height(),
|
134 |
+
w_compare = Math.round((org_width - tip_w) / 2),
|
135 |
+
h_compare = Math.round((org_height - tip_h) / 2),
|
136 |
+
marg_left = Math.round(left + w_compare),
|
137 |
+
marg_top = Math.round(top + org_height + opts.edgeOffset),
|
138 |
+
t_class = "",
|
139 |
+
arrow_top = "",
|
140 |
+
arrow_left = Math.round(tip_w - 12) / 2;
|
141 |
+
|
142 |
+
if (opts.defaultPosition === "bottom") {
|
143 |
+
t_class = "_bottom";
|
144 |
+
} else if (opts.defaultPosition === "top") {
|
145 |
+
t_class = "_top";
|
146 |
+
} else if (opts.defaultPosition === "left") {
|
147 |
+
t_class = "_left";
|
148 |
+
} else if (opts.defaultPosition === "right") {
|
149 |
+
t_class = "_right";
|
150 |
+
}
|
151 |
+
|
152 |
+
var right_compare = (w_compare + left) < parseInt($(window).scrollLeft());
|
153 |
+
var left_compare = (tip_w + left) > parseInt($(window).width());
|
154 |
+
|
155 |
+
if((right_compare && w_compare < 0) || (t_class == "_right" && !left_compare) || (t_class == "_left" && left < (tip_w + opts.edgeOffset + 5))){
|
156 |
+
t_class = "_right";
|
157 |
+
arrow_top = Math.round(tip_h - 13) / 2;
|
158 |
+
arrow_left = -12;
|
159 |
+
marg_left = Math.round(left + org_width + opts.edgeOffset);
|
160 |
+
marg_top = Math.round(top + h_compare);
|
161 |
+
} else if((left_compare && w_compare < 0) || (t_class == "_left" && !right_compare)){
|
162 |
+
t_class = "_left";
|
163 |
+
arrow_top = Math.round(tip_h - 13) / 2;
|
164 |
+
arrow_left = Math.round(tip_w);
|
165 |
+
marg_left = Math.round(left - (tip_w + opts.edgeOffset + 5));
|
166 |
+
marg_top = Math.round(top + h_compare);
|
167 |
+
}
|
168 |
+
|
169 |
+
var top_compare = (top + org_height + opts.edgeOffset + tip_h + 8) > parseInt($(window).height() + $(window).scrollTop()),
|
170 |
+
bottom_compare = ((top + org_height) - (opts.edgeOffset + tip_h + 8)) < 0;
|
171 |
+
|
172 |
+
if(top_compare || (t_class == "_bottom" && top_compare) || (t_class == "_top" && !bottom_compare)){
|
173 |
+
if(t_class == "_top" || t_class == "_bottom"){
|
174 |
+
t_class = "_top";
|
175 |
+
} else {
|
176 |
+
t_class = t_class+"_top";
|
177 |
+
}
|
178 |
+
arrow_top = tip_h;
|
179 |
+
marg_top = Math.round(top - (tip_h + 5 + opts.edgeOffset));
|
180 |
+
} else if(bottom_compare | (t_class == "_top" && bottom_compare) || (t_class == "_bottom" && !top_compare)){
|
181 |
+
if(t_class == "_top" || t_class == "_bottom"){
|
182 |
+
t_class = "_bottom";
|
183 |
+
} else {
|
184 |
+
t_class = t_class+"_bottom";
|
185 |
+
}
|
186 |
+
arrow_top = -12;
|
187 |
+
marg_top = Math.round(top + org_height + opts.edgeOffset);
|
188 |
+
}
|
189 |
+
|
190 |
+
tiptip_arrow.css({"margin-left": arrow_left + "px", "margin-top": arrow_top + "px"});
|
191 |
+
tiptip_holder.css({"margin-left": marg_left + "px", "margin-top": marg_top + "px"}).attr("class", "tip" + t_class);
|
192 |
+
|
193 |
+
if (timeout) {
|
194 |
+
clearTimeout(timeout);
|
195 |
+
}
|
196 |
+
timeout = setTimeout(function () {
|
197 |
+
tiptip_holder.stop(true, true).fadeIn(opts.fadeIn);
|
198 |
+
}, opts.delay);
|
199 |
+
}
|
200 |
+
|
201 |
+
function deactive_tiptip() {
|
202 |
+
opts.exit.call(this);
|
203 |
+
if (timeout) {
|
204 |
+
clearTimeout(timeout);
|
205 |
+
}
|
206 |
+
tiptip_holder.fadeOut(opts.fadeOut);
|
207 |
+
}
|
208 |
+
}
|
209 |
+
});
|
210 |
+
};
|
211 |
+
})(window.jQuery);
|
lib/Elefunds/Template/Shop/ShopConfiguration.php
ADDED
@@ -0,0 +1,113 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../../Configuration/DefaultConfiguration.php';
|
41 |
+
require_once dirname(__FILE__) . '/../../View/BaseView.php';
|
42 |
+
require_once dirname(__FILE__) . '/Hooks/ShopHooks.php';
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Shop Configuration for a shop template.
|
46 |
+
*
|
47 |
+
* @package elefunds API PHP Library
|
48 |
+
* @subpackage Template\Shop
|
49 |
+
* @author Christian Peters <christian@elefunds.de>
|
50 |
+
* @copyright 2013 elefunds GmbH <hello@elefunds.de>
|
51 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
52 |
+
* @link http://www.elefunds.de
|
53 |
+
* @since File available since Release 1.2.0
|
54 |
+
*/
|
55 |
+
class Elefunds_Template_Shop_ShopConfiguration extends Elefunds_Configuration_DefaultConfiguration {
|
56 |
+
|
57 |
+
/**
|
58 |
+
* @var array
|
59 |
+
*/
|
60 |
+
protected $themes;
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @var array
|
64 |
+
*/
|
65 |
+
protected $colors;
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Assigns the receivers.
|
69 |
+
*
|
70 |
+
* @return void
|
71 |
+
*/
|
72 |
+
public function init() {
|
73 |
+
|
74 |
+
parent::init();
|
75 |
+
|
76 |
+
$this->setView(new Elefunds_View_BaseView());
|
77 |
+
$this->view->setTemplate('Shop');
|
78 |
+
|
79 |
+
//Available theme and color choices
|
80 |
+
$this->themes = array('light', 'dark');
|
81 |
+
$this->colors = array('orange', 'blue', 'green', 'purple', 'grey');
|
82 |
+
|
83 |
+
//Chose your theme and color
|
84 |
+
$theme = $this->themes[0];
|
85 |
+
$color = $this->colors[0];
|
86 |
+
|
87 |
+
$this->view->addJavascriptFile('elefunds.jquery.min.js');
|
88 |
+
|
89 |
+
$this->view->registerAssignHook('skin', 'Elefunds_Template_Shop_Hooks_ShopHooks', 'chooseCssFile');
|
90 |
+
$this->view->assign('skin',
|
91 |
+
array(
|
92 |
+
'theme' => $theme,
|
93 |
+
'color' => $color
|
94 |
+
)
|
95 |
+
);
|
96 |
+
|
97 |
+
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* @return array
|
101 |
+
*/
|
102 |
+
public function getAvailableThemes() {
|
103 |
+
return $this->themes;
|
104 |
+
}
|
105 |
+
|
106 |
+
/**
|
107 |
+
* @return array
|
108 |
+
*/
|
109 |
+
public function getAvailableColors() {
|
110 |
+
return $this->colors;
|
111 |
+
}
|
112 |
+
|
113 |
+
}
|
lib/Elefunds/Template/Shop/View.phtml
ADDED
@@ -0,0 +1,92 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<div id="elefunds">
|
2 |
+
<input type="hidden" id="elefunds_donation_cent" value="<?php echo $view['suggestedDonationAmountCent']; ?>" name="elefunds_donation_cent"/>
|
3 |
+
<input type="hidden" id="<?php echo 'elefunds_suggested_round_up_cent'; ?>" name="<?php echo 'elefunds_suggested_round_up_cent'; ?>" value="<?php echo $view['suggestedDonationAmountCent'];?>"/>
|
4 |
+
<div id="elefunds_top" style="width: <?php echo $view['actualShopWidth']; ?>px;">
|
5 |
+
<img src="https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/<?php echo $view['theme'] ?>/elefunds_logo.png" id="elefunds_logo" class="tiptip" desc="<?php echo $view['elefundsDescription']; ?>" title="elefunds" />
|
6 |
+
<div>
|
7 |
+
<div id="elefunds_arrow">
|
8 |
+
<input type="checkbox" id="elefunds_checkbox" name="elefunds_agree"/>
|
9 |
+
<label for="elefunds_checkbox"><?php echo $view['slogan'];?></label>
|
10 |
+
<span id="elefunds_arrow_end"></span>
|
11 |
+
</div>
|
12 |
+
<div id="elefunds_plus_minus">
|
13 |
+
<a href="#" onclick="elefunds.decreaseDonation(); return false;" id="elefunds_decrease"><img src="https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/<?php echo $view['theme'] ?>/minus.png"></a> <a href="#" onclick="elefunds.increaseDonation(); return false;" id="elefunds_increase"><img src="https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/<?php echo $view['theme'] . '/' . $view['color'] ?>/plus.png"></a>
|
14 |
+
</div>
|
15 |
+
<div id="elefunds_input_container">
|
16 |
+
<label id="elefunds_currency" for="elefunds_input"><?php echo $view['currency']; ?></label>
|
17 |
+
<input type="text" id="elefunds_input" name="elefunds_round_up" onkeyup="elefunds.donationChange(this.value)" value="<?php echo $view['suggestedDonationAmount'];?>" />
|
18 |
+
</div>
|
19 |
+
</div>
|
20 |
+
</div>
|
21 |
+
|
22 |
+
<div id="elefunds_bottom" style="width: <?php echo $view['actualShopWidth']; ?>px;">
|
23 |
+
<?php $numReceivers = count($view['receivers']); $i = 0; foreach ($view['receivers'] as $key => $receiver): ?>
|
24 |
+
<input type="hidden" name="elefunds_receiver_name[]" value="<?php echo $receiver->getName(); ?>" />
|
25 |
+
<div class="elefunds_receiver tiptip" desc="<?php echo $receiver->getDescription(); ?>" title="<?php echo $receiver->getName(); ?>">
|
26 |
+
<input type="checkbox" id="<?php echo 'elefunds_receiver_' . $receiver->getId(TRUE); ?>" name="elefunds_receivers[]" value="<?php echo $receiver->getId(TRUE); ?>"/>
|
27 |
+
<?php if(++$i !== $numReceivers) : ?>
|
28 |
+
<label for="<?php echo 'elefunds_receiver_' . $receiver->getId(TRUE); ?>" style="padding: 12px <?php echo $view['paddingRight']; ?> 8px <?php echo $view['paddingLeft']; ?>;"><img src="<?php echo $receiver->getImage('horizontal', 'medium'); ?>" /></label>
|
29 |
+
<?php else : ?>
|
30 |
+
<label for="<?php echo 'elefunds_receiver_' . $receiver->getId(TRUE); ?>" style="padding: 12px <?php echo $view['paddingRightLast']; ?> 8px <?php echo $view['paddingLeftLast']; ?>;"><img src="<?php echo $receiver->getImage('horizontal', 'medium'); ?>" /></label>
|
31 |
+
<?php endif; ?>
|
32 |
+
</div>
|
33 |
+
<?php endforeach; ?>
|
34 |
+
</div>
|
35 |
+
|
36 |
+
<div id="elefunds_below_container" style="width: <?php echo $view['actualShopWidth']; ?>px; display: none;">
|
37 |
+
<?php if ($view['offerDonationReceipt']): ?>
|
38 |
+
<div id="elefunds_receipt">
|
39 |
+
<input type="checkbox" name="elefunds_receipt" id="elefunds_receipt_checkbox" /><label for="elefunds_receipt_checkbox"><?php echo $view['receipt_slogan'];?></label>
|
40 |
+
</div>
|
41 |
+
<?php endif; ?>
|
42 |
+
<div id="elefunds_round_sum_container" class="elefunds_hidden">
|
43 |
+
<strong><?php echo $view['roundedSumString']; ?></strong>
|
44 |
+
<strong id="elefunds_round_sum"><?php echo $view['roundedSum'];?></strong>
|
45 |
+
<strong><?php echo $view['currency']; ?></strong>
|
46 |
+
</div>
|
47 |
+
</div>
|
48 |
+
</div>
|
49 |
+
|
50 |
+
<script type="text/javascript">
|
51 |
+
jQuery('<img src="https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/<?php echo $view['theme'] . '/' . $view['color'] ?>/arrow_on.png"/>');
|
52 |
+
jQuery('<img src="https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png"/>');
|
53 |
+
jQuery('<img src="https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png"/>');
|
54 |
+
jQuery('<img src="https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png"/>');
|
55 |
+
|
56 |
+
var elefunds = (function(parent, $) {
|
57 |
+
var options = {
|
58 |
+
roundSumContainer: $('#<?php echo $view["roundSumContainer"]; ?>'),
|
59 |
+
roundSum: $('#<?php echo $view["roundSum"]; ?>'),
|
60 |
+
currency: '<?php echo $view["currency"]; ?>',
|
61 |
+
decimal: '<?php echo $view["currencyDelimiter"]; ?>',
|
62 |
+
decimalAlt: ',',
|
63 |
+
total: <?php echo $view["total"]; ?>,
|
64 |
+
toolTipPosition: '<?php echo $view["toolTipPosition"]; ?>'
|
65 |
+
};
|
66 |
+
|
67 |
+
if(options.decimal === options.decimalAlt) {
|
68 |
+
options.decimalAlt = '.';
|
69 |
+
}
|
70 |
+
|
71 |
+
if(parent.hasOwnProperty('init')) {
|
72 |
+
parent.init(options);
|
73 |
+
}
|
74 |
+
|
75 |
+
return {
|
76 |
+
options: options,
|
77 |
+
|
78 |
+
decreaseDonation: function() {
|
79 |
+
return parent.decreaseDonation();
|
80 |
+
},
|
81 |
+
|
82 |
+
increaseDonation: function() {
|
83 |
+
return parent.increaseDonation();
|
84 |
+
},
|
85 |
+
|
86 |
+
donationChange: function(floatValue) {
|
87 |
+
return parent.donationChange(floatValue);
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
}(window.elefunds || {}, jQuery));
|
92 |
+
</script>
|
lib/Elefunds/Test/Unit/Configuration/BaseConfigurationTest.php
ADDED
@@ -0,0 +1,197 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../../../Configuration/BaseConfiguration.php';
|
41 |
+
require_once dirname(__FILE__) . '/../../../Communication/RestInterface.php';
|
42 |
+
require_once dirname(__FILE__) . '/../../../View/ViewInterface.php';
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Unit Test for Elefunds_Configuration_BaseConfiguration.
|
46 |
+
*
|
47 |
+
* @package elefunds API PHP Library
|
48 |
+
* @subpackage Test
|
49 |
+
* @author Christian Peters <christian@elefunds.de>
|
50 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
51 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
52 |
+
* @link http://www.elefunds.de
|
53 |
+
* @since File available since Release 1.0.0
|
54 |
+
*/
|
55 |
+
class Elefunds_Test_Unit_Configuration_BaseConfigurationTest extends PHPUnit_Framework_TestCase {
|
56 |
+
|
57 |
+
protected $baseConfiguration;
|
58 |
+
|
59 |
+
/**
|
60 |
+
* setClientCalculatesHashedKeyIfApiKeyIsAlreadySetAndGettersForClientIdAndHashedKeyAreWorking
|
61 |
+
*
|
62 |
+
* @test
|
63 |
+
*/
|
64 |
+
public function setClientCalculatesHashedKeyIfApiKeyIsAlreadySetAndGettersForClientIdAndHashedKeyAreWorking() {
|
65 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
66 |
+
$this->baseConfiguration->setApiKey('asdfaAdf123ddddddddd');
|
67 |
+
$this->baseConfiguration->setClientId(1234);
|
68 |
+
|
69 |
+
$this->assertSame(1234, $this->baseConfiguration->getClientId());
|
70 |
+
$this->assertSame('3382a100edcb335c6af4efc1d5fb37b4ec264553', $this->baseConfiguration->getHashedKey());
|
71 |
+
}
|
72 |
+
|
73 |
+
|
74 |
+
/**
|
75 |
+
* setApiKeyCalculatesHashedKeyIfClientIdIsAlreadySet
|
76 |
+
*
|
77 |
+
* @test
|
78 |
+
*/
|
79 |
+
public function setApiKeyCalculatesHashedKeyIfClientIdIsAlreadySet() {
|
80 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
81 |
+
|
82 |
+
$this->baseConfiguration->setClientId(1234);
|
83 |
+
$this->baseConfiguration->setApiKey('asdfaAdf123ddddddddd');
|
84 |
+
|
85 |
+
$this->assertSame('3382a100edcb335c6af4efc1d5fb37b4ec264553', $this->baseConfiguration->getHashedKey());
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* getHashedKeyThrowsErrorIfNotClientIdAndApiKeyAreSet
|
90 |
+
*
|
91 |
+
* @test
|
92 |
+
* @expectedException Elefunds_Exception_ElefundsException
|
93 |
+
*/
|
94 |
+
public function getHashedKeyThrowsErrorIfNotClientIdAndApiKeyAreSet() {
|
95 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
96 |
+
$this->baseConfiguration->getHashedKey();
|
97 |
+
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Tests if the view can be set.
|
102 |
+
*
|
103 |
+
* @test
|
104 |
+
*/
|
105 |
+
public function setViewWorks() {
|
106 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
107 |
+
$view = $this->getMock('Elefunds_View_ViewInterface');
|
108 |
+
|
109 |
+
$this->baseConfiguration->setView($view);
|
110 |
+
$this->assertSame($view, $this->baseConfiguration->getView());
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* setRestImplementationWorks
|
115 |
+
*
|
116 |
+
* @test
|
117 |
+
*/
|
118 |
+
public function setRestImplementationWorks() {
|
119 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
120 |
+
$rest = $this->getMock('Elefunds_Communication_RestInterface');
|
121 |
+
|
122 |
+
$this->baseConfiguration->setRestImplementation($rest);
|
123 |
+
$this->assertSame($rest, $this->baseConfiguration->getRestImplementation());
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* setDonationClassNameAcceptsOnlyLoadedClasses
|
128 |
+
*
|
129 |
+
* @test
|
130 |
+
*/
|
131 |
+
public function setDonationClassNameAcceptsOnlyLoadedClasses() {
|
132 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
133 |
+
|
134 |
+
// Interface reqs are tested by the factory, so we can pass any class here.
|
135 |
+
$this->baseConfiguration->setDonationClassName('Elefunds_Test_Unit_Configuration_BaseConfigurationTest');
|
136 |
+
$this->assertSame('Elefunds_Test_Unit_Configuration_BaseConfigurationTest', $this->baseConfiguration->getDonationClassName());
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* setDonationClassNameThrowsErrorIfClassIsNotLoaded
|
141 |
+
*
|
142 |
+
* @test
|
143 |
+
* @expectedException Elefunds_Exception_ElefundsException
|
144 |
+
*/
|
145 |
+
public function setDonationClassNameThrowsErrorIfClassIsNotLoaded() {
|
146 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
147 |
+
$this->baseConfiguration->setDonationClassName('Some_Made_Up_ClassName');
|
148 |
+
}
|
149 |
+
|
150 |
+
/**
|
151 |
+
* setReceiverClassNameAcceptsOnlyLoadedClasses
|
152 |
+
*
|
153 |
+
* @test
|
154 |
+
*/
|
155 |
+
public function setReceiverClassNameAcceptsOnlyLoadedClasses() {
|
156 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
157 |
+
|
158 |
+
// Interface reqs are tested by the factory, so we can pass any class here.
|
159 |
+
$this->baseConfiguration->setReceiverClassName('Elefunds_Test_Unit_Configuration_BaseConfigurationTest');
|
160 |
+
$this->assertSame('Elefunds_Test_Unit_Configuration_BaseConfigurationTest', $this->baseConfiguration->getReceiverClassName());
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* setReceiverClassNameThrowsErrorIfClassIsNotLoaded
|
165 |
+
*
|
166 |
+
* @test
|
167 |
+
* @expectedException Elefunds_Exception_ElefundsException
|
168 |
+
*/
|
169 |
+
public function setReceiverClassNameThrowsErrorIfClassIsNotLoaded() {
|
170 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
171 |
+
$this->baseConfiguration->setReceiverClassName('Some_Made_Up_ClassName');
|
172 |
+
}
|
173 |
+
|
174 |
+
/**
|
175 |
+
* setCountrycodeAcceptsCountrycodeAsString
|
176 |
+
*
|
177 |
+
* @test
|
178 |
+
*/
|
179 |
+
public function setCountrycodeAcceptsCountrycodeAsString() {
|
180 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
181 |
+
$this->baseConfiguration->setCountrycode('de');
|
182 |
+
$this->assertSame('de', $this->baseConfiguration->getCountrycode());
|
183 |
+
}
|
184 |
+
|
185 |
+
/**
|
186 |
+
* setLanguageThrowsErrorIfGivenParamIsNotACountrycode
|
187 |
+
*
|
188 |
+
* @test
|
189 |
+
* @expectedException InvalidArgumentException
|
190 |
+
*/
|
191 |
+
public function setLanguageThrowsErrorIfGivenParamIsNotACountrycode() {
|
192 |
+
$this->baseConfiguration = new Elefunds_Configuration_BaseConfiguration();
|
193 |
+
$this->baseConfiguration->setCountrycode('This is not a countrycode.');
|
194 |
+
}
|
195 |
+
|
196 |
+
|
197 |
+
}
|
lib/Elefunds/Test/Unit/Configuration/DefaultConfigurationTest.php
ADDED
@@ -0,0 +1,72 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../../../Configuration/DefaultConfiguration.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Unit Test for Elefunds_Configuration_BaseConfiguration.
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Test
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Test_Unit_Configuration_DefaultConfigurationTest extends PHPUnit_Framework_TestCase {
|
54 |
+
|
55 |
+
protected $defaultConfiguration;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* initSetsCurlDonationAndReceiver
|
59 |
+
*
|
60 |
+
* Checks if the correct model factory pattern is set are not included here.
|
61 |
+
*
|
62 |
+
* @test
|
63 |
+
*/
|
64 |
+
public function initSetsCurlDonationAndReceiver() {
|
65 |
+
$this->defaultConfiguration = new Elefunds_Configuration_DefaultConfiguration();
|
66 |
+
$this->defaultConfiguration->init();
|
67 |
+
|
68 |
+
$this->assertEquals('Elefunds_Model_Receiver', $this->defaultConfiguration->getReceiverClassName());
|
69 |
+
$this->assertEquals('Elefunds_Model_Donation', $this->defaultConfiguration->getDonationClassName());
|
70 |
+
|
71 |
+
}
|
72 |
+
}
|
lib/Elefunds/Test/Unit/Exception/ElefundsExceptionTest.php
ADDED
@@ -0,0 +1,97 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../../../Exception/ElefundsException.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Unit Test for Elefunds_Exception_ElefundsException.
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Test
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Test_Unit_Exception_ElefundsExceptionTest extends PHPUnit_Framework_TestCase {
|
54 |
+
|
55 |
+
protected $elefundsException;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Sets up the class under test.
|
59 |
+
*/
|
60 |
+
public function setUp() {
|
61 |
+
$this->elefundsException = new Elefunds_Exception_ElefundsException('Test Message', 12345, array("error" => "Hello World!!!"));
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* toStringReturnsValuableInformation
|
66 |
+
*
|
67 |
+
* @test
|
68 |
+
*/
|
69 |
+
public function toStringReturnsValuableInformation() {
|
70 |
+
|
71 |
+
$this->assertSame(
|
72 |
+
'Elefunds_Exception_ElefundsException [Errorcode: 12345] : Test Message' . PHP_EOL
|
73 |
+
. 'Additional information:' . PHP_EOL
|
74 |
+
. 'error = Hello World!!!' . PHP_EOL
|
75 |
+
|
76 |
+
, $this->elefundsException->__toString()
|
77 |
+
);
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* addAdditionalInformationMergesNewArraysToTheOldOne
|
82 |
+
*
|
83 |
+
* @test
|
84 |
+
*/
|
85 |
+
public function addAdditionalInformationMergesNewArraysToTheOldOne() {
|
86 |
+
$this->elefundsException->addAdditionalInformation(array('foo' => 'bar'));
|
87 |
+
|
88 |
+
$this->assertSame(
|
89 |
+
array(
|
90 |
+
'error' => 'Hello World!!!',
|
91 |
+
'foo' => 'bar'
|
92 |
+
),
|
93 |
+
$this->elefundsException->getAdditionalInformation()
|
94 |
+
);
|
95 |
+
}
|
96 |
+
|
97 |
+
}
|
lib/Elefunds/Test/Unit/FacadeTest.php
ADDED
@@ -0,0 +1,544 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
x<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../../Facade.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Unit Test for Elefunds_Facade
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Test
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Test_Unit_Facade extends PHPUnit_Framework_TestCase {
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @var Elefunds_Facade
|
57 |
+
*/
|
58 |
+
protected $facade;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* @var DateTime
|
62 |
+
*/
|
63 |
+
protected $uniqueTimestampForAllTests;
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Sets up the class under test.
|
67 |
+
*/
|
68 |
+
public function setUp() {
|
69 |
+
$this->facade = new Elefunds_Facade();
|
70 |
+
|
71 |
+
date_default_timezone_set('Europe/Berlin');
|
72 |
+
$this->uniqueTimestampForAllTests = new DateTime();
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* setConfigurationCallsInit
|
77 |
+
*
|
78 |
+
* @test
|
79 |
+
*/
|
80 |
+
public function setConfigurationCallsInit() {
|
81 |
+
|
82 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
83 |
+
|
84 |
+
$configuration->expects($this->once())
|
85 |
+
->method('init');
|
86 |
+
|
87 |
+
$this->facade->setConfiguration($configuration);
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* When a donation is persisted, there are a few properties required to be set.
|
92 |
+
* We test that here.
|
93 |
+
*
|
94 |
+
* @test
|
95 |
+
* @expectedException Elefunds_Exception_ElefundsException
|
96 |
+
*/
|
97 |
+
public function addDonationsThrowsErrorIfDonationIsNotRichEnough() {
|
98 |
+
|
99 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
100 |
+
|
101 |
+
$configuration->expects($this->once())
|
102 |
+
->method('getApiUrl')
|
103 |
+
->will($this->returnValue('https://api.elefunds.de'));
|
104 |
+
|
105 |
+
$configuration->expects($this->once())
|
106 |
+
->method('getClientId')
|
107 |
+
->will($this->returnValue(1234));
|
108 |
+
|
109 |
+
$configuration->expects($this->once())
|
110 |
+
->method('getHashedKey')
|
111 |
+
->will($this->returnValue('3382a100edcb335c6af4efc1d5fb37b4ec264553'));
|
112 |
+
|
113 |
+
$this->facade->setConfiguration($configuration);
|
114 |
+
|
115 |
+
$donations = array($this->getMock('Elefunds_Model_DonationInterface'));
|
116 |
+
|
117 |
+
$this->facade->addDonations($donations);
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* cancelDonationCalculatesCorrectApiUrl
|
122 |
+
*
|
123 |
+
* @test
|
124 |
+
*/
|
125 |
+
public function cancelDonationCalculatesCorrectApiUrl() {
|
126 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
127 |
+
|
128 |
+
$configuration->expects($this->once())
|
129 |
+
->method('getApiUrl')
|
130 |
+
->will($this->returnValue('https://api.elefunds.de'));
|
131 |
+
|
132 |
+
$configuration->expects($this->once())
|
133 |
+
->method('getClientId')
|
134 |
+
->will($this->returnValue(1234));
|
135 |
+
|
136 |
+
$configuration->expects($this->once())
|
137 |
+
->method('getHashedKey')
|
138 |
+
->will($this->returnValue('3382a100edcb335c6af4efc1d5fb37b4ec264553'));
|
139 |
+
|
140 |
+
$rest = $this->getMock('Elefunds_Communication_RestInterface');
|
141 |
+
|
142 |
+
$rest->expects($this->once())
|
143 |
+
->method('delete')
|
144 |
+
->with($this->equalTo('https://api.elefunds.de/donations/1234/?clientId=1234&hashedKey=3382a100edcb335c6af4efc1d5fb37b4ec264553'))
|
145 |
+
->will($this->returnValue(json_encode(array('message' => 'Works like a charm!'))));
|
146 |
+
|
147 |
+
$configuration->expects($this->once())
|
148 |
+
->method('getRestImplementation')
|
149 |
+
->will($this->returnValue($rest));
|
150 |
+
|
151 |
+
|
152 |
+
$this->facade->setConfiguration($configuration);
|
153 |
+
|
154 |
+
$result = $this->facade->cancelDonation(1234);
|
155 |
+
$this->assertSame('Works like a charm!', $result);
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
* completeDonationCalculatesCorrectApiUrl
|
160 |
+
*
|
161 |
+
* @test
|
162 |
+
*/
|
163 |
+
public function completeDonationCalculatesCorrectApiUrl() {
|
164 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
165 |
+
|
166 |
+
$configuration->expects($this->once())
|
167 |
+
->method('getApiUrl')
|
168 |
+
->will($this->returnValue('https://api.elefunds.de'));
|
169 |
+
|
170 |
+
$configuration->expects($this->once())
|
171 |
+
->method('getClientId')
|
172 |
+
->will($this->returnValue(1234));
|
173 |
+
|
174 |
+
$configuration->expects($this->once())
|
175 |
+
->method('getHashedKey')
|
176 |
+
->will($this->returnValue('3382a100edcb335c6af4efc1d5fb37b4ec264553'));
|
177 |
+
|
178 |
+
$rest = $this->getMock('Elefunds_Communication_RestInterface');
|
179 |
+
|
180 |
+
$rest->expects($this->once())
|
181 |
+
->method('put')
|
182 |
+
->with($this->equalTo('https://api.elefunds.de/donations/1234/?clientId=1234&hashedKey=3382a100edcb335c6af4efc1d5fb37b4ec264553'))
|
183 |
+
->will($this->returnValue(json_encode(array('message' => 'Works like a charm!'))));
|
184 |
+
|
185 |
+
$configuration->expects($this->once())
|
186 |
+
->method('getRestImplementation')
|
187 |
+
->will($this->returnValue($rest));
|
188 |
+
|
189 |
+
|
190 |
+
$this->facade->setConfiguration($configuration);
|
191 |
+
|
192 |
+
$result = $this->facade->completeDonation(1234);
|
193 |
+
$this->assertSame('Works like a charm!', $result);
|
194 |
+
}
|
195 |
+
|
196 |
+
/**
|
197 |
+
* addDonationsCallsCorrectAPiUrl
|
198 |
+
*
|
199 |
+
* @test
|
200 |
+
*/
|
201 |
+
public function addDonationsCallsCorrectAPiUrl() {
|
202 |
+
|
203 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
204 |
+
|
205 |
+
$configuration->expects($this->once())
|
206 |
+
->method('getApiUrl')
|
207 |
+
->will($this->returnValue('https://api.elefunds.de'));
|
208 |
+
|
209 |
+
$configuration->expects($this->once())
|
210 |
+
->method('getClientId')
|
211 |
+
->will($this->returnValue(1234));
|
212 |
+
|
213 |
+
$configuration->expects($this->once())
|
214 |
+
->method('getHashedKey')
|
215 |
+
->will($this->returnValue('3382a100edcb335c6af4efc1d5fb37b4ec264553'));
|
216 |
+
|
217 |
+
$rest = $this->getMock('Elefunds_Communication_RestInterface');
|
218 |
+
|
219 |
+
$rest->expects($this->once())
|
220 |
+
->method('post')
|
221 |
+
->with(
|
222 |
+
$this->equalTo('https://api.elefunds.de/donations/?clientId=1234&hashedKey=3382a100edcb335c6af4efc1d5fb37b4ec264553'),
|
223 |
+
json_encode(
|
224 |
+
array(
|
225 |
+
array(
|
226 |
+
'foreignId' => 1234,
|
227 |
+
'donationTimestamp' => $this->uniqueTimestampForAllTests->format(DateTime::ISO8601),
|
228 |
+
'donationAmount' => 1000,
|
229 |
+
'receivers' => array(1,2,3),
|
230 |
+
'receiversAvailable' => array(1,2,3)
|
231 |
+
)
|
232 |
+
)
|
233 |
+
)
|
234 |
+
|
235 |
+
)
|
236 |
+
->will($this->returnValue(json_encode(array('message' => 'Works like a charm!'))));
|
237 |
+
|
238 |
+
$configuration->expects($this->once())
|
239 |
+
->method('getRestImplementation')
|
240 |
+
->will($this->returnValue($rest));
|
241 |
+
|
242 |
+
$donation = $this->getMock('Elefunds_Model_DonationInterface');
|
243 |
+
|
244 |
+
$donation->expects($this->any())
|
245 |
+
->method('getForeignId')
|
246 |
+
->will($this->returnValue(1234));
|
247 |
+
|
248 |
+
$donation->expects($this->any())
|
249 |
+
->method('toArray')
|
250 |
+
->will($this->returnValue(
|
251 |
+
array(
|
252 |
+
'foreignId' => 1234,
|
253 |
+
'donationTimestamp' => $this->uniqueTimestampForAllTests->format(DateTime::ISO8601),
|
254 |
+
'donationAmount' => 1000,
|
255 |
+
'receivers' => array(1,2,3),
|
256 |
+
'receiversAvailable' => array(1,2,3)
|
257 |
+
)
|
258 |
+
));
|
259 |
+
|
260 |
+
|
261 |
+
$donation->expects($this->any())
|
262 |
+
->method('getTime')
|
263 |
+
->will($this->returnValue($this->uniqueTimestampForAllTests));
|
264 |
+
|
265 |
+
$donation->expects($this->any())
|
266 |
+
->method('getAmount')
|
267 |
+
->will($this->returnValue(1000));
|
268 |
+
|
269 |
+
$donation->expects($this->any())
|
270 |
+
->method('getReceiverIds')
|
271 |
+
->will($this->returnValue(array(1,2,3)));
|
272 |
+
|
273 |
+
$donation->expects($this->any())
|
274 |
+
->method('getAvailableReceiverIds')
|
275 |
+
->will($this->returnValue(array(1,2,3)));
|
276 |
+
|
277 |
+
|
278 |
+
$this->facade->setConfiguration($configuration);
|
279 |
+
$result = $this->facade->addDonations(array($donation));
|
280 |
+
$this->assertSame($result, 'Works like a charm!');
|
281 |
+
}
|
282 |
+
|
283 |
+
/**
|
284 |
+
* cancelDonationsCallsCorrectAPiUrl
|
285 |
+
*
|
286 |
+
* @test
|
287 |
+
*/
|
288 |
+
public function cancelDonationsCallsCorrectAPiUrl() {
|
289 |
+
|
290 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
291 |
+
|
292 |
+
$configuration->expects($this->once())
|
293 |
+
->method('getApiUrl')
|
294 |
+
->will($this->returnValue('https://api.elefunds.de'));
|
295 |
+
|
296 |
+
$configuration->expects($this->once())
|
297 |
+
->method('getClientId')
|
298 |
+
->will($this->returnValue(1234));
|
299 |
+
|
300 |
+
$configuration->expects($this->once())
|
301 |
+
->method('getHashedKey')
|
302 |
+
->will($this->returnValue('3382a100edcb335c6af4efc1d5fb37b4ec264553'));
|
303 |
+
|
304 |
+
$rest = $this->getMock('Elefunds_Communication_RestInterface');
|
305 |
+
|
306 |
+
$rest->expects($this->once())
|
307 |
+
->method('delete')
|
308 |
+
->with($this->equalTo('https://api.elefunds.de/donations/1,2,3,4/?clientId=1234&hashedKey=3382a100edcb335c6af4efc1d5fb37b4ec264553'))
|
309 |
+
->will($this->returnValue(json_encode(array('message' => 'Works like a charm!'))));
|
310 |
+
|
311 |
+
$configuration->expects($this->once())
|
312 |
+
->method('getRestImplementation')
|
313 |
+
->will($this->returnValue($rest));
|
314 |
+
|
315 |
+
$this->facade->setConfiguration($configuration);
|
316 |
+
$result = $this->facade->cancelDonations(array(1, 2, 3, 4));
|
317 |
+
$this->assertSame($result, 'Works like a charm!');
|
318 |
+
}
|
319 |
+
|
320 |
+
/**
|
321 |
+
* completeDonationsCallsCorrectAPiUrl
|
322 |
+
*
|
323 |
+
* @test
|
324 |
+
*/
|
325 |
+
public function completeDonationsCallsCorrectAPiUrl() {
|
326 |
+
|
327 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
328 |
+
|
329 |
+
$configuration->expects($this->once())
|
330 |
+
->method('getApiUrl')
|
331 |
+
->will($this->returnValue('https://api.elefunds.de'));
|
332 |
+
|
333 |
+
$configuration->expects($this->once())
|
334 |
+
->method('getClientId')
|
335 |
+
->will($this->returnValue(1234));
|
336 |
+
|
337 |
+
$configuration->expects($this->once())
|
338 |
+
->method('getHashedKey')
|
339 |
+
->will($this->returnValue('3382a100edcb335c6af4efc1d5fb37b4ec264553'));
|
340 |
+
|
341 |
+
$rest = $this->getMock('Elefunds_Communication_RestInterface');
|
342 |
+
|
343 |
+
$rest->expects($this->once())
|
344 |
+
->method('put')
|
345 |
+
->with($this->equalTo('https://api.elefunds.de/donations/1,2,3,4/?clientId=1234&hashedKey=3382a100edcb335c6af4efc1d5fb37b4ec264553'))
|
346 |
+
->will($this->returnValue(json_encode(array('message' => 'Works like a charm!'))));
|
347 |
+
|
348 |
+
$configuration->expects($this->once())
|
349 |
+
->method('getRestImplementation')
|
350 |
+
->will($this->returnValue($rest));
|
351 |
+
|
352 |
+
$this->facade->setConfiguration($configuration);
|
353 |
+
$result = $this->facade->completeDonations(array(1, 2, 3, 4));
|
354 |
+
$this->assertSame($result, 'Works like a charm!');
|
355 |
+
}
|
356 |
+
|
357 |
+
/**
|
358 |
+
* getReceiversCallsCorrectApiUrlAndThrowsErrorIfWrongCountryCodeIsSet
|
359 |
+
*
|
360 |
+
* @test
|
361 |
+
* @expectedException Elefunds_Exception_ElefundsCommunicationException
|
362 |
+
*/
|
363 |
+
public function getReceiversCallsCorrectApiUrlAndThrowsErrorIfWrongCountryCodeIsSet() {
|
364 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
365 |
+
|
366 |
+
$configuration->expects($this->once())
|
367 |
+
->method('getApiUrl')
|
368 |
+
->will($this->returnValue('https://api.elefunds.de'));
|
369 |
+
|
370 |
+
$configuration->expects($this->once())
|
371 |
+
->method('getClientId')
|
372 |
+
->will($this->returnValue(1234));
|
373 |
+
|
374 |
+
$configuration->expects($this->once())
|
375 |
+
->method('getHashedKey')
|
376 |
+
->will($this->returnValue('3382a100edcb335c6af4efc1d5fb37b4ec264553'));
|
377 |
+
|
378 |
+
|
379 |
+
$rest = $this->getMock('Elefunds_Communication_RestInterface');
|
380 |
+
|
381 |
+
$rest->expects($this->once())
|
382 |
+
->method('get')
|
383 |
+
->with($this->equalTo('https://api.elefunds.de/receivers/?clientId=1234&hashedKey=3382a100edcb335c6af4efc1d5fb37b4ec264553'))
|
384 |
+
->will($this->returnValue(json_encode(
|
385 |
+
array(
|
386 |
+
'receivers' => array(
|
387 |
+
array(
|
388 |
+
'de' =>
|
389 |
+
array(
|
390 |
+
'id' => 1234,
|
391 |
+
'name' => 'TestReceiver',
|
392 |
+
'description' => 'Some description',
|
393 |
+
'images' => array(
|
394 |
+
'vertical' => array(
|
395 |
+
'small' => 'http://elefunds.de/image1.jpg',
|
396 |
+
'medium' => 'http://elefunds.de/image2.jpg',
|
397 |
+
'large' => 'http://elefunds.de/image3.jpg',
|
398 |
+
),
|
399 |
+
'horizontal' => array(
|
400 |
+
'small' => 'http://elefunds.de/image4.jpg',
|
401 |
+
'medium' => 'http://elefunds.de/image5.jpg',
|
402 |
+
'large' => 'http://elefunds.de/image6.jpg',
|
403 |
+
)
|
404 |
+
)
|
405 |
+
)
|
406 |
+
)
|
407 |
+
)
|
408 |
+
)
|
409 |
+
)));
|
410 |
+
|
411 |
+
$configuration->expects($this->once())
|
412 |
+
->method('getRestImplementation')
|
413 |
+
->will($this->returnValue($rest));
|
414 |
+
|
415 |
+
$configuration->expects($this->once())
|
416 |
+
->method('getCountrycode')
|
417 |
+
->will($this->returnValue('de'));
|
418 |
+
|
419 |
+
$this->facade->setConfiguration($configuration);
|
420 |
+
$this->facade->getReceivers();
|
421 |
+
|
422 |
+
}
|
423 |
+
|
424 |
+
/**
|
425 |
+
* getTemplateCssFilesReturnsArray
|
426 |
+
*
|
427 |
+
* @test
|
428 |
+
*/
|
429 |
+
public function getTemplateCssFilesReturnsArray() {
|
430 |
+
|
431 |
+
$view = $this->getMock('Elefunds_View_ViewInterface');
|
432 |
+
$view->expects($this->once())
|
433 |
+
->method('getCssFiles')
|
434 |
+
->will($this->returnValue(array('http://path/to/css.css')));
|
435 |
+
|
436 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
437 |
+
|
438 |
+
$configuration->expects($this->once())
|
439 |
+
->method('getView')
|
440 |
+
->will($this->returnValue($view));
|
441 |
+
|
442 |
+
$this->facade->setConfiguration($configuration);
|
443 |
+
$files = $this->facade->getTemplateCssFiles();
|
444 |
+
|
445 |
+
$this->assertSame(array('http://path/to/css.css'), $files);
|
446 |
+
}
|
447 |
+
|
448 |
+
/**
|
449 |
+
* renderTemplateReturnsStringFromViewIfViewIsSet
|
450 |
+
*
|
451 |
+
* @test
|
452 |
+
*/
|
453 |
+
public function renderTemplateReturnsStringFromViewIfViewIsSet() {
|
454 |
+
|
455 |
+
$view = $this->getMock('Elefunds_View_ViewInterface');
|
456 |
+
$view->expects($this->once())
|
457 |
+
->method('render')
|
458 |
+
->will($this->returnValue('<p>Hello World!</p>'));
|
459 |
+
|
460 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
461 |
+
|
462 |
+
$configuration->expects($this->once())
|
463 |
+
->method('getView')
|
464 |
+
->will($this->returnValue($view));
|
465 |
+
|
466 |
+
$this->facade->setConfiguration($configuration);
|
467 |
+
$html = $this->facade->renderTemplate();
|
468 |
+
|
469 |
+
$this->assertSame('<p>Hello World!</p>', $html);
|
470 |
+
}
|
471 |
+
|
472 |
+
/**
|
473 |
+
* renderTemplateThrowsErrorIfNoViewIsGiven
|
474 |
+
*
|
475 |
+
* @test
|
476 |
+
* @expectedException Elefunds_Exception_ElefundsException
|
477 |
+
*/
|
478 |
+
public function renderTemplateThrowsErrorIfNoViewIsGiven() {
|
479 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
480 |
+
|
481 |
+
$configuration->expects($this->once())
|
482 |
+
->method('getView');
|
483 |
+
|
484 |
+
$this->facade->setConfiguration($configuration);
|
485 |
+
$this->facade->renderTemplate();
|
486 |
+
}
|
487 |
+
|
488 |
+
/**
|
489 |
+
* getTemplateJavascriptFilesReturnsArray
|
490 |
+
*
|
491 |
+
* @test
|
492 |
+
*/
|
493 |
+
public function getTemplateJavascriptFilesReturnsArray() {
|
494 |
+
|
495 |
+
$view = $this->getMock('Elefunds_View_ViewInterface');
|
496 |
+
$view->expects($this->once())
|
497 |
+
->method('getJavascriptFiles')
|
498 |
+
->will($this->returnValue(array('http://path/to/script.js')));
|
499 |
+
|
500 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
501 |
+
|
502 |
+
$configuration->expects($this->once())
|
503 |
+
->method('getView')
|
504 |
+
->will($this->returnValue($view));
|
505 |
+
|
506 |
+
$this->facade->setConfiguration($configuration);
|
507 |
+
$files = $this->facade->getTemplateJavascriptFiles();
|
508 |
+
|
509 |
+
$this->assertSame(array('http://path/to/script.js'), $files);
|
510 |
+
}
|
511 |
+
|
512 |
+
/**
|
513 |
+
* getTemplateCssFilesThrowsErrorIfNoViewGiven
|
514 |
+
*
|
515 |
+
* @test
|
516 |
+
* @expectedException Elefunds_Exception_ElefundsException
|
517 |
+
*/
|
518 |
+
public function getTemplateCssFilesThrowsErrorIfNoViewGiven() {
|
519 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
520 |
+
|
521 |
+
$configuration->expects($this->once())
|
522 |
+
->method('getView');
|
523 |
+
|
524 |
+
$this->facade->setConfiguration($configuration);
|
525 |
+
$this->facade->getTemplateCssFiles();
|
526 |
+
}
|
527 |
+
|
528 |
+
/**
|
529 |
+
* getTemplateJavascriptFilesThrowsErrorIfNoViewGiven
|
530 |
+
*
|
531 |
+
* @test
|
532 |
+
* @expectedException Elefunds_Exception_ElefundsException
|
533 |
+
*/
|
534 |
+
public function getTemplateJavascriptFilesThrowsErrorIfNoViewGiven() {
|
535 |
+
$configuration = $this->getMock('Elefunds_Configuration_ConfigurationInterface');
|
536 |
+
|
537 |
+
$configuration->expects($this->once())
|
538 |
+
->method('getView');
|
539 |
+
|
540 |
+
$this->facade->setConfiguration($configuration);
|
541 |
+
$this->facade->getTemplateJavascriptFiles();
|
542 |
+
}
|
543 |
+
|
544 |
+
}
|
lib/Elefunds/Test/Unit/Model/DonationTest.php
ADDED
@@ -0,0 +1,430 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../../../Model/Donation.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Unit Test for Elefunds_Models_Donation.
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Test
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Test_Unit_Model_DonationTest extends PHPUnit_Framework_TestCase {
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @var Elefunds_Model_Donation
|
57 |
+
*/
|
58 |
+
protected $donation;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Sets up the class under test.
|
62 |
+
*/
|
63 |
+
public function setUp() {
|
64 |
+
$this->donation = new Elefunds_Model_Donation();
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* setForeignIdAcceptsNumbersOrDigitOnlyString
|
69 |
+
*
|
70 |
+
* @test
|
71 |
+
*/
|
72 |
+
public function setForeignIdAcceptsNumbersOrDigitOnlyString() {
|
73 |
+
$this->donation->setForeignId('12345');
|
74 |
+
$this->assertSame('12345', $this->donation->getForeignId());
|
75 |
+
|
76 |
+
$this->donation->setForeignId(12345);
|
77 |
+
$this->assertSame('12345', $this->donation->getForeignId());
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* setAmountMustBeOfTypeIntegerOrADigitOnlyString
|
82 |
+
*
|
83 |
+
* @test
|
84 |
+
*/
|
85 |
+
public function setAmountMustBeOfTypeIntegerOrADigitOnlyString() {
|
86 |
+
$this->donation->setAmount(1234);
|
87 |
+
$this->assertSame(1234, $this->donation->getAmount());
|
88 |
+
|
89 |
+
$this->donation->setAmount('125');
|
90 |
+
$this->assertSame(125, $this->donation->getAmount());
|
91 |
+
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* setAmountReturnsZeroIfANegativeValueIsGiven
|
96 |
+
*
|
97 |
+
* @test
|
98 |
+
*/
|
99 |
+
public function setAmountReturnsZeroIfANegativeValueIsGiven() {
|
100 |
+
$this->donation->setAmount(-125);
|
101 |
+
$this->assertSame(0, $this->donation->getAmount());
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* setAmountThrowsErrorIfGivenStringIsNotCastableToInt
|
106 |
+
*
|
107 |
+
* @test
|
108 |
+
* @expectedException InvalidArgumentException
|
109 |
+
*/
|
110 |
+
public function setAmountThrowsErrorIfGivenStringIsNotCastableToInt() {
|
111 |
+
$this->donation->setAmount('This string is not castable to int.');
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* setAmountThrowsErrorIfGivenValueIsNeitherCastableStringOrInt
|
116 |
+
*
|
117 |
+
* @test
|
118 |
+
* @expectedException InvalidArgumentException
|
119 |
+
*/
|
120 |
+
public function setAmountThrowsErrorIfGivenValueIsNeitherCastableStringOrInt() {
|
121 |
+
$this->donation->setAmount(array());
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* setSuggestedAmountMustBeOfTypeIntOrADigitOnlyString
|
126 |
+
*
|
127 |
+
* @test
|
128 |
+
*/
|
129 |
+
public function setSuggestedAmountMustBeOfTypeIntOrADigitOnlyString() {
|
130 |
+
$this->donation->setSuggestedAmount(125);
|
131 |
+
$this->assertSame(125, $this->donation->getSuggestedAmount());
|
132 |
+
|
133 |
+
$this->donation->setSuggestedAmount('125');
|
134 |
+
$this->assertSame(125, $this->donation->getSuggestedAmount());
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* setSuggestedAmountReturnsZeroIfANegativeValueIsGiven
|
139 |
+
*
|
140 |
+
* @test
|
141 |
+
*/
|
142 |
+
public function setSuggestedAmountReturnsZeroIfANegativeValueIsGiven() {
|
143 |
+
$this->donation->setSuggestedAmount(-125);
|
144 |
+
$this->assertSame(0, $this->donation->getSuggestedAmount());
|
145 |
+
}
|
146 |
+
|
147 |
+
/**
|
148 |
+
* setSuggestedAmountThrowsErrorIfGivenStringIsNotCastableToInt
|
149 |
+
*
|
150 |
+
* @test
|
151 |
+
* @expectedException InvalidArgumentException
|
152 |
+
*/
|
153 |
+
public function setSuggestedAmountThrowsErrorIfGivenStringIsNotCastableToInt() {
|
154 |
+
$this->donation->setSuggestedAmount('This string is not castable to int.');
|
155 |
+
}
|
156 |
+
|
157 |
+
|
158 |
+
/**
|
159 |
+
* setSuggestedAmountThrowsErrorIfGivenValueIsNeitherCastableStringOrInt
|
160 |
+
*
|
161 |
+
* @test
|
162 |
+
* @expectedException InvalidArgumentException
|
163 |
+
*/
|
164 |
+
public function setSuggestedAmountThrowsErrorIfGivenValueIsNeitherCastableStringOrInt() {
|
165 |
+
$this->donation->setSuggestedAmount(array());
|
166 |
+
}
|
167 |
+
|
168 |
+
/**
|
169 |
+
* addReceiverIdAddsAnIntToTheArrayOfReceiverIds
|
170 |
+
*
|
171 |
+
* @test
|
172 |
+
*/
|
173 |
+
public function addReceiverIdAddsAnIntToTheArrayOfReceiverIds() {
|
174 |
+
$this->donation->addReceiverId(1234567890);
|
175 |
+
$this->assertTrue(in_array(1234567890, $this->donation->getReceiverIds()));
|
176 |
+
}
|
177 |
+
|
178 |
+
/**
|
179 |
+
* addReceiverThrowsErrorIfGivenTypeIsNotInt
|
180 |
+
*
|
181 |
+
* @test
|
182 |
+
* @expectedException InvalidArgumentException
|
183 |
+
*/
|
184 |
+
public function addReceiverThrowsErrorIfGivenTypeIsNotInt() {
|
185 |
+
$this->donation->addReceiverId('A string is given here.');
|
186 |
+
}
|
187 |
+
|
188 |
+
/**
|
189 |
+
* addReceiverThrowsErrorIfGivenTypeNegativeInt
|
190 |
+
*
|
191 |
+
* @test
|
192 |
+
* @expectedException InvalidArgumentException
|
193 |
+
*/
|
194 |
+
public function addReceiverThrowsErrorIfGivenTypeNegativeInt() {
|
195 |
+
$this->donation->addReceiverId(-5);
|
196 |
+
}
|
197 |
+
|
198 |
+
/**
|
199 |
+
* setReceiverIdsSetsIdsIfAllArrayValuesArePositiveInteger
|
200 |
+
*
|
201 |
+
* @test
|
202 |
+
*/
|
203 |
+
public function setReceiverIdsSetsIdsIfAllArrayValuesArePositiveInteger() {
|
204 |
+
$ids = array(1,2,3,4,5,6,7,8,9);
|
205 |
+
$this->donation->setReceiverIds($ids);
|
206 |
+
$this->assertSame($this->donation->getReceiverIds(), $ids);
|
207 |
+
}
|
208 |
+
|
209 |
+
/**
|
210 |
+
* setReceiverIdsThrowsErrorIfNotAllArrayValuesArePositiveInteger
|
211 |
+
*
|
212 |
+
* @test
|
213 |
+
* @expectedException InvalidArgumentException
|
214 |
+
*/
|
215 |
+
public function setReceiverIdsThrowsErrorIfNotAllArrayValuesArePositiveInteger() {
|
216 |
+
$ids = array(1,2,3,4,-5,6,7,8,9);
|
217 |
+
$this->donation->setReceiverIds($ids);
|
218 |
+
}
|
219 |
+
|
220 |
+
/**
|
221 |
+
* setReceiverIdsThrowsErrorIfNotAllArrayValuesAreInteger
|
222 |
+
*
|
223 |
+
* @test
|
224 |
+
* @expectedException InvalidArgumentException
|
225 |
+
*/
|
226 |
+
public function setReceiverIdsThrowsErrorIfNotAllArrayValuesAreInteger() {
|
227 |
+
$ids = array(1,2,3,4, 'A string is injected into the array.',6,7,8,9);
|
228 |
+
$this->donation->setReceiverIds($ids);
|
229 |
+
}
|
230 |
+
|
231 |
+
/**
|
232 |
+
* addAvailableReceiverIdAddsAnIntToTheArrayOfReceiverIds
|
233 |
+
*
|
234 |
+
* @test
|
235 |
+
*/
|
236 |
+
public function addAvailableReceiverIdAddsAnIntToTheArrayOfReceiverIds() {
|
237 |
+
$this->donation->addAvailableReceiverId(1234567890);
|
238 |
+
$this->assertTrue(in_array(1234567890, $this->donation->getAvailableReceiverIds()));
|
239 |
+
}
|
240 |
+
|
241 |
+
/**
|
242 |
+
* addAvailableReceiverThrowsErrorIfGivenTypeIsNotInt
|
243 |
+
*
|
244 |
+
* @test
|
245 |
+
* @expectedException InvalidArgumentException
|
246 |
+
*/
|
247 |
+
public function addAvailableReceiverThrowsErrorIfGivenTypeIsNotInt() {
|
248 |
+
$this->donation->addAvailableReceiverId('A string is given here.');
|
249 |
+
}
|
250 |
+
|
251 |
+
/**
|
252 |
+
* addAvailableReceiverThrowsErrorIfGivenTypeNegativeInt
|
253 |
+
*
|
254 |
+
* @test
|
255 |
+
* @expectedException InvalidArgumentException
|
256 |
+
*/
|
257 |
+
public function addAvailableReceiverThrowsErrorIfGivenTypeNegativeInt() {
|
258 |
+
$this->donation->addAvailableReceiverId(-5);
|
259 |
+
}
|
260 |
+
|
261 |
+
/**
|
262 |
+
* setAvailableReceiverIdsSetsIdsIfAllArrayValuesArePositiveInteger
|
263 |
+
*
|
264 |
+
* @test
|
265 |
+
*/
|
266 |
+
public function setAvailableReceiverIdsSetsIdsIfAllArrayValuesArePositiveInteger() {
|
267 |
+
$ids = array(1,2,3,4,5,6,7,8,9);
|
268 |
+
$this->donation->setAvailableReceiverIds($ids);
|
269 |
+
$this->assertSame($this->donation->getAvailableReceiverIds(), $ids);
|
270 |
+
}
|
271 |
+
|
272 |
+
/**
|
273 |
+
* setAvailableReceiverIdsThrowsErrorIfNotAllArrayValuesArePositiveInteger
|
274 |
+
*
|
275 |
+
* @test
|
276 |
+
* @expectedException InvalidArgumentException
|
277 |
+
*/
|
278 |
+
public function setAvailableReceiverIdsThrowsErrorIfNotAllArrayValuesArePositiveInteger() {
|
279 |
+
$ids = array(1,2,3,4,-5,6,7,8,9);
|
280 |
+
$this->donation->setAvailableReceiverIds($ids);
|
281 |
+
}
|
282 |
+
|
283 |
+
/**
|
284 |
+
* setAvailableReceiverIdsThrowsErrorIfNotAllArrayValuesAreInteger
|
285 |
+
*
|
286 |
+
* @test
|
287 |
+
* @expectedException InvalidArgumentException
|
288 |
+
*/
|
289 |
+
public function setAvailableReceiverIdsThrowsErrorIfNotAllArrayValuesAreInteger() {
|
290 |
+
$ids = array(1,2,3,4, 'A string is injected into the array.',6,7,8,9);
|
291 |
+
$this->donation->setAvailableReceiverIds($ids);
|
292 |
+
}
|
293 |
+
|
294 |
+
/**
|
295 |
+
* setGrandTotalMustBeOfTypeIntOrDigitOnlyString
|
296 |
+
*
|
297 |
+
* @test
|
298 |
+
*/
|
299 |
+
public function setGrandTotalMustBeOfTypeIntOrDigitOnlyString() {
|
300 |
+
$this->donation->setGrandTotal(125);
|
301 |
+
$this->assertSame(125, $this->donation->getGrandTotal());
|
302 |
+
|
303 |
+
$this->donation->setGrandTotal('125');
|
304 |
+
$this->assertSame(125, $this->donation->getGrandTotal());
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* setGrandTotaReturnsZeroIfANegativeValueIsGiven
|
309 |
+
*
|
310 |
+
* @test
|
311 |
+
*/
|
312 |
+
public function setGrandTotaReturnsZeroIfANegativeValueIsGiven() {
|
313 |
+
$this->donation->setGrandTotal(-125);
|
314 |
+
$this->assertSame(0, $this->donation->getGrandTotal());
|
315 |
+
}
|
316 |
+
|
317 |
+
/**
|
318 |
+
* setGrandTotalThrowsErrorIfGivenStringIsNotCastableToInt
|
319 |
+
*
|
320 |
+
* @test
|
321 |
+
* @expectedException InvalidArgumentException
|
322 |
+
*/
|
323 |
+
public function setGrandTotalThrowsErrorIfGivenStringIsNotCastableToInt() {
|
324 |
+
$this->donation->setGrandTotal('This string is not castable to int.');
|
325 |
+
}
|
326 |
+
|
327 |
+
/**
|
328 |
+
* setGrandTotalThrowsErrorIfGivenValueIsNeitherCastableStringOrInt
|
329 |
+
*
|
330 |
+
* @test
|
331 |
+
* @expectedException InvalidArgumentException
|
332 |
+
*/
|
333 |
+
public function setGrandTotalThrowsErrorIfGivenValueIsNeitherCastableStringOrInt() {
|
334 |
+
$this->donation->setGrandTotal(array());
|
335 |
+
}
|
336 |
+
|
337 |
+
/**
|
338 |
+
* setTimeStoresTimeInProperty
|
339 |
+
*
|
340 |
+
* @test
|
341 |
+
*/
|
342 |
+
public function setTimeStoresTimeInProperty() {
|
343 |
+
date_default_timezone_set('Europe/Berlin');
|
344 |
+
$time = new DateTime();
|
345 |
+
$this->donation->setTime($time);
|
346 |
+
$this->assertSame($time, $this->donation->getTime());
|
347 |
+
}
|
348 |
+
|
349 |
+
/**
|
350 |
+
* setDonatorAcceptsAValidUser
|
351 |
+
*
|
352 |
+
* @test
|
353 |
+
*/
|
354 |
+
public function setDonatorAcceptsAValidUser() {
|
355 |
+
$this->donation->setDonator('hello@elefunds.de', 'Christian', 'Peters', 'Schönhauser Allee 124', 10243, 'Berlin', 'de');
|
356 |
+
|
357 |
+
$donator = $this->donation->getDonatorInformation();
|
358 |
+
|
359 |
+
$this->assertSame($donator['email'], 'hello@elefunds.de');
|
360 |
+
$this->assertSame($donator['firstName'], 'Christian');
|
361 |
+
$this->assertSame($donator['lastName'], 'Peters');
|
362 |
+
$this->assertSame($donator['streetAddress'], 'Schönhauser Allee 124');
|
363 |
+
$this->assertSame($donator['zip'], 10243);
|
364 |
+
$this->assertSame($donator['city'], 'Berlin');
|
365 |
+
$this->assertSame($donator['countryCode'], 'de');
|
366 |
+
|
367 |
+
}
|
368 |
+
|
369 |
+
/**
|
370 |
+
* setDonatorNeedsAValidEmail
|
371 |
+
*
|
372 |
+
* @test
|
373 |
+
* @expectedException InvalidArgumentException
|
374 |
+
*/
|
375 |
+
public function setDonatorNeedsAValidEmail() {
|
376 |
+
$this->donation->setDonator('hello@elefunds', 'Christian', 'Peters', 'Schönhauser Allee 124', 10243, 'Berlin', 'de');
|
377 |
+
}
|
378 |
+
|
379 |
+
/**
|
380 |
+
* setDonatorDoesNotUseInvalidCountryCodes
|
381 |
+
*
|
382 |
+
* @test
|
383 |
+
*/
|
384 |
+
public function setDonatorDoesNotUseInvalidCountryCodes() {
|
385 |
+
$this->donation->setDonator('hello@elefunds.de', 'Christian', 'Peters', 'Schönhauser Allee 124', 10243, 'Berlin', 'invalid');
|
386 |
+
|
387 |
+
$donator = $this->donation->getDonatorInformation();
|
388 |
+
$this->assertSame(FALSE, isset($donator['countryCode']));
|
389 |
+
}
|
390 |
+
|
391 |
+
/**
|
392 |
+
* toArrayReturnsArrayWithEverythingThatIsSet
|
393 |
+
*
|
394 |
+
* @test
|
395 |
+
*/
|
396 |
+
public function toArrayReturnsArrayWithEverythingThatIsSet() {
|
397 |
+
|
398 |
+
$now = new DateTime();
|
399 |
+
|
400 |
+
$this->donation
|
401 |
+
->setAmount(100)
|
402 |
+
->setAvailableReceiverIds(array(1,2,3))
|
403 |
+
->setForeignId('1234')
|
404 |
+
->setReceiverIds(array(1,2))
|
405 |
+
->setTime($now);
|
406 |
+
|
407 |
+
$array = $this->donation->toArray();
|
408 |
+
|
409 |
+
$this->assertSame($array['donationAmount'], 100);
|
410 |
+
$this->assertSame(implode(',', $array['receiversAvailable']), '1,2,3');
|
411 |
+
$this->assertSame($array['foreignId'], '1234');
|
412 |
+
$this->assertSame(implode(',', $array['receivers']), '1,2');
|
413 |
+
$this->assertSame($array['donationTimestamp'], $now->format(DateTime::ISO8601));
|
414 |
+
|
415 |
+
$this->assertSame(FALSE, isset($array['grandTotal']));
|
416 |
+
$this->assertSame(FALSE, isset($array['donationAmountSuggested']));
|
417 |
+
$this->assertSame(FALSE, isset($array['donator']));
|
418 |
+
|
419 |
+
$this->donation->setGrandTotal(999);
|
420 |
+
$this->donation->setSuggestedAmount(888);
|
421 |
+
$this->donation->setDonator('hello@elefunds.de', 'Christian', 'Peters', 'Schönhauser Allee 124', 10243, 'Berlin', 'invalid');
|
422 |
+
|
423 |
+
$array = $this->donation->toArray();
|
424 |
+
$this->assertSame($array['grandTotal'], 999);
|
425 |
+
$this->assertSame($array['donationAmountSuggested'], 888);
|
426 |
+
$this->assertSame(TRUE, isset($array['donator']));
|
427 |
+
|
428 |
+
}
|
429 |
+
|
430 |
+
}
|
lib/Elefunds/Test/Unit/Model/FactoryTest.php
ADDED
@@ -0,0 +1,107 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../../../Model/Factory.php';
|
41 |
+
require_once dirname(__FILE__) . '/../../../Model/Donation.php';
|
42 |
+
require_once dirname(__FILE__) . '/../../../Model/Receiver.php';
|
43 |
+
|
44 |
+
|
45 |
+
/**
|
46 |
+
* Unit Test for Elefunds_Model_Factory.
|
47 |
+
*
|
48 |
+
* @package elefunds API PHP Library
|
49 |
+
* @subpackage Test
|
50 |
+
* @author Christian Peters <christian@elefunds.de>
|
51 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
52 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
53 |
+
* @link http://www.elefunds.de
|
54 |
+
* @since File available since Release 1.0.0
|
55 |
+
*/
|
56 |
+
class Elefunds_Test_Unit_Model_FactoryTest extends PHPUnit_Framework_TestCase {
|
57 |
+
|
58 |
+
|
59 |
+
/**
|
60 |
+
* getDonationProducesDonationPrototype
|
61 |
+
*
|
62 |
+
* @test
|
63 |
+
*/
|
64 |
+
public function getDonationProducesDonationPrototype() {
|
65 |
+
|
66 |
+
Elefunds_Model_Factory::setDonationImplementation('Elefunds_Model_Donation');
|
67 |
+
$prototype = Elefunds_Model_Factory::getDonation();
|
68 |
+
|
69 |
+
$this->assertInstanceOf('Elefunds_Model_DonationInterface', $prototype);
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* getReceiverProducesReceiverPrototype
|
74 |
+
*
|
75 |
+
* @test
|
76 |
+
*/
|
77 |
+
public function getReceiverProducesReceiverPrototype() {
|
78 |
+
|
79 |
+
Elefunds_Model_Factory::setReceiverImplementation('Elefunds_Model_Receiver');
|
80 |
+
$prototype = Elefunds_Model_Factory::getReceiver();
|
81 |
+
|
82 |
+
$this->assertInstanceOf('Elefunds_Model_ReceiverInterface', $prototype);
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* getDonationProducesErrorIfGivenInstanceIsNotDonationInterface
|
87 |
+
*
|
88 |
+
* @test
|
89 |
+
* @expectedException Elefunds_Exception_ElefundsException
|
90 |
+
*/
|
91 |
+
public function getDonationProducesErrorIfGivenInstanceIsNotDonationInterface() {
|
92 |
+
Elefunds_Model_Factory::setDonationImplementation('Elefunds_Model_Receiver');
|
93 |
+
Elefunds_Model_Factory::getDonation();
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* getReceiverProducesErrorIfGivenInstanceIsNotReceiverInterface
|
98 |
+
*
|
99 |
+
* @test
|
100 |
+
* @expectedException Elefunds_Exception_ElefundsException
|
101 |
+
*/
|
102 |
+
public function getReceiverProducesErrorIfGivenInstanceIsNotReceiverInterface() {
|
103 |
+
Elefunds_Model_Factory::setReceiverImplementation('Elefunds_Model_Donation');
|
104 |
+
Elefunds_Model_Factory::getReceiver();
|
105 |
+
}
|
106 |
+
|
107 |
+
}
|
lib/Elefunds/Test/Unit/Model/ReceiverTest.php
ADDED
@@ -0,0 +1,340 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../../../Model/Receiver.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Unit Test for Elefunds_Model_Receiver.
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Test
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Test_Unit_Model_ReceiverTest extends PHPUnit_Framework_TestCase {
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @var Elefunds_Model_Receiver
|
57 |
+
*/
|
58 |
+
protected $receiver;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Sets up the class under test.
|
62 |
+
*/
|
63 |
+
public function setUp() {
|
64 |
+
$this->receiver = new Elefunds_Model_Receiver();
|
65 |
+
}
|
66 |
+
|
67 |
+
/**
|
68 |
+
* setIdAcceptsPositiveIntegerValuesAsId
|
69 |
+
*
|
70 |
+
* @test
|
71 |
+
*/
|
72 |
+
public function setIdAcceptsPositiveIntegerValuesAsId() {
|
73 |
+
$this->receiver->setId(1000);
|
74 |
+
$this->assertSame(1000, $this->receiver->getId());
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* setIdThrowsErrorIfNonPositiveIdIsGiven
|
79 |
+
*
|
80 |
+
* @test
|
81 |
+
* @expectedException InvalidArgumentException
|
82 |
+
*/
|
83 |
+
public function setIdThrowsErrorIfNonPositiveIdIsGiven() {
|
84 |
+
$this->receiver->setId(0);
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* setIdThrowsErrorIfGivenTypeIsNotInt
|
89 |
+
*
|
90 |
+
* @test
|
91 |
+
* @expectedException InvalidArgumentException
|
92 |
+
*/
|
93 |
+
public function setIdThrowsErrorIfGivenTypeIsNotInt() {
|
94 |
+
$this->receiver->setId(new stdClass());
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* setNameAcceptsString
|
99 |
+
*
|
100 |
+
* @test
|
101 |
+
*/
|
102 |
+
public function setNameAcceptsString() {
|
103 |
+
$this->receiver->setName('Testing is awesome!');
|
104 |
+
$this->assertSame('Testing is awesome!', $this->receiver->getName());
|
105 |
+
}
|
106 |
+
|
107 |
+
|
108 |
+
/**
|
109 |
+
* setNameThrowsErrorIfGivenTypeIsNotString
|
110 |
+
*
|
111 |
+
* @test
|
112 |
+
* @expectedException InvalidArgumentException
|
113 |
+
*/
|
114 |
+
public function setNameThrowsErrorIfGivenTypeIsNotString() {
|
115 |
+
$this->receiver->setName(new stdClass());
|
116 |
+
}
|
117 |
+
|
118 |
+
/**
|
119 |
+
* setDescriptionAcceptsString
|
120 |
+
*
|
121 |
+
* @test
|
122 |
+
*/
|
123 |
+
public function setDescriptionAcceptsString() {
|
124 |
+
$this->receiver->setDescription('Testing is awesome!');
|
125 |
+
$this->assertSame('Testing is awesome!', $this->receiver->getDescription());
|
126 |
+
}
|
127 |
+
|
128 |
+
|
129 |
+
/**
|
130 |
+
* setDescriptionThrowsErrorIfGivenTypeIsNotString
|
131 |
+
*
|
132 |
+
* @test
|
133 |
+
* @expectedException InvalidArgumentException
|
134 |
+
*/
|
135 |
+
public function setDescriptionThrowsErrorIfGivenTypeIsNotString() {
|
136 |
+
$this->receiver->setDescription(new stdClass());
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* addImagesAddsAnImageToTheArrayOfImages
|
141 |
+
*
|
142 |
+
* @test
|
143 |
+
*/
|
144 |
+
public function addImagesAddsAnImageToTheArrayOfImages() {
|
145 |
+
$imageUrl = 'http://elefunds.de/img/logo.png';
|
146 |
+
$this->receiver->addImage($imageUrl, 'vertical', 'small');
|
147 |
+
$this->assertSame($imageUrl, $this->receiver->getImage('vertical', 'small'));
|
148 |
+
}
|
149 |
+
|
150 |
+
/**
|
151 |
+
* addImagesAcceptsOnlyVerticalOrHorizontalAsFirstKey
|
152 |
+
*
|
153 |
+
* @test
|
154 |
+
* @expectedException InvalidArgumentException
|
155 |
+
*/
|
156 |
+
public function addImagesAcceptsOnlyVerticalOrHorizontalAsFirstKey() {
|
157 |
+
$imageUrl = 'http://elefunds.de/img/logo.png';
|
158 |
+
$this->receiver->addImage($imageUrl, 'some invalid string', 'small');
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* addImagesAcceptsOnlySmallMediumAndLargeAsSecondKey
|
163 |
+
*
|
164 |
+
* @test
|
165 |
+
* @expectedException InvalidArgumentException
|
166 |
+
*/
|
167 |
+
public function addImagesAcceptsOnlySmallMediumAndLargeAsSecondKey() {
|
168 |
+
$imageUrl = 'http://elefunds.de/img/logo.png';
|
169 |
+
$this->receiver->addImage($imageUrl, 'horizontal', 'invalid');
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* getImagesAcceptsOnlyVerticalOrHorizontalAsFirstKey
|
174 |
+
*
|
175 |
+
* @test
|
176 |
+
* @expectedException InvalidArgumentException
|
177 |
+
*/
|
178 |
+
public function getImagesAcceptsOnlyVerticalOrHorizontalAsFirstKey() {
|
179 |
+
$this->receiver->getImage('http://elefunds.de/img/sample.jpg', 'some invalid string', 'small');
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* getImagesAcceptsOnlySmallMediumAndLargeAsSecondKey
|
184 |
+
*
|
185 |
+
* @test
|
186 |
+
* @expectedException InvalidArgumentException
|
187 |
+
*/
|
188 |
+
public function getImagesAcceptsOnlySmallMediumAndLargeAsSecondKey() {
|
189 |
+
$this->receiver->getImage('http://elefunds.de/img/sample.jpg', 'horizontal', 'large');
|
190 |
+
}
|
191 |
+
|
192 |
+
/**
|
193 |
+
* setImagesAcceptsAValidStructuredArrayOfImages
|
194 |
+
*
|
195 |
+
* @test
|
196 |
+
*/
|
197 |
+
public function setImagesAcceptsAValidStructuredArrayOfImages() {
|
198 |
+
$images = array(
|
199 |
+
'horizontal' => array(
|
200 |
+
|
201 |
+
'small' => 'http://elefunds.de/img/logo1.png',
|
202 |
+
'medium' => 'http://elefunds.de/img/logo2.png',
|
203 |
+
'large' => 'http://elefunds.de/img/logo3.png'
|
204 |
+
|
205 |
+
),
|
206 |
+
|
207 |
+
'vertical' => array(
|
208 |
+
|
209 |
+
'small' => 'http://elefunds.de/img/logo1.png',
|
210 |
+
'medium' => 'http://elefunds.de/img/logo2.png',
|
211 |
+
'large' => 'http://elefunds.de/img/logo3.png'
|
212 |
+
|
213 |
+
)
|
214 |
+
|
215 |
+
);
|
216 |
+
|
217 |
+
$this->receiver->setImages($images);
|
218 |
+
|
219 |
+
$settedArray = $this->receiver->getImages();
|
220 |
+
|
221 |
+
$this->assertArrayHasKey('horizontal', $settedArray);
|
222 |
+
$this->assertArrayHasKey('vertical', $settedArray);
|
223 |
+
$this->assertArrayHasKey('small', $settedArray['horizontal']);
|
224 |
+
$this->assertArrayHasKey('medium', $settedArray['horizontal']);
|
225 |
+
$this->assertArrayHasKey('large', $settedArray['horizontal']);
|
226 |
+
$this->assertArrayHasKey('small', $settedArray['vertical']);
|
227 |
+
$this->assertArrayHasKey('medium', $settedArray['vertical']);
|
228 |
+
$this->assertArrayHasKey('large', $settedArray['vertical']);
|
229 |
+
|
230 |
+
$this->assertSame('http://elefunds.de/img/logo1.png', $settedArray['horizontal']['small']);
|
231 |
+
$this->assertSame('http://elefunds.de/img/logo2.png', $settedArray['horizontal']['medium']);
|
232 |
+
$this->assertSame('http://elefunds.de/img/logo3.png', $settedArray['horizontal']['large']);
|
233 |
+
$this->assertSame('http://elefunds.de/img/logo1.png', $settedArray['vertical']['small']);
|
234 |
+
$this->assertSame('http://elefunds.de/img/logo2.png', $settedArray['vertical']['medium']);
|
235 |
+
$this->assertSame('http://elefunds.de/img/logo3.png', $settedArray['vertical']['large']);
|
236 |
+
|
237 |
+
// Part structures are okay as well
|
238 |
+
$images = array(
|
239 |
+
'horizontal' => array(
|
240 |
+
|
241 |
+
'small' => 'http://elefunds.de/img/logo1.png',
|
242 |
+
'medium' => 'http://elefunds.de/img/logo2.png',
|
243 |
+
)
|
244 |
+
);
|
245 |
+
|
246 |
+
$this->receiver->setImages($images);
|
247 |
+
|
248 |
+
$settedArray = $this->receiver->getImages();
|
249 |
+
$this->assertArrayHasKey('horizontal', $settedArray);
|
250 |
+
$this->assertArrayHasKey('small', $settedArray['horizontal']);
|
251 |
+
$this->assertArrayHasKey('medium', $settedArray['horizontal']);
|
252 |
+
$this->assertSame('http://elefunds.de/img/logo1.png', $settedArray['horizontal']['small']);
|
253 |
+
$this->assertSame('http://elefunds.de/img/logo2.png', $settedArray['horizontal']['medium']);
|
254 |
+
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* setImagesThrowsErrorOnInvalidArrayStructure
|
258 |
+
*
|
259 |
+
* @test
|
260 |
+
* @expectedException InvalidArgumentException
|
261 |
+
*/
|
262 |
+
public function setImagesThrowsErrorOnInvalidArrayStructure() {
|
263 |
+
$images = array(
|
264 |
+
'horizontal' => array(
|
265 |
+
|
266 |
+
'small' => 'http://elefunds.de/img/logo1.png',
|
267 |
+
'IM NOT VALID' => 'http://elefunds.de/img/logo2.png',
|
268 |
+
'large' => 'http://elefunds.de/img/logo3.png'
|
269 |
+
|
270 |
+
),
|
271 |
+
|
272 |
+
'IM NOT VALID' => array(
|
273 |
+
|
274 |
+
'small' => 'http://elefunds.de/img/logo1.png',
|
275 |
+
'medium' => 'http://elefunds.de/img/logo2.png',
|
276 |
+
'large' => 'http://elefunds.de/img/logo3.png'
|
277 |
+
|
278 |
+
)
|
279 |
+
|
280 |
+
);
|
281 |
+
|
282 |
+
$this->receiver->setImages($images);
|
283 |
+
}
|
284 |
+
|
285 |
+
/**
|
286 |
+
* setImagesThrowsErrorIfNoMultidimensionalArrayGiven
|
287 |
+
*
|
288 |
+
* @test
|
289 |
+
* @expectedException InvalidArgumentException
|
290 |
+
*/
|
291 |
+
public function setImagesThrowsErrorIfNoMultidimensionalArrayGiven() {
|
292 |
+
$images = array(
|
293 |
+
'horizontal' => array(
|
294 |
+
|
295 |
+
'small' => 'http://elefunds.de/img/logo1.png',
|
296 |
+
'medium' => 'http://elefunds.de/img/logo2.png',
|
297 |
+
'large' => 'http://elefunds.de/img/logo3.png'
|
298 |
+
|
299 |
+
),
|
300 |
+
|
301 |
+
'vertical' => 'http://elefunds.de/img/logo1.png'
|
302 |
+
|
303 |
+
);
|
304 |
+
|
305 |
+
$this->receiver->setImages($images);
|
306 |
+
}
|
307 |
+
|
308 |
+
/**
|
309 |
+
* isValidReturnsTrueIfValidTimeIsInTheFuture
|
310 |
+
*
|
311 |
+
* @test
|
312 |
+
*/
|
313 |
+
public function isValidReturnsTrueIfValidTimeIsInTheFuture() {
|
314 |
+
|
315 |
+
$validTime = new DateTime();
|
316 |
+
$validTime->modify('+ 1 month');
|
317 |
+
|
318 |
+
$this->receiver->setValidTime($validTime);
|
319 |
+
|
320 |
+
$this->assertSame(TRUE, $this->receiver->isValid());
|
321 |
+
|
322 |
+
}
|
323 |
+
|
324 |
+
/**
|
325 |
+
* isValidReturnsFalseIfValidTimeIsInThePast
|
326 |
+
*
|
327 |
+
* @test
|
328 |
+
*/
|
329 |
+
public function isValidReturnsFalseIfValidTimeIsInThePast() {
|
330 |
+
|
331 |
+
$validTime = new DateTime();
|
332 |
+
$validTime->modify('- 1 month');
|
333 |
+
|
334 |
+
$this->receiver->setValidTime($validTime);
|
335 |
+
|
336 |
+
$this->assertSame(FALSE, $this->receiver->isValid());
|
337 |
+
|
338 |
+
}
|
339 |
+
|
340 |
+
}
|
lib/Elefunds/Test/Unit/View/BaseViewTest.php
ADDED
@@ -0,0 +1,227 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/../../../View/BaseView.php';
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Unit Test for Elefunds_View_BaseView.
|
44 |
+
*
|
45 |
+
* @package elefunds API PHP Library
|
46 |
+
* @subpackage Test
|
47 |
+
* @author Christian Peters <christian@elefunds.de>
|
48 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
49 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
50 |
+
* @link http://www.elefunds.de
|
51 |
+
* @since File available since Release 1.0.0
|
52 |
+
*/
|
53 |
+
class Elefunds_Test_Unit_View_BaseViewTest extends PHPUnit_Framework_TestCase {
|
54 |
+
|
55 |
+
/**
|
56 |
+
* @var Elefunds_View_BaseView
|
57 |
+
*/
|
58 |
+
protected $view;
|
59 |
+
|
60 |
+
/**
|
61 |
+
* BaseView is meant to be extended, so we have to do some tricks for proper testing ...
|
62 |
+
*
|
63 |
+
* @var ReflectionClass
|
64 |
+
*/
|
65 |
+
protected $reflectionClass;
|
66 |
+
|
67 |
+
/**
|
68 |
+
* Sets up the class under test.
|
69 |
+
*/
|
70 |
+
public function setUp() {
|
71 |
+
$this->view = new Elefunds_View_BaseView();
|
72 |
+
|
73 |
+
// Set dummy test name
|
74 |
+
$this->view->setTemplate('Dummy');
|
75 |
+
|
76 |
+
// We need some reflection for more insight here ...
|
77 |
+
$this->reflectionClass = new ReflectionClass('Elefunds_View_BaseView');
|
78 |
+
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* registerHooksThrowsErrorIfClassDoesNotExist
|
83 |
+
*
|
84 |
+
* @test
|
85 |
+
* @expectedException InvalidArgumentException
|
86 |
+
*/
|
87 |
+
public function registerHooksThrowsErrorIfClassDoesNotExist() {
|
88 |
+
$this->view->registerAssignHook('someVar', 'NonExistingClass', 'NonExistingMethod');
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* registerHooksThrowsErrorIfMethodDoesNotExist
|
93 |
+
*
|
94 |
+
* @test
|
95 |
+
* @expectedException InvalidArgumentException
|
96 |
+
*/
|
97 |
+
public function registerHooksThrowsErrorIfMethodDoesNotExist() {
|
98 |
+
$this->view->registerAssignHook('someVar', $this, 'NonExistingMethod');
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* registerHooksAddsHookIfClassAndMethodExistsAndItGetsCalledWhenAKeyIsAssigned
|
103 |
+
*
|
104 |
+
* @test
|
105 |
+
*/
|
106 |
+
public function registerHooksAddsHookIfClassAndMethodExistsAndItGetsCalledWhenAKeyIsAssigned() {
|
107 |
+
|
108 |
+
// The class itself does not matter, we could use any as hook
|
109 |
+
$sampleClass = $this->getMock('Elefunds_View_BaseView');
|
110 |
+
$sampleClass->expects($this->once())
|
111 |
+
->method('getCssFiles');
|
112 |
+
|
113 |
+
$this->view->registerAssignHook('someKey', $sampleClass, 'getCssFiles');
|
114 |
+
$this->view->assign('someKey', 'someValue');
|
115 |
+
|
116 |
+
}
|
117 |
+
|
118 |
+
|
119 |
+
/**
|
120 |
+
* setCssFilesCalculatesTheCorrectPathAndChecksForExistance
|
121 |
+
*
|
122 |
+
* @test
|
123 |
+
*/
|
124 |
+
public function setCssFilesCalculatesTheCorrectPathAndChecksForExistance() {
|
125 |
+
|
126 |
+
$additionalInformation = array();
|
127 |
+
try {
|
128 |
+
$this->view->addCssFile('test.css');
|
129 |
+
} catch (Elefunds_Exception_ElefundsException $exception) {
|
130 |
+
|
131 |
+
$additionalInformation = $exception->getAdditionalInformation();
|
132 |
+
}
|
133 |
+
|
134 |
+
$this->assertSame('Template/Dummy/Css/test.css', $additionalInformation['filepath']);
|
135 |
+
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* setJavascriptFilesCalculatesTheCorrectPathAndChecksForExistance
|
140 |
+
*
|
141 |
+
* @test
|
142 |
+
*/
|
143 |
+
public function setJavascriptFilesCalculatesTheCorrectPathAndChecksForExistance() {
|
144 |
+
|
145 |
+
$additionalInformation = array();
|
146 |
+
try {
|
147 |
+
$this->view->addJavascriptFile('test.js');
|
148 |
+
} catch (Elefunds_Exception_ElefundsException $exception) {
|
149 |
+
$additionalInformation = $exception->getAdditionalInformation();
|
150 |
+
}
|
151 |
+
|
152 |
+
$this->assertSame('Template/Dummy/Javascript/test.js', $additionalInformation['filepath']);
|
153 |
+
|
154 |
+
}
|
155 |
+
|
156 |
+
/**
|
157 |
+
* assignSetsValueToTheView
|
158 |
+
*
|
159 |
+
* @test
|
160 |
+
*/
|
161 |
+
public function assignSetsValueToTheView() {
|
162 |
+
|
163 |
+
$foo = new stdClass();
|
164 |
+
$foo->bar = 'baz';
|
165 |
+
|
166 |
+
$this->view->assign('foo', $foo);
|
167 |
+
|
168 |
+
$reflectionProperty = $this->reflectionClass->getProperty('view');
|
169 |
+
$reflectionProperty->setAccessible(TRUE);
|
170 |
+
$view = $reflectionProperty->getValue($this->view);
|
171 |
+
$this->assertSame($foo->bar, $view['foo']->bar);
|
172 |
+
|
173 |
+
}
|
174 |
+
|
175 |
+
/**
|
176 |
+
* assignMultipleAssignsMultipleValues
|
177 |
+
*
|
178 |
+
* @test
|
179 |
+
*/
|
180 |
+
public function assignMultipleAssignsMultipleValues() {
|
181 |
+
$this->view->assignMultiple(array(
|
182 |
+
'foo' => 'bar',
|
183 |
+
'baz' => 'boo'
|
184 |
+
));
|
185 |
+
|
186 |
+
$reflectionProperty = $this->reflectionClass->getProperty('view');
|
187 |
+
$reflectionProperty->setAccessible(TRUE);
|
188 |
+
$view = $reflectionProperty->getValue($this->view);
|
189 |
+
$this->assertSame('bar', $view['foo']);
|
190 |
+
$this->assertSame('boo', $view['baz']);
|
191 |
+
}
|
192 |
+
|
193 |
+
/**
|
194 |
+
* renderCalculatesTheCorrectPathToViewPhtmlAndChecksForExistance
|
195 |
+
*
|
196 |
+
* @test
|
197 |
+
*/
|
198 |
+
public function renderCalculatesTheCorrectPathToViewPhtmlAndChecksForExistance() {
|
199 |
+
|
200 |
+
try {
|
201 |
+
$this->view->render('Test');
|
202 |
+
} catch (Elefunds_Exception_ElefundsException $exception) {
|
203 |
+
$additionalInformation = $exception->getAdditionalInformation();
|
204 |
+
}
|
205 |
+
|
206 |
+
$filepathExtractDoesMatch = strpos($additionalInformation['filepath'], 'Template/Dummy/Test.phtml') !== FALSE;
|
207 |
+
$this->assertSame(TRUE, $filepathExtractDoesMatch);
|
208 |
+
|
209 |
+
}
|
210 |
+
|
211 |
+
/**
|
212 |
+
* renderTakesFullpathIfFlagIsSet
|
213 |
+
*
|
214 |
+
* @test
|
215 |
+
*/
|
216 |
+
public function renderTakesFullpathIfFlagIsSet() {
|
217 |
+
try {
|
218 |
+
$this->view->render('FullyQualifiedGiven', TRUE);
|
219 |
+
} catch (Elefunds_Exception_ElefundsException $exception) {
|
220 |
+
$additionalInformation = $exception->getAdditionalInformation();
|
221 |
+
}
|
222 |
+
|
223 |
+
$filepathExtractDoesMatch = strpos($additionalInformation['filepath'], 'FullyQualifiedGiven') !== FALSE;
|
224 |
+
$this->assertSame(TRUE, $filepathExtractDoesMatch);
|
225 |
+
}
|
226 |
+
|
227 |
+
}
|
lib/Elefunds/View/BaseView.php
ADDED
@@ -0,0 +1,358 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
require_once dirname(__FILE__) . '/ViewInterface.php';
|
41 |
+
require_once dirname(__FILE__) . '/../Exception/ElefundsException.php';
|
42 |
+
|
43 |
+
/**
|
44 |
+
* View for the elefunds API.
|
45 |
+
*
|
46 |
+
* @package elefunds API PHP Library
|
47 |
+
* @subpackage View
|
48 |
+
* @author Christian Peters <christian@elefunds.de>
|
49 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
50 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
51 |
+
* @link http://www.elefunds.de
|
52 |
+
* @since File available since Release 1.0.0
|
53 |
+
*/
|
54 |
+
class Elefunds_View_BaseView implements Elefunds_View_ViewInterface {
|
55 |
+
|
56 |
+
/**
|
57 |
+
* @var array
|
58 |
+
*/
|
59 |
+
protected $view = array();
|
60 |
+
|
61 |
+
/**
|
62 |
+
* The template of this plugin.
|
63 |
+
*
|
64 |
+
* @var string
|
65 |
+
*/
|
66 |
+
protected $template;
|
67 |
+
|
68 |
+
/**
|
69 |
+
* @var array
|
70 |
+
*/
|
71 |
+
protected $javascriptFiles = array();
|
72 |
+
|
73 |
+
/**
|
74 |
+
* @var array
|
75 |
+
*/
|
76 |
+
protected $cssFiles = array();
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Array of the following structure:
|
80 |
+
*
|
81 |
+
* <code
|
82 |
+
* $hook = array(
|
83 |
+
* 'hookName' => array(
|
84 |
+
* 'class' => 'someClass',
|
85 |
+
* 'method' => 'someMethod'
|
86 |
+
* )
|
87 |
+
* );
|
88 |
+
* </code>
|
89 |
+
*
|
90 |
+
*
|
91 |
+
* @var array
|
92 |
+
*/
|
93 |
+
protected $assignHooks = array();
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Sets the name of the template. This must be corresponding to
|
97 |
+
* the name of a folder in the Template folder.
|
98 |
+
*
|
99 |
+
* @param string $template
|
100 |
+
* @return Elefunds_View_ViewInterface
|
101 |
+
*/
|
102 |
+
public function setTemplate($template) {
|
103 |
+
$this->template = ucfirst(strtolower($template));
|
104 |
+
return $this;
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Returns the template name of this view.
|
109 |
+
*
|
110 |
+
* @return string
|
111 |
+
*/
|
112 |
+
public function getTemplate() {
|
113 |
+
return $this->template;
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Returns all javascript files that are required for this plugin to work in their correct order.
|
118 |
+
*
|
119 |
+
* The given path is relative to the folder of this library without trailing slash. E.g.:
|
120 |
+
*
|
121 |
+
* 'Template/YourTemplate/Javascript/script.min.js'
|
122 |
+
*
|
123 |
+
* Hence, you have to add your base path ahead of it if you want to include it.
|
124 |
+
*
|
125 |
+
* Like this:
|
126 |
+
*
|
127 |
+
* <code>
|
128 |
+
* <?php foreach($javaScripts as $javaScript): ?>
|
129 |
+
* <script type="text/javascript" src="http://elefunds.de/plugins/<?php echo $javascript; ?>"></script>
|
130 |
+
* <?php endforeach; ?>
|
131 |
+
* </code>
|
132 |
+
*
|
133 |
+
* If you write your own template files, minimize your javascript and try to deliver as few as possible.
|
134 |
+
*
|
135 |
+
* @return array
|
136 |
+
*/
|
137 |
+
public function getJavascriptFiles() {
|
138 |
+
return $this->javascriptFiles;
|
139 |
+
}
|
140 |
+
|
141 |
+
/**
|
142 |
+
* Returns all css files that are required for this plugin to work in their correct order.
|
143 |
+
*
|
144 |
+
* The given path is relative to the folder of this library without trailing slash. E.g.:
|
145 |
+
*
|
146 |
+
* 'Template/YourTemplate/Css/styles.css'
|
147 |
+
*
|
148 |
+
* Hence, you have to add your basepath ahead of it if you want to include it.
|
149 |
+
*
|
150 |
+
* Like this:
|
151 |
+
*
|
152 |
+
* <code>
|
153 |
+
* <?php foreach($cssFiles as $cssFile): ?>
|
154 |
+
* <link rel="stylesheet" type="text/css" href="http://elefunds.de/plugins/<?php echo $cssFile; ?>">
|
155 |
+
* <?php endforeach; ?>
|
156 |
+
* </code>
|
157 |
+
*
|
158 |
+
* If you write your own template files, minimze your css files and try to deliver as few as possible.
|
159 |
+
*
|
160 |
+
* @return array
|
161 |
+
*/
|
162 |
+
public function getCssFiles() {
|
163 |
+
return $this->cssFiles;
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Removes all css files.
|
168 |
+
*
|
169 |
+
* @return void
|
170 |
+
*/
|
171 |
+
public function flushCssFiles() {
|
172 |
+
$this->cssFiles = array();
|
173 |
+
}
|
174 |
+
|
175 |
+
/**
|
176 |
+
* Adds hooks that are called when a value is assigned to the view.
|
177 |
+
*
|
178 |
+
* Hence you can auto-calculate dependencies (like a round up suggestion when a grand
|
179 |
+
* total is assigned).
|
180 |
+
*
|
181 |
+
* Hooks are called with a reference to this view (so you can assign for yourself) and the
|
182 |
+
* called value as second parameter.
|
183 |
+
*
|
184 |
+
* Be sure that all classes are required_once.
|
185 |
+
*
|
186 |
+
* @param string $name equals the assignValue that should be hooked.
|
187 |
+
* @param mixed $class string (class name) or instance
|
188 |
+
* @param string $method
|
189 |
+
* @throws InvalidArgumentException
|
190 |
+
* @return Elefunds_View_ViewInterface
|
191 |
+
*/
|
192 |
+
public function registerAssignHook($name, $class, $method) {
|
193 |
+
|
194 |
+
if (method_exists($class, $method)) {
|
195 |
+
$this->assignHooks[$name] = array(
|
196 |
+
'class' => $class,
|
197 |
+
'method' => $method
|
198 |
+
);
|
199 |
+
} else {
|
200 |
+
throw new InvalidArgumentException('Given method or class does not exist or is not used. Did you require_once it?', 1348567047);
|
201 |
+
}
|
202 |
+
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Returns all already assigned values.
|
206 |
+
*
|
207 |
+
* @return array
|
208 |
+
*/
|
209 |
+
public function getAssignments() {
|
210 |
+
return $this->view;
|
211 |
+
}
|
212 |
+
|
213 |
+
/**
|
214 |
+
* Assigns variables to the view and calls hooks if registered.
|
215 |
+
*
|
216 |
+
* @param string $key
|
217 |
+
* @param mixed $value
|
218 |
+
* @throws InvalidArgumentException if given key is not a string
|
219 |
+
* @return Elefunds_View_ViewInterface
|
220 |
+
*/
|
221 |
+
public function assign($key, $value) {
|
222 |
+
if (is_string($key)) {
|
223 |
+
$this->view[$key] = $value;
|
224 |
+
|
225 |
+
if (isset($this->assignHooks[$key])) {
|
226 |
+
call_user_func_array(
|
227 |
+
array(
|
228 |
+
$this->assignHooks[$key]['class'],
|
229 |
+
$this->assignHooks[$key]['method']
|
230 |
+
),
|
231 |
+
array($this, $value)
|
232 |
+
);
|
233 |
+
}
|
234 |
+
|
235 |
+
} else {
|
236 |
+
throw new InvalidArgumentException('Given key must be a string.', 1347988964615);
|
237 |
+
}
|
238 |
+
return $this;
|
239 |
+
}
|
240 |
+
|
241 |
+
/**
|
242 |
+
* Add multiple variables to the view.
|
243 |
+
*
|
244 |
+
* @param array $values array in the format array(key1 => value1, key2 => value2).
|
245 |
+
* @return Elefunds_View_ViewInterface
|
246 |
+
*/
|
247 |
+
public function assignMultiple(array $values) {
|
248 |
+
foreach($values as $key => $value) {
|
249 |
+
$this->assign($key, $value);
|
250 |
+
}
|
251 |
+
return $this;
|
252 |
+
}
|
253 |
+
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Renders the given output.
|
257 |
+
*
|
258 |
+
* @param string $templateName name of the template to render
|
259 |
+
* @param bool $givenTemplateNameIsAbsolutePathWithFullyQualifiedFilename
|
260 |
+
* @throws Elefunds_Exception_ElefundsException
|
261 |
+
*
|
262 |
+
* @return string the rendered HTML
|
263 |
+
*/
|
264 |
+
public function render($templateName = 'View', $givenTemplateNameIsAbsolutePathWithFullyQualifiedFilename = FALSE) {
|
265 |
+
|
266 |
+
if ($givenTemplateNameIsAbsolutePathWithFullyQualifiedFilename) {
|
267 |
+
$filepath = $templateName;
|
268 |
+
} else {
|
269 |
+
$filepath = dirname(__FILE__) . '/../Template/' . $this->template . '/' . $templateName . '.phtml';
|
270 |
+
}
|
271 |
+
|
272 |
+
if (file_exists($filepath)) {
|
273 |
+
$view = $this->view;
|
274 |
+
|
275 |
+
ob_start();
|
276 |
+
include_once $filepath;
|
277 |
+
$output = ob_get_contents();
|
278 |
+
ob_end_clean();
|
279 |
+
|
280 |
+
return $output;
|
281 |
+
} else {
|
282 |
+
throw new Elefunds_Exception_ElefundsException('View.phtml not found in your template folder.',
|
283 |
+
1348041578910,
|
284 |
+
array('filepath' => $filepath));
|
285 |
+
}
|
286 |
+
}
|
287 |
+
|
288 |
+
/**
|
289 |
+
* Add your css file with it's pure file name (e.g. 'styles.css') and save it
|
290 |
+
* as /Template/YourTemplateFolder/Css/styles.css
|
291 |
+
*
|
292 |
+
* @param string $file
|
293 |
+
* @throws Elefunds_Exception_ElefundsException if file does not exist
|
294 |
+
* @return Elefunds_View_ViewInterface
|
295 |
+
*/
|
296 |
+
public function addCssFile($file) {
|
297 |
+
$templateFolder = ucfirst(strtolower($this->template));
|
298 |
+
$filepath = 'Template/' . $templateFolder . '/Css/' . $file;
|
299 |
+
if (file_exists(dirname(__FILE__) . '/../' . $filepath)) {
|
300 |
+
$this->cssFiles[] = $filepath;
|
301 |
+
} else {
|
302 |
+
throw new Elefunds_Exception_ElefundsException('Given CSS file ' . $file . ' does not exist.',
|
303 |
+
1348041578905,
|
304 |
+
array('filepath' => $filepath));
|
305 |
+
}
|
306 |
+
}
|
307 |
+
|
308 |
+
/**
|
309 |
+
* Add your css files.
|
310 |
+
*
|
311 |
+
* Wrapper for addCss($file).
|
312 |
+
*
|
313 |
+
* @param array $files
|
314 |
+
* @throws Elefunds_Exception_ElefundsException if file does not exist
|
315 |
+
* @return Elefunds_View_ViewInterface
|
316 |
+
*/
|
317 |
+
public function addCssFiles(array $files) {
|
318 |
+
foreach ($files as $file) {
|
319 |
+
$this->addCssFile($file);
|
320 |
+
}
|
321 |
+
}
|
322 |
+
|
323 |
+
/**
|
324 |
+
* Add your js file with it's pure file name (e.g. 'myjavascript.js') and save it
|
325 |
+
* as /Template/YourTemplateFolder/Javascript/myjavascript.js
|
326 |
+
*
|
327 |
+
* @param string $file
|
328 |
+
* @throws Elefunds_Exception_ElefundsException if file does not exist
|
329 |
+
* @return Elefunds_View_ViewInterface
|
330 |
+
*/
|
331 |
+
public function addJavascriptFile($file) {
|
332 |
+
$templateFolder = ucfirst(strtolower($this->template));
|
333 |
+
$filepath = 'Template/' . $templateFolder . '/Javascript/' . $file;
|
334 |
+
if (file_exists(dirname(__FILE__) . '/../' . $filepath)) {
|
335 |
+
$this->javascriptFiles[] = $filepath;
|
336 |
+
} else {
|
337 |
+
throw new Elefunds_Exception_ElefundsException('Given Javascript file ' . $file . ' does not exist.',
|
338 |
+
1348041578907,
|
339 |
+
array('filepath' => $filepath));
|
340 |
+
}
|
341 |
+
}
|
342 |
+
|
343 |
+
/**
|
344 |
+
* Add your js files.
|
345 |
+
*
|
346 |
+
* Wrapper for addJavascriptFiles($file).
|
347 |
+
*
|
348 |
+
* @param array $files
|
349 |
+
* @throws Elefunds_Exception_ElefundsException if file does not exist
|
350 |
+
* @return Elefunds_View_ViewInterface
|
351 |
+
*/
|
352 |
+
public function addJavascriptFiles(array $files) {
|
353 |
+
foreach ($files as $file) {
|
354 |
+
$this->addJavascriptFile($file);
|
355 |
+
}
|
356 |
+
}
|
357 |
+
|
358 |
+
}
|
lib/Elefunds/View/ViewInterface.php
ADDED
@@ -0,0 +1,219 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* elefunds API PHP Library
|
5 |
+
*
|
6 |
+
* Copyright (c) 2012, elefunds GmbH <hello@elefunds.de>.
|
7 |
+
* All rights reserved.
|
8 |
+
*
|
9 |
+
* Redistribution and use in source and binary forms, with or without
|
10 |
+
* modification, are permitted provided that the following conditions
|
11 |
+
* are met:
|
12 |
+
*
|
13 |
+
* * Redistributions of source code must retain the above copyright
|
14 |
+
* notice, this list of conditions and the following disclaimer.
|
15 |
+
*
|
16 |
+
* * Redistributions in binary form must reproduce the above copyright
|
17 |
+
* notice, this list of conditions and the following disclaimer in
|
18 |
+
* the documentation and/or other materials provided with the
|
19 |
+
* distribution.
|
20 |
+
*
|
21 |
+
* * Neither the name of the elefunds GmbH nor the names of its
|
22 |
+
* contributors may be used to endorse or promote products derived
|
23 |
+
* from this software without specific prior written permission.
|
24 |
+
*
|
25 |
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
26 |
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
27 |
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
28 |
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
29 |
+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
30 |
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
31 |
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
32 |
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
33 |
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
34 |
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
35 |
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
36 |
+
* POSSIBILITY OF SUCH DAMAGE.
|
37 |
+
*
|
38 |
+
*/
|
39 |
+
|
40 |
+
|
41 |
+
/**
|
42 |
+
* View Interface
|
43 |
+
*
|
44 |
+
* @package elefunds API PHP Library
|
45 |
+
* @subpackage View
|
46 |
+
* @author Christian Peters <christian@elefunds.de>
|
47 |
+
* @copyright 2012 elefunds GmbH <hello@elefunds.de>
|
48 |
+
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
49 |
+
* @link http://www.elefunds.de
|
50 |
+
* @since File available since Release 1.0.0
|
51 |
+
*/
|
52 |
+
interface Elefunds_View_ViewInterface {
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Sets the name of the template. This must be corresponding to
|
56 |
+
* the name of a folder in the Template folder.
|
57 |
+
*
|
58 |
+
* @param string $template
|
59 |
+
* @return Elefunds_View_BaseView
|
60 |
+
*/
|
61 |
+
public function setTemplate($template);
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Returns the template name of this view.
|
65 |
+
*
|
66 |
+
* @return string
|
67 |
+
*/
|
68 |
+
public function getTemplate();
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Returns all javascript files that are required for this plugin to work in their correct order.
|
72 |
+
*
|
73 |
+
* The given path is relative to the folder of this library without trailing slash. E.g.:
|
74 |
+
*
|
75 |
+
* 'Template/YourTemplate/Javascript/script.min.js'
|
76 |
+
*
|
77 |
+
* Hence, you have to add your basepath ahead of it if you want to include it.
|
78 |
+
*
|
79 |
+
* Like this:
|
80 |
+
*
|
81 |
+
* <code>
|
82 |
+
* <?php foreach($javascripts as $javascript): ?>
|
83 |
+
* <script type="text/javascript" src="http://elefunds.de/plugins/<?php echo $javascript; ?>"></script>
|
84 |
+
* <?php endforeach; ?>
|
85 |
+
* </code>
|
86 |
+
*
|
87 |
+
* If you write your own template files, minimize your javascript and try to deliver as few as possible.
|
88 |
+
*
|
89 |
+
* @return array
|
90 |
+
*/
|
91 |
+
public function getJavascriptFiles();
|
92 |
+
|
93 |
+
/**
|
94 |
+
* Returns all css files that are required for this plugin to work in their correct order.
|
95 |
+
*
|
96 |
+
* The given path is relative to the folder of this library without trailing slash. E.g.:
|
97 |
+
*
|
98 |
+
* 'Template/YourTemplate/Css/styles.css'
|
99 |
+
*
|
100 |
+
* Hence, you have to add your base path ahead of it if you want to include it.
|
101 |
+
*
|
102 |
+
* Like this:
|
103 |
+
*
|
104 |
+
* <code>
|
105 |
+
* <?php foreach($cssFiles as $cssFile): ?>
|
106 |
+
* <link rel="stylesheet" type="text/css" href="http://elefunds.de/plugins/<?php echo $cssFile; ?>">
|
107 |
+
* <?php endforeach; ?>
|
108 |
+
* </code>
|
109 |
+
*
|
110 |
+
* If you write your own template files, minimize your css files and try to deliver as few as possible.
|
111 |
+
*
|
112 |
+
* @return array
|
113 |
+
*/
|
114 |
+
public function getCssFiles();
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Adds hooks that are called when a value is assigned to the view.
|
118 |
+
*
|
119 |
+
* Hence you can auto-calculate dependencies (like a round up suggestion when a grand
|
120 |
+
* total is assigned).
|
121 |
+
*
|
122 |
+
* Hooks are called with a reference to this view (so you can assign for yourself) and the
|
123 |
+
* called value as second parameter.
|
124 |
+
*
|
125 |
+
* Be sure that all classes are required_once.
|
126 |
+
*
|
127 |
+
* @param string $name equals the assignValue that should be hooked.
|
128 |
+
* @param mixed $class string (class name) or instance
|
129 |
+
* @param string $method
|
130 |
+
* @throws InvalidArgumentException
|
131 |
+
* @return Elefunds_View_ViewInterface
|
132 |
+
*/
|
133 |
+
public function registerAssignHook($name, $class, $method);
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Returns all already assigned values.
|
137 |
+
*
|
138 |
+
* @return array
|
139 |
+
*/
|
140 |
+
public function getAssignments();
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Assigns variables to the view.
|
144 |
+
*
|
145 |
+
* @param string $key
|
146 |
+
* @param mixed $value
|
147 |
+
* @throws InvalidArgumentException if given key is not a string
|
148 |
+
* @return Elefunds_View_BaseView
|
149 |
+
*/
|
150 |
+
public function assign($key, $value);
|
151 |
+
|
152 |
+
/**
|
153 |
+
* Add multiple variables to the view.
|
154 |
+
*
|
155 |
+
* @param array $values array in the format array(key1 => value1, key2 => value2).
|
156 |
+
* @return Elefunds_View_BaseView
|
157 |
+
*/
|
158 |
+
public function assignMultiple(array $values);
|
159 |
+
|
160 |
+
/**
|
161 |
+
* Renders the given output.
|
162 |
+
*
|
163 |
+
* @param string $templateName name of the template to render
|
164 |
+
* @param bool $givenTemplateNameIsAbsolutePathWithFullyQualifiedFilename
|
165 |
+
*
|
166 |
+
* @return string the rendered HTML
|
167 |
+
*/
|
168 |
+
public function render($templateName = 'View', $givenTemplateNameIsAbsolutePathWithFullyQualifiedFilename = FALSE);
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Add your css file with it's pure file name (e.g. 'styles.css') and save it
|
172 |
+
* as /Template/YourTemplateFolder/Css/styles.css
|
173 |
+
*
|
174 |
+
* @param string $file
|
175 |
+
* @throws Elefunds_Exception_ElefundsException if file does not exist
|
176 |
+
* @return Elefunds_View_BaseView
|
177 |
+
*/
|
178 |
+
public function addCssFile($file);
|
179 |
+
|
180 |
+
/**
|
181 |
+
* Add your css files.
|
182 |
+
*
|
183 |
+
* Wrapper for addCss($file).
|
184 |
+
*
|
185 |
+
* @param array $files
|
186 |
+
* @throws Elefunds_Exception_ElefundsException if file does not exist
|
187 |
+
* @return Elefunds_View_BaseView
|
188 |
+
*/
|
189 |
+
public function addCssFiles(array $files);
|
190 |
+
|
191 |
+
/**
|
192 |
+
* Add your js file with it's pure file name (e.g. 'myjavascript.js') and save it
|
193 |
+
* as /Template/YourTemplateFolder/Javascript/myjavascript.js
|
194 |
+
*
|
195 |
+
* @param string $file
|
196 |
+
* @throws InvalidArgumentException if given key is not a string
|
197 |
+
* @return Elefunds_View_BaseView
|
198 |
+
*/
|
199 |
+
public function addJavascriptFile($file);
|
200 |
+
|
201 |
+
/**
|
202 |
+
* Add your js files.
|
203 |
+
*
|
204 |
+
* Wrapper for addJavascriptFiles($file).
|
205 |
+
*
|
206 |
+
* @param array $files
|
207 |
+
* @throws Elefunds_Exception_ElefundsException if file does not exist
|
208 |
+
* @return Elefunds_View_BaseView
|
209 |
+
*/
|
210 |
+
public function addJavascriptFiles(array $files);
|
211 |
+
|
212 |
+
/**
|
213 |
+
* Removes all css files.
|
214 |
+
*
|
215 |
+
* @return void
|
216 |
+
*/
|
217 |
+
public function flushCssFiles();
|
218 |
+
|
219 |
+
}
|
package.xml
ADDED
@@ -0,0 +1,54 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<package>
|
3 |
+
<name>lfnds_donation</name>
|
4 |
+
<version>1.0.0</version>
|
5 |
+
<stability>stable</stability>
|
6 |
+
<license uri="http://www.opensource.org/licenses/BSD-3-Clause">The BSD 3-Clause License</license>
|
7 |
+
<channel>community</channel>
|
8 |
+
<extends/>
|
9 |
+
<summary>elefunds ermöglicht Ihren Kunden freiwählbare Beträge aufzurunden und an eine oder mehrere renommierte Charities zu spenden.</summary>
|
10 |
+
<description>Mit dem elefunds Spendenmodul stellen wir Ihnen die weltweit erste dynamische ONE-CLICK-Spende für Ihren Onlineshop zur Verfügung.
|
11 |
+

|
12 |
+
Ihre Kunden werden direkt am Point-of-Sale abgeholt und bekommen die Option zusätzlich zum Warenkorbwert einen weiteren, freiwählbaren Betrag an bis zu drei renommierte und namhafte Hilfsorganisationen (z.B. Aktion Deutschland Hilft, die SOS-Kinderdörfer weltweit oder den WWF) zu spenden. Im Anschluss daran teilen Ihre Kunden ihr Engagement via Facebook und Twitter und berichten Ihren Freunden von Ihrem Shop.
|
13 |
+

|
14 |
+
Der Kunde verbindet sein Einkaufserlebnis mit dem guten Gefühl, sich gemeinsam mit Ihnen engagiert zu haben und behält Ihren Shop in positiver Erinnerung.
|
15 |
+
Sie erhöhen Ihre Kundenbindung und betreiben gleichzeitig effektive Neukundenakquise, da jeder Post in den sozialen Netzwerken eine Verlinkung zu ihrem Shop enthält. 
|
16 |
+
Mit durchschnittlichen Aktivierungszahlen von über 10% ist das Empfehlungsmarketing par excellence. 
|
17 |
+

|
18 |
+
Ihre Vorteile:
|
19 |
+

|
20 |
+
- Emotionalisierung des Kunden beim Kaufabschluss
|
21 |
+
- Hoher Bekanntheitsgrad der Hilfsorganisationen
|
22 |
+
- Positive Außenwirkung für soziales Engagement
|
23 |
+
- Keine Einschränkung der Conversion im Checkout
|
24 |
+
- Empfehlungsmarketing und Neukundengenerierung
|
25 |
+
- Customer Lifetime Value steigt
|
26 |
+
- Analyse und Auswertungen durch elefunds
|
27 |
+
- ein nachhaltiges und zeitloses PR & Marketingtool
|
28 |
+
- einfache Implementierung durch den Plugin Manager
|
29 |
+

|
30 |
+
Wir unterstützen Sie:
|
31 |
+
   •    bei der Auswahl der Hilfsorganisationen 
|
32 |
+
   •    der Kommunikation des Engagements 
|
33 |
+
   •    der Analyse, Abrechnung und dem Spendentransfer
|
34 |
+

|
35 |
+
Die Spenden werden mit dem Warenkorbwert eingezogen. Wir stellen Ihnen eine Spendenaufstellung zur Verfügung. Sie leiten die Spendengelder einfach an die elefunds Stiftung weiter. Von hier transferieren wir gebündelt und zu 100% an die Organisationen weiter. Auf monatlicher Basis stellen wir Ihnen diese Analysen und Auswertungen zur Verfügung, damit Sie Ihre Kunden über die Erfolge und ihr Engagement informieren können. elefunds wird von den Charités teilweise erfolgsabhängig vergütet.
|
36 |
+

|
37 |
+
Helfen Sie uns, die Welt ein bisschen besser zu machen und engagieren Sie sich noch heute mit elefunds und Ihren Kunden für eine saubere Umwelt, bessere Gesundheits- und Bildungsbedingungen sowie für den Tierschutz und in der Katastrophenhilfe. 
|
38 |
+
Laden Sie sich jetzt unser Modul herunter, dass sich in wenigen einfachen Schritten in jeden Onlineshop integrieren lässt.
|
39 |
+

|
40 |
+
We turn emotions into loyalty!
|
41 |
+

|
42 |
+
www.elefunds.de
|
43 |
+
kontakt@elefunds.de
|
44 |
+
Tel. +49 (0)30 48 49 24 39
|
45 |
+

|
46 |
+
Wir bitten zu entschuldigen, dass im Interesse unserer Charitypartner Online Shops, die überwiegend Alkoholika und Zigaretten/Zigarren anbieten, den elefunds Service nicht nutzen können. Grundsätzlich ausgeschlossen sind Online Shops, die Pornographie und Waffen jeglicher Art vertreiben.</description>
|
47 |
+
<notes>Stable Release</notes>
|
48 |
+
<authors><author><name>elefunds GmbH</name><user>elefunds</user><email>kontakt@elefunds.de</email></author></authors>
|
49 |
+
<date>2013-04-17</date>
|
50 |
+
<time>19:51:46</time>
|
51 |
+
<contents><target name="magecommunity"><dir name="Lfnds"><dir name="Donation"><dir name="Block"><dir name="Checkout"><file name="Banner.php" hash="2a871f599052b81a75d95315158479c5"/><file name="Socialmedia.php" hash="8de51409d7a36b490ed58653b671e43c"/></dir><dir name="Page"><file name="Head.php" hash="cc83ce329b6c6ebe1e7bcfc301468ee0"/></dir><dir name="Sales"><dir name="Order"><file name="Email.php" hash="ed610afb13caaac6c37bcff9db593601"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="8454d67e2f769a0e6505406906860adf"/></dir><dir name="Manager"><file name="SyncManager.php" hash="a01f05a2e50eb07e4942c0b7754f6f54"/></dir><dir name="Model"><file name="Donation.php" hash="dcdb5e5071a91e4f2a5021dd9f16704c"/><dir name="Mysql4"><dir name="Donation"><file name="Collection.php" hash="8187802aca89ac243d256e9d7cb6dfe3"/></dir><file name="Donation.php" hash="382a7f808a334045f6753565f01230ce"/><dir name="Receiver"><file name="Collection.php" hash="992d049163b3a5f75568269fdf2272c5"/></dir><file name="Receiver.php" hash="bb9396fb9bb37941ec5bdbb6239fdcb0"/></dir><file name="Observer.php" hash="a14a03bbf4d6f8ba8c2b2a07cda210dc"/><file name="Receiver.php" hash="9f236002e9a3215f5b3a089c0ce9623a"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Color.php" hash="61f94ffc5df0db5238a6e6ee920ff9e6"/><file name="Payment.php" hash="2bf3a981e5b0a2dd92eaadc02fd0bdbd"/><file name="Position.php" hash="ec434ec88b85ca4b664026bfa066bc74"/><file name="Theme.php" hash="1b05ba613d2093ec5fc759a1dfbb1334"/></dir></dir></dir></dir><dir name="controllers"><file name="IndexController.php" hash="d56f46626aefb34798273181b4c7b706"/></dir><dir name="etc"><file name="config.xml" hash="779d52f354685c49f235d0e517c5d8e1"/><file name="system.xml" hash="8e2d02a862ce6d6864e826d49cb1a588"/></dir><dir name="sql"><dir name="lfnds_donation_setup"><file name="mysql4-install-1.0.0.php" hash="4d07ca42ae308bd2051df30f3a6cfd63"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="lfnds_donation.xml" hash="cdaa84ebe0db2c6662d28e66e8326513"/></dir><dir name="template"><dir name="lfnds"><dir name="donation"><dir name="checkout"><dir name="onepage"><dir name="review"><file name="donation_banner.phtml" hash="9edf0cf0ed946a637bbe4c2a52e18d60"/><file name="donation_banner_after.phtml" hash="24183a92eb517b2e76e8022d34f63edd"/><file name="donation_banner_before.phtml" hash="dcd489753304685d2f89e5e36faa9a82"/></dir><file name="socialmedia.phtml" hash="c7984a5752211f28dfe04fde2d44626f"/></dir></dir><dir name="mail"><file name="description.phtml" hash="788968e611e3777c06130dcfca06dfc0"/></dir><dir name="page"><dir name="html"><file name="head.phtml" hash="ce407ff5715c837d02b1aba7975bf512"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Lfnds_Donation.xml" hash="49ee8216f94bda0701b6a5c7b1fb99c3"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Lfnds_Donation.csv" hash="e0a11e265781c36c8efd41da0c63667a"/></dir><dir name="en_US"><file name="Lfnds_Donation.csv" hash="af1ebb72d80a27e2c7f57950ea702c33"/></dir></target><target name="magelib"><dir name="Elefunds"><dir name="Communication"><file name="CurlRequest.php" hash="b0c6ead08836395c5df543c0e35f03c6"/><file name="RestInterface.php" hash="06a1b8fecd4abf1204d48ccbcec6b4b0"/><dir name="certificate"><file name="GandiProSSLCA.pem" hash="215597d5040603701d032e1fa299746e"/></dir></dir><dir name="Configuration"><file name="BaseConfiguration.php" hash="9e481bfc1aa6b3f0e3d5a5f2866518d6"/><file name="ConfigurationInterface.php" hash="3f39571485f8d6bcca49e69d899c86b6"/><file name="DefaultConfiguration.php" hash="e5f749ab07052186746871f20edd554f"/></dir><dir name="Documentation"><file name="PHPGuideBasics.md" hash="da7e409b76ed4c5c5fdf0b966e6c1756"/><file name="PHPGuideConfiguration.md" hash="6ab57ceca89500bda60c6e02c0b20ed0"/><file name="PHPGuideTemplating.md" hash="6682ad669ab3062d8a04ea00a1f17f03"/></dir><dir name="Example"><file name="RawDataConfiguration.php" hash="4716aa63da8f00ec9becec510d7d6709"/><file name="ShopExampleCheckoutSuccessConfiguration.php" hash="f73f364c454adc00bc1974d908660345"/><file name="ShopExampleConfiguration.php" hash="263fd5cfe055f335bc70811da175b0f7"/><file name="rawDataExample.php" hash="ee18d728a678e03afe367a69ba94fe8d"/><file name="shopExample.php" hash="79bf411089286392c0e6753492c6694e"/><file name="shopExampleCheckoutSuccess.php" hash="58f9e9b36975ff23410c01a005a0ebbc"/></dir><dir name="Exception"><file name="ElefundsCommunicationException.php" hash="74213ff89ef5dcc2afd30766f6e49e05"/><file name="ElefundsException.php" hash="8d0e54b748898eab2286bf3fe46ee7ec"/></dir><file name="Facade.php" hash="1fd802e9125298dd9a0c1f43cf59be55"/><dir name="Model"><file name="Donation.php" hash="957c897dca79616f49b30e60e5c8d9a1"/><file name="DonationInterface.php" hash="3969390f2d5898835c4c7c74361cb618"/><file name="Factory.php" hash="5b92a5696db598f1d7e8a943cb407299"/><file name="Receiver.php" hash="5b63f6c8c5068b483923c93fb250137d"/><file name="ReceiverInterface.php" hash="5bc575aea8ca44762e2b353eb86a2e32"/></dir><file name="README.md" hash="f479705edf62b3697aab2d074798aada"/><dir name="Template"><dir name="Shop"><file name="CheckoutConfiguration.php" hash="42afcf507ef01c5b84cace0a6c500370"/><file name="CheckoutSuccess.phtml" hash="564c95ae206d22f50f38126cd1a7e351"/><file name="CheckoutSuccessConfiguration.php" hash="ba8c339472e44e3b8d9d82d6979fbc8a"/><dir name="Css"><file name="color.less" hash="4f18721f13cd8b26dbabcd2c11e844ac"/><file name="elefunds.less" hash="8a2f37d9eeb4cbea4607ccf0f005b370"/><file name="elefunds_dark_blue.min.css" hash="c30bca596ddb732c81fc3941d3ed0f52"/><file name="elefunds_dark_green.min.css" hash="47deea1b8f397eb279b71ba82e89e7e8"/><file name="elefunds_dark_grey.min.css" hash="1f202144f1d68547e07b0bee053ed8cd"/><file name="elefunds_dark_orange.min.css" hash="4660e08faadc310f23ba068020023473"/><file name="elefunds_dark_purple.min.css" hash="4f759f90f164dcc1d447d56a34d376cd"/><file name="elefunds_light_blue.min.css" hash="e39509ea7f014055528616a986b3ddbe"/><file name="elefunds_light_green.min.css" hash="b85854be499f48744f7d4d7bb451fb0a"/><file name="elefunds_light_grey.min.css" hash="f244fdce75ad270d56feeeffd2b5130d"/><file name="elefunds_light_orange.min.css" hash="e264e5d60e73bda315f5de53ce794783"/><file name="elefunds_light_purple.min.css" hash="719e20b305282e2750607ba90fd57687"/><file name="elements.less" hash="7e01dcb516db8e55c7f031f7da0492cf"/></dir><dir name="Helper"><file name="RequestHelper.php" hash="ee3986d02f97144333b56a955dd9595e"/></dir><dir name="Hooks"><file name="ShopHooks.php" hash="9a46f66b1ec8fa37d45e2e15467e5952"/></dir><dir name="Images"><file name="elefunds_item_main.png" hash="b89c61fbdc9c669034a92e9f40ce601b"/><file name="elefunds_item_small.png" hash="f55ceccecc0e76a8d019d8206905db88"/><file name="elefunds_item_thumbnail.png" hash="84bf08fff98b2f8a3f2a1616d73b432c"/></dir><dir name="Javascript"><file name="elefunds.jquery.js" hash="82a0763aee2eeb43a723d808ba7db72e"/><file name="elefunds.jquery.min.js" hash="b89c6146e0cf89f73fbccf15612b4972"/><file name="elefundsTT.jquery.js" hash="86e5170e6eea44cbdc5d44383e0404c5"/></dir><file name="ShopConfiguration.php" hash="227a7f2a7573392f3b8d2027669eb1e0"/><file name="View.phtml" hash="42e6d618bf8cb87ae038446db348104a"/></dir></dir><dir name="Test"><dir name="Unit"><dir name="Configuration"><file name="BaseConfigurationTest.php" hash="ec3513a6a8972be3efdb48318ecd10db"/><file name="DefaultConfigurationTest.php" hash="790159073ffb9f6e25c3ea5df0e0c49b"/></dir><dir name="Exception"><file name="ElefundsExceptionTest.php" hash="79339ebcce32e95aee348b6658c5ed88"/></dir><file name="FacadeTest.php" hash="c06016cbc6fc5aa58d104a47adef13c2"/><dir name="Model"><file name="DonationTest.php" hash="577f18fca07fb2361853daf32247be0c"/><file name="FactoryTest.php" hash="2dbb74d7bf67bbe1cea3f8b1e1b45c8d"/><file name="ReceiverTest.php" hash="a2f0667292bc3525bc571912aa2caad0"/></dir><dir name="View"><file name="BaseViewTest.php" hash="2d5f873cf48fbe7af1e77ce6055c1d8a"/></dir></dir></dir><dir name="View"><file name="BaseView.php" hash="20bfbf8d484c9d3c1874fdf4a6493f0e"/><file name="ViewInterface.php" hash="596f19ed7ca7853062d96a4d1bca67e3"/></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="lfnds_donation"><dir name="additional"><file name="elefunds_magento_additional.css" hash="73e4f3ae0bb9f6a1588ab9d97fb52333"/><file name="elefunds_magento_onestep_additional.css" hash="69076b25d2a3ac358487d5461ddf0b38"/></dir><file name="elefunds_dark_blue.min.css" hash="c30bca596ddb732c81fc3941d3ed0f52"/><file name="elefunds_dark_green.min.css" hash="47deea1b8f397eb279b71ba82e89e7e8"/><file name="elefunds_dark_grey.min.css" hash="1f202144f1d68547e07b0bee053ed8cd"/><file name="elefunds_dark_orange.min.css" hash="4660e08faadc310f23ba068020023473"/><file name="elefunds_dark_purple.min.css" hash="4f759f90f164dcc1d447d56a34d376cd"/><file name="elefunds_light_blue.min.css" hash="e39509ea7f014055528616a986b3ddbe"/><file name="elefunds_light_green.min.css" hash="b85854be499f48744f7d4d7bb451fb0a"/><file name="elefunds_light_grey.min.css" hash="f244fdce75ad270d56feeeffd2b5130d"/><file name="elefunds_light_orange.min.css" hash="e264e5d60e73bda315f5de53ce794783"/><file name="elefunds_light_purple.min.css" hash="719e20b305282e2750607ba90fd57687"/></dir></dir><dir name="images"><dir name="lfnds_donation"><file name="elefunds_item_main.png" hash="b89c61fbdc9c669034a92e9f40ce601b"/><file name="elefunds_item_small.png" hash="f55ceccecc0e76a8d019d8206905db88"/><file name="elefunds_item_thumbnail.png" hash="84bf08fff98b2f8a3f2a1616d73b432c"/></dir></dir><dir name="js"><dir name="lfnds_donation"><dir name="additional"><file name="elefunds_magento_onepage_additional.js" hash="c2d9635a9acab5a6a6508cfcb8ef8aab"/><file name="elefunds_magento_onestep_additional.js" hash="105b284f2e8c686ef1b02b3ff810f731"/></dir><file name="elefunds.jquery.js" hash="82a0763aee2eeb43a723d808ba7db72e"/><file name="elefunds.jquery.min.js" hash="b89c6146e0cf89f73fbccf15612b4972"/><file name="elefundsTT.jquery.js" hash="86e5170e6eea44cbdc5d44383e0404c5"/><file name="jQueryNoConflict.js" hash="e2060c4e5e5955c824723b13a212d3ec"/><file name="jquery-1.9.1.min.js" hash="397754ba49e9e0cf4e7c190da78dda05"/></dir></dir></dir></dir></dir></target></contents>
|
52 |
+
<compatible/>
|
53 |
+
<dependencies><required><php><min>5.3.2</min><max>5.4.14</max></php></required></dependencies>
|
54 |
+
</package>
|
skin/frontend/base/default/css/lfnds_donation/additional/elefunds_magento_additional.css
ADDED
@@ -0,0 +1,9 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*
|
2 |
+
* Fix for Onepage-Checkout
|
3 |
+
* Adds Border to Elefunds-Module to fit in default-styling of onepage-checkout
|
4 |
+
*/
|
5 |
+
#elefunds {
|
6 |
+
border-style: solid;
|
7 |
+
border-width: 0 1px;
|
8 |
+
border-color: #D9DDE3;
|
9 |
+
}
|
skin/frontend/base/default/css/lfnds_donation/additional/elefunds_magento_onestep_additional.css
ADDED
@@ -0,0 +1,454 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*
|
2 |
+
* ++ One Step Checkout Success (Social-Media-Share) Specific Styling ++
|
3 |
+
*/
|
4 |
+
#elefunds_share {
|
5 |
+
width: 450px;
|
6 |
+
padding: 20px 20px 10px;
|
7 |
+
background: #f4f4f4;
|
8 |
+
border: 4px solid #ccc;
|
9 |
+
border-radius: 8px;
|
10 |
+
text-align: center;
|
11 |
+
}
|
12 |
+
#elefunds_share > a {
|
13 |
+
text-decoration: none;
|
14 |
+
}
|
15 |
+
#elefunds_share h3 {
|
16 |
+
font-weight: bold;
|
17 |
+
color: #222;
|
18 |
+
margin: 0;
|
19 |
+
}
|
20 |
+
#elefunds_share p {
|
21 |
+
font-size: 14px;
|
22 |
+
color: #666;
|
23 |
+
margin: 20px 0 10px;
|
24 |
+
padding: 10px 10px 20px;
|
25 |
+
}
|
26 |
+
#elefunds_share span {
|
27 |
+
font-style: normal;
|
28 |
+
font-size: 11px;
|
29 |
+
line-height: 21px;
|
30 |
+
margin-top: 6px;
|
31 |
+
vertical-align: top;
|
32 |
+
display: block;
|
33 |
+
}
|
34 |
+
|
35 |
+
|
36 |
+
/*
|
37 |
+
* ++ One Step Checkout Specific Styling ++
|
38 |
+
*/
|
39 |
+
|
40 |
+
/*
|
41 |
+
* Hide elefunds-module first until JavaScript replaced it.
|
42 |
+
*/
|
43 |
+
#onestepcheckout-form .elefunds {
|
44 |
+
display: none;
|
45 |
+
}
|
46 |
+
#onestepcheckout-form .elefunds.replaced {
|
47 |
+
display: block;
|
48 |
+
}
|
49 |
+
|
50 |
+
|
51 |
+
/*
|
52 |
+
* Hide sum in elefunds-container
|
53 |
+
* elefunds-donation is always shown in order-review
|
54 |
+
*/
|
55 |
+
#elefunds_round_sum_container strong {
|
56 |
+
display: none;
|
57 |
+
}
|
58 |
+
|
59 |
+
/*
|
60 |
+
* ++ One Step Checkout - Row in Order-review which shows the elefunds-donation ++
|
61 |
+
*/
|
62 |
+
.elefunds_donation_row {
|
63 |
+
display: none;
|
64 |
+
}
|
65 |
+
.elefunds_donation_row.active {
|
66 |
+
display: table-row;
|
67 |
+
}
|
68 |
+
.elefunds_donation_row .title {
|
69 |
+
font-style: italic;
|
70 |
+
}
|
71 |
+
|
72 |
+
/*
|
73 |
+
* Force sizes to auto
|
74 |
+
* Not able to prevent !important here because of inline-width-styles
|
75 |
+
*/
|
76 |
+
#onestepcheckout-form .elefunds #elefunds_top,
|
77 |
+
#onestepcheckout-form .elefunds #elefunds_bottom,
|
78 |
+
#onestepcheckout-form .elefunds #elefunds_round_sum_container {
|
79 |
+
width: auto !important;
|
80 |
+
}
|
81 |
+
|
82 |
+
|
83 |
+
#onestepcheckout-form .elefunds {
|
84 |
+
border: 1px solid rgb(196, 196, 196);
|
85 |
+
-webkit-border-radius: 1px;
|
86 |
+
-moz-border-radius: 1px;
|
87 |
+
border-radius: 1px;
|
88 |
+
margin-top: 30px;
|
89 |
+
}
|
90 |
+
#onestepcheckout-form #elefunds_logo {
|
91 |
+
padding: 7px;
|
92 |
+
}
|
93 |
+
#onestepcheckout-form #elefunds_arrow {
|
94 |
+
background: url(https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png) repeat-x;
|
95 |
+
color: #444;
|
96 |
+
margin: 0 0 10px 0px;
|
97 |
+
position: relative;
|
98 |
+
}
|
99 |
+
#onestepcheckout-form #elefunds_arrow #elefunds_checkbox {
|
100 |
+
cursor: pointer;
|
101 |
+
left: 21px;
|
102 |
+
margin-top: 3px;
|
103 |
+
margin-right: 3px;
|
104 |
+
position: absolute;
|
105 |
+
top: 15px;
|
106 |
+
visibility: hidden;
|
107 |
+
}
|
108 |
+
/*
|
109 |
+
* IE8 Fix: TODO - Solution with conditional comments
|
110 |
+
*/
|
111 |
+
#onestepcheckout-form #elefunds_arrow #elefunds_checkbox {
|
112 |
+
visibility: visible\0/;
|
113 |
+
}
|
114 |
+
#onestepcheckout-form #elefunds_arrow #elefunds_checkbox:checked + label {
|
115 |
+
background: url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/orange/arrow_on.png') no-repeat;
|
116 |
+
}
|
117 |
+
#onestepcheckout-form #elefunds_arrow label {
|
118 |
+
background: url(https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/orange/arrow_off.png) no-repeat;
|
119 |
+
cursor: pointer;
|
120 |
+
color: #DDD;
|
121 |
+
display: block;
|
122 |
+
font-family: 'Lucida Grande';
|
123 |
+
font-size: 11px;
|
124 |
+
font-weight: bold !important;
|
125 |
+
height: 43px;
|
126 |
+
padding: 6px 0 0 60px;
|
127 |
+
}
|
128 |
+
|
129 |
+
#onestepcheckout-form #elefunds_top {
|
130 |
+
background: url(https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png) repeat-x #efefef;
|
131 |
+
border-bottom: 1px solid rgb(219, 219, 219);
|
132 |
+
}
|
133 |
+
|
134 |
+
#onestepcheckout-form #elefunds_top > div {
|
135 |
+
margin-bottom: 10px;
|
136 |
+
}
|
137 |
+
#onestepcheckout-form #elefunds_top > div:before,
|
138 |
+
#onestepcheckout-form #elefunds_top > div:after {
|
139 |
+
content:"";
|
140 |
+
display:table;
|
141 |
+
}
|
142 |
+
#onestepcheckout-form #elefunds_top > div:after {
|
143 |
+
clear:both;
|
144 |
+
}
|
145 |
+
#onestepcheckout-form #elefunds_top > div {
|
146 |
+
zoom:1; /* For IE 6/7 (trigger hasLayout) */
|
147 |
+
}
|
148 |
+
|
149 |
+
|
150 |
+
#onestepcheckout-form #elefunds_plus_minus {
|
151 |
+
float: left;
|
152 |
+
margin-right: 10px;
|
153 |
+
margin-top: 3px;
|
154 |
+
margin-left: 15px;
|
155 |
+
}
|
156 |
+
#onestepcheckout-form #elefunds_plus_minus a:link,
|
157 |
+
#onestepcheckout-form #elefunds_plus_minus a:visited {
|
158 |
+
text-decoration: none;
|
159 |
+
}
|
160 |
+
#onestepcheckout-form #elefunds_decrease img {
|
161 |
+
visibility: hidden;
|
162 |
+
}
|
163 |
+
#onestepcheckout-form #elefunds_decrease {
|
164 |
+
background: #efefef; /* Old browsers */
|
165 |
+
background: -moz-linear-gradient(top, #efefef 0%, #aaaaaa 100%); /* FF3.6+ */
|
166 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#efefef), color-stop(100%,#aaaaaa)); /* Chrome,Safari4+ */
|
167 |
+
background: -webkit-linear-gradient(top, #efefef 0%,#aaaaaa 100%); /* Chrome10+,Safari5.1+ */
|
168 |
+
background: -o-linear-gradient(top, #efefef 0%,#aaaaaa 100%); /* Opera 11.10+ */
|
169 |
+
background: -ms-linear-gradient(top, #efefef 0%,#aaaaaa 100%); /* IE10+ */
|
170 |
+
background: linear-gradient(to bottom, #efefef 0%,#aaaaaa 100%); /* W3C */
|
171 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#efefef', endColorstr='#aaaaaa',GradientType=0 ); /* IE6-9 */
|
172 |
+
|
173 |
+
border: 1px solid #999;
|
174 |
+
-webkit-border-radius: 10px;
|
175 |
+
-moz-border-radius: 10px;
|
176 |
+
border-radius: 10px;
|
177 |
+
|
178 |
+
-webkit-box-shadow: 0 0 5px rgb(207, 207, 207);
|
179 |
+
-moz-box-shadow: 0 0 5px rgb(207, 207, 207);
|
180 |
+
box-shadow: 0 0 5px rgb(207, 207, 207);
|
181 |
+
|
182 |
+
display: inline-block;
|
183 |
+
height: 19px;
|
184 |
+
position: relative;
|
185 |
+
width: 19px;
|
186 |
+
}
|
187 |
+
#onestepcheckout-form #elefunds_decrease:before {
|
188 |
+
content: "-";
|
189 |
+
color: rgb(255, 255, 255);
|
190 |
+
font-size: 18px;
|
191 |
+
font-weight: bold;
|
192 |
+
left: 6px;
|
193 |
+
line-height: 18px;
|
194 |
+
position: absolute;
|
195 |
+
text-shadow: 0px 0px 2px #aaa;
|
196 |
+
top: -1px;
|
197 |
+
}
|
198 |
+
#onestepcheckout-form #elefunds_increase img {
|
199 |
+
visibility: hidden;
|
200 |
+
}
|
201 |
+
#onestepcheckout-form #elefunds_increase {
|
202 |
+
background: #fcaa6c; /* Old browsers */
|
203 |
+
background: -moz-linear-gradient(top, #fcaa6c 0%, #f7842c 100%); /* FF3.6+ */
|
204 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fcaa6c), color-stop(100%,#f7842c)); /* Chrome,Safari4+ */
|
205 |
+
background: -webkit-linear-gradient(top, #fcaa6c 0%,#f7842c 100%); /* Chrome10+,Safari5.1+ */
|
206 |
+
background: -o-linear-gradient(top, #fcaa6c 0%,#f7842c 100%); /* Opera 11.10+ */
|
207 |
+
background: -ms-linear-gradient(top, #fcaa6c 0%,#f7842c 100%); /* IE10+ */
|
208 |
+
background: linear-gradient(to bottom, #fcaa6c 0%,#f7842c 100%); /* W3C */
|
209 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcaa6c', endColorstr='#f7842c',GradientType=0 ); /* IE6-9 */
|
210 |
+
|
211 |
+
border: 1px solid rgb(207, 102, 21);
|
212 |
+
-webkit-border-radius: 10px;
|
213 |
+
-moz-border-radius: 10px;
|
214 |
+
border-radius: 10px;
|
215 |
+
|
216 |
+
-webkit-box-shadow: 0 0 5px rgb(207, 207, 207);
|
217 |
+
-moz-box-shadow: 0 0 5px rgb(207, 207, 207);
|
218 |
+
box-shadow: 0 0 5px rgb(207, 207, 207);
|
219 |
+
|
220 |
+
display: inline-block;
|
221 |
+
height: 19px;
|
222 |
+
position: relative;
|
223 |
+
width: 19px;
|
224 |
+
}
|
225 |
+
#onestepcheckout-form #elefunds_increase:before {
|
226 |
+
content: "+";
|
227 |
+
color: rgb(255, 255, 255);
|
228 |
+
font-size: 18px;
|
229 |
+
font-weight: bold;
|
230 |
+
left: 4px;
|
231 |
+
line-height: 18px;
|
232 |
+
position: absolute;
|
233 |
+
text-shadow: 0px 0px 2px #aaa;
|
234 |
+
top: 1px;
|
235 |
+
}
|
236 |
+
|
237 |
+
#onestepcheckout-form #elefunds_input_container {
|
238 |
+
float: left;
|
239 |
+
margin-left: 5px;
|
240 |
+
}
|
241 |
+
#onestepcheckout-form #elefunds_input_container #elefunds_currency {
|
242 |
+
background: url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;
|
243 |
+
border: 1px solid #7f807f;
|
244 |
+
-wekbit-border-radius: 3px 0 0 3px;
|
245 |
+
-moz-border-radius: 3px 0 0 3px;
|
246 |
+
border-radius: 3px 0 0 3px;
|
247 |
+
float: left;
|
248 |
+
height: 18px;
|
249 |
+
padding: 4px 8px;
|
250 |
+
text-shadow: 0 1px 0 #c6cfd8;
|
251 |
+
|
252 |
+
}
|
253 |
+
#onestepcheckout-form #elefunds_input_container #elefunds_input {
|
254 |
+
background: #f3f3f3; /* Old browsers */
|
255 |
+
background: -moz-linear-gradient(top, #f3f3f3 0%, #ffffff 100%); /* FF3.6+ */
|
256 |
+
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f3f3f3), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
|
257 |
+
background: -webkit-linear-gradient(top, #f3f3f3 0%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
|
258 |
+
background: -o-linear-gradient(top, #f3f3f3 0%,#ffffff 100%); /* Opera 11.10+ */
|
259 |
+
background: -ms-linear-gradient(top, #f3f3f3 0%,#ffffff 100%); /* IE10+ */
|
260 |
+
background: linear-gradient(to bottom, #f3f3f3 0%,#ffffff 100%); /* W3C */
|
261 |
+
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3f3f3', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
|
262 |
+
|
263 |
+
border: 1px solid #777;
|
264 |
+
|
265 |
+
-webkit-box-shadow: inset 0 0 7px rgb(175, 175, 175);
|
266 |
+
-moz-box-shadow: inset 0 0 7px rgb(175, 175, 175);
|
267 |
+
box-shadow: inset 0 0 7px rgb(175, 175, 175);
|
268 |
+
|
269 |
+
-webkit-border-radius: 0 2px 2px 0;
|
270 |
+
-moz-border-radius: 0 2px 2px 0;
|
271 |
+
border-radius: 0 2px 2px 0;
|
272 |
+
|
273 |
+
font-size: 14px;
|
274 |
+
float: left;
|
275 |
+
height: 22px;
|
276 |
+
margin-left: -4px;
|
277 |
+
padding: 2px 4px;
|
278 |
+
width: 111px;
|
279 |
+
}
|
280 |
+
|
281 |
+
#onestepcheckout-form #elefunds_bottom {
|
282 |
+
margin: 0;
|
283 |
+
}
|
284 |
+
#onestepcheckout-form #elefunds_bottom .elefunds_receiver {
|
285 |
+
background: url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;
|
286 |
+
border: 1px solid rgb(179, 179, 179);
|
287 |
+
border-left: none;
|
288 |
+
border-right: none;
|
289 |
+
|
290 |
+
-webkit-box-shadow: inset 0 -3px 2px -1px rgb(218, 218, 218);
|
291 |
+
-moz-box-shadow: inset 0 -3px 2px -1px rgb(218, 218, 218);
|
292 |
+
box-shadow: inset 0 -3px 2px -1px rgb(218, 218, 218);
|
293 |
+
|
294 |
+
cursor: pointer;
|
295 |
+
height: 41px;
|
296 |
+
margin: 0;
|
297 |
+
margin-top: -1px;
|
298 |
+
padding: 7px;
|
299 |
+
position: relative;
|
300 |
+
}
|
301 |
+
#onestepcheckout-form #elefunds_bottom .elefunds_receiver.elefunds_receiver_selected {
|
302 |
+
-webkit-box-shadow: none;
|
303 |
+
-moz-box-shadow: none;
|
304 |
+
box-shadow: none;
|
305 |
+
}
|
306 |
+
#onestepcheckout-form #elefunds_bottom .elefunds_receiver.elefunds_receiver_selected label {
|
307 |
+
background: url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 2px 11px no-repeat;
|
308 |
+
}
|
309 |
+
#onestepcheckout-form #elefunds_bottom .elefunds_receiver input[type="checkbox"] {
|
310 |
+
left: 14px;
|
311 |
+
position: absolute;
|
312 |
+
top: 20px;
|
313 |
+
visibility: hidden;
|
314 |
+
}
|
315 |
+
/*
|
316 |
+
* IE8 Fix - TODO: Solution with conditional comments
|
317 |
+
*/
|
318 |
+
#onestepcheckout-form #elefunds_bottom .elefunds_receiver input[type="checkbox"] {
|
319 |
+
visibility: visible\0/;
|
320 |
+
}
|
321 |
+
#onestepcheckout-form #elefunds_bottom .elefunds_receiver label {
|
322 |
+
background: url(https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png) no-repeat 2px 11px;
|
323 |
+
cursor: pointer;
|
324 |
+
display: inline-block;
|
325 |
+
height: 32px;
|
326 |
+
padding: 0;
|
327 |
+
width: 200px;
|
328 |
+
}
|
329 |
+
#onestepcheckout-form #elefunds_bottom .elefunds_receiver label img {
|
330 |
+
position: absolute;
|
331 |
+
left: 35px;
|
332 |
+
opacity: 0.7;
|
333 |
+
top: 8px;
|
334 |
+
}
|
335 |
+
#onestepcheckout-form #elefunds_bottom .elefunds_receiver.elefunds_receiver_selected label img {
|
336 |
+
opacity: 1.0;
|
337 |
+
}
|
338 |
+
|
339 |
+
#onestepcheckout-form #elefunds_receipt {
|
340 |
+
margin: 18px 0 0 14px;
|
341 |
+
overflow: hidden;
|
342 |
+
}
|
343 |
+
#onestepcheckout-form #elefunds_receipt input[type="checkbox"] {
|
344 |
+
float: left;
|
345 |
+
margin-right: 5px;
|
346 |
+
}
|
347 |
+
#onestepcheckout-form #elefunds_receipt label {
|
348 |
+
float: left;
|
349 |
+
line-height: 14px;
|
350 |
+
}
|
351 |
+
#onestepcheckout-form .elefunds #elefunds_round_sum_container {
|
352 |
+
margin: 20px 15px;
|
353 |
+
}
|
354 |
+
|
355 |
+
|
356 |
+
|
357 |
+
/* +++ Tooltips +++ */
|
358 |
+
/* TOOLTIPS */
|
359 |
+
|
360 |
+
#tiptip_content {
|
361 |
+
font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
|
362 |
+
background: #222;
|
363 |
+
background: rgba(0, 0, 0, 0.7);
|
364 |
+
padding: 3px;
|
365 |
+
overflow: hidden;
|
366 |
+
width: 260px;
|
367 |
+
-moz-border-radius: 6px;
|
368 |
+
-webkit-border-radius: 6px;
|
369 |
+
border-radius: 6px;
|
370 |
+
-wekbit-box-shadow: 0 3px 7px 0.3;
|
371 |
+
-moz-box-shadow: 3px 7px 0.3;
|
372 |
+
box-shadow: 3px 7px 0.3;;
|
373 |
+
}
|
374 |
+
|
375 |
+
#tiptip_title {
|
376 |
+
background-color: #f5f5f5;
|
377 |
+
padding: 10px 15px 8px;
|
378 |
+
color: #222;
|
379 |
+
font-size: 18px;
|
380 |
+
line-height: 1;
|
381 |
+
text-align: center;
|
382 |
+
font-weight: bold;
|
383 |
+
-moz-border-radius: 3px 3px 0 0;
|
384 |
+
-webkit-border-radius: 3px 3px 0 0;
|
385 |
+
border-radius: 3px 3px 0 0;
|
386 |
+
|
387 |
+
border-bottom: 1px solid #eee;
|
388 |
+
margin: 0;
|
389 |
+
}
|
390 |
+
|
391 |
+
#tiptip_inner {
|
392 |
+
font-size: 12px;
|
393 |
+
color: #222;
|
394 |
+
background-color: #fff;
|
395 |
+
padding: 14px;
|
396 |
+
|
397 |
+
-moz-border-radius: 0 0 3px 3px;
|
398 |
+
-webkit-border-radius: 0 0 3px 3px;
|
399 |
+
border-radius: 0 0 3px 3px;
|
400 |
+
|
401 |
+
-webkit-background-clip: padding-box;
|
402 |
+
-moz-background-clip: padding-box;
|
403 |
+
background-clip: padding-box;
|
404 |
+
}
|
405 |
+
|
406 |
+
#tiptip_holder {
|
407 |
+
display: none;
|
408 |
+
position: absolute;
|
409 |
+
top: 0;
|
410 |
+
left: 0;
|
411 |
+
z-index: 99999;
|
412 |
+
}
|
413 |
+
|
414 |
+
#tiptip_holder.tip_top {
|
415 |
+
margin-bottom: 5px;
|
416 |
+
}
|
417 |
+
|
418 |
+
#tiptip_holder.tip_left {
|
419 |
+
margin-right: 5px;
|
420 |
+
}
|
421 |
+
|
422 |
+
#tiptip_holder.tip_right {
|
423 |
+
margin-left: 5px;
|
424 |
+
}
|
425 |
+
|
426 |
+
#tiptip_holder.tip_bottom {
|
427 |
+
margin-top: 5px;
|
428 |
+
}
|
429 |
+
|
430 |
+
#tiptip_arrow, #tiptip_arrow_inner {
|
431 |
+
position: absolute;
|
432 |
+
border-color: transparent;
|
433 |
+
border-style: solid;
|
434 |
+
border-width: 6px;
|
435 |
+
height: 0;
|
436 |
+
width: 0;
|
437 |
+
}
|
438 |
+
#tiptip_arrow {
|
439 |
+
border-right-color: rgb(85, 85, 85);
|
440 |
+
}
|
441 |
+
|
442 |
+
#tiptip_holder.tip_top #tiptip_arrow_inner {
|
443 |
+
margin-top: -7px;
|
444 |
+
margin-left: -6px;
|
445 |
+
border-top-color: rgb(25,25,25);
|
446 |
+
border-top-color: rgba(25,25,25,0.92);
|
447 |
+
}
|
448 |
+
|
449 |
+
#tiptip_holder.tip_left #tiptip_arrow_inner {
|
450 |
+
margin-top: -6px;
|
451 |
+
margin-left: -7px;
|
452 |
+
border-left-color: rgb(25,25,25);
|
453 |
+
border-left-color: rgba(25,25,25,0.92);
|
454 |
+
}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_dark_blue.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/blue/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/blue/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_dark_green.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/green/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/green/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_dark_grey.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/grey/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/grey/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_dark_orange.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/orange/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/orange/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_dark_purple.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/top_bar.png') repeat-x;height:49px;border-left:1px solid #3a414a;border-right:1px solid #3a414a;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#c6cfd8;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/purple/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/purple/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/currency_bg.png') repeat-x;border:1px solid #2f3439;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#c6cfd8;text-shadow:0 1px 0 #2c3238;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/dark/input_bg.png') repeat-x;border:1px solid #2f3439;float:left;outline:0}.elefunds_input_active{color:#fff!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_light_blue.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/blue/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/blue/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_light_green.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/green/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/green/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_light_grey.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/grey/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/grey/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_light_orange.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/orange/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/orange/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/css/lfnds_donation/elefunds_light_purple.min.css
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
#elefunds_top{position:relative;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/top_bar.png') repeat-x;height:49px;border-left:1px solid #8c8f91;border-right:1px solid #8c8f91;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_top>div{float:right;margin-right:10px}#elefunds_logo{position:absolute;top:8px;left:10px}#elefunds_arrow{position:relative;display:inline-block;float:left;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_bg.png') repeat-x;height:49px;padding:0}#elefunds_checkbox{position:absolute;top:18px;left:19px;width:18px;line-height:normal;cursor:pointer;opacity:0}#elefunds_checkbox+label{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;color:#d0d9d2;padding:9px 10px 9px 60px;height:31px;margin:0;max-width:180px;float:left;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/purple/arrow_off.png') no-repeat}#elefunds_checkbox:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/purple/arrow_on.png') no-repeat}#elefunds_arrow_end{width:14px;height:49px;display:inline-block;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/arrow_end.png') no-repeat}#elefunds_plus_minus{float:left;padding:13px 10px 0 30px}#elefunds_plus_minus img{margin:0 1px}#elefunds_input_container{float:left;padding-top:11px}#elefunds_currency{display:inline-block;width:auto;height:18px;padding:4px 8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;font-weight:normal;line-height:18px;text-align:center;color:#2c3238;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/currency_bg.png') repeat-x;border:1px solid #7f807f;border-radius:3px 0 0 3px;margin-right:-1px;float:left}#elefunds_input{display:inline-block;width:48px;height:18px;padding:4px 2px 4px 0;margin:0;vertical-align:middle;text-align:center;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:12px;color:#7f807f;text-shadow:0 1px 0 #c6cfd8;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/light/input_bg.png') repeat-x;border:1px solid #7f807f;float:left;outline:0}.elefunds_input_active{color:#000!important}#elefunds_bottom{height:62px;border-width:0 1px 1px;border-style:solid;border-color:#cfd0d4 #b9bec4;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.elefunds_receiver{margin:0;text-align:center;display:inline-block;border-left:1px solid #a3a6ac;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_off_bg.png') repeat-x;float:left;position:relative}.elefunds_receiver>label>img{vertical-align:middle;-webkit-filter:grayscale(1) opacity(0.7);-ms-filter:"alpha(opacity=50)";filter:alpha(opacity=50)}.elefunds_receiver>input{cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:22px;position:absolute;top:25px;left:13px}.elefunds_receiver>input+label{height:42px;width:165px;margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_off.png') 10px 24px no-repeat;display:inline-block;border-left:1px solid #f6f6f6;border-left:1px solid rgba(255,255,255,0.6)}.elefunds_receiver>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/checkbox_on.png') 10px 24px no-repeat}#elefunds_bottom>input:first-child+div{border-left:0!important}.elefunds_receiver_selected{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receiver_on_bg.png') repeat-x}.elefunds_receiver_selected>label>img{filter:none;-webkit-filter:none;-ms-filter:none}#elefunds_below_container{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:16px;margin:0;padding:15px 0 10px;text-align:right}#elefunds_below_container label{font-weight:normal}#elefunds_round_sum_container{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/elefunds_highlight.png') right top no-repeat}#elefunds_round_sum_container strong{font-weight:bold;line-height:1.5em}#elefunds_round_sum_container strong:last-child{margin-right:8px}#elefunds_round_sum{display:inline-block;width:65px;color:#222}#elefunds_receipt{position:relative;float:left;font-size:12px;color:#333;margin:5px 0 0 15px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#elefunds_receipt_checkbox{position:absolute;top:1px;cursor:pointer;opacity:0;font-size:100%;margin:0;vertical-align:baseline;width:16px}#elefunds_receipt_checkbox+label{margin:0;cursor:pointer;background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_off.png') no-repeat;display:inline-block;padding-left:20px}#elefunds_receipt>input:checked+label{background:url('https://0ce8ff584bf613ee6639-c1fc539e0df6af03ccc14b5020ab4161.ssl.cf1.rackcdn.com/receipt_on.png') no-repeat}.elefunds_hidden{visibility:hidden}#elefunds_share{width:450px;padding:20px 20px 10px;background:#f4f4f4;border:4px solid #ccc;border-radius:8px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;text-align:center}#elefunds_share>a{text-decoration:none}#elefunds_share h3{font-weight:bold;color:#222;margin:0}#elefunds_share p{font-size:14px;color:#666;margin:20px 0 10px;padding:10px 10px 20px}#elefunds_share span{font-style:normal;font-size:11px;line-height:21px;margin-top:6px;vertical-align:top;display:block}#tiptip_content{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;background:#222;background:rgba(0,0,0,0.7);padding:3px;overflow:hidden;width:260px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3)}#tiptip_title{background-color:#f5f5f5;padding:10px 15px 8px;color:#222;font-size:18px;line-height:1;text-align:center;font-weight:bold;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;-webkit-border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;-moz-border-radius-topleft:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:0;-moz-border-radius-bottomleft:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0;-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-clip:padding-box;border-bottom:1px solid #eee;margin:0}#tiptip_inner{font-size:12px;color:#222;background-color:#fff;padding:14px;-webkit-border-top-left-radius:0;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{margin-bottom:5px}#tiptip_holder.tip_left{margin-right:5px}#tiptip_holder.tip_right{margin-left:5px}#tiptip_holder.tip_bottom{margin-top:5px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#191919;border-top-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#191919;border-right-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#191919;border-bottom-color:rgba(25,25,25,0.92)}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#191919;border-left-color:rgba(25,25,25,0.92)}
|
skin/frontend/base/default/images/lfnds_donation/elefunds_item_main.png
ADDED
Binary file
|
skin/frontend/base/default/images/lfnds_donation/elefunds_item_small.png
ADDED
Binary file
|
skin/frontend/base/default/images/lfnds_donation/elefunds_item_thumbnail.png
ADDED
Binary file
|
skin/frontend/base/default/js/lfnds_donation/additional/elefunds_magento_onepage_additional.js
ADDED
@@ -0,0 +1,147 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*
|
2 |
+
* When Module is placed on bottom (above Checkout-Button)
|
3 |
+
*/
|
4 |
+
var lfndsModule = function () {
|
5 |
+
// if #checkout-review-table-wrapper + #elefunds-form
|
6 |
+
this.$elefunds = jQuery('#elefunds');
|
7 |
+
this.$elefundsBelow = jQuery('#elefunds_below_container');
|
8 |
+
|
9 |
+
this.currency = '€';
|
10 |
+
|
11 |
+
this.addEvents();
|
12 |
+
};
|
13 |
+
lfndsModule.prototype.addEvents = function () {
|
14 |
+
var me = this;
|
15 |
+
|
16 |
+
jQuery(document).on('elefunds_enabled', function (event) {
|
17 |
+
if (jQuery('#checkout-review-table-wrapper + #elefunds-form').length) {
|
18 |
+
|
19 |
+
jQuery('#elefunds_below_container').slideDown(function () {
|
20 |
+
jQuery('#elefunds_below_container').removeClass('elefunds_hidden');
|
21 |
+
jQuery('#elefunds_round_sum_container').removeClass('elefunds_hidden');
|
22 |
+
});
|
23 |
+
|
24 |
+
}
|
25 |
+
});
|
26 |
+
|
27 |
+
jQuery(document).on('elefunds_disabled', function (event) {
|
28 |
+
if (jQuery('#checkout-review-table-wrapper + #elefunds-form').length) {
|
29 |
+
|
30 |
+
jQuery('#elefunds_below_container').slideUp(function () {
|
31 |
+
jQuery('#elefunds_below_container').addClass('elefunds_hidden');
|
32 |
+
jQuery('#elefunds_round_sum_container').addClass('elefunds_hidden');
|
33 |
+
});
|
34 |
+
|
35 |
+
}
|
36 |
+
});
|
37 |
+
};
|
38 |
+
|
39 |
+
|
40 |
+
/*
|
41 |
+
* When Module is placed on top (above article-review)
|
42 |
+
*/
|
43 |
+
var lfndsModuleTop = function () {
|
44 |
+
this.isDonationRowCreated = false;
|
45 |
+
this.isOldPriceSaved = false;
|
46 |
+
this.isModuleActive = false;
|
47 |
+
this.currency = '€';
|
48 |
+
this.addEvents();
|
49 |
+
};
|
50 |
+
lfndsModuleTop.prototype.addEvents = function () {
|
51 |
+
var me = this;
|
52 |
+
|
53 |
+
jQuery(document).on('elefunds_enabled', function (event) {
|
54 |
+
if (!jQuery('#checkout-review-table-wrapper + #elefunds-form').length) {
|
55 |
+
|
56 |
+
me.isModuleActive = true;
|
57 |
+
|
58 |
+
if (!me.isOldPriceSaved) {
|
59 |
+
me.oldPrice = jQuery('#checkout-review-table tfoot tr.last .price').html();
|
60 |
+
me.isOldPriceSaved = true;
|
61 |
+
}
|
62 |
+
|
63 |
+
jQuery('#checkout-review-table tfoot tr.last .price').html(jQuery('#elefunds_round_sum').html() + ' ' + me.currency);
|
64 |
+
|
65 |
+
jQuery('#elefunds_below_container').slideDown(function () {
|
66 |
+
jQuery('#elefunds_below_container').removeClass('elefunds_hidden');
|
67 |
+
});
|
68 |
+
|
69 |
+
if (!jQuery('#donationRow').length) {
|
70 |
+
me.createDonationRow();
|
71 |
+
} else {
|
72 |
+
me.showDonationRow();
|
73 |
+
}
|
74 |
+
|
75 |
+
|
76 |
+
/*
|
77 |
+
* Events can only be registered when Module is already shown,
|
78 |
+
* so register events when activating module for the first time.
|
79 |
+
*/
|
80 |
+
jQuery('#elefunds_input').on('change', function () {
|
81 |
+
if (me.isModuleActive) {
|
82 |
+
jQuery('#checkout-review-table tfoot tr.last .price').html(jQuery('#elefunds_round_sum').html() + ' ' + me.currency);
|
83 |
+
}
|
84 |
+
me.updateDonationRow();
|
85 |
+
});
|
86 |
+
jQuery('#elefunds_plus_minus').on('click', function () {
|
87 |
+
jQuery('#elefunds_input').trigger('change');
|
88 |
+
});
|
89 |
+
jQuery('#elefunds_input').on('keypress', function () {
|
90 |
+
jQuery('#elefunds_input').trigger('change');
|
91 |
+
});
|
92 |
+
|
93 |
+
}
|
94 |
+
});
|
95 |
+
|
96 |
+
jQuery(document).on('elefunds_disabled', function (event) {
|
97 |
+
if (!jQuery('#checkout-review-table-wrapper + #elefunds-form').length) {
|
98 |
+
|
99 |
+
me.isModuleActive = false;
|
100 |
+
|
101 |
+
jQuery('#elefunds_below_container').slideUp(function () {
|
102 |
+
jQuery('#checkout-review-table tfoot tr.last .price').html(me.oldPrice);
|
103 |
+
jQuery('#elefunds_below_container').addClass('elefunds_hidden');
|
104 |
+
jQuery('#elefunds_round_sum_container').addClass('elefunds_hidden');
|
105 |
+
});
|
106 |
+
|
107 |
+
me.hideDonationRow();
|
108 |
+
}
|
109 |
+
});
|
110 |
+
};
|
111 |
+
lfndsModuleTop.prototype.createDonationRow = function () {
|
112 |
+
var donationValue = parseFloat(jQuery('#elefunds_donation_cent').val() / 100);
|
113 |
+
|
114 |
+
jQuery('' +
|
115 |
+
'<tr id="donationRow">' +
|
116 |
+
'<td class="a-right" colspan="3">' +
|
117 |
+
'elefunds Donation' +
|
118 |
+
'</td>' +
|
119 |
+
'<td class="a-right">' +
|
120 |
+
'<span class="price">' +
|
121 |
+
donationValue.toFixed(2) + ' ' + this.currency +
|
122 |
+
'</span>' +
|
123 |
+
'</td>' +
|
124 |
+
'</tr>' +
|
125 |
+
'').insertBefore('#checkout-review-table tfoot tr.last');
|
126 |
+
|
127 |
+
this.isDonationRowCreated = true;
|
128 |
+
};
|
129 |
+
lfndsModuleTop.prototype.showDonationRow = function () {
|
130 |
+
jQuery('#donationRow').show();
|
131 |
+
};
|
132 |
+
lfndsModuleTop.prototype.hideDonationRow = function () {
|
133 |
+
jQuery('#donationRow').hide();
|
134 |
+
};
|
135 |
+
lfndsModuleTop.prototype.updateDonationRow = function () {
|
136 |
+
var donationValue = parseFloat(jQuery('#elefunds_donation_cent').val() / 100);
|
137 |
+
|
138 |
+
jQuery('#donationRow .price').html('' +
|
139 |
+
donationValue.toFixed(2) + ' ' + this.currency +
|
140 |
+
'');
|
141 |
+
};
|
142 |
+
|
143 |
+
|
144 |
+
jQuery(document).ready(function () {
|
145 |
+
var lfnds = new lfndsModuleTop();
|
146 |
+
var lfndsBottom = new lfndsModule();
|
147 |
+
});
|
skin/frontend/base/default/js/lfnds_donation/additional/elefunds_magento_onestep_additional.js
ADDED
@@ -0,0 +1,171 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
var lfndsOneStep = {};
|
2 |
+
|
3 |
+
/*
|
4 |
+
* ++ One Step Checkout Specific JavaScript ++
|
5 |
+
*/
|
6 |
+
|
7 |
+
var ElefundsOneStepCheckoutIntegration = function () {
|
8 |
+
/*
|
9 |
+
* Cache important DOM-Nodes as member-variables
|
10 |
+
*/
|
11 |
+
this.$oneStepMiddleColumn = jQuery('.onestepcheckout-column-middle');
|
12 |
+
this.$elefundsModule = jQuery('#elefunds-form');
|
13 |
+
|
14 |
+
this.init();
|
15 |
+
this.addEvents();
|
16 |
+
};
|
17 |
+
ElefundsOneStepCheckoutIntegration.prototype.init = function () {
|
18 |
+
this.changePosition();
|
19 |
+
};
|
20 |
+
ElefundsOneStepCheckoutIntegration.prototype.addEvents = function () {
|
21 |
+
|
22 |
+
};
|
23 |
+
ElefundsOneStepCheckoutIntegration.prototype.changePosition = function () {
|
24 |
+
this.$oneStepMiddleColumn.append('<div class="elefunds"></div>');
|
25 |
+
jQuery('.elefunds').append(this.$elefundsModule);
|
26 |
+
this.$elefundsModule.parent().fadeIn();
|
27 |
+
};
|
28 |
+
|
29 |
+
|
30 |
+
/*
|
31 |
+
* ++ Change Sum in One-Step-Checkout ++
|
32 |
+
*/
|
33 |
+
var ElefundsOneStepCheckoutIntegrationChangeSum = function () {
|
34 |
+
this.$roundedSumNode = jQuery('#elefunds_round_sum');
|
35 |
+
this.$currencyNode = jQuery('#elefunds_round_sum + strong');
|
36 |
+
|
37 |
+
this.$totalAmountNode = jQuery('.onestepcheckout-totals .grand-total .price');
|
38 |
+
|
39 |
+
this.roundedSum = this.$roundedSumNode.html();
|
40 |
+
|
41 |
+
if (this.$roundedSumNode.length && this.$totalAmountNode.length) {
|
42 |
+
this.oldSum = this.$totalAmountNode.html();
|
43 |
+
this.isModuleEnabled = false;
|
44 |
+
this.addDonationRow();
|
45 |
+
this.addEvents();
|
46 |
+
}
|
47 |
+
};
|
48 |
+
|
49 |
+
ElefundsOneStepCheckoutIntegrationChangeSum.prototype.addEvents = function () {
|
50 |
+
var that = this;
|
51 |
+
|
52 |
+
jQuery(document).on('elefunds_enabled', function () {
|
53 |
+
that.isModuleEnabled = true;
|
54 |
+
that.activateDonationRow();
|
55 |
+
|
56 |
+
that.changeSumValue();
|
57 |
+
});
|
58 |
+
jQuery('#elefunds').on('click', function () {
|
59 |
+
if (that.isModuleEnabled) {
|
60 |
+
that.changeSumValue();
|
61 |
+
}
|
62 |
+
});
|
63 |
+
jQuery('#elefunds_input').on('change', function () {
|
64 |
+
if (that.isModuleEnabled) {
|
65 |
+
that.changeSumValue();
|
66 |
+
}
|
67 |
+
});
|
68 |
+
jQuery(document).on('elefunds_disabled', function () {
|
69 |
+
that.deactivateDonationRow();
|
70 |
+
that.isModuleEnabled = false;
|
71 |
+
jQuery('.onestepcheckout-totals .grand-total .price').html(that.oldSum);
|
72 |
+
});
|
73 |
+
};
|
74 |
+
ElefundsOneStepCheckoutIntegrationChangeSum.prototype.changeSumValue = function () {
|
75 |
+
if (this.isModuleEnabled) {
|
76 |
+
var oldSumReg = this.oldSum.replace(/[^0-9]/gi, '');
|
77 |
+
var oldSumValue = parseFloat(oldSumReg / 100);
|
78 |
+
var donationValue = parseFloat(jQuery('#elefunds_donation_cent').val() / 100);
|
79 |
+
console.log(donationValue);
|
80 |
+
|
81 |
+
this.roundedSum = oldSumValue + donationValue;
|
82 |
+
|
83 |
+
this.$roundedSumNode.html(this.roundedSum.toFixed(2));
|
84 |
+
|
85 |
+
var currency = this.$currencyNode.html();
|
86 |
+
jQuery('.onestepcheckout-totals .grand-total .price').html(this.roundedSum.toFixed(2) + ' ' + currency);
|
87 |
+
this.updateDonationRow();
|
88 |
+
}
|
89 |
+
};
|
90 |
+
ElefundsOneStepCheckoutIntegrationChangeSum.prototype.updateSums = function () {
|
91 |
+
this.oldSum = jQuery('.onestepcheckout-totals .grand-total .price').html();
|
92 |
+
|
93 |
+
if (!jQuery('.elefunds_donation_row').length) {
|
94 |
+
this.addDonationRow();
|
95 |
+
}
|
96 |
+
if (this.isModuleEnabled) {
|
97 |
+
this.activateDonationRow();
|
98 |
+
}
|
99 |
+
|
100 |
+
/*
|
101 |
+
* New total has to change too
|
102 |
+
* As there is the curreny-symbol inside the amount-value we have to remove it
|
103 |
+
* (and everything else what is not a number)
|
104 |
+
*/
|
105 |
+
var oldSumReg = this.oldSum.replace(/[^0-9]/gi, '');
|
106 |
+
var oldSumValue = parseFloat(oldSumReg / 100);
|
107 |
+
var donationValue = parseFloat(jQuery('#elefunds_donation_cent').val() / 100);
|
108 |
+
|
109 |
+
this.roundedSum = oldSumValue + donationValue;
|
110 |
+
|
111 |
+
this.$roundedSumNode.html(this.roundedSum.toFixed(2));
|
112 |
+
};
|
113 |
+
|
114 |
+
/*
|
115 |
+
* Adds a new row in order review to show elefunds donation
|
116 |
+
* Supply methods for update, activate and remove the row
|
117 |
+
*/
|
118 |
+
ElefundsOneStepCheckoutIntegrationChangeSum.prototype.addDonationRow = function () {
|
119 |
+
jQuery('' +
|
120 |
+
'<tr class="elefunds_donation_row">' +
|
121 |
+
'<td class="title">elefunds Donation</td>' +
|
122 |
+
'<td class="value">' +
|
123 |
+
'<span class="price">' + jQuery('#elefunds_input').val() + '</span>' +
|
124 |
+
'</td>' +
|
125 |
+
'</tr>' +
|
126 |
+
'').insertBefore('.grand-total');
|
127 |
+
};
|
128 |
+
ElefundsOneStepCheckoutIntegrationChangeSum.prototype.updateDonationRow = function () {
|
129 |
+
var currency = this.$currencyNode.html();
|
130 |
+
var donationValue = parseFloat(jQuery('#elefunds_donation_cent').val() / 100);
|
131 |
+
jQuery('.elefunds_donation_row .price').html(donationValue.toFixed(2) + ' ' + currency);
|
132 |
+
};
|
133 |
+
ElefundsOneStepCheckoutIntegrationChangeSum.prototype.activateDonationRow = function () {
|
134 |
+
jQuery('.elefunds_donation_row').addClass('active');
|
135 |
+
};
|
136 |
+
ElefundsOneStepCheckoutIntegrationChangeSum.prototype.deactivateDonationRow = function () {
|
137 |
+
jQuery('.elefunds_donation_row').removeClass('active');
|
138 |
+
};
|
139 |
+
|
140 |
+
|
141 |
+
jQuery(document).ready(function () {
|
142 |
+
lfndsOneStep.instance = new ElefundsOneStepCheckoutIntegration();
|
143 |
+
lfndsOneStep.lfnds_changeSum = new ElefundsOneStepCheckoutIntegrationChangeSum();
|
144 |
+
});
|
145 |
+
|
146 |
+
|
147 |
+
|
148 |
+
/*
|
149 |
+
* Patches the Ajax.Request of Prototype to change sum always after ajax-requests (in callback)
|
150 |
+
*/
|
151 |
+
|
152 |
+
OriginalAjaxRequest = Ajax.Request;
|
153 |
+
AjaxRequestProxy = Class.create(OriginalAjaxRequest, {
|
154 |
+
|
155 |
+
initialize: function($super, url, options) {
|
156 |
+
originalCallback = options['onSuccess'];
|
157 |
+
|
158 |
+
callbackProxy = function(transport) {
|
159 |
+
originalCallback(transport);
|
160 |
+
lfndsOneStep.lfnds_changeSum.updateSums();
|
161 |
+
lfndsOneStep.lfnds_changeSum.changeSumValue();
|
162 |
+
};
|
163 |
+
|
164 |
+
options['onSuccess'] = callbackProxy;
|
165 |
+
|
166 |
+
$super(url, options);
|
167 |
+
|
168 |
+
}
|
169 |
+
});
|
170 |
+
AjaxRequestProxy.Events = Ajax.Request.Events;
|
171 |
+
Ajax.Request = AjaxRequestProxy;
|
skin/frontend/base/default/js/lfnds_donation/elefunds.jquery.js
ADDED
@@ -0,0 +1,227 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
var elefunds = (function(parent, $) {
|
2 |
+
|
3 |
+
var roundSumContainer, roundSum, currency, decimal, decimalAlt, total, toolTipPosition;
|
4 |
+
var enabled = false;
|
5 |
+
|
6 |
+
function init(options) {
|
7 |
+
roundSumContainer = options.roundSumContainer;
|
8 |
+
roundSum = options.roundSum;
|
9 |
+
currency = options.currency;
|
10 |
+
decimal = options.decimal;
|
11 |
+
decimalAlt = options.deciamlAlt;
|
12 |
+
total = options.total;
|
13 |
+
toolTipPosition = options.toolTipPosition;
|
14 |
+
|
15 |
+
$('#elefunds').data('elefunds-roundSum', convertToFloat(total + parseInt($('#elefunds_donation_cent').val(), 10)));
|
16 |
+
$('#elefunds').data('elefunds-donation', {donationCent: parseInt($('#elefunds_donation_cent').val(), 10), donationFloat: convertToFloat(parseInt($('#elefunds_donation_cent').val(), 10))});
|
17 |
+
|
18 |
+
function enable() {
|
19 |
+
$('#elefunds_checkbox').prop('checked', true);
|
20 |
+
$("#elefunds_input").addClass('elefunds_input_active');
|
21 |
+
roundSumContainer.slideDown();
|
22 |
+
|
23 |
+
$('#elefunds').trigger('elefunds_enabled');
|
24 |
+
enabled = true;
|
25 |
+
}
|
26 |
+
|
27 |
+
function disable() {
|
28 |
+
$('#elefunds_checkbox').prop('checked', false);
|
29 |
+
$('#elefunds_input').removeClass('elefunds_input_active');
|
30 |
+
roundSumContainer.slideUp();
|
31 |
+
|
32 |
+
$('#elefunds').trigger('elefunds_disabled');
|
33 |
+
enabled = false;
|
34 |
+
}
|
35 |
+
|
36 |
+
// Change button backgrounds when (un)selected
|
37 |
+
$('.elefunds_receiver > input').on('change', function() {
|
38 |
+
//If all are unchecked
|
39 |
+
if($('#elefunds_bottom').find('input[type="checkbox"]:checked').length == 0) {
|
40 |
+
disable();
|
41 |
+
} else if(!enabled) {
|
42 |
+
enable();
|
43 |
+
}
|
44 |
+
|
45 |
+
$(this).parent().toggleClass('elefunds_receiver_selected');
|
46 |
+
});
|
47 |
+
|
48 |
+
// When the plugin is (de)activated
|
49 |
+
$('#elefunds_checkbox').on('change', function() {
|
50 |
+
if($('#elefunds_checkbox').prop('checked') && $('#elefunds_bottom').find('input[type="checkbox"]:checked').length == 0) {
|
51 |
+
$('#elefunds_bottom').find('input[type="checkbox"]').prop('checked', true);
|
52 |
+
$('#elefunds_bottom').find('input[type="checkbox"]').parent().toggleClass('elefunds_receiver_selected');
|
53 |
+
}
|
54 |
+
|
55 |
+
if(!$('#elefunds_checkbox:checked').length) {
|
56 |
+
roundSumContainer.slideUp();
|
57 |
+
$('#elefunds').trigger('elefunds_disabled');
|
58 |
+
enabled = false;
|
59 |
+
|
60 |
+
} else {
|
61 |
+
if ($('#elefunds_checkbox:checked').length) {
|
62 |
+
roundSumContainer.slideDown();
|
63 |
+
|
64 |
+
//Store data
|
65 |
+
var centValue = parseInt($('#elefunds_donation_cent').val(), 10);
|
66 |
+
$('#elefunds').data('elefunds-donation', {donationCent: centValue, donationFloat: convertToFloat(centValue)});
|
67 |
+
|
68 |
+
$('#elefunds').trigger('elefunds_enabled');
|
69 |
+
enabled = true;
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
$('#elefunds_input').toggleClass('elefunds_input_active');
|
74 |
+
});
|
75 |
+
|
76 |
+
$('#elefunds_input').keyup(function(e){
|
77 |
+
if(e.which == 13) e.preventDefault();
|
78 |
+
});
|
79 |
+
|
80 |
+
// Enable tooltips
|
81 |
+
$('.tiptip').tipTip({
|
82 |
+
defaultPosition: toolTipPosition || 'top',
|
83 |
+
edgeOffset: -12,
|
84 |
+
delay: 200
|
85 |
+
});
|
86 |
+
} //END INIT
|
87 |
+
|
88 |
+
//Check if elefunds has already been created in the view
|
89 |
+
(function() {
|
90 |
+
if(parent.hasOwnProperty('options')) {
|
91 |
+
init(parent.options);
|
92 |
+
}
|
93 |
+
})();
|
94 |
+
|
95 |
+
function convertToCent(floatValue) {
|
96 |
+
var centValue;
|
97 |
+
var centArray;
|
98 |
+
|
99 |
+
if(floatValue.indexOf(decimal) !== -1) {
|
100 |
+
centArray = floatValue.split(decimal,2);
|
101 |
+
} else if(floatValue.indexOf(decimalAlt) !== -1) {
|
102 |
+
centArray = floatValue.split(decimalAlt,2);
|
103 |
+
} else {
|
104 |
+
centArray = [floatValue, 0];
|
105 |
+
}
|
106 |
+
|
107 |
+
if(centArray[1].length > 2) {
|
108 |
+
centArray[1] = centArray[1].substr(0,2);
|
109 |
+
}
|
110 |
+
|
111 |
+
while(centArray[1].length < 2) {
|
112 |
+
centArray[1] += '0';
|
113 |
+
}
|
114 |
+
|
115 |
+
if(centArray[0].length < 1) {
|
116 |
+
centArray[0] = 0;
|
117 |
+
}
|
118 |
+
|
119 |
+
centValue = parseInt(centArray[0], 10)*100 + parseInt(centArray[1], 10);
|
120 |
+
|
121 |
+
// Check for valid value
|
122 |
+
if(isNaN(centValue) || centValue < 0) {
|
123 |
+
centValue = 0;
|
124 |
+
}
|
125 |
+
|
126 |
+
return centValue;
|
127 |
+
}
|
128 |
+
|
129 |
+
// Convert cent value to float currency equivalent
|
130 |
+
function convertToFloat(centValue) {
|
131 |
+
var floatValue;
|
132 |
+
|
133 |
+
if(centValue < 10) {
|
134 |
+
floatValue = '0' + decimal + '0' + centValue;
|
135 |
+
} else if(centValue < 100) {
|
136 |
+
floatValue = '0' + decimal + centValue;
|
137 |
+
} else {
|
138 |
+
centValue = centValue.toString();
|
139 |
+
floatValue = centValue.slice(0, -2) + decimal + centValue.slice(-2);
|
140 |
+
}
|
141 |
+
|
142 |
+
return floatValue;
|
143 |
+
}
|
144 |
+
|
145 |
+
// Update the donation input field
|
146 |
+
function updateDonation(centValue) {
|
147 |
+
var floatValue = convertToFloat(centValue);
|
148 |
+
$('#elefunds_input').val(floatValue);
|
149 |
+
|
150 |
+
render(centValue);
|
151 |
+
|
152 |
+
if(enabled) {
|
153 |
+
$('#elefunds').trigger('elefunds_donationChange');
|
154 |
+
}
|
155 |
+
}
|
156 |
+
|
157 |
+
function render(centValue) {
|
158 |
+
// Update the hidden donation input field
|
159 |
+
// containing the value of the donation in cents
|
160 |
+
$('#elefunds_donation_cent').val(centValue);
|
161 |
+
|
162 |
+
// Store data
|
163 |
+
$('#elefunds').data('elefunds-roundSum', convertToFloat(total + centValue));
|
164 |
+
$('#elefunds').data('elefunds-donation', {donationCent: centValue, donationFloat: convertToFloat(centValue)});
|
165 |
+
|
166 |
+
//Update round sum
|
167 |
+
if(roundSum) {
|
168 |
+
roundSum.html(convertToFloat(total + centValue));
|
169 |
+
}
|
170 |
+
}
|
171 |
+
|
172 |
+
return {
|
173 |
+
|
174 |
+
init: function(options) {
|
175 |
+
init(options);
|
176 |
+
},
|
177 |
+
|
178 |
+
// Decrease the donation sum by 1.00
|
179 |
+
decreaseDonation: function() {
|
180 |
+
var centValue = parseInt($('#elefunds_donation_cent').val(), 10);
|
181 |
+
|
182 |
+
if(centValue > 100) {
|
183 |
+
centValue = centValue - 100;
|
184 |
+
updateDonation(centValue);
|
185 |
+
}
|
186 |
+
|
187 |
+
return centValue;
|
188 |
+
},
|
189 |
+
|
190 |
+
// Increase the donation sum by 1.00
|
191 |
+
increaseDonation: function() {
|
192 |
+
var centValue = parseInt($('#elefunds_donation_cent').val(), 10);
|
193 |
+
|
194 |
+
centValue = parseInt(centValue, 10) + 100;
|
195 |
+
|
196 |
+
updateDonation(centValue);
|
197 |
+
return centValue;
|
198 |
+
},
|
199 |
+
|
200 |
+
// Update the hidden field with the current donation value
|
201 |
+
donationChange: function(floatValue) {
|
202 |
+
var centValue = convertToCent(floatValue);
|
203 |
+
render(centValue);
|
204 |
+
|
205 |
+
var timeHandler = $('#elefunds').data('elefunds-timer');
|
206 |
+
var now = (new Date()).getTime();
|
207 |
+
var delay = 800;
|
208 |
+
|
209 |
+
if (typeof(timeHandler) !== 'undefined' && timeHandler !== null) {
|
210 |
+
if(now - timeHandler.time < delay) {
|
211 |
+
clearTimeout(timeHandler.timer);
|
212 |
+
}
|
213 |
+
}
|
214 |
+
|
215 |
+
if(enabled) {
|
216 |
+
var timer = setTimeout(function() {
|
217 |
+
$('#elefunds').trigger('elefunds_donationChange');
|
218 |
+
}, delay);
|
219 |
+
|
220 |
+
$('#elefunds').data('elefunds-timer', {timer: timer, time: (new Date()).getTime()});
|
221 |
+
}
|
222 |
+
|
223 |
+
return centValue;
|
224 |
+
}
|
225 |
+
|
226 |
+
};
|
227 |
+
}(elefunds || {}, jQuery));
|
skin/frontend/base/default/js/lfnds_donation/elefunds.jquery.min.js
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
(function(e){e.fn.tipTip=function(t){var n={activation:"hover",keepAlive:!1,maxWidth:"auto",edgeOffset:2,defaultPosition:"top",delay:50,fadeIn:50,fadeOut:100,attribute:"title",attribute2:"desc",content:"",enter:function(){},exit:function(){}},r=e.extend(n,t),i,s,o,u;if(e("#tiptip_holder").length<=0){i=e('<div id="tiptip_holder" style="max-width:'+r.maxWidth+';"></div>');s=e('<div id="tiptip_content"></div>');o=e('<div id="tiptip_inner"></div>');u=e('<div id="tiptip_arrow"></div>');e("body").append(i.html(s).prepend(u.html('<div id="tiptip_arrow_inner"></div>')))}else{i=e("#tiptip_holder");s=e("#tiptip_content");o=e("#tiptip_inner");u=e("#tiptip_arrow")}return this.each(function(){var t=e(this),n,a,f;if(t.attr(r.attribute)){n=t.attr(r.attribute);a=t.attr(r.attribute2)}else{n=r.title;a=r.content}if(n!==""){if(!r.content){t.removeAttr(r.attribute);t.removeAttr(r.attribute2)}f=!1;if(r.activation==="hover"){t.hover(function(){l()},function(){r.keepAlive||c()});r.keepAlive&&i.hover(function(){},function(){c()})}else if(r.activation==="focus")t.focus(function(){l()}).blur(function(){c()});else if(r.activation==="click"){t.click(function(){l();return!1}).hover(function(){},function(){r.keepAlive||c()});r.keepAlive&&i.hover(function(){},function(){c()})}function l(){r.enter.call(this);s.html('<h3 id="tiptip_title">'+n+"</h3>");o.html(a);s.append(o);i.hide().removeAttr("class").css("margin","0");u.removeAttr("style");var l=parseInt(t.offset().top);t.attr("id")==="elefunds_logo"&&(l-=8);var c=parseInt(t.offset().left),h=parseInt(t.width()),p=parseInt(t.height()),d=i.width(),v=i.height(),m=Math.round((h-d)/2),g=Math.round((p-v)/2),y=Math.round(c+m),b=Math.round(l+p+r.edgeOffset),w="",E="",S=Math.round(d-12)/2;r.defaultPosition==="bottom"?w="_bottom":r.defaultPosition==="top"?w="_top":r.defaultPosition==="left"?w="_left":r.defaultPosition==="right"&&(w="_right");var x=m+c<parseInt(e(window).scrollLeft()),T=d+c>parseInt(e(window).width());if(x&&m<0||w=="_right"&&!T||w=="_left"&&c<d+r.edgeOffset+5){w="_right";E=Math.round(v-13)/2;S=-12;y=Math.round(c+h+r.edgeOffset);b=Math.round(l+g)}else if(T&&m<0||w=="_left"&&!x){w="_left";E=Math.round(v-13)/2;S=Math.round(d);y=Math.round(c-(d+r.edgeOffset+5));b=Math.round(l+g)}var N=l+p+r.edgeOffset+v+8>parseInt(e(window).height()+e(window).scrollTop()),C=l+p-(r.edgeOffset+v+8)<0;if(N||w=="_bottom"&&N||w=="_top"&&!C){w=="_top"||w=="_bottom"?w="_top":w+="_top";E=v;b=Math.round(l-(v+5+r.edgeOffset))}else if(C|(w=="_top"&&C)||w=="_bottom"&&!N){w=="_top"||w=="_bottom"?w="_bottom":w+="_bottom";E=-12;b=Math.round(l+p+r.edgeOffset)}u.css({"margin-left":S+"px","margin-top":E+"px"});i.css({"margin-left":y+"px","margin-top":b+"px"}).attr("class","tip"+w);f&&clearTimeout(f);f=setTimeout(function(){i.stop(!0,!0).fadeIn(r.fadeIn)},r.delay)}function c(){r.exit.call(this);f&&clearTimeout(f);i.fadeOut(r.fadeOut)}}})}})(window.jQuery);var elefunds=function(e,t){function l(e){function l(){t("#elefunds_checkbox").prop("checked",!0);t("#elefunds_input").addClass("elefunds_input_active");n.slideDown();t("#elefunds").trigger("elefunds_enabled");f=!0}function c(){t("#elefunds_checkbox").prop("checked",!1);t("#elefunds_input").removeClass("elefunds_input_active");n.slideUp();t("#elefunds").trigger("elefunds_disabled");f=!1}n=e.roundSumContainer;r=e.roundSum;i=e.currency;s=e.decimal;o=e.deciamlAlt;u=e.total;a=e.toolTipPosition;t("#elefunds").data("elefunds-roundSum",h(u+parseInt(t("#elefunds_donation_cent").val(),10)));t("#elefunds").data("elefunds-donation",{donationCent:parseInt(t("#elefunds_donation_cent").val(),10),donationFloat:h(parseInt(t("#elefunds_donation_cent").val(),10))});t(".elefunds_receiver > input").on("change",function(){t("#elefunds_bottom").find('input[type="checkbox"]:checked').length==0?c():f||l();t(this).parent().toggleClass("elefunds_receiver_selected")});t("#elefunds_checkbox").on("change",function(){if(t("#elefunds_checkbox").prop("checked")&&t("#elefunds_bottom").find('input[type="checkbox"]:checked').length==0){t("#elefunds_bottom").find('input[type="checkbox"]').prop("checked",!0);t("#elefunds_bottom").find('input[type="checkbox"]').parent().toggleClass("elefunds_receiver_selected")}if(!t("#elefunds_checkbox:checked").length){n.slideUp();t("#elefunds").trigger("elefunds_disabled");f=!1}else if(t("#elefunds_checkbox:checked").length){n.slideDown();var e=parseInt(t("#elefunds_donation_cent").val(),10);t("#elefunds").data("elefunds-donation",{donationCent:e,donationFloat:h(e)});t("#elefunds").trigger("elefunds_enabled");f=!0}t("#elefunds_input").toggleClass("elefunds_input_active")});t("#elefunds_input").keyup(function(e){e.which==13&&e.preventDefault()});t(".tiptip").tipTip({defaultPosition:a||"top",edgeOffset:-12,delay:200})}function c(e){var t,n;e.indexOf(s)!==-1?n=e.split(s,2):e.indexOf(o)!==-1?n=e.split(o,2):n=[e,0];n[1].length>2&&(n[1]=n[1].substr(0,2));while(n[1].length<2)n[1]+="0";n[0].length<1&&(n[0]=0);t=parseInt(n[0],10)*100+parseInt(n[1],10);if(isNaN(t)||t<0)t=0;return t}function h(e){var t;if(e<10)t="0"+s+"0"+e;else if(e<100)t="0"+s+e;else{e=e.toString();t=e.slice(0,-2)+s+e.slice(-2)}return t}function p(e){var n=h(e);t("#elefunds_input").val(n);d(e);f&&t("#elefunds").trigger("elefunds_donationChange")}function d(e){t("#elefunds_donation_cent").val(e);t("#elefunds").data("elefunds-roundSum",h(u+e));t("#elefunds").data("elefunds-donation",{donationCent:e,donationFloat:h(e)});r&&r.html(h(u+e))}var n,r,i,s,o,u,a,f=!1;(function(){e.hasOwnProperty("options")&&l(e.options)})();return{init:function(e){l(e)},decreaseDonation:function(){var e=parseInt(t("#elefunds_donation_cent").val(),10);if(e>100){e-=100;p(e)}return e},increaseDonation:function(){var e=parseInt(t("#elefunds_donation_cent").val(),10);e=parseInt(e,10)+100;p(e);return e},donationChange:function(e){var n=c(e);d(n);var r=t("#elefunds").data("elefunds-timer"),i=(new Date).getTime(),s=800;typeof r!="undefined"&&r!==null&&i-r.time<s&&clearTimeout(r.timer);if(f){var o=setTimeout(function(){t("#elefunds").trigger("elefunds_donationChange")},s);t("#elefunds").data("elefunds-timer",{timer:o,time:(new Date).getTime()})}return n}}}(elefunds||{},jQuery);
|
skin/frontend/base/default/js/lfnds_donation/elefundsTT.jquery.js
ADDED
@@ -0,0 +1,211 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*
|
2 |
+
* TipTip
|
3 |
+
* Copyright 2010 Drew Wilson
|
4 |
+
* www.drewwilson.com
|
5 |
+
* code.drewwilson.com/entry/tiptip-jquery-plugin
|
6 |
+
*
|
7 |
+
* Version 1.3 - Updated: Mar. 23, 2010
|
8 |
+
*
|
9 |
+
* This Plug-In will create a custom tooltip to replace the default
|
10 |
+
* browser tooltip. It is extremely lightweight and very smart in
|
11 |
+
* that it detects the edges of the browser window and will make sure
|
12 |
+
* the tooltip stays within the current window size. As a result the
|
13 |
+
* tooltip will adjust itself to be displayed above, below, to the left
|
14 |
+
* or to the right depending on what is necessary to stay within the
|
15 |
+
* browser window. It is completely customizable as well via CSS.
|
16 |
+
*
|
17 |
+
* This TipTip jQuery plug-in is dual licensed under the MIT and GPL licenses:
|
18 |
+
* http://www.opensource.org/licenses/mit-license.php
|
19 |
+
* http://www.gnu.org/licenses/gpl.html
|
20 |
+
*/
|
21 |
+
|
22 |
+
(function ($) {
|
23 |
+
$.fn.tipTip = function (options) {
|
24 |
+
var defaults = {
|
25 |
+
activation: "hover",
|
26 |
+
keepAlive: false,
|
27 |
+
maxWidth: "auto",
|
28 |
+
edgeOffset: 2,
|
29 |
+
defaultPosition: "top",
|
30 |
+
delay: 50,
|
31 |
+
fadeIn: 50,
|
32 |
+
fadeOut: 100,
|
33 |
+
attribute: "title",
|
34 |
+
attribute2: "desc",
|
35 |
+
content: '',
|
36 |
+
enter: function () {},
|
37 |
+
exit: function () {}
|
38 |
+
},
|
39 |
+
opts = $.extend(defaults, options),
|
40 |
+
tiptip_holder,
|
41 |
+
tiptip_content,
|
42 |
+
tiptip_inner,
|
43 |
+
tiptip_arrow;
|
44 |
+
|
45 |
+
// Setup tip tip elements and render them to the DOM
|
46 |
+
if ($("#tiptip_holder").length <= 0) {
|
47 |
+
tiptip_holder = $('<div id="tiptip_holder" style="max-width:' + opts.maxWidth + ';"></div>');
|
48 |
+
tiptip_content = $('<div id="tiptip_content"></div>');
|
49 |
+
tiptip_inner = $('<div id="tiptip_inner"></div>');
|
50 |
+
tiptip_arrow = $('<div id="tiptip_arrow"></div>');
|
51 |
+
$("body").append(tiptip_holder.html(tiptip_content).prepend(tiptip_arrow.html('<div id="tiptip_arrow_inner"></div>')));
|
52 |
+
} else {
|
53 |
+
tiptip_holder = $('#tiptip_holder');
|
54 |
+
tiptip_content = $('#tiptip_content');
|
55 |
+
tiptip_inner = $('#tiptip_inner');
|
56 |
+
tiptip_arrow = $("#tiptip_arrow");
|
57 |
+
}
|
58 |
+
|
59 |
+
return this.each(function () {
|
60 |
+
var org_elem = $(this),
|
61 |
+
org_title,
|
62 |
+
org_desc,
|
63 |
+
timeout;
|
64 |
+
|
65 |
+
if (org_elem.attr(opts.attribute)) {
|
66 |
+
org_title = org_elem.attr(opts.attribute);
|
67 |
+
org_desc = org_elem.attr(opts.attribute2);
|
68 |
+
} else {
|
69 |
+
org_title = opts.title;
|
70 |
+
org_desc = opts.content;
|
71 |
+
}
|
72 |
+
|
73 |
+
if (org_title !== "") {
|
74 |
+
if (!opts.content) {
|
75 |
+
org_elem.removeAttr(opts.attribute);
|
76 |
+
org_elem.removeAttr(opts.attribute2);
|
77 |
+
}
|
78 |
+
timeout = false;
|
79 |
+
|
80 |
+
if (opts.activation === "hover") {
|
81 |
+
org_elem.hover(function () {
|
82 |
+
active_tiptip();
|
83 |
+
}, function () {
|
84 |
+
if (!opts.keepAlive) {
|
85 |
+
deactive_tiptip();
|
86 |
+
}
|
87 |
+
});
|
88 |
+
if (opts.keepAlive) {
|
89 |
+
tiptip_holder.hover(function () {}, function () {
|
90 |
+
deactive_tiptip();
|
91 |
+
});
|
92 |
+
}
|
93 |
+
} else if (opts.activation === "focus") {
|
94 |
+
org_elem.focus(function () {
|
95 |
+
active_tiptip();
|
96 |
+
}).blur(function () {
|
97 |
+
deactive_tiptip();
|
98 |
+
});
|
99 |
+
} else if (opts.activation === "click") {
|
100 |
+
org_elem.click(function () {
|
101 |
+
active_tiptip();
|
102 |
+
return false;
|
103 |
+
}).hover(function () {}, function () {
|
104 |
+
if (!opts.keepAlive) {
|
105 |
+
deactive_tiptip();
|
106 |
+
}
|
107 |
+
});
|
108 |
+
if (opts.keepAlive) {
|
109 |
+
tiptip_holder.hover(function () {}, function () {
|
110 |
+
deactive_tiptip();
|
111 |
+
});
|
112 |
+
}
|
113 |
+
}
|
114 |
+
|
115 |
+
function active_tiptip() {
|
116 |
+
opts.enter.call(this);
|
117 |
+
|
118 |
+
tiptip_content.html('<h3 id="tiptip_title">' + org_title + '</h3>');
|
119 |
+
tiptip_inner.html(org_desc);
|
120 |
+
tiptip_content.append(tiptip_inner);
|
121 |
+
tiptip_holder.hide().removeAttr("class").css("margin", "0");
|
122 |
+
tiptip_arrow.removeAttr("style");
|
123 |
+
|
124 |
+
var top = parseInt(org_elem.offset().top);
|
125 |
+
if (org_elem.attr('id') === 'elefunds_logo') {
|
126 |
+
top -= 8;
|
127 |
+
}
|
128 |
+
|
129 |
+
var left = parseInt(org_elem.offset().left),
|
130 |
+
org_width = parseInt(org_elem.width()),
|
131 |
+
org_height = parseInt(org_elem.height()),
|
132 |
+
tip_w = tiptip_holder.width(),
|
133 |
+
tip_h = tiptip_holder.height(),
|
134 |
+
w_compare = Math.round((org_width - tip_w) / 2),
|
135 |
+
h_compare = Math.round((org_height - tip_h) / 2),
|
136 |
+
marg_left = Math.round(left + w_compare),
|
137 |
+
marg_top = Math.round(top + org_height + opts.edgeOffset),
|
138 |
+
t_class = "",
|
139 |
+
arrow_top = "",
|
140 |
+
arrow_left = Math.round(tip_w - 12) / 2;
|
141 |
+
|
142 |
+
if (opts.defaultPosition === "bottom") {
|
143 |
+
t_class = "_bottom";
|
144 |
+
} else if (opts.defaultPosition === "top") {
|
145 |
+
t_class = "_top";
|
146 |
+
} else if (opts.defaultPosition === "left") {
|
147 |
+
t_class = "_left";
|
148 |
+
} else if (opts.defaultPosition === "right") {
|
149 |
+
t_class = "_right";
|
150 |
+
}
|
151 |
+
|
152 |
+
var right_compare = (w_compare + left) < parseInt($(window).scrollLeft());
|
153 |
+
var left_compare = (tip_w + left) > parseInt($(window).width());
|
154 |
+
|
155 |
+
if((right_compare && w_compare < 0) || (t_class == "_right" && !left_compare) || (t_class == "_left" && left < (tip_w + opts.edgeOffset + 5))){
|
156 |
+
t_class = "_right";
|
157 |
+
arrow_top = Math.round(tip_h - 13) / 2;
|
158 |
+
arrow_left = -12;
|
159 |
+
marg_left = Math.round(left + org_width + opts.edgeOffset);
|
160 |
+
marg_top = Math.round(top + h_compare);
|
161 |
+
} else if((left_compare && w_compare < 0) || (t_class == "_left" && !right_compare)){
|
162 |
+
t_class = "_left";
|
163 |
+
arrow_top = Math.round(tip_h - 13) / 2;
|
164 |
+
arrow_left = Math.round(tip_w);
|
165 |
+
marg_left = Math.round(left - (tip_w + opts.edgeOffset + 5));
|
166 |
+
marg_top = Math.round(top + h_compare);
|
167 |
+
}
|
168 |
+
|
169 |
+
var top_compare = (top + org_height + opts.edgeOffset + tip_h + 8) > parseInt($(window).height() + $(window).scrollTop()),
|
170 |
+
bottom_compare = ((top + org_height) - (opts.edgeOffset + tip_h + 8)) < 0;
|
171 |
+
|
172 |
+
if(top_compare || (t_class == "_bottom" && top_compare) || (t_class == "_top" && !bottom_compare)){
|
173 |
+
if(t_class == "_top" || t_class == "_bottom"){
|
174 |
+
t_class = "_top";
|
175 |
+
} else {
|
176 |
+
t_class = t_class+"_top";
|
177 |
+
}
|
178 |
+
arrow_top = tip_h;
|
179 |
+
marg_top = Math.round(top - (tip_h + 5 + opts.edgeOffset));
|
180 |
+
} else if(bottom_compare | (t_class == "_top" && bottom_compare) || (t_class == "_bottom" && !top_compare)){
|
181 |
+
if(t_class == "_top" || t_class == "_bottom"){
|
182 |
+
t_class = "_bottom";
|
183 |
+
} else {
|
184 |
+
t_class = t_class+"_bottom";
|
185 |
+
}
|
186 |
+
arrow_top = -12;
|
187 |
+
marg_top = Math.round(top + org_height + opts.edgeOffset);
|
188 |
+
}
|
189 |
+
|
190 |
+
tiptip_arrow.css({"margin-left": arrow_left + "px", "margin-top": arrow_top + "px"});
|
191 |
+
tiptip_holder.css({"margin-left": marg_left + "px", "margin-top": marg_top + "px"}).attr("class", "tip" + t_class);
|
192 |
+
|
193 |
+
if (timeout) {
|
194 |
+
clearTimeout(timeout);
|
195 |
+
}
|
196 |
+
timeout = setTimeout(function () {
|
197 |
+
tiptip_holder.stop(true, true).fadeIn(opts.fadeIn);
|
198 |
+
}, opts.delay);
|
199 |
+
}
|
200 |
+
|
201 |
+
function deactive_tiptip() {
|
202 |
+
opts.exit.call(this);
|
203 |
+
if (timeout) {
|
204 |
+
clearTimeout(timeout);
|
205 |
+
}
|
206 |
+
tiptip_holder.fadeOut(opts.fadeOut);
|
207 |
+
}
|
208 |
+
}
|
209 |
+
});
|
210 |
+
};
|
211 |
+
})(window.jQuery);
|
skin/frontend/base/default/js/lfnds_donation/jQueryNoConflict.js
ADDED
@@ -0,0 +1 @@
|
|
Â
|
1 |
+
jQuery.noConflict();
|
skin/frontend/base/default/js/lfnds_donation/jquery-1.9.1.min.js
ADDED
@@ -0,0 +1,5 @@
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
|
Â
|
1 |
+
/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
|
2 |
+
//@ sourceMappingURL=jquery.min.map
|
3 |
+
*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
|
4 |
+
return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
|
5 |
+
}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
|