Is this possible?
My site is on endless-anime.com and my forums is on ea-forums.com. I want my site to kinda be intergrated into the forums. But I need to tell if the users logged in, I already have the forums memberlist on my site but now I need to be able to be where you log in the forums it sets a cookie on both ea-forums.com (which it does) and endless-anime.com. Im not sure if setcookie can even do this, but I want to try, anyways I finally found vbsetcookie function and made some edits, although they dont seem to be setting the cookies on endless-anime.com anyone help?
Code:
// ###################### Start vbsetcookie #######################
function vbsetcookie($name, $value = '', $permanent = 1)
{
global $vboptions, $_SERVER;
if ($permanent)
{
$expire = TIMENOW + 60 * 60 * 24 * 365;
}
else
{
$expire = 0;
}
if ($_SERVER['SERVER_PORT'] == '443')
{
// we're using SSL
$secure = 1;
}
else
{
$secure = 0;
}
$name = COOKIE_PREFIX . $name;
$filename = 'N/A';
$linenum = 0;
if (!vbheaders_sent($filename, $linenum))
{ // consider showing an error message if there not sent using above variables?
if ($value == '' AND strlen($vboptions['cookiepath']) > 1 AND strpos($vboptions['cookiepath'], '/') !== false)
{
// this will attempt to unset the cookie at each directory up the path.
// ie, cookiepath = /test/vb3/. These will be unset: /, /test, /test/, /test/vb3, /test/vb3/
// This should hopefully prevent cookie conflicts when the cookie path is changed.
$dirarray = explode('/', preg_replace('#/+$#', '', $vboptions['cookiepath']));
$alldirs = '';
foreach ($dirarray AS $thisdir)
{
$alldirs .= "$thisdir";
if (!empty($thisdir))
{ // try unsetting without the / at the end
setcookie($name, $value, $expire, $alldirs, $vboptions['cookiedomain'], $secure);
setcookie($name, $value, $expire, '', 'www.endless-anime.com', $secure);
}
$alldirs .= "/";
setcookie($name, $value, $expire, $alldirs, $vboptions['cookiedomain'], $secure);
setcookie($name, $value, $expire, '', 'www.endless-anime.com', $secure);
}
}
else
{
setcookie($name, $value, $expire, $vboptions['cookiepath'], $vboptions['cookiedomain'], $secure);
setcookie($name, $value, $expire, '', 'www.endless-anime.com', $secure);
}
}
else if (!DB_QUERIES)
{ //show some sort of error message
global $templateassoc, $DB_site;
if (empty($templateassoc))
{
// this is being called before templates have been cached, so just get the default one
$template = $DB_site->query_first("
SELECT templateid
FROM " . TABLE_PREFIX . "template
WHERE title = 'STANDARD_ERROR' AND styleid = -1
");
$templateassoc = array('STANDARD_ERROR' => $template['templateid']);
}
eval(print_standard_error('cant_set_cookies'));
}
}
and the only part I really edited:
Code:
foreach ($dirarray AS $thisdir)
{
$alldirs .= "$thisdir";
if (!empty($thisdir))
{ // try unsetting without the / at the end
setcookie($name, $value, $expire, $alldirs, $vboptions['cookiedomain'], $secure);
setcookie($name, $value, $expire, '', 'www.endless-anime.com', $secure);
}
$alldirs .= "/";
setcookie($name, $value, $expire, $alldirs, $vboptions['cookiedomain'], $secure);
setcookie($name, $value, $expire, '', 'www.endless-anime.com', $secure);
}
}
else
{
setcookie($name, $value, $expire, $vboptions['cookiepath'], $vboptions['cookiedomain'], $secure);
setcookie($name, $value, $expire, '', 'www.endless-anime.com', $secure);
}
|