tree ed24b7437f8575aead72804a512f6b2f72118a73
parent b8188f6a588fbf2a4b9570580999317ba149ecb0
author John Nicely <john.nicely@gmail.com> 1322160639 -0800
committer John Nicely <john.nicely@gmail.com> 1322160639 -0800

Changed form_open() to compare $action against base_url()

Checking for strpos($action, $CI->config->site_url()) === FALSE causes
CSRF token to not be added in form_open() output. When site_url()'s
first parameter ($uri) is empty, site_url's return value is the base
URL plus the $CI->config->item('index_page') value. form_open() and
CodeIgniter's URI routing do not require index.php to be in the URL, so
any call to form_open() in which the $action parameter does not have
index.php will always return false for the strpos() call.
