phpBB SEO
Boards
Directory  
SEO  
Downloads
  phpBB SEO : Search Engine Optimization, Directory, Forums  
Index
Forums
Annuaire
Référencement
Télécharger
 
  Search Rechercher
    Register
Username :  Password :  Log me on automatically each visit  
S'enregistrer  
 
   
Forum pagination showing viewforum.php

 
Post new topic   Reply to topic    phpBB SEO » SEO Forum  » phpBB mod Rewrite
::  
Author Message
Peter77
phpBB SEO Team
phpBB SEO Team


Joined: 10 May 2006
Posts: 512
Location: Michigan

Forum pagination showing viewforum.phpPosted: Sun Jul 09, 2006 8:32 am    Post subject: Forum pagination showing viewforum.php

Odd things have happned to my site a while ago... so some configurations are not working properly.

Where in viewforum.php can I fix the pagination numbers to show back to the SEO friendly URL and not viewforum.php?f=87&start=480 ?


::edit:: hmm I opened the Advanced rewrite MOD and checked the installl file and eveything is there how it is supposed to be.



Code:
}
// phpBB-SEO.com SEO TOOLKIT BEGIN
$seo_forum_name = $forum_row['forum_name'];
// phpBB-SEO.com SEO TOOLKIT END
//
// Start session management
//
$userdata = session_pagestart($user_ip, $forum_id);
init_userprefs($userdata);
//
// End session management
//



Code:
$topic_title = ( count($orig_word) ) ? preg_replace($orig_word, $replacement_word, $topic_rowset[$i]['topic_title']) : $topic_rowset[$i]['topic_title'];
// phpBB-SEO.com SEO TOOLKIT BEGIN
      $seo_topic_name = $topic_title;
      // phpBB-SEO.com SEO TOOLKIT END

_________________
Juarol.com
| Frekuenciadigital.com |
Back to top
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Joined: 28 Apr 2006
Posts: 14403

Forum pagination showing viewforum.phpPosted: Sun Jul 09, 2006 10:01 am    Post subject: Re: Forum pagination showing viewforum.php

This is dealt with in sessions.php, the append_sid changes, unless there is a :
Code:
$seo_forum_name = FALSE;


somewhere in the file.

Check it, and post your code if you get stucked Wink

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Back to top
Visit poster's website
Peter77
phpBB SEO Team
phpBB SEO Team


Joined: 10 May 2006
Posts: 512
Location: Michigan

Forum pagination showing viewforum.phpPosted: Thu Jul 13, 2006 5:17 am    Post subject: Re: Forum pagination showing viewforum.php

Yeah, I upgraded and double checked and still seeing viewtopic.php in view forum pagination numbers...

Here is my Sessions.php

Code:
<?php
/***************************************************************************
 *                                sessions.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: sessions.php,v 1.58.2.16 2005/10/30 15:17:14 acydburn Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

//
// Adds/updates a new session to the database for the given userid.
// Returns the new session ID on success.
//
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)
{
   global $db, $board_config;
   global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;

   $cookiename = $board_config['cookie_name'];
   $cookiepath = $board_config['cookie_path'];
   $cookiedomain = $board_config['cookie_domain'];
   $cookiesecure = $board_config['cookie_secure'];

   if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )
   {
      $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
      $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();
      $sessionmethod = SESSION_METHOD_COOKIE;
   }
   else
   {
      $sessiondata = array();
      $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
      $sessionmethod = SESSION_METHOD_GET;
   }

   //
   if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))
   {
      $session_id = '';
   }

   $page_id = (int) $page_id;

   $last_visit = 0;
   $current_time = time();

   //
   // Are auto-logins allowed?
   // If allow_autologin is not set or is true then they are
   // (same behaviour as old 2.0.x session code)
   //
   if (isset($board_config['allow_autologin']) && !$board_config['allow_autologin'])
   {
      $enable_autologin = $sessiondata['autologinid'] = false;
   }

   //
   // First off attempt to join with the autologin value if we have one
   // If not, just use the user_id value
   //
   $userdata = array();

   if ($user_id != ANONYMOUS)
   {
      if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '' && $user_id)
      {
         $sql = 'SELECT u.*
            FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k
            WHERE u.user_id = ' . (int) $user_id . "
               AND u.user_active = 1
               AND k.user_id = u.user_id
               AND k.key_id = '" . md5($sessiondata['autologinid']) . "'";
         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);
         $db->sql_freeresult($result);
      
         $enable_autologin = $login = 1;
      }
      else if (!$auto_create)
      {
         $sessiondata['autologinid'] = '';
         $sessiondata['userid'] = $user_id;

         $sql = 'SELECT *
            FROM ' . USERS_TABLE . '
            WHERE user_id = ' . (int) $user_id . '
               AND user_active = 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);
         $db->sql_freeresult($result);

         $login = 1;
      }
   }

   //
   // At this point either $userdata should be populated or
   // one of the below is true
   // * Key didn't match one in the DB
   // * User does not exist
   // * User is inactive
   //
   if (!sizeof($userdata) || !is_array($userdata) || !$userdata)
   {
      $sessiondata['autologinid'] = '';
      $sessiondata['userid'] = $user_id = ANONYMOUS;
      $enable_autologin = $login = 0;

      $sql = 'SELECT *
         FROM ' . USERS_TABLE . '
         WHERE user_id = ' . (int) $user_id;
      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);
      $db->sql_freeresult($result);
   }


   //
   // Initial ban check against user id, IP and email address
   //
   preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts);

   $sql = "SELECT ban_ip, ban_userid, ban_email
      FROM " . BANLIST_TABLE . "
      WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . "ff', '" . $user_ip_parts[1] . $user_ip_parts[2] . "ffff', '" . $user_ip_parts[1] . "ffffff')
         OR ban_userid = $user_id";
   if ( $user_id != ANONYMOUS )
   {
      $sql .= " OR ban_email LIKE '" . str_replace("\'", "''", $userdata['user_email']) . "'
         OR ban_email LIKE '" . substr(str_replace("\'", "''", $userdata['user_email']), strpos(str_replace("\'", "''", $userdata['user_email']), "@")) . "'";
   }
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql);
   }

   if ( $ban_info = $db->sql_fetchrow($result) )
   {
      if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] )
      {
         message_die(CRITICAL_MESSAGE, 'You_been_banned');
      }
   }
                   
   //
   // Create or update the session
   //
   $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'";
   if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
   {
      $session_id = md5(dss_rand());
      $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)";
      if ( !$db->sql_query($sql) )
      {
         message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);
      }
   }

   //if ( $user_id != ANONYMOUS )
   //{
      $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;

      if (!$admin)
      {
         $sql = "UPDATE " . USERS_TABLE . "
            SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit, user_lastlogon = " . time() .  ", user_totallogon=user_totallogon+1
            WHERE user_id = $user_id";
         if ( !$db->sql_query($sql) )
         {
            message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);
         }
      }

      $userdata['user_lastvisit'] = $last_visit;

      //
      // Regenerate the auto-login key
      //
      if ($enable_autologin)
      {
         $auto_login_key = dss_rand() . dss_rand();         
         if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '')
         {
            $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "
               SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time
               WHERE key_id = '" . md5($sessiondata['autologinid']) . "'";
         }
         else
         {
            $sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . "(key_id, user_id, last_ip, last_login)
               VALUES ('" . md5($auto_login_key) . "', $user_id, '$user_ip', $current_time)";
         }

         if ( !$db->sql_query($sql) )
         {
            message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);
         }
         
         $sessiondata['autologinid'] = $auto_login_key;
         unset($auto_login_key);
      }
      else
      {
         $sessiondata['autologinid'] = '';
      }

//      $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid'];
      $sessiondata['userid'] = $user_id;
   //}

   $userdata['session_id'] = $session_id;
   $userdata['session_ip'] = $user_ip;
   $userdata['session_user_id'] = $user_id;
   $userdata['session_logged_in'] = $login;
   $userdata['session_page'] = $page_id;
   $userdata['session_start'] = $current_time;
   $userdata['session_time'] = $current_time;
   $userdata['session_admin'] = $admin;
   $userdata['session_key'] = $sessiondata['autologinid'];

   setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
   setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
// Add the session_key to the userdata array if it is set
            if ( isset($sessiondata['autologinid']) && $sessiondata['autologinid'] != '' )
            {
               $userdata['session_key'] = $sessiondata['autologinid'];
            }

   $SID = $user_id > 0 ? 'sid=' . $session_id : '';

   return $userdata;
}

//
// Checks for a given user session, tidies session table and updates user
// sessions at each page refresh
//
function session_pagestart($user_ip, $thispage_id, $thistopic_id=PAGE_INDEX)
{
   global $db, $lang, $board_config;
   global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;

   $cookiename = $board_config['cookie_name'];
   $cookiepath = $board_config['cookie_path'];
   $cookiedomain = $board_config['cookie_domain'];
   $cookiesecure = $board_config['cookie_secure'];

   $current_time = time();
   unset($userdata);

   if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) )
   {
      $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();
      $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
      $sessionmethod = SESSION_METHOD_COOKIE;
   }
   else
   {
      $sessiondata = array();
      $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
      $sessionmethod = SESSION_METHOD_GET;
   }

   //
   if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))
   {
      $session_id = '';
   }

   $thispage_id = (int) $thispage_id;

   //
   // Does a session exist?
   //
   if ( !empty($session_id) )
   {
    // Start add - Last visit MOD
$expiry_time = $current_time - $board_config['session_length'] ;
// End add - Last visit MOD
      //
      // session_id exists so go ahead and attempt to grab all
      // data in preparation
      //
      $sql = "SELECT u.*, s.*
         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
         WHERE s.session_id = '$session_id'
            AND u.user_id = s.session_user_id AND session_time > $expiry_time";
      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);

      //
      // Did the session exist in the DB?
      //
      if ( isset($userdata['user_id']) )
      {
         //
         // Do not check IP assuming equivalence, if IPv4 we'll check only first 24
         // bits ... I've been told (by vHiker) this should alleviate problems with
         // load balanced et al proxies while retaining some reliance on IP security.
         //
         $ip_check_s = substr($userdata['session_ip'], 0, 6);
         $ip_check_u = substr($user_ip, 0, 6);

         if ($ip_check_s == $ip_check_u)
         {
            $SID = $userdata['user_id'] > 0 ? (($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '') : '';

            //
            // Only update session DB a minute or so after last update
            //
            if ( $current_time - $userdata['session_time'] > 60 || ((( $userdata['user_id'] == ANONYMOUS )?$userdata['user_session_topic']:$userdata['session_topic']) != $thispage_topic) || (( $userdata['user_id'] == ANONYMOUS )?$userdata['user_session_page']:$userdata['session_page']) != $thispage_id)
            {
               // A little trick to reset session_admin on session re-usage
               $update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : '';

               $sql = "UPDATE " . SESSIONS_TABLE . "
                  SET session_time = $current_time, session_page = $thispage_id, session_topic = '".$thistopic_id ."' $update_admin
                  WHERE session_id = '" . $userdata['session_id'] . "'";
               if ( !$db->sql_query($sql) )
               {
                  message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
               }

               //if ( $userdata['user_id'] != ANONYMOUS )
               //{
                  $sql = "UPDATE " . USERS_TABLE . "
                     SET user_session_time = $current_time, user_session_page = $thispage_id, user_session_topic='" . $thistopic_id . "' , user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")
                     WHERE user_id = " . $userdata['user_id'];
                  if ( !$db->sql_query($sql) )
                  {
                     message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
                  }
               //}

               session_clean($userdata['session_id']);

               setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
               setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
            }

            return $userdata;
         }
      }
   }
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;
      }
   }
   //
   // If we reach here then no (valid) session exists. So we'll create a new one,
   // using the cookie user_id if available to pull basic user prefs.
   //
   $user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS;

   if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )
   {
      message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);
   }

   return $userdata;

}

/**
* Terminates the specified session
* It will delete the entry in the sessions table for this session,
* remove the corresponding auto-login key and reset the cookies
*/
function session_end($session_id, $user_id)
{
   global $db, $lang, $board_config, $userdata;
   global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;

   $cookiename = $board_config['cookie_name'];
   $cookiepath = $board_config['cookie_path'];
   $cookiedomain = $board_config['cookie_domain'];
   $cookiesecure = $board_config['cookie_secure'];

   $current_time = time();

   if (!preg_match('/^[A-Za-z0-9]*$/', $session_id))
   {
      return;
   }
   
   //
   // Delete existing session
   //
   $sql = 'DELETE FROM ' . SESSIONS_TABLE . "
      WHERE session_id = '$session_id'
         AND session_user_id = $user_id";
   if ( !$db->sql_query($sql) )
   {
      message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);
   }

   //
   // Remove this auto-login entry (if applicable)
   //
   if ( isset($userdata['session_key']) && $userdata['session_key'] != '' )
   {
      $autologin_key = md5($userdata['session_key']);
      $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
         WHERE user_id = ' . (int) $user_id . "
            AND key_id = '$autologin_key'";
      if ( !$db->sql_query($sql) )
      {
         message_die(CRITICAL_ERROR, 'Error removing auto-login key', '', __LINE__, __FILE__, $sql);
      }
   }

   //
   // We expect that message_die will be called after this function,
   // but just in case it isn't, reset $userdata to the details for a guest
   //
   $sql = 'SELECT *
      FROM ' . USERS_TABLE . '
      WHERE user_id = ' . ANONYMOUS;
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);
   }
   if ( !($userdata = $db->sql_fetchrow($result)) )
   {
      message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql);
   }
   $db->sql_freeresult($result);


   setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);
   setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);

   return true;
}

