gadgetto / goodnews Goto Github PK
View Code? Open in Web Editor NEWAn integrated group and newsletter mailing system for MODX Revolution CMF
License: GNU General Public License v2.0
An integrated group and newsletter mailing system for MODX Revolution CMF
License: GNU General Public License v2.0
cron.worker.php throws PHP warning: Invalid argument supplied for foreach() to MODX error log.
Add bulk editing to Subscribers grid.
We need a dummy user from which the profile fields are filled in.
Currently the editor mode depends on the mode of the parent container (which is a MODX feature)
When creating/editing a mailing and trying to select only one category of a subscribers group, the full group will also be selected.
All other MODX users without GoodNews subscriptions will be listed by selecting "No group assigned" in the "Filter by Group..." drop down.
For example:
Send out an email after publishing a MODX resource. The email itself should contain a derivative of the just published resource. (requested by Wim Hauben)
(The automatic sending could be established by copying the MODX resource and create an GoodNews resource with scheduled send date)
$this->modx->mail->set(modMail::MAIL_FROM, $this->modx->getOption('emailsender'));
$this->modx->mail->set(modMail::MAIL_FROM_NAME, $this->modx->getOption('site_name'));
$this->modx->mail->set(modMail::MAIL_SENDER, $this->modx->getOption('emailsender'));
/core/components/goodnews/model/goodnews/goodnewssubscription.class.php
Adding french lexicon strings.
Output a warning message in subscription, update subscription, unsubscription forms if GoodNews Snippet mis-configured (eg. using GoodNews group or categories IDs which doesn't exist).
Resizing problem with grids in tab panels.
Auto-detects every img element in html body of mailing and convert physical image dimensions to values base on src or style attributes.
Will require pThumb add-on!
I think it would be best to extend the existing group filter to display a groups/categories tree!
Updating of existing subscribers -> assign additional Groups/Categories + automatically create new Groups/Categories via Importer.
Worker script (cron.php) may only be executed if a security key is provided by cron. Deactivation of this feature doesn't work.
function _removeLockFile in goodnewsprocesshandler.class.php needs to be extended with a cleanup process to safely remove all lock files if process handler crashes (this could happen if the cron.worker.php was killed by server due to a script timeout).
The "Editor-Level" user should be enabled to create/edit newsletters and also test-send them.
A "Higher-Level" user should then be enabled to finally send the newsletter.
This should only happen when output contains groups AND categories. In this case each group/categories block is rendered inside a html form fieldset.
If the output contains only groups, the whole set of groups should be rendered inside a html form fieldset.
Feature to export Subscribers to .csv (based on Groups and/or Category filters)
&placeholderPrefix=upd
or &placeholderPrefix=upd.
Backwards compatibility!
Missing processor paths. Some context menu actions in Mailings grid not working. Some action buttons in Mailing/Container (Resource) editor. Visual enhancements.
PHP process could reach/exceed memory limit when sending to huge lists of subscribers. Current workaround: increase PHP memory_limit to 128MB.
Missing pagination for larger lists.
Closing a Newsletter document triggers the pending changes dialogue although the document is already saved!
Request secure links to update or chancel a subscription (additional method to authenticate via email).
User importer: PHP versions prior 5.3.0 don't support the escape param.
The CSS inliner also requires PHP > 5.3.
/core/components/goodnews/model/goodnews/goodnewsprocesshandler.class.php : 407) PHP warning: Invalid argument supplied for foreach()
Since glob() may not reliably return an empty array for an empty match we need to check if is_array first:
$files = glob($tmpFolder . $fileTypes);
if (is_array($files) && count($files) > 0) {
foreach($files as $Filename) {
...
If the email field is empty and the subscriber hits the submit button, the page reloads an the snippet seems to crash as no validation error is shown and no groups/categories are outputted.
Other email validations are working (missing domain, invalid email, ...)
Probably other additional params needed too...
(currently the email params are read from MODX system settings)
Automatically fetch resource-parts (e.g. title, short-text, ...) from Resource containers - like Articles, Collections, Grid Class Key and insert into defined newsletter areas via placeholder.
GoodNews currently also prefixes internal links, which breaks them.
Got this one today:
Fatal error: Undefined class constant 'LOG_LEVEL_WANR' in /home/kfb/public_html/core/components/goodnews/model/goodnews/goodnewssubscriptioncontroller.class.php on line 703
Turn out there is a typo on that line:
$this->modx->log(modX::LOG_LEVEL_WANR, '[GoodNews] GoodNewsSubscription - snippet parameter profileResourceId not set.');
I guess this should be:
$this->modx->log(modX::LOG_LEVEL_WARN, '[GoodNews] GoodNewsSubscription - snippet parameter profileResourceId not set.');
instead.
If existing MODX users don't already have Subscriber meta data assigned those meta data is not created properly by update-importer.
Option to disable Mailing Templates Category filtering in Mailing Container settings.
If a mailing process stops unexpectedly or finishes successfully GoodNews sends a status email to the administrator or editor which initially started the mailing.
Add feature to manually disable multiprocessing (currently multiprocessing is always enabled except server environment doesn't support php exec).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.