From finlayt at users.sourceforge.net Mon Dec 2 02:33:41 2002 From: finlayt at users.sourceforge.net (Finlay Thompson) Date: Sun, 01 Dec 2002 17:33:41 -0800 Subject: [Koha-cvs] CVS: koha/C4 Auth.pm,1.9.2.18,1.9.2.19 Message-ID: Update of /cvsroot/koha/koha/C4 In directory sc8-pr-cvs1:/tmp/cvs-serv1872 Modified Files: Tag: rel-1-2 Auth.pm Log Message: fixed a bug in the auth.pm system Index: Auth.pm =================================================================== RCS file: /cvsroot/koha/koha/C4/Auth.pm,v retrieving revision 1.9.2.18 retrieving revision 1.9.2.19 diff -C2 -r1.9.2.18 -r1.9.2.19 *** Auth.pm 27 Nov 2002 01:47:43 -0000 1.9.2.18 --- Auth.pm 2 Dec 2002 01:33:39 -0000 1.9.2.19 *************** *** 140,143 **** --- 140,144 ---- $info{'timed_out'} = 1; $dbh->do("DELETE FROM sessions WHERE sessionID=?", undef, $sessionID); + $userid = undef; $sessionID = undef; open L, ">>/tmp/sessionlog"; *************** *** 152,155 **** --- 153,157 ---- $dbh->do("DELETE FROM sessions WHERE sessionID=?", undef, $sessionID); $sessionID = undef; + $userid = undef; open L, ">>/tmp/sessionlog"; my $time=localtime(time()); From fmmarzoa at users.sourceforge.net Mon Dec 2 09:42:13 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:42:13 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es bookcount.tmpl,NONE,1.1 boraccount.tmpl,NONE,1.1 charges.tmpl,NONE,1.1 cmsd.tmpl,NONE,1.1 default.tmpl,NONE,1.1 intranet-main.tmpl,NONE,1.1 mancredit.tmpl,NONE,1.1 maninvoice.tmpl,NONE,1.1 newimember.tmpl,NONE,1.1 opac-main.tmpl,NONE,1.1 overdue.tmpl,NONE,1.1 searchheader.tmpl,NONE,1.1 thesaurus_popup.tmpl,NONE,1.1 Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es In directory sc8-pr-cvs1:/tmp/cvs-serv9691 Added Files: bookcount.tmpl boraccount.tmpl charges.tmpl cmsd.tmpl default.tmpl intranet-main.tmpl mancredit.tmpl maninvoice.tmpl newimember.tmpl opac-main.tmpl overdue.tmpl searchheader.tmpl thesaurus_popup.tmpl Log Message: Translating to Spanish. First round. --- NEW FILE ---

&type="intra"> ()

Código de Barras
Rama Inicial:
Rama Actual:
Fecha de Entrada en Rama Actual:
Número de entregas desde la fecha anterior :
Rama No. de Entregas Last seen at branch
--- NEW FILE --- Cuenta de

 

MULTAS Y RECARGOS CANTIDAD DEUDAS PENDIENTES
Total Debido

 

--- NEW FILE ---

Cada cambo debe ser rellenado con la multa, el momento de comienzo del cargo y el ciclo de cargo
Por ejemplo: 1,7,7 = 1 &euro de multa, tras 7 días, cada 7 días
--- NEW FILE ---

Título Autor Dewey
> >
&startfrom=>Registros Anteriores &startfrom=>Registros Posteriores

Resultados desde el hasta el de un total de registros.
--- NEW FILE ---
TítuloAutorNúmero de ArtículosBibliocódigo
>
&startfrom=>Registros Anteriores &startfrom=>Registros Posteriores

Resultados desde el hasta el de un total de registros.
--- NEW FILE --- BIENVENIDO A LA INTRANET DE KOHA

Koha: Horowhenua Library Trust

Escriba en el campo y pulse la tecla [Enter].
-Búsqueda Avanzada (Mas Opciones)

Escriba en el campo y pulse la tecla [Enter].



--- NEW FILE ---

Crédito Manual

">
Borrowernumber
Tipo
Itemnumber
Description
Amount
--- NEW FILE ---

Manual Factura

">
Borrowernumber
Type
Número de Artículo
Descripción
Cantidad
--- NEW FILE --- Los siguientes campos se han dejado vacíos. Por favor, pulse el votón "atrás" e inténtelo de nuevo.

Número de tarjeta inválido.

--- NEW FILE --- WELCOME TO THE KOHA OPAC

Koha: Horowhenua Library Trust Catalogue and Member Services
Search the Catalogue
   

Type in the box and press the enter key.
-Advanced Search (More Options)

Logged in as: [Log Out]

Log In to Koha

--- NEW FILE --- Artículos Atrasados hasta

Fecha de Devolución Patron Teléfono Título Autor
?subject=Atraso: ">
--- NEW FILE --- >Results with dewey | >Resultados por biblionumber


--- NEW FILE --- thesaurus value builder

"> "> ">

"> "> ">
">
From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:16 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:16 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es In directory sc8-pr-cvs1:/tmp/cvs-serv9411/es Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:40 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:40 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/marcimport - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/marcimport In directory sc8-pr-cvs1:/tmp/cvs-serv9524/marcimport Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/marcimport added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:40 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:40 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/catalogue - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/catalogue In directory sc8-pr-cvs1:/tmp/cvs-serv9524/catalogue Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/catalogue added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:40 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:40 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/members - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/members In directory sc8-pr-cvs1:/tmp/cvs-serv9524/members Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/members added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:40 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:40 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/acqui.simple - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/acqui.simple In directory sc8-pr-cvs1:/tmp/cvs-serv9524/acqui.simple Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/acqui.simple added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:39 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:39 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/acqui - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/acqui In directory sc8-pr-cvs1:/tmp/cvs-serv9524/acqui Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/acqui added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:41 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:41 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/user - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/user In directory sc8-pr-cvs1:/tmp/cvs-serv9524/user Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/user added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:41 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:41 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/parameters - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/parameters In directory sc8-pr-cvs1:/tmp/cvs-serv9524/parameters Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/parameters added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:41 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:41 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/value_builder - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/value_builder In directory sc8-pr-cvs1:/tmp/cvs-serv9524/value_builder Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/value_builder added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:40 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:40 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/includes - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/includes In directory sc8-pr-cvs1:/tmp/cvs-serv9524/includes Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/includes added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:41:41 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:41:41 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/reports - New directory Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/reports In directory sc8-pr-cvs1:/tmp/cvs-serv9524/reports Log Message: Directory /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/reports added to the repository From fmmarzoa at users.sourceforge.net Mon Dec 2 09:51:43 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:51:43 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/acqui newbasket2.tmpl,NONE,1.1 Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/acqui In directory sc8-pr-cvs1:/tmp/cvs-serv12838/acqui Added Files: newbasket2.tmpl Log Message: Translating to Spanish. First round. --- NEW FILE ---

Cesta de la Compra para:

&basket=&sub="> Add New Biblio &basket=&sub="> Add New Biblio "> Ver Cesta
> > Nueva Búsqueda:

Buscó en
resultados encontrados.
Resultados desde a visualizados. "> ">
TÍTULO AUTOR © CANTIDAD LOCALIZACIÓN
&author=©right=&id=&basket=&biblio=&title="> ©right=&id=&basket=&biblio=&title="> &type=">
         
&offset=&type=&id=&basket=&search=&author="> Siguiente
From fmmarzoa at users.sourceforge.net Mon Dec 2 09:51:43 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:51:43 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/acqui.simple addbiblio.tmpl,NONE,1.1 addbiblio2.tmpl,NONE,1.1 addbooks.tmpl,NONE,1.1 additem.tmpl,NONE,1.1 isbnsearch.tmpl,NONE,1.1 marcimport.tmpl,NONE,1.1 Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/acqui.simple In directory sc8-pr-cvs1:/tmp/cvs-serv12838/acqui.simple Added Files: addbiblio.tmpl addbiblio2.tmpl addbooks.tmpl additem.tmpl isbnsearch.tmpl marcimport.tmpl Log Message: Translating to Spanish. First round. --- NEW FILE ---
MARC biblio :
<<<<<<< addbiblio.tmpl ======= >>>>>>> 1.4
0
1
2
3
4
5
6
7
8
9
">
">"> -
  "> "> ">
--- NEW FILE ---
MARC biblio :
                    ">

Artículos existentes


Nuevos Artículos
  "> ">
--- NEW FILE --- MARC import and BIBLIO management

No se encontraron artículos

Website Biblioitem Added

Para añadir un nuevo biblio/item, escanee o teclee el ISBN:
ISBN: Si el ISBN se encuentra en la biblio table, el registro será obtenido y podrá ser modificado.
Si el ISBN se encuentra en la breeding farm, el registro será obtenido y se añadirá una biblio.
En otro caso, una biblio podrá ser añadida desde cero.

