where_in_or became or_where_in(), where_not_in_or() became or_where_not_in() for consistency
Added not_like() and or_not_like()
diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php
index cea9bdd..0a4327b 100644
--- a/system/database/DB_active_rec.php
+++ b/system/database/DB_active_rec.php
@@ -276,7 +276,7 @@
 

 	 * @return	object

 	 */

-	function where_in_or($key = NULL, $values = NULL)

+	function or_where_in($key = NULL, $values = NULL)

 	{	 	

 		return $this->_where_in($key, $values, FALSE, 'or');

 	}

@@ -314,7 +314,7 @@
 

 	 * @return	object

 	 */

-	function where_not_in_or($key = NULL, $values = NULL)

+	function or_where_not_in($key = NULL, $values = NULL)

 	{	 	

 		return $this->_where_in($key, $values, FALSE, 'or');

 	}

@@ -372,7 +372,25 @@
 	{

 		return $this->_like($field, $match, 'AND ', $side);

 	}

-	

+

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

+

+	/**

+	 * Not Like

+	 *

+	 * Generates a NOT LIKE portion of the query. Separates

+	 * multiple calls with AND

+	 *

+	 * @access	public

+	 * @param	mixed

+	 * @param	mixed

+	 * @return	object

+	 */

+	function not_like($field, $match = '', $side = 'both')

+	{

+		return $this->_like($field, $match, 'AND ', $side, ' NOT');

+	}

+		

 	// --------------------------------------------------------------------

 

 	/**

@@ -394,6 +412,24 @@
 	// --------------------------------------------------------------------

 

 	/**

+	 * OR Not Like

+	 *

+	 * Generates a NOT LIKE portion of the query. Separates

+	 * multiple calls with OR

+	 *

+	 * @access	public

+	 * @param	mixed

+	 * @param	mixed

+	 * @return	object

+	 */

+	function or_not_like($field, $match = '', $side = 'both')

+	{

+		return $this->_like($field, $match, 'OR ', $side, 'NOT ');

+	}

+	

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

+

+	/**

 	 * orlike() is an alias of or_like()

 	 * this function is here for backwards compatibility, as

 	 * orlike() has been deprecated

@@ -416,7 +452,7 @@
 	 * @param	string

 	 * @return	object

 	 */

-	function _like($field, $match = '', $type = 'AND ', $side = 'both')

+	function _like($field, $match = '', $type = 'AND ', $side = 'both', $not = '')

 	{

 		if ( ! is_array($field))

 		{

@@ -424,22 +460,23 @@
 		}

  	

 		foreach ($field as $k => $v)

-		{

+		{		

+

 			$prefix = (count($this->ar_like) == 0) ? '' : $type;

-			

+

 			$v = $this->escape_str($v);

-			

+

 			if ($side == 'before')

 			{

-				$this->ar_like[] = $prefix." $k LIKE '%{$v}'";

+				$this->ar_like[] = $prefix." $k $not LIKE '%{$v}'";

 			}

 			elseif ($side == 'after')

 			{

-				$this->ar_like[] = $prefix." $k LIKE '{$v}%'";

+				$this->ar_like[] = $prefix." $k $not LIKE '{$v}%'";

 			}

 			else

 			{

-				$this->ar_like[] = $prefix." $k LIKE '%{$v}%'";

+				$this->ar_like[] = $prefix." $k $not LIKE '%{$v}%'";

 			}

 		}

 		return $this;