The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
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')); } } 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); } |
#2
|
|||
|
|||
You can not set cookies across domains.
|
#3
|
|||
|
|||
Any other ideas I could find out if theyre logged in the forums across the 2 domains and get there username/password?
I think I thought of a way but I dont know how to make it come together. I make a file on endless-anime.com named setcookie.php and make it get to http vars, ?userid=&pass= and then that file gets the values and sets a cookie for it. Somehow I need to include that file in the vbsetcookie function, maybe by printing out an iframe tag with its source being the file, any ideas? |
#4
|
|||
|
|||
I'm pretty sure yo ucan do this by requiring the global.php file located in your forums on your main site. From there with a little coding you can check to see if they are logged in or not by checking for their username. I did this for my site recently and have it working great. If they are logged in it says welcome, $username if not it says they are not logged in and are required to do so in a login box or register first.
|
#5
|
|||
|
|||
umm I dont think you understood what Im trying to do... the login on the forums works fine but im trying to make it so when you login on the forums it sets a cookie on the site (a diffrent domain than the forum) thereby logging you in on the site where I can interact with the database.
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|