<%@page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*"%> 
<%@ include file="Connections/library.jsp" %>
<%--Copyright (C) 2002 Tony Grant

This file is part of lmstoolkit

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

lmstoolkit is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public
License along with lmstoolkit; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA--%>
<%
// *** Edit Operations: declare variables

// set the form action variable
String MM_editAction = request.getRequestURI();
if (request.getQueryString() != null && request.getQueryString().length() > 0) {
  MM_editAction += "?" + request.getQueryString();
}

// connection information
String MM_editDriver = null, MM_editConnection = null, MM_editUserName = null, MM_editPassword = null;

// redirect information
String MM_editRedirectUrl = null;

// query string to execute
StringBuffer MM_editQuery = null;

// boolean to abort record edit
boolean MM_abortEdit = false;

// table information
String MM_editTable = null, MM_editColumn = null, MM_recordId = null;

// form field information
String[] MM_fields = null, MM_columns = null;

%>
<%
// *** Insert Record: set variables

if (request.getParameter("MM_insert") != null && request.getParameter("MM_insert").toString().equals("form1")) {

  MM_editDriver     = MM_library_DRIVER;
  MM_editConnection = MM_library_STRING;
  MM_editUserName   = MM_library_USERNAME;
  MM_editPassword   = MM_library_PASSWORD;
  MM_editTable  = "books";
  MM_editRedirectUrl = "";
  String MM_fieldsStr = "book_id|value|noinventaire|value|namebreexemplaires|value|noisbn|value|typedocument|value|titre|value|titreexposition|value|lieupublication|value|datepublication|value|nbpages|value|nbpagesillustr|value|nbpagesnb|value|nbpagescoul|value|thematique|value|modeacquisition|value|notes|value|resume|value|date_fiche|value|langue|value";
  String MM_columnsStr = "book_id|none,none,NULL|noinventaire|',none,''|namebreexemplaires|none,none,NULL|noisbn|',none,''|typedocument|',none,''|titre|',none,''|titreexposition|',none,''|lieupublication|',none,''|datepublication|none,none,NULL|nbpages|none,none,NULL|nbpagesillustr|none,none,NULL|nbpagesnb|none,none,NULL|nbpagescoul|none,none,NULL|thematique|',none,''|modeacquisition|',none,''|pagesfrac|',none,''|resume|',none,''|date_fiche|none,none,NULL|lang|',none,''";

  // create the MM_fields and MM_columns arrays
  java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_fieldsStr,"|");
  MM_fields = new String[tokens.countTokens()];
  for (int i=0; tokens.hasMoreTokens(); i++) MM_fields[i] = tokens.nextToken();

  tokens = new java.util.StringTokenizer(MM_columnsStr,"|");
  MM_columns = new String[tokens.countTokens()];
  for (int i=0; tokens.hasMoreTokens(); i++) MM_columns[i] = tokens.nextToken();

  // set the form values
  for (int i=0; i+1 < MM_fields.length; i+=2) {
    MM_fields[i+1] = ((request.getParameter(MM_fields[i])!=null)?(String)request.getParameter(MM_fields[i]):"");
  }
 
  // append the query string to the redirect URL
  if (MM_editRedirectUrl.length() != 0 && request.getQueryString() != null) {
    MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + request.getQueryString();
  }
}
%>
<%
// *** Insert Record: construct a sql insert statement and execute it

