[BETA] Guest Sessions MOD

A place for MOD Authors to post and receive feedback on MODs still in development. No MODs within this forum should be used within a live environment! No new topics are allowed in this forum.
Forum rules
READ: phpBB.com Board-Wide Rules and Regulations

IMPORTANT: MOD Development Forum rules

On February 1, 2009 this forum will be set to read only as part of retiring of phpBB2.

Postby CyberAlien » Sun May 08, 2005 9:36 am

Mod updated for phpBB 2.0.15

MrClint: you forgot to run update file when updating to 2.0.15
CyberAlien aka Vjacheslav Trushkin.
Under construction: ColorizeIt! - online color scheme editor.
PM me if you want your style to be published on ColorizeIt beta.
User avatar
CyberAlien
Former Team Member
 
Posts: 11132
Joined: Wed Mar 06, 2002 2:36 pm
Location: jQuery.ColorizeIt

Postby MrClint » Sun May 08, 2005 10:21 am

Got it! Thanks!
MrClint
Registered User
 
Posts: 8
Joined: Fri Apr 30, 2004 1:18 pm

Postby »»EDDY«« » Sun May 08, 2005 10:27 am

Faster update, thx;)
Make a Tiny URL in excellent domain heh.pl


cooling system & water cooling
User avatar
»»EDDY««
Registered User
 
Posts: 220
Joined: Mon Jun 02, 2003 10:14 am
Location: Poland/Slupsk

Postby CyberAlien » Sun May 08, 2005 10:43 am

Sorry, I've made a stupid typo in update. If you have already updated within last hour while buggy version was online then replace this:
Code: Select all
   $sql = "UPDATE " . SESSIONS_TABLE . "
      SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
      WHERE session_id = '" . $session_id . "' $sql_ip
         AND session_ip = '$user_ip'";
with this:
Code: Select all
   $sql = "UPDATE " . SESSIONS_TABLE . "
      SET session_ip = '$user_ip', session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
      WHERE session_id = '" . $session_id . "' $sql_ip
         AND session_user_id = '$user_id'";
CyberAlien aka Vjacheslav Trushkin.
Under construction: ColorizeIt! - online color scheme editor.
PM me if you want your style to be published on ColorizeIt beta.
User avatar
CyberAlien
Former Team Member
 
Posts: 11132
Joined: Wed Mar 06, 2002 2:36 pm
Location: jQuery.ColorizeIt

Postby kjcdude » Tue May 10, 2005 6:29 am

Is there a package that is working and available for download.

I would really really love to get this mod, i hate having google cache the same pages over and over again.
User avatar
kjcdude
Registered User
 
Posts: 154
Joined: Mon Sep 27, 2004 10:23 pm
Location: Southern California

Postby Thatbitextra » Tue May 10, 2005 6:38 am

You can get it here.
Styles KB
My MODs: Choose Who to Accept PMs From (Prevents unwanted PMs!) | Warn of Old Topic Before Posting Reply
Style: subBlack (Now updated to phpBB 2.0.22 and 5 new color schemes!)
User avatar
Thatbitextra
Former Team Member
 
Posts: 7763
Joined: Mon Mar 21, 2005 5:04 am
Location: A place where something is or could be located; a site.

0.03 => 0.04

Postby dcz » Tue May 10, 2005 9:40 pm

Hi,
I am performing the update to 2.0.15 and I runed the guest session mod 0.03. I'd like to know if I need to unistall 0.03 prior to reinstal 0.04 or if there is a quicker way.

Thanks!
dcz

phpBB SEO || phpBB3 SEO Premod || SEO phpBB3
GYM Sitemaps & RSS for phpBB3: GYM Sitemaps & RSS
dcz
Registered User
 
Posts: 785
Joined: Sun Feb 13, 2005 5:37 am

Postby CyberAlien » Tue May 10, 2005 9:55 pm

