johndoh / roundcube-sauserprefs

Adds a 'Spam' tab to the 'Personal Settings' to allow the user to change their SpamAssassin preferences.
https://plugins.roundcube.net/#/packages/johndoh/sauserprefs
55 stars 18 forks source link

Errors due empty values populated in database #26

Closed jarossi closed 9 years ago

jarossi commented 9 years ago

Hi

There are few errors in the plugin as some values get populated with empty values, these are ignored by spamassassin, but some warnings persist

spamd[31931]: config: SpamAssassin failed to parse line, no value provided for "bayes_auto_learn_threshold_spam", skipping: bayes_auto_learn_threshold_spam

This happens for example when setup the Default value for bayes autolearn settings, in the array you have

$input_bayesthres->add($this->gettext('defaultscore'), '');

Wmpty value preferences created for:

(This happen when setting Defaults) bayes_auto_learn_threshold_nonspam bayes_auto_learn_threshold_spam

(this happens when selecting none and submitting) ok_locales ok_languages

Regards

Juan.-

johndoh commented 9 years ago

I cannot recreate what you describe in git-master. all I could find was an unrelated issue when setting the thresholds to default and that being ignored. I've fixed that

jarossi commented 8 years ago

Hi, this issue is happening to me now, and it is escalating to an error now, more than ever with the latest update in the spamassasin database, I am using spamassassin 3.4, and roundcube 1.13 and plugin release version 2.3:

If I go to the and just disable only "Use Bayesian style classifier" at the plugin section I get an error due a problem with the database connection:

[10-Mar-2016 04:30:36 +0000]: <43o7rfr2> DB Error: [1048] Column 'value' cannot be null (SQL Query: INSERT INTO userpref (username, preference, value) VALUES ('juan@dev.example.com', 'bayes_auto_learn_threshold_nonspam', NULL)) in /usr/share/roundcube/program/lib/Roundcube/rcube_db.php on line 544 (POST /roundcube/?_task=settings&_action=plugin.sauserprefs.save) [10-Mar-2016 04:30:36 +0000]: <43o7rfr2> sauserprefs error: cannot insert "bayes_auto_learn_threshold_nonspam" = "" for juan@dev.example.com [10-Mar-2016 04:30:36 +0000]: <43o7rfr2> DB Error: [1048] Column 'value' cannot be null (POST /roundcube/?_task=settings&_action=plugin.sauserprefs.save)

+------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | username | varchar(100) | NO | MUL | | | | preference | varchar(50) | NO | | | | | value | varchar(100) | NO | | | | | prefid | int(11) | NO | PRI | NULL | auto_increment | +------------+--------------+------+-----+---------+----------------+

I see that the autolearn stuff goes into grey and the

jarossi commented 8 years ago

sorry, sauserpref plugin version I am using is 1.15