In current 1.0-git (master) and in 0.9.5 I see that $isHTML is set to false if we pre-define body content by hooks 'message_compose' and/or 'message_compose_body' regardless whether or not user preference is 'HTML':

./program/steps/mail/compose.inc ::: lines 643 ff.

else if ($COMPOSE['param']['body']) {
    $body = $COMPOSE['param']['body'];
    $isHtml = false;
  }

Is there a special reason for this behavior? I guess it is a bug. At least it prevents me to pre-define HTML compose bodies. If there is a special reason for this fallback to text bodies then please note that the HTML Editor select box is set accordingly; it is set accordingly to user's preference.

I have already contacted Alec and he replied:

"$COMPOSE['param']s in general are for text only, because they are URL
parameters. If you want to inject any body use message_compose_body
hook. Feel free to propose fix/better solution via pull request."

I think Alec is not right.

$COMPOSE['param'] is also set by the hook 'message_compose'. See ./program/steps/mail/compose.inc ::: lines 450 ff.

// pipe compose parameters thru plugins
$plugin = $RCMAIL->plugins->exec_hook('message_compose', $COMPOSE);
$COMPOSE['param'] = array_merge($COMPOSE['param'], $plugin['param']);

So, the simple solution to allow plugin developers to pre-define HTML bodies is:

./program/steps/mail/compose.inc ::: lines 643 ff.

else if ($COMPOSE['param']['body']) {
    $body = $COMPOSE['param']['body'];
    $isHtml = $COMPOSE['param']['html'] ? true : false;
  }

_______________________________________________
Roundcube Development discussion mailing list
[email protected]
http://lists.roundcube.net/mailman/listinfo/dev

Reply via email to