Loading...
 
Skip to main content

Edit through WYSIWYG plugin is quietly lost if plugin call follows an inclusion

Status
Open
Subject
Edit through WYSIWYG plugin is quietly lost if plugin call follows an inclusion
Version
12.x
15.x
17.x
Category
  • Bug
Feature
WYSIWYG (What You See is What You Get)
Resolution status
New
Submitted by
Philippe Cloutier
Volunteered to solve
Philippe Cloutier
Lastmod by
Philippe Cloutier
Rating
(0)
Description

Any WYSIWYG edit to a WYSIWYG zone (defined using the WYSIWYG plugin) fails quietly if the call to the plugin follows an inclusion (made using the INCLUDE plugin). CKEditor goes away as expected and the contents of the zone are displayed, but instead of the new contents, the old content shows.

This bug exists in Tiki 12 and persists in trunk as of r64360.

If wiki page Parent includes page Child, the following WYSIWYG zone causes the wysiwygPlugin() function to be called at page load with its page parameter set to "Child" instead of "Parent" as should be the case. Which causes the AJAX calls to action_replace() from edits to have the wrong value for their page parameter, causing them to have no effect, and action_replace() to return simply "[]".

wysiwygPlugin's parameter is wrong because wikiplugin_wysiwyg()'s $sourcepage variable has the wrong value, because it is wrongly set to $wikiplugin_included_page instead of $page. This is due to a parser context management issue.

Files
  1. WYSIWYG Plugin EDIT Despite Inclusions
Solution

The part about error reporting was fixed in the following commits.
trunk: https://sourceforge.net/p/tikiwiki/code/64473/
17 https://sourceforge.net/p/tikiwiki/code/64474/
15: https://sourceforge.net/p/tikiwiki/code/64493

The patch attached is an actual fix, but is against Tiki 15, and relies on considerable parser changes which are not in the Tiki community's repositories (see thread "Parsing context and inclusions").

Importance
8
Easy to solve?
4
Priority
32
Demonstrate Bug on Tiki 19+
Demonstrate Bug (older Tiki versions)
Ticket ID
6476
Created
Thursday 02 November, 2017 14:19:17 UTC
by Philippe Cloutier
LastModif
Saturday 06 July, 2024 10:21:44 UTC


Show PHP error messages