Flickrocket - Version 1.2.0

Version Notes

Stable release

Download this release

Release Info

Developer Volkmar Breitfeld
Extension Flickrocket
Version 1.2.0
Comparing to
See all releases


Code changes from version 1.1.8 to 1.2.0

Files changed (26) hide show
  1. app/code/community/Acegmbh/Flux/Block/Adminhtml/Product/Widget/Project/Option.php +23 -0
  2. app/code/community/Acegmbh/Flux/Block/Adminhtml/Product/Widget/Project/Wizard/Button.php +15 -0
  3. app/code/community/Acegmbh/Flux/Block/Customer/Products/List.php +13 -2
  4. app/code/community/Acegmbh/Flux/Helper/Data.php +262 -94
  5. app/code/community/Acegmbh/Flux/Model/Adminhtml/Product/Attribute/Source/Resolution.php +34 -0
  6. app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Themes.php +41 -0
  7. app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Wsdlurls.php +2 -2
  8. app/code/community/Acegmbh/Flux/Model/Customer/Entity/Customer.php +1 -1
  9. app/code/community/Acegmbh/Flux/Model/Observer.php +200 -25
  10. app/code/community/Acegmbh/Flux/Model/Observer/Config.php +74 -0
  11. app/code/community/Acegmbh/Flux/Model/Observer/Template.php +87 -15
  12. app/code/community/Acegmbh/Flux/Model/Orders.php +100 -1
  13. app/code/community/Acegmbh/Flux/controllers/Checkout/OnepageController.php +6 -0
  14. app/code/community/Acegmbh/Flux/etc/adminhtml.xml +2 -2
  15. app/code/community/Acegmbh/Flux/etc/config.xml +72 -22
  16. app/code/community/Acegmbh/Flux/etc/system.xml +93 -29
  17. app/code/community/Acegmbh/Flux/sql/flux_setup/mysql4-upgrade-0.1.7-0.1.8.php +76 -0
  18. app/design/adminhtml/default/default/template/flux/admin.phtml +1 -12
  19. app/design/adminhtml/default/default/template/flux/product/widget/project/js.phtml +61 -0
  20. app/design/adminhtml/default/default/template/flux/product/widget/project/option.phtml +15 -0
  21. app/design/adminhtml/default/default/template/flux/product/widget/project/wizard/button.phtml +47 -0
  22. app/design/adminhtml/default/default/template/flux/upload.phtml +5 -5
  23. app/design/frontend/base/default/template/flux/dlmanagerlinks.phtml +43 -30
  24. app/design/frontend/base/default/template/flux/list.phtml +10 -6
  25. app/design/frontend/base/default/template/flux/list_new.phtml +100 -0
  26. package.xml +4 -4
app/code/community/Acegmbh/Flux/Block/Adminhtml/Product/Widget/Project/Option.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Acegmbh_Flux_Block_Adminhtml_Product_Widget_Project_Option
3
+ extends Mage_Adminhtml_Block_Widget
4
+ implements Varien_Data_Form_Element_Renderer_Interface {
5
+
6
+ public function __construct()
7
+ {
8
+ $this->setTemplate('flux/product/widget/project/option.phtml'); //set a template
9
+ }
10
+
11
+ public function getProjects()
12
+ {
13
+
14
+ return Mage::helper('flux')->getProjects(); ;
15
+
16
+ }
17
+
18
+
19
+ public function render(Varien_Data_Form_Element_Abstract $element) {
20
+ $this->setElement($element);
21
+ return $this->toHtml();
22
+ }
23
+ }
app/code/community/Acegmbh/Flux/Block/Adminhtml/Product/Widget/Project/Wizard/Button.php ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Acegmbh_Flux_Block_Adminhtml_Product_Widget_Project_Wizard_Button
3
+ extends Mage_Adminhtml_Block_Widget
4
+ implements Varien_Data_Form_Element_Renderer_Interface {
5
+
6
+ public function __construct()
7
+ {
8
+ $this->setTemplate('flux/product/widget/project/wizard/button.phtml'); //set a template
9
+ }
10
+
11
+ public function render(Varien_Data_Form_Element_Abstract $element) {
12
+ $this->setElement($element);
13
+ return $this->toHtml();
14
+ }
15
+ }
app/code/community/Acegmbh/Flux/Block/Customer/Products/List.php CHANGED
@@ -41,7 +41,7 @@ class Acegmbh_Flux_Block_Customer_Products_List extends Mage_Downloadable_Block_
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);
@@ -65,7 +65,9 @@ class Acegmbh_Flux_Block_Customer_Products_List extends Mage_Downloadable_Block_
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
  }
@@ -148,4 +150,13 @@ class Acegmbh_Flux_Block_Customer_Products_List extends Mage_Downloadable_Block_
148
  return Mage::getStoreConfigFlag(Mage_Downloadable_Model_Link::XML_PATH_TARGET_NEW_WINDOW);
149
  }
150
 
 
 
 
 
 
 
 
 
 
151
  }
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);
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
+ $orders = Mage::getSingleton('flux/orders');
70
+ $purchasedItems=$orders->getLegacyItems();
71
  //echo $purchasedItems->getSelect();
72
  $this->setItems($purchasedItems);
73
  }
150
  return Mage::getStoreConfigFlag(Mage_Downloadable_Model_Link::XML_PATH_TARGET_NEW_WINDOW);
151
  }
152
 
153
+
154
+
155
+ public function getDigitalItems()
156
+ {
157
+ $orders = Mage::getSingleton('flux/orders');
158
+ $purchasedItems=$orders->getDigitalItems();
159
+ return $purchasedItems;
160
+ }
161
+
162
  }
app/code/community/Acegmbh/Flux/Helper/Data.php CHANGED
@@ -8,16 +8,16 @@ class Acegmbh_Flux_Helper_Data
8
  */
9
  const LOGFILE = "Acegmbh_Flux_Data.log";
10
 
11
- const ERROR_INVALID_USER = 'Invalid user or not enough rights to submit orders';
12
- const ERROR_INVALID_XML = 'Invalid XML';
13
  const ERROR_NONEXISTANT_CUSTOMER_NODE = '"Customer" Node not found';
14
- const ERROR_NONEXISTANT_ORDER_CUSTOMER = 'Customer Password is wrong';
15
- const ERROR_UNDEFINED = 'Please check with FLUX';
16
- const ERROR_NONEXISTANT_PASSWORD_NODE = '"Password" Node not found';
17
- const ERROR_NONEXISTANT_NEWEMAIL_NODE = '"New Email" Node not found';
18
- const ERROR_NONEXISTANT_CUSTOMER = '"Customer" not found';
19
- const ERROR_EMAIL_EXISTS = 'Email already exists';
20
- const SUCCESSFUL = 'Order Placed Successful';
21
 
22
  /**
23
  * @var array $errors
@@ -64,7 +64,7 @@ class Acegmbh_Flux_Helper_Data
64
  self::_log('changePassword');
65
 
66
  $customerId = $Customer->getId();
67
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
68
  $SoapClient = new SoapClient($wsdl ,array('soap_version' => SOAP_1_2,
69
  'trace' => true,
70
  'classmap' => array(
@@ -137,7 +137,7 @@ class Acegmbh_Flux_Helper_Data
137
 
138
  $customerId = $Customer->getId();
139
 
140
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
141
  $SoapClient = new SoapClient($wsdl ,array('soap_version' => SOAP_1_2,
142
  'trace' => true,
143
  'classmap' => array(
@@ -162,7 +162,8 @@ class Acegmbh_Flux_Helper_Data
162
  $_NewEmail = $Doc->createElement('NewEMail', $strNewEmail);
163
  $_Customer->appendChild($_NewEmail);
164
 
165
- $Password = $Doc->createElement('PasswordHash', $Customer->getData("password_hash"));
 
166
  $_Customer->appendChild($Password);
167
 
168
  $soapRequest['XML'] = $Doc->saveXML();
@@ -200,7 +201,7 @@ class Acegmbh_Flux_Helper_Data
200
  $iIdCustomer = $Order->getCustomerId();
201
  $Customer = Mage::getModel('customer/customer')->load($iIdCustomer);
202
 
203
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
204
  $SoapClient = new SoapClient($wsdl, array('soap_version'=> SOAP_1_2,
205
  'trace' => true,
206
  'classmap' => array('CreateShopOrderResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CreateShopOrder'),
@@ -220,7 +221,7 @@ class Acegmbh_Flux_Helper_Data
220
  $TransactionID = $Doc->createElement('TransactionID', $Order->getRealOrderId());
221
  $_Order->appendChild($TransactionID);
222
 
223
- $ThemeID = $Doc->createElement('ThemeID', Mage::getStoreConfig('acegmbh_flux/flux/flux_theme_id'));
224
  $_Order->appendChild($ThemeID);
225
 
226
  $EMail = $Doc->createElement('EMail', $Customer->getEmail());
@@ -279,6 +280,15 @@ class Acegmbh_Flux_Helper_Data
279
  $Count = $Doc->createElement('Count', 1); // $_Item->getQtyToShip());
280
  $Item->appendChild($Count);
281
 
 
 
 
 
 
 
 
 
 
282
  $iSentItems++;
283
  }
284
  }
@@ -333,7 +343,7 @@ class Acegmbh_Flux_Helper_Data
333
  {
334
  self::_log('createShopUser');
335
 
336
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
337
  $SoapClient = new SoapClient($wsdl, array('soap_version'=> SOAP_1_2,
338
  'trace' => true,
339
  'classmap' => array('CreateShopOrderResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CreateShopOrder'),
@@ -350,10 +360,10 @@ class Acegmbh_Flux_Helper_Data
350
  $_Order = $Doc->createElement('Order');
351
  $Doc->appendChild($_Order);
352
 
353
- $TransactionID = $Doc->createElement('TransactionID', '999999' . $iTransactionId);
354
  $_Order->appendChild($TransactionID);
355
 
356
- $ThemeID = $Doc->createElement('ThemeID', Mage::getStoreConfig('acegmbh_flux/flux/flux_theme_id'));
357
  $_Order->appendChild($ThemeID);
358
 
359
  $EMail = $Doc->createElement('EMail', $strEmail);
@@ -408,8 +418,9 @@ class Acegmbh_Flux_Helper_Data
408
  public static function checkUserExists($strEmail, $strPassword, $bPwHash = true )
409
  {
410
  self::_log('checkUserExists');
411
-
412
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
 
413
  $SoapClient = new SoapClient($wsdl, array('soap_version' => SOAP_1_2,
414
  'trace' => true,
415
  'classmap' => array('CheckUserExistsResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CheckUserExists'),
@@ -475,78 +486,78 @@ class Acegmbh_Flux_Helper_Data
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
  *
@@ -568,7 +579,7 @@ class Acegmbh_Flux_Helper_Data
568
 
569
  self::_log('changeCustomerPassword');
570
 
571
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
572
  $SoapClient = new SoapClient( $wsdl, array('soap_version'=> SOAP_1_2,
573
  'trace'=> true,
574
  'classmap'=> array( 'ChangeCustomerPasswordResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_ChangeCustomerPassword' ),
@@ -643,7 +654,7 @@ class Acegmbh_Flux_Helper_Data
643
  {
644
  self::_log('getProjects');
645
 
646
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
647
  $SoapClient = new SoapClient($wsdl, array('soap_version'=> SOAP_1_2,
648
  'trace' => true,
649
  'classmap' => array('CheckUserExistsResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_GetProjects'),
@@ -654,7 +665,7 @@ class Acegmbh_Flux_Helper_Data
654
  $soapRequest = array();
655
  $soapRequest['EMail'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
656
  $soapRequest['Password'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
657
- $soapRequest['ThemeID'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_theme_id');
658
 
659
  $Doc = new DOMDocument('1.0', 'UTF-8');
660
  $Doc->formatOutput = true;
@@ -712,7 +723,7 @@ class Acegmbh_Flux_Helper_Data
712
  {
713
  self::_log('getLicenses');
714
 
715
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
716
  $SoapClient = new SoapClient($wsdl, array('soap_version' => SOAP_1_2,
717
  'trace' => true,
718
  'classmap' => array('CheckUserExistsResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_GetLicenses'),
@@ -722,7 +733,7 @@ class Acegmbh_Flux_Helper_Data
722
  $soapRequest = array();
723
  $soapRequest['EMail'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
724
  $soapRequest['Password'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
725
- $soapRequest['ThemeID'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_theme_id');
726
 
727
  $Doc = new DOMDocument('1.0', 'UTF-8');
728
  $Doc->formatOutput = true;
@@ -777,12 +788,60 @@ class Acegmbh_Flux_Helper_Data
777
  }
778
  /**
779
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
780
 
781
  public static function checkPreviewExists($strProjectID)
782
  {
783
  self::_log('checkPreviewExists');
784
 
785
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
786
  $SoapClient = new SoapClient($wsdl, array('soap_version'=> SOAP_1_2,
787
  'trace'=> true,
788
  'classmap'=> array('CheckPreviewExists' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CheckPreviewExists'),
@@ -817,7 +876,70 @@ class Acegmbh_Flux_Helper_Data
817
  throw new Exception($Exception->getMessage());
818
  return 'SOAP_EXCEPTION';
819
  }
820
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
821
  /** ***************************************************************************** **/
822
  /** **************************** logging-functions ****************************** **/
823
  /** ***************************************************************************** **/
@@ -842,9 +964,9 @@ class Acegmbh_Flux_Helper_Data
842
  $FluxOrders->save();
843
  }
844
 
845
- public static function prepareLoginEx( $strCustomerMail, $strCustomerPasswordHash)
846
  {
847
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
848
  $SoapClient = new SoapClient( $wsdl, array('soap_version'=> SOAP_1_2,
849
  'trace' => true,
850
  'classmap' => array( 'PrepareLogin' => 'Acegmbh_Flux_Model_Flux_Soap_Response_PrepareLogin' ),
@@ -855,7 +977,7 @@ class Acegmbh_Flux_Helper_Data
855
  $soapRequest = array();
856
  $soapRequest['EMail'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
857
  $soapRequest['Password'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
858
- $soapRequest['ThemeID'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_theme_id');
859
 
860
  $Doc = new DOMDocument('1.0', 'UTF-8');
861
  $Doc->formatOutput = true;
@@ -865,7 +987,7 @@ class Acegmbh_Flux_Helper_Data
865
  $_EMail = $Doc->createElement('EMail',$strCustomerMail);
866
  $_Customer->appendChild($_EMail);
867
 
868
- $_Password = $Doc->createElement('PasswordHash', $strCustomerPasswordHash);
869
 
870
  $_Customer->appendChild($_Password);
871
 
@@ -914,4 +1036,50 @@ class Acegmbh_Flux_Helper_Data
914
  {
915
  return isset($_SESSION['flux_customer_password'])?$_SESSION['flux_customer_password']:null;
916
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
917
  }
8
  */
9
  const LOGFILE = "Acegmbh_Flux_Data.log";
10
 
11
+ const ERROR_INVALID_USER = 'Invalid user or not enough rights to submit orders';
12
+ const ERROR_INVALID_XML = 'Invalid XML';
13
  const ERROR_NONEXISTANT_CUSTOMER_NODE = '"Customer" Node not found';
14
+ const ERROR_NONEXISTANT_ORDER_CUSTOMER = 'Customer Password is wrong';
15
+ const ERROR_UNDEFINED = 'Please check with FLUX';
16
+ const ERROR_NONEXISTANT_PASSWORD_NODE = '"Password" Node not found';
17
+ const ERROR_NONEXISTANT_NEWEMAIL_NODE = '"New Email" Node not found';
18
+ const ERROR_NONEXISTANT_CUSTOMER = '"Customer" not found';
19
+ const ERROR_EMAIL_EXISTS = 'Email already exists';
20
+ const SUCCESSFUL = 'Order Placed Successful';
21
 
22
  /**
23
  * @var array $errors
64
  self::_log('changePassword');
65
 
66
  $customerId = $Customer->getId();
67
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
68
  $SoapClient = new SoapClient($wsdl ,array('soap_version' => SOAP_1_2,
69
  'trace' => true,
70
  'classmap' => array(
137
 
138
  $customerId = $Customer->getId();
139
 
140
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
141
  $SoapClient = new SoapClient($wsdl ,array('soap_version' => SOAP_1_2,
142
  'trace' => true,
143
  'classmap' => array(
162
  $_NewEmail = $Doc->createElement('NewEMail', $strNewEmail);
163
  $_Customer->appendChild($_NewEmail);
164
 
165
+ //$Password = $Doc->createElement('PasswordHash', $Customer->getData("password_hash"));
166
+ $Password = $Doc->createElement('Password', self::getFluxCustomerPassword());
167
  $_Customer->appendChild($Password);
168
 
169
  $soapRequest['XML'] = $Doc->saveXML();
201
  $iIdCustomer = $Order->getCustomerId();
202
  $Customer = Mage::getModel('customer/customer')->load($iIdCustomer);
203
 
204
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
205
  $SoapClient = new SoapClient($wsdl, array('soap_version'=> SOAP_1_2,
206
  'trace' => true,
207
  'classmap' => array('CreateShopOrderResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CreateShopOrder'),
221
  $TransactionID = $Doc->createElement('TransactionID', $Order->getRealOrderId());
222
  $_Order->appendChild($TransactionID);
223
 
224
+ $ThemeID = $Doc->createElement('ThemeID', Mage::getStoreConfig('acegmbh_flux/theme/flux_theme_id'));
225
  $_Order->appendChild($ThemeID);
226
 
227
  $EMail = $Doc->createElement('EMail', $Customer->getEmail());
280
  $Count = $Doc->createElement('Count', 1); // $_Item->getQtyToShip());
281
  $Item->appendChild($Count);
282
 
283
+ $Resolution=$Product->getVideoResolution();
284
+ if(empty($Resolution))
285
+ {
286
+ $Resolution='0';
287
+ }
288
+
289
+ $HD = $Doc->createElement('HD', $Resolution);
290
+ $Item->appendChild($HD);
291
+
292
  $iSentItems++;
293
  }
294
  }
343
  {
344
  self::_log('createShopUser');
345
 
346
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
347
  $SoapClient = new SoapClient($wsdl, array('soap_version'=> SOAP_1_2,
348
  'trace' => true,
349
  'classmap' => array('CreateShopOrderResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CreateShopOrder'),
360
  $_Order = $Doc->createElement('Order');
361
  $Doc->appendChild($_Order);
362
 
363
+ $TransactionID = $Doc->createElement('TransactionID', 'FR-M1-' . $iTransactionId);
364
  $_Order->appendChild($TransactionID);
365
 
366
+ $ThemeID = $Doc->createElement('ThemeID', Mage::getStoreConfig('acegmbh_flux/theme/flux_theme_id'));
367
  $_Order->appendChild($ThemeID);
368
 
369
  $EMail = $Doc->createElement('EMail', $strEmail);
418
  public static function checkUserExists($strEmail, $strPassword, $bPwHash = true )
419
  {
420
  self::_log('checkUserExists');
421
+
422
+
423
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
424
  $SoapClient = new SoapClient($wsdl, array('soap_version' => SOAP_1_2,
425
  'trace' => true,
426
  'classmap' => array('CheckUserExistsResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CheckUserExists'),
486
  * @param bool $bPwHash - true means, the password is given as a hash
487
  * @return 0,1,2 or Error code;
488
  */
489
+ // public static function needChangePassword($strEmail, $strPassword, $bPwHash = true )
490
+ // {
491
+ // self::_log('needChangePassword');
492
 
493
+ // $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
494
+ // $SoapClient = new SoapClient($wsdl, array('soap_version' => SOAP_1_2,
495
+ // 'trace' => true,
496
+ // 'classmap' => array('CheckUserExistsResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CheckUserExists'),
497
+ // 'cache_wsdl' => WSDL_CACHE_NONE
498
+ // )
499
+ // );
500
 
501
+ // $soapRequest = array();
502
+ // $soapRequest['EMail'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
503
+ // $soapRequest['Password'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
504
 
505
+ // $Doc = new DOMDocument('1.0', 'UTF-8');
506
+ // $Doc->formatOutput = true;
507
+ // $_Customer = $Doc->createElement('Customer');
508
+ // $Doc->appendChild($_Customer);
509
 
510
+ // $EMail = $Doc->createElement('EMail', $strEmail);
511
+ // $_Customer->appendChild($EMail);
512
 
513
+ // if( $bPwHash )
514
+ // {
515
+ // $Password = $Doc->createElement('PasswordHash', $strPassword);
516
+ // $_Customer->appendChild($Password);
517
+ // }
518
+ // else
519
+ // {
520
+ // $Password = $Doc->createElement('Password', $strPassword);
521
+ // $_Customer->appendChild($Password);
522
+ // }
523
 
524
+ // $soapRequest['XML'] = $Doc->saveXML();
525
+ // try
526
+ // {
527
+ // $Result = $SoapClient->__call('CheckUserExists', array( 'parameters' => $soapRequest ) );
528
 
529
+ // self::_log('Request:');
530
+ // self::_log( $SoapClient->__getLastRequest() );
531
+ // self::_log('Response:');
532
+ // self::_log( $SoapClient->__getLastResponse() );
533
+ // /*$ap=$Result->CheckUserExistsResult;
534
+ // ob_start();
535
+ // var_dump($ap);
536
+ // $res= ob_get_clean();
537
+ // self::_log('Result:');
538
+ // self::_log($res);*/
539
+ // if( $Result->CheckUserExistsResult==1 && $Result->ErrorCode==0 )
540
+ // {
541
+ // return 0;//email and password are matched
542
+ // }
543
+ // if( $Result->ErrorCode==-5 )
544
+ // {
545
+ // return 1 ;//email matched but password not matched
546
+ // }
547
+ // if($Result->ErrorCode==-1)
548
+ // {
549
+ // return 2;// Invalid User
550
+ // }
551
+ // return $Result->ErrorCode;
552
 
553
+ // }
554
+ // catch (SoapFault $Exception)
555
+ // {
556
+ // self::_log($Exception->getMessage());
557
+ // throw new Exception($Exception->getMessage());
558
+ // return 'SOAP_EXCEPTION';
559
+ // }
560
+ // }
561
 
562
  /**
563
  *
579
 
580
  self::_log('changeCustomerPassword');
581
 
582
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
583
  $SoapClient = new SoapClient( $wsdl, array('soap_version'=> SOAP_1_2,
584
  'trace'=> true,
585
  'classmap'=> array( 'ChangeCustomerPasswordResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_ChangeCustomerPassword' ),
654
  {
655
  self::_log('getProjects');
656
 
657
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
658
  $SoapClient = new SoapClient($wsdl, array('soap_version'=> SOAP_1_2,
659
  'trace' => true,
660
  'classmap' => array('CheckUserExistsResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_GetProjects'),
665
  $soapRequest = array();
666
  $soapRequest['EMail'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
667
  $soapRequest['Password'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
668
+ $soapRequest['ThemeID'] = Mage::getStoreConfig('acegmbh_flux/theme/flux_theme_id');
669
 
670
  $Doc = new DOMDocument('1.0', 'UTF-8');
671
  $Doc->formatOutput = true;
723
  {
724
  self::_log('getLicenses');
725
 
726
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
727
  $SoapClient = new SoapClient($wsdl, array('soap_version' => SOAP_1_2,
728
  'trace' => true,
729
  'classmap' => array('CheckUserExistsResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_GetLicenses'),
733
  $soapRequest = array();
734
  $soapRequest['EMail'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
735
  $soapRequest['Password'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
736
+ $soapRequest['ThemeID'] = Mage::getStoreConfig('acegmbh_flux/theme/flux_theme_id');
737
 
738
  $Doc = new DOMDocument('1.0', 'UTF-8');
739
  $Doc->formatOutput = true;
788
  }
789
  /**
790
  */
791
+
792
+ public static function getThemes()
793
+ {
794
+ self::_log('getThemes');
795
+
796
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
797
+ if ($wsdl == '')
798
+ {
799
+ $wsdl = 'https://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL';
800
+ }
801
+ $SoapClient = new SoapClient($wsdl, array('soap_version' => SOAP_1_2,
802
+ 'trace' => true,
803
+ 'classmap' => array('CheckUserExistsResponse' => 'Acegmbh_Flux_Model_Flux_Soap_Response_GetThemes'),
804
+ 'cache_wsdl' => WSDL_CACHE_NONE
805
+ )
806
+ );
807
+ $soapRequest = array();
808
+ $soapRequest['EMail'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
809
+ $soapRequest['Password'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
810
+ //$soapRequest['ThemeID'] = Mage::getStoreConfig('acegmbh_flux/theme/flux_theme_id');
811
+
812
+ $Doc = new DOMDocument('1.0', 'UTF-8');
813
+ $Doc->formatOutput = true;
814
+ $soapRequest['XML'] = $Doc->saveXML();
815
+ try
816
+ {
817
+ $Result = $SoapClient->__call('GetThemes', array( 'parameters' => $soapRequest ) );
818
+
819
+ self::_log('Request:');
820
+ self::_log( $SoapClient->__getLastRequest() );
821
+ self::_log('Response:');
822
+ self::_log( $SoapClient->__getLastResponse() );
823
+
824
+ if($Result->GetThemesResult==true && $Result->ErrorCode==0 )
825
+ {
826
+ //print_r($Result->Themes->stThemes);
827
+ return $Result->Themes->stThemes;
828
+
829
+ }
830
+ }
831
+ catch (SoapFault $Exception)
832
+ {
833
+ self::_log($Exception->getMessage());
834
+ //Mage::getModel('core/session')->addError($Exception->getMessage());
835
+ throw new Exception($Exception->getMessage());
836
+ return 'SOAP_EXCEPTION';
837
+ }
838
+ }
839
 
840
  public static function checkPreviewExists($strProjectID)
841
  {
842
  self::_log('checkPreviewExists');
843
 
844
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
845
  $SoapClient = new SoapClient($wsdl, array('soap_version'=> SOAP_1_2,
846
  'trace'=> true,
847
  'classmap'=> array('CheckPreviewExists' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CheckPreviewExists'),
876
  throw new Exception($Exception->getMessage());
877
  return 'SOAP_EXCEPTION';
878
  }
879
+ }
880
+
881
+ public static function checkAccount($url,$eMail, $password, $themeId=1)
882
+ {
883
+ self::_log('checkAccount');
884
+
885
+ $wsdl = $url;
886
+ $SoapClient = new SoapClient($wsdl, array('soap_version'=> SOAP_1_2,
887
+ 'trace'=> true,
888
+ 'classmap'=> array('CheckAccount' => 'Acegmbh_Flux_Model_Flux_Soap_Response_CheckAccount'),
889
+ 'cache_wsdl' => WSDL_CACHE_NONE
890
+ )
891
+ );
892
+ $soapRequest = array();
893
+ $soapRequest['EMail'] = $eMail;
894
+ $soapRequest['Password'] = $password;
895
+ $soapRequest['ThemeID']=$themeId;
896
+
897
+ try
898
+ {
899
+ $Result = $SoapClient->__call('CheckAccount', array( 'parameters' => $soapRequest ) );
900
+
901
+ self::_log('Request:');
902
+ self::_log( $SoapClient->__getLastRequest() );
903
+ self::_log('Response:');
904
+ self::_log( $SoapClient->__getLastResponse() );
905
+
906
+ if($Result->CheckAccountResult == true )
907
+ {
908
+ return true;
909
+
910
+ }
911
+ else
912
+ { $msg=self::_getAccountCheckError($Result->ErrorCode);
913
+ throw new Exception($msg);
914
+ }
915
+
916
+ }
917
+ catch (SoapFault $Exception)
918
+ {
919
+ self::_log($Exception->getMessage());
920
+ throw new Exception($Exception->getMessage());
921
+ //return 'SOAP_EXCEPTION';
922
+ }
923
+ }
924
+
925
+ private static function _getAccountCheckError($errorCode)
926
+ { $message=Mage::helper('core')->__("Unknown error.");
927
+ switch($errorCode)
928
+ { case '-1':
929
+ case -1:
930
+ $message=Mage::helper('core')->__("FlickRocket User not found.");
931
+ break;
932
+ case '-2':
933
+ case -2:
934
+ $message=Mage::helper('core')->__("FlickRocket User valid but theme does not exist.");
935
+ break;
936
+ case '-3':
937
+ case -3:
938
+ $message=Mage::helper('core')->__("FlickRocket User valid but has no access rights to theme.");
939
+ break;
940
+ }
941
+ return $message;
942
+ }
943
  /** ***************************************************************************** **/
944
  /** **************************** logging-functions ****************************** **/
945
  /** ***************************************************************************** **/
964
  $FluxOrders->save();
965
  }
966
 
967
+ public static function prepareLoginEx( $strCustomerMail, $strCustomerPassword)
968
  {
969
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
970
  $SoapClient = new SoapClient( $wsdl, array('soap_version'=> SOAP_1_2,
971
  'trace' => true,
972
  'classmap' => array( 'PrepareLogin' => 'Acegmbh_Flux_Model_Flux_Soap_Response_PrepareLogin' ),
977
  $soapRequest = array();
978
  $soapRequest['EMail'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
979
  $soapRequest['Password'] = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
980
+ $soapRequest['ThemeID'] = Mage::getStoreConfig('acegmbh_flux/theme/flux_theme_id');
981
 
982
  $Doc = new DOMDocument('1.0', 'UTF-8');
983
  $Doc->formatOutput = true;
987
  $_EMail = $Doc->createElement('EMail',$strCustomerMail);
988
  $_Customer->appendChild($_EMail);
989
 
990
+ $_Password = $Doc->createElement('Password', $strCustomerPassword);
991
 
992
  $_Customer->appendChild($_Password);
993
 
1036
  {
1037
  return isset($_SESSION['flux_customer_password'])?$_SESSION['flux_customer_password']:null;
1038
  }
1039
+
1040
+ public static function hasOrderDigitalItems($Order)
1041
+ { $isDidgital = false;
1042
+ $countItems = 0;
1043
+ $_Items = $Order->getAllItems();
1044
+ foreach ($_Items as $_Item)
1045
+ {
1046
+ $productId = $_Item->getData('product_id');
1047
+ $Product = Mage::getModel('catalog/product')->load($productId);
1048
+ $projectId=$Product->getProjectId();
1049
+ $licenseId=$Product->getLicenseId();
1050
+ if(!empty($projectId) && !empty($licenseId))
1051
+ {
1052
+ $countItems++;
1053
+ $isDidgital = true;
1054
+ }
1055
+ }
1056
+ return $countItems == 0 ? false : $isDidgital;
1057
+
1058
+ }
1059
+
1060
+ public static function isDidgital()
1061
+ {
1062
+ $isDidgital = false;
1063
+ $countItems = 0;
1064
+ $quote = Mage::getModel('checkout/cart')->getQuote();
1065
+ $_items=$quote->getAllItems();
1066
+ foreach ($_items as $_item)
1067
+ {
1068
+ if ($_item->isDeleted()) {
1069
+ continue;
1070
+ }
1071
+
1072
+ $productId = $_item->getData('product_id');
1073
+ $product = Mage::getModel('catalog/product')->load($productId);
1074
+ $projectId=$product->getProjectId();
1075
+ $licenseId=$product->getLicenseId();
1076
+ if (!empty($projectId) || !empty($licenseId)) {
1077
+ $isDidgital = true;
1078
+ $countItems++;
1079
+ break;
1080
+ }
1081
+ }
1082
+
1083
+ return $countItems == 0 ? false : $isDidgital;
1084
+ }
1085
  }
app/code/community/Acegmbh/Flux/Model/Adminhtml/Product/Attribute/Source/Resolution.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Acegmbh_Flux_Model_Adminhtml_Product_Attribute_Source_Resolution
3
+ extends Mage_Core_Model_Abstract
4
+ {
5
+ /**
6
+ * Options getter
7
+ *
8
+ * @return array
9
+ */
10
+ public function getAllOptions()
11
+ {
12
+ $arrReturn = array();
13
+
14
+
15
+ $arrReturn[] = array('value' => '0','label' => Mage::helper('flux')->__('SD Quality'));
16
+ $arrReturn[] = array('value' => '1','label' => Mage::helper('flux')->__('HD Quality'));
17
+
18
+ return $arrReturn;
19
+ }
20
+
21
+
22
+ public function getOptionText($value)
23
+ {
24
+ $arr = self::getAllOptions();
25
+ foreach( $arr as $key=>$val )
26
+ {
27
+ if($key==$value)
28
+ {
29
+ return $val;
30
+ }
31
+ }
32
+ }
33
+
34
+ }
app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Themes.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Acegmbh_Flux_Model_Adminhtml_System_Config_Source_Themes extends Mage_Core_Model_Abstract
3
+ {
4
+
5
+ public function toOptionArray()
6
+ {
7
+ $themes = Mage::helper('flux')->getThemes();
8
+
9
+ $options = array();
10
+ $options[] = array('value' =>'','label' => Mage::helper('flux')->__('Please select'));
11
+ if(count($themes)==1)
12
+ {
13
+ $options[] = array('value' => $themes->ID,'label' => $themes->Name);
14
+ return $options;
15
+ }
16
+ if(count($themes)>1)
17
+ {
18
+ foreach( $themes as $theme )
19
+ {
20
+ $options[] = array('value' => $theme->ID,'label' => $theme->Name);
21
+ }
22
+ }
23
+
24
+ return $options;
25
+ }
26
+
27
+
28
+ public function getOptionText($value)
29
+ {
30
+ $arr = Mage::helper('flux')->getThemes();
31
+ foreach( $arr as $theme )
32
+ {
33
+ if($theme->ID==$value)
34
+ {
35
+ return $theme->Name;
36
+ }
37
+ }
38
+ }
39
+
40
+
41
+ }
app/code/community/Acegmbh/Flux/Model/Adminhtml/System/Config/Source/Wsdlurls.php CHANGED
@@ -9,9 +9,9 @@ class Acegmbh_Flux_Model_Adminhtml_System_Config_Source_Wsdlurls
9
  public function toOptionArray()
10
  {
11
  $arrReturn = array();
12
- $arrReturn[] = array( 'value' => 'http://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL',
13
  'label' => 'Sandbox');
14
- $arrReturn[] = array( 'value' => 'http://www.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL',
15
  'label' => 'Live');
16
 
17
  return $arrReturn;
9
  public function toOptionArray()
10
  {
11
  $arrReturn = array();
12
+ $arrReturn[] = array( 'value' => 'https://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL',
13
  'label' => 'Sandbox');
14
+ $arrReturn[] = array( 'value' => 'https://www.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL',
15
  'label' => 'Live');
16
 
17
  return $arrReturn;
app/code/community/Acegmbh/Flux/Model/Customer/Entity/Customer.php CHANGED
@@ -37,7 +37,7 @@ class Acegmbh_Flux_Model_Customer_Entity_Customer
37
  /*
38
  if (Acegmbh_Flux_Model_Flux_Tools::isFluxUser($customerId))
39
  {
40
- $wsdl = Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl');
41
  $SoapClient = new SoapClient($wsdl,
42
  array(
43
  'soap_version' => SOAP_1_2,
37
  /*
38
  if (Acegmbh_Flux_Model_Flux_Tools::isFluxUser($customerId))
39
  {
40
+ $wsdl = Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl');
41
  $SoapClient = new SoapClient($wsdl,
42
  array(
43
  'soap_version' => SOAP_1_2,
app/code/community/Acegmbh/Flux/Model/Observer.php CHANGED
@@ -37,19 +37,22 @@ class Acegmbh_Flux_Model_Observer
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);
44
  self::_log('transactionid: ' . $iTransactionId);
 
 
 
45
 
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
55
  }
@@ -83,8 +86,11 @@ class Acegmbh_Flux_Model_Observer
83
  }
84
  }
85
 
86
- $FluxHelper = Mage::helper('flux');
87
- $FluxHelper->createShopOrder($Order);
 
 
 
88
  }
89
 
90
  public function createFluxUser(Varien_Event_Observer $Observer)
@@ -135,6 +141,79 @@ class Acegmbh_Flux_Model_Observer
135
  }
136
  }
137
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  public function checkFluxUser(Varien_Event_Observer $Observer)
139
  {
140
  self::_log('checkFluxUser');
@@ -225,25 +304,6 @@ class Acegmbh_Flux_Model_Observer
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;
@@ -341,5 +401,120 @@ class Acegmbh_Flux_Model_Observer
341
  $orderItem->setProductOptions($options);
342
  }
343
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
344
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345
  }
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 = 'FR-M1-'.$Customer->getId();
42
 
43
  self::_log('email: ' . $strEmail);
44
  self::_log('transactionid: ' . $iTransactionId);
45
+
46
+ $FluxHelper = Mage::helper('flux');
47
+ $isDigital = $FluxHelper->hasOrderDigitalItems($Order);
48
 
49
+ if( !empty($strPassword) && $isDigital )
50
  {
51
  $strResultCreate = Mage::helper('flux')->createShopUser($iTransactionId,
52
  $strEmail,
53
  $strPassword,
54
  false );
55
+ if( $strResultCreate == 'OK' )
56
  {
57
  // User erfolgreich neu angelegt, oder User mit gleichem Passwort bereits in Flux verfügbar
58
  }
86
  }
87
  }
88
 
89
+ if($isDigital)
90
+ {
91
+ $FluxHelper->createShopOrder($Order);
92
+ }
93
+
94
  }
95
 
96
  public function createFluxUser(Varien_Event_Observer $Observer)
141
  }
142
  }
143
 
144
+ public function flickrocket_sync(Varien_Event_Observer $Observer)
145
+ {
146
+ self::_log('flickrocket_sync');
147
+
148
+ //get input params
149
+ $request = Mage::app()->getFrontController()->getRequest();
150
+ $fr_email = $request->getParam('email');
151
+ $fr_new_email = $request->getParam('new_email');
152
+ $fr_old_pw_hash = $request->getParam('old_pw_hash');
153
+ $fr_new_pw_hash = $request->getParam('new_pw_hash');
154
+ $fr_pw_hash_type = $request->getParam('pw_hash_type');
155
+ $fr_signature = $request->getParam('signature');
156
+
157
+
158
+ if ($fr_pw_hash_type == "6" && self::flux_check_signature($fr_email, $fr_new_email, $fr_old_pw_hash, $fr_new_pw_hash, $fr_pw_hash_type, $fr_signature))
159
+ {
160
+ $success = false;
161
+
162
+ $customer = Mage::getModel("customer/customer");
163
+ $customer->setWebsiteId(Mage::app()->getWebsite()->getId());
164
+ $customer->loadByEmail($fr_email);
165
+
166
+ if($customer->getId())
167
+ {
168
+ if ($fr_new_email != "" && $fr_new_email != $fr_email)
169
+ {
170
+ //Store new email
171
+ $customer->setEmail($fr_new_email);
172
+ $success = true;
173
+ }
174
+ if ($fr_new_pw_hash != "")
175
+ {
176
+ //Store new password
177
+ $customer->setPassword($fr_new_pw_hash);
178
+ $success = true;
179
+ }
180
+ }
181
+ if ($success)
182
+ {
183
+ $customer->save();
184
+ $response = Mage::app()->getFrontController()->getResponse()
185
+ ->clearHeaders()
186
+ ->setHeader('HTTP/1.0', 200, true);
187
+ }
188
+ else
189
+ {
190
+ $response = Mage::app()->getFrontController()->getResponse()
191
+ ->clearHeaders()
192
+ ->setHeader('HTTP/1.0', 409, true);
193
+ }
194
+ }
195
+ else
196
+ {
197
+ $response = Mage::app()->getFrontController()->getResponse()
198
+ ->clearHeaders()
199
+ ->setHeader('HTTP/1.0', 405, true);
200
+ }
201
+ }
202
+
203
+ function flux_check_signature($fr_email, $fr_new_email, $fr_old_pw_hash, $fr_new_pw_hash, $fr_pw_hash_type, $fr_signature)
204
+ {
205
+ $returnval = false;
206
+
207
+ $fr_sync_secret = Mage::getStoreConfig('acegmbh_flux/sync/flux_syncsecret');
208
+ $fr_string_to_hash = $fr_sync_secret.":email=".$fr_email.":new_email=".$fr_new_email.":new_pw_hash=".$fr_new_pw_hash.":old_pw_hash=".$fr_old_pw_hash.":pw_hash_type=".$fr_pw_hash_type;
209
+ $fr_string_to_hash = utf8_encode ( $fr_string_to_hash);
210
+ $sha1 = sha1 ( $fr_string_to_hash );
211
+
212
+ if ($sha1 == $fr_signature) $returnval = true;
213
+
214
+ return $returnval;
215
+ }
216
+
217
  public function checkFluxUser(Varien_Event_Observer $Observer)
218
  {
219
  self::_log('checkFluxUser');
304
  if((count($segments)==2 && $segments[1]!="MD") || count($segments)==1)
305
  { $customer->setPassword($password);
306
  $customer->save();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
307
  }
308
  }
309
  return $this;
401
  $orderItem->setProductOptions($options);
402
  }
403
  }
404
+
405
+ public function setAllowedGuestCheckout(Varien_Event_Observer $observer)
406
+ {
407
+ $FluxHelper = Mage::helper('flux');
408
+ $isDidgital=$FluxHelper->isDidgital();
409
+ if($isDidgital)
410
+ { $result=$observer->getResult();
411
+ $result->setIsAllowed(false);
412
+ }
413
+
414
+ }
415
+
416
+ public function flickrocket_wait(Varien_Event_Observer $Observer)
417
+ {
418
+ self::_log('flickrocket_wait');
419
+
420
+ //get input params
421
+ $request = Mage::app()->getFrontController()->getRequest();
422
+ $fr_flickrocket_wait = htmlspecialchars($request->getParam('flickrocket_wait'));
423
 
424
+ if ($fr_flickrocket_wait != '')
425
+ {
426
+ $fr_flickrocket_wait = urldecode($fr_flickrocket_wait);
427
+ $response = Mage::app()->getFrontController()->getResponse();
428
+
429
+ $output_html = '
430
+ <!DOCTYPE html>
431
+ <html>
432
+ <head>
433
+ <style>
434
+ /* Center the loader */
435
+ #loader {
436
+ position: absolute;
437
+ left: 50%;
438
+ top: 50%;
439
+ z-index: 1;
440
+ width: 150px;
441
+ height: 150px;
442
+ margin: -75px 0 0 -75px;
443
+ border: 16px solid #f3f3f3;
444
+ border-radius: 50%;
445
+ border-top: 16px solid #3498db;
446
+ width: 60px;
447
+ height: 60px;
448
+ -webkit-animation: spin 2s linear infinite;
449
+ animation: spin 2s linear infinite;
450
+ }
451
+
452
+ @-webkit-keyframes spin {
453
+ 0% { -webkit-transform: rotate(0deg); }
454
+ 100% { -webkit-transform: rotate(360deg); }
455
+ }
456
+
457
+ @keyframes spin {
458
+ 0% { transform: rotate(0deg); }
459
+ 100% { transform: rotate(360deg); }
460
+ }
461
+
462
+ /* Add animation to "page content" */
463
+ .animate-bottom {
464
+ position: relative;
465
+ -webkit-animation-name: animatebottom;
466
+ -webkit-animation-duration: 1s;
467
+ animation-name: animatebottom;
468
+ animation-duration: 1s
469
+ }
470
+
471
+ @-webkit-keyframes animatebottom {
472
+ from { bottom:-100px; opacity:0 }
473
+ to { bottom:0px; opacity:1 }
474
+ }
475
+
476
+ @keyframes animatebottom {
477
+ from{ bottom:-100px; opacity:0 }
478
+ to{ bottom:0; opacity:1 }
479
+ }
480
+
481
+ #myDiv {
482
+ display: none;
483
+ text-align: center;
484
+ }
485
+ </style>
486
+ </head>
487
+ <body onload="myFunction()" style="margin:0;">
488
+
489
+ <div id="loader"></div>
490
+
491
+ <div style="display:none;" id="myDiv" class="animate-bottom">
492
+ <h2>Tada!</h2>
493
+ <p>Some text in my newly loaded page..</p>
494
+ </div>
495
+
496
+ <script>
497
+ var myVar;
498
+
499
+ function myFunction()
500
+ {
501
+ myVar = setTimeout(showPage, 300);
502
+ }
503
+
504
+ function showPage()
505
+ {
506
+ window.location.href = "'.$fr_flickrocket_wait.'";
507
+ }
508
+ </script>
509
+
510
+ </body>
511
+ </html>';
512
+
513
+ $response->clearBody();
514
+ $response->setBody($output_html);
515
+ $response->sendResponse();
516
+ exit;
517
+ }
518
+
519
+ }
520
  }
app/code/community/Acegmbh/Flux/Model/Observer/Config.php ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Acegmbh_Flux_Model_Observer_Config
3
+ {
4
+
5
+ protected $_groups=array();
6
+
7
+
8
+
9
+ public function validateAccountData($observer)
10
+ {
11
+ $object=$observer->getEvent()->getObject();
12
+
13
+
14
+ $section = $object->getSection();
15
+ if($section=='acegmbh_flux')
16
+ { $this->_groups=Mage::app()->getRequest()->getParam('groups');
17
+ $eMail=$this->_getUsername();
18
+ $password=$this->_getPassword();
19
+ $url=$this->_getUrl();
20
+ $themId=$this->_getThemeId();
21
+ try
22
+ {
23
+ $result=Mage::helper('flux')->checkAccount($url,$eMail, $password, $themId);
24
+ /*if($result!==true)
25
+ {
26
+ throw new Exception('Invalid account data.');
27
+ }*/
28
+ }
29
+ catch(Exception $e)
30
+ {
31
+
32
+ throw new Exception($e->getMessage());
33
+ }
34
+ }
35
+
36
+ }
37
+
38
+ protected function _getUsername()
39
+ {
40
+ if(isset($this->_groups['flux']['fields']['flux_email']['value']))
41
+ {
42
+ return $this->_groups['flux']['fields']['flux_email']['value'];
43
+ }
44
+ return null;
45
+ }
46
+
47
+ protected function _getPassword()
48
+ {
49
+ if(isset($this->_groups['flux']['fields']['flux_password']['value']))
50
+ {
51
+ return $this->_groups['flux']['fields']['flux_password']['value'];
52
+ }
53
+ return null;
54
+ }
55
+
56
+ protected function _getUrl()
57
+ {
58
+ if(isset($this->_groups['sandbox']['fields']['flux_wsdl']['value']))
59
+ {
60
+ return $this->_groups['sandbox']['fields']['flux_wsdl']['value'];
61
+ }
62
+ return null;
63
+ }
64
+
65
+ protected function _getThemeId()
66
+ {
67
+ if(isset($this->_groups['theme']['fields']['flux_theme_id']['value']))
68
+ {
69
+ return $this->_groups['theme']['fields']['flux_theme_id']['value'];
70
+ }
71
+ return null;
72
+ }
73
+
74
+ }
app/code/community/Acegmbh/Flux/Model/Observer/Template.php CHANGED
@@ -3,20 +3,92 @@ 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
  }
3
  {
4
 
5
  public function setTemplate(Varien_Event_Observer $observer)
6
+ { $request=Mage::app()->getRequest();
7
+
8
+ $action=$request->getActionName();
9
+ $controller=$request->getControllerName();
10
+ $module=$request->getModuleName();
11
+
12
+ if($module=="downloadable" && $controller=="customer" && $action=="products")
13
+ { $templateSet=false;
14
+ $content=$request->getParam("content");
15
+ $layout = $observer->getEvent()->getLayout();
16
+ if(empty($content))
17
+ {
18
+
19
+
20
+ $orders = Mage::getSingleton('flux/orders');
21
+ $lastItemPurchased=$orders->lastPurchasedItem();
22
+ if(empty($lastItemPurchased))
23
+ return ;
24
+
25
+ if($lastItemPurchased->link_url=='#')
26
+ {
27
+ $update = $layout->getUpdate();
28
+ $update->addHandle('flickRocket_only');
29
+ $templateSet=true;
30
+ }
31
+
32
+ if($lastItemPurchased->link_url!='#')
33
+ {
34
+ $update = $layout->getUpdate();
35
+ $update->addHandle('flickRocket_and_legacy');
36
+ $templateSet=true;
37
+ }
38
+ }
39
+
40
+ if($content=="2")
41
+ {
42
+ $update = $layout->getUpdate();
43
+ $update->addHandle('flickRocket_only');
44
+ $templateSet=true;
45
+
46
+ }
47
+
48
+ if($content=="1" || !$templateSet)
49
+ {
50
+ $update = $layout->getUpdate();
51
+ $update->addHandle('flickRocket_and_legacy');
52
+
53
+ }
54
+
55
+ }
56
  }
57
+
58
+
59
+ public function convertWizardButton($observer)
60
+ {
61
+ $form = $observer->getEvent()->getForm();
62
+ $projectWizard = $form->getElement('project_wizard');
63
+ if ($projectWizard) {
64
+ $projectWizard->setRenderer(
65
+ Mage::app()->getLayout()->createBlock('flux/adminhtml_product_widget_project_wizard_button')
66
+ ); //
67
+ }
68
+ }
69
+
70
+
71
+ public function projectOption($observer)
72
+ {
73
+ $form = $observer->getEvent()->getForm();
74
+ $projectId= $form->getElement('project_id');
75
+ if ($projectId) {
76
+ $projectId->setRenderer(
77
+ Mage::app()->getLayout()->createBlock('flux/adminhtml_product_widget_project_option')->setForm($form)
78
+ ); //
79
+ }
80
+ }
81
+
82
+ public function addJavascriptBlock($observer)
83
+ {
84
+ $controller = $observer->getAction();
85
+ if("adminhtml_catalog_product_edit"!=$controller->getFullActionName() &&
86
+ "adminhtml_catalog_product_new"!=$controller->getFullActionName() )
87
+ return;
88
+ $layout = $controller->getLayout();
89
+ $block = $layout->createBlock('adminhtml/template');
90
+ $block->setTemplate('flux/product/widget/project/js.phtml');
91
+ $layout->getBlock('js')->append($block);
92
+ }
93
+
94
  }
app/code/community/Acegmbh/Flux/Model/Orders.php CHANGED
@@ -17,4 +17,103 @@ class Acegmbh_Flux_Model_Orders
17
  parent::_construct();
18
  $this->_init('flux/orders');
19
  }
20
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  parent::_construct();
18
  $this->_init('flux/orders');
19
  }
20
+
21
+ public function getLegacyItems()
22
+ {
23
+ $session = Mage::getSingleton('customer/session');
24
+ if(!$session->isLoggedIn())
25
+ return null;
26
+ $purchased = Mage::getResourceModel('downloadable/link_purchased_collection')
27
+ ->addFieldToFilter('customer_id', $session->getCustomerId())
28
+ ->addOrder('created_at', 'desc');
29
+ $this->setPurchased($purchased);
30
+ $purchasedIds = array();
31
+ foreach ($purchased as $_item) {
32
+ $purchasedIds[] = $_item->getId();
33
+ }
34
+ if (empty($purchasedIds)) {
35
+ $purchasedIds = array(null);
36
+ }
37
+ $purchasedItems = Mage::getResourceModel('downloadable/link_purchased_item_collection')
38
+ ->addFieldToFilter('purchased_id', array('in' => $purchasedIds))
39
+ ->addFieldToFilter('status',
40
+ array(
41
+ 'nin' => array(
42
+ Mage_Downloadable_Model_Link_Purchased_Item::LINK_STATUS_PENDING_PAYMENT,
43
+ Mage_Downloadable_Model_Link_Purchased_Item::LINK_STATUS_PAYMENT_REVIEW
44
+ )
45
+ )
46
+ )
47
+ ->addFieldToFilter(array('link_url','link_url'), array(array('neq'=>'#'),array('null' => 'null')))
48
+ //->addFieldToFilter('link_type', array('eq'=>'file'))
49
+
50
+ ->setOrder('item_id', 'desc');
51
+ //echo $purchasedItems->getSelect();
52
+ return $purchasedItems;
53
+
54
+ }
55
+
56
+ public function getDigitalItems()
57
+ {
58
+ $session = Mage::getSingleton('customer/session');
59
+ if(!$session->isLoggedIn())
60
+ return null;
61
+ $purchased = Mage::getResourceModel('downloadable/link_purchased_collection')
62
+ ->addFieldToFilter('customer_id', $session->getCustomerId())
63
+ ->addOrder('created_at', 'desc');
64
+ $this->setPurchased($purchased);
65
+ $purchasedIds = array();
66
+ foreach ($purchased as $_item) {
67
+ $purchasedIds[] = $_item->getId();
68
+ }
69
+ if (empty($purchasedIds)) {
70
+ $purchasedIds = array(null);
71
+ }
72
+ $purchasedItems = Mage::getResourceModel('downloadable/link_purchased_item_collection')
73
+ ->addFieldToFilter('purchased_id', array('in' => $purchasedIds))
74
+ ->addFieldToFilter('status',
75
+ array(
76
+ 'nin' => array(
77
+ Mage_Downloadable_Model_Link_Purchased_Item::LINK_STATUS_PENDING_PAYMENT,
78
+ Mage_Downloadable_Model_Link_Purchased_Item::LINK_STATUS_PAYMENT_REVIEW
79
+ )
80
+ )
81
+ )
82
+ ->addFieldToFilter(array('link_url','link_url'), array(array('eq'=>'#'),array('notnull' => 'null')))
83
+ ->setOrder('item_id', 'desc');
84
+ //echo $purchasedItems->getSelect();
85
+ return $purchasedItems;
86
+ }
87
+
88
+
89
+ public function lastPurchasedItem()
90
+ {
91
+ $session = Mage::getSingleton('customer/session');
92
+ if(!$session->isLoggedIn())
93
+ return null;
94
+ $purchased = Mage::getResourceModel('downloadable/link_purchased_collection')
95
+ ->addFieldToFilter('customer_id', $session->getCustomerId())
96
+ ->addOrder('created_at', 'desc');
97
+ $this->setPurchased($purchased);
98
+ $purchasedIds = array();
99
+ foreach ($purchased as $_item) {
100
+ $purchasedIds[] = $_item->getId();
101
+ }
102
+ if (empty($purchasedIds)) {
103
+ $purchasedIds = array(null);
104
+ }
105
+ $purchasedItems = Mage::getResourceModel('downloadable/link_purchased_item_collection')
106
+ ->addFieldToFilter('purchased_id', array('in' => $purchasedIds))
107
+ ->addFieldToFilter('status',
108
+ array(
109
+ 'nin' => array(
110
+ Mage_Downloadable_Model_Link_Purchased_Item::LINK_STATUS_PENDING_PAYMENT,
111
+ Mage_Downloadable_Model_Link_Purchased_Item::LINK_STATUS_PAYMENT_REVIEW
112
+ )
113
+ )
114
+ )->getLastItem();
115
+
116
+ return $purchasedItems;
117
+ }
118
+
119
+ }
app/code/community/Acegmbh/Flux/controllers/Checkout/OnepageController.php CHANGED
@@ -46,10 +46,16 @@
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,
46
  //$strEmail = $data['email'];
47
  //$strPassword = $data['customer_password'];
48
  //$_SESSION['flux_customer_password'] = $strPassword;
49
+ $strResultCheck=null;
50
 
51
+ $FluxHelper = Mage::helper('flux');
52
+ $isDidgital=$FluxHelper->isDidgital();
53
+ if($isDidgital)
54
+ {
55
  $strResultCheck = Mage::helper('flux')->checkUserExists($strEmail,
56
  $strPassword,
57
  false);
58
+ }
59
  if( $strResultCheck=='PASSWORD_WRONG' )
60
  {
61
  $result = array('error' => 1,
app/code/community/Acegmbh/Flux/etc/adminhtml.xml CHANGED
@@ -1,5 +1,5 @@
1
  <config>
2
- <menu>
3
  <sales>
4
  <children>
5
  <flux module="flux">
@@ -27,7 +27,7 @@
27
  </flickrocket_upload>
28
  </children>
29
  </flickrocket>
30
- </menu>
31
  <acl>
32
  <resources>
33
  <admin>
1
  <config>
2
+ <!--menu>
3
  <sales>
4
  <children>
5
  <flux module="flux">
27
  </flickrocket_upload>
28
  </children>
29
  </flickrocket>
30
+ </menu-->
31
  <acl>
32
  <resources>
33
  <admin>
app/code/community/Acegmbh/Flux/etc/config.xml CHANGED
@@ -24,21 +24,49 @@
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>
43
  <translate>
44
  <modules>
@@ -129,6 +157,24 @@
129
  </flux>
130
  </helpers>
131
  <events>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  <checkout_onepage_controller_success_action>
133
  <observers>
134
  <Acegmbh_Flux>
@@ -177,6 +223,16 @@
177
  </observers>
178
  </customer_customer_authenticated>
179
 
 
 
 
 
 
 
 
 
 
 
180
  <adminhtml_sales_order_create_process_data_before>
181
  <observers>
182
  <Acegmbh_Flux>
@@ -196,10 +252,8 @@
196
  </Acegmbh_Flux>
197
  </observers>
198
  </controller_action_layout_load_before>
199
-
200
  </events>
201
-
202
- <catalog>
203
  <product>
204
  <type>
205
  <bundle translate="label" module="bundle">
@@ -210,10 +264,6 @@
210
  </type>
211
  </product>
212
  </catalog>
213
-
214
-
215
-
216
-
217
  </global>
218
  <default>
219
  <acegmbh_flux>
@@ -221,7 +271,7 @@
221
  <flux_theme_id>828</flux_theme_id>
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>
24
  </flux>
25
  </updates>
26
  </layout>
27
+ <events>
28
+ <checkout_submit_all_after>
29
+ <observers>
30
+ <Acegmbh_Flux>
31
+ <type>singleton</type>
32
+ <class>flux/observer</class>
33
+ <method>placeOrder</method>
34
+ </Acegmbh_Flux>
35
+ </observers>
36
+ </checkout_submit_all_after>
37
+
38
+ <adminhtml_catalog_product_edit_prepare_form>
39
+ <observers>
40
+ <Acegmbh_Flux>
41
+ <class>Acegmbh_Flux_Model_Observer_Template</class>
42
+ <method>convertWizardButton</method>
43
+ </Acegmbh_Flux>
44
+ <Project_Option>
45
+ <class>Acegmbh_Flux_Model_Observer_Template</class>
46
+ <method>projectOption</method>
47
+ </Project_Option>
48
+ </observers>
49
+ </adminhtml_catalog_product_edit_prepare_form>
50
+
51
+ <model_config_data_save_before>
52
+ <observers>
53
+ <Acegmbh_Flux>
54
+ <class>Acegmbh_Flux_Model_Observer_Config</class>
55
+ <method>validateAccountData</method>
56
+ </Acegmbh_Flux>
57
+ </observers>
58
+ </model_config_data_save_before>
59
+
60
+ <controller_action_layout_generate_blocks_after>
61
+ <observers>
62
+ <Acegmbh_Flux_Js>
63
+ <class>Acegmbh_Flux_Model_Observer_Template</class>
64
+ <method>addJavascriptBlock</method>
65
+ </Acegmbh_Flux_Js>
66
+ </observers>
67
+ </controller_action_layout_generate_blocks_after>
68
+ </events>
69
  </adminhtml>
 
70
  <frontend>
71
  <translate>
72
  <modules>
157
  </flux>
158
  </helpers>
159
  <events>
160
+ <controller_front_init_routers>
161
+ <observers>
162
+ <Acegmbh_Flux>
163
+ <type>singleton</type>
164
+ <class>flux/observer</class>
165
+ <method>flickrocket_sync</method>
166
+ </Acegmbh_Flux>
167
+ </observers>
168
+ </controller_front_init_routers>
169
+ <controller_front_init_routers>
170
+ <observers>
171
+ <Acegmbh_Flux>
172
+ <type>singleton</type>
173
+ <class>flux/observer</class>
174
+ <method>flickrocket_wait</method>
175
+ </Acegmbh_Flux>
176
+ </observers>
177
+ </controller_front_init_routers>
178
  <checkout_onepage_controller_success_action>
179
  <observers>
180
  <Acegmbh_Flux>
223
  </observers>
224
  </customer_customer_authenticated>
225
 
226
+ <checkout_allow_guest>
227
+ <observers>
228
+ <Acegmbh_Flux_Guest_Checkout>
229
+ <type>singleton</type>
230
+ <class>flux/observer</class>
231
+ <method>setAllowedGuestCheckout</method>
232
+ </Acegmbh_Flux_Guest_Checkout>
233
+ </observers>
234
+ </checkout_allow_guest>
235
+
236
  <adminhtml_sales_order_create_process_data_before>
237
  <observers>
238
  <Acegmbh_Flux>
252
  </Acegmbh_Flux>
253
  </observers>
254
  </controller_action_layout_load_before>
 
255
  </events>
256
+ <catalog>
 
257
  <product>
258
  <type>
259
  <bundle translate="label" module="bundle">
264
  </type>
265
  </product>
266
  </catalog>
 
 
 
 
267
  </global>
268
  <default>
269
  <acegmbh_flux>
271
  <flux_theme_id>828</flux_theme_id>
272
  <flux_email>sandbox@flickrocket.com</flux_email>
273
  <flux_password>sandbox1971</flux_password>
274
+ <flux_wsdl>https://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL</flux_wsdl>
275
  <flux_template>1</flux_template>
276
  </flux>
277
  </acegmbh_flux>
app/code/community/Acegmbh/Flux/etc/system.xml CHANGED
@@ -15,69 +15,133 @@
15
  <show_in_website>1</show_in_website>
16
  <show_in_store>1</show_in_store>
17
  <groups>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  <flux translate="label">
19
- <label>Configuration</label>
20
  <frontend_type>text</frontend_type>
21
  <sort_order>900</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
- <flux_theme_id translate="label,comment">
27
- <label>Theme ID</label>
28
- <frontend_type>text</frontend_type>
29
- <backend_model>acegmbh_flux/flux_config_demo</backend_model>
30
- <sort_order>1</sort_order>
31
  <show_in_default>1</show_in_default>
32
  <show_in_website>1</show_in_website>
33
  <show_in_store>1</show_in_store>
34
- <comment>Unique Theme ID (see FlickRocket -> Shop -> Themes)</comment>
35
- </flux_theme_id>
36
- <flux_email translate="label,comment">
37
  <label>Email Address</label>
38
  <frontend_type>text</frontend_type>
39
  <backend_model>acegmbh_flux/flux_config_demo</backend_model>
40
- <sort_order>2</sort_order>
41
  <show_in_default>1</show_in_default>
42
  <show_in_website>1</show_in_website>
43
  <show_in_store>1</show_in_store>
44
- <comment>Email of user registered with FlickRocket with Shop Management permission</comment>
45
  </flux_email>
46
  <flux_password translate="label,comment">
47
  <label>Password</label>
48
  <frontend_type>password</frontend_type>
49
  <backend_model>acegmbh_flux/flux_config_demo</backend_model>
50
- <sort_order>3</sort_order>
51
  <show_in_default>1</show_in_default>
52
  <show_in_website>1</show_in_website>
53
  <show_in_store>1</show_in_store>
54
  <comment>May be empty for generic sandbox environment</comment>
55
  </flux_password>
56
- <flux_wsdl translate="label,comment">
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>
82
  </acegmbh_flux>
83
  </sections>
15
  <show_in_website>1</show_in_website>
16
  <show_in_store>1</show_in_store>
17
  <groups>
18
+ <sandbox>
19
+ <label>Sandbox Settings</label>
20
+ <frontend_type>text</frontend_type>
21
+ <sort_order>930</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
+ <flux_sandboxlabel>
27
+ <label>Use this setting to switch between test mode and productive use.</label>
28
+ <frontend_type>label</frontend_type>
29
+ <sort_order>40</sort_order>
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
+ </flux_sandboxlabel>
34
+ <flux_wsdl translate="label,comment">
35
+ <label>Environment</label>
36
+ <frontend_type>select</frontend_type>
37
+ <backend_model>acegmbh_flux/flux_config_demo</backend_model>
38
+ <source_model>
39
+ acegmbh_flux/adminhtml_system_config_source_wsdlurls
40
+ </source_model>
41
+ <sort_order>41</sort_order>
42
+ <show_in_default>1</show_in_default>
43
+ <show_in_website>1</show_in_website>
44
+ <show_in_store>1</show_in_store>
45
+ <comment>Note that the sandbox system is frequently reset and any data is deleted.</comment>
46
+ </flux_wsdl>
47
+ </fields>
48
+ </sandbox>
49
  <flux translate="label">
50
+ <label>Account Settings</label>
51
  <frontend_type>text</frontend_type>
52
  <sort_order>900</sort_order>
53
  <show_in_default>1</show_in_default>
54
  <show_in_website>1</show_in_website>
55
  <show_in_store>1</show_in_store>
56
  <fields>
57
+ <flux_accountlabel>
58
+ <label>Enter your Flickrocket account data.</label>
59
+ <frontend_type>label</frontend_type>
60
+ <sort_order>10</sort_order>
 
61
  <show_in_default>1</show_in_default>
62
  <show_in_website>1</show_in_website>
63
  <show_in_store>1</show_in_store>
64
+ </flux_accountlabel>
65
+ <flux_email>
 
66
  <label>Email Address</label>
67
  <frontend_type>text</frontend_type>
68
  <backend_model>acegmbh_flux/flux_config_demo</backend_model>
69
+ <sort_order>11</sort_order>
70
  <show_in_default>1</show_in_default>
71
  <show_in_website>1</show_in_website>
72
  <show_in_store>1</show_in_store>
73
+ <comment>Email of registered FlickRocket shop owner with Shop Management permission</comment>
74
  </flux_email>
75
  <flux_password translate="label,comment">
76
  <label>Password</label>
77
  <frontend_type>password</frontend_type>
78
  <backend_model>acegmbh_flux/flux_config_demo</backend_model>
79
+ <sort_order>12</sort_order>
80
  <show_in_default>1</show_in_default>
81
  <show_in_website>1</show_in_website>
82
  <show_in_store>1</show_in_store>
83
  <comment>May be empty for generic sandbox environment</comment>
84
  </flux_password>
85
+ </fields>
86
+ </flux>
87
+ <theme>
88
+ <label>Theme Settings</label>
89
+ <frontend_type>text</frontend_type>
90
+ <sort_order>910</sort_order>
91
+ <show_in_default>1</show_in_default>
92
+ <show_in_website>1</show_in_website>
93
+ <show_in_store>1</show_in_store>
94
+ <fields>
95
+ <flux_themelabel>
96
+ <label>Select the theme to use for the design (player selection)</label>
97
+ <frontend_type>label</frontend_type>
98
+ <sort_order>20</sort_order>
99
+ <show_in_default>1</show_in_default>
100
+ <show_in_website>1</show_in_website>
101
+ <show_in_store>1</show_in_store>
102
+ </flux_themelabel>
103
+ <flux_theme_id translate="label,comment">
104
+ <label>Theme</label>
105
  <frontend_type>select</frontend_type>
106
  <backend_model>acegmbh_flux/flux_config_demo</backend_model>
107
+ <source_model>acegmbh_flux/adminhtml_system_config_source_themes</source_model>
108
+ <validate>required-entry</validate>
109
+ <sort_order>21</sort_order>
 
110
  <show_in_default>1</show_in_default>
111
  <show_in_website>1</show_in_website>
112
  <show_in_store>1</show_in_store>
113
+ <comment>Themes define the design and are managed in Flick Rocket.</comment>
114
+ </flux_theme_id>
115
+ </fields>
116
+ </theme>
117
+ <sync>
118
+ <label>Sync Settings</label>
119
+ <frontend_type>text</frontend_type>
120
+ <sort_order>920</sort_order>
121
+ <show_in_default>1</show_in_default>
122
+ <show_in_website>1</show_in_website>
123
+ <show_in_store>1</show_in_store>
124
+ <fields>
125
+ <flux_synclabel>
126
+ <label>Sync customer's email/password changes between Flickrocket and Magento</label>
127
+ <frontend_type>label</frontend_type>
128
+ <sort_order>30</sort_order>
129
  <show_in_default>1</show_in_default>
130
  <show_in_website>1</show_in_website>
131
  <show_in_store>1</show_in_store>
132
+ </flux_synclabel>
133
+ <flux_syncsecret>
134
+ <label>Sync secret</label>
135
+ <frontend_type>password</frontend_type>
136
+ <backend_model>acegmbh_flux/flux_config_demo</backend_model>
137
+ <sort_order>31</sort_order>
138
+ <show_in_default>1</show_in_default>
139
+ <show_in_website>1</show_in_website>
140
+ <show_in_store>1</show_in_store>
141
+ <comment>Enter the same value here and in the FlickRocket Magento App</comment>
142
+ </flux_syncsecret>
143
+ </fields>
144
+ </sync>
145
  </groups>
146
  </acegmbh_flux>
147
  </sections>
app/code/community/Acegmbh/Flux/sql/flux_setup/mysql4-upgrade-0.1.7-0.1.8.php ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $Setup = new Mage_Eav_Model_Entity_Setup('core_setup');
3
+ $Setup->startSetup();
4
+ $Setup->addAttributeSet(Mage_Catalog_Model_Product::ENTITY, 'FlickRocketProduct');
5
+ $iIdAttributeSet = $Setup->getAttributeSetId(Mage_Catalog_Model_Product::ENTITY, 'FlickRocketProduct');
6
+ $Setup->addAttribute('catalog_product', 'video_resolution',
7
+ array(
8
+ 'group' => 'FlickRocket Attributes',
9
+ 'input' => 'select',
10
+ 'type' => 'int',
11
+ 'label' => 'Video Resolution',
12
+ 'backend' => '',
13
+ 'visible' => 1,
14
+ 'required' => '0',
15
+ 'source' => 'acegmbh_flux/adminhtml_product_attribute_source_resolution',
16
+ 'user_defined' => 1,
17
+ 'searchable' => 0,
18
+ 'filterable' => 0,
19
+ 'comparable' => 0,
20
+ 'visible_on_front' => 0,
21
+ 'visible_in_advanced_search' => 0,
22
+ 'is_html_allowed_on_front' => 0,
23
+ 'note' => 'HD content can also be offered in SD quality',
24
+ 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
25
+ 'apply_to' => 'downloadable',
26
+ )
27
+ );
28
+
29
+ $Setup->updateAttribute('catalog_product', 'video_resolution', 'apply_to', 'downloadable');
30
+ $attributeId = $Setup->getAttribute('catalog_product','video_resolution');
31
+ $Setup->addAttributeToSet('catalog_product',
32
+ $iIdAttributeSet,
33
+ 'FlickRocket Attributes',
34
+ $attributeId['attribute_id']);
35
+ $Setup->updateAttribute('catalog_product', 'project_id', 'source_model', NULL);
36
+ $Setup->updateAttribute('catalog_product', 'project_id', 'note', 'Identifies the product in FlickRocket');
37
+ $Setup->updateAttribute('catalog_product', 'license_id', 'note', 'Select a license defining the DRM restrictions');
38
+ //acegmbh_flux/adminhtml_system_config_source_projectids
39
+ //////
40
+ $Setup->addAttributeSet(Mage_Catalog_Model_Product::ENTITY, 'FlickRocketProduct');
41
+ $iIdAttributeSet = $Setup->getAttributeSetId(Mage_Catalog_Model_Product::ENTITY, 'FlickRocketProduct');
42
+ $Setup->addAttribute('catalog_product', 'project_wizard',
43
+ array(
44
+ 'group' => 'FlickRocket Attributes',
45
+ 'input' => 'button',
46
+ 'type' => 'static',
47
+ 'label' => 'Project Wizard',
48
+ 'backend' => '',
49
+ 'visible' => 1,
50
+ 'required' => false,
51
+ 'user_defined' => 1,
52
+ 'searchable' => 0,
53
+ 'filterable' => 0,
54
+ 'comparable' => 0,
55
+ 'visible_on_front' => 0,
56
+ 'visible_in_advanced_search' => 0,
57
+ 'is_html_allowed_on_front' => 0,
58
+ 'note' => '',
59
+ 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
60
+ 'apply_to' => 'downloadable',
61
+ )
62
+ );
63
+
64
+ $Setup->updateAttribute('catalog_product', 'project_wizard', 'apply_to', 'downloadable');
65
+ $attributeId = $Setup->getAttribute('catalog_product','project_wizard');
66
+ $Setup->addAttributeToSet('catalog_product',
67
+ $iIdAttributeSet,
68
+ 'FlickRocket Attributes',
69
+ $attributeId['attribute_id']);
70
+
71
+ ///Remove From default Group
72
+
73
+ $iIdAttributeSet = $Setup->getAttributeSetId(Mage_Catalog_Model_Product::ENTITY, 'Default');
74
+ $Setup->removeAttributeGroup(Mage_Catalog_Model_Product::ENTITY, $iIdAttributeSet, 'FlickRocket Attributes');
75
+
76
+ $Setup->endSetup();
app/design/adminhtml/default/default/template/flux/admin.phtml CHANGED
@@ -26,7 +26,7 @@
26
  ?>
27
  <?php
28
 
29
- if ( Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl') == "http://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL"){
30
 
31
  $livemode = false;
32
  if ("" == Mage::getStoreConfig('acegmbh_flux/flux/flux_email')){
@@ -57,15 +57,4 @@ if ( Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl') == "http://sandbox.flic
57
 
58
  }
59
 
60
-
61
-
62
- if ($livemode){
63
- ?>
64
- <iframe src="https://www.flickrocket.com/App/Login.aspx?name=<?php echo $fluxUser;?>&password=<?php echo $fluxPW;?>&externaltype=1" width="100%" height="3000px">
65
- <?php
66
- } else{
67
- ?>
68
- <iframe src="https://sandbox.flickrocket.com/App/Login.aspx?name=<?php echo $fluxUser;?>&password=<?php echo $fluxPW;?>&externaltype=1" width="100%" height="3000px">
69
- <?php
70
- }
71
  ?>
26
  ?>
27
  <?php
28
 
29
+ if ( Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl') == "http://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL"){
30
 
31
  $livemode = false;
32
  if ("" == Mage::getStoreConfig('acegmbh_flux/flux/flux_email')){
57
 
58
  }
59
 
 
 
 
 
 
 
 
 
 
 
 
60
  ?>
app/design/adminhtml/default/default/template/flux/product/widget/project/js.phtml ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script type="text/javascript">
2
+
3
+ <?php $config=array();
4
+ $config["fluxDVD"][]=array("value"=>"0","text"=>$this->__("SD Quality"));
5
+ $config["fluxDVD_HD"][]=array("value"=>"0","text"=>$this->__("SD Quality"));
6
+ $config["fluxDVD_HD"][]=array("value"=>"1","text"=>$this->__("HD Quality"));
7
+ $config["ProjectCollection"][]=array("value"=>"0","text"=>$this->__("SD Quality"));
8
+ $config["ProjectCollection"][]=array("value"=>"1","text"=>$this->__("HD Quality"));
9
+
10
+ ?>
11
+
12
+ var contentConfig=<?php echo Mage::helper('core')->jsonEncode($config);?>
13
+
14
+ function setVideoResolution()
15
+ { var element = $('project_id');
16
+ var contentType=null;
17
+ var videoRes=$('video_resolution');
18
+ for(var i=0;i<element.options.length;i++){
19
+ if(element.options[i].selected){
20
+ contentType=element.options[i].readAttribute("data-contenttype");
21
+ }
22
+ }
23
+ if(contentConfig[contentType])
24
+ { videoRes.select('option').each(function(i){
25
+ i.remove();
26
+ });
27
+ var obj=contentConfig[contentType];
28
+ for(var i=0;i<obj.length;i++)
29
+ {
30
+ videoRes.insert(new Element('option', {value: obj[i].value}).update(obj[i].text));
31
+ }
32
+ $('video_resolution').up(1).show();
33
+ }
34
+ else
35
+ { videoRes.select('option').each(function(i){
36
+ i.remove();
37
+ });
38
+ videoRes.insert(new Element('option', {value: '0'}).update('<?php echo $this->__("SD Quality")?>'));
39
+ $('video_resolution').up(1).hide();
40
+ }
41
+ }
42
+ function onloadVideoResolution()
43
+ {
44
+ var element = $('project_id');
45
+ var contentType=null;
46
+ var videoRes=$('video_resolution');
47
+ for(var i=0;i<element.options.length;i++){
48
+ if(element.options[i].selected){
49
+ contentType=element.options[i].readAttribute("data-contenttype");
50
+ }
51
+ }
52
+ if(!contentConfig[contentType])
53
+ {
54
+ $('video_resolution').up(1).hide();
55
+ }
56
+
57
+ }
58
+ Event.observe(document,"dom:loaded",onloadVideoResolution);
59
+
60
+ $('project_id').observe('change', setVideoResolution, false);
61
+ </script>
app/design/adminhtml/default/default/template/flux/product/widget/project/option.phtml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <tr>
2
+ <td class="label"><label for="project_id"><?php echo $this->__('Product')?> <span class="required">*</span></label></td>
3
+ <td class="value">
4
+ <?php $value=$this->getForm()->getElement('project_id')->getValue()?>
5
+ <?php $projects=$this->getProjects(); ?>
6
+ <select class=" required-entry required-entry select" name="product[project_id]" id="project_id">
7
+ <?php foreach($projects as $project) { ?>
8
+ <option <?php echo ($value==$project->LongProjectID)?'selected="selected"':''?> value="<?php echo $project->LongProjectID ?>" data-contenttype="<?php echo $project->ContentType?>"><?php echo $project->Name?></option>
9
+ <?php } ?>
10
+ </select>
11
+ <p class="note">
12
+ <?php echo $this->__("Identifies the product in FlickRocket");?>
13
+ </p>
14
+ </td>
15
+ </tr>
app/design/adminhtml/default/default/template/flux/product/widget/project/wizard/button.phtml ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $fluxPW =null;
3
+ $fluxUser=null;
4
+ $fluxURL ='#';
5
+
6
+ if ( Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl') == "https://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL"){
7
+
8
+ $livemode = false;
9
+ if ("" == Mage::getStoreConfig('acegmbh_flux/flux/flux_email')){
10
+
11
+ $fluxUser = "sandbox@flickrocket.com";
12
+
13
+ } else {
14
+
15
+ $fluxUser = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
16
+
17
+ }
18
+
19
+ if ("" == Mage::getStoreConfig('acegmbh_flux/flux/flux_password')){
20
+
21
+ $fluxPW = "sandbox1971";
22
+
23
+ } else {
24
+
25
+ $fluxPW = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
26
+
27
+ }
28
+
29
+ $fluxURL = "https://sandbox.flickrocket.com/FlickRocketContentTools/?name=" . $fluxUser . "&password=" . $fluxPW . "&theme=1&type=1";
30
+
31
+ } else {
32
+
33
+ $livemode = true;
34
+ $fluxUser = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
35
+ $fluxPW = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
36
+ $fluxURL = "https://www.flickrocket.com/FlickRocketContentTools/?name=" . $fluxUser . "&password=" . $fluxPW . "&theme=1&type=1";
37
+
38
+ }
39
+ ?>
40
+ <tr>
41
+ <td class="label"><label for="project_wizard"><?php echo $this->__('Product Wizard')?></label></td>
42
+ <td class="value">
43
+ <button class="scalable add" type="button" title="<?php echo $this->__('Product Wizard')?>" onclick='window.open("https://contenttools.flickrocket.com", "FlickRocket", "left=10,top=10,width=700,height=518,toolbar=0,resizable=1");' id="project_wizard"><span><span><span><?php echo $this->__('Product Wizard')?></span></span></span></button> <p class="note">
44
+ <?php echo $this->__('Alternatively you can use the FlickRocket Content Tools for desktop <a href="%s">Windows</a> / <a href="%s">MacOSX</a>',"https://admin.flickrocket.com/download_components.aspx?component=FlickRocket%20Content%20Tools%20(Win)","https://admin.flickrocket.com/download_components.aspx?component=FlickRocket%20Content%20Tools%20(Mac)")?>
45
+
46
+ </p></td>
47
+ </tr>
app/design/adminhtml/default/default/template/flux/upload.phtml CHANGED
@@ -26,7 +26,7 @@
26
  ?>
27
  <?php
28
 
29
- if ( Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl') == "http://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL"){
30
 
31
  $livemode = false;
32
  if ("" == Mage::getStoreConfig('acegmbh_flux/flux/flux_email')){
@@ -49,14 +49,14 @@ if ( Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl') == "http://sandbox.flic
49
 
50
  }
51
 
52
- $fluxURL = "https://sandbox.flickrocket.com/FlickRocketContentTools/?name=" . $fluxUser . "&password=" . $fluxPW . "&theme=1&type=1";
53
 
54
  } else {
55
 
56
  $livemode = true;
57
  $fluxUser = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
58
  $fluxPW = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
59
- $fluxURL = "https://www.flickrocket.com/FlickRocketContentTools/?name=" . $fluxUser . "&password=" . $fluxPW . "&theme=1&type=1";
60
 
61
  }
62
 
@@ -76,9 +76,9 @@ if ( Mage::getStoreConfig('acegmbh_flux/flux/flux_wsdl') == "http://sandbox.flic
76
  <p><h3><?php echo Mage::helper('flux')->__('Content can be uploaded by using one of the following options:');?></h3></p>
77
  <br />
78
 
79
- <a href="<?php echo $fluxURL;?>&externaltype=1&theme=" . Mage::getStoreConfig('acegmbh_flux/flux/flux_theme_id')" onclick="return popup(this.href)"><img src="<?php echo $this->getSkinUrl('images/flux/CloudIcon_Html5.png') ?>" alt="Html5"></a>
80
  <p><h4><?php echo Mage::helper('flux')->__('Web based uploader');?></h4></p>
81
 
82
- <a href="http://www.flickrocket.com/app/download_components.aspx?name=<?php echo $fluxUser; ?>&password=<?php echo $fluxPW ; ?>&component=FlickRocket" onclick="popup(this.href)"><img style="padding:5px;" src="<?php echo $this->getSkinUrl('images/flux/CloudIcon_Win.png') ?>" alt="Windows"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.flickrocket.com/app/download_components.aspx?name=<?php echo $fluxUser; ?>&password=<?php echo $fluxPW ; ?>&component=FlickRocket" onclick="popup(this.href)"><img style="padding:5px;" src="<?php echo $this->getSkinUrl('images/flux/CloudIcon_Apple.png') ?>" alt="Mac"></a>
83
  <p><h4><?php echo Mage::helper('flux')->__('Download desktop software (Windows / MacOSX)');?></h4></p>
84
  </div>
26
  ?>
27
  <?php
28
 
29
+ if ( Mage::getStoreConfig('acegmbh_flux/sandbox/flux_wsdl') == "https://sandbox.flickrocket.com/services/OnDemandOrder/Service.asmx?WSDL"){
30
 
31
  $livemode = false;
32
  if ("" == Mage::getStoreConfig('acegmbh_flux/flux/flux_email')){
49
 
50
  }
51
 
52
+ $fluxURL = "https://contenttools.flickrocket.com";
53
 
54
  } else {
55
 
56
  $livemode = true;
57
  $fluxUser = Mage::getStoreConfig('acegmbh_flux/flux/flux_email');
58
  $fluxPW = Mage::getStoreConfig('acegmbh_flux/flux/flux_password');
59
+ $fluxURL = "https://contenttools.flickrocket.com";
60
 
61
  }
62
 
76
  <p><h3><?php echo Mage::helper('flux')->__('Content can be uploaded by using one of the following options:');?></h3></p>
77
  <br />
78
 
79
+ <a href="https://contenttools.flickrocket.com" onclick="return popup(this.href)"><img src="<?php echo $this->getSkinUrl('images/flux/CloudIcon_Html5.png') ?>" alt="Html5"></a>
80
  <p><h4><?php echo Mage::helper('flux')->__('Web based uploader');?></h4></p>
81
 
82
+ <a href="https://admin.flickrocket.com/download_components.aspx?component=FlickRocket%20Content%20Tools%20(Win)" onclick="popup(this.href)"><img style="padding:5px;" src="<?php echo $this->getSkinUrl('images/flux/CloudIcon_Win.png') ?>" alt="Windows"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://admin.flickrocket.com/download_components.aspx?component=FlickRocket%20Content%20Tools%20(Mac)" onclick="popup(this.href)"><img style="padding:5px;" src="<?php echo $this->getSkinUrl('images/flux/CloudIcon_Apple.png') ?>" alt="Mac"></a>
83
  <p><h4><?php echo Mage::helper('flux')->__('Download desktop software (Windows / MacOSX)');?></h4></p>
84
  </div>
app/design/frontend/base/default/template/flux/dlmanagerlinks.phtml CHANGED
@@ -28,25 +28,38 @@
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
@@ -59,38 +72,38 @@ else
59
  }
60
 
61
  $Customer = Mage::getModel('customer/customer')->load(Mage::getSingleton('customer/session')->getId());
62
- $url=Mage::helper('flux')->prepareLoginEx( $Customer->getEmail(),$Customer->getPasswordHash());
63
- $targetURL = $url. "&externaltype=1&theme=" . Mage::getStoreConfig('acegmbh_flux/flux/flux_theme_id');
64
- $targetScheme = parse_url($targetURL, PHP_URL_SCHEME);
65
- if (is_null($targetScheme))
66
- {
67
- $scheme = "http";
68
- $host = parse_url($scheme . "://" . $targetURL, PHP_URL_HOST);
69
- if (endsWith($host, ".flickrocket.com", false))
70
- $scheme .= "s";
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.');
92
 
93
- ?>
94
  <ul class="messages"><li class="error-msg"><ul><li><span><?php echo $error?></span></li></ul></li></ul>
95
  <?php
96
  }
28
  /**
29
  * @see Mage_Downloadable_Block_Customer_Products_List
30
  */
31
+ //$template=Mage::getStoreConfig('acegmbh_flux/flux/flux_template');
32
+ $orders = Mage::getSingleton('flux/orders');
33
+ $legacyItems=$orders->getLegacyItems();
34
+ //$digitalItems=$this->getDigitalItems();
35
+
36
+ $lastItemPurchased=$orders->lastPurchasedItem();
37
+
38
+ if(isset($lastItemPurchased->link_url) && $lastItemPurchased->link_url!='#')
39
+ {
40
  ?>
41
  <div class="page-title title-buttons">
42
  <h1><?php echo $this->__('Digital Content') ?></h1>
43
+ <?php
44
+ if(count($legacyItems)>0)
45
+ { ?>
46
+ <button class="button" onclick="setLocation('<?php echo $this->getUrl('*/*/*',array("content"=>"1")) //$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>
47
+ <?php } ?>
48
  <!--button class="button disabled" title="<?php echo $this->__('Access Digital Content')?>" type="button"><span><span><?php echo $this->__('Access Digital Content')?></span></span></button -->
49
 
50
  </div>
51
  <?php
52
  }
53
  else
54
+ { ?>
55
 
56
+ <div class="page-title title-buttons">
57
+ <h1><?php echo $this->__('Digital Content') ?></h1>
58
+ <?php
59
+ if(count($legacyItems)>0)
60
+ { ?>
61
+ <button class="button" onclick="setLocation('<?php echo $this->getUrl('*/*/*',array("content"=>"1")) //$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>
62
+ <?php } ?>
63
  </div>
64
 
65
  <?php
72
  }
73
 
74
  $Customer = Mage::getModel('customer/customer')->load(Mage::getSingleton('customer/session')->getId());
75
+ $my_email = $Customer->getEmail();
76
+ //$my_pass = $Customer->getPasswordHash();
77
+ $my_pass = Mage::helper('flux')->getFluxCustomerPassword();
78
+ $url=Mage::helper('flux')->prepareLoginEx( $my_email,$my_pass);
79
+
80
+ if($url != 'SOAP_EXCEPTION' && $url != -1 && $url != -2 && $url != -3 && $url != -4 && $url != -5 )
 
 
 
 
 
 
 
 
81
  {
82
+ $targetScheme = parse_url($url, PHP_URL_SCHEME);
83
+ if (is_null($targetScheme))
84
+ {
85
+ $url = "//".$url; //use existing protocol
86
+ }
87
+
88
+ $targetURL = Mage::getBaseUrl().'?flickrocket_wait='.urlencode($url);
89
+
90
+ echo "<iframe src=\"" . $targetURL . "\" frameBorder=\"0\" width=\"100%\" height=\"460px\"></iframe>";
91
  }
92
+ elseif($url == -4)
93
  {
94
+ $error=$this->__('You do not have digital content.');
95
  echo '<p class="note-msg">'.$error.'</p>';
96
  }
97
+ elseif($url == -5)
98
  {
99
  $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'));
100
  echo '<p class="note-msg">'.$error.'</p>';
101
  }
102
  else
103
+ {
104
+ $error=Mage::helper('flux')->getErrorMessage( $url);
105
 
106
+ ?>
107
  <ul class="messages"><li class="error-msg"><ul><li><span><?php echo $error?></span></li></ul></li></ul>
108
  <?php
109
  }
app/design/frontend/base/default/template/flux/list.phtml CHANGED
@@ -28,12 +28,13 @@
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
  }
@@ -46,9 +47,12 @@ else
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
 
28
  /**
29
  * @see Mage_Downloadable_Block_Customer_Products_List
30
  */
 
 
31
 
32
+ //$cookie = Mage::getSingleton('core/cookie');
33
+ //$option=$cookie->get('downloadoption');
34
+ $option=Mage::app()->getRequest()->getParam("content","1");
35
  if($option=="2")
36
  {
37
+
38
  echo $this->getLayout()->createBlock('core/template')->setTemplate('flux/dlmanagerlinks.phtml')->toHtml();
39
 
40
  }
47
  <h1><?php echo Mage::helper('downloadable')->__('My Downloadable Products') ?></h1>
48
 
49
  <!--button class="button disabled" title="<?php echo $this->__('Legacy File Download')?>" type="button"><span><span><?php echo $this->__('Legacy File Download')?></span></span></button -->
50
+ <?php $digitalItems=$this->getDigitalItems();
51
+ if(count($digitalItems))
52
+ {
53
+ ?>
54
+ <button class="button" onclick="setLocation('<?php echo $this->getUrl('*/*/*',array("content"=>"2")) //$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>
55
+ <?php } ?>
56
  </div>
57
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
58
 
app/design/frontend/base/default/template/flux/list_new.phtml ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ $orders = Mage::getSingleton('flux/orders');
34
+ $legacyItems=$this->getItems();
35
+ $digitalItems=$this->getDigitalItems();
36
+ if(count($digitalItems)>0)
37
+ {
38
+
39
+ echo $this->getLayout()->createBlock('core/template')
40
+ ->setItems($legacyItems)->setDigitalItems($digitalItems)
41
+ ->setTemplate('flux/dlmanagerlinks.phtml')->toHtml();
42
+
43
+ }
44
+ else
45
+ //if(count($legacyItems)>0)
46
+ {
47
+ ?>
48
+ <?php $_items = $legacyItems; ?>
49
+
50
+ <div class="page-title title-buttons">
51
+ <h1><?php echo Mage::helper('downloadable')->__('My Downloadable Products') ?></h1>
52
+
53
+ <!--button class="button disabled" title="<?php echo $this->__('Legacy File Download')?>" type="button"><span><span><?php echo $this->__('Legacy File Download')?></span></span></button -->
54
+ <?php if(count($digitalItems)>0) { ?>
55
+ <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>
56
+ <?php } ?>
57
+ </div>
58
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
59
+
60
+ <?php echo $this->getChildHtml('pager'); ?>
61
+ <?php if(count($_items)): ?>
62
+ <table class="data-table" id="my-downloadable-products-table">
63
+ <col width="1" />
64
+ <col width="1" />
65
+ <col />
66
+ <col width="1" />
67
+ <col width="1" />
68
+ <thead>
69
+ <tr>
70
+ <th><?php echo Mage::helper('downloadable')->__('Order #') ?></th>
71
+ <th><?php echo Mage::helper('downloadable')->__('Date') ?></th>
72
+ <th><?php echo Mage::helper('downloadable')->__('Title') ?></th>
73
+ <th><?php echo Mage::helper('downloadable')->__('Status') ?></th>
74
+ <th><span class="nobr"><?php echo Mage::helper('downloadable')->__('Remaining Downloads') ?></span></th>
75
+ </tr>
76
+ </thead>
77
+ <tbody>
78
+ <?php $_odd = ''; ?>
79
+ <?php foreach ($_items as $_item): ?>
80
+ <tr>
81
+ <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>
82
+ <td><span class="nobr"><?php echo $this->formatDate($_item->getPurchased()->getCreatedAt()) ?></span></td>
83
+ <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>
84
+ <td><em><?php echo Mage::helper('downloadable')->__(ucfirst($_item->getStatus())) ?></em></td>
85
+ <td><?php echo $this->getRemainingDownloads($_item) ?></td>
86
+ </tr>
87
+ <?php endforeach; ?>
88
+ </tbody>
89
+ </table>
90
+ <script type="text/javascript">decorateTable('my-downloadable-products-table')</script>
91
+ <?php else: ?>
92
+ <p><?php echo Mage::helper('downloadable')->__('You have not purchased any downloadable products yet.'); ?></p>
93
+ <?php endif; ?>
94
+ <?php echo $this->getChildHtml('pager'); ?>
95
+ <div class="buttons-set">
96
+ <p class="back-link"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><small>&laquo; </small><?php echo $this->__('Back') ?></a></p>
97
+ </div>
98
+ <?php
99
+ }
100
+ ?>
package.xml CHANGED
@@ -1,7 +1,7 @@
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,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-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>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Flickrocket</name>
4
+ <version>1.2.0</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>2015-01-15</date>
17
+ <time>10:47:52</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 name="Product"><dir name="Widget"><dir name="Project"><file name="Option.php" hash="0697b5cb2fac1fc79d0275ba49b5efdc"/><dir name="Wizard"><file name="Button.php" hash="417befdf171215f759b195c6c3eabab8"/></dir></dir></dir></dir></dir><dir name="Customer"><dir name="Products"><file name="List.php" hash="b8c87e7aab4af3b82e9b1cb733615452"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="119e402202e776effcf73c62ecbff3bb"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="Product"><dir name="Attribute"><dir name="Source"><file name="Resolution.php" hash="8c7f84a921596fa5639e25a24c092251"/></dir></dir></dir><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="Themes.php" hash="1cdebec574fb93c62e6c0534491b3c29"/><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="Config.php" hash="57149485b5a1ec5a4d64553a2bbd101e"/><file name="Order.php" hash="fad67ceb9b78e59efd29cc05cd81163d"/><file name="Template.php" hash="56eba022c82b0dedb9323a366ede8ba4"/></dir><file name="Observer.php" hash="27cb68ba7b5e48e03305577a9f4e2814"/><file name="Orders.php" hash="b354ed48796727fae856e0f89ed90444"/><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="84b0ae6c407be47fe09366a269ac240b"/></dir><file name="RedirectController.php" hash="bd75bbe5ca5a170a839e276e54c3391d"/></dir><dir name="etc"><file name="adminhtml.xml" hash="4b341339504f22b746b9af1b9e612f13"/><file name="config.xml" hash="b91f83e951ae7b89a3a23784db8f09d4"/><file name="system.xml" hash="f47057cd127be2441b15756494bb4242"/></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"/><file name="mysql4-upgrade-0.1.7-0.1.8.php" hash="7af7b605517e5784204b9ba521ff2068"/></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="a4fb8942185e622165f8ee6d9d8f0d19"/><file name="list.phtml" hash="cf1f596ae0070fa27efbd10f7b6a46f2"/><file name="list_new.phtml" hash="0601068e21098e34306f4b6425598411"/></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"/><dir name="product"><dir name="widget"><dir name="project"><file name="js.phtml" hash="2ffdf2d392018a8d3a9b9179d6fc2edb"/><file name="option.phtml" hash="f4fe24db0470da9feb815f9afa4bcb69"/><dir name="wizard"><file name="button.phtml" hash="d6baf06f11f5be8d1e7a73dd3d7f0af4"/></dir></dir></dir></dir><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>