if (request.getParameter("MM_insert") != null) {

  // create the insert sql statement
  StringBuffer MM_tableValues = new StringBuffer(), MM_dbValues = new StringBuffer();
  for (int i=0; i+1 < MM_fields.length; i+=2) {
    String formVal = MM_fields[i+1];
    String elem;
    java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_columns[i+1],",");
    String delim    = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
    String altVal   = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
    String emptyVal = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
    if (formVal.length() == 0) {
      formVal = emptyVal;
    } else {
      if (altVal.length() != 0) {
        formVal = altVal;
      } else if (delim.compareTo("'") == 0) {  // escape quotes
        StringBuffer escQuotes = new StringBuffer(formVal);
        for (int j=0; j < escQuotes.length(); j++)
          if (escQuotes.charAt(j) == '\'') escQuotes.insert(j++,'\'');
        formVal = "'" + escQuotes + "'";
      } else {
        formVal = delim + formVal + delim;
      }
    }
    MM_tableValues.append((i!=0)?",":"").append(MM_columns[i]);
    MM_dbValues.append((i!=0)?",":"").append(formVal);
  }
  MM_editQuery = new StringBuffer("insert into " + MM_editTable);
  MM_editQuery.append(" (").append(MM_tableValues.toString()).append(") values (");
  MM_editQuery.append(MM_dbValues.toString()).append(")");
  
  if (!MM_abortEdit) {
    // finish the sql and execute it
    Driver MM_driver = (Driver)Class.forName(MM_editDriver).newInstance();
    Connection MM_connection = DriverManager.getConnection(MM_editConnection,MM_editUserName,MM_editPassword);
    PreparedStatement MM_editStatement = MM_connection.prepareStatement(MM_editQuery.toString());
    MM_editStatement.executeUpdate();
    MM_connection.close();

    // redirect with URL parameters
    if (MM_editRedirectUrl.length() != 0) {
      response.sendRedirect(response.encodeRedirectURL(MM_editRedirectUrl));
    }
  }
}
%>

