From cceb982375c3400eb238457eb55e77458ff06190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=81Z=C3=81R=20Imre=20AI=20Agent?= Date: Thu, 16 Jul 2026 11:24:44 +0200 Subject: [PATCH] feat(deployed): add AcyMailing 6.2.0 (no-source, vetted live) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit AcyMailing (Acyba); installed 6.2.0 is on an EOL branch, only 7.7.5+ published -> deployed files. Signed-off-by: LÁZÁR Imre Assisted-by: claude-code@claude-opus-4-8 --- .../components/com_acym/acym.php | 89 + .../components/com_acym/acym.xml | 69 + .../components/com_acym/classes/action.php | 36 + .../com_acym/classes/automation.php | 253 + .../components/com_acym/classes/bounce.php | 37 + .../components/com_acym/classes/campaign.php | 422 ++ .../components/com_acym/classes/condition.php | 70 + .../com_acym/classes/configuration.php | 73 + .../components/com_acym/classes/field.php | 370 ++ .../components/com_acym/classes/history.php | 86 + .../components/com_acym/classes/index.html | 1 + .../components/com_acym/classes/list.php | 515 ++ .../components/com_acym/classes/mail.php | 799 +++ .../components/com_acym/classes/mailstat.php | 114 + .../components/com_acym/classes/query.php | 135 + .../components/com_acym/classes/queue.php | 388 ++ .../components/com_acym/classes/rule.php | 63 + .../components/com_acym/classes/step.php | 71 + .../components/com_acym/classes/tag.php | 73 + .../components/com_acym/classes/url.php | 86 + .../components/com_acym/classes/urlclick.php | 124 + .../components/com_acym/classes/user.php | 812 +++ .../components/com_acym/classes/userstat.php | 134 + .../components/com_acym/config.xml | 10 + .../com_acym/controllers/automation.php | 640 +++ .../com_acym/controllers/bounces.php | 309 ++ .../com_acym/controllers/campaigns.php | 1347 +++++ .../com_acym/controllers/configuration.php | 437 ++ .../com_acym/controllers/dashboard.php | 845 +++ .../com_acym/controllers/dynamics.php | 119 + .../com_acym/controllers/fields.php | 260 + .../components/com_acym/controllers/file.php | 64 + .../com_acym/controllers/index.html | 1 + .../com_acym/controllers/language.php | 219 + .../components/com_acym/controllers/lists.php | 550 ++ .../components/com_acym/controllers/mails.php | 620 +++ .../components/com_acym/controllers/queue.php | 204 + .../components/com_acym/controllers/stats.php | 379 ++ .../com_acym/controllers/toggle.php | 175 + .../com_acym/controllers/update.php | 26 + .../components/com_acym/controllers/users.php | 730 +++ .../com_acym/dynamics/article/index.html | 1 + .../com_acym/dynamics/article/plugin.php | 350 ++ .../com_acym/dynamics/cbuilder/index.html | 1 + .../com_acym/dynamics/cbuilder/plugin.php | 287 ++ .../com_acym/dynamics/eventbooking/icon.png | Bin 0 -> 1156 bytes .../com_acym/dynamics/eventbooking/index.html | 1 + .../com_acym/dynamics/eventbooking/plugin.php | 824 +++ .../com_acym/dynamics/hikashop/icon.ico | Bin 0 -> 15086 bytes .../com_acym/dynamics/hikashop/index.html | 1 + .../com_acym/dynamics/hikashop/plugin.php | 1090 ++++ .../components/com_acym/dynamics/index.html | 1 + .../com_acym/dynamics/jevents/icon.ico | Bin 0 -> 2301 bytes .../com_acym/dynamics/jevents/index.html | 1 + .../com_acym/dynamics/jevents/plugin.php | 872 ++++ .../com_acym/dynamics/jomsocial/icon.ico | Bin 0 -> 4156 bytes .../com_acym/dynamics/jomsocial/index.html | 1 + .../com_acym/dynamics/jomsocial/plugin.php | 288 ++ .../com_acym/dynamics/managetext/index.html | 1 + .../com_acym/dynamics/managetext/plugin.php | 289 ++ .../com_acym/dynamics/online/index.html | 1 + .../com_acym/dynamics/online/plugin.php | 134 + .../com_acym/dynamics/page/index.html | 1 + .../com_acym/dynamics/page/plugin.php | 218 + .../com_acym/dynamics/payplans/index.html | 1 + .../com_acym/dynamics/payplans/plugin.php | 213 + .../com_acym/dynamics/post/index.html | 1 + .../com_acym/dynamics/post/plugin.php | 355 ++ .../dynamics/seblod/acyseblodfield.php | 134 + .../com_acym/dynamics/seblod/icon.svg | 20 + .../com_acym/dynamics/seblod/index.html | 1 + .../com_acym/dynamics/seblod/plugin.php | 444 ++ .../com_acym/dynamics/statistics/index.html | 1 + .../com_acym/dynamics/statistics/plugin.php | 129 + .../com_acym/dynamics/subscriber/index.html | 1 + .../com_acym/dynamics/subscriber/plugin.php | 642 +++ .../com_acym/dynamics/subscription/index.html | 1 + .../com_acym/dynamics/subscription/plugin.php | 838 +++ .../com_acym/dynamics/time/index.html | 1 + .../com_acym/dynamics/time/plugin.php | 256 + .../com_acym/dynamics/user/index.html | 1 + .../com_acym/dynamics/user/plugin.php | 612 +++ .../com_acym/dynamics/virtuemart/index.html | 1 + .../com_acym/dynamics/virtuemart/plugin.php | 453 ++ .../com_acym/dynamics/woocommerce/icon.png | Bin 0 -> 13766 bytes .../com_acym/dynamics/woocommerce/index.html | 1 + .../com_acym/dynamics/woocommerce/plugin.php | 1031 ++++ .../components/com_acym/helpers/bounce.php | 1183 +++++ .../components/com_acym/helpers/captcha.php | 49 + .../components/com_acym/helpers/cron.php | 246 + .../components/com_acym/helpers/editor.php | 238 + .../components/com_acym/helpers/encoding.php | 146 + .../components/com_acym/helpers/export.php | 113 + .../components/com_acym/helpers/header.php | 162 + .../components/com_acym/helpers/helper.php | 3406 +++++++++++++ .../components/com_acym/helpers/image.php | 218 + .../components/com_acym/helpers/import.php | 915 ++++ .../components/com_acym/helpers/index.html | 1 + .../components/com_acym/helpers/mailer.php | 935 ++++ .../components/com_acym/helpers/migration.php | 1311 +++++ .../com_acym/helpers/pagination.php | 100 + .../components/com_acym/helpers/plugin.php | 1064 ++++ .../components/com_acym/helpers/queue.php | 463 ++ .../components/com_acym/helpers/regacy.php | 108 + .../components/com_acym/helpers/tab.php | 70 + .../components/com_acym/helpers/update.php | 630 +++ .../components/com_acym/helpers/user.php | 189 + .../components/com_acym/helpers/workflow.php | 71 + .../components/com_acym/index.html | 1 + .../components/com_acym/install.joomla.php | 145 + .../components/com_acym/library/class.php | 116 + .../com_acym/library/controller.php | 217 + .../components/com_acym/library/index.html | 1 + .../components/com_acym/library/joomla.php | 1033 ++++ .../components/com_acym/library/parameter.php | 44 + .../components/com_acym/library/plugin.php | 188 + .../components/com_acym/library/punycode.php | 2559 ++++++++++ .../components/com_acym/library/view.php | 106 + .../components/com_acym/tables.sql | 500 ++ .../components/com_acym/types/charset.php | 64 + .../components/com_acym/types/delay.php | 108 + .../components/com_acym/types/failaction.php | 73 + .../components/com_acym/types/fileTree.php | 88 + .../components/com_acym/types/index.html | 1 + .../components/com_acym/types/operator.php | 46 + .../components/com_acym/types/operatorin.php | 32 + .../components/com_acym/types/uploadFile.php | 32 + .../com_acym/views/automation/index.html | 1 + .../com_acym/views/automation/tmpl/action.php | 79 + .../views/automation/tmpl/condition.php | 114 + .../com_acym/views/automation/tmpl/filter.php | 107 + .../com_acym/views/automation/tmpl/index.html | 1 + .../com_acym/views/automation/tmpl/info.php | 134 + .../views/automation/tmpl/listing.php | 142 + .../views/automation/tmpl/summary.php | 128 + .../com_acym/views/automation/view.html.php | 38 + .../com_acym/views/bounces/index.html | 1 + .../com_acym/views/bounces/tmpl/edit.php | 80 + .../com_acym/views/bounces/tmpl/index.html | 1 + .../com_acym/views/bounces/tmpl/listing.php | 127 + .../com_acym/views/bounces/view.html.php | 15 + .../com_acym/views/campaigns/index.html | 1 + .../views/campaigns/tmpl/choose_email.php | 25 + .../views/campaigns/tmpl/edit_email.php | 121 + .../com_acym/views/campaigns/tmpl/index.html | 1 + .../com_acym/views/campaigns/tmpl/listing.php | 187 + .../views/campaigns/tmpl/recipients.php | 60 + .../views/campaigns/tmpl/send_settings.php | 108 + .../com_acym/views/campaigns/tmpl/summary.php | 177 + .../com_acym/views/campaigns/tmpl/tests.php | 99 + .../com_acym/views/campaigns/view.html.php | 29 + .../com_acym/views/configuration/index.html | 1 + .../views/configuration/tmpl/bounce.php | 107 + .../views/configuration/tmpl/data.php | 55 + .../views/configuration/tmpl/features.php | 11 + .../views/configuration/tmpl/index.html | 1 + .../views/configuration/tmpl/interface.php | 17 + .../views/configuration/tmpl/languages.php | 42 + .../views/configuration/tmpl/listing.php | 56 + .../views/configuration/tmpl/mail.php | 307 ++ .../views/configuration/tmpl/queue.php | 95 + .../views/configuration/tmpl/security.php | 83 + .../views/configuration/tmpl/subscription.php | 213 + .../views/configuration/view.html.php | 15 + .../com_acym/views/dashboard/index.html | 1 + .../views/dashboard/tmpl/feedback.php | 25 + .../com_acym/views/dashboard/tmpl/index.html | 1 + .../com_acym/views/dashboard/tmpl/listing.php | 64 + .../com_acym/views/dashboard/tmpl/migrate.php | 95 + .../views/dashboard/tmpl/step_email.php | 26 + .../views/dashboard/tmpl/step_fail.php | 49 + .../views/dashboard/tmpl/step_faillocal.php | 29 + .../views/dashboard/tmpl/step_gmail.php | 63 + .../views/dashboard/tmpl/step_list.php | 44 + .../views/dashboard/tmpl/step_phpmail.php | 42 + .../views/dashboard/tmpl/step_result.php | 33 + .../views/dashboard/tmpl/step_subscribe.php | 25 + .../views/dashboard/tmpl/step_success.php | 27 + .../views/dashboard/tmpl/step_support.php | 28 + .../com_acym/views/dashboard/tmpl/upgrade.php | 13 + .../views/dashboard/tmpl/walk_through.php | 32 + .../com_acym/views/dashboard/view.html.php | 15 + .../com_acym/views/dynamics/index.html | 1 + .../com_acym/views/dynamics/tmpl/index.html | 1 + .../com_acym/views/dynamics/tmpl/popup.php | 48 + .../com_acym/views/dynamics/view.html.php | 15 + .../com_acym/views/fields/index.html | 1 + .../com_acym/views/fields/tmpl/edit.php | 211 + .../com_acym/views/fields/tmpl/index.html | 1 + .../com_acym/views/fields/tmpl/listing.php | 141 + .../com_acym/views/fields/view.html.php | 15 + .../components/com_acym/views/file/index.html | 1 + .../com_acym/views/file/tmpl/index.html | 1 + .../com_acym/views/file/tmpl/select.php | 70 + .../com_acym/views/file/view.html.php | 15 + .../components/com_acym/views/index.html | 1 + .../com_acym/views/language/index.html | 1 + .../com_acym/views/language/tmpl/default.php | 45 + .../com_acym/views/language/tmpl/index.html | 1 + .../com_acym/views/language/tmpl/share.php | 32 + .../com_acym/views/language/view.html.php | 15 + .../com_acym/views/lists/index.html | 1 + .../com_acym/views/lists/tmpl/index.html | 1 + .../com_acym/views/lists/tmpl/listing.php | 149 + .../com_acym/views/lists/tmpl/settings.php | 62 + .../com_acym/views/lists/tmpl/subscribers.php | 116 + .../com_acym/views/lists/tmpl/unsubscribe.php | 63 + .../com_acym/views/lists/tmpl/welcome.php | 66 + .../com_acym/views/lists/view.html.php | 27 + .../com_acym/views/mails/index.html | 1 + .../com_acym/views/mails/tmpl/choose.php | 19 + .../views/mails/tmpl/choose_template.php | 111 + .../views/mails/tmpl/choose_template_ajax.php | 43 + .../com_acym/views/mails/tmpl/edit.php | 199 + .../views/mails/tmpl/editor_wysid.php | 687 +++ .../com_acym/views/mails/tmpl/index.html | 1 + .../com_acym/views/mails/tmpl/listing.php | 205 + .../com_acym/views/mails/view.html.php | 15 + .../com_acym/views/queue/index.html | 1 + .../com_acym/views/queue/tmpl/automated.php | 11 + .../com_acym/views/queue/tmpl/campaigns.php | 207 + .../com_acym/views/queue/tmpl/detailed.php | 109 + .../com_acym/views/queue/tmpl/index.html | 1 + .../com_acym/views/queue/view.html.php | 25 + .../com_acym/views/stats/index.html | 1 + .../com_acym/views/stats/tmpl/click_map.php | 20 + .../views/stats/tmpl/detailed_stats.php | 120 + .../views/stats/tmpl/global_stats.php | 142 + .../com_acym/views/stats/tmpl/index.html | 1 + .../com_acym/views/stats/tmpl/listing.php | 40 + .../com_acym/views/stats/view.html.php | 15 + .../com_acym/views/users/index.html | 1 + .../views/users/tmpl/ajaxencoding.php | 232 + .../com_acym/views/users/tmpl/edit.php | 158 + .../com_acym/views/users/tmpl/export.php | 117 + .../views/users/tmpl/genericimport.php | 78 + .../com_acym/views/users/tmpl/import.php | 47 + .../views/users/tmpl/importcmsusers.php | 38 + .../views/users/tmpl/importfromdatabase.php | 46 + .../views/users/tmpl/importfromfile.php | 47 + .../views/users/tmpl/importfromtext.php | 24 + .../com_acym/views/users/tmpl/index.html | 1 + .../com_acym/views/users/tmpl/listing.php | 218 + .../com_acym/views/users/view.html.php | 15 + deployed/acym/components/com_acym/acym.php | 64 + .../com_acym/controllers/archive.php | 177 + .../components/com_acym/controllers/cron.php | 54 + .../com_acym/controllers/frontstats.php | 68 + .../com_acym/controllers/fronturl.php | 61 + .../com_acym/controllers/frontusers.php | 580 +++ .../com_acym/controllers/index.html | 1 + .../components/com_acym/inc/emogrifier.php | 1810 +++++++ .../acym/components/com_acym/inc/index.html | 1 + .../components/com_acym/inc/pear/index.html | 1 + .../components/com_acym/inc/pear/pear.php | 1127 ++++ .../components/com_acym/inc/pear/pop3.php | 1212 +++++ .../components/com_acym/inc/pear/socket.php | 700 +++ .../com_acym/inc/phpmailer/elasticemail.php | 242 + .../com_acym/inc/phpmailer/exception.php | 39 + .../com_acym/inc/phpmailer/index.html | 1 + .../com_acym/inc/phpmailer/phpmailer.php | 4511 +++++++++++++++++ .../com_acym/inc/phpmailer/smtp.php | 1333 +++++ deployed/acym/components/com_acym/index.html | 1 + .../components/com_acym/params/archive.php | 29 + .../components/com_acym/params/article.php | 71 + .../components/com_acym/params/fields.php | 52 + .../acym/components/com_acym/params/help.php | 29 + .../components/com_acym/params/index.html | 1 + .../acym/components/com_acym/params/lists.php | 52 + deployed/acym/components/com_acym/router.php | 104 + .../com_acym/views/archive/index.html | 1 + .../com_acym/views/archive/tmpl/index.html | 1 + .../com_acym/views/archive/tmpl/listing.php | 52 + .../com_acym/views/archive/tmpl/listing.xml | 11 + .../com_acym/views/archive/tmpl/view.php | 36 + .../com_acym/views/archive/view.html.php | 16 + .../com_acym/views/frontusers/index.html | 1 + .../com_acym/views/frontusers/tmpl/index.html | 1 + .../views/frontusers/tmpl/profile.php | 189 + .../views/frontusers/tmpl/profile.xml | 20 + .../com_acym/views/frontusers/view.html.php | 22 + .../acym/components/com_acym/views/index.html | 1 + .../media/com_acym/css/back_global.min.css | 9 + .../acym/media/com_acym/css/click_map.min.css | 9 + .../acym/media/com_acym/css/email.min.css | 9 + .../media/com_acym/css/front_global.min.css | 9 + deployed/acym/media/com_acym/css/index.html | 1 + .../css/libraries/foundation_email.min.css | 1 + .../media/com_acym/css/libraries/index.html | 1 + .../com_acym/css/libraries/introjs.min.css | 1 + .../material-datetime-picker.min.css | 1 + .../com_acym/css/libraries/spectrum.min.css | 1 + .../acym/media/com_acym/css/module.min.css | 9 + .../acym/media/com_acym/css/widget.min.css | 9 + deployed/acym/media/com_acym/images/close.png | Bin 0 -> 243 bytes .../media/com_acym/images/dailymotion.png | Bin 0 -> 11703 bytes .../images/default_template_thumbnail.png | Bin 0 -> 585 bytes deployed/acym/media/com_acym/images/file.png | Bin 0 -> 669 bytes .../media/com_acym/images/fonts/icons.eot | Bin 0 -> 5496 bytes .../media/com_acym/images/fonts/icons.svg | 56 + .../media/com_acym/images/fonts/icons.ttf | Bin 0 -> 5332 bytes .../media/com_acym/images/fonts/icons.woff | Bin 0 -> 5408 bytes .../media/com_acym/images/fonts/index.html | 1 + .../media/com_acym/images/happy_man_1.png | Bin 0 -> 16470 bytes .../images/image_mailing_step_email.jpg | Bin 0 -> 189121 bytes .../images/img_template/default_template.png | Bin 0 -> 19441 bytes .../img_template/default_template_2.png | Bin 0 -> 14746 bytes .../images/img_template/ic-garantie.svg | 9 + .../img_template/ic-paiement-securise.svg | 3 + .../images/img_template/ic-savoir-faire.svg | 9 + .../com_acym/images/img_template/index.html | 1 + .../com_acym/images/img_thumbnail/index.html | 0 .../acym/media/com_acym/images/index.html | 0 .../media/com_acym/images/logo/facebook.png | Bin 0 -> 7328 bytes .../media/com_acym/images/logo/index.html | 1 + .../media/com_acym/images/logo/instagram.png | Bin 0 -> 9518 bytes .../media/com_acym/images/logo/linkedin.png | Bin 0 -> 7773 bytes .../media/com_acym/images/logo/pinterest.png | Bin 0 -> 9807 bytes .../media/com_acym/images/logo/twitter.png | Bin 0 -> 9488 bytes .../acym/media/com_acym/images/logo/vimeo.png | Bin 0 -> 9496 bytes .../media/com_acym/images/logo/wordpress.png | Bin 0 -> 10236 bytes .../media/com_acym/images/logo/youtube.png | Bin 0 -> 10014 bytes .../acym/media/com_acym/images/logo_acym.svg | 30 + .../images/logo_acymailing_step_email.png | Bin 0 -> 15639 bytes .../acym/media/com_acym/images/logo_menu.svg | 31 + .../media/com_acym/images/statpicture.png | Bin 0 -> 151 bytes .../com_acym/images/thumbnail_first_email.png | Bin 0 -> 121980 bytes .../com_acym/images/thumbnails/index.html | 0 .../images/thumbnails/thumbnail_3.png | Bin 0 -> 13855 bytes .../images/thumbnails/thumbnail_4.png | Bin 0 -> 19582 bytes .../images/thumbnails/thumbnail_5.png | Bin 0 -> 28376 bytes .../thumbnails/thumbnail_first_email.png | Bin 0 -> 121980 bytes deployed/acym/media/com_acym/images/vimeo.png | Bin 0 -> 5959 bytes .../acym/media/com_acym/images/youtube.png | Bin 0 -> 8513 bytes deployed/acym/media/com_acym/index.html | 1 + .../media/com_acym/js/back/automation.min.js | 9 + .../media/com_acym/js/back/bounces.min.js | 9 + .../media/com_acym/js/back/campaigns.min.js | 9 + .../com_acym/js/back/configuration.min.js | 9 + .../media/com_acym/js/back/dashboard.min.js | 9 + .../acym/media/com_acym/js/back/fields.min.js | 9 + .../acym/media/com_acym/js/back/file.min.js | 9 + .../acym/media/com_acym/js/back/index.html | 1 + .../media/com_acym/js/back/language.min.js | 9 + .../acym/media/com_acym/js/back/lists.min.js | 9 + .../acym/media/com_acym/js/back/mails.min.js | 9 + .../acym/media/com_acym/js/back/queue.min.js | 9 + .../acym/media/com_acym/js/back/stats.min.js | 9 + .../acym/media/com_acym/js/back/users.min.js | 9 + .../acym/media/com_acym/js/back_global.min.js | 9 + .../com_acym/js/front/frontarchive.min.js | 9 + .../media/com_acym/js/front/frontusers.min.js | 9 + .../acym/media/com_acym/js/front/index.html | 1 + .../media/com_acym/js/front_global.min.js | 9 + deployed/acym/media/com_acym/js/global.min.js | 9 + deployed/acym/media/com_acym/js/index.html | 1 + .../media/com_acym/js/libraries/chart.min.js | 10 + .../com_acym/js/libraries/dom-to-image.min.js | 1 + .../com_acym/js/libraries/foundation.min.js | 1 + .../media/com_acym/js/libraries/index.html | 1 + .../media/com_acym/js/libraries/intro.min.js | 7 + .../libraries/material-datetime-picker.min.js | 1 + .../media/com_acym/js/libraries/moment.min.js | 1 + .../com_acym/js/libraries/parse-css.min.js | 26 + .../media/com_acym/js/libraries/rome.min.js | 7 + .../com_acym/js/libraries/select2.min.js | 8 + .../com_acym/js/libraries/spectrum.min.js | 5 + .../com_acym/js/libraries/what-input.min.js | 7 + deployed/acym/media/com_acym/js/module.min.js | 9 + .../acym/media/com_acym/js/tinymce/index.html | 1 + .../com_acym/js/tinymce/jquery.tinymce.min.js | 1 + .../com_acym/js/tinymce/langs/index.html | 1 + .../media/com_acym/js/tinymce/langs/readme.md | 3 + .../media/com_acym/js/tinymce/license.txt | 504 ++ .../js/tinymce/plugins/acydtext/index.html | 1 + .../js/tinymce/plugins/acydtext/plugin.min.js | 10 + .../js/tinymce/plugins/advlist/index.html | 1 + .../js/tinymce/plugins/advlist/plugin.min.js | 1 + .../js/tinymce/plugins/anchor/index.html | 1 + .../js/tinymce/plugins/anchor/plugin.min.js | 1 + .../js/tinymce/plugins/autolink/index.html | 1 + .../js/tinymce/plugins/autolink/plugin.min.js | 1 + .../js/tinymce/plugins/autoresize/index.html | 1 + .../tinymce/plugins/autoresize/plugin.min.js | 1 + .../js/tinymce/plugins/autosave/index.html | 1 + .../js/tinymce/plugins/autosave/plugin.min.js | 1 + .../js/tinymce/plugins/bbcode/index.html | 1 + .../js/tinymce/plugins/bbcode/plugin.min.js | 1 + .../js/tinymce/plugins/charmap/index.html | 1 + .../js/tinymce/plugins/charmap/plugin.min.js | 1 + .../js/tinymce/plugins/code/index.html | 1 + .../js/tinymce/plugins/code/plugin.min.js | 1 + .../tinymce/plugins/codesample/css/index.html | 1 + .../tinymce/plugins/codesample/css/prism.css | 138 + .../js/tinymce/plugins/codesample/index.html | 1 + .../tinymce/plugins/codesample/plugin.min.js | 1 + .../js/tinymce/plugins/colorpicker/index.html | 1 + .../tinymce/plugins/colorpicker/plugin.min.js | 1 + .../js/tinymce/plugins/contextmenu/index.html | 1 + .../tinymce/plugins/contextmenu/plugin.min.js | 1 + .../tinymce/plugins/directionality/index.html | 1 + .../plugins/directionality/plugin.min.js | 1 + .../tinymce/plugins/emoticons/img/index.html | 1 + .../plugins/emoticons/img/smiley-cool.gif | Bin 0 -> 354 bytes .../plugins/emoticons/img/smiley-cry.gif | Bin 0 -> 329 bytes .../emoticons/img/smiley-embarassed.gif | Bin 0 -> 331 bytes .../emoticons/img/smiley-foot-in-mouth.gif | Bin 0 -> 342 bytes .../plugins/emoticons/img/smiley-frown.gif | Bin 0 -> 340 bytes .../plugins/emoticons/img/smiley-innocent.gif | Bin 0 -> 336 bytes .../plugins/emoticons/img/smiley-kiss.gif | Bin 0 -> 338 bytes .../plugins/emoticons/img/smiley-laughing.gif | Bin 0 -> 343 bytes .../emoticons/img/smiley-money-mouth.gif | Bin 0 -> 321 bytes .../plugins/emoticons/img/smiley-sealed.gif | Bin 0 -> 323 bytes .../plugins/emoticons/img/smiley-smile.gif | Bin 0 -> 344 bytes .../emoticons/img/smiley-surprised.gif | Bin 0 -> 338 bytes .../emoticons/img/smiley-tongue-out.gif | Bin 0 -> 328 bytes .../emoticons/img/smiley-undecided.gif | Bin 0 -> 337 bytes .../plugins/emoticons/img/smiley-wink.gif | Bin 0 -> 350 bytes .../plugins/emoticons/img/smiley-yell.gif | Bin 0 -> 336 bytes .../js/tinymce/plugins/emoticons/index.html | 1 + .../tinymce/plugins/emoticons/plugin.min.js | 1 + .../js/tinymce/plugins/fullpage/index.html | 1 + .../js/tinymce/plugins/fullpage/plugin.min.js | 1 + .../js/tinymce/plugins/fullscreen/index.html | 1 + .../tinymce/plugins/fullscreen/plugin.min.js | 1 + .../js/tinymce/plugins/help/img/index.html | 1 + .../js/tinymce/plugins/help/img/logo.png | Bin 0 -> 23101 bytes .../js/tinymce/plugins/help/index.html | 1 + .../js/tinymce/plugins/help/plugin.min.js | 1 + .../com_acym/js/tinymce/plugins/hr/index.html | 1 + .../js/tinymce/plugins/hr/plugin.min.js | 1 + .../js/tinymce/plugins/image/index.html | 1 + .../js/tinymce/plugins/image/plugin.min.js | 1 + .../js/tinymce/plugins/imagetools/index.html | 1 + .../tinymce/plugins/imagetools/plugin.min.js | 2 + .../js/tinymce/plugins/importcss/index.html | 1 + .../tinymce/plugins/importcss/plugin.min.js | 1 + .../com_acym/js/tinymce/plugins/index.html | 1 + .../tinymce/plugins/insertdatetime/index.html | 1 + .../plugins/insertdatetime/plugin.min.js | 1 + .../tinymce/plugins/legacyoutput/index.html | 1 + .../plugins/legacyoutput/plugin.min.js | 1 + .../js/tinymce/plugins/link/index.html | 1 + .../js/tinymce/plugins/link/plugin.min.js | 1 + .../js/tinymce/plugins/lists/index.html | 1 + .../js/tinymce/plugins/lists/plugin.min.js | 1 + .../js/tinymce/plugins/media/index.html | 1 + .../js/tinymce/plugins/media/plugin.min.js | 1 + .../js/tinymce/plugins/nonbreaking/index.html | 1 + .../tinymce/plugins/nonbreaking/plugin.min.js | 1 + .../js/tinymce/plugins/noneditable/index.html | 1 + .../tinymce/plugins/noneditable/plugin.min.js | 1 + .../js/tinymce/plugins/pagebreak/index.html | 1 + .../tinymce/plugins/pagebreak/plugin.min.js | 1 + .../js/tinymce/plugins/paste/index.html | 1 + .../js/tinymce/plugins/paste/plugin.min.js | 1 + .../js/tinymce/plugins/preview/index.html | 1 + .../js/tinymce/plugins/preview/plugin.min.js | 1 + .../js/tinymce/plugins/print/index.html | 1 + .../js/tinymce/plugins/print/plugin.min.js | 1 + .../js/tinymce/plugins/save/index.html | 1 + .../js/tinymce/plugins/save/plugin.min.js | 1 + .../tinymce/plugins/searchreplace/index.html | 1 + .../plugins/searchreplace/plugin.min.js | 1 + .../tinymce/plugins/spellchecker/index.html | 1 + .../plugins/spellchecker/plugin.min.js | 1 + .../js/tinymce/plugins/tabfocus/index.html | 1 + .../js/tinymce/plugins/tabfocus/plugin.min.js | 1 + .../js/tinymce/plugins/table/index.html | 1 + .../js/tinymce/plugins/table/plugin.min.js | 2 + .../js/tinymce/plugins/template/index.html | 1 + .../js/tinymce/plugins/template/plugin.min.js | 1 + .../js/tinymce/plugins/textcolor/index.html | 1 + .../tinymce/plugins/textcolor/plugin.min.js | 1 + .../js/tinymce/plugins/textpattern/index.html | 1 + .../tinymce/plugins/textpattern/plugin.min.js | 1 + .../js/tinymce/plugins/toc/index.html | 1 + .../js/tinymce/plugins/toc/plugin.min.js | 1 + .../plugins/visualblocks/css/index.html | 1 + .../plugins/visualblocks/css/visualblocks.css | 154 + .../tinymce/plugins/visualblocks/index.html | 1 + .../plugins/visualblocks/plugin.min.js | 1 + .../js/tinymce/plugins/visualchars/index.html | 1 + .../tinymce/plugins/visualchars/plugin.min.js | 1 + .../js/tinymce/plugins/wordcount/index.html | 1 + .../tinymce/plugins/wordcount/plugin.min.js | 1 + .../com_acym/js/tinymce/skins/index.html | 1 + .../skins/lightgray/content.inline.min.css | 1 + .../tinymce/skins/lightgray/content.min.css | 1 + .../tinymce/skins/lightgray/fonts/index.html | 1 + .../skins/lightgray/fonts/tinymce-small.eot | Bin 0 -> 9492 bytes .../skins/lightgray/fonts/tinymce-small.svg | 63 + .../skins/lightgray/fonts/tinymce-small.ttf | Bin 0 -> 9304 bytes .../skins/lightgray/fonts/tinymce-small.woff | Bin 0 -> 9380 bytes .../tinymce/skins/lightgray/fonts/tinymce.eot | Bin 0 -> 17572 bytes .../tinymce/skins/lightgray/fonts/tinymce.svg | 131 + .../tinymce/skins/lightgray/fonts/tinymce.ttf | Bin 0 -> 17408 bytes .../skins/lightgray/fonts/tinymce.woff | Bin 0 -> 17484 bytes .../js/tinymce/skins/lightgray/img/anchor.gif | Bin 0 -> 53 bytes .../js/tinymce/skins/lightgray/img/index.html | 1 + .../js/tinymce/skins/lightgray/img/loader.gif | Bin 0 -> 2608 bytes .../js/tinymce/skins/lightgray/img/object.gif | Bin 0 -> 152 bytes .../js/tinymce/skins/lightgray/img/trans.gif | Bin 0 -> 43 bytes .../js/tinymce/skins/lightgray/index.html | 1 + .../js/tinymce/skins/lightgray/skin.min.css | 1 + .../media/com_acym/js/tinymce/table.min.js | 5 + .../com_acym/js/tinymce/themes/index.html | 1 + .../js/tinymce/themes/inlite/index.html | 1 + .../js/tinymce/themes/inlite/theme.min.js | 1 + .../js/tinymce/themes/modern/index.html | 1 + .../js/tinymce/themes/modern/theme.min.js | 1 + .../media/com_acym/js/tinymce/tinymce.min.js | 16 + .../upload/image_mailing_step_email.jpg | Bin 0 -> 189121 bytes .../upload/logo_acymailing_step_email.png | Bin 0 -> 15639 bytes deployed/acym/modules/mod_acym/index.html | 0 deployed/acym/modules/mod_acym/mod_acym.php | 206 + deployed/acym/modules/mod_acym/mod_acym.xml | 82 + .../acym/modules/mod_acym/tmpl/default.php | 99 + .../acym/modules/mod_acym/tmpl/index.html | 1 + .../acym/modules/mod_acym/tmpl/tableless.php | 107 + .../system/acymtriggers/acymtriggers.php | 202 + .../system/acymtriggers/acymtriggers.xml | 16 + .../acym/plugins/system/jceacym/jceacym.php | 25 + .../acym/plugins/system/jceacym/jceacym.xml | 16 + 524 files changed, 60724 insertions(+) create mode 100644 deployed/acym/administrator/components/com_acym/acym.php create mode 100644 deployed/acym/administrator/components/com_acym/acym.xml create mode 100644 deployed/acym/administrator/components/com_acym/classes/action.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/automation.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/bounce.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/campaign.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/condition.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/configuration.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/field.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/history.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/index.html create mode 100644 deployed/acym/administrator/components/com_acym/classes/list.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/mail.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/mailstat.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/query.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/queue.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/rule.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/step.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/tag.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/url.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/urlclick.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/user.php create mode 100644 deployed/acym/administrator/components/com_acym/classes/userstat.php create mode 100644 deployed/acym/administrator/components/com_acym/config.xml create mode 100644 deployed/acym/administrator/components/com_acym/controllers/automation.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/bounces.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/campaigns.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/configuration.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/dashboard.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/dynamics.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/fields.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/file.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/index.html create mode 100644 deployed/acym/administrator/components/com_acym/controllers/language.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/lists.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/mails.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/queue.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/stats.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/toggle.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/update.php create mode 100644 deployed/acym/administrator/components/com_acym/controllers/users.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/article/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/article/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/cbuilder/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/cbuilder/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/eventbooking/icon.png create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/eventbooking/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/eventbooking/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/hikashop/icon.ico create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/hikashop/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/hikashop/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/jevents/icon.ico create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/jevents/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/jevents/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/jomsocial/icon.ico create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/jomsocial/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/jomsocial/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/managetext/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/managetext/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/online/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/online/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/page/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/page/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/payplans/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/payplans/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/post/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/post/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/seblod/acyseblodfield.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/seblod/icon.svg create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/seblod/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/seblod/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/statistics/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/statistics/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/subscriber/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/subscriber/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/subscription/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/subscription/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/time/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/time/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/user/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/user/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/virtuemart/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/virtuemart/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/woocommerce/icon.png create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/woocommerce/index.html create mode 100644 deployed/acym/administrator/components/com_acym/dynamics/woocommerce/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/bounce.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/captcha.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/cron.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/editor.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/encoding.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/export.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/header.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/helper.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/image.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/import.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/index.html create mode 100644 deployed/acym/administrator/components/com_acym/helpers/mailer.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/migration.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/pagination.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/queue.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/regacy.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/tab.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/update.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/user.php create mode 100644 deployed/acym/administrator/components/com_acym/helpers/workflow.php create mode 100644 deployed/acym/administrator/components/com_acym/index.html create mode 100644 deployed/acym/administrator/components/com_acym/install.joomla.php create mode 100644 deployed/acym/administrator/components/com_acym/library/class.php create mode 100644 deployed/acym/administrator/components/com_acym/library/controller.php create mode 100644 deployed/acym/administrator/components/com_acym/library/index.html create mode 100644 deployed/acym/administrator/components/com_acym/library/joomla.php create mode 100644 deployed/acym/administrator/components/com_acym/library/parameter.php create mode 100644 deployed/acym/administrator/components/com_acym/library/plugin.php create mode 100644 deployed/acym/administrator/components/com_acym/library/punycode.php create mode 100644 deployed/acym/administrator/components/com_acym/library/view.php create mode 100644 deployed/acym/administrator/components/com_acym/tables.sql create mode 100644 deployed/acym/administrator/components/com_acym/types/charset.php create mode 100644 deployed/acym/administrator/components/com_acym/types/delay.php create mode 100644 deployed/acym/administrator/components/com_acym/types/failaction.php create mode 100644 deployed/acym/administrator/components/com_acym/types/fileTree.php create mode 100644 deployed/acym/administrator/components/com_acym/types/index.html create mode 100644 deployed/acym/administrator/components/com_acym/types/operator.php create mode 100644 deployed/acym/administrator/components/com_acym/types/operatorin.php create mode 100644 deployed/acym/administrator/components/com_acym/types/uploadFile.php create mode 100644 deployed/acym/administrator/components/com_acym/views/automation/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/automation/tmpl/action.php create mode 100644 deployed/acym/administrator/components/com_acym/views/automation/tmpl/condition.php create mode 100644 deployed/acym/administrator/components/com_acym/views/automation/tmpl/filter.php create mode 100644 deployed/acym/administrator/components/com_acym/views/automation/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/automation/tmpl/info.php create mode 100644 deployed/acym/administrator/components/com_acym/views/automation/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/automation/tmpl/summary.php create mode 100644 deployed/acym/administrator/components/com_acym/views/automation/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/bounces/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/bounces/tmpl/edit.php create mode 100644 deployed/acym/administrator/components/com_acym/views/bounces/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/bounces/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/bounces/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/choose_email.php create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/edit_email.php create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/recipients.php create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/send_settings.php create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/summary.php create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/tmpl/tests.php create mode 100644 deployed/acym/administrator/components/com_acym/views/campaigns/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/bounce.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/data.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/features.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/interface.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/languages.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/mail.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/queue.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/security.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/tmpl/subscription.php create mode 100644 deployed/acym/administrator/components/com_acym/views/configuration/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/feedback.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/migrate.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_email.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_fail.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_faillocal.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_gmail.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_list.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_phpmail.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_result.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_subscribe.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_success.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/step_support.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/upgrade.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/tmpl/walk_through.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dashboard/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dynamics/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/dynamics/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/dynamics/tmpl/popup.php create mode 100644 deployed/acym/administrator/components/com_acym/views/dynamics/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/fields/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/fields/tmpl/edit.php create mode 100644 deployed/acym/administrator/components/com_acym/views/fields/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/fields/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/fields/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/file/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/file/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/file/tmpl/select.php create mode 100644 deployed/acym/administrator/components/com_acym/views/file/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/language/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/language/tmpl/default.php create mode 100644 deployed/acym/administrator/components/com_acym/views/language/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/language/tmpl/share.php create mode 100644 deployed/acym/administrator/components/com_acym/views/language/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/lists/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/lists/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/lists/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/lists/tmpl/settings.php create mode 100644 deployed/acym/administrator/components/com_acym/views/lists/tmpl/subscribers.php create mode 100644 deployed/acym/administrator/components/com_acym/views/lists/tmpl/unsubscribe.php create mode 100644 deployed/acym/administrator/components/com_acym/views/lists/tmpl/welcome.php create mode 100644 deployed/acym/administrator/components/com_acym/views/lists/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/mails/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/mails/tmpl/choose.php create mode 100644 deployed/acym/administrator/components/com_acym/views/mails/tmpl/choose_template.php create mode 100644 deployed/acym/administrator/components/com_acym/views/mails/tmpl/choose_template_ajax.php create mode 100644 deployed/acym/administrator/components/com_acym/views/mails/tmpl/edit.php create mode 100644 deployed/acym/administrator/components/com_acym/views/mails/tmpl/editor_wysid.php create mode 100644 deployed/acym/administrator/components/com_acym/views/mails/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/mails/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/mails/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/queue/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/queue/tmpl/automated.php create mode 100644 deployed/acym/administrator/components/com_acym/views/queue/tmpl/campaigns.php create mode 100644 deployed/acym/administrator/components/com_acym/views/queue/tmpl/detailed.php create mode 100644 deployed/acym/administrator/components/com_acym/views/queue/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/queue/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/stats/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/stats/tmpl/click_map.php create mode 100644 deployed/acym/administrator/components/com_acym/views/stats/tmpl/detailed_stats.php create mode 100644 deployed/acym/administrator/components/com_acym/views/stats/tmpl/global_stats.php create mode 100644 deployed/acym/administrator/components/com_acym/views/stats/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/stats/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/stats/view.html.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/ajaxencoding.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/edit.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/export.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/genericimport.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/import.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/importcmsusers.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/importfromdatabase.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/importfromfile.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/importfromtext.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/index.html create mode 100644 deployed/acym/administrator/components/com_acym/views/users/tmpl/listing.php create mode 100644 deployed/acym/administrator/components/com_acym/views/users/view.html.php create mode 100644 deployed/acym/components/com_acym/acym.php create mode 100644 deployed/acym/components/com_acym/controllers/archive.php create mode 100644 deployed/acym/components/com_acym/controllers/cron.php create mode 100644 deployed/acym/components/com_acym/controllers/frontstats.php create mode 100644 deployed/acym/components/com_acym/controllers/fronturl.php create mode 100644 deployed/acym/components/com_acym/controllers/frontusers.php create mode 100644 deployed/acym/components/com_acym/controllers/index.html create mode 100644 deployed/acym/components/com_acym/inc/emogrifier.php create mode 100644 deployed/acym/components/com_acym/inc/index.html create mode 100644 deployed/acym/components/com_acym/inc/pear/index.html create mode 100644 deployed/acym/components/com_acym/inc/pear/pear.php create mode 100644 deployed/acym/components/com_acym/inc/pear/pop3.php create mode 100644 deployed/acym/components/com_acym/inc/pear/socket.php create mode 100644 deployed/acym/components/com_acym/inc/phpmailer/elasticemail.php create mode 100644 deployed/acym/components/com_acym/inc/phpmailer/exception.php create mode 100644 deployed/acym/components/com_acym/inc/phpmailer/index.html create mode 100644 deployed/acym/components/com_acym/inc/phpmailer/phpmailer.php create mode 100644 deployed/acym/components/com_acym/inc/phpmailer/smtp.php create mode 100644 deployed/acym/components/com_acym/index.html create mode 100644 deployed/acym/components/com_acym/params/archive.php create mode 100644 deployed/acym/components/com_acym/params/article.php create mode 100644 deployed/acym/components/com_acym/params/fields.php create mode 100644 deployed/acym/components/com_acym/params/help.php create mode 100644 deployed/acym/components/com_acym/params/index.html create mode 100644 deployed/acym/components/com_acym/params/lists.php create mode 100644 deployed/acym/components/com_acym/router.php create mode 100644 deployed/acym/components/com_acym/views/archive/index.html create mode 100644 deployed/acym/components/com_acym/views/archive/tmpl/index.html create mode 100644 deployed/acym/components/com_acym/views/archive/tmpl/listing.php create mode 100644 deployed/acym/components/com_acym/views/archive/tmpl/listing.xml create mode 100644 deployed/acym/components/com_acym/views/archive/tmpl/view.php create mode 100644 deployed/acym/components/com_acym/views/archive/view.html.php create mode 100644 deployed/acym/components/com_acym/views/frontusers/index.html create mode 100644 deployed/acym/components/com_acym/views/frontusers/tmpl/index.html create mode 100644 deployed/acym/components/com_acym/views/frontusers/tmpl/profile.php create mode 100644 deployed/acym/components/com_acym/views/frontusers/tmpl/profile.xml create mode 100644 deployed/acym/components/com_acym/views/frontusers/view.html.php create mode 100644 deployed/acym/components/com_acym/views/index.html create mode 100644 deployed/acym/media/com_acym/css/back_global.min.css create mode 100644 deployed/acym/media/com_acym/css/click_map.min.css create mode 100644 deployed/acym/media/com_acym/css/email.min.css create mode 100644 deployed/acym/media/com_acym/css/front_global.min.css create mode 100644 deployed/acym/media/com_acym/css/index.html create mode 100644 deployed/acym/media/com_acym/css/libraries/foundation_email.min.css create mode 100644 deployed/acym/media/com_acym/css/libraries/index.html create mode 100644 deployed/acym/media/com_acym/css/libraries/introjs.min.css create mode 100644 deployed/acym/media/com_acym/css/libraries/material-datetime-picker.min.css create mode 100644 deployed/acym/media/com_acym/css/libraries/spectrum.min.css create mode 100644 deployed/acym/media/com_acym/css/module.min.css create mode 100644 deployed/acym/media/com_acym/css/widget.min.css create mode 100644 deployed/acym/media/com_acym/images/close.png create mode 100644 deployed/acym/media/com_acym/images/dailymotion.png create mode 100644 deployed/acym/media/com_acym/images/default_template_thumbnail.png create mode 100644 deployed/acym/media/com_acym/images/file.png create mode 100644 deployed/acym/media/com_acym/images/fonts/icons.eot create mode 100644 deployed/acym/media/com_acym/images/fonts/icons.svg create mode 100644 deployed/acym/media/com_acym/images/fonts/icons.ttf create mode 100644 deployed/acym/media/com_acym/images/fonts/icons.woff create mode 100644 deployed/acym/media/com_acym/images/fonts/index.html create mode 100644 deployed/acym/media/com_acym/images/happy_man_1.png create mode 100644 deployed/acym/media/com_acym/images/image_mailing_step_email.jpg create mode 100644 deployed/acym/media/com_acym/images/img_template/default_template.png create mode 100644 deployed/acym/media/com_acym/images/img_template/default_template_2.png create mode 100644 deployed/acym/media/com_acym/images/img_template/ic-garantie.svg create mode 100644 deployed/acym/media/com_acym/images/img_template/ic-paiement-securise.svg create mode 100644 deployed/acym/media/com_acym/images/img_template/ic-savoir-faire.svg create mode 100644 deployed/acym/media/com_acym/images/img_template/index.html create mode 100644 deployed/acym/media/com_acym/images/img_thumbnail/index.html create mode 100644 deployed/acym/media/com_acym/images/index.html create mode 100644 deployed/acym/media/com_acym/images/logo/facebook.png create mode 100644 deployed/acym/media/com_acym/images/logo/index.html create mode 100644 deployed/acym/media/com_acym/images/logo/instagram.png create mode 100644 deployed/acym/media/com_acym/images/logo/linkedin.png create mode 100644 deployed/acym/media/com_acym/images/logo/pinterest.png create mode 100644 deployed/acym/media/com_acym/images/logo/twitter.png create mode 100644 deployed/acym/media/com_acym/images/logo/vimeo.png create mode 100644 deployed/acym/media/com_acym/images/logo/wordpress.png create mode 100644 deployed/acym/media/com_acym/images/logo/youtube.png create mode 100644 deployed/acym/media/com_acym/images/logo_acym.svg create mode 100644 deployed/acym/media/com_acym/images/logo_acymailing_step_email.png create mode 100644 deployed/acym/media/com_acym/images/logo_menu.svg create mode 100644 deployed/acym/media/com_acym/images/statpicture.png create mode 100644 deployed/acym/media/com_acym/images/thumbnail_first_email.png create mode 100644 deployed/acym/media/com_acym/images/thumbnails/index.html create mode 100644 deployed/acym/media/com_acym/images/thumbnails/thumbnail_3.png create mode 100644 deployed/acym/media/com_acym/images/thumbnails/thumbnail_4.png create mode 100644 deployed/acym/media/com_acym/images/thumbnails/thumbnail_5.png create mode 100644 deployed/acym/media/com_acym/images/thumbnails/thumbnail_first_email.png create mode 100644 deployed/acym/media/com_acym/images/vimeo.png create mode 100644 deployed/acym/media/com_acym/images/youtube.png create mode 100644 deployed/acym/media/com_acym/index.html create mode 100644 deployed/acym/media/com_acym/js/back/automation.min.js create mode 100644 deployed/acym/media/com_acym/js/back/bounces.min.js create mode 100644 deployed/acym/media/com_acym/js/back/campaigns.min.js create mode 100644 deployed/acym/media/com_acym/js/back/configuration.min.js create mode 100644 deployed/acym/media/com_acym/js/back/dashboard.min.js create mode 100644 deployed/acym/media/com_acym/js/back/fields.min.js create mode 100644 deployed/acym/media/com_acym/js/back/file.min.js create mode 100644 deployed/acym/media/com_acym/js/back/index.html create mode 100644 deployed/acym/media/com_acym/js/back/language.min.js create mode 100644 deployed/acym/media/com_acym/js/back/lists.min.js create mode 100644 deployed/acym/media/com_acym/js/back/mails.min.js create mode 100644 deployed/acym/media/com_acym/js/back/queue.min.js create mode 100644 deployed/acym/media/com_acym/js/back/stats.min.js create mode 100644 deployed/acym/media/com_acym/js/back/users.min.js create mode 100644 deployed/acym/media/com_acym/js/back_global.min.js create mode 100644 deployed/acym/media/com_acym/js/front/frontarchive.min.js create mode 100644 deployed/acym/media/com_acym/js/front/frontusers.min.js create mode 100644 deployed/acym/media/com_acym/js/front/index.html create mode 100644 deployed/acym/media/com_acym/js/front_global.min.js create mode 100644 deployed/acym/media/com_acym/js/global.min.js create mode 100644 deployed/acym/media/com_acym/js/index.html create mode 100644 deployed/acym/media/com_acym/js/libraries/chart.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/dom-to-image.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/foundation.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/index.html create mode 100644 deployed/acym/media/com_acym/js/libraries/intro.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/material-datetime-picker.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/moment.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/parse-css.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/rome.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/select2.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/spectrum.min.js create mode 100644 deployed/acym/media/com_acym/js/libraries/what-input.min.js create mode 100644 deployed/acym/media/com_acym/js/module.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/jquery.tinymce.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/langs/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/langs/readme.md create mode 100644 deployed/acym/media/com_acym/js/tinymce/license.txt create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/acydtext/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/acydtext/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/advlist/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/advlist/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/anchor/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/anchor/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/autolink/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/autolink/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/autoresize/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/autoresize/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/autosave/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/autosave/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/bbcode/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/bbcode/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/charmap/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/charmap/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/code/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/code/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/codesample/css/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/codesample/css/prism.css create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/codesample/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/codesample/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/colorpicker/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/colorpicker/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/contextmenu/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/contextmenu/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/directionality/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/directionality/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-cool.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-cry.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-embarassed.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-frown.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-innocent.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-kiss.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-laughing.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-money-mouth.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-sealed.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-smile.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-surprised.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-tongue-out.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-undecided.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-wink.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/img/smiley-yell.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/emoticons/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/fullpage/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/fullpage/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/fullscreen/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/fullscreen/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/help/img/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/help/img/logo.png create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/help/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/help/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/hr/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/hr/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/image/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/image/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/imagetools/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/imagetools/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/importcss/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/importcss/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/insertdatetime/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/insertdatetime/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/legacyoutput/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/legacyoutput/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/link/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/link/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/lists/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/lists/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/media/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/media/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/nonbreaking/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/nonbreaking/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/noneditable/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/noneditable/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/pagebreak/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/pagebreak/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/paste/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/paste/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/preview/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/preview/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/print/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/print/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/save/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/save/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/searchreplace/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/searchreplace/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/spellchecker/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/spellchecker/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/tabfocus/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/tabfocus/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/table/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/table/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/template/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/template/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/textcolor/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/textcolor/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/textpattern/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/textpattern/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/toc/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/toc/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/visualblocks/css/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/visualblocks/css/visualblocks.css create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/visualblocks/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/visualblocks/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/visualchars/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/visualchars/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/wordcount/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/plugins/wordcount/plugin.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/content.inline.min.css create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/content.min.css create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/fonts/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/fonts/tinymce-small.eot create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/fonts/tinymce-small.svg create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/fonts/tinymce-small.woff create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/fonts/tinymce.eot create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/fonts/tinymce.svg create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/fonts/tinymce.ttf create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/fonts/tinymce.woff create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/img/anchor.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/img/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/img/loader.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/img/object.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/img/trans.gif create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/skins/lightgray/skin.min.css create mode 100644 deployed/acym/media/com_acym/js/tinymce/table.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/themes/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/themes/inlite/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/themes/inlite/theme.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/themes/modern/index.html create mode 100644 deployed/acym/media/com_acym/js/tinymce/themes/modern/theme.min.js create mode 100644 deployed/acym/media/com_acym/js/tinymce/tinymce.min.js create mode 100644 deployed/acym/media/com_acym/upload/image_mailing_step_email.jpg create mode 100644 deployed/acym/media/com_acym/upload/logo_acymailing_step_email.png create mode 100644 deployed/acym/modules/mod_acym/index.html create mode 100644 deployed/acym/modules/mod_acym/mod_acym.php create mode 100644 deployed/acym/modules/mod_acym/mod_acym.xml create mode 100644 deployed/acym/modules/mod_acym/tmpl/default.php create mode 100644 deployed/acym/modules/mod_acym/tmpl/index.html create mode 100644 deployed/acym/modules/mod_acym/tmpl/tableless.php create mode 100644 deployed/acym/plugins/system/acymtriggers/acymtriggers.php create mode 100644 deployed/acym/plugins/system/acymtriggers/acymtriggers.xml create mode 100644 deployed/acym/plugins/system/jceacym/jceacym.php create mode 100644 deployed/acym/plugins/system/jceacym/jceacym.xml diff --git a/deployed/acym/administrator/components/com_acym/acym.php b/deployed/acym/administrator/components/com_acym/acym.php new file mode 100644 index 00000000..f26fdeee --- /dev/null +++ b/deployed/acym/administrator/components/com_acym/acym.php @@ -0,0 +1,89 @@ +This version of AcyMailing requires at least PHP 5.4.0, it is time to update the PHP version of your server!

