Version Notes
Stable release
Download this release
Release Info
Developer | Volkmar Breitfeld |
Extension | Flickrocket |
Version | 1.1.8 |
Comparing to | |
See all releases |
Code changes from version 1.1.7 to 1.1.8
- app/code/community/Acegmbh/Flux/Block/Customer/Products/List.php +151 -0
- app/code/community/Acegmbh/Flux/Helper/Data.php +113 -6
- app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Access.php +18 -0
- app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Licenceids.php~ +0 -46
- app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Projectids.php~ +0 -55
- app/code/community/Acegmbh/Flux/Model/Observer.php +93 -39
- app/code/community/Acegmbh/Flux/Model/Observer/Order.php +86 -0
- app/code/community/Acegmbh/Flux/Model/Observer/Template.php +22 -0
- app/code/community/Acegmbh/Flux/Model/Product/Redirect.php +118 -0
- app/code/community/Acegmbh/Flux/controllers/Checkout/OnepageController.php +25 -9
- app/code/community/Acegmbh/Flux/controllers/IndexController.php +0 -11
- app/code/community/Acegmbh/Flux/controllers/RedirectController.php +38 -0
- app/code/community/Acegmbh/Flux/etc/adminhtml.xml +2 -2
- app/code/community/Acegmbh/Flux/etc/config.xml +50 -2
- app/code/community/Acegmbh/Flux/etc/system.xml +13 -3
- app/design/frontend/base/default/layout/flux.xml +16 -2
- app/design/frontend/base/default/template/flux/dlmanagerlinks.phtml +30 -1
- app/design/frontend/base/default/template/flux/list.phtml +95 -0
- app/locale/en_US/Acegmbh_Flux.csv +34 -33
- package.xml +4 -4
app/code/community/Acegmbh/Flux/Block/Customer/Products/List.php
ADDED
@@ -0,0 +1,151 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Open Software License (OSL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/osl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category Mage
|
22 |
+
* @package Mage_Downloadable
|
23 |
+
* @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
25 |
+
*/
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Block to display downloadable links bought by customer
|
29 |
+
*
|
30 |
+
* @category Mage
|
31 |
+
* @package Mage_Downloadable
|
32 |
+
* @author Magento Core Team <core@magentocommerce.com>
|
33 |
+
*/
|
34 |
+
class Acegmbh_Flux_Block_Customer_Products_List extends Mage_Downloadable_Block_Customer_Products_List
|
35 |
+
{
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Class constructor
|
39 |
+
*/
|
40 |
+
public function __construct()
|
41 |
+
{
|
42 |
+
parent::__construct();
|
43 |
+
$session = Mage::getSingleton('customer/session');
|
44 |
+
$purchased = Mage::getResourceModel('downloadable/link_purchased_collection')
|
45 |
+
->addFieldToFilter('customer_id', $session->getCustomerId())
|
46 |
+
->addOrder('created_at', 'desc');
|
47 |
+
$this->setPurchased($purchased);
|
48 |
+
$purchasedIds = array();
|
49 |
+
foreach ($purchased as $_item) {
|
50 |
+
$purchasedIds[] = $_item->getId();
|
51 |
+
}
|
52 |
+
if (empty($purchasedIds)) {
|
53 |
+
$purchasedIds = array(null);
|
54 |
+
}
|
55 |
+
$purchasedItems = Mage::getResourceModel('downloadable/link_purchased_item_collection')
|
56 |
+
->addFieldToFilter('purchased_id', array('in' => $purchasedIds))
|
57 |
+
->addFieldToFilter('status',
|
58 |
+
array(
|
59 |
+
'nin' => array(
|
60 |
+
Mage_Downloadable_Model_Link_Purchased_Item::LINK_STATUS_PENDING_PAYMENT,
|
61 |
+
Mage_Downloadable_Model_Link_Purchased_Item::LINK_STATUS_PAYMENT_REVIEW
|
62 |
+
)
|
63 |
+
)
|
64 |
+
)
|
65 |
+
->addFieldToFilter(array('link_url','link_url'), array(array('neq'=>'#'),array('null' => 'null')))
|
66 |
+
//->addFieldToFilter('link_type', array('eq'=>'file'))
|
67 |
+
|
68 |
+
->setOrder('item_id', 'desc');
|
69 |
+
//echo $purchasedItems->getSelect();
|
70 |
+
$this->setItems($purchasedItems);
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Enter description here...
|
75 |
+
*
|
76 |
+
* @return Mage_Downloadable_Block_Customer_Products_List
|
77 |
+
*/
|
78 |
+
protected function _prepareLayout()
|
79 |
+
{
|
80 |
+
parent::_prepareLayout();
|
81 |
+
|
82 |
+
$pager = $this->getLayout()->createBlock('page/html_pager', 'downloadable.customer.products.pager')
|
83 |
+
->setCollection($this->getItems());
|
84 |
+
$this->setChild('pager', $pager);
|
85 |
+
$this->getItems()->load();
|
86 |
+
foreach ($this->getItems() as $item) {
|
87 |
+
$item->setPurchased($this->getPurchased()->getItemById($item->getPurchasedId()));
|
88 |
+
}
|
89 |
+
return $this;
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Return order view url
|
94 |
+
*
|
95 |
+
* @param integer $orderId
|
96 |
+
* @return string
|
97 |
+
*/
|
98 |
+
public function getOrderViewUrl($orderId)
|
99 |
+
{
|
100 |
+
return $this->getUrl('sales/order/view', array('order_id' => $orderId));
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Enter description here...
|
105 |
+
*
|
106 |
+
* @return string
|
107 |
+
*/
|
108 |
+
public function getBackUrl()
|
109 |
+
{
|
110 |
+
if ($this->getRefererUrl()) {
|
111 |
+
return $this->getRefererUrl();
|
112 |
+
}
|
113 |
+
return $this->getUrl('customer/account/');
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Return number of left downloads or unlimited
|
118 |
+
*
|
119 |
+
* @return string
|
120 |
+
*/
|
121 |
+
public function getRemainingDownloads($item)
|
122 |
+
{
|
123 |
+
if ($item->getNumberOfDownloadsBought()) {
|
124 |
+
$downloads = $item->getNumberOfDownloadsBought() - $item->getNumberOfDownloadsUsed();
|
125 |
+
return $downloads;
|
126 |
+
}
|
127 |
+
return Mage::helper('downloadable')->__('Unlimited');
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Return url to download link
|
132 |
+
*
|
133 |
+
* @param Mage_Downloadable_Model_Link_Purchased_Item $item
|
134 |
+
* @return string
|
135 |
+
*/
|
136 |
+
public function getDownloadUrl($item)
|
137 |
+
{
|
138 |
+
return $this->getUrl('*/download/link', array('id' => $item->getLinkHash(), '_secure' => true));
|
139 |
+
}
|
140 |
+
|
141 |
+
/**
|
142 |
+
* Return true if target of link new window
|
143 |
+
*
|
144 |
+
* @return bool
|
145 |
+
*/
|
146 |
+
public function getIsOpenInNewWindow()
|
147 |
+
{
|
148 |
+
return Mage::getStoreConfigFlag(Mage_Downloadable_Model_Link::XML_PATH_TARGET_NEW_WINDOW);
|
149 |
+
}
|
150 |
+
|
151 |
+
}
|
app/code/community/Acegmbh/Flux/Helper/Data.php
CHANGED
@@ -225,10 +225,19 @@ class Acegmbh_Flux_Helper_Data
|
|
225 |
|
226 |
$EMail = $Doc->createElement('EMail', $Customer->getEmail());
|
227 |
$_Order->appendChild($EMail);
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
$Items = $Doc->createElement('Items');
|
233 |
$_Order->appendChild($Items);
|
234 |
|
@@ -459,6 +468,86 @@ class Acegmbh_Flux_Helper_Data
|
|
459 |
}
|
460 |
}
|
461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
/**
|
463 |
*
|
464 |
* @param string $strEmail
|
@@ -743,14 +832,14 @@ class Acegmbh_Flux_Helper_Data
|
|
743 |
|
744 |
private static function _logflux( $iIdOrder, $iIdStore, $iIdCustomer, $strRequest, $strResponse, $iErrorCode )
|
745 |
{
|
746 |
-
|
747 |
$FluxOrders->setOrderId( $iIdOrder );
|
748 |
$FluxOrders->setStoreId( $iIdStore );
|
749 |
$FluxOrders->setCustomerId( $iIdCustomer );
|
750 |
$FluxOrders->setRequest( $strRequest );
|
751 |
$FluxOrders->setResponse( $strResponse );
|
752 |
$FluxOrders->setError(self::$errors[$iErrorCode]);
|
753 |
-
$FluxOrders->save()
|
754 |
}
|
755 |
|
756 |
public static function prepareLoginEx( $strCustomerMail, $strCustomerPasswordHash)
|
@@ -807,4 +896,22 @@ class Acegmbh_Flux_Helper_Data
|
|
807 |
{ $errors=self::$errors;
|
808 |
return isset($errors[$code])?$errors[$code]:null;
|
809 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
810 |
}
|
225 |
|
226 |
$EMail = $Doc->createElement('EMail', $Customer->getEmail());
|
227 |
$_Order->appendChild($EMail);
|
228 |
+
/**********************************
|
229 |
+
* for admin fixed salt :MD
|
230 |
+
* for user plain password
|
231 |
+
*/
|
232 |
+
if (Mage::app()->getStore()->isAdmin()) {
|
233 |
+
$Password = $Doc->createElement('PasswordHash', $Customer->getPasswordHash());
|
234 |
+
$_Order->appendChild($Password);
|
235 |
+
}
|
236 |
+
else
|
237 |
+
{
|
238 |
+
$Password = $Doc->createElement('Password', self::getFluxCustomerPassword());
|
239 |
+
$_Order->appendChild($Password);
|
240 |
+
}
|
241 |
$Items = $Doc->createElement('Items');
|
242 |
$_Order->appendChild($Items);
|
243 |
|
468 |
}
|
469 |
}
|
470 |
|
471 |
+
|
472 |
+
/**
|
473 |
+
* @param string $strEmail
|
474 |
+
* @param string $strPassword
|
475 |
+
* @param bool $bPwHash - true means, the password is given as a hash
|
476 |
+
* @return 0,1,2 or Error code;
|
477 |
+
*/
|
478 |
+
public static function needChangePassword($strEmail, $strPassword, $bPwHash = true )
|
479 |
+
{
|
480 |
+
self::_log('needChangePassword');
|
481 |
+
|
482 |
+
$wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
|
483 |
+
$SoapClient = new SoapClient($wsdl, array('soap_version' => SOAP_1_2,
|
484 |
+
'trace' => true,
|
485 |
+
'classmap' => array('CheckUserExistsResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CheckUserExists'),
|
486 |
+
'cache_wsdl' => WSDL_CACHE_NONE
|
487 |
+
)
|
488 |
+
);
|
489 |
+
|
490 |
+
$soapRequest = array();
|
491 |
+
$soapRequest['EMail'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
|
492 |
+
$soapRequest['Password'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
|
493 |
+
|
494 |
+
$Doc = new DOMDocument('1.0', 'UTF-8');
|
495 |
+
$Doc->formatOutput = true;
|
496 |
+
$_Customer = $Doc->createElement('Customer');
|
497 |
+
$Doc->appendChild($_Customer);
|
498 |
+
|
499 |
+
$EMail = $Doc->createElement('EMail', $strEmail);
|
500 |
+
$_Customer->appendChild($EMail);
|
501 |
+
|
502 |
+
if( $bPwHash )
|
503 |
+
{
|
504 |
+
$Password = $Doc->createElement('PasswordHash', $strPassword);
|
505 |
+
$_Customer->appendChild($Password);
|
506 |
+
}
|
507 |
+
else
|
508 |
+
{
|
509 |
+
$Password = $Doc->createElement('Password', $strPassword);
|
510 |
+
$_Customer->appendChild($Password);
|
511 |
+
}
|
512 |
+
|
513 |
+
$soapRequest['XML'] = $Doc->saveXML();
|
514 |
+
try
|
515 |
+
{
|
516 |
+
$Result = $SoapClient->__call('CheckUserExists', array( 'parameters' => $soapRequest ) );
|
517 |
+
|
518 |
+
self::_log('Request:');
|
519 |
+
self::_log( $SoapClient->__getLastRequest() );
|
520 |
+
self::_log('Response:');
|
521 |
+
self::_log( $SoapClient->__getLastResponse() );
|
522 |
+
/*$ap=$Result->CheckUserExistsResult;
|
523 |
+
ob_start();
|
524 |
+
var_dump($ap);
|
525 |
+
$res= ob_get_clean();
|
526 |
+
self::_log('Result:');
|
527 |
+
self::_log($res);*/
|
528 |
+
if( $Result->CheckUserExistsResult==1 && $Result->ErrorCode==0 )
|
529 |
+
{
|
530 |
+
return 0;//email and password are matched
|
531 |
+
}
|
532 |
+
if( $Result->ErrorCode==-5 )
|
533 |
+
{
|
534 |
+
return 1 ;//email matched but password not matched
|
535 |
+
}
|
536 |
+
if($Result->ErrorCode==-1)
|
537 |
+
{
|
538 |
+
return 2;// Invalid User
|
539 |
+
}
|
540 |
+
return $Result->ErrorCode;
|
541 |
+
|
542 |
+
}
|
543 |
+
catch (SoapFault $Exception)
|
544 |
+
{
|
545 |
+
self::_log($Exception->getMessage());
|
546 |
+
throw new Exception($Exception->getMessage());
|
547 |
+
return 'SOAP_EXCEPTION';
|
548 |
+
}
|
549 |
+
}
|
550 |
+
|
551 |
/**
|
552 |
*
|
553 |
* @param string $strEmail
|
832 |
|
833 |
private static function _logflux( $iIdOrder, $iIdStore, $iIdCustomer, $strRequest, $strResponse, $iErrorCode )
|
834 |
{
|
835 |
+
$FluxOrders = Mage::getModel('flux/orders');
|
836 |
$FluxOrders->setOrderId( $iIdOrder );
|
837 |
$FluxOrders->setStoreId( $iIdStore );
|
838 |
$FluxOrders->setCustomerId( $iIdCustomer );
|
839 |
$FluxOrders->setRequest( $strRequest );
|
840 |
$FluxOrders->setResponse( $strResponse );
|
841 |
$FluxOrders->setError(self::$errors[$iErrorCode]);
|
842 |
+
$FluxOrders->save();
|
843 |
}
|
844 |
|
845 |
public static function prepareLoginEx( $strCustomerMail, $strCustomerPasswordHash)
|
896 |
{ $errors=self::$errors;
|
897 |
return isset($errors[$code])?$errors[$code]:null;
|
898 |
}
|
899 |
+
|
900 |
+
/***/
|
901 |
+
/*Logged in user's password for communication with flux
|
902 |
+
/***/
|
903 |
+
public static function setFluxCustomerPassword($strPassword)
|
904 |
+
{
|
905 |
+
$_SESSION['flux_customer_password'] = $strPassword;
|
906 |
+
}
|
907 |
+
|
908 |
+
|
909 |
+
/***/
|
910 |
+
/*Get user's password for communication with flux
|
911 |
+
/***/
|
912 |
+
|
913 |
+
public static function getFluxCustomerPassword()
|
914 |
+
{
|
915 |
+
return isset($_SESSION['flux_customer_password'])?$_SESSION['flux_customer_password']:null;
|
916 |
+
}
|
917 |
}
|
app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Access.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Acegmbh_Flux_Model_Adminhtml_System_Config_Source_Access
|
3 |
+
{
|
4 |
+
/**
|
5 |
+
* Options getter
|
6 |
+
*
|
7 |
+
* @return array
|
8 |
+
*/
|
9 |
+
public function toOptionArray()
|
10 |
+
{
|
11 |
+
$arrReturn = array();
|
12 |
+
$arrReturn[] = array('value' => '1','label' => 'FlickRocket only');
|
13 |
+
|
14 |
+
$arrReturn[] = array('value' => '2', 'label' => 'FlickRocket and legacy');
|
15 |
+
|
16 |
+
return $arrReturn;
|
17 |
+
}
|
18 |
+
}
|
app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Licenceids.php~
DELETED
@@ -1,46 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class Acegmbh_Flux_Model_Adminhtml_System_Config_Source_Licenceids
|
3 |
-
extends Mage_Core_Model_Abstract
|
4 |
-
{
|
5 |
-
/**
|
6 |
-
* Options getter
|
7 |
-
*
|
8 |
-
* @return array
|
9 |
-
*/
|
10 |
-
static public function getAllOptions()
|
11 |
-
//public function toOptionArray()
|
12 |
-
{
|
13 |
-
/*
|
14 |
-
return array(
|
15 |
-
'19' => Mage::helper('flux')->__('19 - permanent download/up to three devices'),
|
16 |
-
'241' => Mage::helper('catalog')->__('241 - another Licence ID')
|
17 |
-
);
|
18 |
-
*/
|
19 |
-
$arr = Mage::helper('flux')->getLicenses();
|
20 |
-
|
21 |
-
$arrReturn = array();
|
22 |
-
foreach( $arr as $license )
|
23 |
-
{
|
24 |
-
$arrReturn[] = array( 'value' => $license->ID,
|
25 |
-
'label' => $license->Name);
|
26 |
-
}
|
27 |
-
|
28 |
-
// $arrReturn[] = array( 'value' => 241,
|
29 |
-
// 'label' => '241 - another Licence ID');
|
30 |
-
return $arrReturn;
|
31 |
-
}
|
32 |
-
|
33 |
-
|
34 |
-
public function getOptionText($value);
|
35 |
-
{
|
36 |
-
$arr = Mage::helper('flux')->getLicenses();
|
37 |
-
foreach( $arr as $license )
|
38 |
-
{
|
39 |
-
if($license->ID==$value)
|
40 |
-
{
|
41 |
-
return $license->Name;
|
42 |
-
}
|
43 |
-
}
|
44 |
-
}
|
45 |
-
|
46 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Projectids.php~
DELETED
@@ -1,55 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class Acegmbh_Flux_Model_Adminhtml_System_Config_Source_Projectids
|
3 |
-
extends Mage_Core_Model_Abstract
|
4 |
-
{
|
5 |
-
/**
|
6 |
-
* Options getter
|
7 |
-
*
|
8 |
-
* @return array
|
9 |
-
*/
|
10 |
-
static public function getAllOptions()
|
11 |
-
//public function toOptionArray()
|
12 |
-
{
|
13 |
-
/*
|
14 |
-
return array(
|
15 |
-
'19' => Mage::helper('flux')->__('19 - permanent download/up to three devices'),
|
16 |
-
'241' => Mage::helper('catalog')->__('241 - another Licence ID')
|
17 |
-
);
|
18 |
-
*/
|
19 |
-
$arr = Mage::helper('flux')->getProjects();
|
20 |
-
|
21 |
-
$arrReturn = array();
|
22 |
-
foreach( $arr as $project )
|
23 |
-
{
|
24 |
-
$arrReturn[] = array( 'value' => $project->LongProjectID,
|
25 |
-
'label' => $project->Name);
|
26 |
-
|
27 |
-
/*
|
28 |
-
<LongProjectID>0000-5517-51C6-E730</LongProjectID>
|
29 |
-
<Name>Big Buck Bunny</Name>
|
30 |
-
<CreationDate>2013-10-05T12:27:50</CreationDate>
|
31 |
-
<ContentType>fluxDVD</ContentType>
|
32 |
-
<Complete>true</Complete>
|
33 |
-
*/
|
34 |
-
}
|
35 |
-
|
36 |
-
// $arrReturn[] = array( 'value' => 241,
|
37 |
-
// 'label' => '241 - another Licence ID');
|
38 |
-
return $arrReturn;
|
39 |
-
}
|
40 |
-
|
41 |
-
|
42 |
-
public function getOptionText($value)
|
43 |
-
{ echo $value;
|
44 |
-
$arr = Mage::helper('flux')->getProjects();
|
45 |
-
foreach( $arr as $project )
|
46 |
-
{
|
47 |
-
if($project->LongProjectID==$value)
|
48 |
-
{
|
49 |
-
return $project->Name;
|
50 |
-
}
|
51 |
-
}
|
52 |
-
}
|
53 |
-
|
54 |
-
|
55 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Acegmbh/Flux/Model/Observer.php
CHANGED
@@ -14,29 +14,30 @@ class Acegmbh_Flux_Model_Observer
|
|
14 |
self::_log('placeOrder');
|
15 |
|
16 |
$Event = $Observer->getEvent();
|
17 |
-
// echo '<pre>';
|
18 |
-
// print_r($Event);
|
19 |
-
// $object = new ReflectionObject($Event);
|
20 |
-
// var_dump($object->getMethods());
|
21 |
-
// echo '</pre>';
|
22 |
-
// die();
|
23 |
$Order = $Event->getOrder();
|
24 |
if( $Order==null )
|
25 |
{
|
26 |
$arrOrderIds = $Observer->getOrderIds();
|
27 |
$iIdOrder = $arrOrderIds[0];
|
28 |
$Order = Mage::getModel('sales/order')->load($iIdOrder);
|
|
|
29 |
}
|
30 |
-
|
31 |
if( $Order==null )
|
32 |
{
|
33 |
-
throw new Exception("
|
34 |
}
|
35 |
$Customer = Mage::getModel('customer/customer')->load($Order->getCustomerId());
|
36 |
|
37 |
$strEmail = $Customer->getEmail();
|
38 |
-
|
39 |
-
$strHashedPw
|
40 |
$iTransactionId = '99999' . $Customer->getId();
|
41 |
|
42 |
self::_log('email: ' . $strEmail);
|
@@ -45,9 +46,9 @@ class Acegmbh_Flux_Model_Observer
|
|
45 |
if( !empty($strPassword) )
|
46 |
{
|
47 |
$strResultCreate = Mage::helper('flux')->createShopUser($iTransactionId,
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
if( $strResultCreate=='OK' )
|
52 |
{
|
53 |
// User erfolgreich neu angelegt, oder User mit gleichem Passwort bereits in Flux verfügbar
|
@@ -55,16 +56,16 @@ class Acegmbh_Flux_Model_Observer
|
|
55 |
elseif( $strResultCreate=='PASSWORD_WRONG' )
|
56 |
{
|
57 |
$strResultCheck = Mage::helper('flux')->checkUserExists($strEmail,
|
58 |
-
|
59 |
-
|
60 |
if( $strResultCheck=='OK' )
|
61 |
{
|
62 |
-
// echo 'User in Flux verfügbar, Password korrekt, Passworthash falsch. PasswordHash anpassen.';
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
}
|
69 |
elseif( $strResultCheck=='PASSWORD_WRONG' )
|
70 |
{
|
@@ -101,27 +102,23 @@ class Acegmbh_Flux_Model_Observer
|
|
101 |
self::_log('email: ' . $strEmail);
|
102 |
self::_log('transactionid: ' . $iTransactionId);
|
103 |
|
104 |
-
$strResultCreate = Mage::helper('flux')->createShopUser($iTransactionId,
|
105 |
-
|
106 |
-
|
107 |
-
false );
|
108 |
if( $strResultCreate=='OK' )
|
109 |
-
{
|
110 |
-
// User erfolgreich neu angelegt, oder User mit gleichem Passwort bereits in Flux verfügbar
|
|
|
111 |
}
|
112 |
elseif( $strResultCreate=='PASSWORD_WRONG' )
|
113 |
{
|
114 |
-
$strResultCheck = Mage::helper('flux')->checkUserExists($strEmail,
|
115 |
-
$strPassword,
|
116 |
-
false);
|
117 |
if( $strResultCheck=='OK' )
|
118 |
{
|
119 |
// echo 'User in Flux verfügbar, Password korrekt, Passworthash falsch. PasswordHash anpassen.';
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
$strHashedPw,
|
124 |
-
false );
|
125 |
}
|
126 |
elseif( $strResultCheck=='PASSWORD_WRONG' )
|
127 |
{
|
@@ -158,7 +155,7 @@ class Acegmbh_Flux_Model_Observer
|
|
158 |
false);
|
159 |
if( $strResultCheck=='PASSWORD_WRONG' )
|
160 |
{
|
161 |
-
Mage::getSingleton('customer/session')->addError('
|
162 |
$url = Mage::getModel('core/url') ->getUrl('*/*/create');
|
163 |
Mage::app()->getResponse()->setRedirect($url);
|
164 |
Mage::app()->getResponse()->sendResponse();
|
@@ -177,19 +174,76 @@ class Acegmbh_Flux_Model_Observer
|
|
177 |
//$controller = $request->getControllerName();
|
178 |
//$action = $request->getActionName();
|
179 |
if ( 'customer' != $module ) return;
|
180 |
-
|
181 |
$event = $Observer->getEvent();
|
182 |
$customer = $event->getCustomer();
|
183 |
$postData = Mage::app()->getRequest()->getPost();
|
184 |
if($customer instanceof Mage_Customer_Model_Customer && !$customer->isObjectNew())
|
185 |
{
|
186 |
-
if( $postData['change_password'] == 1 && $postData['current_password'] != $postData['password'] )
|
187 |
{
|
188 |
-
Mage::helper('flux')->changeCustomerPassword(
|
189 |
$postData['current_password'],
|
190 |
false,
|
191 |
$postData['password'],
|
192 |
false );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
}
|
194 |
}
|
195 |
return $this;
|
14 |
self::_log('placeOrder');
|
15 |
|
16 |
$Event = $Observer->getEvent();
|
17 |
+
// echo '<pre>';
|
18 |
+
// print_r($Event);
|
19 |
+
// $object = new ReflectionObject($Event);
|
20 |
+
// var_dump($object->getMethods());
|
21 |
+
// echo '</pre>';
|
22 |
+
// die();
|
23 |
$Order = $Event->getOrder();
|
24 |
if( $Order==null )
|
25 |
{
|
26 |
$arrOrderIds = $Observer->getOrderIds();
|
27 |
$iIdOrder = $arrOrderIds[0];
|
28 |
$Order = Mage::getModel('sales/order')->load($iIdOrder);
|
29 |
+
self::_log('idorder: ' . $iIdOrder);
|
30 |
}
|
31 |
+
|
32 |
if( $Order==null )
|
33 |
{
|
34 |
+
throw new Exception("Payment could not be completed. Please contact support.");
|
35 |
}
|
36 |
$Customer = Mage::getModel('customer/customer')->load($Order->getCustomerId());
|
37 |
|
38 |
$strEmail = $Customer->getEmail();
|
39 |
+
$strPassword = Mage::helper('flux')->getFluxCustomerPassword();//$_SESSION['flux_customer_password'];
|
40 |
+
$strHashedPw =Mage::getModel('customer/customer')->hashPassword($strPassword);
|
41 |
$iTransactionId = '99999' . $Customer->getId();
|
42 |
|
43 |
self::_log('email: ' . $strEmail);
|
46 |
if( !empty($strPassword) )
|
47 |
{
|
48 |
$strResultCreate = Mage::helper('flux')->createShopUser($iTransactionId,
|
49 |
+
$strEmail,
|
50 |
+
$strPassword,
|
51 |
+
false );
|
52 |
if( $strResultCreate=='OK' )
|
53 |
{
|
54 |
// User erfolgreich neu angelegt, oder User mit gleichem Passwort bereits in Flux verfügbar
|
56 |
elseif( $strResultCreate=='PASSWORD_WRONG' )
|
57 |
{
|
58 |
$strResultCheck = Mage::helper('flux')->checkUserExists($strEmail,
|
59 |
+
$strPassword,
|
60 |
+
false);
|
61 |
if( $strResultCheck=='OK' )
|
62 |
{
|
63 |
+
// echo 'User in Flux verfügbar, Password korrekt, Passworthash falsch. PasswordHash anpassen.';commented may be of no use
|
64 |
+
/*$strResultChange = Mage::helper('flux')->changeCustomerPassword($strEmail,
|
65 |
+
$strPassword,
|
66 |
+
false,
|
67 |
+
$strHashedPw,
|
68 |
+
false );*/
|
69 |
}
|
70 |
elseif( $strResultCheck=='PASSWORD_WRONG' )
|
71 |
{
|
102 |
self::_log('email: ' . $strEmail);
|
103 |
self::_log('transactionid: ' . $iTransactionId);
|
104 |
|
105 |
+
$strResultCreate = Mage::helper('flux')->createShopUser($iTransactionId,$strEmail,
|
106 |
+
$strHashedPw,
|
107 |
+
false );
|
|
|
108 |
if( $strResultCreate=='OK' )
|
109 |
+
{
|
110 |
+
// User erfolgreich neu angelegt, oder User mit gleichem Passwort bereits in Flux verfügbar
|
111 |
+
Mage::helper('flux')->setFluxCustomerPassword($strPassword);
|
112 |
}
|
113 |
elseif( $strResultCreate=='PASSWORD_WRONG' )
|
114 |
{
|
115 |
+
$strResultCheck = Mage::helper('flux')->checkUserExists($strEmail,$strPassword,false);
|
|
|
|
|
116 |
if( $strResultCheck=='OK' )
|
117 |
{
|
118 |
// echo 'User in Flux verfügbar, Password korrekt, Passworthash falsch. PasswordHash anpassen.';
|
119 |
+
$strResultChange = Mage::helper('flux')->changeCustomerPassword($strEmail,
|
120 |
+
$strPassword,
|
121 |
+
false, $strHashedPw, false ); Mage::helper('flux')->setFluxCustomerPassword($strPassword);
|
|
|
|
|
122 |
}
|
123 |
elseif( $strResultCheck=='PASSWORD_WRONG' )
|
124 |
{
|
155 |
false);
|
156 |
if( $strResultCheck=='PASSWORD_WRONG' )
|
157 |
{
|
158 |
+
Mage::getSingleton('customer/session')->addError('Your E-Mail Address is already registered at Flickrocket/FluxPlayer. Please use the password from your existing account.');
|
159 |
$url = Mage::getModel('core/url') ->getUrl('*/*/create');
|
160 |
Mage::app()->getResponse()->setRedirect($url);
|
161 |
Mage::app()->getResponse()->sendResponse();
|
174 |
//$controller = $request->getControllerName();
|
175 |
//$action = $request->getActionName();
|
176 |
if ( 'customer' != $module ) return;
|
177 |
+
|
178 |
$event = $Observer->getEvent();
|
179 |
$customer = $event->getCustomer();
|
180 |
$postData = Mage::app()->getRequest()->getPost();
|
181 |
if($customer instanceof Mage_Customer_Model_Customer && !$customer->isObjectNew())
|
182 |
{
|
183 |
+
if(isset($postData['change_password']) && $postData['change_password'] == 1 && $postData['current_password'] != $postData['password'] )
|
184 |
{
|
185 |
+
Mage::helper('flux')->changeCustomerPassword($customer->getEmail(),
|
186 |
$postData['current_password'],
|
187 |
false,
|
188 |
$postData['password'],
|
189 |
false );
|
190 |
+
Mage::helper('flux')->setFluxCustomerPassword($postData['password']);
|
191 |
+
}
|
192 |
+
$token=$request->getParam('token');
|
193 |
+
$id=$request->getParam('id');
|
194 |
+
if(!empty($token) && $id==$customer->getId())
|
195 |
+
{
|
196 |
+
|
197 |
+
Mage::helper('flux')->changeCustomerPassword($customer->getEmail(),
|
198 |
+
'_use_only_after_external_validation_',
|
199 |
+
false,
|
200 |
+
$postData['password'],
|
201 |
+
false );
|
202 |
+
Mage::helper('flux')->setFluxCustomerPassword($postData['password']);
|
203 |
+
}
|
204 |
+
}
|
205 |
+
return $this;
|
206 |
+
}
|
207 |
+
|
208 |
+
public function changeOldPassword(Varien_Event_Observer $Observer)
|
209 |
+
{
|
210 |
+
self::_log('changeOldPassword');
|
211 |
+
|
212 |
+
// Check if it happens somewhere in the customer module
|
213 |
+
$request = Mage::app()->getFrontController()->getRequest();
|
214 |
+
$module = $request->getModuleName();
|
215 |
+
if ( 'customer' != $module ) return;
|
216 |
+
$login = Mage::app()->getRequest()->getParam('login');
|
217 |
+
$event = $Observer->getEvent();
|
218 |
+
$model = $event->getModel();
|
219 |
+
$password = $event->getPassword();
|
220 |
+
$session = Mage::getSingleton('customer/session');
|
221 |
+
$customer=$model->loadByEmail($login['username']);
|
222 |
+
Mage::helper('flux')->setFluxCustomerPassword($password);
|
223 |
+
if($customer instanceof Mage_Customer_Model_Customer)
|
224 |
+
{ $segments=explode(':',$customer->getPasswordHash());
|
225 |
+
if((count($segments)==2 && $segments[1]!="MD") || count($segments)==1)
|
226 |
+
{ $customer->setPassword($password);
|
227 |
+
$customer->save();
|
228 |
+
/*$result=Mage::helper('flux')->needChangePassword($customer->getEmail(),
|
229 |
+
$password,
|
230 |
+
false,
|
231 |
+
$password,
|
232 |
+
false );
|
233 |
+
|
234 |
+
if($result==1)
|
235 |
+
{
|
236 |
+
Mage::helper('flux')->changeCustomerPassword($customer->getEmail(),
|
237 |
+
$password,
|
238 |
+
false,
|
239 |
+
$password,
|
240 |
+
false );
|
241 |
+
}
|
242 |
+
if($result==2)
|
243 |
+
{
|
244 |
+
$iTransactionId = '99999' . $customer->getId();
|
245 |
+
Mage::helper('flux')->createShopUser($iTransactionId,$customer->getEmail(),$password);
|
246 |
+
}*/
|
247 |
}
|
248 |
}
|
249 |
return $this;
|
app/code/community/Acegmbh/Flux/Model/Observer/Order.php
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Acegmbh_Flux_Model_Observer_Order
|
4 |
+
{
|
5 |
+
const LOGFILE = 'Acegmbh_Flux_Model_Observer_Order.log';
|
6 |
+
|
7 |
+
public function _log( $strLogMessage )
|
8 |
+
{
|
9 |
+
Mage::log($strLogMessage, null, self::LOGFILE );
|
10 |
+
}
|
11 |
+
|
12 |
+
|
13 |
+
public function beforeAdminOrder(Varien_Event_Observer $observer)
|
14 |
+
{
|
15 |
+
self::_log('beforeAdminOrder');
|
16 |
+
$postData = Mage::app()->getRequest()->getPost();
|
17 |
+
|
18 |
+
$customerId=isset($postData['customer_id'])?$postData['customer_id']:null;
|
19 |
+
|
20 |
+
if(!empty($customerId))
|
21 |
+
{
|
22 |
+
$customer=Mage::getModel('customer/customer')->load($customerId);
|
23 |
+
$passwordHash=$customer->getPasswordHash();
|
24 |
+
$segments=explode(':',$passwordHash);
|
25 |
+
$passwordMatched=true;
|
26 |
+
if(!isset($segments[1]) || (isset($segments[1]) && $segments[1]!='MD'))
|
27 |
+
{
|
28 |
+
$passwordMatched=false;
|
29 |
+
}
|
30 |
+
|
31 |
+
|
32 |
+
if(isset($postData['item']) && !$passwordMatched)
|
33 |
+
{
|
34 |
+
$item=$postData['item'];
|
35 |
+
foreach($item as $productId=>$val)
|
36 |
+
{
|
37 |
+
$product = Mage::getModel('catalog/product')->load($productId);
|
38 |
+
|
39 |
+
if($product->getTypeId()=='downloadable')
|
40 |
+
{
|
41 |
+
$projectId=$product->getProjectId();
|
42 |
+
$licenseId=$product->getLicenseId();
|
43 |
+
if(!empty($projectId) || !empty($licenseId))
|
44 |
+
{
|
45 |
+
throw new Exception('User\'s password does not match.');
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
if($product->getTypeId()=='configurable')
|
50 |
+
{
|
51 |
+
$configurableAttributeCollection=$product->getTypeInstance()->getConfigurableAttributes();
|
52 |
+
foreach($configurableAttributeCollection as $attribute)
|
53 |
+
{
|
54 |
+
$code=$attribute->getProductAttribute()->getAttributeCode();
|
55 |
+
|
56 |
+
if($code=='project_id' || $code=='license_id')
|
57 |
+
{
|
58 |
+
throw new Exception('User\'s password does not match.');
|
59 |
+
}
|
60 |
+
|
61 |
+
}
|
62 |
+
}
|
63 |
+
|
64 |
+
if($product->getTypeId()=='bundle')
|
65 |
+
{
|
66 |
+
foreach($val['bundle_option'] as $option=>$selected)
|
67 |
+
{
|
68 |
+
$selection=Mage::getModel('bundle/selection')->load($selected);
|
69 |
+
$childProduct=Mage::getModel('catalog/product')->load($selection->getProductId());
|
70 |
+
$projectId=$childProduct->getProjectId();
|
71 |
+
$licenseId=$childProduct->getLicenseId();
|
72 |
+
if(!empty($projectId) || !empty($licenseId))
|
73 |
+
{
|
74 |
+
throw new Exception('User\'s password does not match.');
|
75 |
+
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
}
|
80 |
+
|
81 |
+
}
|
82 |
+
|
83 |
+
}
|
84 |
+
}
|
85 |
+
}
|
86 |
+
}
|
app/code/community/Acegmbh/Flux/Model/Observer/Template.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Acegmbh_Flux_Model_Observer_Template
|
3 |
+
{
|
4 |
+
|
5 |
+
public function setTemplate(Varien_Event_Observer $observer)
|
6 |
+
{
|
7 |
+
$template=Mage::getStoreConfig('acegmbh_flux/flux/flux_template');
|
8 |
+
|
9 |
+
$layout = $observer->getEvent()->getLayout();
|
10 |
+
if($template=="1")
|
11 |
+
{
|
12 |
+
$update = $layout->getUpdate();
|
13 |
+
$update->addHandle('flickRocket_only');
|
14 |
+
}
|
15 |
+
|
16 |
+
if($template=="2")
|
17 |
+
{
|
18 |
+
$update = $layout->getUpdate();
|
19 |
+
$update->addHandle('flickRocket_and_legacy');
|
20 |
+
}
|
21 |
+
}
|
22 |
+
}
|
app/code/community/Acegmbh/Flux/Model/Product/Redirect.php
ADDED
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class Acegmbh_Flux_Model_Product_Redirect extends Mage_Core_Model_Abstract
|
3 |
+
{
|
4 |
+
|
5 |
+
protected function _getProductCollectionByProjectId($projectId)
|
6 |
+
{
|
7 |
+
$collection=$this->_getCollection();
|
8 |
+
|
9 |
+
$collection->addFieldToFilter('project_id',array('eq' => $projectId));
|
10 |
+
|
11 |
+
$collection->addAttributeToSort('created_at', 'DESC');
|
12 |
+
|
13 |
+
$collection->load();
|
14 |
+
|
15 |
+
return $collection;
|
16 |
+
|
17 |
+
}
|
18 |
+
|
19 |
+
|
20 |
+
protected function _getConfigurableProduct($projectId)
|
21 |
+
{
|
22 |
+
$model=Mage::getModel('catalog/resource_product_type_configurable');
|
23 |
+
$childrenCollection=$this->_getProductCollectionByProjectId($projectId);
|
24 |
+
if($childrenCollection->count()==0)
|
25 |
+
return false;
|
26 |
+
$childProductIds=array();
|
27 |
+
foreach($childrenCollection as $child);
|
28 |
+
{
|
29 |
+
$childProductIds[]=$child->getId();
|
30 |
+
}
|
31 |
+
$parentIds=$model->getParentIdsByChild($childProductIds);
|
32 |
+
if(count($parentIds)==0)
|
33 |
+
return false;
|
34 |
+
$collection=$this->_getCollection();
|
35 |
+
$collection->addFieldToFilter('entity_id',array('IN' => $parentIds));
|
36 |
+
$collection->addAttributeToSort('created_at', 'DESC');
|
37 |
+
|
38 |
+
$collection->addFieldToFilter('status',array('eq' => '1'));
|
39 |
+
$collection->addFieldToFilter('visibility',array('neq' => '1'));
|
40 |
+
|
41 |
+
return $collection->getFirstItem();
|
42 |
+
}
|
43 |
+
|
44 |
+
|
45 |
+
protected function _getBundleProduct($projectId)
|
46 |
+
{
|
47 |
+
$model=Mage::getModel('bundle/product_type');
|
48 |
+
$childrenCollection=$this->_getProductCollectionByProjectId($projectId);
|
49 |
+
if($childrenCollection->count()==0)
|
50 |
+
return false;
|
51 |
+
$childProductIds=array();
|
52 |
+
foreach($childrenCollection as $child);
|
53 |
+
{
|
54 |
+
$childProductIds[]=$child->getId();
|
55 |
+
}
|
56 |
+
$parentIds=$model->getParentIdsByChild($childProductIds);
|
57 |
+
if(count($parentIds)==0)
|
58 |
+
return false;
|
59 |
+
$collection=$this->_getCollection();
|
60 |
+
$collection->addFieldToFilter('entity_id',array('IN' => $parentIds));
|
61 |
+
$collection->addAttributeToSort('created_at', 'DESC');
|
62 |
+
$collection->addFieldToFilter('status',array('eq' => '1'));
|
63 |
+
$collection->addFieldToFilter('visibility',array('neq' => '1'));
|
64 |
+
return $collection->getFirstItem();
|
65 |
+
|
66 |
+
}
|
67 |
+
|
68 |
+
protected function _getDownloadableProduct($projectId)
|
69 |
+
{
|
70 |
+
$collection=$this->_getProductCollectionByProjectId($projectId);
|
71 |
+
|
72 |
+
$collection->addFieldToFilter('status',array('eq' => '1'));
|
73 |
+
|
74 |
+
$collection->addFieldToFilter('visibility',array('neq' => '1'));
|
75 |
+
if($collection->count()==0)
|
76 |
+
return false;
|
77 |
+
|
78 |
+
$product=$collection->getFirstItem();
|
79 |
+
$product=Mage::getModel('catalog/product')->load($product->getId());
|
80 |
+
if($product->getStatus()=="1" && $product->getvisibility()!="1")
|
81 |
+
return $product;
|
82 |
+
}
|
83 |
+
|
84 |
+
public function getRedirectUrl($projectId)
|
85 |
+
{
|
86 |
+
$product=$this->_getConfigurableProduct($projectId);
|
87 |
+
|
88 |
+
if($product instanceof Mage_Catalog_Model_Product)
|
89 |
+
{
|
90 |
+
$product =Mage::getModel('catalog/product')->load($product->getId());
|
91 |
+
return $product->getProductUrl();
|
92 |
+
}
|
93 |
+
|
94 |
+
$product=$this->_getBundleProduct($projectId);
|
95 |
+
|
96 |
+
if($product instanceof Mage_Catalog_Model_Product)
|
97 |
+
{
|
98 |
+
$product =Mage::getModel('catalog/product')->load($product->getId());
|
99 |
+
return $product->getProductUrl();
|
100 |
+
}
|
101 |
+
|
102 |
+
$product=$this->_getDownloadableProduct($projectId);
|
103 |
+
|
104 |
+
if($product instanceof Mage_Catalog_Model_Product)
|
105 |
+
{
|
106 |
+
//$product =Mage::getModel('catalog/product')->load($product->getId());
|
107 |
+
return $product->getProductUrl();
|
108 |
+
}
|
109 |
+
|
110 |
+
return Mage::getUrl();
|
111 |
+
}
|
112 |
+
|
113 |
+
protected function _getCollection()
|
114 |
+
{
|
115 |
+
$collection=Mage::getModel('catalog/product')->getCollection();
|
116 |
+
return $collection;
|
117 |
+
}
|
118 |
+
}
|
app/code/community/Acegmbh/Flux/controllers/Checkout/OnepageController.php
CHANGED
@@ -21,23 +21,39 @@
|
|
21 |
{
|
22 |
$data = $this->getRequest()->getPost('billing', array());
|
23 |
//let the normal validation handle this
|
24 |
-
if (empty($data['email']) || empty($data['customer_password'])){
|
25 |
|
26 |
parent::saveBillingAction();
|
27 |
return;
|
28 |
|
29 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
-
|
32 |
-
|
33 |
-
|
|
|
34 |
$strResultCheck = Mage::helper('flux')->checkUserExists($strEmail,
|
35 |
-
|
36 |
-
|
37 |
if( $strResultCheck=='PASSWORD_WRONG' )
|
38 |
{
|
39 |
$result = array('error' => 1,
|
40 |
-
'message' => Mage::helper('flux')->__('
|
41 |
);
|
42 |
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
43 |
}
|
@@ -49,4 +65,4 @@
|
|
49 |
//die();
|
50 |
//die('saveBillingAction');
|
51 |
}
|
52 |
-
}
|
21 |
{
|
22 |
$data = $this->getRequest()->getPost('billing', array());
|
23 |
//let the normal validation handle this
|
24 |
+
/*if (empty($data['email']) || empty($data['customer_password'])){
|
25 |
|
26 |
parent::saveBillingAction();
|
27 |
return;
|
28 |
|
29 |
+
}*/
|
30 |
+
$strEmail=null;
|
31 |
+
$strPassword=null;
|
32 |
+
if(!empty($data['email']) && !empty($data['customer_password']))
|
33 |
+
{
|
34 |
+
$strEmail=$data['email'];
|
35 |
+
$strPassword=$data['customer_password'];
|
36 |
+
Mage::helper('flux')->setFluxCustomerPassword($strPassword);
|
37 |
+
}
|
38 |
+
|
39 |
+
if(Mage::getSingleton('customer/session')->isLoggedIn() && (empty($data['email']) || empty($data['customer_password'])))
|
40 |
+
{
|
41 |
+
$customer=Mage::getSingleton('customer/session')->getCustomer();
|
42 |
+
$strEmail=$customer->getEmail();
|
43 |
+
$strPassword=Mage::helper('flux')->getFluxCustomerPassword();
|
44 |
+
}
|
45 |
|
46 |
+
//$strEmail = $data['email'];
|
47 |
+
//$strPassword = $data['customer_password'];
|
48 |
+
//$_SESSION['flux_customer_password'] = $strPassword;
|
49 |
+
|
50 |
$strResultCheck = Mage::helper('flux')->checkUserExists($strEmail,
|
51 |
+
$strPassword,
|
52 |
+
false);
|
53 |
if( $strResultCheck=='PASSWORD_WRONG' )
|
54 |
{
|
55 |
$result = array('error' => 1,
|
56 |
+
'message' => Mage::helper('flux')->__('Your E-Mail Address is already registered at Flickrocket/FluxPlayer. Please use the password from your existing account.')
|
57 |
);
|
58 |
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($result));
|
59 |
}
|
65 |
//die();
|
66 |
//die('saveBillingAction');
|
67 |
}
|
68 |
+
}
|
app/code/community/Acegmbh/Flux/controllers/IndexController.php
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Acegmbh_Flux_IndexController extends
|
4 |
-
Mage_Adminhtml_Controller_Action
|
5 |
-
{
|
6 |
-
public function indexAction()
|
7 |
-
{
|
8 |
-
$this->loadLayout();
|
9 |
-
$this->renderLayout();
|
10 |
-
}
|
11 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Acegmbh/Flux/controllers/RedirectController.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Acegmbh_Flux_RedirectController extends
|
4 |
+
Mage_Core_Controller_Front_Action
|
5 |
+
{
|
6 |
+
public function indexAction()
|
7 |
+
{ $request=$this->getRequest();
|
8 |
+
|
9 |
+
$projectId=$request->getParam('project_id');
|
10 |
+
|
11 |
+
$url=Mage::getUrl();
|
12 |
+
if(!empty($projectId))
|
13 |
+
{
|
14 |
+
$model=Mage::getModel('flux/product_redirect');
|
15 |
+
$url=$model->getRedirectUrl($projectId);
|
16 |
+
}
|
17 |
+
|
18 |
+
$this->_redirectUrl($url);
|
19 |
+
return;
|
20 |
+
}
|
21 |
+
|
22 |
+
public function viewAction()
|
23 |
+
{
|
24 |
+
$legacy=$this->getRequest()->getParam('legacy');
|
25 |
+
|
26 |
+
$cookie = Mage::getSingleton('core/cookie');
|
27 |
+
if($legacy=='true')
|
28 |
+
{ //Magento List
|
29 |
+
$cookie->set('downloadoption', '1' ,time()+86400,'/');
|
30 |
+
}
|
31 |
+
else
|
32 |
+
{ //Flick Rocket
|
33 |
+
$cookie->set('downloadoption', '2' ,time()+86400,'/');
|
34 |
+
}
|
35 |
+
///////////////////////////////////////////////////////
|
36 |
+
$this->_redirect('downloadable/customer/products/');
|
37 |
+
}
|
38 |
+
}
|
app/code/community/Acegmbh/Flux/etc/adminhtml.xml
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<config>
|
2 |
<menu>
|
3 |
-
|
4 |
<children>
|
5 |
<flux module="flux">
|
6 |
<title>FlickRocket SOAP Log</title>
|
@@ -8,7 +8,7 @@
|
|
8 |
<action>flux/adminhtml_flux</action>
|
9 |
</flux>
|
10 |
</children>
|
11 |
-
</sales>
|
12 |
<flickrocket module="flux">
|
13 |
<title>Flickrocket</title>
|
14 |
<sort_order>900</sort_order>
|
1 |
<config>
|
2 |
<menu>
|
3 |
+
<sales>
|
4 |
<children>
|
5 |
<flux module="flux">
|
6 |
<title>FlickRocket SOAP Log</title>
|
8 |
<action>flux/adminhtml_flux</action>
|
9 |
</flux>
|
10 |
</children>
|
11 |
+
</sales>
|
12 |
<flickrocket module="flux">
|
13 |
<title>Flickrocket</title>
|
14 |
<sort_order>900</sort_order>
|
app/code/community/Acegmbh/Flux/etc/config.xml
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Acegmbh_Flux>
|
5 |
-
<version>0.1.
|
6 |
</Acegmbh_Flux>
|
7 |
</modules>
|
8 |
<admin>
|
@@ -24,6 +24,19 @@
|
|
24 |
</flux>
|
25 |
</updates>
|
26 |
</layout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
</adminhtml>
|
28 |
|
29 |
<frontend>
|
@@ -104,6 +117,11 @@
|
|
104 |
<flux>
|
105 |
<class>Acegmbh_Flux_Block</class>
|
106 |
</flux>
|
|
|
|
|
|
|
|
|
|
|
107 |
</blocks>
|
108 |
<helpers>
|
109 |
<flux>
|
@@ -149,7 +167,36 @@
|
|
149 |
</observers>
|
150 |
</customer_save_after>
|
151 |
|
152 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
</events>
|
154 |
|
155 |
<catalog>
|
@@ -175,6 +222,7 @@
|
|
175 |
<flux_email>sandbox@flickrocket.com</flux_email>
|
176 |
<flux_password>sandbox1971</flux_password>
|
177 |
<flux_wsdl>http://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL</flux_wsdl>
|
|
|
178 |
</flux>
|
179 |
</acegmbh_flux>
|
180 |
</default>
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Acegmbh_Flux>
|
5 |
+
<version>0.1.8</version>
|
6 |
</Acegmbh_Flux>
|
7 |
</modules>
|
8 |
<admin>
|
24 |
</flux>
|
25 |
</updates>
|
26 |
</layout>
|
27 |
+
|
28 |
+
<events>
|
29 |
+
<checkout_submit_all_after>
|
30 |
+
<observers>
|
31 |
+
<Acegmbh_Flux>
|
32 |
+
<type>singleton</type>
|
33 |
+
<class>flux/observer</class>
|
34 |
+
<method>placeOrder</method>
|
35 |
+
</Acegmbh_Flux>
|
36 |
+
</observers>
|
37 |
+
</checkout_submit_all_after>
|
38 |
+
</events>
|
39 |
+
|
40 |
</adminhtml>
|
41 |
|
42 |
<frontend>
|
117 |
<flux>
|
118 |
<class>Acegmbh_Flux_Block</class>
|
119 |
</flux>
|
120 |
+
<downloadable>
|
121 |
+
<rewrite>
|
122 |
+
<customer_products_list>Acegmbh_Flux_Block_Customer_Products_List</customer_products_list>
|
123 |
+
</rewrite>
|
124 |
+
</downloadable>
|
125 |
</blocks>
|
126 |
<helpers>
|
127 |
<flux>
|
167 |
</observers>
|
168 |
</customer_save_after>
|
169 |
|
170 |
+
<customer_customer_authenticated>
|
171 |
+
<observers>
|
172 |
+
<Acegmbh_Flux>
|
173 |
+
<type>singleton</type>
|
174 |
+
<class>flux/observer</class>
|
175 |
+
<method>changeOldPassword</method>
|
176 |
+
</Acegmbh_Flux>
|
177 |
+
</observers>
|
178 |
+
</customer_customer_authenticated>
|
179 |
+
|
180 |
+
<adminhtml_sales_order_create_process_data_before>
|
181 |
+
<observers>
|
182 |
+
<Acegmbh_Flux>
|
183 |
+
<type>singleton</type>
|
184 |
+
<class>flux/observer_order</class>
|
185 |
+
<method>beforeAdminOrder</method>
|
186 |
+
</Acegmbh_Flux>
|
187 |
+
</observers>
|
188 |
+
</adminhtml_sales_order_create_process_data_before>
|
189 |
+
|
190 |
+
<controller_action_layout_load_before>
|
191 |
+
<observers>
|
192 |
+
<Acegmbh_Flux>
|
193 |
+
<type>singleton</type>
|
194 |
+
<class>flux/observer_template</class>
|
195 |
+
<method>setTemplate</method>
|
196 |
+
</Acegmbh_Flux>
|
197 |
+
</observers>
|
198 |
+
</controller_action_layout_load_before>
|
199 |
+
|
200 |
</events>
|
201 |
|
202 |
<catalog>
|
222 |
<flux_email>sandbox@flickrocket.com</flux_email>
|
223 |
<flux_password>sandbox1971</flux_password>
|
224 |
<flux_wsdl>http://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL</flux_wsdl>
|
225 |
+
<flux_template>1</flux_template>
|
226 |
</flux>
|
227 |
</acegmbh_flux>
|
228 |
</default>
|
app/code/community/Acegmbh/Flux/etc/system.xml
CHANGED
@@ -57,15 +57,25 @@
|
|
57 |
<label>Environment</label>
|
58 |
<frontend_type>select</frontend_type>
|
59 |
<backend_model>acegmbh_flux/flux_config_demo</backend_model>
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
<sort_order>4</sort_order>
|
64 |
<show_in_default>1</show_in_default>
|
65 |
<show_in_website>1</show_in_website>
|
66 |
<show_in_store>1</show_in_store>
|
67 |
<comment>Select between live (productive) and sandbox (testing)</comment>
|
68 |
</flux_wsdl>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
</fields>
|
70 |
</flux>
|
71 |
</groups>
|
57 |
<label>Environment</label>
|
58 |
<frontend_type>select</frontend_type>
|
59 |
<backend_model>acegmbh_flux/flux_config_demo</backend_model>
|
60 |
+
<source_model>
|
61 |
+
acegmbh_flux/adminhtml_system_config_source_wsdlurls
|
62 |
+
</source_model>
|
63 |
<sort_order>4</sort_order>
|
64 |
<show_in_default>1</show_in_default>
|
65 |
<show_in_website>1</show_in_website>
|
66 |
<show_in_store>1</show_in_store>
|
67 |
<comment>Select between live (productive) and sandbox (testing)</comment>
|
68 |
</flux_wsdl>
|
69 |
+
<flux_template translate="label">
|
70 |
+
<label>Access system</label>
|
71 |
+
<frontend_type>select</frontend_type>
|
72 |
+
<source_model>acegmbh_flux/adminhtml_system_config_source_access</source_model>
|
73 |
+
<sort_order>5</sort_order>
|
74 |
+
<show_in_default>1</show_in_default>
|
75 |
+
<show_in_website>1</show_in_website>
|
76 |
+
<show_in_store>1</show_in_store>
|
77 |
+
</flux_template>
|
78 |
+
|
79 |
</fields>
|
80 |
</flux>
|
81 |
</groups>
|
app/design/frontend/base/default/layout/flux.xml
CHANGED
@@ -27,10 +27,24 @@
|
|
27 |
|
28 |
-->
|
29 |
<layout version="0.1.0">
|
30 |
-
|
31 |
<remove name="downloadable_customer_products_list"></remove>
|
32 |
<reference name="my.account.wrapper">
|
33 |
<block type="core/template" name="dlmlinks" template="flux/dlmanagerlinks.phtml"></block>
|
34 |
</reference>
|
35 |
-
</downloadable_customer_products
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
</layout>
|
27 |
|
28 |
-->
|
29 |
<layout version="0.1.0">
|
30 |
+
<!--downloadable_customer_products translate="label">
|
31 |
<remove name="downloadable_customer_products_list"></remove>
|
32 |
<reference name="my.account.wrapper">
|
33 |
<block type="core/template" name="dlmlinks" template="flux/dlmanagerlinks.phtml"></block>
|
34 |
</reference>
|
35 |
+
</downloadable_customer_products -->
|
36 |
+
|
37 |
+
<flickRocket_only translate="label">
|
38 |
+
<remove name="downloadable_customer_products_list"></remove>
|
39 |
+
<reference name="my.account.wrapper">
|
40 |
+
<block type="core/template" name="dlmlinks" template="flux/dlmanagerlinks.phtml"></block>
|
41 |
+
</reference>
|
42 |
+
</flickRocket_only>
|
43 |
+
|
44 |
+
<flickRocket_and_legacy translate="label">
|
45 |
+
<reference name="downloadable_customer_products_list">
|
46 |
+
<action method="setTemplate"><template>flux/list.phtml</template></action>
|
47 |
+
</reference>
|
48 |
+
</flickRocket_and_legacy>
|
49 |
+
|
50 |
</layout>
|
app/design/frontend/base/default/template/flux/dlmanagerlinks.phtml
CHANGED
@@ -28,10 +28,29 @@
|
|
28 |
/**
|
29 |
* @see Mage_Downloadable_Block_Customer_Products_List
|
30 |
*/
|
|
|
|
|
|
|
31 |
?>
|
|
|
|
|
|
|
|
|
32 |
|
|
|
|
|
|
|
33 |
<?php
|
|
|
|
|
|
|
34 |
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
function endsWith($haystack, $needle, $case = true) {
|
36 |
if ($case) {
|
37 |
return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)), $needle) === 0);
|
@@ -52,11 +71,21 @@
|
|
52 |
|
53 |
$targetURL = $scheme . "://" . $targetURL;
|
54 |
}
|
55 |
-
|
56 |
if($url!='SOAP_EXCEPTION' && $url!=-1 && $url!=-2 && $url!=-3 && $url!=-4 && $url!=-5 )
|
57 |
{
|
58 |
echo "<iframe src=\"" . $targetURL . "\" frameBorder=\"0\" width=\"100%\" height=\"1600px\"></iframe>";
|
59 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
else
|
61 |
{ $error=Mage::helper('flux')->getErrorMessage( $url);
|
62 |
//$error=isset($errors[$url])?$errors[$url]:$this->__('Some error occurerd.');
|
28 |
/**
|
29 |
* @see Mage_Downloadable_Block_Customer_Products_List
|
30 |
*/
|
31 |
+
$template=Mage::getStoreConfig('acegmbh_flux/flux/flux_template');
|
32 |
+
if($template=="2")
|
33 |
+
{
|
34 |
?>
|
35 |
+
<div class="page-title title-buttons">
|
36 |
+
<h1><?php echo $this->__('Digital Content') ?></h1>
|
37 |
+
|
38 |
+
<button class="button" onclick="setLocation('<?php echo $this->getUrl('flux/redirect/view/legacy/true')?>')" title="<?php echo $this->__('Legacy File Download')?>" type="button"><span><span><?php echo $this->__('Legacy File Download')?></span></span></button>
|
39 |
|
40 |
+
<!--button class="button disabled" title="<?php echo $this->__('Access Digital Content')?>" type="button"><span><span><?php echo $this->__('Access Digital Content')?></span></span></button -->
|
41 |
+
|
42 |
+
</div>
|
43 |
<?php
|
44 |
+
}
|
45 |
+
else
|
46 |
+
{?>
|
47 |
|
48 |
+
<div class="page-title">
|
49 |
+
<h1><?php echo $this->__('Digital Content') ?></h1>
|
50 |
+
</div>
|
51 |
+
|
52 |
+
<?php
|
53 |
+
}
|
54 |
function endsWith($haystack, $needle, $case = true) {
|
55 |
if ($case) {
|
56 |
return (strcmp(substr($haystack, strlen($haystack) - strlen($needle)), $needle) === 0);
|
71 |
|
72 |
$targetURL = $scheme . "://" . $targetURL;
|
73 |
}
|
74 |
+
//echo $url;
|
75 |
if($url!='SOAP_EXCEPTION' && $url!=-1 && $url!=-2 && $url!=-3 && $url!=-4 && $url!=-5 )
|
76 |
{
|
77 |
echo "<iframe src=\"" . $targetURL . "\" frameBorder=\"0\" width=\"100%\" height=\"1600px\"></iframe>";
|
78 |
}
|
79 |
+
elseif($url==-4)
|
80 |
+
{
|
81 |
+
$error=$this->__('You do not have digital contents.');
|
82 |
+
echo '<p class="note-msg">'.$error.'</p>';
|
83 |
+
}
|
84 |
+
elseif($url==-5)
|
85 |
+
{
|
86 |
+
$error=$this->__('Your store password does not match your FlickRocket account. <a href="%s">Reset/Sync</a> your password here.',Mage::getUrl('customer/account/edit/changepass/1'));
|
87 |
+
echo '<p class="note-msg">'.$error.'</p>';
|
88 |
+
}
|
89 |
else
|
90 |
{ $error=Mage::helper('flux')->getErrorMessage( $url);
|
91 |
//$error=isset($errors[$url])?$errors[$url]:$this->__('Some error occurerd.');
|
app/design/frontend/base/default/template/flux/list.phtml
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Magento
|
4 |
+
*
|
5 |
+
* NOTICE OF LICENSE
|
6 |
+
*
|
7 |
+
* This source file is subject to the Academic Free License (AFL 3.0)
|
8 |
+
* that is bundled with this package in the file LICENSE_AFL.txt.
|
9 |
+
* It is also available through the world-wide-web at this URL:
|
10 |
+
* http://opensource.org/licenses/afl-3.0.php
|
11 |
+
* If you did not receive a copy of the license and are unable to
|
12 |
+
* obtain it through the world-wide-web, please send an email
|
13 |
+
* to license@magentocommerce.com so we can send you a copy immediately.
|
14 |
+
*
|
15 |
+
* DISCLAIMER
|
16 |
+
*
|
17 |
+
* Do not edit or add to this file if you wish to upgrade Magento to newer
|
18 |
+
* versions in the future. If you wish to customize Magento for your
|
19 |
+
* needs please refer to http://www.magentocommerce.com for more information.
|
20 |
+
*
|
21 |
+
* @category design
|
22 |
+
* @package base_default
|
23 |
+
* @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
|
24 |
+
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
25 |
+
*/
|
26 |
+
?>
|
27 |
+
<?php
|
28 |
+
/**
|
29 |
+
* @see Mage_Downloadable_Block_Customer_Products_List
|
30 |
+
*/
|
31 |
+
$cookie = Mage::getSingleton('core/cookie');
|
32 |
+
$option=$cookie->get('downloadoption');
|
33 |
+
|
34 |
+
if($option=="2")
|
35 |
+
{
|
36 |
+
|
37 |
+
echo $this->getLayout()->createBlock('core/template')->setTemplate('flux/dlmanagerlinks.phtml')->toHtml();
|
38 |
+
|
39 |
+
}
|
40 |
+
else
|
41 |
+
{
|
42 |
+
?>
|
43 |
+
<?php $_items = $this->getItems(); ?>
|
44 |
+
|
45 |
+
<div class="page-title title-buttons">
|
46 |
+
<h1><?php echo Mage::helper('downloadable')->__('My Downloadable Products') ?></h1>
|
47 |
+
|
48 |
+
<!--button class="button disabled" title="<?php echo $this->__('Legacy File Download')?>" type="button"><span><span><?php echo $this->__('Legacy File Download')?></span></span></button -->
|
49 |
+
|
50 |
+
<button class="button" onclick="setLocation('<?php echo $this->getUrl('flux/redirect/view')?>')" title="<?php echo $this->__('Access Digital Content')?>" type="button"><span><span><?php echo $this->__('Access Digital Content')?></span></span></button>
|
51 |
+
|
52 |
+
</div>
|
53 |
+
<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
|
54 |
+
|
55 |
+
<?php echo $this->getChildHtml('pager'); ?>
|
56 |
+
<?php if(count($_items)): ?>
|
57 |
+
<table class="data-table" id="my-downloadable-products-table">
|
58 |
+
<col width="1" />
|
59 |
+
<col width="1" />
|
60 |
+
<col />
|
61 |
+
<col width="1" />
|
62 |
+
<col width="1" />
|
63 |
+
<thead>
|
64 |
+
<tr>
|
65 |
+
<th><?php echo Mage::helper('downloadable')->__('Order #') ?></th>
|
66 |
+
<th><?php echo Mage::helper('downloadable')->__('Date') ?></th>
|
67 |
+
<th><?php echo Mage::helper('downloadable')->__('Title') ?></th>
|
68 |
+
<th><?php echo Mage::helper('downloadable')->__('Status') ?></th>
|
69 |
+
<th><span class="nobr"><?php echo Mage::helper('downloadable')->__('Remaining Downloads') ?></span></th>
|
70 |
+
</tr>
|
71 |
+
</thead>
|
72 |
+
<tbody>
|
73 |
+
<?php $_odd = ''; ?>
|
74 |
+
<?php foreach ($_items as $_item): ?>
|
75 |
+
<tr>
|
76 |
+
<td><a href="<?php echo $this->getOrderViewUrl($_item->getPurchased()->getOrderId()) ?>" title="<?php echo Mage::helper('downloadable')->__('View Order') ?>"><?php echo $_item->getPurchased()->getOrderIncrementId() ?></a></td>
|
77 |
+
<td><span class="nobr"><?php echo $this->formatDate($_item->getPurchased()->getCreatedAt()) ?></span></td>
|
78 |
+
<td><?php echo $this->escapeHtml($_item->getPurchased()->getProductName()) ?> - <a href="<?php echo $this->getDownloadUrl($_item) ?>" title="<?php echo Mage::helper('downloadable')->__('Start Download') ?>" <?php echo $this->getIsOpenInNewWindow()?'onclick="this.target=\'_blank\'"':''; ?>><?php echo $this->escapeHtml($_item->getLinkTitle()); ?></a></td>
|
79 |
+
<td><em><?php echo Mage::helper('downloadable')->__(ucfirst($_item->getStatus())) ?></em></td>
|
80 |
+
<td><?php echo $this->getRemainingDownloads($_item) ?></td>
|
81 |
+
</tr>
|
82 |
+
<?php endforeach; ?>
|
83 |
+
</tbody>
|
84 |
+
</table>
|
85 |
+
<script type="text/javascript">decorateTable('my-downloadable-products-table')</script>
|
86 |
+
<?php else: ?>
|
87 |
+
<p><?php echo Mage::helper('downloadable')->__('You have not purchased any downloadable products yet.'); ?></p>
|
88 |
+
<?php endif; ?>
|
89 |
+
<?php echo $this->getChildHtml('pager'); ?>
|
90 |
+
<div class="buttons-set">
|
91 |
+
<p class="back-link"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><small>« </small><?php echo $this->__('Back') ?></a></p>
|
92 |
+
</div>
|
93 |
+
<?php
|
94 |
+
}
|
95 |
+
?>
|
app/locale/en_US/Acegmbh_Flux.csv
CHANGED
@@ -1,33 +1,34 @@
|
|
1 |
-
;; FlickRocket SOAP Log
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
;; Infos while creating a user
|
13 |
-
|
14 |
-
|
15 |
-
;; backend texts
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
;; adminhtml page content
|
31 |
-
"Content can be uploaded by using one of the following options:";"Content can be uploaded by using one of the following options:"
|
32 |
-
"Web based uploader";"Web based uploader"
|
33 |
-
"Download desktop software (Windows / MacOSX)";"Download desktop software (Windows / MacOSX)"
|
|
1 |
+
;; FlickRocket SOAP Log,
|
2 |
+
FlickRocket SOAP Log,FlickRocket SOAP Log
|
3 |
+
ID,ID
|
4 |
+
Order ID,Order ID
|
5 |
+
Store ID,Store ID
|
6 |
+
Customer ID,Customer ID
|
7 |
+
Request,Request
|
8 |
+
Response,Response
|
9 |
+
Error,Error
|
10 |
+
Order Date,Order Date
|
11 |
+
,
|
12 |
+
;; Infos while creating a user,
|
13 |
+
Ihre E-Mail-Adresse ist bereits in Flux angelegt. Bitte verwenden Sie das Passwort aus Ihrem Flux Account.,Your E-Mail Address is already registered at Flickrocket/FluxPlayer. Please use the password from your existing account.
|
14 |
+
,
|
15 |
+
;; backend texts,
|
16 |
+
Flickrocket Extension,Flickrocket Extension
|
17 |
+
General Settings,General Settings
|
18 |
+
Configuration,Configuration
|
19 |
+
Company ID,Company ID
|
20 |
+
Unique Company ID (see FlickRocket -> Company -> Company data),Unique Company ID (see FlickRocket -> Company -> Company data)
|
21 |
+
Theme ID,Theme ID
|
22 |
+
Unique Theme ID (see FlickRocket -> Shop -> Themes),Unique Theme ID (see FlickRocket -> Shop -> Themes)
|
23 |
+
Email Address,Email Address
|
24 |
+
Email of user registered with FlickRocket with Shop Management permission,Email of registered user with FlickRocket with Shop Management permission
|
25 |
+
Password,Password
|
26 |
+
May be empty for generic sandbox environment,May be empty for generic sandbox environment
|
27 |
+
Environment,Environment
|
28 |
+
Select between live (productive) and sandbox (testing),Select between live (productive) and sandbox (testing)
|
29 |
+
,
|
30 |
+
;; adminhtml page content,
|
31 |
+
"Content can be uploaded by using one of the following options:"";""Content can be uploaded by using one of the following options:",
|
32 |
+
"Web based uploader"";""Web based uploader",
|
33 |
+
"Download desktop software (Windows / MacOSX)"";""Download desktop software (Windows / MacOSX)",
|
34 |
+
Zahlung konnte nicht abgeschlossen werden! Bitte wenden Sie sich an den Support.,Payment could not be completed. Please contact support
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Flickrocket</name>
|
4 |
-
<version>1.1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/OSL-3.0">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
@@ -13,9 +13,9 @@ You can encode, package, encrypt and upload your content right within Magento or
|
|
13 |
The content distribution is done via our content delivery network (CDN) to ensure a high bandwidth distribution to a world wide audience.</description>
|
14 |
<notes>Stable release</notes>
|
15 |
<authors><author><name>Volkmar Breitfeld</name><user>VBreitfeld</user><email>volkmar@flickrocket.com</email></author></authors>
|
16 |
-
<date>2014-
|
17 |
-
<time>
|
18 |
-
<contents><target name="magecommunity"><dir name="Acegmbh"><dir name="Flux"><dir name="Block"><dir name="Adminhtml"><dir name="Admin"><file name="Grid.php" hash="9ab941394c34f5f51bebd62868c4327e"/></dir><file name="Admin.php" hash="fa02211e07b52ed8b1a1e06ee581ccdc"/><dir name="Flux"><dir name="Edit"><file name="Form.php" hash="b091f3214e32862fb29bd3337bd64955"/><dir name="Tab"><file name="Form.php" hash="2f8f6bc80235d2a5cfb69c7e531fddb6"/></dir><file name="Tabs.php" hash="ffcc392ac99693de3764a062bc679ecc"/></dir><file name="Edit.php" hash="ff168405f809920d01e06ddf35f0ce9f"/><dir name="Grid"><dir name="Render"><file name="Xml.php" hash="72d1776285ccf240deb79b2d539eeeb8"/></dir></dir><file name="Grid.php" hash="9522d5da8b9040747ae28448c54dc02d"/></dir><file name="Flux.php" hash="8b8f0dd7d83f81c00d7783ce1e8fd771"/></dir></dir><dir name="Helper"><file name="Data.php" hash="
|
19 |
<compatible/>
|
20 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
21 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Flickrocket</name>
|
4 |
+
<version>1.1.8</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/OSL-3.0">OSL v3.0</license>
|
7 |
<channel>community</channel>
|
13 |
The content distribution is done via our content delivery network (CDN) to ensure a high bandwidth distribution to a world wide audience.</description>
|
14 |
<notes>Stable release</notes>
|
15 |
<authors><author><name>Volkmar Breitfeld</name><user>VBreitfeld</user><email>volkmar@flickrocket.com</email></author></authors>
|
16 |
+
<date>2014-09-16</date>
|
17 |
+
<time>13:49:42</time>
|
18 |
+
<contents><target name="magecommunity"><dir name="Acegmbh"><dir name="Flux"><dir name="Block"><dir name="Adminhtml"><dir name="Admin"><file name="Grid.php" hash="9ab941394c34f5f51bebd62868c4327e"/></dir><file name="Admin.php" hash="fa02211e07b52ed8b1a1e06ee581ccdc"/><dir name="Flux"><dir name="Edit"><file name="Form.php" hash="b091f3214e32862fb29bd3337bd64955"/><dir name="Tab"><file name="Form.php" hash="2f8f6bc80235d2a5cfb69c7e531fddb6"/></dir><file name="Tabs.php" hash="ffcc392ac99693de3764a062bc679ecc"/></dir><file name="Edit.php" hash="ff168405f809920d01e06ddf35f0ce9f"/><dir name="Grid"><dir name="Render"><file name="Xml.php" hash="72d1776285ccf240deb79b2d539eeeb8"/></dir></dir><file name="Grid.php" hash="9522d5da8b9040747ae28448c54dc02d"/></dir><file name="Flux.php" hash="8b8f0dd7d83f81c00d7783ce1e8fd771"/></dir><dir name="Customer"><dir name="Products"><file name="List.php" hash="ce159e0dfae7a7cb1578dfcbdbb9245d"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="2d41cc5084b9c9fc60fc1f0ef533faf6"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Access.php" hash="d768397c90cb1df9141a422a434a1d75"/><file name="Licenceids.php" hash="7e87247a1c3adff3d4d492fff30b154f"/><file name="Projectids.php" hash="165e3849645dcb69b0f964ee9fae1e34"/><file name="Wsdlurls.php" hash="7d8480d874be8643816f59ecdbe68ce5"/></dir></dir></dir></dir><dir name="Customer"><dir name="Entity"><file name="Customer.php" hash="6db83b89383b2353cd28582a8300395d"/></dir></dir><file name="Customer.php" hash="a359c62f1be83444d783df4ac0c953d0"/><dir name="Flux"><dir name="Config"><file name="Demo.php" hash="d9d48fba9c60e94057504e9e39068dc3"/></dir><dir name="Soap"><dir name="Response"><file name="ChangeCustomerEMail.php" hash="c2efbbd5fff7a25b4e72f020893a7edc"/><file name="ChangeCustomerPassword.php" hash="7fc7f7052b3228d9bbe3ff042bdd2ec0"/><file name="CheckUserExists.php" hash="036d0ce3a53b062c21cbcf7837687142"/><file name="CreateShopOrder.php" hash="fba8280decfb79433b1781960fd159fb"/><file name="GetLicenses.php" hash="0a1142ca7d7c8818096cd341f821f21f"/><file name="GetProjects.php" hash="2a23285b07dc421287bca0dae8f8976c"/><file name="PrepareLogin.php" hash="6662461954f11338c921ef34fa34e6c6"/></dir></dir></dir><dir name="Mysql4"><dir name="Orders"><file name="Collection.php" hash="5974d09282cbd5f964ff7831654e43f5"/></dir><file name="Orders.php" hash="6159a072f030d0a127ec9ee09e6293e4"/><dir name="Users"><file name="Collection.php" hash="9355a78478686097b559a13640dd7976"/></dir><file name="Users.php" hash="ca9d2feb9c5df2ff1676c663f70f5f60"/></dir><dir name="Observer"><file name="Order.php" hash="fad67ceb9b78e59efd29cc05cd81163d"/><file name="Template.php" hash="887d4654b68e18d3a47708dca59d88c3"/></dir><file name="Observer.php" hash="e31cd42953ef08140f898ec5d599ff3d"/><file name="Orders.php" hash="e019a130619cbae9be12f2a9a54c705f"/><dir name="Product"><file name="Redirect.php" hash="57cffb88fffa0ad8134d5749d583fa08"/></dir><file name="Users.php" hash="e657f74825ea2e5d74990a9076c1ef2f"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="AdminController.php" hash="f76a58ba7a9bfc69dc440e4eef0903ce"/><file name="FluxController.php" hash="bec5e5a533376cd63d8d013fb7156df4"/><file name="UploadController.php" hash="91f2200f874269bc9123da194fbe23fe"/></dir><dir name="Checkout"><file name="OnepageController.php" hash="5a4036e331ac78db403189137713b0af"/></dir><file name="RedirectController.php" hash="bd75bbe5ca5a170a839e276e54c3391d"/></dir><dir name="etc"><file name="adminhtml.xml" hash="c36f79d7f03235968840195e2f52b57c"/><file name="config.xml" hash="064b19052e6e958654fcbcbffaa6640b"/><file name="system.xml" hash="04185ea2ae7a463ad08facda11da53b6"/></dir><dir name="sql"><dir name="flux_setup"><file name="mysql4-install-0.1.0.php" hash="09721adc25163b0c3dad1c89993ed15e"/><file name="mysql4-upgrade-0.1.0-0.1.7.php" hash="1795afce0bd4295d5cdedbf00edf8350"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="flux.xml" hash="9bd230e3ebdfdf27d87e3edfa47bf1a4"/></dir><dir name="template"><dir name="flux"><dir name="catalog"><dir name="product"><file name="samples.phtml" hash="8f4f1d49e22a27a6aabdcc2911113dbf"/></dir></dir><file name="dlmanagerlinks.phtml" hash="725ecfea3e9730276081bd1555bd896d"/><file name="list.phtml" hash="86af7c7da8c0a0d8108c04b94e5886cf"/></dir></dir></dir></dir></dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="acegmbh_flux.xml" hash="7e04b10d2f952c0ef393c366b0f3e2cd"/></dir><dir name="template"><dir name="flux"><file name="admin.phtml" hash="ac816c5038e5f3f6b6e2ae159e2c971a"/><file name="upload.phtml" hash="3c554379fdc591c4371e03b100d4c69c"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Acegmbh_Flux.csv" hash="4be4e3e45ae942aef4984769e049c27e"/></dir></target><target name="mageetc"><dir name="modules"><file name="Acegmbh_Flux.xml" hash="f4cd29414c1144dfb0ecdd68eb092c00"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="images"><dir name="flux"><file name="CloudIcon_Apple.png" hash="21e2932e7c092fcccc4d483237619078"/><file name="CloudIcon_Html5.png" hash="87e71303bf577682cd41379cb1ea4dab"/><file name="CloudIcon_Win.png" hash="c1e3d22ae7a272cb073d76a83bcb6abf"/></dir></dir></dir></dir></dir></target></contents>
|
19 |
<compatible/>
|
20 |
<dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
|
21 |
</package>
|