forumlist: some more doxygen for plugin.php

This commit is contained in:
rabuzarus 2015-11-13 00:33:32 +01:00
parent e239f0a82e
commit 86e720c99d
1 changed files with 71 additions and 18 deletions

View File

@ -1,9 +1,17 @@
<?php <?php
/** /**
* @file include/identity.php * @file include/identity.php
*
* @brief Some functions to handle addons and themes.
*/ */
// install and uninstall plugin
/**
* @brief uninstalls an addon.
*
* @param string $plugin name of the addon
* @return boolean
*/
if (! function_exists('uninstall_plugin')){ if (! function_exists('uninstall_plugin')){
function uninstall_plugin($plugin){ function uninstall_plugin($plugin){
logger("Addons: uninstalling " . $plugin); logger("Addons: uninstalling " . $plugin);
@ -18,6 +26,12 @@ function uninstall_plugin($plugin){
} }
}} }}
/**
* @brief installs an addon.
*
* @param string $plugin name of the addon
* @return bool
*/
if (! function_exists('install_plugin')){ if (! function_exists('install_plugin')){
function install_plugin($plugin) { function install_plugin($plugin) {
// silently fail if plugin was removed // silently fail if plugin was removed
@ -44,7 +58,7 @@ function install_plugin($plugin) {
// This way the system won't fall over dead during the update. // This way the system won't fall over dead during the update.
if(file_exists('addon/' . $plugin . '/.hidden')) { if(file_exists('addon/' . $plugin . '/.hidden')) {
q("update addon set hidden = 1 where name = '%s'", q("UPDATE `addon` SET `hidden` = 1 WHERE `name` = '%s'",
dbesc($plugin) dbesc($plugin)
); );
} }
@ -119,7 +133,15 @@ function plugin_enabled($plugin) {
} }
/**
* @brief registers a hook.
*
* @param string $hook the name of the hook
* @param string $file the name of the file that hooks into
* @param string $function the name of the function that the hook will call
* @param int $priority A priority (defaults to 0)
* @return mixed|bool
*/
if(! function_exists('register_hook')) { if(! function_exists('register_hook')) {
function register_hook($hook,$file,$function,$priority=0) { function register_hook($hook,$file,$function,$priority=0) {
@ -140,6 +162,14 @@ function register_hook($hook,$file,$function,$priority=0) {
return $r; return $r;
}} }}
/**
* @brief unregisters a hook.
*
* @param string $hook the name of the hook
* @param string $file the name of the file that hooks into
* @param string $function the name of the function that the hook called
* @return array
*/
if(! function_exists('unregister_hook')) { if(! function_exists('unregister_hook')) {
function unregister_hook($hook,$file,$function) { function unregister_hook($hook,$file,$function) {
@ -166,7 +196,15 @@ function load_hooks() {
} }
}} }}
/**
* @brief Calls a hook.
*
* Use this function when you want to be able to allow a hook to manipulate
* the provided data.
*
* @param string $name of the hook to call
* @param string|array &$data to transmit to the callback handler
*/
if(! function_exists('call_hooks')) { if(! function_exists('call_hooks')) {
function call_hooks($name, &$data = null) { function call_hooks($name, &$data = null) {
$stamp1 = microtime(true); $stamp1 = microtime(true);
@ -189,7 +227,7 @@ function call_hooks($name, &$data = null) {
} }
else { else {
// remove orphan hooks // remove orphan hooks
q("delete from hook where hook = '%s' and file = '%s' and function = '%s'", q("DELETE FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s'",
dbesc($name), dbesc($name),
dbesc($hook[0]), dbesc($hook[0]),
dbesc($hook[1]) dbesc($hook[1])
@ -215,16 +253,20 @@ function plugin_is_app($name) {
return false; return false;
}} }}
/* /**
* parse plugin comment in search of plugin infos. * @brief Parse plugin comment in search of plugin infos.
* like
* *
* * Name: Plugin * like
* \code
*...* Name: Plugin
* * Description: A plugin which plugs in * * Description: A plugin which plugs in
* * Version: 1.2.3 * . * Version: 1.2.3
* * Author: John <profile url> * * Author: John <profile url>
* * Author: Jane <email> * * Author: Jane <email>
* * * *
* *\endcode
* @param string $plugin the name of the plugin
* @return array with the plugin information
*/ */
if (! function_exists('get_plugin_info')){ if (! function_exists('get_plugin_info')){
@ -276,16 +318,20 @@ function get_plugin_info($plugin){
}} }}
/* /**
* parse theme comment in search of theme infos. * @brief Parse theme comment in search of theme infos.
*
* like * like
* * \code
* * Name: My Theme * ..* Name: My Theme
* * Description: My Cool Theme * * Description: My Cool Theme
* * Version: 1.2.3 * . * Version: 1.2.3
* * Author: John <profile url> * * Author: John <profile url>
* * Maintainer: Jane <profile url> * * Maintainer: Jane <profile url>
* * * *
* \endcode
* @param string $theme the name of the theme
* @return array
*/ */
if (! function_exists('get_theme_info')){ if (! function_exists('get_theme_info')){
@ -351,7 +397,14 @@ function get_theme_info($theme){
return $info; return $info;
}} }}
/**
* @brief Returns the theme's screenshot.
*
* The screenshot is expected as view/theme/$theme/screenshot.[png|jpg].
*
* @param sring $theme The name of the theme
* @return string
*/
function get_theme_screenshot($theme) { function get_theme_screenshot($theme) {
$a = get_app(); $a = get_app();
$exts = array('.png','.jpg'); $exts = array('.png','.jpg');
@ -413,7 +466,7 @@ function service_class_allows($uid,$property,$usage = false) {
$service_class = $a->user['service_class']; $service_class = $a->user['service_class'];
} }
else { else {
$r = q("select service_class from user where uid = %d limit 1", $r = q("SELECT `service_class` FROM `user` WHERE `uid` = %d LIMIT 1",
intval($uid) intval($uid)
); );
if($r !== false and count($r)) { if($r !== false and count($r)) {
@ -443,7 +496,7 @@ function service_class_fetch($uid,$property) {
$service_class = $a->user['service_class']; $service_class = $a->user['service_class'];
} }
else { else {
$r = q("select service_class from user where uid = %d limit 1", $r = q("SELECT `service_class` FROM `user` WHERE `uid` = %d LIMIT 1",
intval($uid) intval($uid)
); );
if($r !== false and count($r)) { if($r !== false and count($r)) {