Add phpdoc doc blocks to some files.
[squirrelmail.git] / functions / tree.php
index c35bc0e2eaa5da0fc46ea5b28a9ad30e32c01033..d051b172f4bb83475c8e252fd61cafd7d86b1405 100644 (file)
 require_once(SM_PATH . 'functions/imap.php');
 
 /**
- * Recursive function to find the correct parent for a new node
+ * Recursive function to find the correct parent for a new node.
+ *
+ * @param mixed value the value to find a parent for
+ * @param int treeIndexToStart where to start the search, usually the root node (0)
+ * @param array tree the tree to search
+ * @return int the index of the parent
  */
-
 function findParentForChild($value, $treeIndexToStart, $tree) {
     // is $value in $tree[$treeIndexToStart]['value']
     if ((isset($tree[$treeIndexToStart])) && (strstr($value, $tree[$treeIndexToStart]['value']))) {
@@ -41,6 +45,13 @@ function findParentForChild($value, $treeIndexToStart, $tree) {
     }
 }
 
+/**
+ * Will insert a new value into the tree, based on a given comparison value.
+ *
+ * @param mixed comparisonValue the value to determine where the new element should be placed.
+ * @param mixed value the new node to insert
+ * @param array tree the tree to insert the node in, by ref
+ */
 function addChildNodeToTree($comparisonValue, $value, &$tree) {
     $parentNode = findParentForChild($comparisonValue, 0, $tree);
 
@@ -60,6 +71,14 @@ function addChildNodeToTree($comparisonValue, $value, &$tree) {
     }
 }
 
+/**
+ * Recursively walk the tree of trash mailboxes and delete all folders and messages
+ *
+ * @param int index the place in the tree to start, usually 0
+ * @param stream imap_stream the IMAP connection to send commands to
+ * @param array tree the tree to walk
+ * @return void
+ */
 function walkTreeInPreOrderEmptyTrash($index, $imap_stream, $tree) {
     global $trash_folder;
     if ($tree[$index]['doIHaveChildren']) {
@@ -91,6 +110,14 @@ function walkTreeInPreOrderEmptyTrash($index, $imap_stream, $tree) {
 }
 
 
+/**
+ * Recursively delete a tree of mail folders.
+ *
+ * @param int index the place in the tree to start, usually 0
+ * @param stream imap_stream the IMAP connection to send commands to
+ * @param array tree the tree to walk
+ * @return void
+ */
 function walkTreeInPreOrderDeleteFolders($index, $imap_stream, $tree) {
     if ($tree[$index]['doIHaveChildren']) {
         for ($j = 0; $j < count($tree[$index]['subNodes']); $j++) {
@@ -102,6 +129,9 @@ function walkTreeInPreOrderDeleteFolders($index, $imap_stream, $tree) {
     }
 }
 
+/**
+ * Recursively walk a tree of folders to create them under the trash folder.
+ */
 function walkTreeInPostOrderCreatingFoldersUnderTrash($index, $imap_stream, $tree, $topFolderName) {
     global $trash_folder, $delimiter;
 
@@ -131,6 +161,12 @@ function walkTreeInPostOrderCreatingFoldersUnderTrash($index, $imap_stream, $tre
     }
 }
 
+/**
+ * Recursive function that outputs a tree In-Pre-Order.
+ * @param int index the node to start (usually 0)
+ * @param array tree the tree to walk
+ * @return void
+ */
 function simpleWalkTreePre($index, $tree) {
     if ($tree[$index]['doIHaveChildren']) {
         for ($j = 0; $j < count($tree[$index]['subNodes']); $j++) {