ewiki info
READMEChangeLog
project site
fm project page
secondary site
|
|
how ewiki operatesewiki_page()
- decodes the $id and $action from the GET or POST parameters
- tries to load the page from ewiki_database()
- if this failed then it calls the database init function
- calls some init plugins, calls the _auth() interface
- chains to ["page"] plugins which activate for registered $id's
- alternatively calls a plugin that was registered for $action
- the default however is to render the current page via _page_view()
- adds a page title
- sends the generated output (view page or plugin output) back to
caller (for output into yoursite.php)
ewiki_page_view()
- feeds the current page $data's ["content"] into ewiki_format()
- also decodes a few formatting parameters (e.g. if html allowed)
- returns the gererated html back
ewiki_format()
- beatifies the source code (unifies to plain UNIX newlines)
- calls init plugins (wiki source mangling)
- splits source into blocks, calls block plugins
- then goes through each line of the wiki source to generate html
- there is line-start, in-line and complete-markup
- afterwards everything went from source into the $ooo-output var
- first calls the link_pre_scan_regex (which searches for
wikiwords and stores that information into $ewiki_links)
- then calls the wiki-link transformation regex function
- then calls post plugins and returns generated <html>
ewiki_render_wiki_links()
- searches for all (pre-fetched) $ewiki_links via ewiki_db::FIND()
- transforms the wikiwords into html-links
- with the regex and callback func: returns output back to
- ewiki_format()
ewiki_link_regex_callback()
- transform the wiki source snippet returned from the
preg_replace() call into a html link string
- (complicated)
ewiki_$page_plugin_*()
- page plugins return html output, which usually is hardcoded as
strings into them
- provide some interactivity
ewiki_$action_plugins_*()
- activate on pages with special registered $action's
- provide some interactivity (for page editing for example)
prev << "internal coding explained"next >> "used variables" You cannot modify the INTERNALS file, but anyhow any ideas or suggestion should as usually get filed on BugReports, UserSuggestions or even better the INTERNALS.Discussion. |