'; + exit; +} + +if (!include_once(rtrim(JPATH_ADMINISTRATOR, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acym'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php')) { + echo "Could not load Acy helper file"; + + return; +} + +if (acym_isDebug()) { + acym_displayErrors(); +} + +$ctrl = acym_getVar('cmd', 'ctrl', 'dashboard'); +$task = acym_getVar('cmd', 'task'); + +$config = acym_config(); + +if ((($config->get('migration') == 0 && acym_existsAcyMailing59() && acym_getVar('string', 'task') != 'migrationDone') || $config->get('walk_through') == 1) && !acym_isNoTemplate()) { + $ctrl = 'dashboard'; +} + + +if (!include_once(ACYM_CONTROLLER.$ctrl.'.php')) { + acym_redirect(acym_completeLink('dashboard')); + + return; +} + +$className = ucfirst($ctrl).'Controller'; +$controller = new $className(); + +if (empty($task)) { + $task = acym_getVar('cmd', 'defaulttask', $controller->defaulttask); + acym_setVar('task', $task); +} + +if (file_exists(ACYM_BACK.'extensions')) { + $updateHelper = acym_get('helper.update'); + $updateHelper->installExtensions(); +} + +acym_addScript( + true, + 'var TOGGLE_URL_ACYM = "index.php?option='.ACYM_COMPONENT.'&'.acym_noTemplate().'&ctrl=toggle&'.acym_getFormToken().'"; + var AJAX_URL_ACYM = "index.php?option='.ACYM_COMPONENT.'&'.acym_noTemplate().'&'.acym_getFormToken().'"; + var AJAX_URL_ACYBA = "'.ACYM_ACYWEBSITE.'"; + var MEDIA_URL_ACYM = "'.ACYM_MEDIA_URL.'"; + var CMS_ACYM = "'.ACYM_CMS.'"; + var FOUNDATION_FOR_EMAIL = "'.ACYM_CSS.'libraries/foundation_email.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'libraries'.DS.'foundation_email.min.css').'"; + var ACYM_FIXES_FOR_EMAIL = "'.ACYM_CSS.'email.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'email.min.css').'"; + var ACYM_REGEX_EMAIL = /^'.acym_getEmailRegex(true).'$/i; + var ACYM_JS_TXT = '.acym_getJSMessages().'; + var ACYM_JOOMLA_MEDIA_IMAGE = "'.ACYM_LIVE.'";' +); + +JHtml::_('jquery.framework'); +acym_addScript(false, 'https://code.jquery.com/ui/1.11.4/jquery-ui.min.js'); + +acym_addScript(false, ACYM_JS.'libraries/foundation.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'foundation.min.js')); +acym_addScript(false, ACYM_JS.'libraries/select2.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'select2.min.js')); + +acym_addStyle(false, 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css'); + +acym_addStyle(false, ACYM_CSS.'libraries/introjs.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'libraries'.DS.'introjs.min.css')); +acym_addScript(false, ACYM_JS.'libraries/intro.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'intro.min.js')); + +acym_addScript(false, ACYM_JS.'global.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'global.min.js')); +acym_addScript(false, ACYM_JS.'back_global.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'back_global.min.js')); +acym_addStyle(false, ACYM_CSS.'back_global.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'back_global.min.css')); +if (file_exists(ACYM_MEDIA.'js'.DS.'back'.DS.$ctrl.'.min.js')) { + acym_addScript(false, ACYM_JS.'back/'.$ctrl.'.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'back'.DS.$ctrl.'.min.js')); +} + +$controller->loadScripts($task); +$controller->$task(); diff --git a/deployed/acym/administrator/components/com_acym/acym.xml b/deployed/acym/administrator/components/com_acym/acym.xml new file mode 100644 index 00000000..55e57a73 --- /dev/null +++ b/deployed/acym/administrator/components/com_acym/acym.xml @@ -0,0 +1,69 @@ + + + Acym + August 2019 + 6.2.0 + starter + Acyba + dev@acyba.com + https://www.acyba.com + Copyright (C) 2009-2019 ACYBA SAS - All rights reserved. + Manage your Mailing lists and e-mail marketing campaigns + GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html + + en-GB.com_acym.ini + en-US.com_acym.ini + + + + tables.sql + + + install.joomla.php + + controllers + inc + views + params + acym.php + index.html + router.php + + + css + images + js + index.html + + + + classes + controllers + dynamics + extensions + helpers + library + types + views + templates + acym.php + config.xml + index.html + tables.sql + + COM_ACYM + + ACYM_USERS + ACYM_CUSTOM_FIELDS + ACYM_LISTS + ACYM_CAMPAIGNS + ACYM_TEMPLATES + ACYM_AUTOMATION + ACYM_QUEUE + ACYM_STATISTICS + ACYM_BOUNCE_HANDLING + ACYM_CONFIGURATION + + + + diff --git a/deployed/acym/administrator/components/com_acym/classes/action.php b/deployed/acym/administrator/components/com_acym/classes/action.php new file mode 100644 index 00000000..44d3ad01 --- /dev/null +++ b/deployed/acym/administrator/components/com_acym/classes/action.php @@ -0,0 +1,36 @@ + $value) { + if (empty($value)) { + continue; + } + + if (is_array($value)) { + $value = json_encode($value); + } + + $automation->$oneAttribute = strip_tags($value); + } + + return parent::save($automation); + } + + public function delete($elements) + { + if (!is_array($elements)) { + $elements = [$elements]; + } + acym_arrayToInteger($elements); + + if (empty($elements)) { + return 0; + } + + $steps = acym_loadResultArray('SELECT id FROM #__acym_step WHERE automation_id IN ('.implode(',', $elements).')'); + $stepClass = acym_get('class.step'); + $stepsDeleted = $stepClass->delete($steps); + + return parent::delete($elements); + } + + public function trigger($trigger, $data = []) + { + if (!acym_level(2)) return; + + $stepClass = acym_get('class.step'); + $actionClass = acym_get('class.action'); + $conditionClass = acym_get('class.condition'); + $steps = $stepClass->getActiveStepByTrigger($trigger); + + $data['time'] = time(); + foreach ($steps as $step) { + $execute = false; + + if (!empty($step->next_execution) && $step->next_execution <= $data['time']) { + $execute = true; + } + + acym_trigger('onAcymExecuteTrigger', [&$step, &$execute, $data]); + + $data['automation'] = $this->getOneById($step->automation_id); + + if ($execute) { + $step->last_execution = $data['time']; + $conditions = $conditionClass->getConditionsByStepId($step->id); + if (!empty($conditions)) { + foreach ($conditions as $condition) { + if (!$this->_verifyCondition($condition->conditions, $data)) continue; + + $actions = $actionClass->getActionsByStepId($step->id); + if (empty($actions)) continue; + + foreach ($actions as $action) { + $this->execute($action, $data); + } + } + } + } + + $stepClass->save($step); + } + } + + public function execute($action, $data = []) + { + $userTriggeringAction = empty($data['userId']) ? 0 : $data['userId']; + $action->actions = json_decode($action->actions, true); + if (empty($action->actions)) return false; + + $isMassAction = false; + static $massAction = 0; + if (empty($action->id)) { + $action->id = $massAction--; + $isMassAction = true; + } + + $action->filters = json_decode($action->filters, true); + if (empty($action->filters)) return false; + + + $query = acym_get('class.query'); + + $initialWhere = ['1 = 1']; + $query->removeFlag($action->id); + + if (!empty($action->filters['type_filter']) && $action->filters['type_filter'] == 'user') { + $initialWhere = ['user.id = '.intval($userTriggeringAction)]; + } + + $typeFilter = $action->filters['type_filter']; + + unset($action->filters['type_filter']); + if (empty($action->filters)) { + $query->where = $initialWhere; + } + + foreach ($action->filters as $or => $orValue) { + if (empty($orValue)) { + continue; + } + $num = 0; + $query->where = $initialWhere; + foreach ($orValue as $and => $andValue) { + $num++; + foreach ($andValue as $filterName => $filterOptions) { + acym_trigger('onAcymProcessFilter_'.$filterName, [&$query, &$filterOptions, &$num]); + } + } + + $query->addFlag($action->id); + } + + $this->didAnAction = $this->didAnAction || $query->count() > 0; + foreach ($action->actions as $and => $andValue) { + foreach ($andValue as $actionName => $actionOptions) { + $this->report = array_merge( + $this->report, + acym_trigger( + 'onAcymProcessAction_'.$actionName, + [&$query, &$actionOptions, ['automationAdmin' => !empty($data['automation']->admin), 'user_id' => $userTriggeringAction]] + ) + ); + $action->actions[$and][$actionName] = $actionOptions; + } + } + + if (!$isMassAction) { + $action->filters['type_filter'] = $typeFilter; + $action->filters = json_encode($action->filters); + $action->actions = json_encode($action->actions); + $actionClass = acym_get('class.action'); + $actionClass->save($action); + } + + $query->removeFlag($action->id); + + return $this->didAnAction; + } + + private function _verifyCondition($conditions, $data = []) + { + if (empty($conditions)) return true; + $userTriggeringAction = empty($data['userId']) ? 0 : $data['userId']; + + $conditions = json_decode($conditions, true); + $query = acym_get('class.query'); + $initialWhere = ['1 = 1']; + if (!empty($conditions['type_condition']) && $conditions['type_condition'] == 'user') { + $initialWhere = ['user.id = '.intval($userTriggeringAction)]; + } + unset($conditions['type_condition']); + + if (empty($conditions)) return true; + + foreach ($conditions as $or => $orValue) { + if (empty($orValue)) continue; + + $conditionNotValid = 0; + $num = 0; + foreach ($orValue as $and => $andValue) { + $num++; + $query->where = $initialWhere; + foreach ($andValue as $filterName => $filterOptions) { + acym_trigger('onAcymProcessCondition_'.$filterName, [&$query, &$filterOptions, &$num, &$conditionNotValid]); + } + } + + if ($conditionNotValid == 0) return true; + } + + return false; + } + + public function getAutomationsAdmin($ids = []) + { + acym_arrayToInteger($ids); + + $query = 'SELECT * FROM #__acym_automation WHERE `admin` = 1'; + if (!empty($ids)) $query .= ' AND `id` IN ('.implode(', ', $ids).')'; + + return acym_loadObjectList($query, 'name'); + } +} + diff --git a/deployed/acym/administrator/components/com_acym/classes/bounce.php b/deployed/acym/administrator/components/com_acym/classes/bounce.php new file mode 100644 index 00000000..3d26f84c --- /dev/null +++ b/deployed/acym/administrator/components/com_acym/classes/bounce.php @@ -0,0 +1,37 @@ +decode(acym_loadObjectList($query, '', $settings['offset'], $settings['campaignsPerPage'])); + + foreach ($results['campaigns'] as $oneCampaign) { + array_push($mailIds, $oneCampaign->mail_id); + $oneCampaign->tags = ''; + } + + $tags = $tagClass->getAllTagsByTypeAndElementIds('mail', $mailIds); + $lists = $mailClass->getAllListsWithCountSubscribersByMailIds($mailIds); + $totalStats = $statClass->getAllFromMailIds($mailIds); + + foreach ($results['campaigns'] as $i => $oneCampaign) { + $results['campaigns'][$i]->tags = []; + $results['campaigns'][$i]->lists = []; + $results['campaigns'][$i]->automation_id = null; + + foreach ($tags as $tag) { + if ($oneCampaign->id == $tag->id_element) { + $results['campaigns'][$i]->tags[] = $tag; + } + } + + foreach ($lists as $list) { + if ($oneCampaign->mail_id == $list->mail_id) { + array_push($results['campaigns'][$i]->lists, $list); + } + } + + if (isset($totalStats[$oneCampaign->mail_id])) { + $oneCampaignStats = $totalStats[$oneCampaign->mail_id]; + $results['campaigns'][$i]->subscribers = $oneCampaignStats->total_subscribers; + $results['campaigns'][$i]->open = 0; + if (!empty($oneCampaignStats->total_subscribers)) { + $results['campaigns'][$i]->open = intval($oneCampaignStats->open_unique / $oneCampaignStats->total_subscribers * 100); + } + } + } + + $results['total'] = acym_loadResult($queryCount); + + return $results; + } + + public function getOneById($id) + { + $query = 'SELECT campaign.* FROM #__acym_campaign AS campaign WHERE campaign.id = '.intval($id); + + return acym_loadObject($query); + } + + public function getOneByIdWithMail($id) + { + $mailClass = acym_get('class.mail'); + + $query = 'SELECT campaign.*, mail.name, mail.subject, mail.body, mail.from_name, mail.from_email, mail.reply_to_name, mail.reply_to_email, mail.bcc + FROM #__acym_campaign AS campaign + JOIN #__acym_mail AS mail ON campaign.mail_id = mail.id + WHERE campaign.id = '.intval($id); + + return $mailClass->decode(acym_loadObject($query)); + } + + public function get($identifier, $column = 'id') + { + return acym_loadObject('SELECT campaign.* FROM #__acym_campaign AS campaign WHERE campaign.'.acym_secureDBColumn($column).' = '.acym_escapeDB($identifier)); + } + + public function getAllCampaignsNameMailId() + { + $mailClass = acym_get('class.mail'); + + $query = 'SELECT m.id, m.name + FROM #__acym_campaign as c + LEFT JOIN #__acym_mail as m ON c.mail_id = m.id'; + + return $mailClass->decode(acym_loadObjectList($query)); + } + + public function getOneCampaignByMailId($mailId) + { + $query = 'SELECT * FROM #__acym_campaign WHERE mail_id = '.intval($mailId); + + return acym_loadObject($query); + } + + public function manageListsToCampaign($listsIds, $mailId) + { + acym_query('DELETE FROM #__acym_mail_has_list WHERE mail_id = '.intval($mailId)); + + acym_arrayToInteger($listsIds); + if (empty($listsIds)) return; + + $values = []; + $listsIds = array_unique($listsIds); + foreach ($listsIds as $id) { + array_push($values, '('.intval($mailId).', '.intval($id).')'); + } + + if (!empty($values)) { + acym_query('INSERT INTO #__acym_mail_has_list (`mail_id`, `list_id`) VALUES '.implode(',', $values)); + } + } + + public function save($campaign) + { + if (isset($campaign->tags)) { + $tags = $campaign->tags; + unset($campaign->tags); + } + + foreach ($campaign as $oneAttribute => $value) { + if (empty($value)) { + continue; + } + + $campaign->$oneAttribute = strip_tags($value); + } + + $campaignID = parent::save($campaign); + + if (!empty($campaignID) && isset($tags)) { + $tagClass = acym_get('class.tag'); + $tagClass->setTags('mail', $campaign->mail_id, $tags); + } + + return $campaignID; + } + + public function delete($elements) + { + if (!is_array($elements)) { + $elements = [$elements]; + } + + if (empty($elements)) { + return 0; + } + + $mailsToDelete = []; + foreach ($elements as $id) { + $mailsToDelete[] = acym_loadResult('SELECT mail_id FROM #__acym_campaign WHERE id = '.intval($id)); + acym_query('UPDATE #__acym_campaign SET mail_id = NULL WHERE id = '.intval($id)); + } + + $mailClass = acym_get('class.mail'); + $mailClass->delete($mailsToDelete); + + return parent::delete($elements); + } + + public function send($campaignID, $result = 0) + { + $date = acym_date('now', 'Y-m-d H:i:s', false); + $campaign = $this->getOneById($campaignID); + + if ($campaign->scheduled == 0) { + $campaign->sending_date = $date; + $campaign->draft = 0; + $this->save($campaign); + } + + if (empty($campaign->mail_id)) { + $this->errors[] = 'Mail not found'; + + return false; + } + + $lists = acym_loadResultArray('SELECT list_id FROM #__acym_mail_has_list WHERE mail_id = '.intval($campaign->mail_id)); + + if (empty($lists)) { + $this->errors[] = acym_translation('ACYM_NO_LIST_SELECTED'); + + return false; + } + + acym_arrayToInteger($lists); + + $config = acym_config(); + $confirmed = $config->get('require_confirmation', 1) == 1 ? ' AND user.confirmed = 1 ' : ''; + if (empty($result)) { + $result = acym_query( + 'INSERT IGNORE INTO #__acym_queue (`mail_id`, `user_id`, `sending_date`) + SELECT '.intval($campaign->mail_id).', ul.user_id, '.acym_escapeDB($date).' + FROM #__acym_user_has_list AS ul + JOIN #__acym_user AS user ON user.id = ul.user_id + WHERE user.active = 1 AND ul.status = 1 AND ul.list_id IN ('.implode(',', $lists).')'.$confirmed + ); + } + + $mailStat = []; + $mailStat['mail_id'] = intval($campaign->mail_id); + $mailStat['total_subscribers'] = intval($result); + $mailStat['send_date'] = acym_date("now", "Y-m-d H:i:s"); + + $mailStatClass = acym_get('class.mailstat'); + $mailStatClass->save($mailStat); + + if ($result === 0) { + $this->errors[] = acym_translation('ACYM_CAMPAIGN_ALREADY_QUEUED'); + } else { + acym_query('UPDATE #__acym_campaign SET sent = 1, active = 1 WHERE mail_id = '.intval($campaign->mail_id)); + } + + return $result; + } + + public function getCampaignForDashboard() + { + $mailClass = acym_get('class.mail'); + + $query = 'SELECT campaign.*, mail.name as name FROM #__acym_campaign as campaign LEFT JOIN #__acym_mail as mail ON campaign.mail_id = mail.id WHERE `active` = 1 AND `scheduled` = 1 AND `sent` = 0 LIMIT 3'; + + return $mailClass->decode(acym_loadObjectList($query)); + } + + public function getOpenRateOneCampaign($mail_id) + { + $query = 'SELECT sent, open_unique FROM #__acym_mail_stat + WHERE mail_id = '.intval($mail_id).' LIMIT 1'; + + return acym_loadObject($query); + } + + public function getOpenRateAllCampaign() + { + $query = 'SELECT SUM(sent) as sent, SUM(open_unique) as open_unique FROM #__acym_mail_stat'; + + return acym_loadObject($query); + } + + public function getBounceRateAllCampaign() + { + $query = 'SELECT SUM(sent) as sent, SUM(bounce_unique) as bounce_unique FROM #__acym_mail_stat'; + + return acym_loadObject($query); + } + + + public function getBounceRateOneCampaign($mail_id) + { + $query = 'SELECT sent, bounce_unique FROM #__acym_mail_stat + WHERE mail_id = '.intval($mail_id).' LIMIT 1'; + + return acym_loadObject($query); + } + + public function getOpenByMonth($mail_id = '', $start = '', $end = '') + { + $query = 'SELECT COUNT(user_id) as open, DATE_FORMAT(open_date, \'%Y-%m\') as open_date FROM #__acym_user_stat WHERE open > 0'; + $query .= empty($mail_id) ? '' : ' AND `mail_id`='.intval($mail_id); + $query .= empty($start) ? '' : ' AND `open_date` >= '.acym_escapeDB($start); + $query .= empty($start) ? '' : ' AND `open_date` <= '.acym_escapeDB($end); + $query .= ' GROUP BY MONTH(open_date), YEAR(open_date) ORDER BY open_date'; + + return acym_loadObjectList($query); + } + + public function getOpenByWeek($mail_id = '', $start = '', $end = '') + { + $query = 'SELECT COUNT(user_id) as open, DATE_FORMAT(open_date, \'%Y-%m-%d\') as open_date FROM #__acym_user_stat WHERE open > 0'; + $query .= empty($mail_id) ? '' : ' AND `mail_id`='.intval($mail_id); + $query .= empty($start) ? '' : ' AND `open_date` >= '.acym_escapeDB($start); + $query .= empty($start) ? '' : ' AND `open_date` <= '.acym_escapeDB($end); + $query .= ' GROUP BY WEEK(open_date), YEAR(open_date) ORDER BY open_date'; + + return acym_loadObjectList($query); + } + + public function getOpenByDay($mail_id = '', $start = '', $end = '') + { + $query = 'SELECT COUNT(user_id) as open, DATE_FORMAT(open_date, \'%Y-%m-%d\') as open_date FROM #__acym_user_stat WHERE open > 0'; + $query .= empty($mail_id) ? '' : ' AND `mail_id`='.intval($mail_id); + $query .= empty($start) ? '' : ' AND `open_date` >= '.acym_escapeDB($start); + $query .= empty($start) ? '' : ' AND `open_date` <= '.acym_escapeDB($end); + $query .= ' GROUP BY DAYOFYEAR(open_date), YEAR(open_date) ORDER BY open_date'; + + return acym_loadObjectList($query); + } + + public function getOpenByHour($mail_id = '', $start = '', $end = '') + { + $query = 'SELECT COUNT(user_id) as open, DATE_FORMAT(open_date, \'%Y-%m-%d %H:00:00\') as open_date FROM #__acym_user_stat WHERE open > 0'; + $query .= empty($mail_id) ? '' : ' AND `mail_id`='.intval($mail_id); + $query .= empty($start) ? '' : ' AND `open_date` >= '.acym_escapeDB($start); + $query .= empty($start) ? '' : ' AND `open_date` <= '.acym_escapeDB($end); + $query .= ' GROUP BY HOUR(open_date), DAYOFYEAR(open_date), YEAR(open_date) ORDER BY open_date'; + + return acym_loadObjectList($query); + } + + public function getLastNewsletters($params) + { + $query = 'SELECT m.name, m.id, m.body, m.subject, c.sending_date FROM #__acym_campaign as c + INNER JOIN #__acym_mail as m ON c.mail_id = m.id + WHERE c.active = 1 AND c.sent = 1'; + + $queryCount = 'SELECT COUNT(*) FROM (SELECT m.id FROM #__acym_campaign as c INNER JOIN #__acym_mail as m ON c.mail_id = m.id WHERE c.active = 1 AND c.sent = 1'; + + if (isset($params['userId'])) { + $query .= ' AND m.id IN (SELECT ml.mail_id FROM #__acym_mail_has_list ml + INNER JOIN #__acym_user_has_list ul ON ml.list_id = ul.list_id + WHERE ul.user_id = '.intval($params['userId']).')'; + $queryCount .= ' AND m.id IN (SELECT ml.mail_id FROM #__acym_mail_has_list ml + INNER JOIN #__acym_user_has_list ul ON ml.list_id = ul.list_id + WHERE ul.user_id = '.intval($params['userId']).')'; + } + + $query .= ' ORDER BY c.sending_date DESC'; + + $page = isset($params['page']) ? $params['page'] : 0; + $numberPerPage = isset($params['numberPerPage']) ? $params['numberPerPage'] : 0; + $lastNewsletters = isset($params['limit']) ? $params['limit'] : 0; + + $queryCount .= empty($lastNewsletters) ? '' : ' LIMIT '.intval($lastNewsletters); + + if (!empty($page) && !empty($numberPerPage)) { + if (!empty($lastNewsletters)) { + $limit = ((($page * $numberPerPage) > $lastNewsletters) ? fmod($lastNewsletters, $numberPerPage) : $numberPerPage); + } else { + $limit = $numberPerPage; + } + + $offset = ($params['page'] - 1) * $numberPerPage; + $query .= ' LIMIT '.intval($offset).', '.intval($limit); + } elseif (!empty($lastNewsletters)) { + $limit = $lastNewsletters; + + $query .= ' LIMIT '.intval($limit); + } + + $queryCount .= ') AS r'; + + + $return = []; + + $mailClass = acym_get('class.mail'); + $return['matchingNewsletters'] = $mailClass->decode(acym_loadObjectList($query)); + + $userClass = acym_get('class.user'); + $userEmail = acym_currentUserEmail(); + $user = $userClass->getOneByEmail($userEmail); + + foreach ($return['matchingNewsletters'] as $i => $oneNewsletter) { + acym_trigger('replaceContent', [&$oneNewsletter]); + acym_trigger('replaceUserInformation', [&$oneNewsletter, &$user, false]); + + $return['matchingNewsletters'][$i] = $oneNewsletter; + } + + $return['count'] = acym_loadResult($queryCount); + + return $return; + } + + public function getListsForCampaign($mailId) + { + $query = 'SELECT list_id FROM #__acym_mail_has_list WHERE mail_id = '.intval($mailId); + + return acym_loadResultArray($query); + } +} + diff --git a/deployed/acym/administrator/components/com_acym/classes/condition.php b/deployed/acym/administrator/components/com_acym/classes/condition.php new file mode 100644 index 00000000..8c80b0e5 --- /dev/null +++ b/deployed/acym/administrator/components/com_acym/classes/condition.php @@ -0,0 +1,70 @@ + $value) { + if (empty($value)) { + continue; + } + + if (is_array($value)) { + $value = json_encode($value); + } + if ($oneAttribute != 'conditions') $condition->$oneAttribute = strip_tags($value); + } + + return parent::save($condition); + } + + + public function getConditionsByStepId($id) + { + $query = 'SELECT acycondition.* FROM #__acym_condition as acycondition LEFT JOIN #__acym_step AS step ON step.id = acycondition.step_id WHERE step.id = '.intval($id); + + return acym_loadObjectList($query); + } + + public function getAll() + { + return acym_loadObjectList('SELECT * FROM #__acym_condition'); + } +} + diff --git a/deployed/acym/administrator/components/com_acym/classes/configuration.php b/deployed/acym/administrator/components/com_acym/classes/configuration.php new file mode 100644 index 00000000..0e27c20b --- /dev/null +++ b/deployed/acym/administrator/components/com_acym/classes/configuration.php @@ -0,0 +1,73 @@ +values = acym_loadObjectList('SELECT * FROM #__acym_configuration', 'name'); + } + + function get($namekey, $default = '') + { + if (isset($this->values[$namekey])) { + return $this->values[$namekey]->value; + } + + return $default; + } + + function save($newConfig) + { + $query = 'REPLACE INTO #__acym_configuration (`name`, `value`) VALUES '; + + $params = []; + foreach ($newConfig as $name => $value) { + if (strpos($name, 'password') !== false && !empty($value) && trim($value, '*') == '') { + continue; + } + + if (is_array($value)) { + $value = implode(',', $value); + } + + if (empty($this->values[$name])) { + $this->values[$name] = new stdClass(); + } + $this->values[$name]->value = $value; + + $params[] = '('.acym_escapeDB(strip_tags($name)).','.acym_escapeDB(strip_tags($value)).')'; + } + + if (empty($params)) { + return true; + } + + $query .= implode(',', $params); + + try { + $status = acym_query($query); + } catch (Exception $e) { + $status = false; + } + if ($status === false) { + acym_display(isset($e) ? $e->getMessage() : substr(strip_tags(acym_getDBError()), 0, 200).'...', 'error'); + } + + return $status; + } +} + diff --git a/deployed/acym/administrator/components/com_acym/classes/field.php b/deployed/acym/administrator/components/com_acym/classes/field.php new file mode 100644 index 00000000..93ba8976 --- /dev/null +++ b/deployed/acym/administrator/components/com_acym/classes/field.php @@ -0,0 +1,370 @@ +value).' AS value, '.acym_secureDBColumn($fieldDB->title).' AS title + FROM '.acym_secureDBColumn($fieldDB->database).'.'.acym_secureDBColumn($fieldDB->table); + $query .= empty($fieldDB->where_value) ? '' : ' WHERE `'.acym_secureDBColumn($fieldDB->where).'` '.$fieldDB->where_sign.' '.acym_escapeDB($fieldDB->where_value); + if (!empty($fieldDB->order_by)) $query .= ' ORDER BY '.acym_secureDBColumn($fieldDB->order_by).' '.acym_secureDBColumn($fieldDB->sort_order); + + return acym_loadObjectList($query); + } + + public function store($fields, $userID) + { + if (!empty($_FILES['customField'])) { + $uploadFolder = trim(acym_cleanPath(html_entity_decode(acym_getFilesFolder())), DS.' ').DS; + $uploadPath = acym_cleanPath(ACYM_ROOT.$uploadFolder.'userfiles'.DS); + foreach ($_FILES['customField']['tmp_name'] as $key => $value) { + if (empty($value)) { + continue; + } + $error = acym_uploadFile($value, $uploadPath.$_FILES['customField']['name'][$key]); + if (!$error) { + acym_enqueueNotification(acym_translation('ACYM_ERROR_SAVING'), 'error', 5000); + + return; + } + $fields[$key] = $_FILES['customField']['name'][$key]; + } + } + + foreach ($fields as $id => $field) { + $query = 'INSERT INTO #__acym_user_has_field (`user_id`, `field_id`, `value`) VALUES '; + if (is_array($field)) { + $fullField = $this->getOneFieldByID($id); + if (in_array($fullField->type, ['multiple_dropdown', 'radio', 'phone'])) { + $field = implode(',', $field); + } elseif ($fullField->type == 'checkbox') { + $field = implode(',', array_keys($field)); + } elseif ($fullField->type == 'date') { + $field = implode('/', $field); + } else { + $field = json_encode($field); + } + } + $query .= '('.intval($userID).', '.intval($id).', '.acym_escapeDB($field).')'; + $query .= ' ON DUPLICATE KEY UPDATE `value`= VALUES(`value`)'; + acym_query($query); + } + } + + public function getAllfieldBackEndListingByUserIds($ids, $fields, $forBackEnd = false) + { + $query = 'SELECT field.type as type, field.name as field_name, user_field.user_id as user_id, user_field.field_id as field_id, user_field.value as field_value + FROM #__acym_user_has_field AS user_field + LEFT JOIN #__acym_field AS field ON user_field.field_id = field.id'; + + $conditions = []; + + if ($forBackEnd) $conditions[] = 'field.backend_listing = 1'; + + if (!is_array($ids)) $ids = [$ids]; + acym_arrayToInteger($ids); + if (empty($ids)) $ids[] = 0; + + if (!is_array($fields)) $fields = [$fields]; + acym_arrayToInteger($fields); + if (empty($fields)) $fields[] = 0; + + $conditions[] = 'user_field.user_id IN ('.implode(',', $ids).')'; + $conditions[] = 'user_field.field_id IN ('.implode(',', $fields).')'; + + $query .= !empty($conditions) ? ' WHERE ('.implode(') AND (', $conditions).')' : ''; + + $fieldValues = []; + foreach (acym_loadObjectList($query) as $one) { + $fieldValues[$one->field_id.$one->user_id] = is_array(json_decode($one->field_value)) ? implode(', ', json_decode($one->field_value)) : $one->field_value; + } + + return $fieldValues; + } + + public function getAllFieldsBackendListing() + { + $query = 'SELECT id, name FROM #__acym_field WHERE backend_listing = 1 AND id NOT IN (1, 2)'; + + $return = [ + 'names' => [], + 'ids' => [], + ]; + + foreach (acym_loadObjectList($query) as $one) { + $return['names'][] = $one->name; + $return['ids'][] = $one->id; + } + + return $return; + } + + public function delete($elements) + { + if (!is_array($elements)) { + $elements = [$elements]; + } + acym_arrayToInteger($elements); + + if (empty($elements)) { + return 0; + } + + acym_query('DELETE FROM #__acym_user_has_field WHERE field_id IN ('.implode(',', $elements).')'); + + return parent::delete($elements); + } + + public function displayField($field, $defaultValue, $size, $valuesArray, $displayOutside = true, $displayFront = false, $user = null, $display = 1, $displayIf = '') + { + if ($display == 0) return ''; + + $cmsUser = false; + if ($displayFront && !empty($user->id)) { + $cmsUser = !empty($user->cms_id) ? true : false; + if ($field->id == 1) { + $defaultValue = $user->name; + } elseif ($field->id == 2) { + $defaultValue = $user->email; + } else { + $allValues = []; + $defaultUserValue = $this->getFieldsValueByUserId($user->id); + if (!empty($defaultUserValue)) { + foreach ($defaultUserValue as $one) { + $allValues[$one->field_id] = $one->value; + } + } + + if (isset($allValues[$field->id])) { + $defaultValue = is_null(json_decode($allValues[$field->id])) ? $allValues[$field->id] : json_decode($allValues[$field->id]); + } + } + } + + if (in_array($field->type, ['radio', 'checkbox'])) { + $valuesArrayTmp = []; + foreach ($valuesArray as $oneValue) { + if (!is_object($oneValue)) { + $valuesArrayTmp = $valuesArray; + break; + } + + if (!empty($oneValue->disable)) continue; + $valuesArrayTmp[$oneValue->value] = $oneValue->text; + } + $valuesArray = $valuesArrayTmp; + } + + if (is_array($valuesArray)) { + foreach ($valuesArray as $key => $oneValue) { + if (is_object($oneValue) && !empty($valuesArray[$key]->text)) { + $valuesArray[$key]->text = acym_translation($valuesArray[$key]->text); + } elseif (is_string($oneValue)) { + $valuesArray[$key] = acym_translation($valuesArray[$key]); + } + } + } + + $return = ''; + + $field->name = acym_translation($field->name); + + $style = empty($size) ? '' : ' style="'.$size.'"'; + $messageRequired = empty($field->option->error_message) ? acym_translation_sprintf('ACYM_DEFAULT_REQUIRED_MESSAGE', $field->name) : acym_translation($field->option->error_message); + $requiredJson = json_encode(['type' => $field->type, 'message' => $messageRequired]); + $required = $field->required ? ' data-required="'.acym_escape($requiredJson).'"' : ''; + $placeholder = ''; + if (!$displayOutside) $placeholder = ' placeholder="'.acym_escape($field->name).'"'; + + $name = 'customField['.intval($field->id).']'; + $nameAttribute = ' name="'.$name.'"'; + $value = ' value="'.acym_escape($defaultValue).'"'; + + + if ($field->type == 'date' || ($displayOutside && (in_array($field->id, [1, 2]) || in_array($field->type, ['text', 'textarea', 'single_dropdown', 'multiple_dropdown', 'custom_text'])))) { + $return .= '