Revision [1322]

This is an old revision of WikkaCore made by BrianKoontz on 2008-11-01 23:23:06.


The Wikka Engine

todo icon This page needs to be updated to match Wikka

Actions in WikkaWiki constitute a very flexible way to extend the functionality of your Wiki. They are also known as plugins. Instead of re-inventing the wheel when scripting those Actions/Plugins you are encouraged to use the functions that the Wikka core is using for accomodating its needs. By this not only will you save time but also help maintain a solid and coherent software package.

Below I try to descibe the functions of the Wikka core that Action writers may find useful. I would be pleased to see people filling the gaps in this page. Please help :). The description in most cases should mention received arguments, what the function does and what it returns.

Based on the WikkaWiki version package (unless indicated otherwise)

Functions relating to the Database


Generic function that receives an SQL Query as an argument and executes it on the database.
It returns the result.


Receives an SQL Query as an argument and executes it on the database.
It returns the first row of the result array.


Receives an SQL Query as an argument and executes it on the database.
It returns the result of the SQL operation in the form of an array.

 CheckMySQLVersion($major, $minor, $subminor)

As the function's name betrays it checks the string "$major.$minor.$subminor" against the MySQL version hosted on the particular machine PHP is running on. It returns :
1 if the version is newer or equal to the provided arguments.
0 if the version is older than the provided arguments.

Miscellaneous Utility Functions


A utility function that is usefull to retrieve operation timing. It returns a number (float).

IncludeBuffered($filename, $notfoundText = '', $vars = '', $path = '')

The main Actions loading function. It may come in handy in bigger modding projects on Wakka but for basic to novice Actions I can hardly think of how it can be used. It executes the contents of a given filename ($filename) in a given path ($path) allowing for customising the error message in case of an error. Variables ($vars) are passed to the loaded file.


Receives any string (preferably HTML) and returns it filtered and comformed to the XHTML standards.

Functions relating to Wakka Variables


Returns the tag (WikiPageName) of the current page, a string.


Returns the creation date and time of the current page as a string in the form of: "2004-12-16 20:36:17".


Returns the method (for example: WikiPage/edit) with which this page was called, as a string.


Returns the value from a configuration field ($name). Configuration is defined inside the wakka.conf.php file inside the wakka installation folder. It reruns a string when $name matches any field of the configuration file or null if the configuration file doesnt have a $name field.


Is the same as doing : $this->GetConfigValue('wakka_name') (see above function).


Returns the Wakka version (not from a configuration field, hard-coded on wikka.php beginning).

Functions relating to WikiPages

 LoadPage($tag, $time = '', $cache = 1)

Returns the content of the page identified by $tag. If $time set, it will return the page stored at this time, else it will return the latest one. If $cache set (and $time not set), it will return, if it exists, the cached content of the page.


Returns a boolean (?, can't find where it is set in code) indicating whether or not the current page is the latest revision.


Returns the content of the page identified by $tag if it is available in cache. Else returns null.


Set the content of the cache with $page.













 SavePage($tag, $body, $note)



 SetSessionCookie($name, $value)

 SetPersistentCookie($name, $value)




Set a message to be used for the Redirect function. No longer necessary in - See Redirect() below


 Redirect($url = '', $message = '')

 MiniHref($method = '', $tag = '')

 Href($method = '', $tag = '', $params = '')

 Link($tag, $method = '', $text = '', $track = 1, $escapeText = 1, $title = '')











 FormOpen($method = '', $tag = '', $formMethod = 'post')




 AddInterWiki($name, $url)

 GetInterWikiUrl($name, $tag)


 LogReferrer($tag = '', $referrer = '')

 LoadReferrers($tag = '')


 Action($action, $forceLinkTracking = 0)

Responsible for executing the Actions /Plugins that are found in the /wikka/actions/ directory. It receives a string ($action) that specifies which file to execute. It also is responsible for passing the $vars array to the executed php script. The file has to have a .php extension in order to be executed by this function.


Returns the method that the current page was called by. Known methods are /edit /create /delete ...

Format($text, $formatter = 'wakka')

Returns the parsed string ($text) after it has been parsed from the specified formatter ($formatter). If no $formatter is supplied then it assumes the default "wakka" formatter that is responsible for converting the wiki syntax to displayable HTML. The availble formatters are found under the /wikka/formatters/ directory.

Functions relating to Users

 LoadUser($name, $password = 0)


Returns an, alphabetically sorted by name, array of the users table. This array contains numerical indexes that hold a associative array of all the fields the wakka_users table has, in the form of ["field_name"] = > "field_value" .


Returns the result of GetUser() (see below) or the hostname of the visitor's host.


Retreives the UserName of the visitor from the global php $_SESSION['user'] field. It is highly reccomended to use the GetUserName() function instead of this one unless you have a special reason.


Used in the Run() function of the WakkaCore. It fetches and sets the UserName (if found) from a cookie.


Removes any cookie send to the user using the DeleteCookie() function, effectively forgetting the login of the particular user.


Returns true if the user is logged in and has set his preferences to show any page's comments by default. It returns false in any other case.


Returns an array of the comments on the received tag (WikiPage), sorted by time each comment record was made.

LoadRecentComments($limit = 50)

Returns an array of the most recent ( depenting on the limit ($limit) ) number of comments to the current WikiPage. The default value for the array size is 50.

LoadRecentlyCommented($limit = 50)

Returns an array of the most recently commented WikiPages in an array. The size of the array maybe be specified ($limit). The default value for $limit is 50.

SaveComment($page_tag, $comment)

Saves a comment ($comment) on a WikiPage ($page_tag) to the database.

 UserIsOwner($tag = '')

Returns true if logged in user is owner of the provided page ($tag). If no $tag is provided then it acts on the current page.


Returns true if user is listed in configuration list as admin, false if any other case.

 GetPageOwner($tag = '', $time = '')

Returns the UserName of the page's ($tag) owner. If no $tag is provided when calling the function then it acts on the current page.

 SetPageOwner($tag, $user)

Sets the page's ($tag) ownership to the specified UserName ($user). Both arguments need to be provided.

 LoadACL($tag, $privilege, $useDefaults = 1)

Returns an array. The form of the array is as follows :
 array = {
            ["page_tag"] => $tag,
            [$privilege."_acl"] => the_default_configuration_acl_for_this_privilege

 LoadAllACLs($tag, $useDefaults = 1)

  SaveACL($tag, $privilege, $list)


  HasAccess($privilege, $tag = '', $user = '')

This returns true or 1 if the user ($user) can complete the requested action ($privilege) on the page ($tag). If no $tag is provided then it acts on the displayed WikiPage. If no $user is provided then it acts on the current UserName.

There are 5 comments on this page. [Show comments]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki