diff --git a/inc/DifferenceEngine.php b/inc/DifferenceEngine.php
index de91a54f8841ecd19907128583c9550fe32432ff..37b55e10daa8939b1be92102f6e97ceaccc41e5a 100644
--- a/inc/DifferenceEngine.php
+++ b/inc/DifferenceEngine.php
@@ -226,6 +226,14 @@ class _DiffEngine {
      * of the two files do not match, and likewise that the last lines do not
      * match.  The caller must trim matching lines from the beginning and end
      * of the portions it is going to specify.
+     *
+     * @param integer $xoff
+     * @param integer $xlim
+     * @param integer $yoff
+     * @param integer $ylim
+     * @param integer $nchunks
+     *
+     * @return array
      */
     function _diag($xoff, $xlim, $yoff, $ylim, $nchunks) {
         $flip = false;
@@ -336,6 +344,11 @@ class _DiffEngine {
      *
      * Note that XLIM, YLIM are exclusive bounds.
      * All line numbers are origin-0 and discarded lines are not counted.
+     *
+     * @param integer $xoff
+     * @param integer $xlim
+     * @param integer $yoff
+     * @param integer $ylim
      */
     function _compareseq($xoff, $xlim, $yoff, $ylim) {
         // Slide down the bottom initial diagonal.
@@ -392,6 +405,10 @@ class _DiffEngine {
      * to be the "change".
      *
      * This is extracted verbatim from analyze.c (GNU diffutils-2.7).
+     *
+     * @param array $lines
+     * @param array $changed
+     * @param array $other_changed
      */
     function _shift_boundaries($lines, &$changed, $other_changed) {
         $i = 0;
@@ -612,6 +629,9 @@ class Diff {
      * Check a Diff for validity.
      *
      * This is here only for debugging purposes.
+     *
+     * @param mixed $from_lines
+     * @param mixed $to_lines
      */
     function _check($from_lines, $to_lines) {
         if (serialize($from_lines) != serialize($this->orig()))
@@ -889,6 +909,10 @@ class HTMLDiff {
 
     /**
      * Return a class or style parameter
+     *
+     * @param string $classname
+     *
+     * @return string
      */
     static function css($classname){
         global $DIFF_INLINESTYLES;
@@ -1339,6 +1363,11 @@ class Diff3 extends Diff {
 
     /**
      * @access private
+     *
+     * @param array $edits1
+     * @param array $edits2
+     *
+     * @return array
      */
     function _diff3($edits1, $edits2) {
         $edits = array();
diff --git a/inc/FeedParser.php b/inc/FeedParser.php
index f3ce96c24d33d99dc175b0698d64a2b32b3dc9b5..39434dcaf32b4cb61d00d0aefe584c93df7127e5 100644
--- a/inc/FeedParser.php
+++ b/inc/FeedParser.php
@@ -23,6 +23,8 @@ class FeedParser extends SimplePie {
 
     /**
      * Backward compatibility for older plugins
+     *
+     * @param string $url
      */
     function feed_url($url){
         $this->set_feed_url($url);
diff --git a/inc/JSON.php b/inc/JSON.php
index e01488e14690e9bdfff46df0fed71225f2cf7af9..fe4ca5ceff6522ce8be24ca021393957145b2ec1 100644
--- a/inc/JSON.php
+++ b/inc/JSON.php
@@ -305,6 +305,10 @@ class JSON {
 
     /**
      * encodes an arbitrary variable into JSON format, alias for encode()
+     *
+     * @param mixed $var
+     *
+     * @return string
      */
     function enc($var) {
         return $this->encode($var);
@@ -640,6 +644,10 @@ class JSON {
 
     /**
      * decodes a JSON string into appropriate variable; alias for decode()
+     *
+     * @param string $var
+     *
+     * @return mixed
      */
     function dec($var) {
         return $this->decode($var);
diff --git a/inc/JpegMeta.php b/inc/JpegMeta.php
index a826c8f66265762700a606c55d14d0d368015dae..ca59eb05fa5378b32e8c7c6b63f36f5c1f83b554 100644
--- a/inc/JpegMeta.php
+++ b/inc/JpegMeta.php
@@ -53,6 +53,8 @@ class JpegMeta {
      * Constructor
      *
      * @author Sebastian Delmont <sdelmont@zonageek.com>
+     *
+     * @param $fileName
      */
     function __construct($fileName) {
 
@@ -1109,6 +1111,8 @@ class JpegMeta {
 
     /**
      * @param string $outputName
+     *
+     * @return bool
      */
     function _writeJPEG($outputName) {
         $this->_parseAll();
@@ -1246,7 +1250,10 @@ class JpegMeta {
     /**
      * @param integer $marker
      * @param integer $length
+     * @param string $data
      * @param integer $origLength
+     *
+     * @return bool
      */
     function _writeJPEGMarker($marker, $length, &$data, $origLength) {
         if ($length <= 0) {
@@ -1575,6 +1582,10 @@ class JpegMeta {
      * Parses XMP nodes by recursion
      *
      * @author  Hakan Sandell <hakan.sandell@mydata.se>
+     *
+     * @param array $values
+     * @param int $i
+     * @param mixed $meta
      * @param integer $count
      */
     function _parseXmpNode($values, &$i, &$meta, $count) {
@@ -1681,9 +1692,13 @@ class JpegMeta {
     /*************************************************************/
 
     /**
+     * @param mixed $data
      * @param integer $base
+     * @param integer $offset
      * @param boolean $isBigEndian
      * @param string $mode
+     *
+     * @return int
      */
     function _readIFD($data, $base, $offset, $isBigEndian, $mode) {
         $EXIFTags = $this->_exifTagNames($mode);
@@ -1942,9 +1957,14 @@ class JpegMeta {
     /*************************************************************/
 
     /**
+     * @param mixed $data
+     * @param integer $pos
      * @param integer $offsetBase
+     * @param array $entries
      * @param boolean $isBigEndian
      * @param boolean $hasNext
+     *
+     * @return mixed
      */
     function _writeIFD(&$data, $pos, $offsetBase, &$entries, $isBigEndian, $hasNext) {
         $tiffData = null;
@@ -2006,6 +2026,8 @@ class JpegMeta {
     /**
      * @param boolean $isBigEndian
      * @param string $mode
+     *
+     * @return array
      */
     function & _getIFDEntries($isBigEndian, $mode) {
         $EXIFNames = $this->_exifTagNames($mode);
@@ -2517,7 +2539,14 @@ class JpegMeta {
     /*************************************************************/
 
     /**
+     * @param mixed $data
      * @param integer $pos
+     *
+     * @param string $type
+     * @param string $header
+     * @param mixed $value
+     *
+     * @return int|mixed
      */
     function _write8BIM(&$data, $pos, $type, $header, &$value) {
         $signature = "8BIM";
@@ -2581,7 +2610,13 @@ class JpegMeta {
     /*************************************************************/
 
     /**
+     * @param mixed $data
      * @param integer $pos
+     *
+     * @param string $type
+     * @param mixed $value
+     *
+     * @return int|mixed
      */
     function _writeIPTCEntry(&$data, $pos, $type, &$value) {
         $pos = $this->_putShort($data, $pos, 0x1C02);
@@ -2945,7 +2980,10 @@ class JpegMeta {
     /*************************************************************/
 
     /**
+     * @param $data
      * @param integer $pos
+     *
+     * @return int
      */
     function _getByte(&$data, $pos) {
         return ord($data{$pos});
@@ -2954,7 +2992,12 @@ class JpegMeta {
     /*************************************************************/
 
     /**
+     * @param mixed $data
      * @param integer $pos
+     *
+     * @param mixed $val
+     *
+     * @return int
      */
     function _putByte(&$data, $pos, $val) {
         $val = intval($val);
@@ -2993,7 +3036,12 @@ class JpegMeta {
     /*************************************************************/
 
     /**
+     * @param mixed $data
      * @param integer $pos
+     *
+     * @param bool $bigEndian
+     *
+     * @return int
      */
     function _getLong(&$data, $pos, $bigEndian = true) {
         if ($bigEndian) {
@@ -3012,7 +3060,13 @@ class JpegMeta {
     /*************************************************************/
 
     /**
+     * @param mixed $data
      * @param integer $pos
+     *
+     * @param mixed $val
+     * @param bool $bigEndian
+     *
+     * @return int
      */
     function _putLong(&$data, $pos, $val, $bigEndian = true) {
         $val = intval($val);
diff --git a/inc/PassHash.class.php b/inc/PassHash.class.php
index 444fe4ff06830cbd39714594e13ba1793883ef60..7ef068799f9840c7e08b8384f7b57835cad946ff 100644
--- a/inc/PassHash.class.php
+++ b/inc/PassHash.class.php
@@ -404,6 +404,13 @@ class PassHash {
 
     /**
      * Alias for hash_pmd5
+     *
+     * @param string $clear
+     * @param null|string $salt
+     * @param string $magic
+     * @param int $compute
+     *
+     * @return string
      */
     public function hash_hmd5($clear, $salt = null, $magic = 'H', $compute = 8) {
         return $this->hash_pmd5($clear, $salt, $magic, $compute);
diff --git a/inc/SafeFN.class.php b/inc/SafeFN.class.php
index b9e4a2b2ab735b2553091c412f5dcd96418c6dd7..9388ce4d6e126513939119c1a3eaa8d7ff8431c2 100644
--- a/inc/SafeFN.class.php
+++ b/inc/SafeFN.class.php
@@ -88,9 +88,11 @@ class SafeFN {
     /**
      * convert an array of unicode codepoints into 'safe_filename' format
      *
-     * @param    array  int    $unicode    an array of unicode codepoints
-     * @return   string        the unicode represented in 'safe_filename' format
+     * @param $unicode
      *
+     * @return string the unicode represented in 'safe_filename' format
+     *
+     * @internal param int $array $unicode    an array of unicode codepoints
      * @author   Christopher Smith <chris@jalakai.co.uk>
      */
     private static function unicode_to_safe($unicode) {
diff --git a/inc/confutils.php b/inc/confutils.php
index e3d2bf994a7f914de7ddf333bfef6e09563ce11e..47ee68969b6b14658da8c910d8a036f98b22b740 100644
--- a/inc/confutils.php
+++ b/inc/confutils.php
@@ -202,6 +202,11 @@ function getSchemes() {
  * @author Harry Fuecks <hfuecks@gmail.com>
  * @author Andreas Gohr <andi@splitbrain.org>
  * @author Gina Haeussge <gina@foosel.net>
+ *
+ * @param array $lines
+ * @param bool $lower
+ *
+ * @return array
  */
 function linesToHash($lines, $lower=false) {
     $conf = array();
@@ -235,6 +240,11 @@ function linesToHash($lines, $lower=false) {
  * @author Harry Fuecks <hfuecks@gmail.com>
  * @author Andreas Gohr <andi@splitbrain.org>
  * @author Gina Haeussge <gina@foosel.net>
+ *
+ * @param string $file
+ * @param bool $lower
+ *
+ * @return array
  */
 function confToHash($file,$lower=false) {
     $conf = array();
@@ -249,15 +259,16 @@ function confToHash($file,$lower=false) {
  *
  * @author Chris Smith <chris@jalakai.co.uk>
  *
- * @param  string   $type     the configuration settings to be read, must correspond to a key/array in $config_cascade
- * @param  callback $fn       the function used to process the configuration file into an array
- * @param  array    $params   optional additional params to pass to the callback
- * @param  callback $combine  the function used to combine arrays of values read from different configuration files;
+ * @param  string $type the configuration settings to be read, must correspond to a key/array in $config_cascade
+ * @param  callback $fn the function used to process the configuration file into an array
+ * @param  array $params optional additional params to pass to the callback
+ * @param callable|string $combine the function used to combine arrays of values read from different configuration files;
  *                            the function takes two parameters,
  *                               $combined - the already read & merged configuration values
  *                               $new - array of config values from the config cascade file being currently processed
  *                            and returns an array of the merged configuration values.
- * @return array    configuration values
+ *
+ * @return array configuration values
  */
 function retrieveConfig($type,$fn,$params=null,$combine='array_merge') {
     global $config_cascade;
diff --git a/inc/farm.php b/inc/farm.php
index 87fcdade8d8666fd2d22c4cac07d5798eab69717..0cd9d4f9c8098ae50a0a04aa8b1e1f4c7b54efae 100644
--- a/inc/farm.php
+++ b/inc/farm.php
@@ -38,6 +38,10 @@ if(!defined('DOKU_FARM')) define('DOKU_FARM', false);
  * website's hostname from left to right and pathname from right to left. The
  * first configuration file found will be used; the remaining will ignored.
  * If no configuration file is found, return the default confdir './conf'.
+ *
+ * @param string $farm
+ *
+ * @return string
  */
 function farm_confpath($farm) {
 
diff --git a/inc/form.php b/inc/form.php
index 91a171555c85aa3b686a7042ad201dcdd8774878..46cc8fe6bfa379dd36117ba05b1091832b751ec1 100644
--- a/inc/form.php
+++ b/inc/form.php
@@ -441,6 +441,16 @@ function form_makeField($type, $name, $value='', $label=null, $id='', $class='',
  *
  * @see     form_makeField
  * @author  Tom N Harris <tnharris@whoopdedo.org>
+ *
+ * @param string $type
+ * @param string $name
+ * @param string $value
+ * @param null|string $label
+ * @param string $id
+ * @param string $class
+ * @param array $attrs
+ *
+ * @return array
  */
 function form_makeFieldRight($type, $name, $value='', $label=null, $id='', $class='', $attrs=array()) {
     if (is_null($label)) $label = $name;
@@ -456,6 +466,15 @@ function form_makeFieldRight($type, $name, $value='', $label=null, $id='', $clas
  *
  * @see     form_makeField
  * @author  Tom N Harris <tnharris@whoopdedo.org>
+ *
+ * @param string $name
+ * @param string $value
+ * @param null|string $label
+ * @param string $id
+ * @param string $class
+ * @param array $attrs
+ *
+ * @return array
  */
 function form_makeTextField($name, $value='', $label=null, $id='', $class='', $attrs=array()) {
     if (is_null($label)) $label = $name;
@@ -472,6 +491,14 @@ function form_makeTextField($name, $value='', $label=null, $id='', $class='', $a
  *
  * @see     form_makeField
  * @author  Tom N Harris <tnharris@whoopdedo.org>
+ *
+ * @param string $name
+ * @param null|string $label
+ * @param string $id
+ * @param string $class
+ * @param array $attrs
+ *
+ * @return array
  */
 function form_makePasswordField($name, $label=null, $id='', $class='', $attrs=array()) {
     if (is_null($label)) $label = $name;
@@ -487,6 +514,14 @@ function form_makePasswordField($name, $label=null, $id='', $class='', $attrs=ar
  *
  * @see     form_makeField
  * @author  Michael Klier <chi@chimeric.de>
+ *
+ * @param string $name
+ * @param null|string $label
+ * @param string $id
+ * @param string $class
+ * @param array $attrs
+ *
+ * @return array
  */
 function form_makeFileField($name, $label=null, $id='', $class='', $attrs=array()) {
     if (is_null($label)) $label = $name;
@@ -504,6 +539,15 @@ function form_makeFileField($name, $label=null, $id='', $class='', $attrs=array(
  *
  * @see     form_makeFieldRight
  * @author  Tom N Harris <tnharris@whoopdedo.org>
+ *
+ * @param string $name
+ * @param string $value
+ * @param null|string $label
+ * @param string $id
+ * @param string $class
+ * @param array $attrs
+ *
+ * @return array
  */
 function form_makeCheckboxField($name, $value='1', $label=null, $id='', $class='', $attrs=array()) {
     if (is_null($label)) $label = $name;
@@ -520,6 +564,15 @@ function form_makeCheckboxField($name, $value='1', $label=null, $id='', $class='
  *
  * @see     form_makeFieldRight
  * @author  Tom N Harris <tnharris@whoopdedo.org>
+ *
+ * @param string $name
+ * @param string $value
+ * @param null|string $label
+ * @param string $id
+ * @param string $class
+ * @param array $attrs
+ *
+ * @return array
  */
 function form_makeRadioField($name, $value='1', $label=null, $id='', $class='', $attrs=array()) {
     if (is_null($label)) $label = $name;
diff --git a/inc/html.php b/inc/html.php
index 70ba4dcfe55fe55364b93c7c783cee8b11058a61..1dcc1abbf220cfcbc2f9907052192fd294b81a77 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -1049,12 +1049,13 @@ function html_li_default($item){
  *
  * @author Andreas Gohr <andi@splitbrain.org>
  *
- * @param array    $data  array with item arrays
- * @param string   $class class of ul wrapper
- * @param callable $func  callback to print an list item
- * @param callable $lifunc callback to the opening li tag
- * @param bool     $forcewrapper Trigger building a wrapper ul if the first level is
+ * @param array $data array with item arrays
+ * @param string $class class of ul wrapper
+ * @param callable $func callback to print an list item
+ * @param callable|string $lifunc callback to the opening li tag
+ * @param bool $forcewrapper Trigger building a wrapper ul if the first level is
  *                               0 (we have a root object) or 1 (just the root content)
+ *
  * @return string html of an unordered list
  */
 function html_buildlist($data,$class,$func,$lifunc='html_li_default',$forcewrapper=false){
diff --git a/inc/indexer.php b/inc/indexer.php
index a86bfc656b6484d1101bef4807985a85ccd4be22..fac7a3f683bf6e24d5db6d695f9d373642798489 100644
--- a/inc/indexer.php
+++ b/inc/indexer.php
@@ -1474,6 +1474,10 @@ function idx_lookup(&$words) {
 /**
  * Split a string into tokens
  *
+ * @param string $string
+ * @param bool $wc
+ *
+ * @return array
  */
 function idx_tokenizer($string, $wc=false) {
     $Indexer = idx_get_indexer();
diff --git a/inc/infoutils.php b/inc/infoutils.php
index afe85f8b2cc5db27840e51028f6d89f9109a8ab9..933eb7cceec02c8a79d7840cd3c9c3d583a24b0b 100644
--- a/inc/infoutils.php
+++ b/inc/infoutils.php
@@ -383,6 +383,9 @@ function info_msg_allowed($msg){
  * little function to print the content of a var
  *
  * @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $msg
+ * @param bool $hidden
  */
 function dbg($msg,$hidden=false){
     if($hidden){
@@ -400,6 +403,9 @@ function dbg($msg,$hidden=false){
  * Print info to a log file
  *
  * @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $msg
+ * @param string $header
  */
 function dbglog($msg,$header=''){
     global $conf;
@@ -502,6 +508,8 @@ function dbg_backtrace(){
  * debug output
  *
  * @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $data
  */
 function debug_guard(&$data){
     foreach($data as $key => $value){
diff --git a/inc/init.php b/inc/init.php
index 5317c25ad77416c19cd5fef30558b3ee04be2c44..a53dcd5fc3e13f50acaca43f43273a4df528a5c3 100644
--- a/inc/init.php
+++ b/inc/init.php
@@ -5,6 +5,10 @@
 
 /**
  * timing Dokuwiki execution
+ *
+ * @param integer $start
+ *
+ * @return mixed
  */
 function delta_time($start=0) {
     return microtime(true)-((float)$start);
@@ -341,6 +345,10 @@ function init_files(){
  * Check for accessibility on directories as well.
  *
  * @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param string $path
+ *
+ * @return bool|string
  */
 function init_path($path){
     // check existence
@@ -400,6 +408,8 @@ function init_creationmodes(){
  * remove magic quotes recursivly
  *
  * @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param $array
  */
 function remove_magic_quotes(&$array) {
     foreach (array_keys($array) as $key) {
@@ -429,6 +439,10 @@ function remove_magic_quotes(&$array) {
  * !! initialized.
  *
  * @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param null|string $abs
+ *
+ * @return string
  */
 function getBaseURL($abs=null){
     global $conf;
@@ -526,6 +540,8 @@ function is_ssl(){
 
 /**
  * print a nice message even if no styles are loaded yet.
+ *
+ * @param integer|string $msg
  */
 function nice_die($msg){
     echo<<<EOT
@@ -553,6 +569,11 @@ EOT;
  * @author Andreas Gohr <andi@splitbrain.org>
  * @author <richpageau at yahoo dot co dot uk>
  * @link   http://php.net/manual/en/function.realpath.php#75992
+ *
+ * @param string $path
+ * @param bool $exists
+ *
+ * @return bool|string
  */
 function fullpath($path,$exists=false){
     static $run = 0;
diff --git a/inc/lessc.inc.php b/inc/lessc.inc.php
index ada166d77d343208be53673bbc933299b0a1c448..75bd7b43d1eb5a427e73d27713233bd7850fa119 100644
--- a/inc/lessc.inc.php
+++ b/inc/lessc.inc.php
@@ -167,27 +167,28 @@ class lessc {
 		$this->sourceParser = $oldSourceParser;
 	}
 
-	/**
-	 * Recursively compiles a block.
-	 *
-	 * A block is analogous to a CSS block in most cases. A single LESS document
-	 * is encapsulated in a block when parsed, but it does not have parent tags
-	 * so all of it's children appear on the root level when compiled.
-	 *
-	 * Blocks are made up of props and children.
-	 *
-	 * Props are property instructions, array tuples which describe an action
-	 * to be taken, eg. write a property, set a variable, mixin a block.
-	 *
-	 * The children of a block are just all the blocks that are defined within.
-	 * This is used to look up mixins when performing a mixin.
-	 *
-	 * Compiling the block involves pushing a fresh environment on the stack,
-	 * and iterating through the props, compiling each one.
-	 *
-	 * See lessc::compileProp()
-	 *
-	 */
+    /**
+     * Recursively compiles a block.
+     *
+     * A block is analogous to a CSS block in most cases. A single LESS document
+     * is encapsulated in a block when parsed, but it does not have parent tags
+     * so all of it's children appear on the root level when compiled.
+     *
+     * Blocks are made up of props and children.
+     *
+     * Props are property instructions, array tuples which describe an action
+     * to be taken, eg. write a property, set a variable, mixin a block.
+     *
+     * The children of a block are just all the blocks that are defined within.
+     * This is used to look up mixins when performing a mixin.
+     *
+     * Compiling the block involves pushing a fresh environment on the stack,
+     * and iterating through the props, compiling each one.
+     *
+     * See lessc::compileProp()
+     *
+     * @param stdClass $block
+     */
 	protected function compileBlock($block) {
 		switch ($block->type) {
 		case "root":
@@ -777,17 +778,21 @@ class lessc {
 	}
 
 
-	/**
-	 * Compiles a primitive value into a CSS property value.
-	 *
-	 * Values in lessphp are typed by being wrapped in arrays, their format is
-	 * typically:
-	 *
-	 *     array(type, contents [, additional_contents]*)
-	 *
-	 * The input is expected to be reduced. This function will not work on
-	 * things like expressions and variables.
-	 */
+    /**
+     * Compiles a primitive value into a CSS property value.
+     *
+     * Values in lessphp are typed by being wrapped in arrays, their format is
+     * typically:
+     *
+     *     array(type, contents [, additional_contents]*)
+     *
+     * The input is expected to be reduced. This function will not work on
+     * things like expressions and variables.
+     *
+     * @param $value
+     *
+     * @return string
+     */
 	protected function compileValue($value) {
 		switch ($value[0]) {
 		case 'list':
@@ -1024,10 +1029,14 @@ class lessc {
 		}
 	}
 
-	/**
-	 * Helper function to get arguments for color manipulation functions.
-	 * takes a list that contains a color like thing and a percentage
-	 */
+    /**
+     * Helper function to get arguments for color manipulation functions.
+     * takes a list that contains a color like thing and a percentage
+     *
+     * @param $args
+     *
+     * @return array
+     */
 	protected function colorArgs($args) {
 		if ($args[0] != 'list' || count($args[2]) < 2) {
 			return array(array('color', 0, 0, 0), 0);
@@ -1263,10 +1272,14 @@ class lessc {
 		return $temp1;
 	}
 
-	/**
-	 * Converts a hsl array into a color value in rgb.
-	 * Expects H to be in range of 0 to 360, S and L in 0 to 100
-	 */
+    /**
+     * Converts a hsl array into a color value in rgb.
+     * Expects H to be in range of 0 to 360, S and L in 0 to 100
+     *
+     * @param $color
+     *
+     * @return array
+     */
 	protected function toRGB($color) {
 		if ($color[0] == 'color') return $color;
 
@@ -1298,10 +1311,14 @@ class lessc {
 		return min($max, max($min, $v));
 	}
 
-	/**
-	 * Convert the rgb, rgba, hsl color literals of function type
-	 * as returned by the parser into values of color type.
-	 */
+    /**
+     * Convert the rgb, rgba, hsl color literals of function type
+     * as returned by the parser into values of color type.
+     *
+     * @param $func
+     *
+     * @return bool|mixed
+     */
 	protected function funcToColor($func) {
 		$fname = $func[1];
 		if ($func[2][0] != 'list') return false; // need a list of arguments
@@ -1777,10 +1794,12 @@ class lessc {
 		}
 	}
 
-	/**
-	 * Initialize any static state, can initialize parser for a file
-	 * $opts isn't used yet
-	 */
+    /**
+     * Initialize any static state, can initialize parser for a file
+     * $opts isn't used yet
+     *
+     * @param null $fname
+     */
 	public function __construct($fname = null) {
 		if ($fname !== null) {
 			// used for deprecated parse method
@@ -1998,9 +2017,13 @@ class lessc {
 		$this->allParsedFiles[realpath($file)] = filemtime($file);
 	}
 
-	/**
-	 * Uses the current value of $this->count to show line and line number
-	 */
+    /**
+     * Uses the current value of $this->count to show line and line number
+     *
+     * @param null $msg
+     *
+     * @throws exception
+     */
 	protected function throwError($msg = null) {
 		if ($this->sourceLoc >= 0) {
 			$this->sourceParser->throwError($msg, $this->sourceLoc);
@@ -2496,10 +2519,15 @@ class lessc_parser {
 		return true;
 	}
 
-	/**
-	 * Attempt to consume an expression.
-	 * @link http://en.wikipedia.org/wiki/Operator-precedence_parser#Pseudo-code
-	 */
+    /**
+     * Attempt to consume an expression.
+     *
+     * @link http://en.wikipedia.org/wiki/Operator-precedence_parser#Pseudo-code
+     *
+     * @param $out
+     *
+     * @return bool
+     */
 	protected function expression(&$out) {
 		if ($this->value($lhs)) {
 			$out = $this->expHelper($lhs, 0);
@@ -2521,9 +2549,14 @@ class lessc_parser {
 		return false;
 	}
 
-	/**
-	 * recursively parse infix equation with $lhs at precedence $minP
-	 */
+    /**
+     * recursively parse infix equation with $lhs at precedence $minP
+     *
+     * @param $lhs
+     * @param $minP
+     *
+     * @return array
+     */
 	protected function expHelper($lhs, $minP) {
 		$this->inExp = true;
 		$ss = $this->seek();
@@ -3243,10 +3276,14 @@ class lessc_parser {
 		return false;
 	}
 
-	/**
-	 * Consume an assignment operator
-	 * Can optionally take a name that will be set to the current property name
-	 */
+    /**
+     * Consume an assignment operator
+     * Can optionally take a name that will be set to the current property name
+     *
+     * @param null $name
+     *
+     * @return bool
+     */
 	protected function assign($name = null) {
 		if ($name) $this->currentProperty = $name;
 		return $this->literal(':') || $this->literal('=');
diff --git a/inc/load.php b/inc/load.php
index 68bf69cf311184150db78c43f874c3a9ccf58ef8..b7ccea8a9a65f5bb652c5a35899d380ac9330965 100644
--- a/inc/load.php
+++ b/inc/load.php
@@ -45,6 +45,10 @@ require_once(DOKU_INC.'inc/compatibility.php');
  *
  * @author Andreas Gohr <andi@splitbrain.org>
  * @todo   add generic loading of renderers and auth backends
+ *
+ * @param string $name
+ *
+ * @return bool
  */
 function load_autoload($name){
     static $classes = null;
diff --git a/inc/mail.php b/inc/mail.php
index e2afd08893e6bd6437e796b3faf6c76ff3b4fdbc..1d02fd6891000ddc9089dc013b1293a9c0cbe5de 100644
--- a/inc/mail.php
+++ b/inc/mail.php
@@ -278,6 +278,12 @@ function mail_isvalid($email){
  *
  * @author umu <umuAThrz.tu-chemnitz.de>
  * @link   http://php.net/manual/en/function.imap-8bit.php#61216
+ *
+ * @param string $sText
+ * @param int $maxlen
+ * @param bool $bEmulate_imap_8bit
+ *
+ * @return string
  */
 function mail_quotedprintable_encode($sText,$maxlen=74,$bEmulate_imap_8bit=true) {
     // split text into lines
diff --git a/inc/pageutils.php b/inc/pageutils.php
index 68b7dab45ac6e6564c8790d4d689b5da519553cd..30a9d24f325247cd24096f3e76c53a4737b3bc62 100644
--- a/inc/pageutils.php
+++ b/inc/pageutils.php
@@ -394,8 +394,10 @@ function metaFiles($id){
  * @author Andreas Gohr <andi@splitbrain.org>
  * @author Kate Arzamastseva <pshns@ukr.net>
  *
- * @param string     $id  media id
+ * @param string $id media id
  * @param string|int $rev empty string or revision timestamp
+ * @param bool $clean
+ *
  * @return string full path
  */
 function mediaFN($id, $rev='', $clean=true){
diff --git a/inc/parser/code.php b/inc/parser/code.php
index 2353e0dfaf1eff91150cb6b7a420d726eafa9470..fe93273e53968ae85d5950796a74c76460484735 100644
--- a/inc/parser/code.php
+++ b/inc/parser/code.php
@@ -13,6 +13,10 @@ class Doku_Renderer_code extends Doku_Renderer {
      * Send the wanted code block to the browser
      *
      * When the correct block was found it exits the script.
+     *
+     * @param string $text
+     * @param string $language
+     * @param string $filename
      */
     function code($text, $language = null, $filename = '') {
         global $INPUT;
@@ -39,6 +43,10 @@ class Doku_Renderer_code extends Doku_Renderer {
 
     /**
      * Wraps around code()
+     *
+     * @param string $text
+     * @param string $language
+     * @param string $filename
      */
     function file($text, $language = null, $filename = '') {
         $this->code($text, $language, $filename);
diff --git a/inc/parser/handler.php b/inc/parser/handler.php
index a5e7f39cd0fec923b984141b0ed7e12c511579fb..05f4563f094aeb45a6af4c701cf9aa60a09a9123 100644
--- a/inc/parser/handler.php
+++ b/inc/parser/handler.php
@@ -23,6 +23,8 @@ class Doku_Handler {
 
     /**
      * @param string $handler
+     * @param mixed $args
+     * @param integer|string $pos
      */
     function _addCall($handler, $args, $pos) {
         $call = array($handler,$args, $pos);
@@ -71,6 +73,13 @@ class Doku_Handler {
      * An additional parameter with the plugin name is passed
      *
      * @author Andreas Gohr <andi@splitbrain.org>
+     *
+     * @param string|integer $match
+     * @param string|integer $state
+     * @param integer $pos
+     * @param $pluginname
+     *
+     * @return bool
      */
     function plugin($match, $state, $pos, $pluginname){
         $data = array($match);
@@ -137,6 +146,9 @@ class Doku_Handler {
     }
 
     /**
+     * @param string|integer $match
+     * @param string|integer $state
+     * @param integer $pos
      * @param string $name
      */
     function _nestingTag($match, $state, $pos, $name) {
@@ -764,8 +776,8 @@ class Doku_Handler_Nest implements Doku_Handler_CallWriter_Interface {
     /**
      * constructor
      *
-     * @param  Doku_Handler_CallWriter $CallWriter     the renderers current call writer
-     * @param  string     $close          closing instruction name, this is required to properly terminate the
+     * @param Doku_Handler_CallWriter|Doku_Handler_CallWriter_Interface $CallWriter the renderers current call writer
+     * @param  string $close closing instruction name, this is required to properly terminate the
      *                                    syntax mode if the document ends without a closing pattern
      */
     function __construct(Doku_Handler_CallWriter_Interface $CallWriter, $close="nest_close") {
@@ -1590,6 +1602,8 @@ class Doku_Handler_Block {
      * This function makes sure there are no empty paragraphs on the stack
      *
      * @author Andreas Gohr <andi@splitbrain.org>
+     *
+     * @param string|integer $pos
      */
     function closeParagraph($pos){
         if (!$this->inParagraph) return;
@@ -1641,6 +1655,10 @@ class Doku_Handler_Block {
      *
      * @author Harry Fuecks <hfuecks@gmail.com>
      * @author Andreas Gohr <andi@splitbrain.org>
+     *
+     * @param array $calls
+     *
+     * @return array
      */
     function process($calls) {
         // open first paragraph
diff --git a/inc/parser/lexer.php b/inc/parser/lexer.php
index 993db2b98ed370706690442d040b23be9503503b..ba6a653973e1e93e56470310b5658d8eb0ca8ddf 100644
--- a/inc/parser/lexer.php
+++ b/inc/parser/lexer.php
@@ -560,7 +560,12 @@ class Doku_Lexer {
 
 /**
  * Escapes regex characters other than (, ) and /
+ *
  * @TODO
+ *
+ * @param string $str
+ *
+ * @return mixed
  */
 function Doku_Lexer_Escape($str) {
     //$str = addslashes($str);
diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php
index ac8fd21304303bc5b9841bf25cc944eb71cc0ccd..9b1b5c98b6d5b510735d09e66816b54c5de1d002 100644
--- a/inc/parser/metadata.php
+++ b/inc/parser/metadata.php
@@ -591,6 +591,10 @@ class Doku_Renderer_metadata extends Doku_Renderer {
      * casing and special chars
      *
      * @author Andreas Gohr <andi@splitbrain.org>
+     *
+     * @param string $name
+     *
+     * @return mixed|string
      */
     function _simpleTitle($name) {
         global $conf;
diff --git a/inc/parser/parser.php b/inc/parser/parser.php
index 7814e94f6104b11647e9016fd9cc573d28e11a23..6f25dc9e1856da1ceaed67ee7408ba7684d48d47 100644
--- a/inc/parser/parser.php
+++ b/inc/parser/parser.php
@@ -75,6 +75,9 @@ class Doku_Parser {
     /**
      * PHP preserves order of associative elements
      * Mode sequence is important
+     *
+     * @param string $name
+     * @param Doku_Parser_Mode_Interface $Mode
      */
     function addMode($name, Doku_Parser_Mode_Interface $Mode) {
         if ( !isset($this->modes['base']) ) {
@@ -709,6 +712,11 @@ class Doku_Parser_Mode_acronym extends Doku_Parser_Mode {
 
     /**
      * sort callback to order by string length descending
+     *
+     * @param string $a
+     * @param string $b
+     *
+     * @return int
      */
     function _compare($a,$b) {
         $a_len = strlen($a);
diff --git a/inc/parserutils.php b/inc/parserutils.php
index 5b96d39feba76a558d2189d6323319516aa4d92a..92a5047730f31784be497484bf8b6df6e1ff9503 100644
--- a/inc/parserutils.php
+++ b/inc/parserutils.php
@@ -59,6 +59,8 @@ define('METADATA_RENDER_UNLIMITED', 4);
  * @param string $id page id
  * @param string|int $rev revision timestamp or empty string
  * @param bool $excuse
+ * @param string $date_at
+ *
  * @return null|string
  */
 function p_wiki_xhtml($id, $rev='', $excuse=true,$date_at=''){
diff --git a/inc/search.php b/inc/search.php
index cc3579c3c787d554b82cbd580d1d0bc1f46604ca..3c1d435f5e4903b30a96f3e0f64fbdd163fbae1b 100644
--- a/inc/search.php
+++ b/inc/search.php
@@ -94,6 +94,15 @@ function search(&$data,$base,$func,$opts,$dir='',$lvl=1,$sort='natural'){
  * Searches for pages beginning with the given query
  *
  * @author Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $data
+ * @param string $base
+ * @param string $file
+ * @param string $type
+ * @param integer $lvl
+ * @param array $opts
+ *
+ * @return bool
  */
 function search_qsearch(&$data,$base,$file,$type,$lvl,$opts){
     $opts = array(
@@ -110,6 +119,15 @@ function search_qsearch(&$data,$base,$file,$type,$lvl,$opts){
  * $opts['ns'] is the currently viewed namespace
  *
  * @author  Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $data
+ * @param string $base
+ * @param string $file
+ * @param string $type
+ * @param integer $lvl
+ * @param array $opts
+ *
+ * @return bool
  */
 function search_index(&$data,$base,$file,$type,$lvl,$opts){
     global $conf;
@@ -129,6 +147,15 @@ function search_index(&$data,$base,$file,$type,$lvl,$opts){
  * List all namespaces
  *
  * @author  Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $data
+ * @param string $base
+ * @param string $file
+ * @param string $type
+ * @param integer $lvl
+ * @param array $opts
+ *
+ * @return bool
  */
 function search_namespaces(&$data,$base,$file,$type,$lvl,$opts){
     $opts = array(
@@ -146,6 +173,15 @@ function search_namespaces(&$data,$base,$file,$type,$lvl,$opts){
  *   $opts['hash']      add hashes to result list
  *
  * @author  Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $data
+ * @param string $base
+ * @param string $file
+ * @param string $type
+ * @param integer $lvl
+ * @param array $opts
+ *
+ * @return bool
  */
 function search_media(&$data,$base,$file,$type,$lvl,$opts){
 
@@ -199,6 +235,15 @@ function search_media(&$data,$base,$file,$type,$lvl,$opts){
  * This function just lists documents (for RSS namespace export)
  *
  * @author  Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $data
+ * @param string $base
+ * @param string $file
+ * @param string $type
+ * @param integer $lvl
+ * @param array $opts
+ *
+ * @return bool
  */
 function search_list(&$data,$base,$file,$type,$lvl,$opts){
     //we do nothing with directories
@@ -221,6 +266,15 @@ function search_list(&$data,$base,$file,$type,$lvl,$opts){
  * $opts['query'] is the search query
  *
  * @author  Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $data
+ * @param string $base
+ * @param string $file
+ * @param string $type
+ * @param integer $lvl
+ * @param array $opts
+ *
+ * @return bool
  */
 function search_pagename(&$data,$base,$file,$type,$lvl,$opts){
     //we do nothing with directories
@@ -250,6 +304,15 @@ function search_pagename(&$data,$base,$file,$type,$lvl,$opts){
  * $opts['skipacl'] list everything regardless of ACL
  *
  * @author  Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $data
+ * @param string $base
+ * @param string $file
+ * @param string $type
+ * @param integer $lvl
+ * @param array $opts
+ *
+ * @return bool
  */
 function search_allpages(&$data,$base,$file,$type,$lvl,$opts){
     if(isset($opts['depth']) && $opts['depth']){
@@ -294,6 +357,11 @@ function search_allpages(&$data,$base,$file,$type,$lvl,$opts){
  * structure created by search_fulltext. Sorts descending by count
  *
  * @author  Andreas Gohr <andi@splitbrain.org>
+ *
+ * @param array $a
+ * @param array $b
+ *
+ * @return int
  */
 function sort_search_fulltext($a,$b){
     if($a['count'] > $b['count']){
@@ -310,6 +378,11 @@ function sort_search_fulltext($a,$b){
  *
  * @author  Andreas Gohr <andi@splitbrain.org>
  * @todo    move to pageutils
+ *
+ * @param string $path
+ * @param bool $keeptxt
+ *
+ * @return mixed|string
  */
 function pathID($path,$keeptxt=false){
     $id = utf8_decodeFN($path);
diff --git a/inc/template.php b/inc/template.php
index 3c0f1f45fe20c7afd126525c9eb241d25d5d8d44..85d3f9eee0b41085823924159931f01482bb18a2 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -1560,6 +1560,9 @@ function tpl_mediaFileList() {
  * list of file revisions
  *
  * @author Kate Arzamastseva <pshns@ukr.net>
+ *
+ * @param string $image
+ * @param boolean $rev
  */
 function tpl_mediaFileDetails($image, $rev) {
     global $conf, $DEL, $lang;