cx-newsletter.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Plugin Name: cx-newsletter
  4. * Description: This is simple newsletter plugin, which could send content by
  5. * E-Mails or SMS-es.
  6. * Text Domain: cx_newsletter
  7. * Domain Path: /translates
  8. * Authos: Cixo (Les Amis Reunis)
  9. * License: MIT
  10. * Version: 1.2.3
  11. */
  12. namespace cx_newsletter;
  13. /** LIBS **/
  14. require_once(__DIR__.'/libs/CxAppengine/require.php');
  15. /** TEMPLATES TO RENDER **/
  16. const templates_dir = __DIR__.'/renders';
  17. /** REQUIRED COMPONENTS **/
  18. const import_from = [
  19. 'interfaces',
  20. 'traits',
  21. 'templates',
  22. 'validators',
  23. 'database',
  24. 'components',
  25. 'mappers',
  26. 'repositories',
  27. 'enums',
  28. 'converters',
  29. 'builders',
  30. 'activities',
  31. 'views',
  32. 'pages',
  33. 'endpoints'
  34. ];
  35. /** LOAD **/
  36. foreach (import_from as $dir) {
  37. foreach (scandir(__DIR__.'/'.$dir) as $file) {
  38. if (pathinfo($file, PATHINFO_EXTENSION) === 'php') {
  39. require_once(__DIR__.'/'.$dir.'/'.$file);
  40. }
  41. }
  42. }
  43. /** INIT **/
  44. $plugin_dir = dirname(\plugin_basename(__FILE__));
  45. $plugin = new plugin($plugin_dir);
  46. function activate() {
  47. $plugin_dir = dirname(\plugin_basename(__FILE__));
  48. $plugin = new plugin($plugin_dir);
  49. $plugin->install();
  50. }
  51. function deactivate() {
  52. $plugin_dir = dirname(\plugin_basename(__FILE__));
  53. $plugin = new plugin($plugin_dir);
  54. $plugin->remove();
  55. }
  56. \register_activation_hook(__FILE__, 'cx_newsletter\activate');
  57. \register_deactivation_hook(__FILE__, 'cx_newsletter\deactivate');