There is only one part of update that you won't be able to find:
Code: Select all
#
#-----[ FIND ]---------------------------------------------
# Line 158
      SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
      WHERE session_id = '" . $session_id . "'
         AND session_ip = '$user_ip'";
   if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
   {
      $session_id = md5(uniqid($user_ip));

      $sql = "INSERT INTO " . SESSIONS_TABLE . "
         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";

#
#-----[ REPLACE WITH ]---------------------------------------------
#
      SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
      WHERE session_id = '" . $session_id . "'
         AND session_ip = '$user_ip'";
   if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
   {
      list($sec, $usec) = explode(' ', microtime());
      mt_srand((float) $sec + ((float) $usec * 100000));
      $session_id = md5(uniqid(mt_rand(), true));

      $sql = "INSERT INTO " . SESSIONS_TABLE . "
         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)
         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";
Instead of it use this instruction:
Code: Select all
#
#-----[ FIND ]---------------------------------------------
#
      SET session_ip = '$user_ip', session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
      WHERE session_id = '" . $session_id . "' $sql_ip
         AND session_user_id = '$user_id'";
   if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
   {
      $session_id = md5(uniqid($user_ip));

      $sql = "INSERT INTO " . SESSIONS_TABLE . "
         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";

#
#-----[ REPLACE WITH ]---------------------------------------------
#
      SET session_ip = '$user_ip', session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
      WHERE session_id = '" . $session_id . "' $sql_ip
         AND session_user_id = '$user_id'";
   if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
   {
      list($sec, $usec) = explode(' ', microtime());
      mt_srand((float) $sec + ((float) $usec * 100000));
      $session_id = md5(uniqid(mt_rand(), true));

      $sql = "INSERT INTO " . SESSIONS_TABLE . "
         (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)
         VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";

CyberAlien aka Vjacheslav Trushkin.
Under construction: ColorizeIt! - online color scheme editor.
PM me if you want your style to be published on ColorizeIt beta.
User avatar
CyberAlien
Former Team Member
 
Posts: 11132
Joined: Wed Mar 06, 2002 2:36 pm
Location: jQuery.ColorizeIt

THX!

Postby dcz » Wed May 11, 2005 9:49 am

Thanks a lot for this one! ;)

phpBB SEO || phpBB3 SEO Premod || SEO phpBB3
GYM Sitemaps & RSS for phpBB3: GYM Sitemaps & RSS
dcz
Registered User
 
Posts: 785
Joined: Sun Feb 13, 2005 5:37 am

Postby kjcdude » Wed May 11, 2005 4:01 pm

thanks, seems to be working well
http://theocsucks.com
User avatar
kjcdude
Registered User
 
Posts: 154
Joined: Mon Sep 27, 2004 10:23 pm
Location: Southern California

Postby DETENATOR » Fri May 27, 2005 3:12 pm

Hello I use this code

Code: Select all
#################################################################
## MOD Title: Guest Sessions MOD
## MOD Version: 0.04
## MOD Author: CyberAlien <no@public_email> (Vjacheslav Trushkin) http://www.phpbbstyles.com
## MOD Description:
##      This mod removes session id for guests from url and this way
##      guests who don't have cookies like different robots will use
##      correct urls. It can be used to allow googlebot and other
##      search engines to spider your forum correctly.
##
## Installation Level:   Easy
## Installation Time:   1-2 Minutes
## Files To Edit (1): includes/sessions.php
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]---------------------------------------------
#
includes/sessions.php

#
#-----[ FIND ]---------------------------------------------
# around line 157
   $sql = "UPDATE " . SESSIONS_TABLE . "
      SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
      WHERE session_id = '" . $session_id . "'
         AND session_ip = '$user_ip'";

#
#-----[ REPLACE WITH ]---------------------------------------
#
   $sql_ip = $user_id == ANONYMOUS ? " AND session_ip = '$user_ip'" : '';
   $sql = "UPDATE " . SESSIONS_TABLE . "
      SET session_ip = '$user_ip', session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
      WHERE session_id = '" . $session_id . "' $sql_ip
         AND session_user_id = '$user_id'";

#
#-----[ FIND ]---------------------------------------------
# around line 210
   $SID = 'sid=' . $session_id;

#
#-----[ REPLACE WITH ]---------------------------------------
#
   $SID = $user_id > 0 ? 'sid=' . $session_id : '';

#
#-----[ FIND ]---------------------------------------------
# around line 288
            $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '';

#
#-----[ REPLACE WITH ]---------------------------------------
#
            $SID = $userdata['user_id'] > 0 ? (($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '') : '';

#
#-----[ FIND ]---------------------------------------------
# around line 340
   //
   // If we reach here then no (valid) session exists. So we'll create a new one,
#
#-----[ BEFORE, ADD ]---------------------------------------
#
   elseif(empty($sessiondata))
   {
      // try to login guest
      $sql = "SELECT u.*, s.*
         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
         WHERE s.session_ip = '$user_ip'
            AND s.session_user_id = " . ANONYMOUS . "
            AND u.user_id = s.session_user_id
               LIMIT 0, 1";
      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
      }

      $userdata = $db->sql_fetchrow($result);

      if ( isset($userdata['user_id']) )
      {
         if ( $current_time - $userdata['session_time'] > 60 )
         {
            $sql = "UPDATE " . SESSIONS_TABLE . "
               SET session_time = $current_time, session_start = $current_time, session_page = 0
               WHERE session_id = '" . $userdata['session_id'] . "'";
            if ( !$db->sql_query($sql) )
            {
               message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
            }
         }
         return $userdata;
      }
   }

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM




but any user not loged in my forum only admin logged in please help me. what I do.. :? and ım sorry ı havent got good english.Im waiting your reply.
my forum version: plus 1.52
DETENATOR
Registered User
 
Posts: 1
Joined: Fri May 27, 2005 3:07 pm

Postby cpellizzi » Mon May 30, 2005 7:15 pm

nice!
cpellizzi
Registered User
 
Posts: 12
Joined: Sun Mar 27, 2005 5:11 am

Postby matrimforever » Fri Jul 29, 2005 4:03 am

Hi,
This is a stupid question I know, but how can you tell this is working?
matrimforever
Registered User
 
Posts: 65
Joined: Mon Mar 14, 2005 5:50 am

Postby kulinar » Fri Jul 29, 2005 5:59 am

matrimforever wrote:Hi,
This is a stupid question I know, but how can you tell this is working?
If guests don't get sessions, this means Mod works :wink:
kulinar
Registered User
 
Posts: 638
Joined: Thu Feb 17, 2005 7:31 pm

Postby matrimforever » Fri Jul 29, 2005 6:44 am

Hehe, back to my original statement about stupid questions...

How can you tell a guest has no sessions? That's session id i presume, but if guests can't post topics how are they given anything?
matrimforever
Registered User
 
Posts: 65
Joined: Mon Mar 14, 2005 5:50 am

PreviousNext

Return to [2.0.x] MODs in Development

Who is online

Users browsing this forum: No registered users and 11 guests

cron