Hi, Any suggestions on fixing the cookie/session issues? I've managed to have Cake discover when someone is logged in/out in SMF but I was wondering if I should force them to use the same session and if I should, how I should go about doing something like that.
- Sohum. On Aug 3, 5:51 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > Hi again, > > Okay, so I finally experimented enough and got cookie sharing working. > However, since CakePHP rewrites the cookie every time a page is > loaded, if I login to SMF, go to the cake section and then go back to > SMF, I have to login again. I figure I need to direct Cake to use > SMF's cookie data (or vica versa--but SMF's cookie data is much more > complex), right? > > Also, both Cake and SMF create their own session id's. Although I > could survive by using the SMF cookie for everything (and hence > getting the SMF session id from there) and ignoring the Cake cookie > completely, I was wondering if there was a compelling reason to make > them use the same session. > > Thanks, > > -Sohum. > > On Aug 3, 5:03 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > wrote: > > > Okay, that makes sense. I will go ahead and do this but I have another > > question which I may need to address. > > > The data stored in the two cookies are different. It seems CakePHP > > stores the session ID (right?) whereas SMF stores the session ID in > > some sort of scrambled format. Would it matter which application > > created the cookie first? Does CakePHP ever overwrite cookies or would > > the setcookie call from SMF be sufficient to overwrite the initial > > cookie created by Cake? > > > -Sohum. > > > On Aug 3, 4:40 pm, "Geoff Ford" <[EMAIL PROTECTED]> wrote: > > > > Ok that sheds some light - the two cookies will have different paths > > > associated with them. > > > > Correct me if I am wrong but you are using smf to log a user in. This > > > creates a cookie with the path /forum associated with it. When you go to > > > / > > > or /controller Cake cannot access the cookie because it is outside the > > > path. > > > > You need to find where in smf the cookie is being set and either change or > > > add a path to the setcookie() call so that the path is set as the root > > > level > > > path. This will make the cookie available to the entire domain including > > > all the cake controller/action paths. > > > > Fromhttp://php.net/setcookie > > > *path* > > > > The path on the server in which the cookie will be available on. If set to > > > '/', the cookie will be available within the entire *domain*. If set to > > > '/foo/', the cookie will only be available within the /foo/ directory and > > > all sub-directories such as /foo/bar/ of *domain*. The default value is > > > the > > > current directory that the cookie is being set in. > > > Geoff > > > > On 8/3/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > > > > Also, not sure if this will help, but browsing to the forum creates a > > > > new cookie by the same name as CakePHP (since I changed CakePHP's > > > > session name to be the same as SMF). I verify this using web developer > > > > toolbar's cookie information tool. There are two cookies, both by the > > > > name SMFCookie655, both containing different information. > > > > > - Sohum. > > > > > On Aug 3, 3:11 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > > > > wrote: > > > > > Hi Geoff, > > > > > > First of all, thanks for your response. > > > > > > Now, the SSI.php file that SMF provides for includes has defined a > > > > > bunch of functions that have the prefix ssi. For example, the function > > > > > ssi_welcome() prints out a welcome message (Welcome back username, you > > > > > have x messages) or a login message (Welcome guest. Please login or > > > > > register) depending on the session information. There is also a > > > > > provided ssi_examples.php file that shows the output of all these > > > > > functions. > > > > > > Now when I'm logged out, of course everything works. The user is > > > > > logged out and all the functions behave like that. When I then login > > > > > to SMF, the ssi_examples.php functions all update, but the same > > > > > function calls in my layouts, it still treats the user as not logged > > > > > in. Printing out the SMF contextual data confirms this--CakePHP > > > > > doesn't "update" the session data it seems. > > > > > > I have included the "SSI.php" in my layout file. Perhaps I should > > > > > include this somewhere else? Although that doesn't seem like the > > > > > solution. > > > > > > - Sohum. > > > > > > On Aug 3, 10:38 am, Geoff Ford <[EMAIL PROTECTED]> wrote: > > > > > > > What are the ssi calls - From my understanding Cake shouldn't need > > > > > > to > > > > > > use these. Cake will just add its own keys to the existing session > > > > > > (I > > > > > > think). > > > > > > > The only trouble you might have is if cake and smf use the same key > > > > > > and one overwrites the other all the time (not sure that this will > > > > > > happen, just that it could) > > > > > > > Geoff > > > > > > --http://lemoncake.wordpress.com > > > > > > > On Aug 3, 12:30 am, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > > > > > > wrote: > > > > > > > > Hi, > > > > > > > > I checked out the two threads regarding integration of Simple > > > > Machines > > > > > > > Forum (SMF) and CakePHP but was unable to get far. I posted > > > > something > > > > > > > in one of those threads, but it seems to have gotten lost. So > > > > anyways, > > > > > > > here's my post: > > > > > > > > I have come across a little bit of trouble while using the SMF > > > > > > > API. > > > > > > > > Even when I do > > > > > > > > <?php > > > > > > > require_once("forums/SSI.php"); > > > > > > > // ssi_* calls > > > > > > > ?> > > > > > > > > I am unable to get access to the SMF session data. I'm sure I'm > > > > doing > > > > > > > something stupid seeing that I'm not really knowledgeable at all > > > > when > > > > > > > it comes to PHP sessions, so here's what I did, so anyone can > > > > > > > figure > > > > > > > out: > > > > > > > > 1. I installed CakePHP as it comes out of the box. > > > > > > > 2. I installed SMF to the same database as CakePHP under webroot/ > > > > > > > forums > > > > > > > 3. I included the above require call in my default.thtml. > > > > > > > 4. I set CAKE_SESSION_COOKIE to SMFCookie655 (which is what it is > > > > for > > > > > > > SMF) and changed management to database. > > > > > > > 5. I changed CAKE_SESSION_TABLE to forums_sessions, which is where > > > > the > > > > > > > SMF session are kept. > > > > > > > 6. I added the "expires" field to the forums_sessions table. > > > > > > > 7. I made minor modifications to lib/sessions.php to make sure > > > > > > > that > > > > > > > _read, _write, etc. worked correctly (SMF stores session id in a > > > > > > > session_id field, whereas Cake stores it in id) > > > > > > > > When I viewhttp://path/to/forums/ssi_examples.php, all the data is > > > > > > > populated correctly. However, when I call any function from within > > > > the > > > > > > > Cake layout, the data is blank. > > > > > > > > It seems to me that in Cake's call to the SSI functions, it > > > > > > > attempts > > > > > > > to populate data using the information from the Cake session. > > > > > > > Regardless of the way everything is set-up, it seems Cake creates > > > > it's > > > > > > > own cookie and SMF creates it's own cookie. Should it do this? > > > > > > > > Any help will be appreciated. :D > > > > > > > > - Sohum. > > > > --http://lemoncake.wordpress.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---