/**
* Removes expired sessions and auto-login keys from the database
*/
function session_clean($session_id)
{
   global $board_config, $db;

   //
   // Delete expired sessions
   //
   $sql = 'DELETE FROM ' . SESSIONS_TABLE . '
      WHERE ' . "UNIX_TIMESTAMP() - session_time >=172800
         AND session_id <> '$session_id'";
   if ( !$db->sql_query($sql) )
   {
      message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);
   }

   //
   // Delete expired auto-login keys
   // If max_autologin_time is not set then keys will never be deleted
   // (same behaviour as old 2.0.x session code)
   //
   if (!empty($board_config['max_autologin_time']) && $board_config['max_autologin_time'] > 0)
   {
      $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
         WHERE last_login < ' . (time() - (86400 * (int) $board_config['max_autologin_time']));
      $db->sql_query($sql);
   }

   return true;
}

/**
* Reset all login keys for the specified user
* Called on password changes
*/
function session_reset_keys($user_id, $user_ip)
{
   global $db, $userdata, $board_config;

   $key_sql = ($user_id == $userdata['user_id'] && !empty($userdata['session_key'])) ? "AND key_id != '" . md5($userdata['session_key']) . "'" : '';

   $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . '
      WHERE user_id = ' . (int) $user_id . "
         $key_sql";

   if ( !$db->sql_query($sql) )
   {
      message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', __LINE__, __FILE__, $sql);
   }

   $where_sql = 'session_user_id = ' . (int) $user_id;
   $where_sql .= ($user_id == $userdata['user_id']) ? " AND session_id <> '" . $userdata['session_id'] . "'" : '';
   $sql = 'DELETE FROM ' . SESSIONS_TABLE . "
      WHERE $where_sql";
   if ( !$db->sql_query($sql) )
   {
      message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', __LINE__, __FILE__, $sql);
   }

   if ( !empty($key_sql) )
   {
      $auto_login_key = dss_rand() . dss_rand();

      $current_time = time();
      
      $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . "
         SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time
         WHERE key_id = '" . md5($userdata['session_key']) . "'";
      
      if ( !$db->sql_query($sql) )
      {
         message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql);
      }

      // And now rebuild the cookie
      $sessiondata['userid'] = $user_id;
      $sessiondata['autologinid'] = $auto_login_key;
      $cookiename = $board_config['cookie_name'];
      $cookiepath = $board_config['cookie_path'];
      $cookiedomain = $board_config['cookie_domain'];
      $cookiesecure = $board_config['cookie_secure'];

      setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
      
      $userdata['session_key'] = $auto_login_key;
      unset($sessiondata);
      unset($auto_login_key);
   }
}

