Comparing revisions for WikkaCore

Additions:
[[WikkaDocumentation Wikka Documentation]]
=====The Wikka Engine=====
{{lastedit}}
**[[UsingActions 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 you will save time but also help keeping 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 1.1.5.3 package ''(unless indicated otherwise)''//----
===Functions relating to the Database===
""Query($query)""
Generic function that receives an SQL Query as an argument and executes it on the database.
It returns the result.
""LoadSingle($query)""
Receives an SQL Query as an argument and executes it on the database.
It returns the first row of the result array.
""LoadAll""($query)
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===
""GetMicroTime()""
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 thing 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.
""ReturnSafeHTML($html)""
Receives any string (preferably HTML, hehe) and returns it filtered and comformed to the XHTML standards.
===Functions relating to Wakka Variables===
""GetPageTag()""
Returns the tag (""WikiPageName"") of the current page, a string.
""GetPageTime()""
Returns the creation date and time of the current page as a string in the form of: "2004-12-16 20:36:17".
""GetMethod()""
Returns the method (for example: WikiPage/edit) with which this page was called, as a string.
""GetConfigValue($name)""
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 mathces any field of the configuration file or //null// if the configuration file doesnt have a $name field.
""GetWakkaName()""
Is the same as doing : //$this->""GetConfigValue""('wakka_name')// (see above function).
""GetWakkaVersion()""
Returns the Wakka version (not from a configuration field.
===Functions relating to ""WikiPages""===
""LoadPage($tag, $time = '', $cache = 1)""

""IsLatestPage()""

""GetCachedPage($tag)""

""CachePage($page)""

""SetPage($page)""

""LoadPageById($id)""

""LoadRevisions($page)""

""LoadPagesLinkingTo($tag)""

""LoadRecentlyChanged()""

""LoadWantedPages()""

""IsWantedPage($tag)""

""LoadOrphanedPages()""

""LoadPageTitles()""

""LoadAllPages()""

""FullTextSearch($phrase)""

""FullCategoryTextSearch($phrase)""

""SavePage($tag, $body, $note)""

""PageTitle()""

===COOKIES===
""SetSessionCookie($name, $value)""

""SetPersistentCookie($name, $value)""

""DeleteCookie($name)""

""GetCookie($name)""

===HTTP/REQUEST/LINK RELATED===
""SetMessage($message)""
Set a message to be used for the Redirect function. //''No longer necessary in 1.1.6.0 - See ""Redirect()"" below''//

""GetMessage()""

""Redirect($url = '', $message = '')"" //''1.1.6.0''//

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

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

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

""IsWikiName($text)""

""TrackLinkTo($tag)""

""GetLinkTable()""

""ClearLinkTable()""

""StartLinkTracking()""

""StopLinkTracking()""

""WriteLinkTable()""

""Header()""

""Footer()""

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

""FormClose()""

===INTERWIKI STUFF===
""ReadInterWikiConfig()""

""AddInterWiki($name, $url)""

""GetInterWikiUrl($name, $tag)""

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

""LoadReferrers($tag = '')""

===PLUGINS===
""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.
""Method($method)""
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)""

""LoadUsers()""
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" .
""GetUserName()""
Returns the result of ""GetUser""() (see below) or the hostname of the visitor's host.
""GetUser()""
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.
""SetUser($user)""
Used in the Run() function of the ""WakkaCore"". It fetches and sets the ""UserName"" (if found) from a cookie.
""LogoutUser()""
Removes any cookie send to the user using the ""DeleteCookie""() function, effectively forgetting the login of the particular user.
""UserWantsComments()""
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.
===Functions related to Comments===
""LoadComments($tag)""
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.
===Functions related to controling Access===
""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.
""IsAdmin()""
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 :
%%(php)array = {
["page_tag"] => $tag,
[$privilege."_acl"] => the_default_configuration_acl_for_this_privilege
}%%
""LoadAllACLs($tag, $useDefaults = 1)""

""SaveACL($tag, $privilege, $list)""

""TrimACLs($list)""

""HasAccess($privilege, $tag = '', $user = '')""
This returns true or 1 if the user ($user) can complete the requested action ($priviledge) 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"".
CategoryDocumentation
Deletions:
<<===This page has moved===
This page can now be found on the [[Docs:WikkaCore Wikka Documentation Server]].
Thanks for updating your bookmarks!
An archive of [[http://wikkawiki.org/WikkaCore/revisions
old revisions of this page]] is still available for reference.<<
::c::
CategoryMigratedDocs
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki