2007/06/27

CIのはまりどころ_クッキーヘルパーにて

以下のようにしないと第2引数までしか指定しない場合に有効期限がセットした日から30日前になってしまいます。

function set_cookie($name = '', $value = '', $expire = '', $domain = '', $path = '/', $prefix = '')
{
if (is_array($name))
{
foreach (array('value', 'expire', 'domain', 'path', 'prefix', 'name') as $item)
{
if (isset($name[$item]))
{
$$item = $name[$item];
}
}
}

// Set the config file options
$CI =& get_instance();

if ($prefix == '' AND $CI->config->item('cookie_prefix') != '')
{
$CI->config->item('cookie_prefix');
}
if ($domain == '' AND $CI->config->item('cookie_domain') != '')
{
$CI->config->item('cookie_domain');
}
if ($prefix == '/' AND $CI->config->item('cookie_path') != '/')
{
$CI->config->item('cookie_path');
}

if ( ! is_numeric($expire))
{

$expire = time() + 86500;
// $expire = time() - 86500; //<-これバグでないの?

}
else
{


if ($expire > 0)
{
$expire = time() + $expire;
}
else
{
$expire = 0;
}
}

setcookie($prefix.$name, $value, $expire, $path, $domain, 0);
}

CI

2007/06/22

AjaxのresponseXMLにてはまる

IE6とFF2ではネームスペースの対応が違う。
たとえば以下ようなXMLがあったとき。
xsd:a xmlns:xsd="http:/sample.com/xsd"
xsd:bこれはテスト