Herramientas para importar registros MARC en breeding farm
 
  • Subir registros MARC
  •   La breeding farm es una tabla donde se almacenan los registros MARC importados.
    Un registro MARC es almacenado en la breeding farm si no existe el artículo. En caso contrario, el articulo se busca en la breeding farm. Si se encuentra, la biblio es añadida a la tabla activa de koha, y eliminada del breeding farm.
    Herramientas para importar MARC de un servidor z3950
     
  • Herramienta de Búsqueda Z39.50
  •   no funciona
    Añadir un Nuevo Sitio Web

    Palabras:

    Ayuda
    Koha almacena los datos en tres secciones

    Biblio

    La primera sección almacena información bibliográfica como el título, autor y copyright de un trabajo particular.

    Grupo

    La segunda almacena datos bibliográficos de una edición particular de ese trabajo, como el código ISBN, la descripción física, información de la editorial, etc.

    Objeto

    La tercera sección contiene información específica correspondiente a un artículo, como el número del código de barras

    --- NEW FILE ---

    MARC biblio :
                        "> ">

    Existing items
     
    &itemnum=">Edit


    New Item
      "> ">
    ">
    --- NEW FILE --- Resultados de la Búsqueda en Biblio
    Ha buscado sobre el ISBN , resultados encontrados
    Resultados desde el hasta el visualizados

    "> <<<<<<< isbnsearch.tmpl ======= >>>>>>> 1.2
    Título Autor © Objetos
    ">Editar...">Edit...

    &offset=&num=">

    Resultados por página: offset=&num=5">5 &offset=&num=10">10 &offset=&num=20">20 &offset=&num=50">50


     

    --- NEW FILE ---

    Sistema de Adquisición MARC

    Importar en la breeding farm

    Resultados de la Operación :

      registro(s) importado(s)

      rechazados porque ya existen en la BD

      rechazados porque ya existen en la farm

      rechazados porque no parecen estar en formato MARC (o les falta el ISBN/ISSN) !

      registros procesados

      Volver a adquisición

      Seleccione un archivo para importar en la breeding farm. Será procesado y para cada ISBN encontrado, se creará un nuevo baby en la breeding farm. Si un ISBN ya existe en la breeding farm, puede escoger entre ignorar el nuevo o sustituir el antiguo. Puede introducir un nombre para esta importación. Podría ser útil, al crear una biblio, recordar de donde vienen los datos marc utilizados ! Por supuesto, si el ISBN ya existe en la BD activa, la biblio será ignorada.
      " enctype="multipart/form-data">
      Seleccionar el archivo para importar :
      Nombre de esta importación :
      Si el ISBN ya está en la breeding farm : Ignorar el importado y mantener el antiguo
      Sustituir el existente por el importado
       
      From fmmarzoa at users.sourceforge.net Mon Dec 2 09:51:44 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:51:44 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/marcimport AcceptBiblioitem.tmpl,NONE,1.1 AcceptItemCopy.tmpl,NONE,1.1 AcceptMarcUpload.tmpl,NONE,1.1 ListFileRecords.tmpl,NONE,1.1 mainmenu.tmpl,NONE,1.1 marcimportdetail.tmpl,NONE,1.1 uploadmarc.tmpl,NONE,1.1 Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/marcimport In directory sc8-pr-cvs1:/tmp/cvs-serv12838/marcimport Added Files: AcceptBiblioitem.tmpl AcceptItemCopy.tmpl AcceptMarcUpload.tmpl ListFileRecords.tmpl mainmenu.tmpl marcimportdetail.tmpl uploadmarc.tmpl Log Message: Translating to Spanish. First round. --- NEW FILE ---
      Nuevo Registro | Nuevo Archivo
      El registro ya existe en la base de datos
      ya está en la base de datos con el biblionumber y el biblioitemnumber

      Registro introducido en la Base de Datos
      ha sido introducido en la base de datos con el biblionumber y el biblioitemnumber
      Añadir un Nuevo Artículo para
      "> "> ">
      CÓDIGO DE BARRAS"> Inicio Branch:
      Replacement Price:
      Notas

      --- NEW FILE ---

      El código de barras '' ya ha sido asignado.

      Error :

      Artículo añadido con el código de barras

      Menú Principal

      --- NEW FILE ---

      >Main Menu

      Select a set of MARC records

      \n

    Subir un conjunto de registros MARC
    Subir un conjunto de registros MARC:
    ?menu=" enctype="multipart/form-data">
    Nombre para este conjunto de registros MARC:
    --- NEW FILE ---

    Main Menu

    Seleccionar un Nuevo Archivo

    --- 79,83 ---- "> ! *************** *** 99,118 **** New category... - ! ">
    !
    Seleccionar un registro MARC
    > " [Mostrados desde el hasta el de un total de registros] |
    Búsqueda pendiente... procesando... La búsqueda no produjo resultados ?file=&numrecord=>
    --- NEW FILE ---

    Menú Principal

    --- NEW FILE --- > ()

    New Record

    Full MARC Record available at bottom
    Título" size=40 maxlenght=255>
    Subtítulo" size=40 maxlenght=255>
    Autor" size=40 maxlenght=255>
    Autores Adicionales
    Ilustrador" size=40 maxlenght=255>
    Copyright" size=20 maxlenght=80>
    Series Title" size=40 maxlenght=255>
    Volumen" size=40 maxlenght=255>
    Número" size=40 maxlenght=255>
    Fecha del Volumen" size=40 maxlenght=255>
    Descripción del Volumen" size=40 maxlenght=255>
    Tema" size=40 maxlenght=255>
    Notas" size=40 maxlenght=255>
    Tipo de Artículo
    ISBN" size=40 maxlenght=40>
    ISSN" size=40 maxlenght=40>
    LCCN" size=40 maxlenght=40>
    Dewey" size=8 maxlenght=10>
    Subclase" size=40 maxlenght=40>
    Año de Publicación" size=5 maxlenght=10>
    Editor" size=40 maxlenght=255>
    Lugar" size=40 maxlenght=255>
    Páginas" size=5 maxlenght=10>
    Tamaño" size=40 maxlenght=40>
    "> "> ">
    MARC RECORD
          "> 
    --- NEW FILE ---

    >Main Menu

    Select a set of MARC records

    Subir un conjunto de registros MARC
    Subir un conjunto de registros MARC:
    ?menu=" enctype="multipart/form-data">
    > Nombre para este conjunto de registros MARC:
    From fmmarzoa at users.sourceforge.net Mon Dec 2 09:51:43 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:51:43 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/catalogue MARCdetail.tmpl,NONE,1.1 catalogue-home.tmpl,NONE,1.1 cmsdsearchresults.tmpl,NONE,1.1 detail-opac.tmpl,NONE,1.1 detail.tmpl,NONE,1.1 moredetail.tmpl,NONE,1.1 searchresults.tmpl,NONE,1.1 subject.tmpl,NONE,1.1 Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/catalogue In directory sc8-pr-cvs1:/tmp/cvs-serv12838/catalogue Added Files: MARCdetail.tmpl catalogue-home.tmpl cmsdsearchresults.tmpl detail-opac.tmpl detail.tmpl moredetail.tmpl searchresults.tmpl subject.tmpl Log Message: Translating to Spanish. First round. --- NEW FILE ---
    Biblio MARC:
    0xx
    1xx
    2xx
    3xx
    4xx
    5xx
    6xx
    7xx
    8xx
    9xx
    Artículo

     
    --- NEW FILE ---

    Registrado en el sistema como: [Salir]

    Entrar a Koha

    Búsqueda en el Catálogo
    Número de Artículo     O
     
    AYUDA
    Búsqueda:Si utiliza muchos campos durante la búsqueda (por ejemplo: Palabras clave + autor + clase) el proceso se verá ralentizado.

    Catalogue Mantenimiento: Para añadir un nuevo biblio o artículo vaya a adquisiciones.

    Para solicitar, modificar o eliminar un biblio o artículo primero búsquelo aquí.

    Palabras Clave
    Título NormalExacta
    Autor
    Illustrator
    Dewey
    Clase
    O
    Asunto

    Virtual Bookshelves

    --- NEW FILE --- Resultados de la Búsqueda
    TítuloAutorDewey
    &startfrom=>Previous Records &startfrom=>Next Records

    Resultados desde el hasta el de un total registros.
    --- NEW FILE ---

    Registrado en el Sistema como: [Salir]

    Entrar a Koha

    ()

    REGISTRO BIBLIO

    Subtítulo:
    Autor:
    Autor Adicional:
    Series Título:
    Tema:
    Copyright:
    Notas:
    Unititle:
    Número de Serie:
    Cantidad Total de Artículos:

    Tipo de Objeto Clase Localización Fecha de Devolución Last Seen
    Sito Web Online Disponible &bib=&bi=">http://


    --- NEW FILE --- > ()

    REGISTRO BIBLIO
    ">

    Subtítulo:
    Autor: >
    Autor Adicional:
    Series Título:
    Tema:
    Copyright:
    Notas:
    Unititle:
    Número de Serie:
    Cantidad Total de Artículos:

    Tipo de Artículo Clase Localización Fecha de Devolución Last Seen Código de Barras Volumen
    > &item=&bi="> &item=>Fix Itemtype
    Sitio Web Online Disponible &bib=&bi=">http://

    AYUDA
    Actualizar Biblio para todos los Artículos: Pulsar el botón Modificar [izquierda] para enmendar la biblio. Cualquier cambio que hagas actualizará los registros de todos los artículos mostrados arriba.

    Actualizar la Biblio sólo para UNO o ALGUNOS registros: Si alguno de los artículos mostrados arriba necesita una biblio distinta, estás en la biblio equivocada, debes utilizar el proceso de adquisiciones para arreglarlo. Necesitarás "reordenar" los artículos, y eliminarlos de esta biblio.


    --- NEW FILE ---

    Registrado en el Sistema como: [Salir]

    Entrar a Koha


    &type=intra> ()

    > >
    GROUP -

    Biblionumber:
    Tipo de Artículo:
    URL:
    Préstamo Length:
    Rental Charge:
    Clasificación:
    ISBN:
    Editor:
    Lugar:
    Fecha:
    Volumen:
    Páginas:
    Illus:
    Tamaño:
    Notas:
    No. de Artículos:
    CÓDIGO DE BARRAS
    > > >
    Home Branch:
    Last seen:
    Último Préstamo:
    Último Prestatario 1:
    Último Prestatario 2:
    Current Branch:
    Replacement Price:
    Artículo perdido:
    Paid for:
    Notas:
    Renovaciones:
    &biblio=&invoice=&catview=yes"> Accession Fecha:
    Cancelado:
    &bi=&itm=>Entregas Totales:
    Número de Grupo:
    Número de Biblio:

    --- NEW FILE ---

    Registrado en el Sistema como: [Salir]

    Log In to Koha

    Buscó en No especificó un criterio de búsqueda
    resultados encontrados

    &&type=opacintra> -highlight.gif> &&type=opacintra>.gif border=0> &&type=opacintra>

    bgcolor=#99cccc background=/images/background-opac.gif background="/images/background-mem.gif"> bgcolor=#99cccc background=/images/background-opac.gifbgcolor=#ccccff background="/images/background-mem.gif">
    TítuloAutor©No. de ArtículosLocalización  
    ?type=opacintra&bib=> &type=opacintra> >Petición
    bgcolor=#99cccc background=/images/background-opac.gifbgcolor=#ccccff background="/images/background-mem.gif">
    &&type=opacintra>Registros Anteriores   &&type=opacintra>Registros Siguientes  

    Resultados desde el hasta el de un total de registros.


    Intentar otra búsqueda Intentar otra búsqueda --- NEW FILE ---

    Registrado en el Sistema como: [Salir]

    Entrar a Koha

    bgcolor=#99cccc background=/images/background-opac.gif background="/images/background-mem.gif"> bgcolor=#99cccc background=/images/background-opac.gif background="/images/background-mem.gif">
    Tema
    opacintra&subjectitems=>
    &startfrom=>Registros Anteriores &startfrom=>Registros Siguientes

    Resultados desde el hasta el de un total de registros.
    From fmmarzoa at users.sourceforge.net Mon Dec 2 09:51:43 2002 From: fmmarzoa at users.sourceforge.net (Francisco M. Marzoa Alonso) Date: Mon, 02 Dec 2002 00:51:43 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/es/includes acquisitions-bottom.inc,NONE,1.1 acquisitions-top.inc,NONE,1.1 aquisitions-bottom.inc,NONE,1.1 aquisitions-top.inc,NONE,1.1 cat-bottom.inc,NONE,1.1 cat-class-list.inc,NONE,1.1 cat-top.inc,NONE,1.1 circulation-bottom.inc,NONE,1.1 circulation-top.inc,NONE,1.1 issues-bottom.inc,NONE,1.1 issues-top.inc,NONE,1.1 members-bottom.inc,NONE,1.1 members-top.inc,NONE,1.1 opac-bottom.inc,NONE,1.1 opac-top.inc,NONE,1.1 reports-bottom.inc,NONE,1.1 reports-top.inc,NONE,1.1 Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/es/includes In directory sc8-pr-cvs1:/tmp/cvs-serv12838/includes Added Files: acquisitions-bottom.inc acquisitions-top.inc aquisitions-bottom.inc aquisitions-top.inc cat-bottom.inc cat-class-list.inc cat-top.inc circulation-bottom.inc circulation-top.inc issues-bottom.inc issues-top.inc members-bottom.inc members-top.inc opac-bottom.inc opac-top.inc reports-bottom.inc reports-top.inc Log Message: Translating to Spanish. First round. --- NEW FILE ---

     

    Inicio || Circulación || Catalogo || Socios || Adquisiciones || Informes || Parámetros del Sistema || Ayuda
    --- NEW FILE --- KOHA: INTRANET: Adquisiciones

     KOHA: Menú Principal
    Catalogo Socios Adquisiciones Informes Circulation Inicio
    --- NEW FILE ---

     

    Inicio || Circulación || Catalogo || Socios || Adquisiciones || Informes || Parámetros del Sistema || Ayuda
    --- NEW FILE --- KOHA: INTRANET: Adquisiciones

     KOHA: HLT INTRANET
    Catalogue Members Acquisitions Reports Circulation Home
    --- NEW FILE ---

     

    Inicio || Circulación || Catalogo || Socios || Adquisiciones || Informes || Parámetros del Sistema || Ayuda
    --- NEW FILE ---
    CONFIRM DELETION
    CONFIRM DELETION of this entry and all entries depending from this one
    ! ! ! ! ! ! ! --- 99,119 ---- New category... ! &search_category=">
    !
     AuthorityDigRelated  
      Dig Related
    ! ! ! ! ! ! ! ! ! From tipaul at users.sourceforge.net Mon Dec 2 17:14:31 2002 From: tipaul at users.sourceforge.net (Paul POULAIN) Date: Mon, 02 Dec 2002 08:14:31 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/en/includes aquisitions-bottom.inc,1.2,NONE aquisitions-top.inc,1.1,NONE Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/en/includes In directory sc8-pr-cvs1:/tmp/cvs-serv4135/koha-tmpl/intranet-tmpl/default/en/includes Removed Files: aquisitions-bottom.inc aquisitions-top.inc Log Message: vacuum cleaner --- aquisitions-bottom.inc DELETED --- --- aquisitions-top.inc DELETED --- From tipaul at users.sourceforge.net Mon Dec 2 16:13:07 2002 From: tipaul at users.sourceforge.net (Paul POULAIN) Date: Mon, 02 Dec 2002 07:13:07 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/en/acqui.simple addbooks.tmpl,1.1,1.2 Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/en/acqui.simple In directory sc8-pr-cvs1:/tmp/cvs-serv18609/koha-tmpl/intranet-tmpl/default/en/acqui.simple Modified Files: addbooks.tmpl Log Message: bugfixes : enable entering a biblio without isbn Note that parameter must be modified and changed to "isbn not mandatory" (mandatory on default 1.3.2 install) Index: addbooks.tmpl =================================================================== RCS file: /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/en/acqui.simple/addbooks.tmpl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** addbooks.tmpl 15 Oct 2002 10:14:43 -0000 1.1 --- addbooks.tmpl 2 Dec 2002 15:13:04 -0000 1.2 *************** *** 14,18 ****
     free formAuthorityDigRelated  
      Dig Related
    !
    To add a new biblio/item, scan or type the ISBN number:
    --- 14,18 ---- !
    To add a new biblio/item, scan or type the ISBN/ISSN number:
    *************** *** 28,31 **** --- 28,33 ---- +   + Add biblio without ISBN/ISSN From tipaul at users.sourceforge.net Mon Dec 2 16:13:08 2002 From: tipaul at users.sourceforge.net (Paul POULAIN) Date: Mon, 02 Dec 2002 07:13:08 -0800 Subject: [Koha-cvs] CVS: koha/acqui.simple addbiblio.pl,1.8,1.9 Message-ID: Update of /cvsroot/koha/koha/acqui.simple In directory sc8-pr-cvs1:/tmp/cvs-serv18609/acqui.simple Modified Files: addbiblio.pl Log Message: bugfixes : enable entering a biblio without isbn Note that parameter must be modified and changed to "isbn not mandatory" (mandatory on default 1.3.2 install) Index: addbiblio.pl =================================================================== RCS file: /cvsroot/koha/koha/acqui.simple/addbiblio.pl,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** addbiblio.pl 22 Nov 2002 10:13:20 -0000 1.8 --- addbiblio.pl 2 Dec 2002 15:13:05 -0000 1.9 *************** *** 53,57 **** my $record = MARC::File::USMARC::decode($marc); if (ref($record) eq undef) { - warn "not a MARC record : $marc"; return -1; } else { --- 53,56 ---- *************** *** 77,81 **** my $tagslib = &MARCgettagslib($dbh,1); ! my $record; $record = MARCgetbiblio($dbh,$bibid) if ($bibid); $record = MARCfindbreeding($dbh,$isbn) if ($isbn); --- 76,80 ---- my $tagslib = &MARCgettagslib($dbh,1); ! my $record=-1; $record = MARCgetbiblio($dbh,$bibid) if ($bibid); $record = MARCfindbreeding($dbh,$isbn) if ($isbn); *************** *** 146,150 **** # builds list, depending on authorised value... #---- branch - warn "==> $tagslib->{$tag}->{$subfield}->{mandatory} / ".$tagslib->{$tag}->{$subfield}->{'authorised_value'}; if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) { my $sth=$dbh->prepare("select branchcode,branchname from branches"); --- 145,148 ---- *************** *** 194,198 **** # builds list, depending on authorised value... #---- branch - warn "==> $tagslib->{$tag}->{$subfield}->{mandatory} / ".$tagslib->{$tag}->{$subfield}->{'authorised_value'}; if ($tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) { my $sth=$dbh->prepare("select branchcode,branchname from branches"); --- 192,195 ---- From tipaul at users.sourceforge.net Mon Dec 2 16:37:07 2002 From: tipaul at users.sourceforge.net (Paul POULAIN) Date: Mon, 02 Dec 2002 07:37:07 -0800 Subject: [Koha-cvs] CVS: koha/koha-tmpl/intranet-tmpl/default/en/parameters marc_subfields_structure.tmpl,1.5,1.6 Message-ID: Update of /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/en/parameters In directory sc8-pr-cvs1:/tmp/cvs-serv2506/koha-tmpl/intranet-tmpl/default/en/parameters Modified Files: marc_subfields_structure.tmpl Log Message: quickfix for bug N°132 : the "More" link is disabled. You can add subfields one by one by using the empty line in the subfield list. Index: marc_subfields_structure.tmpl =================================================================== RCS file: /cvsroot/koha/koha/koha-tmpl/intranet-tmpl/default/en/parameters/marc_subfields_structure.tmpl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** marc_subfields_structure.tmpl 27 Nov 2002 10:29:57 -0000 1.5 --- marc_subfields_structure.tmpl 2 Dec 2002 15:37:03 -0000 1.6 *************** *** 30,34 **** - &more_subfields=">More

    Note : in the last column, you can choose : --- 30,33 ---- From tipaul at users.sourceforge.net Mon Dec 2 16:55:21 2002 From: tipaul at users.sourceforge.net (Paul POULAIN) Date: Mon, 02 Dec 2002 07:55:21 -0800 Subject: [Koha-cvs] CVS: koha/admin itemtypes.pl,1.5,1.6 Message-ID: Update of /cvsroot/koha/koha/admin In directory sc8-pr-cvs1:/tmp/cvs-serv15938/admin Modified Files: itemtypes.pl Log Message: bugfix for bug N°135. Note : yes, checks are performed only on client side. I agree this is not very secure, but it's a rarely modified value and koha 2.0 will need : * IE5+ or Mozilla/Netscape 6+ * javascript enabled. Maybe the best solution would be to include in *.inc files a test for javascript activated and refuse acces if it's not. Index: itemtypes.pl =================================================================== RCS file: /cvsroot/koha/koha/admin/itemtypes.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** itemtypes.pl 5 Oct 2002 10:02:49 -0000 1.5 --- itemtypes.pl 2 Dec 2002 15:55:19 -0000 1.6 *************** *** 74,84 **** print $input->header; - #start the page and read in includes - print startpage(); - print startmenu('admin'); ################## ADD_FORM ################################## # called by default. Used to create form to add or modify a record if ($op eq 'add_form') { #---- if primkey exists, it's a modify action, so read values to modify... my $data; --- 74,84 ---- print $input->header; ################## ADD_FORM ################################## # called by default. Used to create form to add or modify a record if ($op eq 'add_form') { + #start the page and read in includes + print startpage(); + print startmenu('admin'); #---- if primkey exists, it's a modify action, so read values to modify... my $data; *************** *** 134,142 **** _alertString += "- description missing\\n"; } ! if (!isNum(f.loanlength,0)) { _alertString += "- loan length is not a number\\n"; } ! if (!isNum(f.rentalcharge,0)) { ! _alertString += "- loan length is not a number\\n"; } if (_alertString.length==0) { --- 134,142 ---- _alertString += "- description missing\\n"; } ! if ((!isNum(f.loanlength,0)) && f.loanlength.value.length > 0) { _alertString += "- loan length is not a number\\n"; } ! if ((!isNum(f.rentalcharge,0)) && f.rentalcharge.value.length > 0) { ! _alertString += "- rental charge is not a number\\n"; } if (_alertString.length==0) { *************** *** 197,208 **** $sth->execute; $sth->finish; ! print "data recorded"; ! print "

    "; ! print ""; ! print "
    "; # END $OP eq ADD_VALIDATE ################## DELETE_CONFIRM ################################## # called by default form, used to confirm deletion of data in DB } elsif ($op eq 'delete_confirm') { my $dbh = C4::Context->dbh; my $sth=$dbh->prepare("select count(*) as total from categoryitem where itemtype='$itemtype'"); --- 197,209 ---- $sth->execute; $sth->finish; ! print "Content-Type: text/html\n\n"; ! exit; # END $OP eq ADD_VALIDATE ################## DELETE_CONFIRM ################################## # called by default form, used to confirm deletion of data in DB } elsif ($op eq 'delete_confirm') { + #start the page and read in includes + print startpage(); + print startmenu('admin'); my $dbh = C4::Context->dbh; my $sth=$dbh->prepare("select count(*) as total from categoryitem where itemtype='$itemtype'"); *************** *** 233,236 **** --- 234,240 ---- # called by delete_confirm, used to effectively confirm deletion of data in DB } elsif ($op eq 'delete_confirmed') { + #start the page and read in includes + print startpage(); + print startmenu('admin'); my $dbh = C4::Context->dbh; my $itemtype=uc($input->param('itemtype')); *************** *** 246,257 **** ################## DEFAULT ################################## } else { # DEFAULT my @inputs=(["text","description",$searchfield], ["reset","reset","clr"]); print mkheadr(2,'Item types admin'); print mkformnotable("$script_name", at inputs); - print <$searchfield

    "; --- 250,260 ---- ################## DEFAULT ################################## } else { # DEFAULT + #start the page and read in includes + print startpage(); + print startmenu('admin'); my @inputs=(["text","description",$searchfield], ["reset","reset","clr"]); print mkheadr(2,'Item types admin'); print mkformnotable("$script_name", at inputs); if ($searchfield ne '') { print "You Searched for $searchfield

    "; From tonnesen at users.sourceforge.net Mon Dec 2 22:19:35 2002 From: tonnesen at users.sourceforge.net (Steve Tonnesen) Date: Mon, 02 Dec 2002 13:19:35 -0800 Subject: [Koha-cvs] CVS: koha-doc/de new.gif,NONE,1.1.2.1 next.gif,NONE,1.1.2.1 tkcirc.gif,NONE,1.1.2.1 Message-ID: Update of /cvsroot/koha/koha-doc/de In directory sc8-pr-cvs1:/tmp/cvs-serv22136 Added Files: Tag: pending new.gif next.gif tkcirc.gif Log Message: Documentation (de) submitted by tonnesen --- NEW FILE --- --- NEW FILE --- GIF89a --- NEW FILE --- GIF89a"ÊÆ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜÈ‘¢¿ CŠI²¤É“(Sª\ɲåÈŽûÍ4 Z Cƒ BHì`ì‹Á¾H$!4$<ª± 7ìðÃG,ñÄþWlñÅgœ*´¬*†Ï&Kª!¤z rµ"ã@2&'Áƒ¬ 2Ïü´E$Éà +ìõ×`‡-öØd—möÙh§­öÚl·íöÛpÇ-÷Üt×m÷Ýxç­÷Þ|÷M·^x@¶É .8 †$L8 †'œ8 &ï ƒ1[`AÍXn!š7 š[îæ£.:騋nzé©‡îºæ7VàÀbl`û-TÐÀ{*Áà D/üðÄoüñÈ'¯üòÌ7ïüóÐG/ýôÔWoýõØg¯ýöÜwïý÷þà‡/¾õGž¼ÇT_~†ã<úê›<ú’SQ9 .´€ WȺÐxë› gHC%Œ!}DˆáLh Zð(D¡Cøß 8 …)PÁUˆå©5#È@<ˆæ3§ùÌhZóšØÌ¦6·ÉÍnzó›à §8ÇIÎršóœèL§:×ÉÎvºóðŒ§<çIÏzÚÓ›6Pd4 MN!šùôÀ> ÑÏ1ü“í¦?‹0JA¬Àöá€:€J^ >®„e}(ŠKP4—°P}nY!Žªò£$Å%JOúQŠºT˜Ä4¦40ÒaFÁ LH‚ ‚p„žÁ@*OàLjõ¨HMªR—ÊÔ¦:õ©PªT§JþÕªZõªXͪV·ÊÕ®zõ«` «XÇJÖ¦î  XªÌÐ…gž5­J]k[eðVµ²•¡Gt¨ðÃtீ l^à€Àö°ˆM¬b›ØŒ w¨€QÓ x÷»à%ì}ÆKÞòš÷¼èM¯zɯRr€#à K( æ[ßûa: ª€LàøÀN°‚Ìàþ;øÁް„'Lá [øÂΰ†7Ìá{øÃ ñ‹p"(áÄ(N± £ ’ËîvU °Þ"ùÈE®l´°„`¼ hÁ¬€„<ù>Qžr®°ƒ.{ùË`³˜ÇLæ2›ùÌhN³š×Ìæ6»ùÍp޳œçLç:ÛùÎxγž÷Ìç>ûYÌK8Â`†4úІ6C¦Ðå@ºÐˆ>´¢½G:Ò’^ôul¨`(` xÁ{Y$›úÔGvÀ´ð)´@ãu ¸€ Ø€ø€è~Xx˜Ì'Ðø ‚"8‚$Hy¸] X‚*¸‚,Ø‚.˜~'}/þ8ƒ4Xƒ6xƒÀƒˆƒ<؃>øƒ@h‚Ø)„Fx„H˜„¨ƒE¨„Nø„P…ñÇ„RX…Vx…Xx}T˜…\Ø…^ø…²·…`8†dX†fˆybx†j¸†lh…i؆p‡rȃo8‡vx‡x‚u˜‡|؇~X€{ø‡‚8ˆ„È~È|%’ˆŠ¸ˆŒØˆŽøˆ‰’8‰”X‰–x‰˜˜‰š¸‰œØ‰žø‰ Š¢8ФXŠ’¸}‡¸|¦¸Š¬ØŠ®øŠ°‹²8‹´X‹¶x‹¸èT€ŠCˆ‚ÚW!TŒÂ8ŒÄXŒÆxŒÈ˜ŒÊ¸ŒÌØŒÎøŒÐÒ8ÔXÖxؘڸþÜØÞøàŽâؼø|¾˜}À8Žê¸ŽìØŽîøŽðò8ôXöxʨ‹»h€æ(ƒè¨…9‚éXŽ@ׄˆ¹ YÉù‹ ÙY‘øÙƒ*€ª8‘ù‘ i‰}É‘Ê7’!™’*‰~(i}%)‘ÁØy‚ y3iy5¹’ W4i’¥w““g1à“­'”=É“8” H”‘§”•'”L©z-Y}/ù1Éy5ù”Oy”6)~Wi”£§”Né•_)–›—•Z‰”&H–[™–²•Ô7•Øç–M y>IKI—\9gù“y‰”]Ù•w˜~)}3 þ”lÉ—wy•~¹˜‰I˜xÙ˜‰–v)˜ˆY˜jÙz™˜‘i™h9—y阀 ˜¹yr¹½Øi—)|¥É—u阋ə£¹—™¹“‚ ›¡éš: –Iù˜’éš½˜z)š·©“”I›Á™š9›Ç œxÉ›¬¹“¼i™)š¤é‘Zxš “ûX–³Ù™¶¹›{™–}é¸éœÆy“ºi—ßIžÌÙžìÉ–ÊižçYœZ©žÝù›Ô ÍüùžÕY•‰È |«9ŸµÙŸƒ9  ™™É Óù™°IŸô)ËÉž@)œjžßÉ™ùYŸt”乜*™ J¡ë9¢—W É—×§¢ïþy›îi– ‰ž¾I”Z£Z„a›/*Ÿz Ò"5(>¤bk,Zøc’;¤’N&Ö¤4C2T¤|G.øK–ZnÉe—^~ f˜bŽIf—‚DY ’O®©š=hT•bþMi–eÞ‰gžzî©¥An2Èf Þýé ÉÉ•¡ÕÊÕ/‚ЙjRÃ裖.Ti1Š"„¨Q›N“©NŽZé’^Š*i¡ó)AþÔ*n“î6꣥®š®©îJé¬ÅÚÏ«:ûŒ›/slf ç“·ú*+¯Ò"¦+sÍê$lNÄ6ÄMS£Ôõݲ…Ô*è³N‹niÐv-dA±ßœížëÌ8ΜG¢õ4X¿ú2Cy¸zšÏÝyë ž>MéÑŒ1ãv6-)½®ïNµ¶©š¸vòFœ æÎ:­;ïÊ“ò9$²s<Üžþ¾(ì‚ïäê„[¿|çÍkD=§Ñ? Sø¯Ûéaúê¯ÏaîwšU F{ùÄ«g ûúïÏ?~î¿ ƒì› e>WQÐJ ìàOøANë‚ ¡?êç û©°„7›¡ s˜ÄŸ½á0s™Ì& ‰áG…<³™Ô¬&¯¦)Œhž&•Öì¦7¯ÉÍÙsmß,§9á‡MRhóWá<§;ß¹ t~kœ@ƒ§=ï2y‚bÑ'>ÿ Ðþ™o#_ ŠÐ„f¯$¨âH¨ÐˆJ4Aþô?Ù5ÑŒjT:=³fµÈ M_-©IÑщ|”tA—Ͳ´“Êt¢)…ÄE»Â±“0…/öHÚ½DŠ/{ÉŒ§s1èLjš>⦠›ˆKŠ&#¦ü¦S¥˜T(‡Ô¬²Q©+Yií–úT—UÎnz£j^ì2¬M«lm"W3ãUûŒK#9šJD£¼þÕ /O)+_„:®R v°„-¬a‹ØÄ*v±Œ-¬)”‡ö0ú©+Y3¿’´¯h•ŠãªÈËЊv´¤-­iO‹ÚÔªV–- SÛãšÆøå¬–³ª_ÃjÛÞm§bk«oãw·&âµâÐÆeúÕS̵.ü˜mQÁFÔèþvºÀuˆpó׃&’ºÜýfpºC‡ o‰¦ê®yÏËIë‚÷ŠÙÍblO‰ÞøÚó»…—QÍø?ùê÷¼ôum{ñ[Þý ¸­ýhdÇ;Ç —Í©µŠ×{^õì*lPéúºßó6Ÿ¬ç‰e¬Ùûò©s7fmË!Wþ§ï7¶/m6¹›rÔ~¬ß£ ²²C¨^£O¼÷‰Ûèî%ÔÅ@s’ý`o³Üžno›ëp½ŠÖî–*»…½·ºÜ›Õå~x¶G´q"õ{ÜÉí©´/mí—ZìªU…†ÁM‡p +¼Ÿewıšlv`éþt×ÌšÖªjüßOR÷È?Ž>9_íèaSk½sòzüçhÕvÔ¬–™cô+J¯¸É¥mtŸ–Z/÷n÷Šq±ú+ä¨2ºÅŸž$¶/$¯CeyouFôcO{à“Cz®¶½^ed¸–Tá{W´ãÜÙeGü½6›vÞ6ê©r{ÉÑ%÷„ô]³v‡ûæò> Ü‚ëqþž—ôÕëœp&û}ë¿n:UZtןuâžùã7»î×WŒçJçxÚaŸªÌG[r³ß[ÉïoÊ_ñÝGöÖ (c (bö€é—iª€ÀeŠò“ˆ¶iè€'t‚‹ƒ&‚y4ƒ×}úwg.hc.Fe-–f>(„C8„AH„GH&Fˆ„”tz1·ûg°nB˜eþ.V…Kˆ…Y˜XW¨…]h^È'M¸‚©… hcGe7–†^ƆmhKkè†Z‡q ø·k:˜h“å'`ȇ}臈(ˆbb‡Üf Z‡S ‡†‹H‡èˆý3‡d‘(‰•…'—£bÆŠ†<’egö‰#˜&Û5E¡¨ Ép'3uØ‚ˆME}êBŠR&Š£hiN"‹Xr ¿°»È‹TÀ‹¼(h«è.›¨‡ù%*¦˜·8‹DŠ%‚Œø“‹¾ø‹ð‹»Œ™˜uÄèkØ}PÁoùprË•,²UÝXçè~·vÏØ#@ʘM|G È—lࡘ,æè8ÞÈè¨þŽü¶~ÞÒ ¨(À¨‹Ó¨ŠØÈŠÚ˜`y–[Ç|®&‘« KÙ.÷‰:‘”B§Yyã-/)“ DœzªšGª¼"§×F¢êtö—«¼A‘&•º™¨Ð™ÅUs°Øšð«y«»Ò¬/õ©±­´A–Õˆ­Äx¶v¬–¬žH«ËŠTÕ:8äª*©: `êª «™*)TØI@¯ƒH¯õú…öj…óŠþ¯[‚®8¦­ÑÇÁD}UF‰¦U°•ˆ° {° ›Z [‰<× h֪Š 9}#¶¯«±˱뱎 ±÷¯xØ‚6ê°¤u²¡•² ˲l¸²-«²0 &#{©ÒךzB¡zµŠPæš6 at +Á*&6ûªy«D)´sã³µ´Ró´h™Øš­»­ÐÔ­nʺ©âêaM ¬<¶+ êJ±ªµ„÷­‰Ê¨í¦fª‘e*¨w*]›7v«µE#Uikp9l`Eš{®$3­9÷¶a9H&i}wë¶þȶŽ+›o / ½'Œ81xB’¬Xº êïê£?iœ–þç§䳇©rñÈ“ñ©¤§T¸±¸‹¹9&jq|˹Fꊖº8©¼kµ ¸»©¢Vz¢ˆ›;/ú¾k¶W‹,i«¹[ë§8·«ÔvqÛ¹¼ã lëxº¢+q¥À€j¨~y¡HÚ¡ ®®¹ú«¦²9Ÿ†:»U šÔ;\#¤ »ü@–0 ¿ó ¼fx ?šÁàŽ)jº¡û °Gº š¼fVòø~<*vÙé¾<¨HÓoܵ/$z;L|/,‘¢¸tš¾)ÜÁþ¸ q Á¾É¸âË󹫿k¸K¥ÝÙÄȆ¼‘š™ÎiÅ7°äôŠ8úéÁ½ÆëËÄ»gyf¬·‘’:œÂœ\¼Ruyèˆ|uLb»|ŸÕÇ:ú¹\’‡al½åÈ”ìÁõÂR<ÅËi´ìŠ´îz£” Ê£ñ9Ƀ<Æ®˜|2l¡Gl|&×¹ÅÉbŒ»Þ{ƨÌÊ<ºG<2´Ë¼ŸËĬÀ3SËË9Å1yËšI¿Ùd¿Â»µhªhÚ¸ûèRÛÙ¨þØþ¼¯¼È,ª¥Ä¡vvêÛ¡:*ÃeÕ§õLú¬,6œŽÁL,Îۜđ›¢îl§ŽZÑjüŒ{­Ö˜%géŸaª–íšÅƘŒ¦L0`û¯+(½O¥¶(M5æÌœ2Ë4ºË#-«¥®!£ÒdÒ¢³,Á«3?M­¶¼‹4ÈG[²dêµPDÔÓK—GOºˆDÕCkÔkP™ "gË ë,%û³;½ŒÌØÔVÕD¶uøÑëjÓK´Â*¯r­b\ø±w¯t×[¨¯›‹BÂWŒ³»hŒˆe2‹Ø ›Ø‡½Ø•s "³eMÙó¥ÃX ¼\Ù›]N—›`þ …ÇÙ£ÝMžÍ0›³{­Ú«ÍÚ­íÚ@˜-Ù„ÝØµmÛ·Û¹­ÛýÛ˜ ÚDÚÁ}N^¹ì,ÜÇíMÄýÛãÎÈíÜh£Ü¨-°ÏMÝÄÝ™=}Õ­Ý‚tݳÍÈÛ ÞiÔÝ7íKámÞD4Þp`çÍÞ3”ÞX\Þí-ßôÞƒýÝóßTß‹\OÝ⎱+xBß. û-àÀ]Õ=,Nà ŽRÍ=OÒ}ß§ü\ƒŠÍVIÐ@÷ÎnÏîá½ýÙÞß U—'¥‚¼“·Û•Þà®LR‡À²§ŸÐÑÌåÉ6Îâ,îâ´ft¥\“™{² X—}úf§õÚþI®äKŽ×¤°ã•AûŸ¯¼À(›½Yä9š½Œ°Û]îå_æâä¾OË B*¨ Å äÄK˜o|‘ üÉ9NÚìñäµELËkµÅáwrçÆ§ï–Žr.ÜtNæ iæÍ0$i-è‹>. SçäµAŒ.éR;æ%Ìã4é™N-Ž^èuèÊèg­é£îÔ•.Øü RhNê«^Ò¦®È ~æ€&ê¬Në$ :îQ"žê²^ë½^Ê®®Ôð=ÝwîëžF΃ë*¥ë,¥‚LîìÏíÑnbvÈ3ÉnSŸ~DÍnØ“æÝ~Z/ëíAfeÔn8–å˜î·Ôe>¶îáîîêžfïþïéŽKºVíænçè>©!xƒÔÑïVƒÞóïþ.†¨„ï~ç%˜| Ïï 8Ú_®ö^î§ëˆ.7þ÷o /_/8 O_àÖ¾TØþïÄ+œÊ¼W*ð p¸fj"ï¬%NÊ–bóûÿ|vÿãFšóÉä@!"’ ['xÚ•Íöá—`†)æ˜d–iæ™hšI¥€*ž–%_[¶vR2eEÞ‰çž|öéçŸHê è „ú(h¡8ú²ž‚l²ö&n‡qé o…T)XÈeªéNþ–nªi§—*zž>#’"éY¦Ø\——–ú¦žÆ*ë9 ÎÊZ­‰™ÂȼöJE¯½öæêsr:–*‚Å8i«Uš…«­ÐFû¬Òžöìaºþ ¬#Àò*l³†œjÖ±q®ºlj˜V´‘Jì*•’º#i4͵ÑZ„[FªÀ«¾ÕÒ3ÐHÅop°êkÓÀð,Ï»*eÛmv“ n!â–E®i’rÅ,GùãñJÈtl4þÚ:ð¾Bs2´%£0¤­ìlÁ=ýƒpÍÊôƒRÇËî,ÄÛJܨ‰TM'ÆÉŠH)ºOýòÓHq ÔÔ“;«½'•µÎR5Ó×6“Tm—V{ó²þIþt„öÓŠðóñÚ/YšÀwóÛ<“ ‰ÏÞî­mߌÞR±X;–ñÒ¹R»õÇQÓ½õÙUOœ)Ö?ɲØ!7þOÚjM¶ä¬ ‡îªàé 9ý!ðžûLÚȵ‘½ñ‰bT]ëLaÇ(ÊP|øršÃz’ܵ0+YÔ‹Ñ.Ø–úy±,µ²Øä•<'Æë’‘‹ãņ³³ò`è)3Þvï ã%qHIy­Ím0éT»X K"š•¬Ú! yEDM‘(d$[ :©˜Ò-6Ԥʄ©Luó2Äy&2Å𬡗•Yat´¨%¤u±˜ÆI&iÄÙÌVxþ°œ1‘æa˜9ÎGÎŒšåÁæl´y—ùu†ž…Ðñ6†Np,¥Ÿé$'@Å¢Îpê®[½¦ÐH˜ÈÌl±\s9$¶J0wô¢Ë¡(F9¥Q‚QSG¼ó¥ü¸™Âàá3pJ“v<¤Ò´ô¥0ézX*Óš¶‡¦-õŽcÑA Î+öÌÍIÝG'DíèPFR“ÊÔ¦:õ©¿ªT µT©~´<çO±ÔH ux6 «XÇJÖ²šõ¬1½jk²?7‘”g!æTeTU§Öu®xÍ«^ µ×¾:é®NUë!D±P,þÒ¡ÝTá7ùéÂ:vŸý"8©Sà6¤ÙlèmTQûE¦þ£’¬hÛ9ÙÑb°§^ÉÖ.ÝÇV†v³\ì,jÃ9[ŽÖÖ´¸Åhs‹Ž‚rT°q)¬HÝ Ì‡zS¶¥Í‰ë,·YVò¹”4F o -ȑ✼ìn98ÄÐÁLvù’.\Ó ƒµ /id#κ¦Z˶ְ#-nbMºXÈÎp}¤Z즛\“u/¼×Ëîn¨àUÒnHÔà)Ç«´òŠ—#ûµe+i¨ÊbUž$Òì"9»"Ä}Œw˯ ¬3ßú7Ä¡ Û^'ÁÇšx”)YY|KHA—#¦•ëÈc+8®ÄQ›Ï÷×4]í 1»A7Æ0º’ð_MF»üz ¿þÿÜè‹ÉèI­­Ä‡‰àáÛ´†:p0‘a¬<"Œ—äž ¦È6ÕWÑ’ä»,Ù¾MΣQ' d¼øj E|àrn¹‡ztrÌã¹)‘ué ߃I|^©¹­a^kœA±U½•ÃñðDA¬Æ$Pd<û³óÍÜ[Úí¡QâCB—ÎÇVŸ©}Z£8ZÍú/á¸>"‡ÂÈ™}í†cÛa‰FqP,5–“/U¯ZÂÁFqe½Ý0¯wŒO®ÌÄü8‘õO·||´UY7Ê­±Ø—Õ´p“_Ä–”~sÖgcù·kEK¿¸¥c¶S™cÑÎZ•]4Ûêñãÿ–»ƒØþmNºOín W|vkï…ç=O Ôsrö]"Y3Q67Å–šµ(”YJ–…6t·Ñ[:j[”¿n8'Õöm=š™f&o·Š7yq¡h\Þ˜í¸²?ÎìP‹œ´L°Ô²òq LÇV®±Y»ibyܸŠEnÔŸõ©›]»e§óÕ±>å€n$]÷ËœQõ馇ܳ£nûøf~ö¾O+í~Ï'ß§ïÁ"[éõ†-D›w²ëꃼäå8ùHGÞ …nÒ3¼t°Ó¹1Å)šDÖÒ›Þ>¤?½MS¦L>î‰èôPê ¹ú°IŽ_wÏ{©ê¾÷À¯&ðßÜÙÊ~'´oþd¾½¤úæ;ÿùоô?DüÌîãªûâ>©Ýÿ¾Pß¾øÇ§ð“¯æ'TõÏùÄ/{ûwü=ªîÌËW¾ïô|þë¿~Ø[ û£}ÇÅxòçûÇv÷—€sR€’w€½åzš7d®å~L¤ oöxóg (uhv¨[ýÇqíG\öÆ`bqgeA “rÎ…`’Ta hN`–` sèp3±¶m–&L—Q3˜kèŃ æmY¶G¾†r˜$EVr¨st¯G‚röuó…oõµo÷åoaã‚ jwüé£å¸¥íù¥'ž{wP µþ;0Jo at ZBz¦7rp ˆÊɦšä¦‘%¨!GX9‚ dªŸfÊ jŠnÀ‚¨yrA'˜®6‘÷=7£€ªÖfŸè©Èd›” šPFk±Y7ƒÄ#RJ1TŠ|V:œXŠYÈ“º˜rD¨µ©ò9 ÎùƒÝ`¸Æ’Úæ‹×r“vŠ exÉZ§ˆw§èI£ Ú¨?GjG i‚‰/¸ºNúsŠ(c»D½ C}† ÅH:šéJ7挖7"›i’)S mæf†ÄZËŠ¦ ª¨Ȩ±¸•Õ‘Ï%ƒÒZÇS‰RynZ®æöš2&‡+J‹“ˆßJT²AŸè8ð:”ÈZ¯…¤±×þW¦ùª4ö:Ÿ8¬£¸fV™­Ñ¡g£ŽÙÆmiÇ—vyjûXsôȲõG1kî:¤)6¸Ã±Ú²ªºÐª8‘|ô|!«—³ —ÆJ„kiZ£’Af]ƒŠ°yµ›Ð޳ÓG‹y¤6&‘!¶µ¶ð³añ>cºŠ›§úêü*—B¹´–úXý*mBFµ.fµ‹µ´i9i²^Û 'i;™”ó³Ëжˆª¶øÊ¶ »§PW¸uKa솲iaD°Q±›²©nL{¬4=o¬“A-©‚Fˆ)ƒ¸"Á7ë›kۇѺ¯MÈ…“*º˜ö§n’F\ˈç²z^4Æ´þæ¶”–Ƴ–f½&›•y‘ÿd™×ì³-ÚA§I;¥³ûе»ž|Ê»€:6–ëO§$²à{ºrê-°»m…d¯ªdH ¹É°Tr¾á-ãk6a(¬¡²¾k°¾BëSD{F›×éŸYz¿÷—¿³Ç¹G¿”¾¼ò7íì%è¾ÁéÀqÀß Á§k¿ ¬@}Ú€# ˆu¨–ç¹Wꇡ÷ i‚¡;:ãÃ4 &2,&{ã#‹«½K»Cê}DʤD\Ä@â¤FÜ'H\'k2ÎʰÊx!<ÅT\ÅqÔ±?̽wgÅ\ÜÅ^\X¼Â ¿æòÅf|ÆhýÓ@ÔB=ÔD]ÔF}ÔHÔJ½ÔLÝÔNýÔP%°T]ÕV}ÕXÕZ½Õ\ÝÕ^ýÕ`Öb=Öd]Öf}ÖhÖfm€G€@ÕlíÖp-×mýÖ=à?°×|Ý×~ý׀؂=Ø„]؆}؈؊½ØŒÝØŽýØÙ’=Ù”]Ù–}Ùƒ-_°ÙœÝÙžýÙ Ú¢=Ú¤]Ú¦}Ú¨Úª½Ú¬ÝÚ®ýÚ°íÚ*ÐSÀGÐ AÛ¶Û´ ÛGpDÜÃÂ=ÜÄ]ÜÆ}ÜÈÜʽÜÌÝÜÎýÜÐÝÒ=ÝÔ]ÝÖ}ÝØÝÚ½ÝÜÝÝË´ â=Þä]Þæ}ÞèÞê½ÞìÝÞîýÞðßò=ßô]ßö}ßöeÀQá­ßüíßâ àQ0Jpàžà ¾à Þàþàá>á^á~ážá¾áÞáþá â">âÕ&~â(žâ*¾â,Þâ.þâ0ã2>ã4^ã6~ã8žã:¾ã<Þã>þã@ä3 From tonnesen at users.sourceforge.net Mon Dec 2 22:51:41 2002 From: tonnesen at users.sourceforge.net (Steve Tonnesen) Date: Mon, 02 Dec 2002 13:51:41 -0800 Subject: [Koha-cvs] CVS: koha-doc/de koha.gif,NONE,1.1.2.1 Message-ID: Update of /cvsroot/koha/koha-doc/de In directory sc8-pr-cvs1:/tmp/cvs-serv3066 Added Files: Tag: pending koha.gif Log Message: Documentation (de) submitted by tonnesen --- NEW FILE --- GIF89aÈ pMVAyˆÆðTRYÏä1L'dËeÒÚ@ÿS|"ʲœ§†@¡½$ÑÉ:þYÑcÊÔ… ¯¼“†„ªÕ’_¼f¸ ½I øÍEt¤u‰\@I ML†UÈ)í” “=s½ªËïH ‘ 'î$¦vUDà=åæ%ÖÀ•ÈØv¤Ù› ¾d§¼OËwñ)¸úªšl¿¦DcŠèO…HS`œ '%Ø'=´ø‡HzU˜kF8¦Ïûý´ÿK2ñICk½5ᘉHÜÔÐzˆÀ¦ÅRñ€G#$×Tþ¥"mOœu ¦8„…Ý<_^ª`H³‘Ö…ˆ¨Â5¨2Jô8d‘1ôŒLâbäQ&ÙD‚8iD>ñ%Ò˜'`bùx©i„ü­‰ÉŽL0·Á6,&ÑÌ[“•f›«yᚌÚárg|B“0Ø$l^²©qZÚR“Træ™rãÄh§Î¤ŽPÍjD©‡X™D§‘pÖ"q¶ᘢGàšBˆH$—‚®V,™‚8}ðéL†!¼ÞÉDªæ01²G0§§NØ……¬UDÿlÎRE¶–61Ú¸·ÓD»àQîk]Ј+ùLšEµŸ¸©„³ï—L¬hÙd.1±ïºTH¸¬ ÑȪE»€Þû d"B±÷¹„ÅîŽAÀ­ÁT$Çl!§ÀD”-5r°F0÷å^›Å\'ø5rŸ žj©23Ü~¤ß'êI«S<7ÌQhˆõÉß½§½\à¼rZG2-§ŸÐKÄNà\õçÅ _ᯨ‡6ûIäK´k¸ ›ÝåÛý} Ç&kañæ«^·K³þ+«ã4m;.áÿÏU8ö@Ù˜;±oíJL^¥8÷^s_ ±ïàC¸&4˜ QóÓKøÍ¼ÆþŒ„ðž'a,ðFàü¼¡&ï›' • äcwÝ>;ÿ¸¡¼•+© !×îÑH.Er£ƒ†¾'ø" 8»^¢„!õGB+T»“\MgÑ«žÐ8ãM!TCY "EüG.O,®^°S™ !…$&fó+‚ßÀ÷;pŠNð™ê¸Ç¿U ¦@VÐ9zA∻* Âf‘­ÿÈYJ‚ÝQ°Þp:ÇCáHI !ß¾FØ ¥!TyÎJ°)‡‘ÐS{I…áp¾Ð¨ÂW7Ñp¦„Î]ŒV¦ ˆ˜0ˆ“ APd«ß\´½ ~.Ìq“!àØYAC'G‡ &!þ9pxúDV‚E¬C|âf OÜ'WSaÓ’FžÝ¤r”—`¡ †xÊÌyb|‹ò„ƒòñ4‹qOU&ù%DO¸Rlû…à¥7gQïHNd£:u¯%¸æ‰ØFS¢¨ Update of /cvsroot/koha/koha-doc/de In directory sc8-pr-cvs1:/tmp/cvs-serv4255 Added Files: Tag: pending test.txt Log Message: Documentation (de) submitted by tonnesen --- NEW FILE --- This is a test file. From tonnesen at users.sourceforge.net Mon Dec 2 22:56:05 2002 From: tonnesen at users.sourceforge.net (Steve Tonnesen) Date: Mon, 02 Dec 2002 13:56:05 -0800 Subject: [Koha-cvs] CVS: koha-doc/de test2.txt,NONE,1.1.2.1 Message-ID: Update of /cvsroot/koha/koha-doc/de In directory sc8-pr-cvs1:/tmp/cvs-serv5514 Added Files: Tag: pending test2.txt Log Message: Documentation (de) submitted by tonnesen --- NEW FILE --- Test file #2 From tonnesen at users.sourceforge.net Mon Dec 2 22:59:35 2002 From: tonnesen at users.sourceforge.net (Steve Tonnesen) Date: Mon, 02 Dec 2002 13:59:35 -0800 Subject: [Koha-cvs] CVS: koha-doc/de koha.gif,1.1.2.1,NONE new.gif,1.1.2.1,NONE next.gif,1.1.2.1,NONE test.txt,1.1.2.1,NONE test2.txt,1.1.2.1,NONE tkcirc.gif,1.1.2.1,NONE Message-ID: Update of /cvsroot/koha/koha-doc/de In directory sc8-pr-cvs1:/tmp/cvs-serv7164 Removed Files: Tag: pending koha.gif new.gif next.gif test.txt test2.txt tkcirc.gif Log Message: Removing test files from de --- koha.gif DELETED --- --- new.gif DELETED --- --- next.gif DELETED --- --- test.txt DELETED --- --- test2.txt DELETED --- --- tkcirc.gif DELETED --- From tonnesen at users.sourceforge.net Mon Dec 2 23:00:07 2002 From: tonnesen at users.sourceforge.net (Steve Tonnesen) Date: Mon, 02 Dec 2002 14:00:07 -0800 Subject: [Koha-cvs] CVS: koha-doc/es - New directory Message-ID: Update of /cvsroot/koha/koha-doc/es In directory sc8-pr-cvs1:/tmp/cvs-serv7504/es Log Message: Directory /cvsroot/koha/koha-doc/es added to the repository --> Using per-directory sticky tag `pending' From finlayt at users.sourceforge.net Wed Dec 4 03:38:35 2002 From: finlayt at users.sourceforge.net (Finlay Thompson) Date: Tue, 03 Dec 2002 18:38:35 -0800 Subject: [Koha-cvs] CVS: koha/C4 Auth.pm,1.9.2.19,1.9.2.20 Message-ID: Update of /cvsroot/koha/koha/C4 In directory sc8-pr-cvs1:/tmp/cvs-serv19811 Modified Files: Tag: rel-1-2 Auth.pm Log Message: Auth now checks the defaulton field on the userflags table as well Index: Auth.pm =================================================================== RCS file: /cvsroot/koha/koha/C4/Auth.pm,v retrieving revision 1.9.2.19 retrieving revision 1.9.2.20 diff -C2 -r1.9.2.19 -r1.9.2.20 *** Auth.pm 2 Dec 2002 01:33:39 -0000 1.9.2.19 --- Auth.pm 4 Dec 2002 02:38:33 -0000 1.9.2.20 *************** *** 71,80 **** $sth->execute($cardnumber); my ($flags) = $sth->fetchrow; ! $sth=$dbh->prepare("SELECT bit, flag FROM userflags"); $sth->execute; ! while (my ($bit, $flag) = $sth->fetchrow) { ! if ($flags & (2**$bit)) { $userflags->{$flag}=1; } } return $userflags; --- 71,83 ---- $sth->execute($cardnumber); my ($flags) = $sth->fetchrow; ! $sth=$dbh->prepare("SELECT bit, flag, defaulton FROM userflags"); $sth->execute; ! while (my ($bit, $flag, $defaulton) = $sth->fetchrow) { ! if (($flags & (2**$bit)) || $defaulton) { $userflags->{$flag}=1; } + } + foreach my $key (keys %$userflags) { + warn "$key \n"; } return $userflags; From finlayt at users.sourceforge.net Wed Dec 4 03:42:20 2002 From: finlayt at users.sourceforge.net (Finlay Thompson) Date: Tue, 03 Dec 2002 18:42:20 -0800 Subject: [Koha-cvs] CVS: koha/C4 Auth.pm,1.9.2.20,1.9.2.21 Message-ID: Update of /cvsroot/koha/koha/C4 In directory sc8-pr-cvs1:/tmp/cvs-serv20903 Modified Files: Tag: rel-1-2 Auth.pm Log Message: warn taken out :-) Index: Auth.pm =================================================================== RCS file: /cvsroot/koha/koha/C4/Auth.pm,v retrieving revision 1.9.2.20 retrieving revision 1.9.2.21 diff -C2 -r1.9.2.20 -r1.9.2.21 *** Auth.pm 4 Dec 2002 02:38:33 -0000 1.9.2.20 --- Auth.pm 4 Dec 2002 02:42:18 -0000 1.9.2.21 *************** *** 78,84 **** } } - foreach my $key (keys %$userflags) { - warn "$key \n"; - } return $userflags; } --- 78,81 ---- From finlayt at users.sourceforge.net Wed Dec 4 05:32:37 2002 From: finlayt at users.sourceforge.net (Finlay Thompson) Date: Tue, 03 Dec 2002 20:32:37 -0800 Subject: [Koha-cvs] CVS: koha/C4 Auth.pm,1.16,1.17 Message-ID: Update of /cvsroot/koha/koha/C4 In directory sc8-pr-cvs1:/tmp/cvs-serv13488 Modified Files: Auth.pm Log Message: This is essentially the Auth.pm coming from the rel-1-2 branch. It is quite different from the old one, but shouldnt break any existing code. Index: Auth.pm =================================================================== RCS file: /cvsroot/koha/koha/C4/Auth.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** Auth.pm 12 Oct 2002 06:12:39 -0000 1.16 --- Auth.pm 4 Dec 2002 04:32:35 -0000 1.17 *************** *** 1,5 **** package C4::Auth; - # Copyright 2000-2002 Katipo Communications # --- 1,4 ---- *************** *** 22,28 **** use Digest::MD5 qw(md5_base64); - require Exporter; use C4::Context; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); --- 21,28 ---- use Digest::MD5 qw(md5_base64); require Exporter; use C4::Context; + use C4::Output; # to get the template + use C4::Circulation::Circ2; # getpatroninformation use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); *************** *** 40,49 **** use C4::Auth; ! $query = new CGI; ! ($userid, $cookie, $sessionID) = &checkauth($query); =head1 DESCRIPTION ! This module provides authentication for Koha users. =head1 FUNCTIONS --- 40,62 ---- use C4::Auth; ! my $query = new CGI; ! ! my ($template, $borrowernumber, $cookie) ! = get_template_and_user({template_name => "opac-main.tmpl", ! query => $query, ! type => "opac", ! authnotrequired => 1, ! flagsrequired => {borrow => 1}, ! }); ! ! print $query->header(-cookie => $cookie), $template->output; ! =head1 DESCRIPTION ! The main function of this module is to provide ! authentification. However the get_template_and_user function has ! been provided so that a users login information is passed along ! automatically. This gets loaded into the template. =head1 FUNCTIONS *************** *** 53,64 **** =cut @ISA = qw(Exporter); @EXPORT = qw( &checkauth ); =item checkauth ! ($userid, $cookie, $sessionID) = &checkauth($query, $noauth); Verifies that the user is authorized to run this script. Note that --- 66,129 ---- =cut + + @ISA = qw(Exporter); @EXPORT = qw( &checkauth + &get_template_and_user ); + =item get_template_and_user + + my ($template, $borrowernumber, $cookie) + = get_template_and_user({template_name => "opac-main.tmpl", + query => $query, + type => "opac", + authnotrequired => 1, + flagsrequired => {borrow => 1}, + }); + + This call passes the C, C and C to + C<&checkauth> (in this module) to perform authentification. See below + for more information on the C<&checkauth> subroutine. + + The C is then used to find the correct template for + the page. The authenticated users details are loaded onto the + template in the HTML::Template LOOP variable C. Also the + C is passed to the template. This can be used in templates + if cookies are disabled. It needs to be put as and input to every + authenticated page. + + more information on the C sub can be found in the + Output.pm module. + + =cut + + + sub get_template_and_user { + my $in = shift; + my $template = gettemplate($in->{'template_name'}, $in->{'type'}); + my ($user, $cookie, $sessionID, $flags) + = checkauth($in->{'query'}, $in->{'authnotrequired'}, $in->{'flagsrequired'}, $in->{'type'}); + + my $borrowernumber; + if ($user) { + $template->param(loggedinuser => $user); + $template->param(sessionID => $sessionID); + + $borrowernumber = getborrowernumber($user); + my ($borr, $flags) = getpatroninformation(undef, $borrowernumber); + my @bordat; + $bordat[0] = $borr; + + $template->param(USER_INFO => \@bordat); + } + return ($template, $borrowernumber, $cookie); + } + + =item checkauth ! ($userid, $cookie, $sessionID) = &checkauth($query, $noauth, $flagsrequired, $type); Verifies that the user is authorized to run this script. Note that *************** *** 76,79 **** --- 141,146 ---- authorization. + XXXX Some more information about the flagsrequired hash should go in here. + If C<$query> does not have a valid session ID associated with it (i.e., the user has not logged in) or if the session has expired, *************** *** 83,86 **** --- 150,158 ---- (this time, C<&checkauth> returns). + The login page is provided using a HTML::Template, which is set in the + systempreferences table or at the top of this file. The variable C<$type> + selects which template to use, either the opac or the intranet + authentification template. + C<&checkauth> returns a user ID, a cookie, and a session ID. The cookie should be sent back to the browser; it verifies that the user *************** *** 88,305 **** =cut ! #' ! # FIXME - (Or rather, proofreadme) ! # As I understand it, the 'sessionqueries' table in the Koha database ! # is supposed to save state while the user authenticates. If ! # (re-)authentication is required, &checkauth saves the browser's ! # original call to a new entry in sessionqueries, then presents a form ! # for the user to authenticate. Once the user has authenticated ! # visself, &checkauth retrieves the stored information from ! # sessionqueries and allows the original request to proceed. ! # ! # One problem, however, is that sessionqueries only stores the URL, ! # not the various values passed along from an HTML form. Thus, if the ! # request came from a form and contains information on stuff to change ! # (e.g., modify the contents of a virtual bookshelf), but the session ! # has timed out, then when &checkauth finally allows the request to ! # proceed, it will not contain the user's modifications. This is bad. ! # ! # Another problem is that entries in sessionqueries are supposed to be ! # temporary, but there's no mechanism for removing them in case of ! # error (e.g., the user can't remember vis password and walks away, or ! # if the user's machine crashes in the middle of authentication). ! # ! # Perhaps a better implementation would be to use $query->param to get ! # the parameter with which the original script was invoked, and pass ! # that along through all of the authentication pages. That way, all of ! # the pertinent information would be preserved, and the sessionqueries ! # table could be removed. sub checkauth { ! my $query=shift; ! # $authnotrequired will be set for scripts which will run without authentication ! my $authnotrequired=shift; ! if (my $userid=$ENV{'REMOTE_USERNAME'}) { ! # Using Basic Authentication, no cookies required ! my $cookie=$query->cookie(-name => 'sessionID', ! -value => '', ! -expires => '+1y'); ! return ($userid, $cookie, ''); } ! # Get session ID from cookie. ! my $sessionID=$query->cookie('sessionID'); ! # FIXME - Error-checking: if the user isn't allowing cookies, ! # $sessionID will be undefined. Don't confuse this with an ! # expired cookie. ! ! my $message=''; ! ! # Make sure the session ID is (still) good. ! my $dbh = C4::Context->dbh; ! my $sth=$dbh->prepare("select userid,ip,lasttime from sessions where sessionid=?"); ! $sth->execute($sessionID); ! if ($sth->rows) { ! my ($userid, $ip, $lasttime) = $sth->fetchrow; ! # FIXME - Back door for tonnensen ! if ($lasttime45 seconds, and ! # doesn't belong to user tonnensen. It has expired. ! $message="You have been logged out due to inactivity."; ! ! # Remove this session ID from the list of active sessions. ! # FIXME - Ought to have a cron job clean this up as well. ! my $sti=$dbh->prepare("delete from sessions where sessionID=?"); ! $sti->execute($sessionID); ! ! # Add an entry to sessionqueries, so that we can restart ! # the script once the user has authenticated. ! my $scriptname=$ENV{'SCRIPT_NAME'}; # FIXME - Unused ! my $selfurl=$query->self_url(); ! $sti=$dbh->prepare("insert into sessionqueries (sessionID, userid, value) values (?, ?, ?)"); ! $sti->execute($sessionID, $userid, $selfurl); ! ! # Log the fact that someone tried to use an expired session ID. ! # FIXME - Ought to have a better logging mechanism, ! # ideally some wrapper that logs either to a ! # user-specified file, or to syslog, as determined by ! # either an entry in /etc/koha.conf, or a system ! # preference. open L, ">>/tmp/sessionlog"; my $time=localtime(time()); printf L "%20s from %16s logged out at %30s (inactivity).\n", $userid, $ip, $time; close L; ! } elsif ($ip ne $ENV{'REMOTE_ADDR'}) { ! # This session is coming from an IP address other than the ! # one where it was set. The user might be doing something ! # naughty. ! my $newip=$ENV{'REMOTE_ADDR'}; ! ! $message="ERROR ERROR ERROR ERROR
    Attempt to re-use a cookie from a different ip address.
    (authenticated from $ip, this request from $newip)"; } else { ! # This appears to be a valid session. Update the time ! # stamp on it and return. ! my $cookie=$query->cookie(-name => 'sessionID', ! -value => $sessionID, ! -expires => '+1y'); ! my $sti=$dbh->prepare("update sessions set lasttime=? where sessionID=?"); ! $sti->execute(time(), $sessionID); ! return ($userid, $cookie, $sessionID); } } ! # If we get this far, it's because we haven't received a cookie ! # with a valid session ID. Need to start a new session and set a ! # new cookie. ! ! my $insecure = C4::Context->preference("insecure"); ! ! if ($authnotrequired || ! (defined($insecure) && $insecure eq "yes")) { ! # This script doesn't require the user to be logged in. Return ! # just the cookie, without user ID or session ID information. ! my $cookie=$query->cookie(-name => 'sessionID', ! -value => '', ! -expires => '+1y'); ! return('', $cookie, ''); } else { ! # This script requires authorization. Assume that we were ! # given user and password information; generate a new session. ! ! # Generate a new session ID. ! ($sessionID) || ($sessionID=int(rand()*100000).'-'.time()); ! my $userid=$query->param('userid'); ! my $password=$query->param('password'); ! if (checkpw($dbh, $userid, $password)) { ! # The given password is valid ! # Delete any old copies of this session. ! my $sti=$dbh->prepare("delete from sessions where sessionID=? and userid=?"); ! $sti->execute($sessionID, $userid); ! ! # Add this new session to the 'sessions' table. ! $sti=$dbh->prepare("insert into sessions (sessionID, userid, ip,lasttime) values (?, ?, ?, ?)"); ! $sti->execute($sessionID, $userid, $ENV{'REMOTE_ADDR'}, time()); ! ! # See if there's an entry for this session ID and user in ! # the 'sessionqueries' table. If so, then use that entry ! # to generate an HTTP redirect that'll take the user to ! # where ve wanted to go in the first place. ! $sti=$dbh->prepare("select value from sessionqueries where sessionID=? and userid=?"); ! # FIXME - There is no sessionqueries.value ! $sti->execute($sessionID, $userid); ! if ($sti->rows) { ! my $stj=$dbh->prepare("delete from sessionqueries where sessionID=?"); ! $stj->execute($sessionID); ! my ($selfurl) = $sti->fetchrow; ! print $query->redirect($selfurl); ! exit; ! } ! open L, ">>/tmp/sessionlog"; ! my $time=localtime(time()); ! printf L "%20s from %16s logged in at %30s.\n", $userid, $ENV{'REMOTE_ADDR'}, $time; ! close L; ! my $cookie=$query->cookie(-name => 'sessionID', ! -value => $sessionID, ! -expires => '+1y'); ! return ($userid, $cookie, $sessionID); ! } else { ! # Either we weren't given a user id and password, or else ! # the password was invalid. ! if ($userid) { ! $message="Invalid userid or password entered."; ! } ! my $parameters; ! foreach (param $query) { ! $parameters->{$_}=$query->{$_}; ! } ! my $cookie=$query->cookie(-name => 'sessionID', ! -value => $sessionID, ! -expires => '+1y'); ! return ("",$cookie,$sessionID); ! } } } ! # checkpw ! # Takes a database handle, user ID, and password, and verifies that ! # the password is good. The user ID may be either a user ID or a card ! # number. ! # Returns 1 if the password is good, or 0 otherwise. sub checkpw { ! # This should be modified to allow a select of authentication schemes (ie LDAP) ! # as well as local authentication through the borrowers tables passwd field ! # ! my ($dbh, $userid, $password) = @_; ! my $sth; ! ! # Try the user ID. ! $sth = $dbh->prepare("select password from borrowers where userid=?"); ! $sth->execute($userid); ! if ($sth->rows) { ! my ($md5password) = $sth->fetchrow; ! if (md5_base64($password) eq $md5password) { ! return 1; # The password matches ! } ! } ! # Try the card number. ! $sth = $dbh->prepare("select password from borrowers where cardnumber=?"); ! $sth->execute($userid); ! if ($sth->rows) { ! my ($md5password) = $sth->fetchrow; ! if (md5_base64($password) eq $md5password) { ! return 1; # The password matches ! } } ! if ($userid eq C4::Context->config('user') && $password eq C4::Context->config('pass')) { ! # Koha superuser account ! return 2; } ! return 0; # Either there's no such user, or the password ! # doesn't match. } - END { } # module clean-up code here (global destructor) 1; __END__ --- 160,405 ---- =cut ! ! sub checkauth { ! my $query=shift; ! # $authnotrequired will be set for scripts which will run without authentication ! my $authnotrequired = shift; ! my $flagsrequired = shift; ! my $type = shift; ! $type = 'opac' unless $type; ! ! my $dbh = C4::Context->dbh; ! my $timeout = C4::Context->preference('timeout'); ! $timeout = 120 unless $timeout; ! ! my $template_name; ! if ($type eq 'opac') { ! $template_name = "opac-auth.tmpl"; ! } else { ! $template_name = "auth.tmpl"; ! } ! ! # state variables ! my $loggedin = 0; ! my %info; ! my ($userid, $cookie, $sessionID, $flags); ! my $logout = $query->param('logout.x'); ! if ($userid = $ENV{'REMOTE_USER'}) { ! # Using Basic Authentication, no cookies required ! $cookie=$query->cookie(-name => 'sessionID', ! -value => '', ! -expires => '+1y'); ! $loggedin = 1; ! } elsif ($sessionID=$query->cookie('sessionID')) { ! my ($ip , $lasttime); ! ($userid, $ip, $lasttime) = $dbh->selectrow_array( ! "SELECT userid,ip,lasttime FROM sessions WHERE sessionid=?", ! undef, $sessionID); ! if ($logout) { ! warn "In logout!\n"; ! # voluntary logout the user ! $dbh->do("DELETE FROM sessions WHERE sessionID=?", undef, $sessionID); ! $sessionID = undef; ! $userid = undef; ! open L, ">>/tmp/sessionlog"; ! my $time=localtime(time()); ! printf L "%20s from %16s logged out at %30s (manually).\n", $userid, $ip, $time; ! close L; } ! if ($userid) { ! if ($lasttimedo("DELETE FROM sessions WHERE sessionID=?", undef, $sessionID); ! $userid = undef; ! $sessionID = undef; open L, ">>/tmp/sessionlog"; my $time=localtime(time()); printf L "%20s from %16s logged out at %30s (inactivity).\n", $userid, $ip, $time; close L; ! } elsif ($ip ne $ENV{'REMOTE_ADDR'}) { ! # Different ip than originally logged in from ! $info{'oldip'} = $ip; ! $info{'newip'} = $ENV{'REMOTE_ADDR'}; ! $info{'different_ip'} = 1; ! $dbh->do("DELETE FROM sessions WHERE sessionID=?", undef, $sessionID); ! $sessionID = undef; ! $userid = undef; ! open L, ">>/tmp/sessionlog"; ! my $time=localtime(time()); ! printf L "%20s from logged out at %30s (ip changed from %16s to %16s).\n", $userid, $time, $ip, $info{'newip'}; ! close L; ! } else { ! $cookie=$query->cookie(-name => 'sessionID', ! -value => $sessionID, ! -expires => '+1y'); ! $dbh->do("UPDATE sessions SET lasttime=? WHERE sessionID=?", ! undef, (time(), $sessionID)); ! $flags = haspermission($dbh, $userid, $flagsrequired); ! if ($flags) { ! $loggedin = 1; } else { ! $info{'nopermission'} = 1; } + } } ! } ! unless ($userid) { ! $sessionID=int(rand()*100000).'-'.time(); ! $userid=$query->param('userid'); ! my $password=$query->param('password'); ! my ($return, $cardnumber) = checkpw($dbh,$userid,$password); ! if ($return) { ! $dbh->do("DELETE FROM sessions WHERE sessionID=? AND userid=?", ! undef, ($sessionID, $userid)); ! $dbh->do("INSERT INTO sessions (sessionID, userid, ip,lasttime) VALUES (?, ?, ?, ?)", ! undef, ($sessionID, $userid, $ENV{'REMOTE_ADDR'}, time())); ! open L, ">>/tmp/sessionlog"; ! my $time=localtime(time()); ! printf L "%20s from %16s logged in at %30s.\n", $userid, $ENV{'REMOTE_ADDR'}, $time; ! close L; ! $cookie=$query->cookie(-name => 'sessionID', ! -value => $sessionID, ! -expires => '+1y'); ! if ($flags = haspermission($dbh, $userid, $flagsrequired)) { ! $loggedin = 1; ! } else { ! $info{'nopermission'} = 1; ! } } else { ! if ($userid) { ! $info{'invalid_username_or_password'} = 1; ! } ! } ! } ! my $insecure = C4::Context->preference("insecure"); ! # finished authentification, now respond ! if ($loggedin || $authnotrequired ||(defined($insecure) && $insecure eq "yes")) { ! # successful login ! unless ($cookie) { ! $cookie=$query->cookie(-name => 'sessionID', ! -value => '', ! -expires => '+1y'); } + return ($userid, $cookie, $sessionID, $flags); + exit; + } + # else we have a problem... + # get the inputs from the incoming query + my @inputs =(); + foreach my $name (param $query) { + (next) if ($name eq 'userid' || $name eq 'password'); + my $value = $query->param($name); + push @inputs, {name => $name , value => $value}; + } + + my $template = gettemplate($template_name, $type); + $template->param(INPUTS => \@inputs); + $template->param(loginprompt => 1) unless $info{'nopermission'}; + + my $self_url = $query->url(-absolute => 1); + $template->param(url => $self_url); + $template->param(\%info); + $cookie=$query->cookie(-name => 'sessionID', + -value => $sessionID, + -expires => '+1y'); + print $query->header(-cookie=>$cookie), $template->output; + exit; } ! ! ! sub checkpw { ! # This should be modified to allow a select of authentication schemes (ie LDAP) ! # as well as local authentication through the borrowers tables passwd field ! # ! my ($dbh, $userid, $password) = @_; ! my $sth=$dbh->prepare("select password,cardnumber from borrowers where userid=?"); ! $sth->execute($userid); ! if ($sth->rows) { ! my ($md5password,$cardnumber) = $sth->fetchrow; ! if (md5_base64($password) eq $md5password) { ! return 1,$cardnumber; } ! } ! my $sth=$dbh->prepare("select password from borrowers where cardnumber=?"); ! $sth->execute($userid); ! if ($sth->rows) { ! my ($md5password) = $sth->fetchrow; ! if (md5_base64($password) eq $md5password) { ! return 1,$userid; } ! } ! if ($userid eq C4::Context->config('user') && $password eq C4::Context->config('pass')) { ! # Koha superuser account ! return 2; ! } ! return 0; } + sub getuserflags { + my $cardnumber=shift; + my $dbh=shift; + my $userflags; + my $sth=$dbh->prepare("SELECT flags FROM borrowers WHERE cardnumber=?"); + $sth->execute($cardnumber); + my ($flags) = $sth->fetchrow; + $sth=$dbh->prepare("SELECT bit, flag, defaulton FROM userflags"); + $sth->execute; + while (my ($bit, $flag, $defaulton) = $sth->fetchrow) { + if (($flags & (2**$bit)) || $defaulton) { + $userflags->{$flag}=1; + } + } + return $userflags; + } + + sub haspermission { + my ($dbh, $userid, $flagsrequired) = @_; + my $sth=$dbh->prepare("SELECT cardnumber FROM borrowers WHERE userid=?"); + $sth->execute($userid); + my ($cardnumber) = $sth->fetchrow; + ($cardnumber) || ($cardnumber=$userid); + my $flags=getuserflags($cardnumber,$dbh); + my $configfile; + if ($userid eq C4::Context->config('user')) { + # Super User Account from /etc/koha.conf + $flags->{'superlibrarian'}=1; + } + return $flags if $flags->{superlibrarian}; + foreach (keys %$flagsrequired) { + return $flags if $flags->{$_}; + } + return 0; + } + + sub getborrowernumber { + my ($userid) = @_; + my $dbh = C4::Context->dbh; + my $sth=$dbh->prepare("select borrowernumber from borrowers where userid=?"); + $sth->execute($userid); + if ($sth->rows) { + my ($bnumber) = $sth->fetchrow; + return $bnumber; + } + my $sth=$dbh->prepare("select borrowernumber from borrowers where cardnumber=?"); + $sth->execute($userid); + if ($sth->rows) { + my ($bnumber) = $sth->fetchrow; + return $bnumber; + } + return 0; + } + + + + END { } # module clean-up code here (global destructor) 1; __END__ *************** *** 310,313 **** --- 410,415 ---- CGI(3) + + C4::Output(3) Digest::MD5(3) From tonnesen at users.sourceforge.net Wed Dec 4 16:44:44 2002 From: tonnesen at users.sourceforge.net (Steve Tonnesen) Date: Wed, 04 Dec 2002 07:44:44 -0800 Subject: [Koha-cvs] CVS: koha-doc/en/kohadoc - New directory Message-ID: Update of /cvsroot/koha/koha-doc/en/kohadoc In directory sc8-pr-cvs1:/tmp/cvs-serv8791/kohadoc Log Message: Directory /cvsroot/koha/koha-doc/en/kohadoc added to the repository --> Using per-directory sticky tag `pending' From tonnesen at users.sourceforge.net Wed Dec 4 18:21:06 2002 From: tonnesen at users.sourceforge.net (Steve Tonnesen) Date: Wed, 04 Dec 2002 09:21:06 -0800 Subject: [Koha-cvs] CVS: koha/acqui.simple marcimport.pl,1.6.2.35,1.6.2.36 Message-ID: Update of /cvsroot/koha/koha/acqui.simple In directory sc8-pr-cvs1:/tmp/cvs-serv24872 Modified Files: Tag: rel-1-2 marcimport.pl Log Message: Added a link to delete uploaded marc records. Index: marcimport.pl =================================================================== RCS file: /cvsroot/koha/koha/acqui.simple/marcimport.pl,v retrieving revision 1.6.2.35 retrieving revision 1.6.2.36 diff -C2 -r1.6.2.35 -r1.6.2.36 *** marcimport.pl 11 Jul 2002 18:05:29 -0000 1.6.2.35 --- marcimport.pl 4 Dec 2002 17:21:04 -0000 1.6.2.36 *************** *** 50,53 **** --- 50,54 ---- print startmenu('acquisitions'); + print "

    Logged in as: $loggedinuser [Log Out]

    \n"; *************** *** 687,695 **** print "Main Menu
    \n"; my $sth=$dbh->prepare("select id,name from uploadedmarc"); $sth->execute; print "

    Select a set of MARC records

    \n
      "; while (my ($id, $name) = $sth->fetchrow) { ! print "
    • $name
      \n"; } print "
    \n"; --- 688,700 ---- print "Main Menu
    \n"; + if (my $deleterecord=$input->param('deleterecord')) { + my $sth=$dbh->prepare("delete from uploadedmarc where id=$deleterecord"); + $sth->execute; + } my $sth=$dbh->prepare("select id,name from uploadedmarc"); $sth->execute; print "

    Select a set of MARC records

    \n
      "; while (my ($id, $name) = $sth->fetchrow) { ! print "
    • $name (Delete)
      \n"; } print "
    \n"; *************** *** 1150,1153 **** --- 1155,1161 ---- #--------------- # $Log$ + # Revision 1.6.2.36 2002/12/04 17:21:04 tonnesen + # Added a link to delete uploaded marc records. + # # Revision 1.6.2.35 2002/07/11 18:05:29 tonnesen # Committing changes to add authentication and opac templating to rel-1-2 branch From tonnesen at users.sourceforge.net Wed Dec 4 18:50:12 2002 From: tonnesen at users.sourceforge.net (Steve Tonnesen) Date: Wed, 04 Dec 2002 09:50:12 -0800 Subject: [Koha-cvs] CVS: koha/acqui.simple processz3950queue,1.3.2.6,1.3.2.7 Message-ID: Update of /cvsroot/koha/koha/acqui.simple In directory sc8-pr-cvs1:/tmp/cvs-serv16100 Modified Files: Tag: rel-1-2 processz3950queue Log Message: Z39.50 queries that take longer than 20 minutes are marked as done. Hack that should more properly be handled by better error checking when busy z39.50 servers (LOC typically) drop the connection. Index: processz3950queue =================================================================== RCS file: /cvsroot/koha/koha/acqui.simple/Attic/processz3950queue,v retrieving revision 1.3.2.6 retrieving revision 1.3.2.7 diff -C2 -r1.3.2.6 -r1.3.2.7 *** processz3950queue 18 Nov 2002 21:47:49 -0000 1.3.2.6 --- processz3950queue 4 Dec 2002 17:50:10 -0000 1.3.2.7 *************** *** 72,77 **** --- 72,87 ---- $serverdone{$r_server}=1; } elsif ($active) { + my $now=time(); + if ($now-$r_startdate > 1000) { + my $sti=$dbh->prepare("update z3950results set enddate=$now where id=$r_id"); + $sti->execute; + } $serverdone{$r_server}=1; } else { + my $now=time(); + if ($now-$r_startdate > 1000) { + my $sti=$dbh->prepare("update z3950results set enddate=$now where id=$r_id"); + $sti->execute; + } $serverdone{$r_server}=-1; } From finlayt at users.sourceforge.net Wed Dec 4 23:27:26 2002 From: finlayt at users.sourceforge.net (Finlay Thompson) Date: Wed, 04 Dec 2002 14:27:26 -0800 Subject: [Koha-cvs] CVS: koha/opac opac-membership.pl,1.1,1.2 opac-readingrecord.pl,1.1,1.2 opac-renew.pl,1.1,1.2 opac-sidebar.pl,1.1,1.2 opac-userdetails.pl,1.1,1.2 opac-account.pl,1.2,1.3 opac-detail.pl,1.5,1.6 opac-main.pl,1.4,1.5 opac-reserve.pl,1.3,1.4 opac-search.pl,1.4,1.5 opac-searchresults.pl,1.5,1.6 opac-user.pl,1.4,1.5 opac-userupdate.pl,1.4,1.5 Message-ID: Update of /cvsroot/koha/koha/opac In directory sc8-pr-cvs1:/tmp/cvs-serv1459 Modified Files: opac-account.pl opac-detail.pl opac-main.pl opac-reserve.pl opac-search.pl opac-searchresults.pl opac-user.pl opac-userupdate.pl Added Files: opac-membership.pl opac-readingrecord.pl opac-renew.pl opac-sidebar.pl opac-userdetails.pl Log Message: merged in changes from the rel-1-2 branch into the main branch. Some of the default templates are a bit broken now.... Index: opac-account.pl =================================================================== RCS file: /cvsroot/koha/koha/opac/opac-account.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** opac-account.pl 28 Oct 2002 21:44:33 -0000 1.2 --- opac-account.pl 4 Dec 2002 22:25:01 -0000 1.3 *************** *** 12,25 **** my $query = new CGI; ! ! my $flagsrequired; ! $flagsrequired->{borrow}=1; ! ! my ($loggedinuser, $cookie, $sessionID) = checkauth($query, 0, $flagsrequired); ! ! my $template = gettemplate("opac-account.tmpl", "opac"); # get borrower information .... - my $borrowernumber = getborrowernumber($loggedinuser); my ($borr, $flags) = getpatroninformation(undef, $borrowernumber); --- 12,25 ---- my $query = new CGI; ! my ($template, $borrowernumber, $cookie) ! = get_template_and_user({template_name => "opac-account.tmpl", ! query => $query, ! type => "opac", ! authnotrequired => 0, ! flagsrequired => {borrow => 1}, ! debug => 1, ! }); # get borrower information .... my ($borr, $flags) = getpatroninformation(undef, $borrowernumber); *************** *** 41,48 **** } $template->param( ACCOUNT_LINES => $accts ); $template->param( total => $total ); ! $template->param( loggedinuser => $loggedinuser ); ! print "Content-Type: text/html\n\n", $template->output; --- 41,56 ---- } + # add the row parity + my $num = 0; + foreach my $row (@$accts) { + $row->{'even'} = 1 if $num % 2 == 0; + $row->{'odd'} = 1 if $num % 2 == 1; + $num++; + } + + $template->param( ACCOUNT_LINES => $accts ); $template->param( total => $total ); ! print $query->header(-cookie => $cookie), $template->output; Index: opac-detail.pl =================================================================== RCS file: /cvsroot/koha/koha/opac/opac-detail.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** opac-detail.pl 28 Oct 2002 20:03:02 -0000 1.5 --- opac-detail.pl 4 Dec 2002 22:25:04 -0000 1.6 *************** *** 2,6 **** use strict; require Exporter; - use C4::Output; # contains gettemplate use CGI; use C4::Search; --- 2,5 ---- *************** *** 8,22 **** my $query=new CGI; ! ! ! my $flagsrequired; ! $flagsrequired->{borrow}=1; ! ! my ($loggedinuser, $cookie, $sessionID) = checkauth($query, 1, $flagsrequired); ! ! ! my $template = gettemplate ("opac-detail.tmpl", "opac"); ! ! $template->param(loggedinuser => $loggedinuser); my $biblionumber=$query->param('bib'); --- 7,17 ---- my $query=new CGI; ! my ($template, $borrowernumber, $cookie) ! = get_template_and_user({template_name => "opac-detail.tmpl", ! query => $query, ! type => "opac", ! authnotrequired => 1, ! flagsrequired => {borrow => 1}, ! }); my $biblionumber=$query->param('bib'); *************** *** 41,53 **** foreach my $itm (@items) { $norequests = 0 unless $itm->{'notforloan'}; } $template->param(norequests => $norequests); ! ! ! my @results; ! ! $results[0]=$dat; my $resultsarray=\@results; --- 36,45 ---- foreach my $itm (@items) { $norequests = 0 unless $itm->{'notforloan'}; + $itm->{$itm->{'publictype'}} = 1; } $template->param(norequests => $norequests); ! my @results = ($dat,); my $resultsarray=\@results; *************** *** 56,74 **** my $sitearray=\@websites; - - my $startfrom=$query->param('startfrom'); - ($startfrom) || ($startfrom=0); - - my $count=1; - - # now to get the items into a hash we can use and whack that thru - $template->param(startfrom => $startfrom+1); - $template->param(endat => $startfrom+20); - $template->param(numrecords => $count); - my $nextstartfrom=($startfrom+20<$count-20) ? ($startfrom+20) : ($count-20); - my $prevstartfrom=($startfrom-20>0) ? ($startfrom-20) : (0); - $template->param(nextstartfrom => $nextstartfrom); - $template->param(prevstartfrom => $prevstartfrom); - $template->param(BIBLIO_RESULTS => $resultsarray); $template->param(ITEM_RESULTS => $itemsarray); --- 48,51 ---- *************** *** 76,79 **** $template->param(SITE_RESULTS => $sitearray); ! print "Content-Type: text/html\n\n", $template->output; --- 53,56 ---- $template->param(SITE_RESULTS => $sitearray); ! print $query->header(-cookie => $cookie), $template->output; Index: opac-main.pl =================================================================== RCS file: /cvsroot/koha/koha/opac/opac-main.pl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** opac-main.pl 12 Nov 2002 16:42:32 -0000 1.4 --- opac-main.pl 4 Dec 2002 22:25:12 -0000 1.5 *************** *** 5,22 **** use HTML::Template; ! use C4::Output; # gettemplate ! use C4::Auth; # checkauth my $query = new CGI; ! my $flagsrequired; ! $flagsrequired->{borrow}=1; ! my ($loggedinuser, $cookie, $sessionID) = checkauth($query, 1, $flagsrequired); ! ! ! my $template = gettemplate("opac-main.tmpl", "opac"); ! ! $template->param(loggedinuser => $loggedinuser); ! ! print "Content-Type: text/html\n\n", $template->output; --- 5,19 ---- use HTML::Template; ! use C4::Auth; # get_template_and_user my $query = new CGI; ! my ($template, $borrowernumber, $cookie) ! = get_template_and_user({template_name => "opac-main.tmpl", ! query => $query, ! type => "opac", ! authnotrequired => 1, ! flagsrequired => {borrow => 1}, ! }); ! print $query->header(-cookie => $cookie), $template->output; Index: opac-reserve.pl =================================================================== RCS file: /cvsroot/koha/koha/opac/opac-reserve.pl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** opac-reserve.pl 13 Oct 2002 10:45:59 -0000 1.3 --- opac-reserve.pl 4 Dec 2002 22:25:33 -0000 1.4 *************** *** 5,9 **** use C4::Search; - use C4::Output; # gettemplate use C4::Auth; # checkauth, getborrowernumber. use C4::Koha; --- 5,8 ---- *************** *** 12,23 **** my $query = new CGI; ! ! ! my ($loggedinuser, $cookie, $sessionID) = checkauth($query); ! ! my $template = gettemplate("opac-reserve.tmpl", "opac"); # get borrower information .... - my $borrowernumber = getborrowernumber($loggedinuser); my ($borr, $flags) = getpatroninformation(undef, $borrowernumber); my @bordat; --- 11,24 ---- my $query = new CGI; ! my ($template, $borrowernumber, $cookie) ! = get_template_and_user({template_name => "opac-reserve.tmpl", ! query => $query, ! type => "opac", ! authnotrequired => 0, ! flagsrequired => {borrow => 1}, ! debug => 1, ! }); # get borrower information .... my ($borr, $flags) = getpatroninformation(undef, $borrowernumber); my @bordat; *************** *** 34,37 **** --- 35,40 ---- # get the rank number.... my ($rank,$reserves) = FindReserves($biblionumber); + $template->param(reservecount => $rank); + foreach my $res (@$reserves) { if ($res->{'found'} eq 'W') { *************** *** 54,57 **** --- 57,61 ---- # make branch selection options... my $branchoptions = ''; + my @branches; foreach my $br (keys %$branches) { (next) unless $branches->{$br}->{'IS'}; *************** *** 61,103 **** } $branchoptions .= "\n"; } $template->param( branchoptions => $branchoptions); ! #get the bibitem data.... ! my ($count, at data) = bibitems($biblionumber); ! foreach my $bibitem (@data) { ! my @barcodes = barcodes($bibitem->{'biblioitemnumber'}); ! my $barcodestext = ""; ! foreach my $num (@barcodes) { ! my $message = $num->{'itemlost'} == 1 ? "(lost)" : ! $num->{'itemlost'} == 2 ? "(long overdue)" : "($branches->{$num->{'holdingbranch'}}->{'branchname'})"; ! $barcodestext .= "$num->{'barcode'} $message
    "; ! } ! $barcodestext = substr($barcodestext, 0, -4); ! $bibitem->{'copies'} = $barcodestext; } ! my @reqbibs = $query->param('reqbib'); ! if ($query->param('bibitemsselected')) { ! $template->param(bibitemsselected => 1); ! my @tempdata; ! foreach my $bibitem (@data) { ! foreach my $reqbib (@reqbibs){ ! push @tempdata, $bibitem if ($bibitem->{'biblioitemnumber'} == $reqbib) ; } } - @data = @tempdata; - } elsif ($query->param('placereserve')) { - # here we actually do the reserveration.... - my $title = $bibdata->{'title'}; - CreateReserve(undef,$branch,$borrowernumber,$biblionumber,'o',\@reqbibs,$rank,'',$title); - warn "reserve created\n"; print $query->redirect("/cgi-bin/koha/opac-user.pl"); } else { ! $template->param(selectbibitems => 1); } # check that you can actually make the reserve. --- 65,216 ---- } $branchoptions .= "\n"; + push @branches, {branchcode => $br, branchname => $branches->{$br}->{'branchname'}, selected => $selected}; } $template->param( branchoptions => $branchoptions); + $template->param(BRANCHES => \@branches); + + #### THIS IS A BIT OF A HACK BECAUSE THE BIBLIOITEMS DATA IS A LITTLE MESSED UP! + # get the itemtype data.... + my @items = ItemInfo(undef, $biblionumber, 'opac'); + my @temp; + foreach my $itm (@items) { + push @temp, $itm if $itm->{'itemtype'}; + } + @items = @temp; + my $itemcount = @items; + $template->param(itemcount => $itemcount); + + my %types; + my %itemtypes; + my @duedates; + foreach my $itm (@items) { + push @duedates, {date_due => slashifyDate($itm->{'date_due'})} if defined $itm->{'date_due'}; + $itm->{$itm->{'publictype'}} = 1; + my $fee = CalcReserveFee(undef, $borrowernumber, $itm->{'biblionumber'},'a',($itm->{'biblioitemnumber'})); + $fee = sprintf "%.02f", $fee; + $itm->{'reservefee'} = $fee; + my $pty = $itm->{'publictype'}; + $itemtypes{$itm->{'itemtype'}} = $itm; + unless ($types {$pty}) { + $types{$pty}->{'count'} = 1; + $types{$pty}->{$itm->{'itemtype'}} = 1; + push @{$types{$pty}->{'items'}}, $itm; + } else { + unless ($types{$pty}->{$itm->{'itemtype'}}) { + $types{$pty}->{'count'}++; + $types{$pty}->{$itm->{'itemtype'}} = 1; + push @{$types{$pty}->{'items'}}, $itm; + } + } + } ! $template->param(ITEMS => \@duedates); ! my $width = keys %types; ! my @publictypes = sort {$b->{'count'} <=> $a->{'count'}} values %types; ! my $typecount; ! foreach my $pt (@publictypes) { ! $typecount += $pt->{'count'}; } + $template->param(onlyone => 1) if $typecount == 1; + my @typerows; + for (my $rownum=0;$rownum<$publictypes[0]->{'count'} ;$rownum++) { + my @row; + foreach my $pty (@publictypes) { + my @items = @{$pty->{'items'}}; + push @row, $items[$rownum] if defined $items[$rownum]; + } + my $last = @row; + $row[$last-1]->{'last'} =1 if $last == $width; + my $fill = ($width - $last)*2; + $fill-- if $fill; + push @typerows, {ROW => \@row, fill => $fill}; + } + $template->param(TYPE_ROWS => \@typerows); + $width = 2*$width -1; + $template->param(totalwidth => 2*$width-1); + + if ($query->param('item_types_selected')) { + # this is what happens after the itemtypes have been selected. Stage 2 + my @itemtypes = $query->param('itemtype'); + my $fee = 0; + my $proceed = 0; + if (@itemtypes) { + my %newtypes; + foreach my $itmtype (@itemtypes) { + $newtypes{$itmtype} = $itemtypes{$itmtype}; + } + my @types = values %newtypes; + $template->param(TYPES => \@types); + foreach my $type (@itemtypes) { + my @reqbibs; + foreach my $item (@items) { + if ($item->{'itemtype'} eq $type) { + push @reqbibs, $item->{'biblioitemnumber'}; + } + } + $fee += CalcReserveFee(undef,$borrowernumber,$biblionumber,'o',\@reqbibs); + } + $proceed = 1; + } elsif ($query->param('all')) { + $template->param(all => 1); + $fee = 1; + $proceed = 1; + } + if ($proceed) { + $fee = sprintf "%.02f", $fee; + $template->param(fee => $fee); + $template->param(item_types_selected => 1); + } else { + $template->param(message => 1); + $template->param(no_items_selected => 1); + } ! } elsif ($query->param('place_reserve')) { ! # here we actually do the reserveration. Stage 3. ! my $title = $bibdata->{'title'}; ! my @itemtypes = $query->param('itemtype'); ! foreach my $type (@itemtypes) { ! my @reqbibs; ! foreach my $item (@items) { ! if ($item->{'itemtype'} eq $type) { ! push @reqbibs, $item->{'biblioitemnumber'}; ! } } + CreateReserve(undef,$branch,$borrowernumber,$biblionumber,'o',\@reqbibs,$rank,'',$title); + } + if ($query->param('all')) { + CreateReserve(undef,$branch,$borrowernumber,$biblionumber,'a', undef, $rank,'',$title); } print $query->redirect("/cgi-bin/koha/opac-user.pl"); } else { ! # Here we check that the borrower can actually make reserves Stage 1. ! my $noreserves = 0; ! if ($borr->{'amountoutstanding'} > 5) { ! my $amount = sprintf "\$%.02f", $borr->{'amountoutstanding'}; ! $template->param(message => 1); ! $noreserves = 1; ! $template->param(too_much_oweing => $amount); ! } ! my ($resnum, $reserves) = FindReserves(undef, $borrowernumber); ! $template->param(RESERVES => $reserves); ! if ($resnum >= $MAXIMUM_NUMBER_OF_RESERVES) { ! $template->param(message => 1); ! $noreserves = 1; ! $template->param(too_many_reserves => $resnum); ! } ! foreach my $res (@$reserves) { ! if ($res->{'biblionumber'} == $biblionumber) { ! $template->param(message => 1); ! $noreserves = 1; ! $template->param(already_reserved => 1); ! } ! } ! unless ($noreserves) { ! $template->param(select_item_types => 1); ! } } # check that you can actually make the reserve. *************** *** 107,110 **** $template->param(BIBLIOITEMS => \@data); ! $template->param(loggedinuser => $loggedinuser); ! print "Content-Type: text/html\n\n", $template->output; --- 220,223 ---- $template->param(BIBLIOITEMS => \@data); ! ! print $query->header(-cookie => $cookie), $template->output; Index: opac-search.pl =================================================================== RCS file: /cvsroot/koha/koha/opac/opac-search.pl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** opac-search.pl 28 Oct 2002 20:03:08 -0000 1.4 --- opac-search.pl 4 Dec 2002 22:25:40 -0000 1.5 *************** *** 3,20 **** require Exporter; - use C4::Output; - use CGI; use C4::Auth; ! my $query = new CGI; ! my $flagsrequired; ! $flagsrequired->{borrow}=1; ! my ($loggedinuser, $cookie, $sessionID) = checkauth($query ,1, $flagsrequired); - my $template = gettemplate("opac-search.tmpl", "opac"); ! $template->param(loggedinuser => $loggedinuser); ! print "Content-Type: text/html\n\n", $template->output; --- 3,32 ---- require Exporter; use C4::Auth; + use CGI; + use C4::Database; ! my $classlist=''; ! my $dbh=C4Connect; ! my $sth=$dbh->prepare("select groupname,itemtypes from itemtypesearchgroups order by groupname"); ! $sth->execute; ! while (my ($groupname,$itemtypes) = $sth->fetchrow) { ! $classlist.="