]> granicus.if.org Git - php/commitdiff
Moved ext/notes to PECL.
authorWez Furlong <wez@php.net>
Fri, 19 Dec 2003 17:13:20 +0000 (17:13 +0000)
committerWez Furlong <wez@php.net>
Fri, 19 Dec 2003 17:13:20 +0000 (17:13 +0000)
(win32 only, and doesn't build on snaps.php.net)

NEWS
ext/notes/notes.dsp [deleted file]
ext/notes/notes.dsw [deleted file]
ext/notes/php_notes.c [deleted file]
ext/notes/php_notes.h [deleted file]

diff --git a/NEWS b/NEWS
index ff438c0f452191d429bced640b54dc12cde195e5..5df65c5f758c15102fee0e5b45a87e5d614a0213 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@ PHP                                                                        NEWS
   . ext/db (Jani, Derick)
   . ext/mcal (Jani, Derick)
   . ext/qtdom (Jani, Derick)
+  . ext/notes (Wez)
 - Added 'c' modifier to date() which returns the date in the ISO 8601 format.
   (Derick, Manuzhai)
 - Added an optional parameter to microtime() to get the time as float. (Andrey)
diff --git a/ext/notes/notes.dsp b/ext/notes/notes.dsp
deleted file mode 100644 (file)
index 20a51d8..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-# Microsoft Developer Studio Project File - Name="notes" - Package Owner=<4>\r
-# Microsoft Developer Studio Generated Build File, Format Version 6.00\r
-# ** DO NOT EDIT **\r
-\r
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102\r
-\r
-CFG=notes - Win32 Debug_TS\r
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r
-!MESSAGE use the Export Makefile command and run\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "notes.mak".\r
-!MESSAGE \r
-!MESSAGE You can specify a configuration when running NMAKE\r
-!MESSAGE by defining the macro CFG on the command line. For example:\r
-!MESSAGE \r
-!MESSAGE NMAKE /f "notes.mak" CFG="notes - Win32 Debug_TS"\r
-!MESSAGE \r
-!MESSAGE Possible choices for configuration are:\r
-!MESSAGE \r
-!MESSAGE "notes - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")\r
-!MESSAGE "notes - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")\r
-!MESSAGE "notes - Win32 Debug_TS" (based on "Win32 (x86) Dynamic-Link Library")\r
-!MESSAGE "notes - Win32 Release_TS" (based on "Win32 (x86) Dynamic-Link Library")\r
-!MESSAGE "notes - Win32 Release_TS_inline" (based on "Win32 (x86) Dynamic-Link Library")\r
-!MESSAGE \r
-\r
-# Begin Project\r
-# PROP AllowPerConfigDependencies 0\r
-# PROP Scc_ProjName ""\r
-# PROP Scc_LocalPath ""\r
-CPP=cl.exe\r
-MTL=midl.exe\r
-RSC=rc.exe\r
-\r
-!IF  "$(CFG)" == "notes - Win32 Release"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "Release"\r
-# PROP BASE Intermediate_Dir "Release"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "Release"\r
-# PROP Intermediate_Dir "Release"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MYSQL_EXPORTS" /YX /FD /c\r
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\..\MySQL\include" /I "..\..\TSRM" /D "NDEBUG" /D "MYSQL_EXPORTS" /D "COMPILE_DL_NOTES" /D HAVE_NOTES=1 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZEND_WIN32" /D "PHP_WIN32" /YX /FD /c\r
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD BASE RSC /l 0x40d /d "NDEBUG"\r
-# ADD RSC /l 0x40d /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386\r
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libmySQL.lib php4nts.lib /nologo /dll /machine:I386 /out:"Release/php_notes.dll" /libpath:"..\..\..\MySQL\lib\opt" /libpath:"..\..\Release"\r
-\r
-!ELSEIF  "$(CFG)" == "notes - Win32 Debug"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "Debug"\r
-# PROP BASE Intermediate_Dir "Debug"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "Debug"\r
-# PROP Intermediate_Dir "Debug"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MYSQL_EXPORTS" /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\..\MySQL\include" /I "..\..\TSRM" /D "_DEBUG" /D ZEND_DEBUG=1 /D "MYSQL_EXPORTS" /D "COMPILE_DL_NOTES" /D HAVE_NOTES=1 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZEND_WIN32" /D "PHP_WIN32" /FR /YX /FD /GZ /c\r
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
-# ADD BASE RSC /l 0x40d /d "_DEBUG"\r
-# ADD RSC /l 0x40d /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept\r
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libmySQL.lib php4nts.lib /nologo /dll /debug /machine:I386 /out:"Debug/php_notes.dll" /pdbtype:sept /libpath:"..\..\..\MySQL\lib\Debug" /libpath:"..\..\Debug"\r
-\r
-!ELSEIF  "$(CFG)" == "notes - Win32 Debug_TS"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 1\r
-# PROP BASE Output_Dir "Debug_TS"\r
-# PROP BASE Intermediate_Dir "Debug_TS"\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 1\r
-# PROP Output_Dir "Debug_TS"\r
-# PROP Intermediate_Dir "Debug_TS"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\..\Zend" /I "..\..\..\bindlib_w32" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MYSQL_EXPORTS" /D "COMPILE_DL" /D HAVE_NOTES=1 /FR /YX /FD /GZ /c\r
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\.." /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\..\MySQL\include" /I "..\..\TSRM" /D "_DEBUG" /D ZEND_DEBUG=1 /D "ZTS" /D "MYSQL_EXPORTS" /D "COMPILE_DL_NOTES" /D HAVE_NOTES=1 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZEND_WIN32" /D "PHP_WIN32" /FR /YX /FD /GZ /c\r
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32\r
-# ADD BASE RSC /l 0x40d /d "_DEBUG"\r
-# ADD RSC /l 0x40d /d "_DEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept\r
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libmySQL.lib php4ts.lib /nologo /dll /debug /machine:I386 /out:"Debug_TS/php_notes.dll" /pdbtype:sept /libpath:"..\..\..\MySQL\lib\Debug" /libpath:"..\..\Debug_TS"\r
-\r
-!ELSEIF  "$(CFG)" == "notes - Win32 Release_TS"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "Release_TS"\r
-# PROP BASE Intermediate_Dir "Release_TS"\r
-# PROP BASE Ignore_Export_Lib 0\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "Release_TS"\r
-# PROP Intermediate_Dir "Release_TS"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "..\.." /I "..\..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\..\TSRM" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MSSQL_EXPORTS" /D "COMPILE_DL_MSSQL" /D "DBNTWIN32" /D ZTS=1 /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\main" /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\TSRM" /D ZEND_DEBUG=0 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MSSQL_EXPORTS" /D "COMPILE_DL_NOTES" /D "DBNTWIN32" /D ZTS=1 /D "ZEND_WIN32" /D "PHP_WIN32" /D HAVE_NOTES=1 /D "NT" /YX /FD /c\r
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD BASE RSC /l 0x40d /d "NDEBUG"\r
-# ADD RSC /l 0x40d /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386\r
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib php4ts.lib notes.lib /nologo /dll /machine:I386 /out:"Release_TS/php_notes.dll" /libpath:"..\..\Release_TS"\r
-# SUBTRACT LINK32 /pdb:none\r
-\r
-!ELSEIF  "$(CFG)" == "notes - Win32 Release_TS_inline"\r
-\r
-# PROP BASE Use_MFC 0\r
-# PROP BASE Use_Debug_Libraries 0\r
-# PROP BASE Output_Dir "notes___Win32_Release_TS_inline"\r
-# PROP BASE Intermediate_Dir "notes___Win32_Release_TS_inline"\r
-# PROP BASE Ignore_Export_Lib 0\r
-# PROP BASE Target_Dir ""\r
-# PROP Use_MFC 0\r
-# PROP Use_Debug_Libraries 0\r
-# PROP Output_Dir "Release_TS_inline"\r
-# PROP Intermediate_Dir "Release_TS_inline"\r
-# PROP Ignore_Export_Lib 0\r
-# PROP Target_Dir ""\r
-# ADD BASE CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\..\MySQL\include" /I "..\..\TSRM" /D "NDEBUG" /D "ZTS" /D "MYSQL_EXPORTS" /D "COMPILE_DL_NOTES" /D HAVE_NOTES=1 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZEND_WIN32" /D "PHP_WIN32" /YX /FD /c\r
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\.." /I "..\..\Zend" /I "..\..\..\bindlib_w32" /I "..\..\..\MySQL\include" /I "..\..\TSRM" /D "NDEBUG" /D "ZTS" /D "MYSQL_EXPORTS" /D "COMPILE_DL_NOTES" /D HAVE_NOTES=1 /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ZEND_WIN32" /D "PHP_WIN32" /YX /FD /c\r
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32\r
-# ADD BASE RSC /l 0x40d /d "NDEBUG"\r
-# ADD RSC /l 0x40d /d "NDEBUG"\r
-BSC32=bscmake.exe\r
-# ADD BASE BSC32 /nologo\r
-# ADD BSC32 /nologo\r
-LINK32=link.exe\r
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libmySQL.lib php4ts.lib /nologo /dll /machine:I386 /out:"Release_TS/php_notes.dll" /libpath:"..\..\..\MySQL\lib\opt" /libpath:"..\..\Release_TS"\r
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libmySQL.lib php4ts.lib /nologo /dll /machine:I386 /out:"Release_TS_inline/php_notes.dll" /libpath:"..\..\..\MySQL\lib\opt" /libpath:"..\..\Release_TS_inline"\r
-\r
-!ENDIF \r
-\r
-# Begin Target\r
-\r
-# Name "notes - Win32 Release"\r
-# Name "notes - Win32 Debug"\r
-# Name "notes - Win32 Debug_TS"\r
-# Name "notes - Win32 Release_TS"\r
-# Name "notes - Win32 Release_TS_inline"\r
-# Begin Group "Source Files"\r
-\r
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
-# Begin Source File\r
-\r
-SOURCE=.\php_notes.c\r
-# End Source File\r
-# End Group\r
-# Begin Group "Header Files"\r
-\r
-# PROP Default_Filter "h;hpp;hxx;hm;inl"\r
-# Begin Source File\r
-\r
-SOURCE=.\php_notes.h\r
-# End Source File\r
-# End Group\r
-# Begin Group "Resource Files"\r
-\r
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"\r
-# End Group\r
-# Begin Source File\r
-\r
-SOURCE=.\Readme_w32.txt\r
-# End Source File\r
-# End Target\r
-# End Project\r
diff --git a/ext/notes/notes.dsw b/ext/notes/notes.dsw
deleted file mode 100644 (file)
index 3728502..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00\r
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r
-\r
-###############################################################################\r
-\r
-Project: "notes"=".\notes.dsp" - Package Owner=<4>\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<4>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
-Global:\r
-\r
-Package=<5>\r
-{{{\r
-}}}\r
-\r
-Package=<3>\r
-{{{\r
-}}}\r
-\r
-###############################################################################\r
-\r
diff --git a/ext/notes/php_notes.c b/ext/notes/php_notes.c
deleted file mode 100644 (file)
index 27a691d..0000000
+++ /dev/null
@@ -1,2722 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2003 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.01 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available through the world-wide-web at the following url:           |
-   | http://www.php.net/license/2_01.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: Brad Atkins <brad@youreshop.com>                             |
-   +----------------------------------------------------------------------+
-*/
-/* $Id$ */
-
-#ifdef COMPILE_DL_NOTES
-#define HAVE_NOTES 1
-#endif
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "php.h"
-#include "php_globals.h"
-#include "php_notes.h"
-#include "ext/standard/info.h"
-
-#ifdef PHP_WIN32
-#include <global.h>
-#else
-#include <notes_global.h>
-#endif
-
-#include <nsfdb.h>
-#include <nsfdata.h>
-#include <osmisc.h>
-#include <miscerr.h>
-#include <nif.h>
-#include <nsfnote.h>
-#include <editods.h>
-#include <osmem.h>
-#include <stdnames.h>
-#include <nsfsearc.h>
-#include <colorid.h>
-#include <names.h>
-#include <stdnames.h>
-#include <nsferr.h>
-
-/* notes_unread */
-
-#include <idtable.h>
-#include <kfm.h>
-
-/* notes_header_info, notes_body */
-
-#include <malloc.h>
-#include <io.h>
-#include <direct.h>
-#include <fcntl.h>
-#include <globerr.h>
-
-#ifdef PHP_WIN32
-#include <mail.h>
-#else
-#include <notes_mail.h>
-#endif
-
-#include <mailserv.h>
-#include <nsf.h>
-#include <osfile.h>                     /* OSPathNetConstruct */
-#include <osenv.h>                      /* OSGetEnvironmentString */
-
-/* notes_nav_create */
-#include <vmods.h>
-
-/* notes_search */
-
-#include <ft.h>
-#include <textlist.h>
-
-/* notes_list */
-
-#define  STRING_LENGTH  256
-
-function_entry notes_functions[] = {
-       PHP_FE(notes_create_db,                                                                         NULL)
-       PHP_FE(notes_drop_db,                                                                           NULL)
-       PHP_FE(notes_version,                                                                           NULL)
-       PHP_FE(notes_create_note,                                                                       NULL)
-       PHP_FE(notes_unread,                                                                            NULL)
-       PHP_FE(notes_mark_read,                                                                         NULL)
-       PHP_FE(notes_mark_unread,                                                                       NULL)
-       PHP_FE(notes_header_info,                                                                       NULL)
-       PHP_FE(notes_body,                                                                                      NULL)
-       PHP_FE(notes_find_note,                                                                         NULL)
-       PHP_FE(notes_nav_create,                                                                        NULL)
-       PHP_FE(notes_search,                                                                            NULL)
-       PHP_FE(notes_copy_db,                                                                           NULL)
-       PHP_FE(notes_list_msgs,                                                                         NULL)
-       {NULL, NULL, NULL}
-};
-
-zend_module_entry notes_module_entry = {
-       STANDARD_MODULE_HEADER,
-       "notes", 
-       notes_functions, 
-       PHP_MINIT(notes), 
-       PHP_MSHUTDOWN(notes), 
-       PHP_RINIT(notes), 
-       PHP_RSHUTDOWN(notes), 
-       PHP_MINFO(notes), 
-        NO_VERSION_YET,
-       STANDARD_MODULE_PROPERTIES
-};
-
-#ifdef COMPILE_DL_NOTES
-ZEND_GET_MODULE(notes)
-#endif
-
-
-PHP_MINIT_FUNCTION(notes)
-{
-       return SUCCESS;
-}
-
-
-PHP_MSHUTDOWN_FUNCTION(notes)
-{
-       return SUCCESS;
-}
-
-PHP_RSHUTDOWN_FUNCTION(notes)
-{
-       return SUCCESS;
-}
-
-
-PHP_RINIT_FUNCTION(notes)
-{
-
-       return SUCCESS;
-}
-
-
-PHP_MINFO_FUNCTION(notes)
-{
-
-       php_info_print_table_start();
-       php_info_print_table_row(2, "Lotus Notes Database Support", "enabled");
-       php_info_print_table_end();
-}
-
-/* {{{ proto bool notes_create_db(string database_name)
-   Creates a Lotus Notes database */
-PHP_FUNCTION(notes_create_db)
-{
-
-       int argc;
-       pval *argv[1];
-       STATUS error;
-       pval **db;
-       char error_string[200];
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE)
-               WRONG_PARAM_COUNT;
-
-       if (zend_get_parameters_ex(1, &db)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if (error) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-       
-       if (error = NSFDbCreate (Z_STRVAL_PP(db), (USHORT) DBCLASS_NOTEFILE, FALSE)) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to create database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-
-       NotesTerm();
-       RETURN_TRUE;
-}
-/* }}} */
-
-/* {{{ proto bool notes_drop_db(string database_name)
-   Drops a Lotus Notes database */
-PHP_FUNCTION(notes_drop_db)
-{
-
-       int argc;
-       pval *argv[1];
-       STATUS error;
-       pval **db;
-       char error_string[200];
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE)
-               WRONG_PARAM_COUNT;
-
-       if (zend_get_parameters_ex(1, &db)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if (error) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-       
-       if (error = NSFDbDelete (Z_STRVAL_PP(db))) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to delete database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-
-       NotesTerm();
-       RETURN_TRUE;
-}
-/* }}} */
-
-/* {{{ proto float notes_version(string database_name)
-   Gets the Lotus Notes version */
-PHP_FUNCTION(notes_version)
-{
-
-       int argc;
-       pval *argv[1];
-       STATUS error;
-       DBHANDLE db_handle;
-       WORD wbuild;
-       char error_string[200];
-       pval **db;
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(1, &db)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-
-       error = NotesInitExtended(argc, (char **) argv);
-
-       if (error) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-       
-       if (error = NSFDbOpen(Z_STRVAL_PP(db), &db_handle)) {
-       
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       if (error = NSFDbGetBuildVersion(db_handle, &wbuild)) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to get Lotus Notes version: %s", error_string);
-               NSFDbClose(db_handle);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       NSFDbClose(db_handle);
-       NotesTerm();
-
-       if(wbuild > 0 && wbuild < 82) {
-               RETURN_DOUBLE(1.0);
-       } else if (wbuild > 81 && wbuild < 94) {
-               RETURN_DOUBLE(2.0);
-       } else if (wbuild > 93 && wbuild < 119) {
-               RETURN_DOUBLE(3.0);
-       } else if (wbuild > 118 && wbuild < 137) {
-               RETURN_DOUBLE(4.0);
-       } else if (wbuild == 138) {
-               RETURN_DOUBLE(4.1);
-       } else if (wbuild > 139 && wbuild < 146) {
-               RETURN_DOUBLE(4.5);
-       } else if (wbuild == 147) {
-               RETURN_DOUBLE(4.6);
-       } else {
-               RETURN_DOUBLE(5.0);
-       }
-}
-/* }}} */
-
-/* {{{ proto bool notes_create_note(string database_name, string form_name)
-   Creates a note using form form_name */
-PHP_FUNCTION(notes_create_note)
-{
-
-       int argc;
-       pval *argv[2];
-       STATUS error;
-       DBHANDLE db_handle;
-       NOTEHANDLE note_handle;
-       char            error_string[200];
-       pval **db;
-       pval **form_name;
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(2, &db, &form_name)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-       convert_to_string_ex(form_name);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if (error) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-       
-       if (error = NSFDbOpen(Z_STRVAL_PP(db), &db_handle)) {
-       
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-    if (error = NSFNoteCreate (db_handle, &note_handle)) {
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to create note: error_string");
-               NSFDbClose( db_handle );
-               RETURN_FALSE;
-    }
-
-    /* Append the form name item to the new note */
-    if (error = NSFItemSetText(note_handle, FIELD_FORM, Z_STRVAL_PP(form_name), MAXWORD)) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to use the form: %s", error_string);
-        NSFNoteClose (note_handle);
-        NSFDbClose( db_handle );
-               RETURN_FALSE;
-    }
-
-    if (error = NSFNoteUpdate (note_handle, 0)) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to save the note: %s", error_string);
-        NSFNoteClose (note_handle);
-               NSFDbClose(db_handle);
-        RETURN_FALSE;
-    }
-
-       error = NSFNoteClose (note_handle);
-
-       NSFDbClose(db_handle);
-       NotesTerm();
-
-       RETURN_TRUE;
-}
-/* }}} */
-
-/* Declarations for notes_mark_read and notes_mark_unread */
-
-#define ACTION_COUNT_MAX   (16)
-
-
-/* Entries in the action table */
-
-typedef struct {
-   BOOL     AddFlag;      /* TRUE: Add, FALSE: Remove */
-   NOTEID   NoteID;
-} ACTION_ENTRY;
-
-   /* Table of actions to be performed */
-ACTION_ENTRY ActionTable [ACTION_COUNT_MAX] = {FALSE, 0L};
-
-/*
- *      Forward references
- */
-
-   /* Function to display unread note table */
-STATUS DisplayUnread (
-   DBHANDLE     db_handle,
-   char         NOTESPTR pName,
-   WORD         nameLen
-);
-
-   /* Function to apply actions to unread note table */
-STATUS UpdateUnread (
-   DBHANDLE       db_handle,
-   char           NOTESPTR pName,
-   WORD           nameLen,
-   ACTION_ENTRY   *pActions,
-   int            actionCount,
-   NOTEID         *pUndoID
-);
-
-   /* Function that updates a note without changing its unread status */
-STATUS UndoUnreadStatus (
-   DBHANDLE       db_handle, 
-   char           NOTESPTR pName, 
-   WORD           nameLen, 
-   ACTION_ENTRY   *pActions,
-   int            actionCount,
-   NOTEID         UndoID);
-
-
-/* {{{ proto bool notes_mark_read(string database_name, string user_name, string note_id)
-   Marks a note_id as read for the User user_name.  Note: user_name must be fully distinguished user name */
-PHP_FUNCTION(notes_mark_read)
-{
-
-       int argc;
-       int ActionCount;
-       pval *argv[3];
-       STATUS error;
-       DBHANDLE db_handle;
-       pval **db;
-       pval **note_id;
-       pval **user_name;
-
-
-/* Local data declarations */
-
-       WORD        UserNameLen = 0;
-       char       *pEnd;
-       int         curAction;
-       int         curArg;
-       NOTEID      UndoID = 0L;
-       char            error_string[200];
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(3, &db, &user_name, &note_id)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-       convert_to_string_ex(note_id);
-       convert_to_string_ex(user_name);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if (error) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-       
-       curArg = 2;
-
-       UserNameLen = Z_STRLEN_PP(user_name);
-
-       curAction = 0;
-       ActionCount = 1;
-
-       ActionTable[curAction].AddFlag = FALSE;
-
-       ActionTable[curAction].NoteID = strtoul (Z_STRVAL_PP(note_id), &pEnd, 16);
-
-       if (error = NSFDbOpen(Z_STRVAL_PP(db), &db_handle)) {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       error = UpdateUnread (db_handle, Z_STRVAL_PP(user_name), UserNameLen,
-                               ActionTable, ActionCount, &UndoID);
-
-       if ((error == NOERROR) && UndoID) {
-        error = UndoUnreadStatus (db_handle, Z_STRVAL_PP(user_name), UserNameLen, ActionTable,
-                                                               ActionCount, UndoID);
-       }
-
-    /* Close the database */
-       error = NSFDbClose (db_handle);
-
-       if (NOERROR == error) {
-               RETURN_TRUE;
-       } else {
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to close database: %s", error_string);
-               RETURN_FALSE;
-       }
-}
-/* }}} */
-
-/* {{{ proto string notes_mark_unread(string database_name, string user_name, string note_id)
-   Marks a note_id as unread for the User user_name.  Note: user_name must be fully distinguished user name */
-PHP_FUNCTION(notes_mark_unread)
-{
-
-       int argc;
-       int ActionCount;
-       pval *argv[3];
-       STATUS error;
-       DBHANDLE db_handle;
-       pval **db;
-       pval **note_id;
-       pval **user_name;
-
-
-/* Local data declarations */
-
-       WORD        UserNameLen = 0;
-       char       *pEnd;
-       int         curAction;
-       int         curArg;
-       NOTEID      UndoID = 0L;
-       char            error_string[200];
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(3, &db, &user_name, &note_id)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-       convert_to_string_ex(note_id);
-       convert_to_string_ex(user_name);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-       
-       curArg = 2;
-
-       UserNameLen = strlen (Z_STRVAL_PP(user_name));
-
-       curAction = 0;
-       ActionCount = 1;
-
-       ActionTable[curAction].AddFlag = TRUE;
-
-       ActionTable[curAction].NoteID =
-        strtoul (Z_STRVAL_PP(note_id), &pEnd, 16);
-
-       if (error = NSFDbOpen (Z_STRVAL_PP(db), &db_handle)){
-       
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       error = UpdateUnread (db_handle, Z_STRVAL_PP(user_name), UserNameLen,
-                               ActionTable, ActionCount, &UndoID);
-
-       if ( (error == NOERROR) && UndoID ){
-
-               error = UndoUnreadStatus (db_handle, Z_STRVAL_PP(user_name), UserNameLen, ActionTable,
-                                                               ActionCount, UndoID);
-       }
-
-    /* Close the database */
-       error = NSFDbClose (db_handle);
-
-       if (NOERROR == error){
-       
-               RETURN_TRUE;
-       }
-       else{
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to close the database: %s", error_string);
-               RETURN_FALSE;
-       }
-}
-/* }}} */
-
-/*
- *      UpdateUnread - Update the Unread Note list
- */
-
-STATUS UpdateUnread (
-         DBHANDLE      db_handle,
-         char          *pName,
-         WORD          nameLen,
-         ACTION_ENTRY  *pActions,
-         int           actionCount,
-         NOTEID        *pUndoID)
-{
-       STATUS         error;
-       HANDLE         table_handle;
-       HANDLE         hOriginalTable;
-       NOTEHANDLE     note_handle;
-       BOOL           gotUndoID = FALSE;
-
-       /* Get the unread list */
-       error = NSFDbGetUnreadNoteTable (
-                         db_handle,
-                         pName,
-                         nameLen,
-                         TRUE,         /* Create the list if it's not already there */
-                         &table_handle);
-
-       if (NOERROR != error){
-
-         return (error);
-       }
-
-       /* Notes requires the original unread table to merge changes */
-       error = IDTableCopy (table_handle, &hOriginalTable);
-
-       if (NOERROR != error){
-
-         IDDestroyTable (table_handle);
-         return (error);
-       }
-
-       /* Bring table up to date */
-       error = NSFDbUpdateUnread (db_handle, table_handle);
-       if (NOERROR == error){
-
-               if (pActions[0].AddFlag){
-
-                       /* Adding a Note ID */
-                       /* (Marks note as Unread) */
-                       if (IDIsPresent (table_handle, pActions[0].NoteID)){
-
-                               php_error(E_WARNING,"Note %lX is already marked unread", pActions[0].NoteID);
-                       }
-                       else{
-                               /* make sure we check to see if this note really exists 
-                                 at all */
-                               error = NSFNoteOpen(db_handle, pActions[0].NoteID, OPEN_SUMMARY, &note_handle);
-
-                               /* if it does we'll add it to the unread list */
-                               if (error == NOERROR){
-
-                                  NSFNoteClose(note_handle);
-                                  error = IDInsert (table_handle, pActions[0].NoteID,
-                                                                         (NOTESBOOL NOTESPTR) NULL);
-
-                               }
-                       }   
-               }
-               else{
-
-                       /* Removing a Note ID */
-                       /* (Marks note as Read) */
-
-                       if (IDIsPresent (table_handle, pActions[0].NoteID)){
-
-                          error = IDDelete (table_handle, pActions[0].NoteID,
-                                 (NOTESBOOL NOTESPTR) NULL);
-
-                          if (NOERROR == error){
-
-                                 if (!gotUndoID){
-                                        *pUndoID = pActions[0].NoteID;
-                                        gotUndoID = TRUE;
-                                 }
-                          }
-                       }
-                       else{
-
-                               php_error(E_WARNING,"Note %lX is already marked read", pActions[0].NoteID);
-                       }
-               }
-
-               if (NOERROR == error){
-
-                       error = NSFDbSetUnreadNoteTable (db_handle, pName, nameLen,
-                                                                                  FALSE,      /* Don't force the 
-                                                                                                                 write to disk */
-                                                                                  hOriginalTable,
-                                                                                  table_handle);
-               }
-       }
-
-       error = IDDestroyTable (hOriginalTable);
-       if (NOERROR == error){
-
-         error = error;
-       }
-
-       error = IDDestroyTable (table_handle);
-
-       if (NOERROR == error){
-
-               error = error;
-       }
-
-       return (error);
-}
-
-
-/*
- *      UndoUnreadStatus - Update a note in the database without
-                           changing its read/unread mark
- */
-
-STATUS UndoUnreadStatus (
-         DBHANDLE       db_handle,
-         char           *pName,
-         WORD           nameLen,
-         ACTION_ENTRY   *pActions,
-         int            actionCount,
-         NOTEID         UndoID)
-{
-       STATUS         error;
-       HANDLE         table_handle;
-       HANDLE         hOriginalTable;
-       DWORD          noteID = 0L;
-       NOTEHANDLE     note_handle;
-       BOOL           bWasRead = TRUE;
-
-
-       /* Get the unread list */
-       error = NSFDbGetUnreadNoteTable (db_handle, pName, nameLen,
-                                                                        TRUE, /* Create the list if it's 
-                                                                                         not already there */
-                                                                         &table_handle);
-       if (NOERROR != error){
-
-         return (error);
-       }
-
-       /* Notes requires the original unread table to merge changes */
-       
-       error = IDTableCopy (table_handle, &hOriginalTable);
-
-       if (NOERROR != error){
-
-               IDDestroyTable (table_handle);
-               return (error);
-       }
-
-       /* See if note to be modified is marked as read */
-       bWasRead = !(IDIsPresent (table_handle, UndoID));
-
-       /* Make a change to this note and update it. */
-       error = NSFNoteOpen (db_handle, UndoID, 0, &note_handle);
-
-       if (error){  
-
-               IDDestroyTable (table_handle);
-               IDDestroyTable (hOriginalTable);
-               return (error);
-       }
-
-       error = NSFItemSetText (note_handle, "plain_text", "Unread undone", 
-                                                       (WORD) strlen("Unread undone"));
-       if (error){
-
-               NSFNoteClose (note_handle);
-               IDDestroyTable (table_handle);
-               IDDestroyTable (hOriginalTable);
-               return (error);
-       }  
-
-       error = NSFNoteUpdate (note_handle, 0L);
-
-       if (error){
-
-               NSFNoteClose (note_handle);
-               IDDestroyTable (table_handle);
-               IDDestroyTable (hOriginalTable);
-               return (error);
-       }  
-
-       error = NSFNoteClose (note_handle);
-
-       if (error){
-
-               IDDestroyTable (table_handle);
-               IDDestroyTable (hOriginalTable);
-               return (error);
-       }
-
-       /* The note just modified is now marked as unread.
-         Bring table up to date */
-
-       error = NSFDbUpdateUnread (db_handle, table_handle);
-
-       if ( (NOERROR == error) && bWasRead ){
-
-               /* Remove the Note ID that we just modified to mark it as read*/
-
-               error = IDDelete (table_handle, UndoID,
-                                 (NOTESBOOL NOTESPTR) NULL);
-
-               if( error != NOERROR ){
-
-                       php_error(E_NOTICE,"Note %lX is already marked read.", UndoID);
-               }
-       }
-
-       /* Save unread table to disk */
-       if (NOERROR == error){
-
-         error = NSFDbSetUnreadNoteTable (db_handle, pName, nameLen,
-                                                                               FALSE,  /* Don't force the write 
-                                                                                                  to disk */
-                                                                               hOriginalTable, table_handle);
-       }
-
-       /* Clean up */
-       IDDestroyTable (hOriginalTable);
-       IDDestroyTable (table_handle);
-
-       return (error);
-}
-
-/* {{{ proto array notes_unread(string database_name, string user_name)
-   Returns the unread note id's for the current User user_name.  Note: user_name must be fully distinguished user name */
-PHP_FUNCTION(notes_unread)
-{
-
-       int argc;
-       pval *argv[2];
-       
-       STATUS          error;
-       DBHANDLE        db_handle;
-       WORD            UserNameLen;
-       HANDLE          table_handle;
-       DWORD       noteID;
-       BOOL        FirstNote;
-       char            error_string[200];
-
-       pval **db;
-       pval **user_name;
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(2, &db, &user_name)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-       convert_to_string_ex(user_name);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-
-       if (error = NSFDbOpen (Z_STRVAL_PP(db), &db_handle)){
-       
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       UserNameLen = strlen(Z_STRVAL_PP(user_name));
-
-       /* Get the unread list */
-       if( error = NSFDbGetUnreadNoteTable (
-                  db_handle,
-                  Z_STRVAL_PP(user_name),
-                  UserNameLen,
-                  TRUE,         /* Create the list if it's not already there */
-                  &table_handle) ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to get unread list: %s", error_string );
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-
-   error = NSFDbUpdateUnread (db_handle, table_handle);
-   if (NOERROR != error)
-   {
-               IDDestroyTable (table_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to get unread list: %s", error_string );
-               NotesTerm();
-               RETURN_FALSE;
-   }
-       
-
-       FirstNote = TRUE;
-
-       array_init(return_value);
-
-       /* Print the entries in the unread list */
-       while (IDScan (table_handle, FirstNote, &noteID)){
-
-               FirstNote = FALSE;
-
-               add_next_index_long(return_value, (long) noteID );
-       }
-   
-       error = IDDestroyTable (table_handle);
-
-    /* Close the database */
-       error = NSFDbClose (db_handle);
-
-       if( error != NOERROR ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to close database: %s", error_string);
-               RETURN_FALSE;
-       }
-}
-/* }}} */
-
-#define     ERR_READMAIL_NOUNIQUE   (PKG_ADDIN + 0)
-#define     READMAIL_BODY_LINELEN   40
-
-STATUS near pascal GetUniqueFileName(char *Drive, char *Ext, char *FileName);
-
-/* {{{ proto object notes_header_info(string server, string mailbox, int msg_number)
-   Opens the message msg_number in the specified mailbox on the specified server (leave server blank for local) */
-/*     
-       Elements:
-
-               originator (Contains orignal message sender. Relevant only when forwarded messages)
-               to
-               cc
-               bcc
-               from
-               date
-               status (blank if delivered, otherwise contains failure reason)
-               priority H: High N: Normal L: Low
-               receipt 1: Yes 0: No
-               subject
-*/
-PHP_FUNCTION(notes_header_info)
-{
-
-       int argc;
-       pval *argv[3];
-
-       pval **server;
-       pval **mail_box;
-       pval **msg_number;
-
-    STATUS      error = NOERROR;
-    char        szMailFilePath[MAXPATH+1];
-    HANDLE      hMessageFile;
-    HANDLE      hMessageList = NULLHANDLE, hMessage;
-    DARRAY     *MessageList;
-    WORD        MessageCount;
-    char        Originator[MAXRECIPIENTNAME+1];
-    WORD        OriginatorLength;
-    char        String[MAXSPRINTF+1];
-    WORD        StringLength;
-    TIMEDATE    Time;
-    BOOL        NonDeliveryReport;
-       char            error_string[200];
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(3, &server, &mail_box, &msg_number)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(server);
-       convert_to_string_ex(mail_box);
-       convert_to_long_ex(msg_number);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-
-    OSPathNetConstruct( NULL,               /* port name  */
-                        Z_STRVAL_PP(server),   
-                        Z_STRVAL_PP(mail_box),
-                        szMailFilePath);
-
-    /* Open the message file. */
-
-    if (error = MailOpenMessageFile(szMailFilePath, &hMessageFile)){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-        php_error(E_WARNING,"Error: unable to open '%s': %s", szMailFilePath, error_string);
-               RETURN_FALSE;
-    }
-
-    /* Create message list of messages in the file - just 64K */
-
-    if (error = MailCreateMessageList(hMessageFile, 
-                        &hMessageList, &MessageList, &MessageCount)){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-        php_error(E_WARNING,"Unable to create message list: %s", error_string);
-
-               if (hMessageFile != NULLHANDLE){
-
-                       MailCloseMessageFile(hMessageFile);
-               }
-               RETURN_FALSE;
-    }
-
-
-    /* Print out each of the outbound messages. */
-
-       object_init(return_value);
-
-    if (error = MailOpenMessage (MessageList, (WORD)Z_LVAL_PP(msg_number), &hMessage)){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-        php_error(E_WARNING,"Unable to open message number %d: %s", (WORD)Z_LVAL_PP(msg_number), error_string);
-
-               if (hMessageList != NULLHANDLE){
-
-                       OSUnlockObject(hMessageList);
-                       OSMemFree(hMessageList);
-               }
-
-               if (hMessageFile != NULLHANDLE){
-
-                       MailCloseMessageFile(hMessageFile);
-               }
-               RETURN_FALSE;
-    }
-
-    /* Get the originator's name/address. */
-
-    if (error = MailGetMessageOriginator(MessageList, (WORD)Z_LVAL_PP(msg_number), 
-            Originator, sizeof(Originator), &OriginatorLength)){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-        php_error(E_WARNING,"Unable to get message originator: %s", error_string);
-
-               if (hMessageList != NULLHANDLE){
-
-                       OSUnlockObject(hMessageList);
-                       OSMemFree(hMessageList);
-               }
-
-               if (hMessageFile != NULLHANDLE){
-
-                       MailCloseMessageFile(hMessageFile);
-               }
-               RETURN_FALSE;
-    }
-
-       add_property_string(return_value,"originator",Originator, 1);
-
-    /* SendTo */
-    MailGetMessageItem (hMessage, MAIL_SENDTO_ITEM_NUM, String, 
-                                    MAXSPRINTF, &StringLength);
-
-       add_property_string(return_value,"to",String, 1);
-
-    /* PostedDate */
-    MailGetMessageItemTimeDate(hMessage, MAIL_POSTEDDATE_ITEM_NUM, &Time);
-    ConvertTIMEDATEToText(NULL, NULL, &Time, String, 
-                                sizeof(String), &StringLength);
-
-       add_property_string(return_value,"date",String, 1);
-
-    /* BCC */
-    MailGetMessageItem (hMessage, MAIL_BLINDCOPYTO_ITEM_NUM, String, 
-                                    MAXSPRINTF, &StringLength);
-
-       add_property_string(return_value,"bcc", String, 1);
-
-    /* CopyTo */
-    MailGetMessageItem (hMessage, MAIL_COPYTO_ITEM_NUM, String, 
-                                    MAXSPRINTF, &StringLength);
-
-       add_property_string(return_value,"cc", String, 1);
-
-    /* From */
-    MailGetMessageItem (hMessage, MAIL_FROM_ITEM_NUM, String, 
-                                    MAXSPRINTF, &StringLength);
-
-       add_property_string(return_value,"from",String, 1);
-
-    /* Subject */
-
-    MailGetMessageItem (hMessage, MAIL_SUBJECT_ITEM_NUM, String, 
-                                    MAXSPRINTF, &StringLength);
-
-       add_property_string(return_value,"subject",String, 1);
-
-    /* Priority H: High N: Normal L: Low*/
-
-    MailGetMessageItem (hMessage, MAIL_DELIVERYPRIORITY_ITEM_NUM, String, 
-                                    MAXSPRINTF, &StringLength);
-
-       add_property_string(return_value,"priority",String, 1);
-
-    /* Return Receipt 1: Yes 0: No*/
-
-    MailGetMessageItem (hMessage, MAIL_RETURNRECEIPT_ITEM_NUM, String, 
-                                    MAXSPRINTF, &StringLength);
-
-       add_property_string(return_value,"receipt",String, 1);
-
-       NonDeliveryReport = MailIsNonDeliveryReport(hMessage);
-
-    if (NonDeliveryReport)
-    {
-        MailGetMessageItem(hMessage, MAIL_FAILUREREASON_ITEM_NUM,
-                        String, sizeof(String), &StringLength);
-
-               add_property_string(return_value,"status",String, 1);
-    }
-       else{
-
-               add_property_string(return_value,"status","", 1);
-       }
-
-    MailCloseMessage (hMessage);
-
-    /* Free the message list and close the message file */
-
-    if (hMessageList != NULLHANDLE){
-
-        OSUnlockObject(hMessageList);
-        OSMemFree(hMessageList);
-    }
-
-    if (hMessageFile != NULLHANDLE){
-
-        MailCloseMessageFile(hMessageFile);
-       }
-}
-/* }}} */
-
-STATUS near pascal GetUniqueFileName(char *Drive, char *Ext,
-                                        char *FileName)
-
-{
-    int     file;
-    WORD    Num;
-    char    Name[17];
-    char    cwd[MAXPATH];
-    char   *Dir;
-        
-    /* Increment through numbered file names until a non-existent one found. */
-   getcwd(cwd, MAXPATH);
-   Dir = (char *)&cwd;
-                
-    for (Num = 0; Num <= 32767; Num++)
-    {
-        _itoa(Num, Name, 10);
-        _makepath(FileName, Drive, Dir, Name, Ext);
-        if ((file = open(FileName, O_BINARY | O_RDONLY)) == -1)
-            return(NOERROR);
-        close(file);
-    }
-    FileName[0] = '\0';
-    return(ERR_READMAIL_NOUNIQUE);
-}
-
-/* {{{ proto array notes_body(string server, string mailbox, int msg_number)
-   Opens the message msg_number in the specified mailbox on the specified server (leave server blank for local) and returns an array of body text lines */
-PHP_FUNCTION(notes_body)
-{
-
-       int argc;
-       pval *argv[3];
-
-       pval **server;
-       pval **mail_box;
-       pval **msg_number;
-
-    STATUS      error = NOERROR;
-    char        szMailFilePath[MAXPATH+1];
-    HANDLE      hMessageFile;
-    HANDLE      hMessageList = NULLHANDLE, hMessage;
-    DARRAY     *MessageList;
-    WORD        MessageCount;
-    char        String[MAXSPRINTF+1];
-    DWORD       BodyFileSize;
-    char        BodyFileName[MAXPATH_OLE];
-    FILE       *BodyFile;
-       char            error_string[200];
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(3, &server, &mail_box, &msg_number)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(server);
-       convert_to_string_ex(mail_box);
-       convert_to_long_ex(msg_number);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-
-    OSPathNetConstruct( NULL,               /* port name  */
-                        Z_STRVAL_PP(server),   
-                        Z_STRVAL_PP(mail_box),
-                        szMailFilePath);
-
-    /* Open the message file. */
-
-    if (error = MailOpenMessageFile(szMailFilePath, &hMessageFile)){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-        php_error(E_WARNING,"Error: unable to open '%s': %s.", szMailFilePath, error_string);
-               RETURN_FALSE;
-    }
-
-    /* Create message list of messages in the file - just 64K */
-
-    if (error = MailCreateMessageList(hMessageFile, 
-                        &hMessageList, &MessageList, &MessageCount)){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-        php_error(E_WARNING,"Unable to create message list: %s", error_string);
-
-               if (hMessageFile != NULLHANDLE){
-
-                       MailCloseMessageFile(hMessageFile);
-               }
-               RETURN_FALSE;
-    }
-
-    if (error = MailOpenMessage (MessageList, (WORD)Z_LVAL_PP(msg_number), &hMessage)){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-        php_error(E_WARNING,"Unable to open message number %d: %s", (WORD)Z_LVAL_PP(msg_number), error_string);
-
-               if (hMessageList != NULLHANDLE){
-
-                       OSUnlockObject(hMessageList);
-                       OSMemFree(hMessageList);
-               }
-
-               if (hMessageFile != NULLHANDLE){
-
-                       MailCloseMessageFile(hMessageFile);
-               }
-               RETURN_FALSE;
-    }
-
-    /* Body */
-    if (error = GetUniqueFileName("", "TMP", BodyFileName)){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Enable to create temporary file name: %s", error_string);
-
-               if (hMessageList != NULLHANDLE){
-
-                       OSUnlockObject(hMessageList);
-                       OSMemFree(hMessageList);
-               }
-
-               if (hMessageFile != NULLHANDLE){
-
-                       MailCloseMessageFile(hMessageFile);
-               }
-               MailCloseMessage (hMessage);
-               RETURN_FALSE;
-
-    }
-
-       /* Using MailGetBodyComposite instead of MailGetBody because it's not limited to 64k */
-
-          if (error = MailGetMessageBodyText(hMessage,
-                                NULL,     /* Use standard Body item */
-                                "\r\n",    /* Newline-terminate */
-                                80,        /* 80 chars per line */
-                                TRUE,     /* Convert TABs */
-                                BodyFileName,
-                                &BodyFileSize)){
-
-        unlink(BodyFileName);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to get Message body into temporary file: %s", error_string);
-
-               if (hMessageList != NULLHANDLE){
-
-                       OSUnlockObject(hMessageList);
-                       OSMemFree(hMessageList);
-               }
-
-               if (hMessageFile != NULLHANDLE){
-
-                       MailCloseMessageFile(hMessageFile);
-               }
-               MailCloseMessage (hMessage);
-               RETURN_FALSE;
-    }
-
-    /* Print each line of body text to the screen. */
-
-    if (!(BodyFile = fopen(BodyFileName, "r"))){
-
-        unlink(BodyFileName);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open temporary file: %s", error_string);
-
-               if (hMessageList != NULLHANDLE){
-
-                       OSUnlockObject(hMessageList);
-                       OSMemFree(hMessageList);
-               }
-
-               if (hMessageFile != NULLHANDLE){
-
-                       MailCloseMessageFile(hMessageFile);
-               }
-               MailCloseMessage (hMessage);
-               RETURN_FALSE;
-    }
-
-       array_init(return_value);
-
-       /* this should probably return the body in one string, but I don't know how */
-
-    while (fgets(String, READMAIL_BODY_LINELEN, BodyFile)){
-
-        add_next_index_string( return_value, String, 1);
-    }
-    fclose(BodyFile);
-    unlink(BodyFileName);
-
-    MailCloseMessage (hMessage);
-
-    /* Free the message list and close the message file */
-
-    if (hMessageList != NULLHANDLE){
-
-        OSUnlockObject(hMessageList);
-        OSMemFree(hMessageList);
-    }
-
-    if (hMessageFile != NULLHANDLE){
-
-        MailCloseMessageFile(hMessageFile);
-       }
-}
-/* }}} */
-
-/* {{{ proto int notes_find_note(string database_name, string name [, string type])
-   Returns a note id found in database_name */
-/*
-Specify the name of the note. Leaving type blank
-will default to all, otherwise specify:
-       
-               FORM
-               VIEW
-               FILTER
-               FIELD
-*/
-PHP_FUNCTION(notes_find_note)
-{
-
-       int argc;
-       pval *argv[3];
-
-       pval **db;
-       pval **name;
-       pval **type;
-
-    STATUS      error = NOERROR;
-       DBHANDLE db_handle;
-       NOTEID note_id;
-
-       char error_string[200];
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(3, &db, &name, &type)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-       convert_to_string_ex(name);
-       convert_to_string_ex(type);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-
-       if (error = NSFDbOpen (Z_STRVAL_PP(db), &db_handle)){
-       
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       if( strcmp( Z_STRVAL_PP(type), "FORM" ) == 0 ){
-       
-               if ((error = NIFFindDesignNote(db_handle, Z_STRVAL_PP(name), NOTE_CLASS_FORM, &note_id)) != ERR_NOT_FOUND) {
-
-                       RETVAL_LONG( (long) note_id );
-               }
-       } else if( strcmp( Z_STRVAL_PP(type), "VIEW" ) == 0 ){
-       
-               if ((error = NIFFindDesignNote(db_handle, Z_STRVAL_PP(name), NOTE_CLASS_VIEW, &note_id)) != ERR_NOT_FOUND) {
-
-                       RETVAL_LONG( (long) note_id );
-               }
-       } else if( strcmp( Z_STRVAL_PP(type), "FILTER" ) == 0 ){
-       
-               if ((error = NIFFindDesignNote(db_handle, Z_STRVAL_PP(name), NOTE_CLASS_FILTER, &note_id)) != ERR_NOT_FOUND) {
-
-                       RETVAL_LONG( (long) note_id );
-               }
-
-       } else if( strcmp( Z_STRVAL_PP(type), "FIELD" ) == 0 ){
-       
-               if ((error = NIFFindDesignNote(db_handle, Z_STRVAL_PP(name), NOTE_CLASS_FIELD, &note_id)) != ERR_NOT_FOUND) {
-
-                       RETVAL_LONG( (long) note_id );
-               }
-       }
-       else{
-
-               if ((error = NIFFindDesignNote(db_handle, Z_STRVAL_PP(name), NOTE_CLASS_ALL, &note_id)) != ERR_NOT_FOUND) {
-
-                       RETVAL_LONG( (long) note_id );
-               }
-       }
-
-       NSFDbClose(db_handle);
-       NotesTerm();
-}
-/* }}} */
-
-/* {{{ proto bool notes_nav_create(string database_name, string name)
-   Creates a navigator name, in database_name */
-PHP_FUNCTION(notes_nav_create)
-{
-
-       int argc;
-       pval *argv[2];
-
-       pval **db;
-       pval **name;
-       char error_string[200];
-
-    STATUS  error = NOERROR;
-       DBHANDLE db_handle;
-
-    WORD    ClassView = NOTE_CLASS_VIEW;
-
-    NOTEHANDLE view_handle;      /* sample navigator view handle */
-
-    char szMainView[] = "MainView";            /* title of view to be used */
-
-    VIEWMAP_HEADER_RECORD  NavHeader;
-
-       WORD    wLayoutCount;
-       WORD    wNavLayoutBufLen;
-       HANDLE  hNavLayoutBuffer;
-       char   *pNavLayoutBuffer;
-       char   *pNLBuf;
-
-       char    szDFlags[3];
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(2, &db, &name)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-       convert_to_string_ex(name);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-
-       if (error = NSFDbOpen (Z_STRVAL_PP(db), &db_handle)){
-       
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       error = NSFNoteCreate( db_handle, &view_handle );
-       if ( error ) {
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to create note in database: %s", error_string);
-               NSFDbClose( db_handle );
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-
-    NSFNoteSetInfo( view_handle, _NOTE_CLASS, &ClassView );
-
-/*
- * Set the view name. 
- */
-       error = NSFItemSetText( view_handle, VIEW_TITLE_ITEM,
-                                                 Z_STRVAL_PP(name), MAXWORD );
-       if ( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to set text item '%s' in view note: %s", VIEW_TITLE_ITEM, error_string);
-               NSFNoteClose( view_handle );
-               NSFDbClose( db_handle );
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-/*
- * Append Design flags for the Navigator view.
- */
-       szDFlags[0] = DESIGN_FLAG_VIEWMAP;
-       szDFlags[1] = DESIGN_FLAG_HIDE_FROM_V3;
-       szDFlags[2] = '\0';
-       error = NSFItemAppend(  view_handle,
-                                          ITEM_SUMMARY,
-                                          DESIGN_FLAGS,
-                                          (WORD)strlen(DESIGN_FLAGS),
-                                          TYPE_TEXT,
-                                          szDFlags,
-                                          (DWORD)strlen(szDFlags ));
-       if ( error ) {
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to append item '%s' to view note: %s", DESIGN_FLAGS, error_string);
-
-               NSFNoteClose( view_handle );
-               NSFDbClose( db_handle );
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       wLayoutCount = 0;
-       wNavLayoutBufLen =  ODSLength( _VIEWMAP_HEADER_RECORD );   
-
-/* 
- * Allocate and initialize the CD buffer for the entire $ViewMapLayout item.
- */
-    if ( error = OSMemAlloc( 0, wNavLayoutBufLen, &hNavLayoutBuffer )){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to allocate %d bytes memory: %s", wNavLayoutBufLen, error_string);
-
-               NSFNoteClose( view_handle );
-               NSFDbClose( db_handle );
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-    pNavLayoutBuffer = (char*) OSLockObject( hNavLayoutBuffer );
-    memset( pNavLayoutBuffer, 0, (size_t) wNavLayoutBufLen );
-
-       /* 
-        * Initialize pNLBuf. pNavLayoutBuffer will remain pointing to the top 
-        * of the buffer. pNLBuf will move to point to the next available byte.
-        */
-    pNLBuf = pNavLayoutBuffer;
-
-
-       NavHeader.Header.Signature = SIG_CD_VMHEADER;
-       NavHeader.Header.Length = (BYTE) ODSLength(_VIEWMAP_HEADER_RECORD );
-       NavHeader.Version = VIEWMAP_VERSION;
-       NavHeader.NameLen = 0;
-
-    ODSWriteMemory( &pNLBuf, _VIEWMAP_HEADER_RECORD, &NavHeader, 1 );
-
-    error = NSFItemAppend( view_handle,
-                            ITEM_SUMMARY,
-                            VIEWMAP_LAYOUT_ITEM,
-                            (WORD)strlen(VIEWMAP_LAYOUT_ITEM),
-                            TYPE_VIEWMAP_LAYOUT,
-                            pNavLayoutBuffer,
-                            (DWORD)wNavLayoutBufLen );
-
-    OSUnlockObject( hNavLayoutBuffer );
-    OSMemFree( hNavLayoutBuffer );
-
-    if ( error ) {
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to append item '%s' to view note: %s", VIEWMAP_LAYOUT_ITEM, error_string);
-
-               NSFNoteClose( view_handle );
-               NSFDbClose( db_handle );
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-/*
- *  Done constructing the view note. Now store the view note
- *  in the database.
- */
-    error = NSFNoteUpdate( view_handle, 0 );
-                   
-    if ( error) {
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to update note: %s", error_string);
-
-               NSFNoteClose( view_handle );
-               NSFDbClose( db_handle );
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-       NSFNoteClose( view_handle );
-       NSFDbClose( db_handle );
-       NotesTerm();
-       RETURN_TRUE;
-}
-/* }}} */
-
-/* {{{ proto array notes_search(string database_name, string keywords)
-   Finds notes that match keywords in database_name.  The note(s) that are returned must be converted to base 16. Example base_convert($note_id, "10", "16") */
-
-STATUS LNPUBLIC file_action (void *, SEARCH_MATCH *, ITEM_TABLE *);
-STATUS LNPUBLIC print_file_summary (ITEM_TABLE *);
-
-
-PHP_FUNCTION(notes_search)
-{
-
-       int argc;
-       pval *argv[2];
-       STATUS error;
-       DBHANDLE db_handle;
-    HANDLE search_handle;         /* handle to a search */
-       pval **db;
-       pval **keywords;
-       char            error_string[200];
-    FT_INDEX_STATS Stats;   /* statistics from FTIndex */
-    DWORD RetDocs;        /* number of documents returned by the search */
-    HANDLE SearchResults_handle;  /* handle to the results of the search */
-    FT_SEARCH_RESULTS *pSearchResults;    /* pointer to the results of the search */
-    HANDLE IDTable_handle;        /* handle to id table built with found NOTEIDs */
-    NOTEID *pNoteID;        /* pointer to the NOTEIDs found */
-    BYTE *pScores;          /* pointer to the scores */
-    DWORD i;
-   
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(2, &db, &keywords)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-       convert_to_string_ex(keywords);
-       
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-       
-       if (error = NSFDbOpen (Z_STRVAL_PP(db), &db_handle)){
-       
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       error = FTIndex(db_handle, FT_INDEX_AUTOOPTIONS, NULL, &Stats);
-       if (error){
-
-               NSFDbClose (db_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to search database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-   if (error = FTOpenSearch(&search_handle)){
-
-               NSFDbClose (db_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open search: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-   }
-
-   /* do the search on the query */
-   error = FTSearch (db_handle,                  /* database handle */
-                     &search_handle,             /* pointer to previously 
-                                              allocated search handle */
-                     (HCOLLECTION) NULLHANDLE, /* no collection specified - 
-                                              query all docs */
-                     Z_STRVAL_PP(keywords),                /* query string */
-                     FT_SEARCH_SCORES |    /* find relevancy scores */
-                     FT_SEARCH_STEM_WORDS, /* find word variants */
-                     0,                    /* maximum number of docs to
-                                              return; 0 = unlimited */
-                     NULLHANDLE,           /* no refining IDTABLE   */
-                     &RetDocs,           /* returned number of docs */
-                     NULL,                 /* reserved */
-                     &SearchResults_handle);     /* returned info */
-   if (error){
-
-               FTCloseSearch (search_handle);
-               NSFDbClose (db_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error during searchkkk: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-   }
-
-   /* return if no document in the result */
-   if (RetDocs == 0 )
-   {
-               php_printf("\n0 documents returned \n");
-               FTCloseSearch (search_handle);
-               NSFDbClose (db_handle);
-               NotesTerm();
-               RETURN_FALSE;
-   }
-
-   pSearchResults = OSLock (FT_SEARCH_RESULTS, SearchResults_handle);
-
-   /* Create an IDTABLE to further refine our search */
-
-   if (error = IDCreateTable(sizeof(NOTEID), &IDTable_handle))
-   {
-               FTCloseSearch (search_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error creating ID table: %s", error_string);
-               NSFDbClose (db_handle);
-               NotesTerm();
-               RETURN_FALSE;
-   }
-
-   /* set up a pointer to the array of note id's that occur after
-   the FT_SEARCH_RESULTS structure */
-
-   pNoteID = (NOTEID *) (((char *) pSearchResults)
-       + sizeof(FT_SEARCH_RESULTS));
-
-   pScores = (BYTE *) (pNoteID + pSearchResults->NumHits);
-   for (i = 0; i < pSearchResults->NumHits; i++, pNoteID++, pScores++)
-   {
-      /* save the note ids in the IDTABLE */
-
-      if (error = IDInsert (IDTable_handle, *pNoteID, NULL))
-      {
-
-        OSUnlockObject(SearchResults_handle);
-        OSMemFree (SearchResults_handle);
-        FTCloseSearch (search_handle);
-        IDDestroyTable (IDTable_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error saving note to ID table: %s", error_string);
-               NSFDbClose (db_handle);
-               NotesTerm();
-               RETURN_FALSE;
-      }
-   }
-
-   OSUnlockObject(SearchResults_handle);
-   OSMemFree (SearchResults_handle);
-
-   if (error = FTCloseSearch(search_handle))
-   {
-        IDDestroyTable (IDTable_handle);
-               NSFDbClose (db_handle);
-               NotesTerm();
-               RETURN_FALSE;
-   }
-
-   if (error = FTOpenSearch(&search_handle))
-   {
-               NSFDbClose (db_handle);
-               NotesTerm();
-               RETURN_FALSE;
-   }
-
-   /* do the refined search on the query with no word variants */
-
-   error = FTSearch (db_handle,                  /* database handle */
-                     &search_handle,             /* pointer to previously 
-                                              allocated search handle */
-                     (HCOLLECTION) NULLHANDLE, /* no collection specified - 
-                                              query all docs */
-                     Z_STRVAL_PP(keywords),                /* query string */
-                     FT_SEARCH_SCORES |    /* find relevancy scores */
-                     FT_SEARCH_REFINE,     /* refine the search - use the
-                                            * given id table */
-                     0,                    /* maximum number of docs to
-                                              return; 0 = unlimited */
-                     IDTable_handle,             /* refining IDTABLE   */
-                     &RetDocs,           /* returned number of docs */
-                     NULL,                 /* reserved */
-                     &SearchResults_handle);     /* returned info */
-   if (error)
-   {
-               FTCloseSearch (search_handle);
-               IDDestroyTable (IDTable_handle);
-               NSFDbClose (db_handle);
-               NotesTerm();
-               RETURN_FALSE;
-   }
-
-   /* return if no document in the result */
-   if (RetDocs == 0 )
-   {
-               php_printf("\n0 documents returned \n");
-               FTCloseSearch (search_handle);
-               IDDestroyTable (IDTable_handle);
-               NSFDbClose (db_handle);
-               NotesTerm();
-               RETURN_FALSE;
-   }
-
-   /* obtain a pointer to the search results */
-   pSearchResults = OSLock (FT_SEARCH_RESULTS, SearchResults_handle);
-
-   /* set up a pointer to the array of note id's that occur after
-      the FT_SEARCH_RESULTS structure */
-
-   pNoteID = (NOTEID *) (((char *) pSearchResults)
-           + sizeof(FT_SEARCH_RESULTS));
-   
-   //pSearchResults->NumHits
-   array_init(return_value);
-
-   pScores = (BYTE *) (pNoteID + pSearchResults->NumHits);
-   for (i = 0; i < pSearchResults->NumHits; i++, pNoteID++, pScores++){
-
-           add_next_index_long(return_value, (long) *pNoteID );
-               //RETVAL_LONG( (long) *pNoteID );
-   }
-
-   OSUnlockObject (SearchResults_handle);
-   OSMemFree (SearchResults_handle);
-   IDDestroyTable (IDTable_handle);
-
-   if (error = FTCloseSearch(search_handle))
-   {
-               NSFDbClose (db_handle);
-               NotesTerm();
-               RETURN_FALSE;
-   }
-
-   NSFDbClose (db_handle);
-   NotesTerm();
-}
-/* }}} */
-
-/* {{{ proto bool notes_copy_db(string from_database_name, string to_database_name [, string title])
-   Creates a note using form form_name */
-PHP_FUNCTION(notes_copy_db)
-{
-
-       int argc;
-       pval *argv[3];
-       STATUS error;
-       DBHANDLE input_handle;
-       DBHANDLE output_handle;
-       char            error_string[200];
-       pval **db_input;
-       pval **db_output;
-       pval **title;
-    DBREPLICAINFO    replica_info;  /* replication info for the databases */
-    char        output_db_info[NSF_INFO_SIZE];  /* database info buffer */
-    TIMEDATE    start_time;         /* time and date used to control what
-                                        notes we copy */
-    TIMEDATE    last_time;          /* returned from 
-                                        NSFDbGetModifiedNoteTable */
-    DBID        input_dbid;         /* dbid of input database */
-    DBID        output_dbid;        /* dbid of output database */
-    HANDLE      idtable_p;          /* handle to id table */
-    DWORD       num_scanned, num_entries;
-    NOTEID      note_id;
-    NOTEHANDLE  hIconNote;          /* handle to the icon note */
-       
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(3, &db_input, &db_output, &title)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db_input);
-       convert_to_string_ex(db_output);
-       convert_to_string_ex(title);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-       
-/* Open the input database. */
-
-       if (error = NSFDbOpen (Z_STRVAL_PP(db_input), &input_handle)){
-       
-        NSFDbClose (input_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open input database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-/* Create and open the output database. */
-
-    if (error = NSFDbCreate (Z_STRVAL_PP(db_output), DBCLASS_NOTEFILE, FALSE))
-    {
-        NSFDbClose (input_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to create database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-    if (error = NSFDbOpen (Z_STRVAL_PP(db_output), &output_handle))
-    {
-        NSFDbClose (input_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error opening output database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-
-/* Copy the replication settings (not the replication history) from
-the input database to the output database. The replication settings
-include the database replica ID. This makes the destination database
-a replica copy of the source database. */
-
-    if (error = NSFDbReplicaInfoGet (input_handle, &replica_info))
-    {
-        NSFDbClose (input_handle);
-        NSFDbClose (output_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error copying replication information: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-/* Copy the ACL from the input database to the output database. */
-
-    if (error = NSFDbCopyACL (input_handle, output_handle))
-    {
-        NSFDbClose (input_handle);
-        NSFDbClose (output_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error copying ACL: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-/* Set a time/date structure that will determine the date of the earliest
-note copied in the next call.  Use TimeConstant with TIMEDATE_WILDCARD
-specified to indicate that we do not want any cutoff date.  */
-
-    TimeConstant (TIMEDATE_WILDCARD, &start_time);
-
-/* Do not use NSFDbCopy to copy all notes in the input database to the 
-   output database. Such copies are not guaranteed to be replicas of 
-   the original notes.  Instead get an IDTABLE of all notes in the 
-   database, use IDScan to obtain each NOTEID, and then call 
-   NSFDbCopyNote to copy each note from one database to the other.
-*/
-
-    NSFDbIDGet (input_handle, &input_dbid);
-    NSFDbIDGet (output_handle, &output_dbid);
-
-
-/* Get the NoteID table for all notes in the input database */
-    if (error = NSFDbGetModifiedNoteTable (input_handle,
-                                           NOTE_CLASS_ALL,
-                                           start_time, &last_time,
-                                           &idtable_p) )
-               if (error == ERR_NO_MODIFIED_NOTES){
-            NSFDbClose (input_handle);
-            NSFDbClose (output_handle);
-                       OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-                       php_error(E_NOTICE,"There are no documents in the Database: %s", error_string);
-                       NotesTerm();
-                       RETURN_TRUE;
-               }
-        else
-        {
-            NSFDbClose (input_handle);
-            NSFDbClose (output_handle);
-                       OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-                       php_error(E_WARNING,"Error copying replication information: %s", error_string);
-                       NotesTerm();
-                       RETURN_FALSE;
-        }
-    num_scanned = 0L;
-    num_entries = IDEntries (idtable_p);
-    if (num_entries)
-        while (IDScan (idtable_p, (FLAG)(num_scanned++ == 0), &note_id) )
-            if (error = NSFDbCopyNote (input_handle, &input_dbid,
-                                       &replica_info.ID, note_id,
-                                       output_handle, &output_dbid,
-                                       &replica_info.ID, NULL,
-                                       NULL) )
-            {
-                IDDestroyTable (idtable_p);
-                NSFDbClose (input_handle);
-                NSFDbClose (output_handle);
-                               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-                               php_error(E_WARNING,"Error copying notes: %s", error_string);
-                               NotesTerm();
-                               RETURN_FALSE;
-            }
-    IDDestroyTable (idtable_p);
-    
-/* Now we can change the title of the output database
-   by following these steps:
-
-   - Get the info buffer of the database (NSFDbInfoGet);
-   - Modify the title information in the buffer (NSFDbInfoModify);
-   - Write the modified info buffer into the database (NSFDbInfoSet);
-   - If necessary, update the ICON note with the updated database
-     information buffer.  This is required for databases created from 
-     a template.
-*/
-
-/* Clear out the database information buffer */
-    output_db_info[0] = '\0';
-
-/* Get the output database information buffer. */
-   
-    if (error = NSFDbInfoGet (output_handle, output_db_info))
-    {
-        NSFDbClose (input_handle);
-        NSFDbClose (output_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error getting output database information buffer: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-/* Add the database title to the database information buffer */
-    
-    NSFDbInfoModify (output_db_info, INFOPARSE_TITLE, Z_STRVAL_PP(title));
-    if (error = NSFDbInfoSet (output_handle, output_db_info))
-    {
-        NSFDbClose (input_handle);
-        NSFDbClose (output_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error adding the database title to the buffer: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-/* If creating a new database from a template, in order to change
-   the database title or any other component of the database information
-   buffer, you also need to update this information in the ICON
-   note after updating it in the database information buffer. */ 
-
-    if (!NSFNoteOpen(output_handle, NOTE_ID_SPECIAL+NOTE_CLASS_ICON, 
-                     0, &hIconNote))
-    {
-        
-        /* Update the FIELD_TITLE ("$TITLE") field if present */
-        if (NSFItemIsPresent (hIconNote, FIELD_TITLE, (WORD) strlen (FIELD_TITLE)) )
-        {
-            NSFItemSetText(hIconNote, FIELD_TITLE, output_db_info, MAXWORD);
-            NSFNoteUpdate(hIconNote, 0);
-        }
-        NSFNoteClose(hIconNote);
-    }
-
-
-/* Close the databases. */
-
-    if (error = NSFDbClose (input_handle))
-        {
-        NSFDbClose (output_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error closing the input database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-        }
-
-    if (error = NSFDbClose (output_handle)){
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Error closing the output database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-       NotesTerm();
-       RETURN_TRUE;
-}
-/* }}} */
-
-
-
-
-
-
-
-
-
-
-
-STATUS LNPUBLIC ReadSummaryData (     /* called for every document */
-            VOID far *,
-            SEARCH_MATCH far *,
-            ITEM_TABLE far *);
-STATUS PrintSummary (char *);
-STATUS ExtractTextList (char *, char *);
-
-/* Constants */
-/* Notes imposes a 32K max summary buffer total size. Therefore,
-   34K will safely store the printable text rendering of any single 
-   item.
-*/
-#define  MAX_ITEM_LEN       34816
-
-/* The maximum number of items in the summary buffer of a single note 
-   is limited to the number of ITEM structures that will fit in 32K.
-*/
-#define  MAX_ITEMS          32768/sizeof(ITEM)
-
-#define  MAX_ITEM_NAME_LEN  DESIGN_NAME_MAX
-
-/* Global variables */
-ITEM    Items[MAX_ITEMS];           /* Stores the array of ITEMs */
-char    ItemText[MAX_ITEM_LEN];     /* Text rendering of item value */
-char    ItemName[MAX_ITEM_NAME_LEN];/* Zero terminated item name */
-
-
-/* {{{ proto bool notes_list_msgs(string db)
-   ??? */
-PHP_FUNCTION(notes_list_msgs)
-{
-
-       int argc;
-       pval *argv[1];
-       
-       STATUS          error;
-       DBHANDLE        db_handle;
-       char            error_string[200];
-
-       pval **db;
-
-       argc = ARG_COUNT(ht);
-
-       if (getParametersArray(ht, argc, argv) == FAILURE){
-
-               WRONG_PARAM_COUNT;
-       }
-
-       if (zend_get_parameters_ex(1, &db)==FAILURE) {
-               RETURN_FALSE;
-       }
-
-       convert_to_string_ex(db);
-
-       error = NotesInitExtended( argc, (char **) argv );
-
-       if( error ){
-
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to initialize Lotus Notes: %s", error_string);
-               RETURN_FALSE;
-       }
-
-       if (error = NSFDbOpen (Z_STRVAL_PP(db), &db_handle)){
-       
-        NSFDbClose (db_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to open database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-       }
-
-    /*  Call NSFSearch to find all data notes in the database.
-        Specify search flag SEARCH_SUMMARY so that the action
-        routine gets passed the summary buffer as input.
-    */
-
-    if (error = NSFSearch (
-        db_handle,          /* database handle */
-        NULLHANDLE,         /* selection formula */
-        NULL,               /* title of view in selection formula */
-        SEARCH_SUMMARY,     /* search flags: get summary data! */
-        NOTE_CLASS_DATA,    /* note class to find */
-        NULL,               /* starting date (unused) */
-        ReadSummaryData,    /* action routine for notes found */
-        NULL,               /* argument to action routine */
-        NULL))              /* returned ending date (unused) */
-
-    {
-        NSFDbClose (db_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to search database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-    if (error = NSFDbClose (db_handle))
-    {
-        NSFDbClose (db_handle);
-               OSLoadString(NULLHANDLE, ERR(error), error_string, sizeof(error_string));
-               php_error(E_WARNING,"Unable to close database: %s", error_string);
-               NotesTerm();
-               RETURN_FALSE;
-    }
-
-       RETURN_TRUE
-}
-
-STATUS LNPUBLIC ReadSummaryData
-            (VOID far *optional_param,
-            SEARCH_MATCH far *search_info,
-            ITEM_TABLE far *summary_info)
-{
-    SEARCH_MATCH  SearchMatch;
-    STATUS        error;
-
-    memcpy ((char*)(&SearchMatch), (char *)search_info, sizeof(SEARCH_MATCH));
-    
-    if (!(SearchMatch.SERetFlags & SE_FMATCH))     
-        return (NOERROR);
-
-    /* Print the note ID. */
-
-    php_printf ("\nNote ID is: %lX.\n<br />", SearchMatch.ID.NoteID);
-
-    /* Print the summary data. */
-
-    if (error = PrintSummary( (char*)summary_info ))
-        return (error);
-
-    return (NOERROR);
-}
-
-
-/************************************************************************
-
-    FUNCTION:   PrintSummary
-
-    PURPOSE:    Print all the items in a summary buffer.
-
-    INPUTS:
-        pSummary - a pointer to the summary buffer for one note.
-
-    DESCRIPTION:
-        The information in a summary buffer consists of an ITEM_TABLE
-        structure, followed by an array of ITEM structures, followed by
-        a packed sequence of field names and item values. 
-        
-        ITEM_TABLE
-        ITEM 1
-        ITEM 2
-        ...
-        ITEM N
-        name of item 1
-        value of item 1
-        name of item 2
-        value of item 2
-        ...
-        name of item N
-        value if item N
-
-        Item names are not zero terminated. Each item value starts with 
-        a data type word. The lengths of the item names and item values 
-        will vary. The NameLength member of the ITEM structure specifies 
-        the length of the corresponding name, and the ValueLength member 
-        of the ITEM structure specifies the length of the item value. 
-        The ValueLength includes the length of the data type word.
-
-        Note that this summary buffer differs in format from the buffer
-        parsed by sample program VIEWSUMM. VIEWSUMM calls NIFReadEntries
-        specifying READ_MASK_SUMMARYVALUES, which yields a buffer with
-        format specified by ITEM_VALUE_TABLE rather than ITEM_TABLE.
-
-        This function can parse the summary buffer of any data note
-        because it does not assume the note contains items with any 
-        particular names. If you know the item name in advance, use
-        either NSFGetSummaryValue() or NSFLocateSummaryValue().
-
-*************************************************************************/
-
-
-STATUS PrintSummary (char *pSummary)
-{
-    char       *pSummaryPos;        /* current position in pSummary */
-    ITEM_TABLE  ItemTable;          /* header at start of pSummary */
-    USHORT      ItemCount;          /* number of items in pSummary */
-    USHORT      NameLength;         /* length of item name w/out terminator*/
-    USHORT      ValueLength;        /* length of item value, incl. type */
-    WORD        DataType;           /* item data type word */
-    char       *szDataType;         /* printable data type name */
-    USHORT      TextLen;            /* length of printable item text */
-    NUMBER      NumericItem;        /* an item of type TYPE_NUMBER */
-    NUMBER_PAIR NumberPair;         /* part of item of TYPE_NUMBER_RANGE */
-    RANGE       Range;              /* part of item of TYPE_NUMBER_RANGE */
-    TIMEDATE    TimeItem;           /* a time/date item */
-    TIMEDATE_PAIR   TimePairItem;   /* part of time/date list or range */
-    WORD        TimeStringLen;      /* length of ASCII time/date */
-    STATUS      error;              /* return code from API calls */
-    USHORT      i;                  /* counter for loop over items */
-    USHORT      j;                  /* " " " " multi-valued items */
-
-   /* Initialize pSummaryPos to the position of the beginning of
-      the summary buffer. Keep pSummary unmodified. Modify pSummaryPos.
-    */
-
-    pSummaryPos = pSummary;
-
-   /* Copy the ITEM_TABLE header at the beginning of the summary buffer 
-      to a local variable. Advance pSummaryPos to point to the next 
-      byte in the summary buffer after the ITEM_TABLE.
-    */
-    memcpy ((char*)(&ItemTable), pSummaryPos, sizeof(ITEM_TABLE));
-    pSummaryPos += sizeof(ItemTable);
-
-   /* pSummaryPos now points to the first ITEM in an array of ITEM 
-      structures. Copy this array of ITEM structures into the global 
-      Items[] array.
-    */
-
-    ItemCount = ItemTable.Items;
-
-    for (i=0; i < ItemCount; i++)
-    {
-        memcpy((char*)(&Items[i]), pSummaryPos, sizeof(ITEM));
-        pSummaryPos += sizeof(ITEM);
-    }
-
-   /* pSummaryPos now points to the first item name. Loop over each
-      item, copying the item name into the ItemName variable and 
-      converting the item value to printable text in ItemText.
-    */
-
-    for (i=0; i < ItemCount; i++)
-    {
-       /* zero out two global arrays that we re-use for each item */
-        memset (ItemText, 0, MAX_ITEM_LEN);
-        memset (ItemName, 0, MAX_ITEM_NAME_LEN);
-
-        NameLength = Items[i].NameLength; 
-        memcpy (ItemName, pSummaryPos, NameLength);
-        ItemName[NameLength] = '\0';
-        pSummaryPos += NameLength;
-
-        /*  Handle the case of a zero length item  */
-
-        if (Items[i].ValueLength == 0)
-        {
-            strcpy(ItemName, "  *  ");
-            ItemText[0] = '\0';
-            goto PrintItem;
-        }
-
-        /* pSummaryPos now points to the item value. First get the
-           data type. Then step over the data type word to the data 
-           value and convert the value to printable text. Store the 
-           text in ItemText.
-        */
-
-        memcpy ((char*)(&DataType), pSummaryPos, sizeof(WORD));
-        pSummaryPos += sizeof(WORD);
-
-        ValueLength = Items[i].ValueLength - sizeof(WORD);
-
-        /* The way to extract an item depends on the data type. */       
-
-        switch (DataType)
-        {
-            case TYPE_TEXT:
-                szDataType = "TYPE_TEXT";
-                memcpy (ItemText, pSummaryPos, ValueLength);
-                ItemText[ValueLength] = '\0';
-                pSummaryPos += ValueLength;
-                break;
-
-            case TYPE_TEXT_LIST:
-                szDataType = "TYPE_TEXT_LIST";
-                if (error = ExtractTextList (pSummaryPos, ItemText))
-                {
-                    printf ("Error: unable to extract text list.\n");
-                    ItemText[0] = '\0';
-                }
-                pSummaryPos += ValueLength;
-                break;
-
-            case TYPE_NUMBER:
-                szDataType = "TYPE_NUMBER";
-                memcpy ((char *)(&NumericItem), pSummaryPos, sizeof(NUMBER));
-                  sprintf (ItemText, "%f", NumericItem);
-                pSummaryPos += sizeof(NUMBER);
-                break;
-
-            case TYPE_NUMBER_RANGE:
-                szDataType = "TYPE_NUMBER_RANGE";
-                TextLen = 0;
-                memcpy ((char*)(&Range), pSummaryPos, sizeof(RANGE));
-                pSummaryPos += sizeof(RANGE);
-                for (j=0; j < Range.ListEntries; j++)
-                {
-                    memcpy ((char*)(&NumericItem), pSummaryPos, 
-                            sizeof(NUMBER));
-                    sprintf (ItemText+TextLen, "%f ", NumericItem);
-                    pSummaryPos += sizeof(NUMBER);
-                    TextLen = strlen(ItemText);
-                }
-                if ((Range.ListEntries != 0) && (Range.RangeEntries != 0))
-                {
-                    memcpy (ItemText+TextLen, "; ", 2);
-                    TextLen += 2;
-                }
-                for (j=0; j < Range.RangeEntries; j++)
-                {
-                    memcpy ((char*)(&NumberPair), pSummaryPos, 
-                            sizeof(NUMBER_PAIR));
-                    sprintf (ItemText+TextLen, "%f - %f ", NumberPair.Lower,
-                             NumberPair.Upper);
-                    pSummaryPos += sizeof(NUMBER_PAIR);
-                    TextLen = strlen(ItemText);
-                }
-                break;
-            
-#ifndef APITESTMODE
-
-            case TYPE_TIME:
-                szDataType = "TYPE_TIME";
-                memcpy ((char*)(&TimeItem), pSummaryPos, sizeof(TIMEDATE));
-                pSummaryPos += sizeof(TIMEDATE);
-                if (error = ConvertTIMEDATEToText (
-                            NULL, NULL, &TimeItem,
-                            ItemText, MAXALPHATIMEDATE,
-                            &TimeStringLen))
-                {
-                    printf ("Error: unable to convert TIMEDATE to text.\n");
-                    TimeStringLen = 0;
-                }
-                ItemText[TimeStringLen] = '\0';
-                break;
-
-            case TYPE_TIME_RANGE:
-                szDataType = "TYPE_TIME_RANGE";
-                TextLen = 0;
-                memcpy ((char*)(&Range), pSummaryPos, sizeof(RANGE));
-                pSummaryPos += sizeof(RANGE);
-                for (j=0; j < Range.ListEntries; j++)
-                {
-                    if (j != 0)
-                    {
-                        memcpy (ItemText+TextLen, ",", 1);
-                        TextLen++;
-                    }
-                    memcpy ((char*)(&TimeItem), pSummaryPos, 
-                            sizeof(TIMEDATE));
-                    pSummaryPos += sizeof(TIMEDATE);
-                    if (error = ConvertTIMEDATEToText (
-                                NULL, NULL, 
-                                &TimeItem, 
-                                ItemText+TextLen, 
-                                MAXALPHATIMEDATE, &TimeStringLen))
-                    {
-                        printf("Error: unable to convert TIMEDATE to text.\n");
-                        TimeStringLen = 0;
-                    }
-                    TextLen += TimeStringLen;
-                }
-                
-                if (Range.RangeEntries == 0)
-                {
-                    ItemText[TextLen] = '\0';
-                    break;
-                }
-        
-               /* Append a space, semicolon, space to separate time/dates 
-                  from time/date ranges.
-                */
-
-                memcpy (ItemText+TextLen, " ; ", 3);
-                TextLen += 3;
-
-                for (j=0; j < Range.RangeEntries; j++)
-
-                {
-                    if (j != 0)
-                    {
-                        memcpy (ItemText+TextLen, ",", 1);
-                        TextLen++;
-                    }
-                    memcpy ((char*)&TimePairItem, pSummaryPos, 
-                            sizeof(TIMEDATE_PAIR));
-                    pSummaryPos += sizeof(TIMEDATE_PAIR);
-                    if (error = ConvertTIMEDATEToText (
-                                NULL, NULL, 
-                                &TimePairItem.Lower, ItemText+TextLen, 
-                                MAXALPHATIMEDATE, &TimeStringLen))
-                    {
-                        printf("Error: unable to convert TIMEDATE to text.\n");
-                        TimeStringLen = 0;
-                    }
-                    TextLen += TimeStringLen;
-                    memcpy (ItemText+TextLen, "-", 1);
-                    TextLen++;
-                    if (error = ConvertTIMEDATEToText (
-                                NULL, NULL, 
-                                &TimePairItem.Upper, ItemText+TextLen, 
-                                MAXALPHATIMEDATE, &TimeStringLen))
-                    {
-                        printf("Error: unable to convert TIMEDATE to text.\n");
-                        TimeStringLen = 0;
-                    }
-                    TextLen += TimeStringLen;
-                }
-                ItemText[TextLen] = '\0'; /* zero terminate the text */
-                break;
-
-#endif
-            /* Item is not one of the data types this program handles. */
-
-            default:
-                szDataType = "Unrecognized";
-                ItemText[0] = '\0';
-                pSummaryPos += ValueLength;
-                break;
-        } /* end of switch on data type */
-
-PrintItem:
-        /* Print the item name, data type, and value. */
-        printf ("\tItem Name = %s\n", ItemName);
-        printf ("\tData Type = %s\n", szDataType);
-
-#ifndef APITESTMODE
-        printf ("\tItem Value = \"%s\"\n\n", ItemText);
-#else
-        if (strcmp(ItemName,"$UpdatedBy")==0)
-          printf ("\tItem Value =\n\n", ItemText);
-        else
-          printf ("\tItem Value = \"%s\"\n\n", ItemText);
-#endif
-    
-    }/* End of loop over items in the summary. */
-
-    /* Print final line feed to end display for this note. */
-
-    printf ("\n");
-
-    return (NOERROR);
-}
-
-/************************************************************************
-
-    FUNCTION:   ExtractTextList
-
-    PURPOSE:    This function extracts an item of TYPE_TEXT_LIST from a
-                pSummary buffer.
-
-    INPUTS:     char *pBuffer
-
-    OUTPUTS:    char *TextList
-
-*************************************************************************/
-
-STATUS ExtractTextList (char *pBuffer, char *TextList)
-{
-    LIST    List;
-    char   *ListEntry;  /* pointer to list entry */
-    WORD    TextLen;    /* total length of string output to TextList */
-    WORD    EntryLen;   /* length of one entry */
-    STATUS  error;      /* return code from API calls */
-    USHORT  i;          /* a counter */
-    
-    /* Initialize the total length of the list. */
-
-    TextLen = 0;
-
-    /* Clear the string that we'll fill up. */
-
-    TextList[0] = '\0';
-
-    /* Get the list header structure with the number of entries. */
-
-    memcpy ((char*)(&List), pBuffer, sizeof(LIST));
-
-    /* Loop over each entry of the list. */
-
-    for (i=0; i<List.ListEntries; i++)
-    {
-        /* Get one entry from the list. */
-
-        if (error = ListGetText (
-                    pBuffer,
-                    FALSE, /* DataType not prepended to list */
-                    i,
-                    &ListEntry,
-                    &EntryLen))
-        {
-            return (ERR(error));
-        }
-
-        /*  Copy this entry to the string we are building and move the 
-            pointer that keeps track of how much we have in the string. 
-         */
-
-        memcpy (TextList+TextLen, ListEntry, EntryLen);
-        TextLen += EntryLen;
-
-        /* Put a comma after the entry and advance the text length. */
-
-        memcpy (TextList+TextLen, ",", 1);
-        TextLen++;
-
-    }   /* End of loop over list entries. */
-
-    /* Put a null in place of the last comma */
-
-    TextLen--;
-    memcpy (TextList+TextLen, "\0", 1);
-
-    return (NOERROR);
-}
-
-/* }}} */
-
-
-
-
diff --git a/ext/notes/php_notes.h b/ext/notes/php_notes.h
deleted file mode 100644 (file)
index 74a9b7f..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | PHP Version 4                                                        |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 1997-2003 The PHP Group                                |
-   +----------------------------------------------------------------------+
-   | This source file is subject to version 2.01 of the PHP license,      |
-   | that is bundled with this package in the file LICENSE, and is        |
-   | available through the world-wide-web at the following url:           |
-   | http://www.php.net/license/2_01.txt.                                 |
-   | If you did not receive a copy of the PHP license and are unable to   |
-   | obtain it through the world-wide-web, please send a note to          |
-   | license@php.net so we can mail you a copy immediately.               |
-   +----------------------------------------------------------------------+
-   | Author: Brad Atkins <brad@youreshop.com>                             |
-   +----------------------------------------------------------------------+
-*/
-
-
-/* $Id$ */
-
-extern zend_module_entry notes_module_entry;
-
-#define notes_module_ptr &notes_module_entry
-
-PHP_MINIT_FUNCTION(notes);
-PHP_MSHUTDOWN_FUNCTION(notes);
-PHP_RINIT_FUNCTION(notes);
-PHP_RSHUTDOWN_FUNCTION(notes);
-PHP_MINFO_FUNCTION(notes);
-
-PHP_FUNCTION(notes_create_db);
-PHP_FUNCTION(notes_drop_db);
-PHP_FUNCTION(notes_version);
-PHP_FUNCTION(notes_create_note);
-PHP_FUNCTION(notes_unread);
-PHP_FUNCTION(notes_mark_read);
-PHP_FUNCTION(notes_mark_unread);
-PHP_FUNCTION(notes_header_info);
-PHP_FUNCTION(notes_body);
-PHP_FUNCTION(notes_find_note);
-PHP_FUNCTION(notes_nav_create);
-PHP_FUNCTION(notes_search);
-PHP_FUNCTION(notes_copy_db);
-PHP_FUNCTION(notes_list_msgs);
-
-#define phpext_notes_ptr notes_module_ptr