branch merge
diff --git a/system/core/Output.php b/system/core/Output.php
index e25e621..7d3e2e1 100644
--- a/system/core/Output.php
+++ b/system/core/Output.php
@@ -346,6 +346,7 @@
 		
 		if ( ! is_dir($cache_path) OR ! is_really_writable($cache_path))
 		{
+			log_message('error', "Unable to write cache file: ".$cache_path);
 			return;
 		}
 		
diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index 632f945..42355df 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -57,15 +57,15 @@
 	
 		$form .= '>';
 
-		if (is_array($hidden) AND count($hidden) > 0)
-		{
-			$form .= form_hidden($hidden);
-		}
-
 		// CSRF
 		if ($CI->config->item('csrf_protection') === TRUE)
 		{
-			$form .= form_hidden($CI->security->csrf_token_name, $CI->security->csrf_hash);
+			$hidden[$CI->security->csrf_token_name] = $CI->security->csrf_hash;
+		}
+
+		if (is_array($hidden) AND count($hidden) > 0)
+		{
+			$form .= sprintf("\n<div class=\"hidden\">%s</div>", form_hidden($hidden));
 		}
 
 		return $form;
diff --git a/system/libraries/Profiler.php b/system/libraries/Profiler.php
index 0900a30..db17997 100644
--- a/system/libraries/Profiler.php
+++ b/system/libraries/Profiler.php
@@ -128,7 +128,7 @@
 		foreach ($profile as $key => $val)
 		{
 			$key = ucwords(str_replace(array('_', '-'), ' ', $key));
-			$output .= "<tr><td width='50%' style='color:#000;font-weight:bold;background-color:#ddd;'>".$key."&nbsp;&nbsp;</td><td width='50%' style='color:#900;font-weight:normal;background-color:#ddd;'>".$val."</td></tr>\n";
+			$output .= "<tr><td style='width:50%;color:#000;font-weight:bold;background-color:#ddd;'>".$key."&nbsp;&nbsp;</td><td style='width:50%;color:#900;font-weight:normal;background-color:#ddd;'>".$val."</td></tr>\n";
 		}
 		
 		$output .= "</table>\n";
@@ -165,8 +165,8 @@
 			$output .= "\n";
 			$output .= '<legend style="color:#0000FF;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_queries').'&nbsp;&nbsp;</legend>';
 			$output .= "\n";		
-			$output .= "\n\n<table cellpadding='4' cellspacing='1' border='0' width='100%'>\n";
-			$output .="<tr><td width='100%' style='color:#0000FF;font-weight:normal;background-color:#eee;'>".$this->CI->lang->line('profiler_no_db')."</td></tr>\n";
+			$output .= "\n\n<table cellpadding='4' cellspacing='1' border='0' style='width:100%'>\n";
+			$output .="<tr><td style='width:100%;color:#0000FF;font-weight:normal;background-color:#eee;'>".$this->CI->lang->line('profiler_no_db')."</td></tr>\n";
 			$output .= "</table>\n";
 			$output .= "</fieldset>";
 			
@@ -177,7 +177,7 @@
 		$this->CI->load->helper('text');
 
 		// Key words we want bolded
-		$highlight = array('SELECT', 'DISTINCT', 'FROM', 'WHERE', 'AND', 'LEFT&nbsp;JOIN', 'ORDER&nbsp;BY', 'GROUP&nbsp;BY', 'LIMIT', 'INSERT', 'INTO', 'VALUES', 'UPDATE', 'OR', 'HAVING', 'OFFSET', 'NOT&nbsp;IN', 'IN', 'LIKE', 'NOT&nbsp;LIKE', 'COUNT', 'MAX', 'MIN', 'ON', 'AS', 'AVG', 'SUM', '(', ')');
+		$highlight = array('SELECT', 'DISTINCT', 'FROM', 'WHERE', 'AND', 'LEFT&nbsp;JOIN', 'ORDER&nbsp;BY', 'GROUP&nbsp;BY', 'LIMIT', 'INSERT', 'INTO', 'VALUES', 'UPDATE', 'OR&nbsp;', 'HAVING', 'OFFSET', 'NOT&nbsp;IN', 'IN', 'LIKE', 'NOT&nbsp;LIKE', 'COUNT', 'MAX', 'MIN', 'ON', 'AS', 'AVG', 'SUM', '(', ')');
 
 		$output  = "\n\n";
 			
@@ -187,11 +187,11 @@
 			$output .= "\n";
 			$output .= '<legend style="color:#0000FF;">&nbsp;&nbsp;'.$this->CI->lang->line('profiler_database').':&nbsp; '.$db->database.'&nbsp;&nbsp;&nbsp;'.$this->CI->lang->line('profiler_queries').': '.count($this->CI->db->queries).'&nbsp;&nbsp;&nbsp;</legend>';
 			$output .= "\n";		
-			$output .= "\n\n<table cellpadding='4' cellspacing='1' border='0' width='100%'>\n";
+			$output .= "\n\n<table cellpadding='4' cellspacing='1' border='0' style='width:100%;'>\n";
 		
 			if (count($db->queries) == 0)
 			{
-				$output .= "<tr><td width='100%' style='color:#0000FF;font-weight:normal;background-color:#eee;'>".$this->CI->lang->line('profiler_no_queries')."</td></tr>\n";
+				$output .= "<tr><td style='width:100%;color:#0000FF;font-weight:normal;background-color:#eee;'>".$this->CI->lang->line('profiler_no_queries')."</td></tr>\n";
 			}
 			else
 			{				
@@ -206,7 +206,7 @@
 						$val = str_replace($bold, '<strong>'.$bold.'</strong>', $val);	
 					}
 					
-					$output .= "<tr><td width='1%' valign='top' style='color:#900;font-weight:normal;background-color:#ddd;'>".$time."&nbsp;&nbsp;</td><td style='color:#000;font-weight:normal;background-color:#ddd;'>".$val."</td></tr>\n";
+					$output .= "<tr><td valign='top' style='width:1%;color:#900;font-weight:normal;background-color:#ddd;'>".$time."&nbsp;&nbsp;</td><td style='color:#000;font-weight:normal;background-color:#ddd;'>".$val."</td></tr>\n";
 				}
 			}
 			
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 9bb4a4e..fb533b0 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -185,6 +185,7 @@
 	<li>Fixed a bug in the Encryption library where an empty key was not triggering an error.</li>
 	<li>Fixed a bug in the Email library where CC and BCC recipients were not reset when using the clear() method (#109).</li>
 	<li>Fixed a bug in the URL Helper where prep_url() could cause a PHP error on PHP versions &lt; 5.1.2.</li>
+	<li>Added a log message in core/output if the cache directory config value was not found.</li>
 </ul>
 
 <h2>Version 1.7.2</h2>