davidg          Thu Mar  8 02:39:32 2001 EDT

  Added files:                 
    /php4/ext/midgard   session.modules.c README.session 
                        config.m4.session 
  Log:
  More on session installation.
  
  

Index: php4/ext/midgard/session.modules.c
+++ php4/ext/midgard/session.modules.c
/*
 * To add a PHP session module, #include its header file and 
 * add a ps_xxx_ptr in the struct...
 */

#include "mod_files.h"
#include "mod_mm.h"
#include "mod_user.h"
#if HAVE_MIDGARD_SESSION
#include "../midgard/mgd_session.h"
#endif

static ps_module *ps_modules[] = {
        ps_files_ptr,
        ps_mm_ptr,
        ps_user_ptr,
#if HAVE_MIDGARD_SESSION
        ps_midgard_ptr,
#endif
};


Index: php4/ext/midgard/README.session
+++ php4/ext/midgard/README.session
To enable the session management:

- add session.c in the Makefile.in to the LTLIBRARY_SOURCES:
LTLIBRARY_SOURCES     = mgd_errno.c midgard.c article.c \
                        parameter.c attachment.c oop.c \
                        topic.c element.c mail.c \
                        group.c file.c host.c image.c member.c \
                        calendar.c event.c eventmember.c page.c \
                        pageelement.c pagelink.c person.c \
                        preferences.c snippet.c \
                        snippetdir.c style.c sitegroup.c \
                        preparser-parser.c preparser-scanner.c \
                        preparser.c session.c


- copy config.m4.session over config.m4

- copy session.modules.c over ext/session/modules.c

Then run:
$ phpize
$ ./configure --with-midgard[=/path/to/midgard] --enable-mgd-session
$ make
# make install

Then edit your php.ini:
session.save_handler = midgard
session.auto_start   = 0

Restart apache.

To test it, insert in a Midgard page the following code:
------------------8<----------------------------------
<?php
session_register ("count");
$count++;
?>

Hello visitor, you have seen this page &(count); times.<p>

<php?
# the <?=SID?> is necessary to preserve the session id
# in the case that the user has disabled cookies
?>

To continue, <A HREF="&(midgard.uri);?<?=SID?>">click here</A>
------------------8<----------------------------------


Index: php4/ext/midgard/config.m4.session
+++ php4/ext/midgard/config.m4.session
dnl $Id: config.m4.session,v 1.1 2001/03/08 10:39:31 davidg Exp $

dnl  Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
dnl  Copyright (C) 2000 The Midgard Project ry
dnl  Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
dnl 
dnl  This program is free software; you can redistribute it and/or modify it
dnl  under the terms of the GNU Lesser General Public License as published
dnl  by the Free Software Foundation; either version 2 of the License, or
dnl  (at your option) any later version.
dnl 
dnl  This program is distributed in the hope that it will be useful,
dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
dnl  GNU General Public License for more details.
dnl 
dnl  You should have received a copy of the GNU General Public License
dnl  along with this program; if not, write to the Free Software
dnl  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

AC_PROG_YACC
AC_DECL_YYTEXT
AC_PROG_LEX

PHP_ARG_WITH(midgard, for midgard support,
[  --with-midgard          Include midgard 1.4 support])

if test "$PHP_MIDGARD" != "no"; then
  if test "$PHP_MIDGARD" != "yes"; then
    AC_ADD_LIBRARY_WITH_PATH(midgard, "$PHP_MIDGARD/lib", MIDGARD_SHARED_LIBADD)
    AC_ADD_INCLUDE("$PHP_MIDGARD/include")
  else
    AC_ADD_LIBRARY(midgard)
  fi
  AC_DEFINE(HAVE_MIDGARD, 1, [ ])
  PHP_EXTENSION(midgard, $ext_shared)

dnl EEH/TODO: Add checks for apache-static compilation
  AC_PATH_PROG(APXS, apxs)
  if test -z $APXS; then
    AC_MSG_ERROR(apxs not found.)
  fi
  APACHE_INCLUDES=`$APXS -q INCLUDEDIR`
  AC_ADD_INCLUDE($APACHE_INCLUDES)
  
  AC_PATH_PROG(GLIBCONFIG, glib-config)
  dnl Ackackack... why do people do this?
  if test -z $GLIBCONFIG; then
    AC_PATH_PROG(GLIBCONFIG, glib12-config)
  fi
  if test -z $GLIBCONFIG; then
    AC_MSG_ERROR(glib-config not found. Did you install glib?)
  fi
  CFLAGS="$CFLAGS "`$GLIBCONFIG --cflags`
  LIBS="$LIBS "`$GLIBCONFIG --libs`
  LFLAGS="$LFLAGS -Pmgd -olex.yy.c"
  
  PHP_SUBST(GLIBCONFIG)

  AC_MSG_CHECKING(for midgard experimental functions support)
  AC_ARG_ENABLE(mgd-experimental, 
  [  --enable-mgd-experimental          Enable midgard 1.4.1 experimental functions 
support], PHP_MIDGARD_EXPERIMENTAL=[$]enableval, PHP_MIDGARD_EXPERIMENTAL="no")
  echo "$PHP_MIDGARD_EXPERIMENTAL";
  if test "$PHP_MIDGARD_EXPERIMENTAL" != "no"; then
    AC_DEFINE(YOU_WANT_TO_TEST, 1, [ ])
  fi

  AC_MSG_CHECKING(for midgard [experimental] session support)
  AC_ARG_ENABLE(mgd-session, 
  [  --enable-mgd-session          Enable midgard 1.4.1 [experimental] session 
support], PHP_MIDGARD_SESSION=[$]enableval, PHP_MIDGARD_SESSION="no")
  echo "$PHP_MIDGARD_SESSION";
  if test "$PHP_MIDGARD_SESSION" != "no"; then
    AC_DEFINE(HAVE_MIDGARD_SESSION, 1, [ ])
  fi
fi



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to