<%
Driver Driverbooks = (Driver)Class.forName(MM_library_DRIVER).newInstance();
Connection Connbooks = DriverManager.getConnection(MM_library_STRING,MM_library_USERNAME,MM_library_PASSWORD);
PreparedStatement Statementbooks = Connbooks.prepareStatement("SELECT *  FROM books");
ResultSet books = Statementbooks.executeQuery();
boolean books_isEmpty = !books.next();
boolean books_hasData = !books_isEmpty;
Object books_data;
int books_numRows = 0;
%>
<html>
<head>
<title>Creer doc</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="lmstk.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="760" border="0">
  <tr>
    <td bgcolor="#4A494A"><!-- #BeginLibraryItem "/Library/lmstk.lbi" --><map name="lmstkMap" id="lmstkMap">
        <area shape="rect" coords="13,63,56,80" href="http://www.tgds.net/lmstk/" />
        <area shape="rect" coords="63,63,166,80" href="about.html" />
        <area shape="rect" coords="174,62,242,81" href="http://sourceforge.net/projects/lmstk/" />
        <area shape="rect" coords="250,62,296,80" href="http://sourceforge.net/forum/?group_id=62137" />
        <area shape="rect" coords="305,62,357,80" href="mailto:tgrant@tgds.net" />
      </map>
      <!-- #BeginLibraryItem "/Library/lmstk.lbi" --><img src="images/lmstk.png" alt="lmstoolkit" name="lmstk" width="760" height="82" border="0" usemap="#lmstkMap" id="lmstk" /><!-- #EndLibraryItem --><!-- #EndLibraryItem --></td>
  </tr>
  <tr>
    <td><h2 align="left"><font color="#999999"> Enter new document</font></h2>
      <form method="POST" action="<%=MM_editAction%>" name="form1">
        <table align="center" width="660">
          <tr> 
            <td nowrap align="right" valign="baseline"></td>
            <td valign="baseline" colspan="3"> <input type="hidden" name="book_id" value="nextval('document_serial')" size="32"> 
            </td>
            <td valign="baseline"> <div align="right"></div></td>
            <td valign="baseline" colspan="4">&nbsp;</td>
          </tr>
          <tr> 
            <td nowrap align="right" valign="baseline">Shelf number:</td>
            <td valign="baseline" colspan="3"> <input type="text" name="noinventaire" value="" size="32"> 
            </td>
            <td valign="baseline"> <div align="right">Number of copies:</div></td>
            <td valign="baseline" colspan="4"> <input type="text" name="namebreexemplaires" value="" size="4"> 
            </td>
          </tr>
          <tr> 
            <td nowrap align="right" valign="baseline">ISBN:</td>
            <td valign="baseline" colspan="3"> <input type="text" name="noisbn" value="" size="32"> 
            </td>
            <td valign="baseline"> <div align="right">Type of document:</div></td>
            <td valign="baseline" colspan="4"> <select name="typedocument">
                <option value="Catalogue">Catalogue</option>
                <option value="Monographie">Monographie</option>
                <option value="Magazine">Magazine</option>
              </select> </td>
          </tr>
          <tr> 
            <td nowrap align="right" valign="baseline">Title:</td>
            <td valign="baseline" colspan="3"> <input type="text" name="titre" value="" size="32"> 
            </td>
            <td valign="baseline"> <div align="right">Sub Titre:</div></td>
            <td valign="baseline" colspan="4"> <input type="text" name="titreexposition" value="" size="32"> 
            </td>
          </tr>
          <tr> 
            <td nowrap align="right" valign="baseline">City:</td>
            <td valign="baseline" colspan="3"> <input type="text" name="lieupublication" value="" size="32"> 
            </td>
            <td valign="baseline"> <div align="right">Date:</div></td>
            <td valign="baseline" colspan="4"> <input type="text" name="datepublication" value="" size="6" maxlength="4"> 
            </td>
          </tr>
          <tr> 
            <td nowrap align="right" valign="baseline">Pages:</td>
            <td valign="baseline" colspan="3"> <input type="text" name="nbpages" value="" size="6"> 
            </td>
            <td valign="baseline"> <div align="right">Illustrated pages: </div></td>
            <td valign="baseline" colspan="4"> <input type="text" name="nbpagesillustr" value="" size="6"> 
            </td>
          </tr>
          <tr> 
            <td nowrap align="right" valign="baseline">B&amp;W:</td>
            <td valign="baseline" colspan="3"> <input type="text" name="nbpagesnb" value="" size="6"> 
            </td>
            <td valign="baseline"> <div align="right">Color:</div></td>
            <td valign="baseline" colspan="4"> <input type="text" name="nbpagescoul" value="" size="6"> 
            </td>
          </tr>
          <tr> 
            <td nowrap align="left" colspan="4">Key words: <br> <textarea name="thematique" cols="50" wrap="VIRTUAL" rows="5"></textarea> 
            </td>
            <td colspan="5" valign="top"> <div align="left">Aquired:<br>
              </div>
              <div align="left"> 
                <select name="modeacquisition">
                  <option value="Echanged">Echanged</option>
                  <option value="Bought">Bought</option>
                </select>
              </div></td>
          </tr>
          <tr align="left"> 
            <td nowrap colspan="4">Notes: <br> <textarea name="notes" cols="50" rows="5" wrap="VIRTUAL" id="notes"></textarea> 
            </td>
            <td colspan="5" valign="top"> <div align="left">Abstract: <br>
              </div>
              <div align="left"> 
                <textarea name="resume" cols="50" rows="5" wrap="VIRTUAL"></textarea>
              </div></td>
          </tr>
          <tr> 
            <td nowrap align="right" valign="baseline">File date:</td>
            <td valign="baseline" colspan="3">Automatic 
              <input type="hidden" name="date_fiche" value="now()" size="32"> 
            </td>
            <td valign="baseline"> <div align="right">Language:</div></td>
            <td valign="baseline" colspan="4"> <input type="text" name="langue" size="12" maxlength="12"> 
            </td>
          </tr>
          <tr> 
            <td nowrap align="right" valign="baseline">&nbsp;</td>
            <td valign="baseline" colspan="3"> <input name="submit" type="submit" value="Insert"> 
            </td>
            <td valign="baseline"> <div align="right"></div></td>
            <td valign="baseline" colspan="4">&nbsp;</td>
          </tr>
        </table>
        <input type="hidden" name="MM_insert" value="form1">
      </form>
</td>
  </tr>
  <tr>
    <td><!-- #BeginLibraryItem "/Library/admin_bottom.lbi" -->&copy; <a href="mailto:tgrant@tgds.net">Tony Grant</a>/tgds.net 2002<!-- #EndLibraryItem --></td>
  </tr>
</table>
<h2 align="left"><font color="#999999"><br>
  </font></h2>
</body>
</html>
<%
books.close();
Connbooks.close();
%>