//
// Append $SID to a url. Borrowed from phplib and modified. This is an
// extra routine utilised by the session code above and acts as a wrapper
// around every single URL and form action. If you replace the session
// code you must include this routine, even if it's empty.
//
function append_sid($url, $non_html_amp = false)
{
   global $SID;   
   // www.phpBB-SEO.com SEO TOOLKIT BEGIN
   global $phpEx, $seo_cat_name, $seo_forum_name, $seo_topic_name;
   $amp = ($non_html_amp) ? '&' : '&amp;';
   $find = array(   $amp.'start=0',
         $amp.'postdays=0',
         $amp.'topicdays=0',
         $amp.'postorder=asc',
      );
   $url = str_replace ($find, "", $url);
   if ( $seo_cat_name ) {
      $urlin = array(   "'(?)index.".$phpEx."\?c=([0-9]+)(".$amp."){0,1}'",
            // mx Sitemaps Module (cat URL injection)
            "'(?)sitemaps([0-9]+)\.html(".$amp."){0,1}'",
         );
      $urlout = array( "".format_url($seo_cat_name)."-vc\\1.html".if_query('\\2')."",
             // mx Sitemaps Module (cat URL injection)
             "".format_url($seo_cat_name)."-sc\\1.html".if_query('\\2')."",
         );
      $url = preg_replace($urlin, $urlout, $url);
   }
   if ( $seo_forum_name ) {
      $urlin = array( "'(?)viewforum.".$phpEx."\?f=([0-9]+)".$amp."start=([0-9]+)(".$amp."){0,1}'",
            "'(?)viewforum.".$phpEx."\?f=([0-9]+)(".$amp."){0,1}'",
            // mx Sitemaps Module (forum URL injection + pagination)
            "'(?)forum-map([0-9]+)\.html".$amp."start=([0-9]+)(".$amp."){0,1}'",
            "'(?)forum-map([0-9]+)\.html(".$amp."){0,1}'",
         );
      $urlout = array( "".format_url($seo_forum_name)."-vf\\1-\\2.html".if_query('\\3')."",
             "".format_url($seo_forum_name)."-vf\\1.html".if_query('\\2')."",
             // mx Sitemaps Module (forum URL injection + pagination)
             "".format_url($seo_forum_name)."-fmp\\1-\\2.html".if_query('\\3')."",
             "".format_url($seo_forum_name)."-fmp\\1.html".if_query('\\2')."",
         );
      $url = preg_replace($urlin, $urlout, $url);
   }
   if ($seo_topic_name) {
      $urlin = array(   "'(?)viewtopic.".$phpEx."\?t=([0-9]+)".$amp."start=([0-9]+)(".$amp."){0,1}'",
            "'(?)viewtopic.".$phpEx."\?t=([0-9]+)(".$amp."){0,1}'",
         );
      $urlout = array("".format_url($seo_topic_name)."-vt\\1-\\2.html".if_query('\\3')."",
            "".format_url($seo_topic_name)."-vt\\1.html".if_query('\\2')."",
         );
      $url = preg_replace($urlin, $urlout, $url);
   }
   $urlin = array(   "'(?)viewtopic.".$phpEx."\?p=([0-9]+)(".$amp."){0,1}'",
         "'(?)profile.".$phpEx."\?mode\=viewprofile".$amp."u=([0-9]+)(".$amp."){0,1}'",
         // mx Sitemaps Module (mxBB map URL + pagination)
         "'(?)mx-map\.html".$amp."start=([0-9]+)(".$amp."){0,1}'",
      );
   $urlout = array( "post\\1.html".if_query('\\2')."",
          "member\\1.html".if_query('\\2')."",
          // mx Sitemaps Module (mxBB map URL + pagination)
          "mx-map\\1.html".if_query('\\2')."",
      );
   $url = preg_replace($urlin, $urlout, $url);
   $url = (substr($url, strlen($url) - 1, 1) == '?') ? substr($url, 0, strlen($url) - 1) : $url;
   // www.phpBB-SEO.com SEO TOOLKIT END

   if ( !empty($SID) && !preg_match('#sid=#', $url) )
   {
      $url .= ( ( strpos($url, '?') !== false ) ?  ( ( $non_html_amp ) ? '&' : '&amp;' ) : '?' ) . $SID;
   }

   return $url;
}

