added symbolic_permissions() and octal_permissions() to the File helper
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index 21ed5ff..bdde2d5 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -368,4 +368,92 @@
 	}

 }

 

+// --------------------------------------------------------------------

+

+/**

+ * Symbolic Permissions

+ *

+ * Takes a numeric value representing a file's permissions and returns

+ * standard symbolic notation representing that value

+ *

+ * @access	public

+ * @param	int

+ * @return	string

+ */	

+if (! function_exists('symbolic_permissions'))

+{

+	function symbolic_permissions($perms)

+	{	

+		if (($perms & 0xC000) == 0xC000)

+		{

+			$symbolic = 's'; // Socket

+		}

+		elseif (($perms & 0xA000) == 0xA000)

+		{

+			$symbolic = 'l'; // Symbolic Link

+		}

+		elseif (($perms & 0x8000) == 0x8000)

+		{

+			$symbolic = '-'; // Regular

+		}

+		elseif (($perms & 0x6000) == 0x6000)

+		{

+			$symbolic = 'b'; // Block special

+		}

+		elseif (($perms & 0x4000) == 0x4000)

+		{

+			$symbolic = 'd'; // Directory

+		}

+		elseif (($perms & 0x2000) == 0x2000)

+		{

+			$symbolic = 'c'; // Character special

+		}

+		elseif (($perms & 0x1000) == 0x1000)

+		{

+			$symbolic = 'p'; // FIFO pipe

+		}

+		else

+		{

+			$symbolic = 'u'; // Unknown

+		}

+

+		// Owner

+		$symbolic .= (($perms & 0x0100) ? 'r' : '-');

+		$symbolic .= (($perms & 0x0080) ? 'w' : '-');

+		$symbolic .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-'));

+

+		// Group

+		$symbolic .= (($perms & 0x0020) ? 'r' : '-');

+		$symbolic .= (($perms & 0x0010) ? 'w' : '-');

+		$symbolic .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-'));

+

+		// World

+		$symbolic .= (($perms & 0x0004) ? 'r' : '-');

+		$symbolic .= (($perms & 0x0002) ? 'w' : '-');

+		$symbolic .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-'));

+

+		return $symbolic;		

+	}

+}

+

+// --------------------------------------------------------------------

+

+/**

+ * Octal Permissions

+ *

+ * Takes a numeric value representing a file's permissions and returns

+ * a three character string representing the file's octal permissions

+ *

+ * @access	public

+ * @param	int

+ * @return	string

+ */	

+if (! function_exists('octal_permissions'))

+{

+	function octal_permissions($perms)

+	{

+		return substr(sprintf('%o', $perms), -3);

+	}

+}

+

 ?>
\ No newline at end of file