Summary | After upgrading to 3.1.1 from 3.0.x Ingo fails to display Sieve Rules |
Queue | Ingo |
Queue Version | 3.1.1 |
Type | Bug |
State | Not A Bug |
Priority | 1. Low |
Owners | |
Requester | krah.tm (at) gmail (dot) com |
Created | 06/27/2013 (4390 days ago) |
Due | |
Updated | 11/29/2013 (4235 days ago) |
Assigned | |
Resolved | 07/02/2013 (4385 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | No |
you must insert a semicolon at the end of the line. So you must insert
"print_r($scripts);"
I have the same error und found out, that the $scripts variable is set
to a string "sieve"
I used the backend configuration from the backends.ph and copied it
into my backend.local.php:
$backends['sieve'] = array(
'disabled' => false,
'transport' => array(
Ingo::RULE_ALL => array(
'driver' => 'timsieved',
'params' => array(
'hostspec' => 'localhost',
'logintype' => 'PLAIN',
'usetls' => false,
'port' => 4190,
'scriptname' => 'ingo',
'debug' => true,
),
),
),
'script' => array(
Ingo::RULE_ALL => array(
'driver' => 'sieve',
'params' => array(
'utf8' => false,
),
),
),
'shares' => false
);
Can you help me to locate the error.
Best wishes,
Michael Roth
http://www.horde.org/mail/ contains a list of all available mailing lists.
If I insert "print_r($scripts)" before line 116 in
"/var/www/horde/ingo/lib/Factory/Script.php" as suggested, so it reads
--- snip ---
public function createAll()
{
$scripts = $GLOBALS['session']
->get('ingo', 'backend/script', Horde_Session::TYPE_ARRAY);
$instances = array();
/* 2013-10-11, 10:04:36, haasc: fuer debugging */
print_r($scripts)
foreach (array_keys($scripts) as $rule) {
$instances[$rule] = $this->create($rule);
}
return $instances;
}
--- snap ---
and reload the page, the whole Horde-WebUI (not only Ingo!) wents just white.
No error in "var/log/syslog", no error in "/var/log/apache2/error.log" ...
After removing or commenting the "print_r($scripts)"-line, everything
is again OK besides that no sieve-filters are displayed in Ingo.
Where can I look further?
System Debian, Horde 5.1.2. Ingo 3.1.2.
The Mailserver resides on different machine.
I have several sieve-scripts, which I can manage on the mailserver via
sievshell, so that it is verfied that timsieved is working.
reload and restart commands of init script after installation +
reconfiguring. Did not help yesterday.
Looking at the server today to provide the needed infos its working
and filters are there, so actually i don't know why something was
cached and why its gone now - sorry for the noise.
Priority ⇒ 1. Low
line, so if it is not working something might be cached.
Otherwise, you will need to debug to determine what *is* the value on
line 116 (i.e. adding print_r($scripts) debug statement right before
line 116).
Priority ⇒ 2. Medium
Type ⇒ Bug
Summary ⇒ After upgrading to 3.1.1 from 3.0.x Ingo fails to display Sieve Rules
Due ⇒ 06/27/2013
Queue ⇒ Ingo
Milestone ⇒
Patch ⇒ No
State ⇒ Unconfirmed
backends.local.php to read:
<?php
$backends['imap']['disabled'] = true;
$backends['sieve']['disabled'] = false;
$backends['sieve']['script'][Ingo::RULE_ALL]['params']['utf8'] = true;
?>
but the horde error log still does complain:
Jun 27 16:28:30 mail HORDE: [ingo] PHP ERROR: Invalid argument
supplied for foreach() [pid 24197 on line 116 of
"/var/www/horde/ingo/lib/Factory/Script.php"]
Jun 27 16:28:30 mail HORDE: [ingo] PHP ERROR: array_keys() expects
parameter 1 to be array, string given [pid 24197 on line 116 of
"/var/www/horde/ingo/lib/Factory/Script.php"]
The rules itself are stored and configured in the standard sql backend
configured since initial installation of this instance.
Did a "grep \'script\'" in the ingo config folder but all 'script'
matches are arrays.
backends.local.php:$backends['sieve']['script'][Ingo::RULE_ALL]['params']['utf8'] =
true;
backends.php: *
$backends['sieve']['script'][Ingo::RULE_ALL]['params']['utf8'] = true;
backends.php: 'script' => array(
backends.php: 'script' => array(
backends.php: 'script' => array(
backends.php: 'script' => array(
backends.php: 'script' => array(
backends.php: 'script' => array(
backends.php: 'script' => array(
backends.php: 'script' => array(
prefs.php:$prefGroups['script'] = array(
Whats wrong here? Something i can do to get Ingo working again?
PHP version used is: 5.3.2-1ubuntu4.19 from Ubuntu LTS 10.04 Server variant.