?>

_________________
Juarol.com
| Frekuenciadigital.com |
Back to top
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Joined: 28 Apr 2006
Posts: 14403

Forum pagination showing viewforum.phpPosted: Thu Jul 13, 2006 1:46 pm    Post subject: Re: Forum pagination showing viewforum.php

This code is Ok, I was talking about viewtopic.php Wink

Sorry Very Happy

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Back to top
Visit poster's website
Peter77
phpBB SEO Team
phpBB SEO Team


Joined: 10 May 2006
Posts: 512
Location: Michigan

Forum pagination showing viewforum.phpPosted: Fri Jul 14, 2006 5:17 pm    Post subject: Re: Forum pagination showing viewforum.php

That's alright. I must of fixed it without realizing it when I upgraded then. because now it is showing URL's like it should. thanks Smile

_________________
Juarol.com
| Frekuenciadigital.com |
Back to top
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Joined: 28 Apr 2006
Posts: 14403

Forum pagination showing viewforum.phpPosted: Fri Jul 14, 2006 7:51 pm    Post subject: Re: Forum pagination showing viewforum.php

Good Wink

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Back to top
Visit poster's website
hopster
PR0
PR0


Joined: 15 Dec 2006
Posts: 59

Forum pagination showing viewforum.phpPosted: Sat Dec 16, 2006 5:08 pm    Post subject: Re: Forum pagination showing viewforum.php

