cx-newsletter.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. function use_php_mailer() : void {
  16. require_once(__DIR__.'/libs/PHPMailer/src/Exception.php');
  17. require_once(__DIR__.'/libs/PHPMailer/src/PHPMailer.php');
  18. require_once(__DIR__.'/libs/PHPMailer/src/SMTP.php');
  19. require_once(__DIR__.'/libs/PHPMailer/src/POP3.php');
  20. }
  21. /** TEMPLATES TO RENDER **/
  22. const templates_dir = __DIR__.'/renders';
  23. /** REQUIRED COMPONENTS **/
  24. const import_from = [
  25. 'interfaces',
  26. 'traits',
  27. 'templates',
  28. 'validators',
  29. 'database',
  30. 'components',
  31. 'mappers',
  32. 'repositories',
  33. 'enums',
  34. 'converters',
  35. 'builders',
  36. 'activities',
  37. 'views',
  38. 'pages',
  39. 'endpoints'
  40. ];
  41. /** LOAD **/
  42. foreach (import_from as $dir) {
  43. foreach (scandir(__DIR__.'/'.$dir) as $file) {
  44. if (pathinfo($file, PATHINFO_EXTENSION) === 'php') {
  45. require_once(__DIR__.'/'.$dir.'/'.$file);
  46. }
  47. }
  48. }
  49. /** INIT **/
  50. $plugin_dir = dirname(\plugin_basename(__FILE__));
  51. $plugin = new plugin($plugin_dir);
  52. function activate() {
  53. $plugin_dir = dirname(\plugin_basename(__FILE__));
  54. $plugin = new plugin($plugin_dir);
  55. $plugin->install();
  56. }
  57. function deactivate() {
  58. $plugin_dir = dirname(\plugin_basename(__FILE__));
  59. $plugin = new plugin($plugin_dir);
  60. $plugin->remove();
  61. }
  62. \register_activation_hook(__FILE__, 'cx_newsletter\activate');
  63. \register_deactivation_hook(__FILE__, 'cx_newsletter\deactivate');