setup-options.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * MailChimpSubscribe setup options
  4. *
  5. * @package MailChimpSubscribe
  6. * @subpackage build
  7. */
  8. $package = 'MailChimpSubscribe';
  9. $settings = array(
  10. array(
  11. 'key' => 'user_name',
  12. 'value' => '',
  13. 'name' => 'Name'
  14. ),
  15. array(
  16. 'key' => 'user_email',
  17. 'value' => '',
  18. 'name' => 'Email'
  19. ),
  20. );
  21. switch ($options[xPDOTransport::PACKAGE_ACTION]) {
  22. case xPDOTransport::ACTION_INSTALL:
  23. case xPDOTransport::ACTION_UPGRADE:
  24. foreach ($settings as $key => $setting) {
  25. $settingObject = $modx->getObject(
  26. 'modSystemSetting',
  27. array('key' => strtolower($package) . '.' . $setting['key'])
  28. );
  29. if ($settingObject) {
  30. $settings[$key]['value'] = $settingObject->get('value');
  31. }
  32. }
  33. break;
  34. case xPDOTransport::ACTION_UNINSTALL:
  35. break;
  36. }
  37. $output = array();
  38. /* Hide default setuptoptions text */
  39. $output[] = '
  40. <style type="text/css">
  41. #modx-setupoptions-panel { display: none; }
  42. </style>
  43. <script>
  44. var setupTitle = "' . $package . ' installation - a MODX Extra by Sterc";
  45. document.getElementsByClassName("x-window-header-text")[0].innerHTML = setupTitle;
  46. </script>
  47. <h2>Get free priority updates</h2>
  48. <p>Enter your name and email address below to receive priority updates about our extras.
  49. Be the first to know about Extra updates and new features.
  50. <i><b>It is not required to enter your name and email to use this extra.</b></i></p>';
  51. foreach ($settings as $setting) {
  52. $str = '<label for="'. $setting['key'] .'">'. $setting['name'] .' (optional)</label>';
  53. $str .= '<input type="text" name="'. $setting['key'] .'"';
  54. $str .= ' id="'. $setting['key'] .'" width="300" value="'. $setting['value'] .'" />';
  55. $output[] = $str;
  56. }
  57. return implode('<br /><br />', $output);