Can someone tell me what was "updated" to fix this issue??

I have the same issue and can't figure out where I'm going wrong.


Thanks!
Back to top
Visit poster's website
Peter77
phpBB SEO Team
phpBB SEO Team


Joined: 10 May 2006
Posts: 512
Location: Michigan

Forum pagination showing viewforum.phpPosted: Sat Dec 16, 2006 10:26 pm    Post subject: Re: Forum pagination showing viewforum.php

What are you using, Advanced mod rewrite, simple or mixed? I do not remember what I did to fix this. ha
A little while after this, it started to happen agian, but the Zero dupe took care of all that. Smile dcz can give you more info on this when he reads your post. He is good with responding back, so please check back.

_________________
Juarol.com
| Frekuenciadigital.com |
Back to top
hopster
PR0
PR0


Joined: 15 Dec 2006
Posts: 59

Forum pagination showing viewforum.phpPosted: Sun Dec 17, 2006 12:08 am    Post subject: Re: Forum pagination showing viewforum.php

I have the mixed version applied.

At this point I don't know if it's issues with mod re-write or the code itself, or both.

Some functionality is working. Topics work fine, member works, and post works.

Is INDEX.PHP supposed to come up INDEX.HTML ?? That doesn't work for some reason.

The index itself has the categories working, but the forums do not from that page.. they still show viewforum.php Only when I actually go into a forum does the heading up above link the forum with pagination. I click on it, and it works fine. Weird.


-Steve
Back to top
Visit poster's website
hopster
PR0
PR0


Joined: 15 Dec 2006
Posts: 59

Forum pagination showing viewforum.phpPosted: Sun Dec 17, 2006 12:21 am    Post subject: Re: Forum pagination showing viewforum.php

I should add that I have the sitemaps mod applied, and all the links it generates work... just strange to me that the forum isn't generating them properly on every page.

To give more details:

-www._mysite_.com/index.php :

Shows categories correctly, with pagination
forums still are showing with viewforum.php links

-www._mysite_.com/my-category-vc1.html :

shows other categories correctly with pagination
forums still are showing with viewforum.php links

-www._mysite_.com/viewforum.php?f=1

shows topics in the forum fine with topicxxx.html links
heading at top of forum NOW has the correct pagination link
for the forum that I am in. : -www._mysite_.com/myforum-vf1.html
and this link works fine.


STRANGE!
Back to top
Visit poster's website
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Joined: 28 Apr 2006
Posts: 14403

Forum pagination showing viewforum.phpPosted: Sun Dec 17, 2006 12:19 pm    Post subject: Re: Forum pagination showing viewforum.php

And welcome Very Happy

hopster wrote:


Is INDEX.PHP supposed to come up INDEX.HTML ?? That doesn't work for some reason.

Nope, index.php is not rewritten, not really needed, and you may prefer to just get rid of it.

For the pagination issue, you most likely need to end up the installation, all files listed should be edited. If you did not find a particular piece of code, ask for support in the release thread.
It could as well be because of a mod, a link would help out to find out Wink

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Back to top
Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    phpBB SEO » SEO Forum  » phpBB mod Rewrite
Page 1 of 1

Navigation Similar Topics

Jump to: