PageRenderTime 55ms CodeModel.GetById 29ms RepoModel.GetById 0ms app.codeStats 0ms

/www/shop/engine/Shopware/Plugins/Default/Backend/HeidelActions/Bootstrap.php

https://bitbucket.org/weberlars/sot-shopware
PHP | 473 lines | 334 code | 43 blank | 96 comment | 12 complexity | 8dc96b350bbb315781c513ec362f05c7 MD5 | raw file
Possible License(s): AGPL-3.0, MIT, BSD-3-Clause, LGPL-2.1, LGPL-3.0
  1. <?php
  2. /**
  3. * Heidelpay
  4. *
  5. * @link http://www.heidelpay.de
  6. * @copyright Copyright (c) 2011, Heidelberger Payment AG
  7. * @author Tobias Eilers
  8. * @package Shopware
  9. * @subpackage Plugins
  10. */
  11. class Shopware_Plugins_Backend_HeidelActions_Bootstrap extends Shopware_Components_Plugin_Bootstrap
  12. {
  13. private static $_moduleDesc = 'HeidelActions';
  14. var $version = "12.08" ;
  15. var $modulType = "Standard" ;
  16. public function getInfo() {
  17. $img = base64_encode(file_get_contents(dirname(__FILE__) . '/img/heidelpay.png'));
  18. return array(
  19. 'version' => $this->version ,
  20. 'autor' => 'Heidelberger Payment GmbH',
  21. 'label' => "Heidelpay Actions ".$this->modulType ,
  22. 'source' => "Community",
  23. 'description' => '<p><img src="data:image/png;base64,' . $img . '" /></p> <p style="font-size:12px; font-weight: bold;">Heidelberger Payment GmbH - Ihr Full Service Payment Provider - alles aus einer Hand <p></p> <p style="font-size:12px">Die Heidelberger Payment GmbH kurz: heidelpay bietet als BaFin-zertifizierter Payment Service Provider alles was zum Online-Payment geh&ouml;rt.<br><br><a href="http://testshops.heidelpay.de/contactform/?campaign=shopware4.0&shop=shopware4.0" target="_blank" style="font-size: 12px; color: #000; font-weight: bold;">&gt;&gt;&gt; Informationen anfordern &lt;&lt;&lt;</a><br/><p><br /> <p style="font-size:12px">Das Leistungsspektrum des PCI DSS zertifizierten Unternehmens reicht von weltweiten e-Payment L&ouml;sungen, inklusive eines vollst&auml;ndigen Debitorenmanagement-, Risk- und Fraud- Systems bis hin zu einem breiten Angebot alternativer Bezahlverfahren - schnell, sicher, einfach und umfassend - alles aus einer Hand.</p><br/> <a href="http://www.heidelpay.de" style="font-size: 12px; color: #000; font-weight: bold;">www.heidelpay.de</a><br/> <br/> <p style="font-size: 12px; color: #f00"; font-weight: bold;">Hinweis:</p><p style="font-size:12px">Um unser "Heidelpay Actions Standard" Plug-in nutzen zu k&ouml;nnen, beantragen Sie bitte die Aufschaltung von push Benachrichtigungen bei unserem Technischen Support. Wenden Sie sich hierf&uuml;r bitte per email an technik@heidelpay.de oder Telefon +49 (0) 6221 65170-10 an uns. Bitte notieren Sie sich Sie sich vorher die URL ihres e-Shops plus dem Webpfad zur Heidelpay Action und teilen Sie uns diese dann mit, als Beispiel<br/><br/> <b>https://www.meinshop.de/payment_heidelpay/rawnotify</b></p>',
  24. 'license' => 'commercial',
  25. 'copyright' => 'Copyright © 2012, Heidelberger Payment GmbH',
  26. 'support' => 'technik@heidelpay.de',
  27. 'link' => 'http://www.heidelpay.de/'
  28. );
  29. }/*}*/
  30. /**
  31. * Install plugin method
  32. *
  33. * @return bool
  34. */
  35. public function install()
  36. {
  37. $plugins = array("HeidelPayment");
  38. if (!$this->assertRequiredPluginsPresent($plugins)){
  39. $this->Logging("This plugin requires the plugin HeidelPaymentt","ERROR");
  40. $this->uninstall();
  41. throw new Enlight_Exception("Dieses Plugin benoetigt das Plugin HeidelPayment<br />This plugin requires the plugin payment");
  42. }
  43. if (ini_get('always_populate_raw_post_data') == 0) {
  44. $this->Logging("Unable to install plugin due to missing always_populate_raw_post_data.","ERROR");
  45. throw new Enlight_Exception('
  46. DE:<br />
  47. Dieses Plugin benoetig die PHP Einstellung "alwasy_populate_raw_post_data". Bitte setzen Sie diese auf "On". Sollten
  48. Sie weitere Informationen benoetigen, schreiben Sie bitte eine E-Mail an technik@heidelpay.de .
  49. <br/>
  50. <br/>
  51. EN:<br/>
  52. This Plugin needs the php setting "always_populate_raw_post_data". Please switch it to "On".
  53. If you need more information please send an email to technik@heidelpay.de.'
  54. );
  55. };
  56. $this->createEvents();
  57. $this->createTable();
  58. $this->addsnippets();
  59. return true;
  60. }
  61. /**
  62. * Uninstall plugin method
  63. *
  64. * @return bool
  65. */
  66. public function uninstall()
  67. {
  68. $this->deleteConfig();
  69. $this->deleteForm();
  70. # Eintrag aus s_core_menu l?schen
  71. try {
  72. Shopware()->Db()->exec(" DELETE FROM `s_core_menu` WHERE `pluginID` = '". $this->getId()."'");
  73. $this->Logging('* delete menu entry successfull', 'INFO');
  74. }
  75. catch(Exception $e) {
  76. $this->Logging('* delete menu entry failed: '.$e->getMessage(),'ERROR');
  77. }
  78. # Eintrag aus s_core_plugins l?schen
  79. try {
  80. Shopware()->Db()->exec(" DELETE FROM `s_core_plugins` WHERE `id` = '". $this->getId()."'");
  81. $this->Logging('* delete plugin entry successfull', 'INFO');
  82. }
  83. catch(Exception $e) {
  84. $this->Logging('* delete plugin entry failed: '.$e->getMessage(),'ERROR');
  85. }
  86. /*
  87. try {
  88. Shopware()->Db()->exec(" DELETE FROM `s_core_paymentmeans` WHERE `pluginID` = '". $this->getId()."'");
  89. $this->Logging('* delete paymentypes successfull', 'INFO');
  90. }
  91. catch(Exception $e) {
  92. $this->Logging('* delete paymenttypes failed: '.$e->getMessage(),'ERROR');
  93. }
  94. */
  95. $this->Logging('uninstall HeidelActions '.$this->modulType.' Modul', 'INFO');
  96. return true;
  97. }/*}*/
  98. protected function createEvents()
  99. {
  100. // Wird es erst in 4.1 geben
  101. /*
  102. // Heidelpay Einstellungen
  103. $event = $this->createEvent(
  104. 'Enlight_Controller_Dispatcher_ControllerPath_Backend_HeidelActions',
  105. 'onGetControllerPathBackend'
  106. );
  107. $this->subscribeEvent($event);
  108. $parent = $this->Menu()->findOneBy('label', 'Einstellungen');
  109. $item = $this->createMenuItem(array(
  110. 'label' => 'Heidelpay Einstellungen',
  111. 'onclick' => 'openAction(\'HeidelActions\');',
  112. 'class' => 'sprite-credit-cards',
  113. 'active' => 1,
  114. 'parent' => $parent,
  115. 'style' => 'background-position: 5px 5px;'
  116. ));
  117. $this->Menu()->addItem($item);
  118. $this->Menu()->save();
  119. */
  120. // Heidelpay Kontaktform
  121. $event = $this->createEvent(
  122. 'Enlight_Controller_Dispatcher_ControllerPath_Backend_HeidelContact',
  123. 'onHeidelContact'
  124. );
  125. $this->subscribeEvent($event);
  126. $parent = $this->Menu()->findOneBy('label', '');
  127. $item = $this->createMenuItem(array(
  128. 'label' => 'Heidelpay Info anfordern',
  129. 'onclick' => 'openAction(\'HeidelContact\');',
  130. 'class' => 'sprite-credit-cards',
  131. 'active' => 1,
  132. 'parent' => $parent,
  133. 'style' => 'background-position: 5px 5px;'
  134. ));
  135. $this->Menu()->addItem($item);
  136. $this->Menu()->save();
  137. // Heidelpay Buchungsinfos
  138. $event = $this->createEvent(
  139. 'Enlight_Controller_Dispatcher_ControllerPath_Backend_HeidelBooking',
  140. 'onHeidelBooking'
  141. );
  142. $this->subscribeEvent($event);
  143. $this->subscribeEvent(
  144. 'Enlight_Controller_Action_Init_Backend_Order',
  145. 'onPreDispatch'
  146. );
  147. }
  148. public static function onHeidelBooking(Enlight_Event_EventArgs $args)
  149. {
  150. return dirname(__FILE__).'/HeidelBooking.php';
  151. }
  152. public static function onHeidelContact(Enlight_Event_EventArgs $args)
  153. {
  154. return dirname(__FILE__).'/HeidelContact.php';
  155. }
  156. public static function onGetControllerPathBackend(Enlight_Event_EventArgs $args)
  157. {
  158. return dirname(__FILE__).'/HeidelActions.php';
  159. }
  160. /**
  161. * Create payment table
  162. */
  163. protected function createTable()
  164. {
  165. # set up config table
  166. $sql='CREATE TABLE IF NOT EXISTS `s_plugin_heidelpay_config` (
  167. `id` bigint(20) NOT NULL auto_increment,
  168. `SECURITY_SENDER` varchar(32) NOT NULL,
  169. `allowABO` int(1) NOT NULL,
  170. `allowRATE` int(1) NOT NULL,
  171. `allowDEPOSIT` int(1) NOT NULL,
  172. `created` datetime NOT NULL,
  173. `lastChanged` datetime NOT NULL,
  174. `TRANSACTION_CHANNEL` varchar(32) NOT NULL,
  175. PRIMARY KEY (`id`)
  176. ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;';
  177. Shopware()->Db()->exec($sql);
  178. # set up rates table
  179. $sql='CREATE TABLE IF NOT EXISTS `s_plugin_heidelpay_rates` (
  180. `id` bigint(20) NOT NULL auto_increment,
  181. `owner` bigint(20) NOT NULL,
  182. `kind` enum(\'abo\',\'rate\',\'deposit\') NOT NULL default \'rate\',
  183. `duration` int(11) NOT NULL,
  184. `durationtype` enum(\'day\',\'week\',\'month\',\'year\') NOT NULL default \'month\',
  185. `freq` int(11) NOT NULL,
  186. `freqtype` enum(\'day\',\'week\',\'month\',\'year\') NOT NULL default \'month\',
  187. `fee` int(11) NOT NULL,
  188. `feetype` enum(\'euro\',\'percent\') NOT NULL default \'percent\',
  189. `mini` int(11) NOT NULL,
  190. `maxi` int(11) NOT NULL,
  191. `sortorder` bigint(20) NOT NULL,
  192. PRIMARY KEY (`id`)
  193. ) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=latin1';
  194. Shopware()->Db()->exec($sql);
  195. # set up requests table
  196. $sql='CREATE TABLE IF NOT EXISTS `s_plugin_heidelpay_requests` (
  197. `id` bigint(20) NOT NULL auto_increment,
  198. `IDENTIFICATION_UNIQUEID` varchar(32) NOT NULL,
  199. `IDENTIFICATION_SHORTID` varchar(14) NOT NULL,
  200. `IDENTIFICATION_TRANSACTIONID` varchar(255) NOT NULL,
  201. `IDENTIFICATION_REFERENCEID` varchar(32) NOT NULL,
  202. `PROCESSING_RESULT` varchar(20) NOT NULL,
  203. `PROCESSING_RETURN_CODE` varchar(11) NOT NULL,
  204. `PROCESSING_CODE` varchar(11) NOT NULL,
  205. `TRANSACTION_SOURCE` varchar(10) NOT NULL,
  206. `TRANSACTION_CHANNEL` varchar(32) NOT NULL,
  207. `TRANSACTION_RESPONSE` varchar(5) NOT NULL,
  208. `TRANSACTION_MODE` varchar(15) NOT NULL,
  209. `CRITERION_RESPONSE_URL` varchar(255) NOT NULL,
  210. `created` datetime NOT NULL,
  211. `SERIAL` mediumtext NOT NULL,
  212. `XML` mediumtext NOT NULL,
  213. `RESPONSE` mediumtext NOT NULL,
  214. PRIMARY KEY (`id`)
  215. ) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;';
  216. Shopware()->Db()->exec($sql);
  217. }
  218. /**
  219. * Create payment config form
  220. */
  221. protected function createForm()/*{{{*/
  222. {
  223. $form = $this->Form();
  224. $form->setElement('text', 'HEIDELPAY_LIVE_URL', array('label'=>'LIVE_URL','value'=>'https://heidelpay.hpcgw.net/sgw/gtw', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  225. $form->setElement('text', 'HEIDELPAY_TEST_URL', array('label'=>'TEST_URL','value'=>'https://test-heidelpay.hpcgw.net/sgw/gtw', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  226. $form->setElement('text', 'HEIDELPAY_SECURITY_SENDER', array('label'=>'SECURITY_SENDER','value'=>'31HA07BC8124AD82A9E96D9A35FAFD2A', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  227. $form->setElement('text', 'HEIDELPAY_USER_LOGIN', array('label'=>'USER_LOGIN','value'=>'31ha07bc8124ad82a9e96d486d19edaa', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  228. $form->setElement('text', 'HEIDELPAY_USER_PW', array('label'=>'USER_PW','value'=>'password', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  229. $form->setElement('combo', 'HEIDELPAY_TRANSACTION_MODE', array('label'=>'TRANSACTION_MODE','value'=>'2','attributes'=>array(
  230. 'valueField'=>'myId','displayField'=>'displayText',
  231. 'mode' => 'local',
  232. 'triggerAction' => 'all',
  233. 'store' => '
  234. new Ext.data.ArrayStore({
  235. id: 0,
  236. fields: [
  237. "myId",
  238. "displayText"
  239. ],
  240. data: [[1, "INTEGRATOR_TEST"], [2, "CONNECTOR_TEST"], [3, "LIVE"]]
  241. })
  242. '
  243. ), 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  244. //$form->setElement('', 'Channel', array('label'=>'Channel','value'=>''));
  245. $form->setElement('text', 'HEIDELPAY_CC_CHANNEL', array('label'=> 'Kreditkraten Channel','value'=>'31HA07BC81A71E2A47DA94B6ADC524D8', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  246. $form->setElement('text', 'HEIDELPAY_DC_CHANNEL', array('label'=>'Debitkarten Channel','value'=>'31HA07BC81A71E2A47DA94B6ADC524D8', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  247. $form->setElement('text', 'HEIDELPAY_DD_CHANNEL', array('label'=>'Lastschrift Channel','value'=>'31HA07BC81A71E2A47DA94B6ADC524D8', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  248. $form->setElement('text', 'HEIDELPAY_PP_CHANNEL', array('label'=>'Vorkasse Channel','value'=>'31HA07BC81A71E2A47DA94B6ADC524D8', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  249. $form->setElement('text', 'HEIDELPAY_IV_CHANNEL', array('label'=>'Rechnungs Channel','value'=>'31HA07BC81A71E2A47DA94B6ADC524D8', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  250. $form->setElement('text', 'HEIDELPAY_SUE_CHANNEL', array('label'=>'Sofort?berweisungs Channel','value'=>'31HA07BC81A71E2A47DA94B6ADC524D8', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  251. $form->setElement('text', 'HEIDELPAY_GIR_CHANNEL', array('label'=>'Giropay Channel','value'=>'31HA07BC81A71E2A47DA662C5EDD1112', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  252. $form->setElement('text', 'HEIDELPAY_PAY_CHANNEL', array('label'=>'PayPal Channel','value'=>'31HA07BC81A71E2A47DA94B6ADC524D8', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  253. $form->setElement('text', 'HEIDELPAY_IDE_CHANNEL', array('label'=>'Ideal Channel','value'=>'31HA07BC81A71E2A47DA804F6CABDC59', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  254. $form->setElement('text', 'HEIDELPAY_EPS_CHANNEL', array('label'=>'EPS Channel','value'=>'31HA07BC812125981B4F52033DE486AB', 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  255. $form->setElement('combo', 'HEIDELPAY_CC_BOOKING_MODE', array('label'=>'Kreditkarten Buchungsmodus','value'=>'1','attributes'=>array(
  256. 'valueField'=>'myId','displayField'=>'displayText',
  257. 'mode' => 'local',
  258. 'triggerAction' => 'all',
  259. 'store' => '
  260. new Ext.data.ArrayStore({
  261. id: 0,
  262. fields: [
  263. "myId",
  264. "displayText"
  265. ],
  266. data: [[1, "Sofortbuchung"], [2, "Reservierung"]]
  267. })
  268. '
  269. ), 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  270. $form->setElement('combo', 'HEIDELPAY_DC_BOOKING_MODE', array('label'=>'Debitkarten Buchungsmodus','value'=>'1','attributes'=>array(
  271. 'valueField'=>'myId','displayField'=>'displayText',
  272. 'mode' => 'local',
  273. 'triggerAction' => 'all',
  274. 'store' => '
  275. new Ext.data.ArrayStore({
  276. id: 0,
  277. fields: [
  278. "myId",
  279. "displayText"
  280. ],
  281. data: [[1, "Sofortbuchung"], [2, "Reservierung"]]
  282. })
  283. '
  284. ), 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  285. $form->setElement('combo', 'HEIDELPAY_DD_BOOKING_MODE', array('label'=>'Lastschrift Buchungsmodus','value'=>'1','attributes'=>array(
  286. 'valueField'=>'myId','displayField'=>'displayText',
  287. 'mode' => 'local',
  288. 'triggerAction' => 'all',
  289. 'store' => '
  290. new Ext.data.ArrayStore({
  291. id: 0,
  292. fields: [
  293. "myId",
  294. "displayText"
  295. ],
  296. data: [[1, "Sofortbuchung"], [2, "Reservierung"]]
  297. })
  298. '
  299. ), 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  300. // $form->setElement('combo', 'HEIDELPAY_CANCEL_ORDER', array('label'=>'Warenkorb bei Abbruch in Bestellung umwandeln','value'=>'1','attributes'=>array(
  301. //'valueField'=>'myId','displayField'=>'displayText',
  302. //'mode' => 'local',
  303. //'triggerAction' => 'all',
  304. //'store' => '
  305. //new Ext.data.ArrayStore({
  306. //id: 0,
  307. //fields: [
  308. // "myId",
  309. // "displayText"
  310. //],
  311. //data: [[1, "Nein"], [2, "Ja"]]
  312. //})
  313. //'
  314. //)));
  315. // $form->setElement('combo', 'HEIDELPAY_FAIL_ORDER', array('label'=>'Warenkorb bei Fehler in Bestellung umwandeln','value'=>'1','attributes'=>array(
  316. //'valueField'=>'myId','displayField'=>'displayText',
  317. //'mode' => 'local',
  318. //'triggerAction' => 'all',
  319. //'store' => '
  320. //new Ext.data.ArrayStore({
  321. //id: 0,
  322. //fields: [
  323. // "myId",
  324. // "displayText"
  325. //],
  326. //data: [[1, "Nein"], [2, "Ja"]]
  327. //})
  328. //'
  329. //)));
  330. $form->setElement('combo', 'HEIDELPAY_DEBUG', array('label'=>'DEBUG MODE','value'=>'1','attributes'=>array(
  331. 'valueField'=>'myId','displayField'=>'displayText',
  332. 'mode' => 'local',
  333. 'triggerAction' => 'all',
  334. 'store' => '
  335. new Ext.data.ArrayStore({
  336. id: 0,
  337. fields: [
  338. "myId",
  339. "displayText"
  340. ],
  341. data: [[1, "Nein"], [2, "Ja"]]
  342. })
  343. '
  344. ), 'scope'=>Shopware_Components_Form::SCOPE_SHOP));
  345. $form->save();
  346. }/*}}}*/
  347. public function onPreDispatch(Enlight_Event_EventArgs $args) {
  348. $response = $args->getSubject()->Response();
  349. $view = $args->getSubject()->View();
  350. if($response->isException()) {
  351. return;
  352. }
  353. $templates = $view->Engine()->getTemplateDir();
  354. array_unshift($templates, dirname(__FILE__) . '/Views/');
  355. $view->setTemplateDir($templates);
  356. }
  357. public static function onPostDispatch(Enlight_Event_EventArgs $args)
  358. {
  359. $request = $args->getSubject()->Request();
  360. $response = $args->getSubject()->Response();
  361. $view = $args->getSubject()->View();
  362. if(!$request->isDispatched()
  363. || $response->isException()
  364. || $request->getModuleName()!='backend') {
  365. return;
  366. }
  367. $view->addTemplateDir(dirname(__FILE__).'/Views/');
  368. return $args;
  369. }
  370. /*
  371. * function for loggin information
  372. * posible log levels are: DEBUG , INFO , WARN , ERROR
  373. */
  374. public function Logging($message, $level = "ERROR" ) {
  375. $path = "files/log/heidelpay.log";
  376. $dir = dirname($path);
  377. if (!file_exists($dir)) {
  378. mkdir($dir);
  379. }
  380. $MessageDate = date("M j Y H:i:s");
  381. $Message= $MessageDate." ".$_SERVER['SERVER_NAME']." : ".self::$_moduleDesc." (".$level.") : ".$message ;
  382. $file = fopen ($path, "a+");
  383. if ($file) {
  384. fwrite($file, $Message."\n");
  385. fclose($file);
  386. }
  387. } /*}*/
  388. public function addsnippets()
  389. {
  390. $snippets = $this->snippets();
  391. foreach ($snippets as $key => $value) {
  392. if (!empty($value[0])) {
  393. $sql = " SELECT id FROM s_core_snippets WHERE namespace = \"".$value[0]."\" AND shopID = 1 AND localeID = ".$value[1]." AND name = \"".$value[2]."\"" ;
  394. $data = Shopware()->Db()->fetchAll($sql);
  395. $sql = "";
  396. if ($data[0][id] > 0)
  397. {
  398. $sql = "UPDATE s_core_snippets SET namespace = \"".$value[0]."\",
  399. shopID = 1,
  400. localeID = ".$value[1].",
  401. name = \"".$value[2]."\",
  402. value = \"".$value[3]."\"
  403. WHERE id=".$data[0]['id']." ";
  404. } else {
  405. $sql = "INSERT s_core_snippets SET namespace = \"".$value[0]."\",
  406. shopID = 1,
  407. localeID = ".$value[1].",
  408. name = \"".$value[2]."\",
  409. value = \"".$value[3]."\"
  410. ";
  411. }
  412. Shopware()->Db()->query($sql);
  413. }
  414. }
  415. return true ;
  416. }
  417. private function snippets()
  418. {
  419. $snippets = array();
  420. $snippets[] = array('backend/HeidelActions','1','MissingSender','Bitte tragen Sie den Security Sender im Heidelpay Payment Plugin ein.');
  421. $snippets[] = array('backend/HeidelActions','2','MissingSender','Please enter the Security Sender into the Heidelpay Payment Plugin.');
  422. $snippets[] = array('backend/HeidelActions','1','MissingChannel','Bitte tragen Sie den Transaction Channel im Heidelpay Payment Plugin ein.');
  423. $snippets[] = array('backend/HeidelActions','2','MissingChannel','Please enter the Transaction Channel into the Heidelpay Payment Plugin.');
  424. $snippets[] = array('backend/HeidelActions','1','MissingUser','Bitte tragen Sie den User Login im Heidelpay Payment Plugin ein.');
  425. $snippets[] = array('backend/HeidelActions','2','MissingUser','Please enter the User Login into the Heidelpay Payment Plugin.');
  426. $snippets[] = array('backend/HeidelActions','1','MissingPwd','Bitte tragen Sie das User Passwort im Heidelpay Payment Plugin ein.');
  427. $snippets[] = array('backend/HeidelActions','2','MissingPwd','Please enter the User Password into the Heidelpay Payment Plugin.');
  428. return $snippets ;
  429. }
  430. }