diff --git a/Makefile.am b/Makefile.am index a45b7434c..02a1af930 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,280 +1,280 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. confignicedir = $(sysconfdir)/build confignice_SCRIPTS=config.nice SUBDIRS = po config modules EXTRA_DIST = UNINSTALL CREDITS RELEASE-NOTES configure-tests.py config.nice.in ## submit stuff for demo data link creation sbmdir = $(localstatedir)/www/submit/access/protected sbmdat = SBITEXT MBITEXT FTTTEXT SRVTEXT TFUTEXT \ SBIRTEXT MBIRTEXT FTTRTEXT SRVRTEXT TFURTEXT APPRTEXT \ SBIPICT MBIPICT FTTPICT \ SBIRPICT MBIRPICT FTTRPICT APPRPICT all: @echo "**************************************************************" @echo "** CDS Invenio has been successfully built. Proceed now by **" @echo "** running 'make install'. **" @echo "**************************************************************" test: @if [ -e @prefix@/bin/testsuite ]; then \ @prefix@/bin/testsuite ; \ else \ echo "Hmm, testsuite does not seem to be installed. Please do 'make install' first."; \ fi regression-test: @if [ -e @prefix@/bin/regressiontestsuite ]; then \ @prefix@/bin/regressiontestsuite ; \ else \ echo "Hmm, regressiontestsuite does not seem to be installed. Please do 'make install' first."; \ fi kwalitee-check: $(PYTHON) $(top_srcdir)/modules/miscutil/lib/kwalitee.py $(top_srcdir) install-data-local: for d in / /cache /log /tmp /data /run ; do \ mkdir -p $(localstatedir)$$d && \ chmod ug=rwx $(localstatedir)$$d ; \ done @echo "************************************************************" @echo "** CDS Invenio has been successfully installed! **" @echo "** **" @echo "** If you are installing CDS Invenio for the first time, **" @echo "** please continue with the Apache httpd configuration **" @echo "** step, as described in the INSTALL file. **" @echo "** Afterwards you may want to run 'make create-demo-site' **" @echo "** to test your new installation. **" @echo "** **" @echo "** If you are reinstalling CDS Invenio because you have **" @echo "** edited CDS Invenio sources or its WML configuration, **" @echo "** you may want to restart your Apache server now by **" @echo "** running 'sudo apachectl restart'. **" @echo "************************************************************" create-tables: local-dbexec local-tabfill ./modules/miscutil/bin/dbexec < $(top_srcdir)/modules/miscutil/sql/tabcreate.sql ./modules/miscutil/bin/dbexec < ./modules/miscutil/sql/tabfill.sql update-v0.3.0-tables update-v0.3.1-tables: local-dbexec echo "ALTER TABLE idxINDEXNAME CHANGE id_idxINDEX id_idxINDEX mediumint(9) unsigned NOT NULL FIRST;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE rnkMETHODNAME CHANGE id_rnkMETHOD id_rnkMETHOD mediumint(9) unsigned NOT NULL FIRST;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE collectionname CHANGE id_collection id_collection mediumint(9) unsigned NOT NULL FIRST;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE formatname CHANGE id_format id_format mediumint(9) unsigned NOT NULL FIRST;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE fieldname CHANGE id_field id_field mediumint(9) unsigned NOT NULL FIRST;" | ./modules/miscutil/bin/dbexec echo "INSERT INTO accACTION (id,name,description,allowedkeywords,optional) VALUES (NULL,'runbibrank','run BibRank','','no');" | ./modules/miscutil/bin/dbexec echo "INSERT INTO accACTION (id,name,description,allowedkeywords,optional) VALUES (NULL,'cfgbibrank','configure BibRank','','no');" | ./modules/miscutil/bin/dbexec update-v0.3.2-tables: local-dbexec echo "ALTER TABLE sbmCOLLECTION_sbmDOCTYPE CHANGE id_son id_son char(10) NOT NULL default '0';" | ./modules/miscutil/bin/dbexec update-v0.3.3-tables: local-dbexec ./modules/miscutil/bin/dbexec < $(top_srcdir)/modules/miscutil/sql/tabcreate.sql echo "ALTER TABLE flxLINKTYPEPARAMS CHANGE pname pname varchar(78) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE rnkMETHOD DROP star_category_ranges;" | ./modules/miscutil/bin/dbexec echo "DROP TABLE rnkSET;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE schTASK CHANGE arguments arguments LONGTEXT;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE schTASK CHANGE status status varchar(50);" | ./modules/miscutil/bin/dbexec update-v0.5.0-tables: local-dbexec ./modules/miscutil/bin/dbexec < $(top_srcdir)/modules/miscutil/sql/tabcreate.sql echo "ALTER TABLE session ADD INDEX uid (uid);" | ./modules/miscutil/bin/dbexec echo "UPDATE idxINDEXNAME SET ln='cs' WHERE ln='cz';" | ./modules/miscutil/bin/dbexec echo "UPDATE rnkMETHODNAME SET ln='cs' WHERE ln='cz';" | ./modules/miscutil/bin/dbexec echo "UPDATE collectionname SET ln='cs' WHERE ln='cz';" | ./modules/miscutil/bin/dbexec echo "UPDATE collection_portalbox SET ln='cs' WHERE ln='cz';" | ./modules/miscutil/bin/dbexec echo "UPDATE formatname SET ln='cs' WHERE ln='cz';" | ./modules/miscutil/bin/dbexec echo "UPDATE fieldname SET ln='cs' WHERE ln='cz';" | ./modules/miscutil/bin/dbexec echo "UPDATE idxINDEXNAME SET ln='sv' WHERE ln='se';" | ./modules/miscutil/bin/dbexec echo "UPDATE rnkMETHODNAME SET ln='sv' WHERE ln='se';" | ./modules/miscutil/bin/dbexec echo "UPDATE collectionname SET ln='sv' WHERE ln='se';" | ./modules/miscutil/bin/dbexec echo "UPDATE collection_portalbox SET ln='sv' WHERE ln='se';" | ./modules/miscutil/bin/dbexec echo "UPDATE formatname SET ln='sv' WHERE ln='se';" | ./modules/miscutil/bin/dbexec echo "UPDATE fieldname SET ln='sv' WHERE ln='se';" | ./modules/miscutil/bin/dbexec update-v0.7.1-tables: local-dbexec echo "DROP TABLE oaiHARVEST;" | ./modules/miscutil/bin/dbexec ./modules/miscutil/bin/dbexec < $(top_srcdir)/modules/miscutil/sql/tabcreate.sql echo "INSERT INTO accACTION (id,name,description,allowedkeywords,optional) VALUES (NULL,'cfgbibharvest','configure BibHarvest','','no');" | ./modules/miscutil/bin/dbexec echo "INSERT INTO accACTION (id,name,description,allowedkeywords,optional) VALUES (NULL,'runoaiharvest','run BibHarvest oaiharvest','','no');" | ./modules/miscutil/bin/dbexec echo "INSERT INTO accACTION (id,name,description,allowedkeywords,optional) VALUES (NULL,'cfgwebcomment','configure WebComment','','no');" | ./modules/miscutil/bin/dbexec echo "INSERT INTO accACTION (id,name,description,allowedkeywords,optional) VALUES (NULL,'runoaiarchive','run BibHarvest oaiarchive','','no');" | ./modules/miscutil/bin/dbexec echo "INSERT INTO accACTION (id,name,description,allowedkeywords,optional) VALUES (NULL,'runbibedit','run BibEdit','','no');" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE user ADD nickname varchar(255) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE user ADD last_login datetime NOT NULL default '0000-00-00 00:00:00';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE user ADD INDEX nickname (nickname);" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE sbmFIELD CHANGE subname subname varchar(13) default NULL;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE user_query_basket CHANGE alert_name alert_name varchar(30) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "TRUNCATE TABLE session;" | ./modules/miscutil/bin/dbexec @echo "**********************************************************" @echo "** Do not forget to run the basket migration now: **" @echo "** @PYTHON@ modules/webbasket/lib/webbasket_migration_kit.py " @echo "** Please see the RELEASE-NOTES for details. **" @echo "**********************************************************" @echo "INSERT INTO oaiARCHIVE (id, setName, setSpec, setDescription, setDefinition, setRecList) SELECT id, setName, setSpec, CONCAT_WS('', setDescription), setDefinition, setRecList FROM oaiSET;" update-v0.90.0-tables: local-dbexec ./modules/miscutil/bin/dbexec < $(top_srcdir)/modules/miscutil/sql/tabcreate.sql echo "ALTER TABLE format ADD COLUMN (description varchar(255) default '');" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE format ADD COLUMN (content_type varchar(255) default '');" | ./modules/miscutil/bin/dbexec update-v0.90.1-tables: local-dbexec ./modules/miscutil/bin/dbexec < $(top_srcdir)/modules/miscutil/sql/tabcreate.sql echo "ALTER TABLE schTASK ADD INDEX status (status);" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE schTASK ADD INDEX runtime (runtime);" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE sbmCATEGORIES ADD COLUMN score TINYINT UNSIGNED NOT NULL DEFAULT 0;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE sbmCATEGORIES ADD PRIMARY KEY (doctype, sname);" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE sbmCATEGORIES ADD KEY doctype (doctype);" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiHARVEST ADD COLUMN setspecs TEXT NOT NULL DEFAULT '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE setDescription setDescription text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE p1 p1 text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE f1 f1 text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE m1 m1 text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE p2 p2 text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE f2 f2 text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE m2 m2 text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE p3 p3 text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE f3 f3 text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiARCHIVE CHANGE m3 m3 text NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "UPDATE bibdoc SET status=0 WHERE status='';" | ./modules/miscutil/bin/dbexec echo "UPDATE bibdoc SET status=1 WHERE status='deleted';" | ./modules/miscutil/bin/dbexec update-v0.92.0-tables: local-dbexec echo "UPDATE bibdoc SET status=0 WHERE status='';" | ./modules/miscutil/bin/dbexec echo "UPDATE bibdoc SET status=1 WHERE status='deleted';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE schTASK CHANGE arguments arguments mediumblob;" | ./modules/miscutil/bin/dbexec echo "UPDATE user SET note=1 WHERE nickname='admin' AND note IS NULL;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE usergroup CHANGE name name varchar(255) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE usergroup ADD login_method varchar(255) NOT NULL default 'INTERNAL';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE usergroup ADD UNIQUE KEY login_method_name (login_method(70), name);" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE user CHANGE settings settings blob default NULL;" | ./modules/miscutil/bin/dbexec echo "INSERT INTO sbmALLFUNCDESCR VALUES ('Get_Recid', 'This function gets the recid for a document with a given report-number (as stored in the global variable rn).');" | ./modules/miscutil/bin/dbexec update-v0.92.1-tables: local-dbexec + ./modules/miscutil/bin/dbexec < $(top_srcdir)/modules/miscutil/sql/tabcreate.sql echo "UPDATE bibdoc SET status=0 WHERE status='';" | ./modules/miscutil/bin/dbexec echo "UPDATE bibdoc SET status=1 WHERE status='deleted';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiHARVEST CHANGE postprocess postprocess varchar(20) NOT NULL default 'h';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE oaiHARVEST ADD COLUMN bibfilterprogram varchar(255) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE idxINDEXNAME CHANGE ln ln char(5) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE rnkMETHODNAME CHANGE ln ln char(5) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE collectionname CHANGE ln ln char(5) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE collection_portalbox CHANGE ln ln char(5) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE formatname CHANGE ln ln char(5) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE fieldname CHANGE ln ln char(5) NOT NULL default '';" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE accROLE ADD COLUMN firerole_def_ser tinyblob NULL;" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE accROLE ADD COLUMN firerole_def_src tinytext NULL;" | ./modules/miscutil/bin/dbexec echo "INSERT INTO accACTION VALUES (22,'accrestrcoll','view restricted collection','collection','no');" | ./modules/miscutil/bin/dbexec echo "INSERT INTO accACTION VALUES (23,'runsessiongc','run SessionGC','','no');" | ./modules/miscutil/bin/dbexec echo "ALTER TABLE user CHANGE password password tinyblob NULL default NULL;" | ./modules/miscutil/bin/dbexec echo "UPDATE user SET password=AES_ENCRYPT(email,password);" | ./modules/miscutil/bin/dbexec - echo "ALTER TABLE user ADD COLUMN reset_date date NOT NULL default '0000-00-00';" | ./modules/miscutil/bin/dbexec - echo "ALTER TABLE user ADD COLUMN reset_key binary(32) NULL default NULL;" | ./modules/miscutil/bin/dbexec + echo "ALTER TABLE user_accROLE ADD COLUMN expiration datetime NOT NULL default '9999-12-31 23:59:59';" | ./modules/miscutil/bin/dbexec drop-tables: local-dbexec ./modules/miscutil/bin/dbexec < $(srcdir)/modules/miscutil/sql/tabdrop.sql local-dbexec: (cd ./modules/miscutil/bin; make) local-tabfill: $(srcdir)/modules/miscutil/sql/tabfill.sql.wml (cd ./modules/miscutil/sql; make) create-demo-site: # for f in $(sbmdat); do \ # if [ ! -e $(sbmdir)/$$f.shtml ]; then \ # ln -s $(sbmdir)/go.shtml $(sbmdir)/$$f.shtml ; \ # else \ # echo "link $(sbmdir)/$$f.shtml already exists"; \ # fi \ # done ./modules/miscutil/bin/dbexec < ./modules/miscutil/demo/democfgdata.sql ./modules/webaccess/bin/webaccessadmin -u admin -c echo "TRUNCATE schTASK;" | ${prefix}/bin/dbexec ${prefix}/bin/webcoll -uadmin ${prefix}/bin/webcoll 1 @echo "***********************************************************************" @echo "** The demo site has been successfully created. **" @echo "** **" @echo "** Please point your browser to @WEBURL@ " @echo "** It should ressemble our 'Atlantis Institute of Fictive Science' **" @echo "** demo site that is available at , **" @echo "** with the exception that no demo records have been loaded yet. **" @echo "** **" @echo "** To load demo records, you can run 'make load-demo-records'. **" @echo "** To drop the demo site, you can run 'make drop-demo-site'. **" @echo "***********************************************************************" load-demo-records: echo "TRUNCATE schTASK;" | ${prefix}/bin/dbexec ${prefix}/bin/bibupload -i $(srcdir)/modules/miscutil/demo/demobibdata.xml ${prefix}/bin/bibupload 1 ${prefix}/bin/bibindex -uadmin ${prefix}/bin/bibindex 2 ${prefix}/bin/bibreformat -uadmin -oHB ${prefix}/bin/bibreformat 3 ${prefix}/bin/bibupload 4 ${prefix}/bin/webcoll -uadmin ${prefix}/bin/webcoll 5 ${prefix}/bin/bibrank -uadmin ${prefix}/bin/bibrank 6 @echo "***********************************************************************" @echo "** The demo records have been successfully loaded. **" @echo "** **" @echo "** Please point your browser to @WEBURL@ " @echo "** It should ressemble our 'Atlantis Institute of Fictive Science' **" @echo "** demo site that is available at . **" @echo "** **" @echo "** To remove demo records, you can run 'make remove-demo-records'. **" @echo "** To drop also the demo site collection etc configurations, **" @echo "** you can run 'make drop-demo-site'. **" @echo "***********************************************************************" drop-demo-site: ./modules/miscutil/bin/dbexec < $(srcdir)/modules/miscutil/sql/tabdrop.sql ./modules/miscutil/bin/dbexec < $(srcdir)/modules/miscutil/sql/tabcreate.sql ./modules/miscutil/bin/dbexec < ./modules/miscutil/sql/tabfill.sql echo "TRUNCATE schTASK;" | ${prefix}/bin/dbexec ${prefix}/bin/webcoll -uadmin ${prefix}/bin/webcoll 1 # for f in $(sbmdat); do rm -f $(sbmdir)/$$f.shtml ; done @echo "***************************************************************" @echo "** The demo site and records have been successfully dropped. **" @echo "***************************************************************" remove-demo-records: ./modules/miscutil/bin/dbexec < $(srcdir)/modules/miscutil/sql/tabbibclean.sql echo "TRUNCATE schTASK;" | ${prefix}/bin/dbexec ${prefix}/bin/webcoll -uadmin ${prefix}/bin/webcoll 1 @echo "**********************************************************" @echo "** The demo records have been successfully removed. **" @echo "** The demo collection and submit configurations **" @echo "** have been preserved. **" @echo "** **" @echo "** Note that you can run 'make drop-demo-site' to drop **" @echo "** the demo site fully. **" @echo "**********************************************************" CLEANFILES = *~ diff --git a/config/configbis.wml.in b/config/configbis.wml.in index c7fe76f55..242e601b4 100644 --- a/config/configbis.wml.in +++ b/config/configbis.wml.in @@ -1,182 +1,185 @@ ## $Id$ ## DO NOT TOUCH ANY OF THE ``configbis.wml'' AND ``configbis.wml.in'' ## FILES. IF YOU DO EDIT THEM, BAD THINGS MAY HAPPEN. YOU HAVE BEEN ## WARNED! ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. ## read autoconf parameters and define new WML tags out of them: @VERSION@ @WML@ @MYSQL@ @PHP@ @PYTHON@ @prefix@ @prefix@/bin @prefix@/lib @localstatedir@/log @prefix@/etc @prefix@/share/locale @localstatedir@/tmp @localstatedir@/cache @localstatedir@/data @localstatedir@/www @WEBURL@ @SWEBURL@ @DBHOST@ @DBNAME@ @DBUSER@ @DBPASS@ + +@SMTPHOST@ + @LYNX@ @ACROREAD@ @GZIP@ @GUNZIP@ @TAR@ @PS2PDF@ @FILE@ @DJPEG@ @CONVERT@ @GIFTEXT@ @JPEGSIZE@ @PNMSCALE@ @PPMQUANT@ @PPMTOGIF@ @GIFINTER@ @GIFRSIZE@ @PDFTOTEXT@ @PSTOTEXT@ @PSTOASCII@ @ANTIWORD@ @CATDOC@ @WVTEXT@ @PPTHTML@ @XLHTML@ @HTMLTOTEXT@ @CLISP@ @CMUCL@ @SBCL@ @GNUPLOT@ diff --git a/configure.ac b/configure.ac index da58af8dd..0c845ff05 100644 --- a/configure.ac +++ b/configure.ac @@ -1,702 +1,713 @@ ## $Id$ ## Purpose: CDS Invenio main configure.ac file. ## Note: If you change this file, please run "autoreconf" to regenerate the "configure" script. ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. ## Initialize autoconf and automake: AC_INIT(cds-invenio, 0.92.1.20070412, cds.support@cern.ch) AM_INIT_AUTOMAKE(cds-invenio, 0.92.1.20070412) ## Check for install: AC_PROG_INSTALL ## Define WEBURL URL: AC_ARG_WITH(weburl, AC_HELP_STRING([--with-weburl], [specify URL where web files will be reached (e.g. http://webserver.domain.com)]), WEBURL=${withval}) if test -z "$WEBURL"; then AC_MSG_ERROR([ You have not used the "--with-weburl" argument that should define the corresponding URL where the site will be reached. Example: "--with-weburl=http://webserver.domain.com".]) fi AC_ARG_WITH(sweburl, AC_HELP_STRING([--with-sweburl], [specify URL where HTTPS files will be reached (e.g. https://webserver.domain.com)]), SWEBURL=${withval}) if test -z "${SWEBURL}"; then SWEBURL="${WEBURL}" AC_MSG_WARN([ You have not specified secure URL for accessing the site (--with-sweburl). User authentication will be done in clear text across the network. ]) fi ## Define DBHOST database host: AC_ARG_WITH(dbhost, AC_HELP_STRING([--with-dbhost], [specify DB server (e.g. sqlserver.domain.com)]), DBHOST=${withval}) if test -z "$DBHOST"; then AC_MSG_ERROR([ You have not used the "--with-dbhost" argument that should define which DB server to use. Example: "--with-dbhost=sqlserver.domain.com".]) fi ## Define DBNAME database name: AC_ARG_WITH(dbname, AC_HELP_STRING([--with-dbname], [specify DB name (e.g. cdsinvenio)]), DBNAME=${withval}) if test -z "$DBNAME"; then AC_MSG_ERROR([ You have not used the "--with-dbname" argument that should define DB name. Example: "--with-dbname=cdsinvenio".]) fi ## Define DBUSER user name: AC_ARG_WITH(dbuser, AC_HELP_STRING([--with-dbuser], [specify DB user name (e.g. cdsinvenio)]), DBUSER=${withval}) if test -z "$DBUSER"; then AC_MSG_ERROR([ You have not used the "--with-dbuser" argument that should define DB user name. Example: "--with-dbuser=cdsinvenio".]) fi ## Define DBPASS user password: AC_ARG_WITH(dbpass, AC_HELP_STRING([--with-dbpass], [specify DB user password (e.g. myp1ss)]), DBPASS=${withval}) if test -z "$DBPASS"; then AC_MSG_ERROR([ You have not used the "--with-dbpass" argument that should define DB user password. Example: "--with-dbpass=myp1ss".]) fi +## Define SMTPHOST smtp host: +AC_ARG_WITH(smtphost, AC_HELP_STRING([--with-smtphost], [specify SMPT server (e.g. mailserver.domain.com)]), SMTPHOST=${withval}) +if test -z "$SMTPHOST"; then + SMTPHOST="localhost" + AC_MSG_WARN([ + You have not specified a SMTP server. localhost will be used.]) +fi + + ## Check for gettext support AM_GNU_GETTEXT(external) AM_GNU_GETTEXT_VERSION(0.14.4) ## Check for WML: AC_PATH_PROG(WML, wml) if test -z "$WML"; then AC_MSG_ERROR([ WML (Website META Language) was not found in your PATH. Please install it first. Available from .]) fi ## Set option -c in WML so that it can work from a separate build tree WML="${WML} -c" ## Check for MySQL client: AC_PATH_PROG(MYSQL, mysql) if test -z "$MYSQL"; then AC_MSG_ERROR([ MySQL command-line client was not found in your PATH. Please install it first. Available from .]) fi ## Check for Python: AC_MSG_CHECKING(for python) AC_ARG_WITH(python, AC_HELP_STRING([--with-python], [path to a specific Python binary (optional)]), PYTHON=${withval}) if test -n "$PYTHON"; then AC_MSG_RESULT($PYTHON) else AC_PATH_PROG(PYTHON, python) if test -z "$PYTHON"; then AC_MSG_ERROR([ Python was not found in your PATH. Please either install it in your PATH or specify --with-python configure option. Python is available from .]) fi fi ## Check for Python version and modules: AC_MSG_CHECKING(for required Python modules) $PYTHON ${srcdir}/configure-tests.py if test $? -ne 0; then AC_MSG_ERROR([Please fix the above Python problem before continuing.]) fi AC_MSG_RESULT(found) ## Check for PHP AC_PATH_PROG(PHP, php) ## Check for Acrobat Reader: AC_PATH_PROG(ACROREAD, acroread) if test -z "$ACROREAD"; then AC_MSG_WARN([ Acrobat Reader was not found in your PATH. It is used in the WebSubmit module for automatic conversion of submitted documents. You can continue without it but you will miss some CDS Invenio functionality. We recommend you to install it first and to rerun the configure script. Acrobat Reader is available from .]) fi ## Check for gzip: AC_PATH_PROG(GZIP, gzip) if test -z "$GZIP"; then AC_MSG_WARN([ Gzip was not found in your PATH. It is used in the WebSubmit module to compress the data submitted in an archive. You can continue without it but you will miss some CDS Invenio functionality. We recommend you to install it first and to rerun the configure script. Gzip is available from .]) fi ## Check for gunzip: AC_PATH_PROG(GUNZIP, gunzip) if test -z "$GUNZIP"; then AC_MSG_WARN([ Gunzip was not found in your PATH. It is used in the WebSubmit module to correctly deal with submitted compressed files. You can continue without it but you will miss some CDS Invenio functionality. We recommend you to install it first and to rerun the configure script. Gunzip is available from .]) fi ## Check for tar: AC_PATH_PROG(TAR, tar) if test -z "$TAR"; then AC_MSG_WARN([ Tar was not found in your PATH. It is used in the WebSubmit module to pack the submitted data into an archive. You can continue without it but you will miss some CDS Invenio functionality. We recommend you to install it first and to rerun the configure script. Tar is available from .]) fi ## Check for ps2pdf: AC_PATH_PROG(PS2PDF, ps2pdf) if test -z "$PS2PDF"; then AC_MSG_WARN([ ps2pdf was not found in your PATH. It is used in the WebSubmit module to convert submitted PostScripts into PDF. You can continue without it but you will miss some CDS Invenio functionality. We recommend you to install it first and to rerun the configure script. PS2PDF is available from .]) fi ## Check for pdftotext: AC_PATH_PROG(PDFTOTEXT, pdftotext) if test -z "$PDFTOTEXT"; then AC_MSG_WARN([ pdftotext was not found in your PATH. It is used for the fulltext indexation of PDF files. You can continue without it but you may miss fulltext searching capability of CDS Invenio. We recomend you to install it first and to rerun the configure script. pdftotext is available from . ]) fi ## Check for pstotext: AC_PATH_PROG(PSTOTEXT, pstotext) if test -z "$PSTOTEXT"; then AC_MSG_WARN([ pstotext was not found in your PATH. It is used for the fulltext indexation of PDF and PostScript files. You can continue without it but you may miss fulltext searching capability of CDS Invenio. We recomend you to install it first and to rerun the configure script. pstotext is available from . ]) fi ## Check for ps2ascii: AC_PATH_PROG(PSTOASCII, ps2ascii) if test -z "$PSTOASCII"; then AC_MSG_WARN([ ps2ascii was not found in your PATH. It is used for the fulltext indexation of PostScript files. You can continue without it but you may miss fulltext searching capability of CDS Invenio. We recomend you to install it first and to rerun the configure script. ps2ascii is available from . ]) fi ## Check for antiword: AC_PATH_PROG(ANTIWORD, antiword) if test -z "$ANTIWORD"; then AC_MSG_WARN([ antiword was not found in your PATH. It is used for the fulltext indexation of Microsoft Word files. You can continue without it but you may miss fulltext searching capability of CDS Invenio. We recomend you to install it first and to rerun the configure script. antiword is available from . ]) fi ## Check for catdoc: AC_PATH_PROG(CATDOC, catdoc) if test -z "$CATDOC"; then AC_MSG_WARN([ catdoc was not found in your PATH. It is used for the fulltext indexation of Microsoft Word files. You can continue without it but you may miss fulltext searching capability of CDS Invenio. We recomend you to install it first and to rerun the configure script. catdoc is available from . ]) fi ## Check for wvText: AC_PATH_PROG(WVTEXT, wvText) if test -z "$WVTEXT"; then AC_MSG_WARN([ wvText was not found in your PATH. It is used for the fulltext indexation of Microsoft Word files. You can continue without it but you may miss fulltext searching capability of CDS Invenio. We recomend you to install it first and to rerun the configure script. wvText is available from . ]) fi ## Check for ppthtml: AC_PATH_PROG(PPTHTML, ppthtml) if test -z "$PPTHTML"; then AC_MSG_WARN([ ppthtml was found in your PATH. It is used for the fulltext indexation of Microsoft PowerPoint files. You can continue without it but you may miss fulltext searching capability of CDS Invenio. We recomend you to install it first and to rerun the configure script. ppthtml is available from . ]) fi ## Check for xlhtml: AC_PATH_PROG(XLHTML, xlhtml) if test -z "$XLHTML"; then AC_MSG_WARN([ xlhtml was found in your PATH. It is used for the fulltext indexation of Microsoft Excel files. You can continue without it but you may miss fulltext searching capability of CDS Invenio. We recomend you to install it first and to rerun the configure script. xlhtml is available from . ]) fi ## Check for html2text: AC_PATH_PROG(HTMLTOTEXT, html2text) if test -z "$HTMLTOTEXT"; then AC_MSG_WARN([ html2text was found in your PATH. It is used for the fulltext indexation of Microsoft PowerPoint and Excel files. You can continue without it but you may miss fulltext searching capability of CDS Invenio. We recomend you to install it first and to rerun the configure script. html2text is available from . ]) fi ## Check for Giftext: AC_PATH_PROG(GIFTEXT, giftext) if test -z "$GIFTEXT"; then AC_MSG_WARN([ Giftext was not found in your PATH. It is used in the WebSubmit module to create an icon from a submitted picture. You can continue without it but you will miss some CDS Invenio functionality. We recommend you to install it first and to rerun the configure script. Giftext is available from .]) fi ## Check for file: AC_PATH_PROG(FILE, file) if test -z "$FILE"; then AC_MSG_WARN([ File was not found in your PATH. It is used in the WebSubmit module to check the validity of the submitted files. You can continue without it but you will miss some CDS Invenio functionality. We recommend you to install it first and to rerun the configure script. File is available from .]) fi ## Check for convert: AC_PATH_PROG(CONVERT, convert) if test -z "$CONVERT"; then AC_MSG_WARN([ Convert was not found in your PATH. It is used in the WebSubmit module to create an icon from a submitted picture. You can continue without it but you will miss some CDS Invenio functionality. We recommend you to install it first and to rerun the configure script. Convert is available from .]) fi ## Check for CLISP: AC_MSG_CHECKING(for clisp) AC_ARG_WITH(clisp, AC_HELP_STRING([--with-clisp], [path to a specific CLISP binary (optional)]), CLISP=${withval}) if test -n "$CLISP"; then AC_MSG_RESULT($CLISP) else AC_PATH_PROG(CLISP, clisp) if test -z "$CLISP"; then AC_MSG_WARN([ GNU CLISP was not found in your PATH. It is used by the WebStat module to produce statistics about CDS Invenio usage. (Alternatively, SBCL or CMUCL can be used instead of CLISP.) You can continue without it but you will miss this feature. We recommend you to install it first (if you don't have neither CMUCL nor SBCL) and to rerun the configure script. GNU CLISP is available from .]) fi fi ## Check for CMUCL: AC_MSG_CHECKING(for cmucl) AC_ARG_WITH(cmucl, AC_HELP_STRING([--with-cmucl], [path to a specific CMUCL binary (optional)]), CMUCL=${withval}) if test -n "$CMUCL"; then AC_MSG_RESULT($CMUCL) else AC_PATH_PROG(CMUCL, cmucl) if test -z "$CMUCL"; then AC_MSG_CHECKING(for lisp) # CMUCL can also be installed under `lisp' exec name AC_PATH_PROG(CMUCL, lisp) fi if test -z "$CMUCL"; then AC_MSG_WARN([ CMUCL was not found in your PATH. It is used by the WebStat module to produce statistics about CDS Invenio usage. (Alternatively, CLISP or SBCL can be used instead of CMUCL.) You can continue without it but you will miss this feature. We recommend you to install it first (if you don't have neither CLISP nor SBCL) and to rerun the configure script. CMUCL is available from .]) fi fi ## Check for SBCL: AC_MSG_CHECKING(for sbcl) AC_ARG_WITH(sbcl, AC_HELP_STRING([--with-sbcl], [path to a specific SBCL binary (optional)]), SBCL=${withval}) if test -n "$SBCL"; then AC_MSG_RESULT($SBCL) else AC_PATH_PROG(SBCL, sbcl) if test -z "$SBCL"; then AC_MSG_WARN([ SBCL was not found in your PATH. It is used by the WebStat module to produce statistics about CDS Invenio usage. (Alternatively, CLISP or CMUCL can be used instead of SBCL.) You can continue without it but you will miss this feature. We recommend you to install it first (if you don't have neither CLISP nor CMUCL) and to rerun the configure script. SBCL is available from .]) fi fi ## Check for gnuplot: AC_PATH_PROG(GNUPLOT, gnuplot) if test -z "$GNUPLOT"; then AC_MSG_WARN([ Gnuplot was not found in your PATH. It is used by the BibRank module to produce graphs about download and citation history. You can continue without it but you will miss these graphs. We recommend you to install it first and to rerun the configure script. Gnuplot is available from .]) fi ## Substitute variables: AC_SUBST(VERSION) AC_SUBST(WML) AC_SUBST(MYSQL) AC_SUBST(PHP) AC_SUBST(PYTHON) AC_SUBST(CLIDIR) AC_SUBST(WEBURL) AC_SUBST(SWEBURL) AC_SUBST(DBHOST) AC_SUBST(DBNAME) AC_SUBST(DBUSER) AC_SUBST(DBPASS) +AC_SUBST(SMTPHOST) AC_SUBST(PDFTOTEXT) AC_SUBST(PSTOTEXT) AC_SUBST(PSTOASCII) AC_SUBST(ANTIWORD) AC_SUBST(CATDOC) AC_SUBST(WVTEXT) AC_SUBST(PPTHTML) AC_SUBST(XLHTML) AC_SUBST(HTMLTOTEXT) AC_SUBST(localstatedir, `eval echo "${localstatedir}"`) AC_SUBST(CACHEDIR) AC_SUBST(CLISP) AC_SUBST(CMUCL) AC_SUBST(SBCL) AC_SUBST(GNUPLOT) AC_SUBST(DJPEG) AC_SUBST(CONVERT) AC_SUBST(GIFTEXT) AC_SUBST(JPEGSIZE) AC_SUBST(PNMSCALE) AC_SUBST(PPMQUANT) AC_SUBST(PPMTOGIF) AC_SUBST(GIFINTER) AC_SUBST(GIFRSIZE) ## Define output files: AC_CONFIG_FILES([config.nice \ Makefile \ po/Makefile.in \ config/Makefile \ config/configbis.wml \ modules/Makefile \ modules/bibconvert/Makefile \ modules/bibconvert/bin/Makefile \ modules/bibconvert/bin/bibconvert \ modules/bibconvert/doc/Makefile \ modules/bibconvert/doc/admin/Makefile \ modules/bibconvert/doc/hacking/Makefile \ modules/bibconvert/etc/Makefile \ modules/bibconvert/lib/Makefile \ modules/bibmatch/Makefile \ modules/bibmatch/bin/Makefile \ modules/bibmatch/bin/bibmatch \ modules/bibmatch/doc/Makefile \ modules/bibmatch/doc/admin/Makefile \ modules/bibmatch/etc/Makefile \ modules/bibmatch/lib/Makefile \ modules/bibedit/Makefile \ modules/bibedit/bin/Makefile \ modules/bibedit/bin/refextract \ modules/bibedit/bin/xmlmarclint \ modules/bibedit/bin/xmlmarc2textmarc \ modules/bibedit/doc/Makefile \ modules/bibedit/doc/admin/Makefile \ modules/bibedit/doc/hacking/Makefile \ modules/bibedit/etc/Makefile \ modules/bibedit/lib/Makefile \ modules/bibedit/web/Makefile \ modules/bibedit/web/admin/Makefile \ modules/bibformat/Makefile \ modules/bibformat/bin/Makefile \ modules/bibformat/bin/bibformat \ modules/bibformat/bin/bibreformat \ modules/bibformat/doc/Makefile \ modules/bibformat/doc/admin/Makefile \ modules/bibformat/doc/hacking/Makefile \ modules/bibformat/etc/Makefile \ modules/bibformat/etc/output_formats/Makefile \ modules/bibformat/etc/format_templates/Makefile \ modules/bibformat/lib/Makefile \ modules/bibformat/lib/elements/Makefile \ modules/bibformat/lib/core/Makefile \ modules/bibformat/lib/common/Makefile \ modules/bibformat/web/Makefile \ modules/bibformat/web/admin/Makefile \ modules/bibharvest/Makefile \ modules/bibharvest/bin/Makefile \ modules/bibharvest/bin/bibharvest \ modules/bibharvest/bin/oaiharvest \ modules/bibharvest/bin/oaiarchive \ modules/bibharvest/doc/Makefile \ modules/bibharvest/doc/admin/Makefile \ modules/bibharvest/doc/hacking/Makefile \ modules/bibharvest/lib/Makefile \ modules/bibharvest/web/Makefile \ modules/bibharvest/web/admin/Makefile \ modules/bibclassify/Makefile modules/bibclassify/bin/Makefile modules/bibclassify/bin/bibclassify modules/bibclassify/doc/Makefile \ modules/bibclassify/doc/admin/Makefile \ modules/bibclassify/doc/hacking/Makefile \ modules/bibclassify/etc/Makefile modules/bibclassify/lib/Makefile modules/bibindex/Makefile \ modules/bibindex/bin/Makefile \ modules/bibindex/bin/bibindex \ modules/bibindex/bin/bibstat \ modules/bibindex/doc/Makefile \ modules/bibindex/doc/admin/Makefile \ modules/bibindex/doc/hacking/Makefile \ modules/bibindex/lib/Makefile \ modules/bibindex/web/Makefile \ modules/bibindex/web/admin/Makefile \ modules/bibrank/Makefile \ modules/bibrank/bin/Makefile \ modules/bibrank/bin/bibrank \ modules/bibrank/bin/bibrankgkb \ modules/bibrank/doc/Makefile \ modules/bibrank/doc/admin/Makefile \ modules/bibrank/doc/hacking/Makefile \ modules/bibrank/etc/Makefile \ modules/bibrank/etc/bibrankgkb.cfg \ modules/bibrank/etc/demo_jif.cfg \ modules/bibrank/etc/template_single_tag_rank_method.cfg \ modules/bibrank/lib/Makefile \ modules/bibrank/web/Makefile \ modules/bibrank/web/admin/Makefile \ modules/bibsched/Makefile \ modules/bibsched/bin/Makefile \ modules/bibsched/bin/bibsched \ modules/bibsched/bin/bibtaskex \ modules/bibsched/doc/Makefile \ modules/bibsched/doc/admin/Makefile \ modules/bibsched/doc/hacking/Makefile \ modules/bibsched/lib/Makefile \ modules/bibupload/Makefile \ modules/bibupload/bin/Makefile \ modules/bibupload/bin/bibupload \ modules/bibupload/doc/Makefile \ modules/bibupload/doc/admin/Makefile \ modules/bibupload/doc/hacking/Makefile \ modules/bibupload/lib/Makefile \ modules/elmsubmit/Makefile \ modules/elmsubmit/bin/Makefile \ modules/elmsubmit/bin/elmsubmit \ modules/elmsubmit/doc/Makefile \ modules/elmsubmit/doc/admin/Makefile \ modules/elmsubmit/doc/hacking/Makefile \ modules/elmsubmit/etc/Makefile \ modules/elmsubmit/etc/elmsubmit.cfg \ modules/elmsubmit/lib/Makefile \ modules/elmsubmit/lib/magic/Makefile \ modules/miscutil/Makefile \ modules/miscutil/bin/Makefile \ modules/miscutil/bin/dbexec \ modules/miscutil/bin/dbtest \ modules/miscutil/bin/testsuite \ modules/miscutil/bin/regressiontestsuite \ modules/miscutil/lib/Makefile \ modules/miscutil/demo/Makefile \ modules/miscutil/sql/Makefile \ modules/miscutil/web/Makefile \ modules/miscutil/doc/Makefile \ modules/miscutil/doc/hacking/Makefile \ modules/webaccess/Makefile \ modules/webaccess/bin/Makefile \ modules/webaccess/bin/authaction \ modules/webaccess/bin/webaccessadmin \ modules/webaccess/doc/Makefile \ modules/webaccess/doc/admin/Makefile \ modules/webaccess/doc/hacking/Makefile \ modules/webaccess/lib/Makefile \ modules/webaccess/web/Makefile \ modules/webaccess/web/admin/Makefile \ modules/webalert/Makefile \ modules/webalert/bin/Makefile \ modules/webalert/bin/alertengine \ modules/webalert/doc/Makefile \ modules/webalert/doc/admin/Makefile \ modules/webalert/doc/hacking/Makefile \ modules/webalert/lib/Makefile \ modules/webalert/web/Makefile \ modules/webhelp/Makefile \ modules/webhelp/web/Makefile \ modules/webhelp/web/hacking/Makefile \ modules/webhelp/web/admin/Makefile \ modules/webhelp/web/admin/howto/Makefile \ modules/websearch/Makefile \ modules/websearch/bin/Makefile \ modules/websearch/bin/webcoll \ modules/websearch/doc/Makefile \ modules/websearch/doc/admin/Makefile \ modules/websearch/doc/hacking/Makefile \ modules/websearch/lib/Makefile \ modules/websearch/web/Makefile \ modules/websearch/web/admin/Makefile \ modules/websession/Makefile \ modules/websession/bin/Makefile \ modules/websession/bin/sessiongc \ modules/websession/doc/Makefile \ modules/websession/doc/admin/Makefile \ modules/websession/doc/hacking/Makefile \ modules/websession/lib/Makefile \ modules/websession/web/Makefile \ modules/webstat/Makefile \ modules/webstat/bin/Makefile \ modules/webstat/bin/webstat \ modules/webstat/doc/Makefile \ modules/webstat/doc/admin/Makefile \ modules/webstat/doc/hacking/Makefile \ modules/webstat/etc/Makefile \ modules/webstat/lib/Makefile \ modules/webstyle/Makefile \ modules/webstyle/css/Makefile \ modules/webstyle/doc/Makefile \ modules/webstyle/doc/admin/Makefile \ modules/webstyle/doc/hacking/Makefile \ modules/webstyle/img/Makefile \ modules/webstyle/lib/Makefile \ modules/webcomment/Makefile \ modules/webcomment/doc/Makefile \ modules/webcomment/doc/admin/Makefile \ modules/webcomment/doc/hacking/Makefile \ modules/webcomment/lib/Makefile \ modules/webcomment/web/Makefile \ modules/webcomment/web/admin/Makefile \ modules/webbasket/Makefile \ modules/webbasket/doc/Makefile \ modules/webbasket/doc/admin/Makefile \ modules/webbasket/doc/hacking/Makefile \ modules/webbasket/lib/Makefile \ modules/webbasket/web/Makefile \ modules/webmessage/Makefile \ modules/webmessage/bin/Makefile \ modules/webmessage/bin/webmessageadmin \ modules/webmessage/doc/Makefile \ modules/webmessage/doc/admin/Makefile \ modules/webmessage/doc/hacking/Makefile \ modules/webmessage/lib/Makefile \ modules/webmessage/web/Makefile \ modules/websubmit/Makefile \ modules/websubmit/bin/Makefile \ modules/websubmit/bin/thumbmaker \ modules/websubmit/etc/Makefile \ modules/websubmit/etc/bibconvert/Makefile \ modules/websubmit/etc/bibconvert/KB/Makefile \ modules/websubmit/etc/bibconvert/config/Makefile \ modules/websubmit/etc/bibconvert/config/EDSPICTcreate.tpl \ modules/websubmit/etc/bibconvert/config/EDSRPICTcreate.tpl \ modules/websubmit/etc/bibconvert/config/EDSTEXTcreate.tpl \ modules/websubmit/etc/bibconvert/config/EDSRTEXTcreate.tpl \ modules/websubmit/doc/Makefile \ modules/websubmit/doc/admin/Makefile \ modules/websubmit/doc/hacking/Makefile \ modules/websubmit/lib/Makefile \ modules/websubmit/lib/functions/Makefile \ modules/websubmit/web/Makefile \ modules/websubmit/web/admin/Makefile \ ]) AC_CONFIG_COMMANDS(.wmlrc, [ cat<.wmlrc -Iconfig -I${srcdir}/config EOF ]) ## Finally, write output files: AC_OUTPUT ## Write help: AC_MSG_RESULT([****************************************************************************]) AC_MSG_RESULT([** Your CDS Invenio installation is now ready for building. **]) AC_MSG_RESULT([** You have entered the following parameters: **]) AC_MSG_RESULT([** - CDS Invenio main install directory: ${prefix}]) AC_MSG_RESULT([** - Web home URL: $WEBURL]) AC_MSG_RESULT([** - Secure web home URL: $SWEBURL]) AC_MSG_RESULT([** - DB server: $DBHOST]) AC_MSG_RESULT([** - DB name: $DBNAME]) AC_MSG_RESULT([** - DB username: $DBUSER]) AC_MSG_RESULT([** - DB password: $DBPASS]) +AC_MSG_RESULT([** - SMTP server: $SMTPHOST]) AC_MSG_RESULT([** - Python executable: $PYTHON]) AC_MSG_RESULT([** - CLISP executable: $CLISP]) AC_MSG_RESULT([** - CMUCL executable: $CMUCL]) AC_MSG_RESULT([** - SBCL executable: $SBCL]) AC_MSG_RESULT([** Here are the steps to continue the building process: **]) AC_MSG_RESULT([** 1) Customize self-explanatory config file './config/config.wml'. **]) AC_MSG_RESULT([** 2) Type 'make' to build your customized CDS Invenio installation. **]) AC_MSG_RESULT([** 3) Type 'make create-tables' if you have not created tables before. **]) AC_MSG_RESULT([** 4) Type 'make install' to install the system. **]) AC_MSG_RESULT([** 5) Type 'make create-demo-site' to install and test the demo site. **]) AC_MSG_RESULT([** Good luck, and thanks for choosing CDS Invenio. **]) AC_MSG_RESULT([** -- CDS Development Group **]) AC_MSG_RESULT([****************************************************************************]) ## end of file diff --git a/modules/miscutil/demo/democfgdata.sql.wml b/modules/miscutil/demo/democfgdata.sql.wml index c4fcd4d41..075af86bf 100644 --- a/modules/miscutil/demo/democfgdata.sql.wml +++ b/modules/miscutil/demo/democfgdata.sql.wml @@ -1,2290 +1,2290 @@ #include "config.wml" #include "configbis.wml" INSERT INTO accROLE VALUES (4,'thesesviewer','theses viewer',NULL,'allow group "Theses viewers"'); INSERT INTO accARGUMENT VALUES (2,'collection','Theses'); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (4,22,2,1); -INSERT INTO user_accROLE VALUES (1,4); -INSERT INTO user VALUES (2,'jekyll@cern.ch',AES_ENCRYPT(email,'j123ekyll'),'1',NULL,'jekyll',NOW(), '0000-00-00', NULL); -INSERT INTO user VALUES (3,'hyde@cern.ch',AES_ENCRYPT(email,'h123yde'),'1',NULL,'hyde',NOW(), '0000-00-00', NULL); +INSERT INTO user_accROLE VALUES (1,4,'9999-12-31 23:59:59'); +INSERT INTO user VALUES (2,'jekyll@cern.ch',AES_ENCRYPT(email,'j123ekyll'),'1',NULL,'jekyll',NOW()); +INSERT INTO user VALUES (3,'hyde@cern.ch',AES_ENCRYPT(email,'h123yde'),'1',NULL,'hyde',NOW()); INSERT INTO usergroup VALUES (1,'Theses viewers','Theses viewers internal group','VO','INTERNAL'); INSERT INTO user_usergroup VALUES (2,1,'M',NOW()); INSERT INTO collection VALUES (2,'Preprints','collection:PREPRINT',NULL,NULL,NULL); INSERT INTO collection VALUES (3,'Books','collection:BOOK',NULL,NULL,NULL); INSERT INTO collection VALUES (4,'Theses','collection:THESIS',NULL,NULL,'theses'); INSERT INTO collection VALUES (5,'Reports','collection:REPORT',NULL,NULL,NULL); INSERT INTO collection VALUES (6,'Articles','collection:ARTICLE',NULL,NULL,NULL); INSERT INTO collection VALUES (8,'Pictures','collection:PICTURE',NULL,NULL,NULL); INSERT INTO collection VALUES (9,'CERN Divisions',NULL,NULL,NULL,NULL); INSERT INTO collection VALUES (10,'CERN Experiments',NULL,NULL,NULL,NULL); INSERT INTO collection VALUES (11,'Theoretical Physics (TH)','division:TH',NULL,NULL,NULL); INSERT INTO collection VALUES (12,'Experimental Physics (EP)','division:EP',NULL,NULL,NULL); INSERT INTO collection VALUES (13,'ISOLDE','experiment:ISOLDE',NULL,NULL,NULL); INSERT INTO collection VALUES (14,'ALEPH','experiment:ALEPH',NULL,NULL,NULL); INSERT INTO collection VALUES (15,'Articles & Preprints',NULL,NULL,NULL,NULL); INSERT INTO collection VALUES (16,'Books & Reports',NULL,NULL,NULL,NULL); INSERT INTO collection VALUES (17,'Multimedia & Arts',NULL,NULL,NULL,NULL); INSERT INTO collection VALUES (18,'Poetry','collection:POETRY',NULL,NULL,NULL); INSERT INTO collectionname VALUES (2,'en','ln','Preprints'); INSERT INTO collectionname VALUES (2,'fr','ln','Prétirages'); INSERT INTO collectionname VALUES (2,'de','ln','Preprints'); INSERT INTO collectionname VALUES (2,'es','ln','Preprints'); INSERT INTO collectionname VALUES (2,'ca','ln','Preprints'); INSERT INTO collectionname VALUES (2,'pl','ln','Preprinty'); INSERT INTO collectionname VALUES (2,'pt','ln','Preprints'); INSERT INTO collectionname VALUES (2,'it','ln','Preprint'); INSERT INTO collectionname VALUES (2,'ru','ln','Препринты'); INSERT INTO collectionname VALUES (2,'sk','ln','Preprinty'); INSERT INTO collectionname VALUES (2,'cs','ln','Preprinty'); INSERT INTO collectionname VALUES (2,'no','ln','Førtrykk'); INSERT INTO collectionname VALUES (2,'sv','ln','Preprints'); INSERT INTO collectionname VALUES (2,'el','ln','Προδημοσιεύσεις'); INSERT INTO collectionname VALUES (2,'uk','ln','Препринти'); INSERT INTO collectionname VALUES (2,'ja','ln','プレプリント'); INSERT INTO collectionname VALUES (2,'bg','ln','Препринти'); INSERT INTO collectionname VALUES (2,'hr','ln','Preprinti'); INSERT INTO collectionname VALUES (2,'zh_CN','ln','预印'); INSERT INTO collectionname VALUES (2,'zh_TW','ln','預印'); INSERT INTO collectionname VALUES (3,'en','ln','Books'); INSERT INTO collectionname VALUES (3,'fr','ln','Livres'); INSERT INTO collectionname VALUES (3,'de','ln','Bücher'); INSERT INTO collectionname VALUES (3,'es','ln','Libros'); INSERT INTO collectionname VALUES (3,'ca','ln','Llibres'); INSERT INTO collectionname VALUES (3,'pl','ln','Książki'); INSERT INTO collectionname VALUES (3,'pt','ln','Livros'); INSERT INTO collectionname VALUES (3,'it','ln','Libri'); INSERT INTO collectionname VALUES (3,'ru','ln','Книги'); INSERT INTO collectionname VALUES (3,'sk','ln','Knihy'); INSERT INTO collectionname VALUES (3,'cs','ln','Knihy'); INSERT INTO collectionname VALUES (3,'no','ln','Bøker'); INSERT INTO collectionname VALUES (3,'sv','ln',''); INSERT INTO collectionname VALUES (3,'el','ln','Βιβλία'); INSERT INTO collectionname VALUES (3,'uk','ln','Книги'); INSERT INTO collectionname VALUES (3,'ja','ln','本'); INSERT INTO collectionname VALUES (3,'bg','ln','Книги'); INSERT INTO collectionname VALUES (3,'hr','ln','Knjige'); INSERT INTO collectionname VALUES (3,'zh_CN','ln','书本'); INSERT INTO collectionname VALUES (3,'zh_TW','ln','書本'); INSERT INTO collectionname VALUES (4,'en','ln','Theses'); INSERT INTO collectionname VALUES (4,'fr','ln','Thèses'); INSERT INTO collectionname VALUES (4,'de','ln','Dissertationen'); INSERT INTO collectionname VALUES (4,'es','ln','Tesis'); INSERT INTO collectionname VALUES (4,'ca','ln','Tesis'); INSERT INTO collectionname VALUES (4,'pl','ln','Prace naukowe'); INSERT INTO collectionname VALUES (4,'pt','ln','Teses'); INSERT INTO collectionname VALUES (4,'it','ln','Tesi'); INSERT INTO collectionname VALUES (4,'ru','ln','Диссертации'); INSERT INTO collectionname VALUES (4,'sk','ln','Dizertácie'); INSERT INTO collectionname VALUES (4,'cs','ln','Disertace'); INSERT INTO collectionname VALUES (4,'no','ln','Avhandlinger'); INSERT INTO collectionname VALUES (4,'sv','ln',''); INSERT INTO collectionname VALUES (4,'el','ln','Διατριβές'); INSERT INTO collectionname VALUES (4,'uk','ln','Дисертації'); INSERT INTO collectionname VALUES (4,'ja','ln','説'); INSERT INTO collectionname VALUES (4,'bg','ln','Дисертации'); INSERT INTO collectionname VALUES (4,'hr','ln','Disertacije'); INSERT INTO collectionname VALUES (4,'zh_CN','ln','论文'); INSERT INTO collectionname VALUES (4,'zh_TW','ln','論文'); INSERT INTO collectionname VALUES (5,'en','ln','Reports'); INSERT INTO collectionname VALUES (5,'fr','ln','Rapports'); INSERT INTO collectionname VALUES (5,'de','ln','Reports'); INSERT INTO collectionname VALUES (5,'es','ln','Informes'); INSERT INTO collectionname VALUES (5,'ca','ln','Informes'); INSERT INTO collectionname VALUES (5,'pl','ln','Raporty'); INSERT INTO collectionname VALUES (5,'pt','ln','Relatórios'); INSERT INTO collectionname VALUES (5,'it','ln','Rapporti'); INSERT INTO collectionname VALUES (5,'ru','ln','Рапорты'); INSERT INTO collectionname VALUES (5,'sk','ln','Správy'); INSERT INTO collectionname VALUES (5,'cs','ln','Zprávy'); INSERT INTO collectionname VALUES (5,'no','ln','Rapporter'); INSERT INTO collectionname VALUES (5,'sv','ln',''); INSERT INTO collectionname VALUES (5,'el','ln','Αναφορές'); INSERT INTO collectionname VALUES (5,'uk','ln','Звіти'); INSERT INTO collectionname VALUES (5,'ja','ln','レポート'); INSERT INTO collectionname VALUES (5,'bg','ln','Доклади'); INSERT INTO collectionname VALUES (5,'hr','ln','Izvještaji'); INSERT INTO collectionname VALUES (5,'zh_CN','ln','报告'); INSERT INTO collectionname VALUES (5,'zh_TW','ln','報告'); INSERT INTO collectionname VALUES (6,'en','ln','Articles'); INSERT INTO collectionname VALUES (6,'fr','ln','Articles'); INSERT INTO collectionname VALUES (6,'de','ln','Artikel'); INSERT INTO collectionname VALUES (6,'es','ln','Articulos'); INSERT INTO collectionname VALUES (6,'ca','ln','Articles'); INSERT INTO collectionname VALUES (6,'pl','ln','Artykuły'); INSERT INTO collectionname VALUES (6,'pt','ln','Artigos'); INSERT INTO collectionname VALUES (6,'it','ln','Articoli'); INSERT INTO collectionname VALUES (6,'ru','ln','Статьи'); INSERT INTO collectionname VALUES (6,'sk','ln','Články'); INSERT INTO collectionname VALUES (6,'cs','ln','Články'); INSERT INTO collectionname VALUES (6,'no','ln','Artikler'); INSERT INTO collectionname VALUES (6,'sv','ln',''); INSERT INTO collectionname VALUES (6,'el','ln',"Άρθρα"); INSERT INTO collectionname VALUES (6,'uk','ln','Статті'); INSERT INTO collectionname VALUES (6,'ja','ln','記事'); INSERT INTO collectionname VALUES (6,'bg','ln','Статии'); INSERT INTO collectionname VALUES (6,'hr','ln','Članci'); INSERT INTO collectionname VALUES (6,'zh_CN','ln','文章'); INSERT INTO collectionname VALUES (6,'zh_TW','ln','文章'); INSERT INTO collectionname VALUES (8,'en','ln','Pictures'); INSERT INTO collectionname VALUES (8,'fr','ln','Photos'); INSERT INTO collectionname VALUES (8,'de','ln','Fotos'); INSERT INTO collectionname VALUES (8,'es','ln','Imagenes'); INSERT INTO collectionname VALUES (8,'ca','ln','Imatges'); INSERT INTO collectionname VALUES (8,'pl','ln','Obrazy'); INSERT INTO collectionname VALUES (8,'pt','ln','Fotografias'); INSERT INTO collectionname VALUES (8,'it','ln','Foto'); INSERT INTO collectionname VALUES (8,'ru','ln','Фотографии'); INSERT INTO collectionname VALUES (8,'sk','ln','Fotografie'); INSERT INTO collectionname VALUES (8,'cs','ln','Fotografie'); INSERT INTO collectionname VALUES (8,'no','ln','Fotografier'); INSERT INTO collectionname VALUES (8,'sv','ln',''); INSERT INTO collectionname VALUES (8,'el','ln','Εικόνες'); INSERT INTO collectionname VALUES (8,'uk','ln','Зображення'); INSERT INTO collectionname VALUES (8,'ja','ln','映像'); INSERT INTO collectionname VALUES (8,'bg','ln','Снимки'); INSERT INTO collectionname VALUES (8,'hr','ln','Slike'); INSERT INTO collectionname VALUES (8,'zh_CN','ln','图片'); INSERT INTO collectionname VALUES (8,'zh_TW','ln','圖片'); INSERT INTO collectionname VALUES (9,'en','ln','CERN Divisions'); INSERT INTO collectionname VALUES (9,'fr','ln','Divisions du CERN'); INSERT INTO collectionname VALUES (9,'de','ln','Abteilungen des CERN'); INSERT INTO collectionname VALUES (9,'es','ln','Divisiones del CERN'); INSERT INTO collectionname VALUES (9,'ca','ln','Divisions del CERN'); INSERT INTO collectionname VALUES (9,'pl','ln','Działy CERN'); INSERT INTO collectionname VALUES (9,'pt','ln','Divisões do CERN'); INSERT INTO collectionname VALUES (9,'it','ln','Divisioni del CERN'); INSERT INTO collectionname VALUES (9,'ru','ln','Разделения CERNа'); INSERT INTO collectionname VALUES (9,'sk','ln','Oddelenia CERNu'); INSERT INTO collectionname VALUES (9,'cs','ln','Oddělení CERNu'); INSERT INTO collectionname VALUES (9,'no','ln','Divisjoner ved CERN'); INSERT INTO collectionname VALUES (9,'sv','ln',''); INSERT INTO collectionname VALUES (9,'el','ln','Τομείς του CERN'); INSERT INTO collectionname VALUES (9,'uk','ln','Підрозділи CERN'); INSERT INTO collectionname VALUES (9,'ja','ln','CERN 部'); INSERT INTO collectionname VALUES (9,'bg','ln','Отдели в CERN'); INSERT INTO collectionname VALUES (9,'hr','ln','Odjeli CERN-a'); INSERT INTO collectionname VALUES (9,'zh_CN','ln','CERN 分类'); INSERT INTO collectionname VALUES (9,'zh_TW','ln','CERN 分類'); INSERT INTO collectionname VALUES (10,'en','ln','CERN Experiments'); INSERT INTO collectionname VALUES (10,'fr','ln','Expériences du CERN'); INSERT INTO collectionname VALUES (10,'de','ln','Experimente des CERN'); INSERT INTO collectionname VALUES (10,'es','ln','Experimentos del CERN'); INSERT INTO collectionname VALUES (10,'ca','ln','Experiments del CERN'); INSERT INTO collectionname VALUES (10,'pl','ln','Eksperymenty CERN'); INSERT INTO collectionname VALUES (10,'pt','ln','Experimentos do CERN'); INSERT INTO collectionname VALUES (10,'it','ln','Esperimenti del CERN'); INSERT INTO collectionname VALUES (10,'ru','ln','Эксперименты CERNа'); INSERT INTO collectionname VALUES (10,'sk','ln','Experimenty CERNu'); INSERT INTO collectionname VALUES (10,'cs','ln','Experimenty CERNu'); INSERT INTO collectionname VALUES (10,'no','ln','Eksperimenter ved CERN'); INSERT INTO collectionname VALUES (10,'sv','ln',''); INSERT INTO collectionname VALUES (10,'el','ln','Πειράματα του CERN'); INSERT INTO collectionname VALUES (10,'uk','ln','Експерименти CERN'); INSERT INTO collectionname VALUES (10,'ja','ln','CERN の実験'); INSERT INTO collectionname VALUES (10,'bg','ln','Експерименти в CERN'); INSERT INTO collectionname VALUES (10,'hr','ln','Eksperimenti CERN-a'); INSERT INTO collectionname VALUES (10,'zh_CN','ln','CERN 实验'); INSERT INTO collectionname VALUES (10,'zh_TW','ln','CERN 實驗'); INSERT INTO collectionname VALUES (11,'en','ln','Theoretical Physics (TH)'); INSERT INTO collectionname VALUES (11,'fr','ln','Physique Théorique (TH)'); INSERT INTO collectionname VALUES (11,'de','ln','Theoretische Physik (TH)'); INSERT INTO collectionname VALUES (11,'es','ln','Física teórica (TH)'); INSERT INTO collectionname VALUES (11,'ca','ln','Física teòrica (TH)'); INSERT INTO collectionname VALUES (11,'pl','ln','Fizyka Teoretyczna (TH)'); INSERT INTO collectionname VALUES (11,'pt','ln','Física Teórica (TH)'); INSERT INTO collectionname VALUES (11,'it','ln','Fisica Teorica (TH)'); INSERT INTO collectionname VALUES (11,'ru','ln','Теоретическая физика (TH)'); INSERT INTO collectionname VALUES (11,'sk','ln','Teoretická fyzika (TH)'); INSERT INTO collectionname VALUES (11,'cs','ln','Teoretická fyzika (TH)'); INSERT INTO collectionname VALUES (11,'no','ln','Teoretisk fysikk (TH)'); INSERT INTO collectionname VALUES (11,'sv','ln',''); INSERT INTO collectionname VALUES (11,'el','ln','Θεωρητική Φυσική (TH)'); INSERT INTO collectionname VALUES (11,'uk','ln','Теоретична фізика (TH)'); INSERT INTO collectionname VALUES (11,'ja','ln','理論的な物理学 (TH)'); INSERT INTO collectionname VALUES (11,'bg','ln','Теоретична физика (TH)'); INSERT INTO collectionname VALUES (11,'hr','ln','Teorijska fizika (TH)'); INSERT INTO collectionname VALUES (11,'zh_CN','ln','理论物理 (TH)'); INSERT INTO collectionname VALUES (11,'zh_TW','ln','理論物理 (TH)'); INSERT INTO collectionname VALUES (12,'en','ln','Experimental Physics (EP)'); INSERT INTO collectionname VALUES (12,'fr','ln','Physique Expérimentale (EP)'); INSERT INTO collectionname VALUES (12,'de','ln','Experimentelle Physik (EP)'); INSERT INTO collectionname VALUES (12,'es','ln','Física experimental (FE)'); INSERT INTO collectionname VALUES (12,'ca','ln','Física experimental (EP)'); INSERT INTO collectionname VALUES (12,'pl','ln','Fizyka Doświadczalna (EP)'); INSERT INTO collectionname VALUES (12,'pt','ln','Física Experimental (EP)'); INSERT INTO collectionname VALUES (12,'it','ln','Fisica Sperimentale (EP)'); INSERT INTO collectionname VALUES (12,'ru','ln','Экспериментальная Физика (EP)'); INSERT INTO collectionname VALUES (12,'sk','ln','Experimentálna fyzika (EP)'); INSERT INTO collectionname VALUES (12,'cs','ln','Experimentální fyzika (EP)'); INSERT INTO collectionname VALUES (12,'no','ln','Eksperimentell fysikk (EP)'); INSERT INTO collectionname VALUES (12,'sv','ln',''); INSERT INTO collectionname VALUES (12,'el','ln','Πειραματική Φυσική (EP)'); INSERT INTO collectionname VALUES (12,'uk','ln','Експериментальна фізика (EP)'); INSERT INTO collectionname VALUES (12,'ja','ln','実験物理学 (EP)'); INSERT INTO collectionname VALUES (12,'bg','ln','Експериментална физика (EP)'); INSERT INTO collectionname VALUES (12,'hr','ln','Eksperimentalna fizika (EP)'); INSERT INTO collectionname VALUES (12,'zh_CN','ln','实验物理 (EP)'); INSERT INTO collectionname VALUES (12,'zh_TW','ln','實驗物理 (EP)'); INSERT INTO collectionname VALUES (13,'en','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'fr','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'de','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'es','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'ca','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'pl','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'pt','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'it','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'ru','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'sk','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'cs','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'no','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'sv','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'el','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'uk','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'ja','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'bg','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'hr','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'zh_CN','ln','ISOLDE'); INSERT INTO collectionname VALUES (13,'zh_TW','ln','ISOLDE'); INSERT INTO collectionname VALUES (14,'en','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'fr','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'de','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'es','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'ca','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'pl','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'pt','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'it','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'ru','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'sk','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'cs','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'no','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'sv','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'el','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'uk','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'ja','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'bg','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'hr','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'zh_CN','ln','ALEPH'); INSERT INTO collectionname VALUES (14,'zh_TW','ln','ALEPH'); INSERT INTO collectionname VALUES (15,'en','ln','Articles & Preprints'); INSERT INTO collectionname VALUES (15,'fr','ln','Articles et Prétirages'); INSERT INTO collectionname VALUES (15,'de','ln','Artikel & Preprints'); INSERT INTO collectionname VALUES (15,'es','ln','Articulos y preprints'); INSERT INTO collectionname VALUES (15,'ca','ln','Articles i preprints'); INSERT INTO collectionname VALUES (15,'pl','ln','Artykuły i Preprinty'); INSERT INTO collectionname VALUES (15,'pt','ln','Artigos e Preprints'); INSERT INTO collectionname VALUES (15,'it','ln','Articoli e Preprint'); INSERT INTO collectionname VALUES (15,'ru','ln','Статьи и Препринты'); INSERT INTO collectionname VALUES (15,'sk','ln','Články a Preprinty'); INSERT INTO collectionname VALUES (15,'cs','ln','Články a Preprinty'); INSERT INTO collectionname VALUES (15,'no','ln','Artikler og Førtrykk'); INSERT INTO collectionname VALUES (15,'sv','ln',''); INSERT INTO collectionname VALUES (15,'el','ln',"Άρθρα & Προδημοσιεύσεις"); INSERT INTO collectionname VALUES (15,'uk','ln','Статті та Препринти'); INSERT INTO collectionname VALUES (15,'ja','ln','記事及びプレプリント'); INSERT INTO collectionname VALUES (15,'bg','ln','Статии и Препринти'); INSERT INTO collectionname VALUES (15,'hr','ln','Članci i Preprinti'); INSERT INTO collectionname VALUES (15,'zh_CN','ln','文章和预印'); INSERT INTO collectionname VALUES (15,'zh_TW','ln','文章和預印'); INSERT INTO collectionname VALUES (16,'en','ln','Books & Reports'); INSERT INTO collectionname VALUES (16,'fr','ln','Livres et Rapports'); INSERT INTO collectionname VALUES (16,'de','ln','Monographien & Reports'); INSERT INTO collectionname VALUES (16,'es','ln','Libros e informes'); INSERT INTO collectionname VALUES (16,'ca','ln','Llibres i informes'); INSERT INTO collectionname VALUES (16,'pl','ln','Książki i Raporty'); INSERT INTO collectionname VALUES (16,'pt','ln','Livros e Relatórios'); INSERT INTO collectionname VALUES (16,'it','ln','Libri e Rapporti'); INSERT INTO collectionname VALUES (16,'ru','ln','Книги и Рапорты'); INSERT INTO collectionname VALUES (16,'sk','ln','Knihy a Správy'); INSERT INTO collectionname VALUES (16,'cs','ln','Knihy a Zprávy'); INSERT INTO collectionname VALUES (16,'no','ln','Bøker og Rapporter'); INSERT INTO collectionname VALUES (16,'sv','ln',''); INSERT INTO collectionname VALUES (16,'el','ln','Βιβλία & Αναφορές'); INSERT INTO collectionname VALUES (16,'uk','ln','Книги та Звіти'); INSERT INTO collectionname VALUES (16,'ja','ln','本及びレポート'); INSERT INTO collectionname VALUES (16,'bg','ln','Книги и Доклади'); INSERT INTO collectionname VALUES (16,'hr','ln','Knjige i Izvještaji'); INSERT INTO collectionname VALUES (16,'zh_CN','ln','书本和报告'); INSERT INTO collectionname VALUES (16,'zh_TW','ln','書本和報告'); INSERT INTO collectionname VALUES (17,'en','ln','Multimedia & Arts'); INSERT INTO collectionname VALUES (17,'fr','ln','Multimédia et Arts'); INSERT INTO collectionname VALUES (17,'de','ln','Multimedia & Kunst'); INSERT INTO collectionname VALUES (17,'es','ln','Multimedia y artes'); INSERT INTO collectionname VALUES (17,'ca','ln','Multimèdia i arts'); INSERT INTO collectionname VALUES (17,'pl','ln','Multimedia i Sztuka'); INSERT INTO collectionname VALUES (17,'pt','ln','Multimédia e Artes'); INSERT INTO collectionname VALUES (17,'it','ln','Multimedia e Arti'); INSERT INTO collectionname VALUES (17,'ru','ln','Мультимедиа и Исскуство'); INSERT INTO collectionname VALUES (17,'sk','ln','Multimédia a Umenie'); INSERT INTO collectionname VALUES (17,'cs','ln','Multimédia a Umění'); INSERT INTO collectionname VALUES (17,'no','ln','Multimedia og Grafikk'); INSERT INTO collectionname VALUES (17,'sv','ln',''); INSERT INTO collectionname VALUES (17,'el','ln','Πολυμέσα & Τέχνες'); INSERT INTO collectionname VALUES (17,'uk','ln','Мультимедіа та Мистецтво'); INSERT INTO collectionname VALUES (17,'ja','ln','マルチメディア及び芸術'); INSERT INTO collectionname VALUES (17,'bg','ln','Мултимедия и Изкуства'); INSERT INTO collectionname VALUES (17,'hr','ln','Multimedija i Umjetnost'); INSERT INTO collectionname VALUES (17,'zh_CN','ln','多媒体和艺术'); INSERT INTO collectionname VALUES (17,'zh_TW','ln','多媒體和藝術'); INSERT INTO collectionname VALUES (18,'en','ln','Poetry'); INSERT INTO collectionname VALUES (18,'fr','ln','Poésie'); INSERT INTO collectionname VALUES (18,'de','ln','Poesie'); INSERT INTO collectionname VALUES (18,'es','ln','Poesía'); INSERT INTO collectionname VALUES (18,'ca','ln','Poesia'); INSERT INTO collectionname VALUES (18,'pl','ln','Poezja'); INSERT INTO collectionname VALUES (18,'pt','ln','Poesia'); INSERT INTO collectionname VALUES (18,'it','ln','Poesia'); INSERT INTO collectionname VALUES (18,'ru','ln','Поэзия'); INSERT INTO collectionname VALUES (18,'sk','ln','Poézia'); INSERT INTO collectionname VALUES (18,'cs','ln','Poezie'); INSERT INTO collectionname VALUES (18,'no','ln','Poesi'); INSERT INTO collectionname VALUES (18,'sv','ln',''); INSERT INTO collectionname VALUES (18,'el','ln','Ποίηση'); INSERT INTO collectionname VALUES (18,'uk','ln','Поезія'); INSERT INTO collectionname VALUES (18,'ja','ln','詩歌'); INSERT INTO collectionname VALUES (18,'bg','ln','Поезия'); INSERT INTO collectionname VALUES (18,'hr','ln','Poezija'); INSERT INTO collectionname VALUES (18,'zh_CN','ln','诗歌'); INSERT INTO collectionname VALUES (18,'zh_TW','ln','詩歌'); INSERT INTO collection_collection VALUES (1,15,'r',60); INSERT INTO collection_collection VALUES (1,16,'r',40); INSERT INTO collection_collection VALUES (1,17,'r',30); INSERT INTO collection_collection VALUES (15,6,'r',20); INSERT INTO collection_collection VALUES (15,2,'r',10); INSERT INTO collection_collection VALUES (16,3,'r',30); INSERT INTO collection_collection VALUES (16,4,'r',20); INSERT INTO collection_collection VALUES (16,5,'r',10); INSERT INTO collection_collection VALUES (17,8,'r',20); INSERT INTO collection_collection VALUES (17,18,'r',10); INSERT INTO collection_collection VALUES (1,9,'v',20); INSERT INTO collection_collection VALUES (1,10,'v',10); INSERT INTO collection_collection VALUES (9,11,'r',10); INSERT INTO collection_collection VALUES (9,12,'r',20); INSERT INTO collection_collection VALUES (10,13,'r',10); INSERT INTO collection_collection VALUES (10,14,'r',20); INSERT INTO collection_example VALUES (1,1,1); INSERT INTO collection_example VALUES (1,5,2); INSERT INTO collection_example VALUES (1,8,3); INSERT INTO collection_example VALUES (1,7,5); INSERT INTO collection_example VALUES (1,6,4); INSERT INTO collection_example VALUES (1,4,6); INSERT INTO collection_example VALUES (1,3,7); INSERT INTO collection_example VALUES (1,13,50); INSERT INTO collection_example VALUES (1,2,8); INSERT INTO collection_example VALUES (2,1,1); INSERT INTO collection_example VALUES (2,5,2); INSERT INTO collection_example VALUES (2,8,3); INSERT INTO collection_example VALUES (2,7,5); INSERT INTO collection_example VALUES (2,6,4); INSERT INTO collection_example VALUES (2,4,6); INSERT INTO collection_example VALUES (2,3,7); INSERT INTO collection_example VALUES (2,2,8); INSERT INTO collection_example VALUES (3,6,30); INSERT INTO collection_example VALUES (3,17,10); INSERT INTO collection_example VALUES (3,18,20); INSERT INTO collection_example VALUES (4,1,1); INSERT INTO collection_example VALUES (4,5,2); INSERT INTO collection_example VALUES (4,8,3); INSERT INTO collection_example VALUES (4,7,5); INSERT INTO collection_example VALUES (4,6,4); INSERT INTO collection_example VALUES (4,4,6); INSERT INTO collection_example VALUES (4,3,7); INSERT INTO collection_example VALUES (4,2,8); INSERT INTO collection_example VALUES (5,1,1); INSERT INTO collection_example VALUES (5,5,2); INSERT INTO collection_example VALUES (5,8,3); INSERT INTO collection_example VALUES (5,7,5); INSERT INTO collection_example VALUES (5,6,4); INSERT INTO collection_example VALUES (5,4,6); INSERT INTO collection_example VALUES (5,3,7); INSERT INTO collection_example VALUES (5,2,8); INSERT INTO collection_example VALUES (6,1,10); INSERT INTO collection_example VALUES (6,5,20); INSERT INTO collection_example VALUES (6,8,30); INSERT INTO collection_example VALUES (6,0,27); INSERT INTO collection_example VALUES (6,4,40); INSERT INTO collection_example VALUES (6,3,60); INSERT INTO collection_example VALUES (6,2,80); INSERT INTO collection_example VALUES (8,14,10); INSERT INTO collection_example VALUES (8,15,20); INSERT INTO collection_example VALUES (8,16,30); INSERT INTO collection_example VALUES (15,0,27); INSERT INTO collection_example VALUES (15,1,1); INSERT INTO collection_example VALUES (15,2,8); INSERT INTO collection_example VALUES (15,3,60); INSERT INTO collection_example VALUES (15,4,40); INSERT INTO collection_example VALUES (15,5,2); INSERT INTO collection_example VALUES (15,6,4); INSERT INTO collection_example VALUES (15,7,5); INSERT INTO collection_example VALUES (15,8,3); INSERT INTO collection_example VALUES (16,1,1); INSERT INTO collection_example VALUES (16,2,8); INSERT INTO collection_example VALUES (16,3,7); INSERT INTO collection_example VALUES (16,4,6); INSERT INTO collection_example VALUES (16,5,2); INSERT INTO collection_example VALUES (16,6,4); INSERT INTO collection_example VALUES (16,7,5); INSERT INTO collection_example VALUES (16,8,3); INSERT INTO collection_example VALUES (17,14,10); INSERT INTO collection_example VALUES (17,15,20); INSERT INTO collection_example VALUES (17,16,30); INSERT INTO collection_field_fieldvalue VALUES (2,7,7,'seo',10,18); INSERT INTO collection_field_fieldvalue VALUES (2,7,6,'seo',10,19); INSERT INTO collection_field_fieldvalue VALUES (2,7,5,'seo',10,20); INSERT INTO collection_field_fieldvalue VALUES (2,7,4,'seo',10,21); INSERT INTO collection_field_fieldvalue VALUES (6,7,1,'seo',2,24); INSERT INTO collection_field_fieldvalue VALUES (6,7,2,'seo',2,23); INSERT INTO collection_field_fieldvalue VALUES (6,7,3,'seo',2,22); INSERT INTO collection_field_fieldvalue VALUES (6,7,4,'seo',2,21); INSERT INTO collection_field_fieldvalue VALUES (6,7,5,'seo',2,20); INSERT INTO collection_field_fieldvalue VALUES (6,7,6,'seo',2,19); INSERT INTO collection_field_fieldvalue VALUES (6,7,7,'seo',2,18); INSERT INTO collection_field_fieldvalue VALUES (6,7,8,'seo',2,17); INSERT INTO collection_field_fieldvalue VALUES (6,7,9,'seo',2,16); INSERT INTO collection_field_fieldvalue VALUES (6,7,10,'seo',2,15); INSERT INTO collection_field_fieldvalue VALUES (6,7,11,'seo',2,14); INSERT INTO collection_field_fieldvalue VALUES (6,7,12,'seo',2,13); INSERT INTO collection_field_fieldvalue VALUES (6,7,13,'seo',2,12); INSERT INTO collection_field_fieldvalue VALUES (6,7,14,'seo',2,11); INSERT INTO collection_field_fieldvalue VALUES (6,7,15,'seo',2,10); INSERT INTO collection_field_fieldvalue VALUES (6,7,16,'seo',2,9); INSERT INTO collection_field_fieldvalue VALUES (6,7,17,'seo',2,8); INSERT INTO collection_field_fieldvalue VALUES (6,7,18,'seo',2,7); INSERT INTO collection_field_fieldvalue VALUES (6,7,19,'seo',2,6); INSERT INTO collection_field_fieldvalue VALUES (6,7,20,'seo',2,5); INSERT INTO collection_field_fieldvalue VALUES (6,7,21,'seo',2,4); INSERT INTO collection_field_fieldvalue VALUES (6,7,22,'seo',2,3); INSERT INTO collection_field_fieldvalue VALUES (6,7,23,'seo',2,2); INSERT INTO collection_field_fieldvalue VALUES (6,7,24,'seo',2,1); INSERT INTO collection_field_fieldvalue VALUES (2,7,3,'seo',10,22); INSERT INTO collection_field_fieldvalue VALUES (2,7,2,'seo',10,23); INSERT INTO collection_field_fieldvalue VALUES (6,8,NULL,'sew',2,0); INSERT INTO collection_field_fieldvalue VALUES (2,7,1,'seo',10,24); INSERT INTO collection_field_fieldvalue VALUES (6,4,NULL,'sew',4,70); INSERT INTO collection_field_fieldvalue VALUES (6,2,NULL,'sew',3,70); INSERT INTO collection_field_fieldvalue VALUES (6,5,NULL,'sew',1,70); INSERT INTO collection_field_fieldvalue VALUES (6,11,25,'seo',1,1); INSERT INTO collection_field_fieldvalue VALUES (6,11,26,'seo',1,2); INSERT INTO collection_field_fieldvalue VALUES (8,7,27,'seo',10,3); INSERT INTO collection_field_fieldvalue VALUES (8,7,28,'seo',10,1); INSERT INTO collection_field_fieldvalue VALUES (8,7,29,'seo',10,4); INSERT INTO collection_field_fieldvalue VALUES (8,7,30,'seo',10,2); INSERT INTO collection_field_fieldvalue VALUES (6,3,NULL,'sew',5,70); INSERT INTO collection_field_fieldvalue VALUES (2,7,8,'seo',10,17); INSERT INTO collection_field_fieldvalue VALUES (2,7,9,'seo',10,16); INSERT INTO collection_field_fieldvalue VALUES (2,7,10,'seo',10,15); INSERT INTO collection_field_fieldvalue VALUES (2,7,11,'seo',10,14); INSERT INTO collection_field_fieldvalue VALUES (2,7,12,'seo',10,13); INSERT INTO collection_field_fieldvalue VALUES (2,7,13,'seo',10,12); INSERT INTO collection_field_fieldvalue VALUES (2,7,14,'seo',10,11); INSERT INTO collection_field_fieldvalue VALUES (2,7,15,'seo',10,10); INSERT INTO collection_field_fieldvalue VALUES (2,7,16,'seo',10,9); INSERT INTO collection_field_fieldvalue VALUES (2,7,17,'seo',10,8); INSERT INTO collection_field_fieldvalue VALUES (2,7,18,'seo',10,7); INSERT INTO collection_field_fieldvalue VALUES (2,7,19,'seo',10,6); INSERT INTO collection_field_fieldvalue VALUES (2,7,20,'seo',10,5); INSERT INTO collection_field_fieldvalue VALUES (2,7,21,'seo',10,4); INSERT INTO collection_field_fieldvalue VALUES (2,7,22,'seo',10,3); INSERT INTO collection_field_fieldvalue VALUES (2,7,23,'seo',10,2); INSERT INTO collection_field_fieldvalue VALUES (2,7,24,'seo',10,1); INSERT INTO collection_field_fieldvalue VALUES (2,8,NULL,'sew',20,0); INSERT INTO collection_field_fieldvalue VALUES (2,4,NULL,'sew',40,70); INSERT INTO collection_field_fieldvalue VALUES (2,2,NULL,'sew',60,70); INSERT INTO collection_field_fieldvalue VALUES (2,5,NULL,'sew',30,70); INSERT INTO collection_field_fieldvalue VALUES (2,11,26,'seo',5,1); INSERT INTO collection_field_fieldvalue VALUES (2,3,NULL,'sew',50,70); INSERT INTO collection_field_fieldvalue VALUES (2,11,25,'seo',5,2); INSERT INTO collection_field_fieldvalue VALUES (2,11,32,'seo',5,0); INSERT INTO collection_field_fieldvalue VALUES (3,2,NULL,'sew',10,0); INSERT INTO collection_field_fieldvalue VALUES (3,3,NULL,'sew',20,0); INSERT INTO collection_field_fieldvalue VALUES (3,12,NULL,'sew',30,0); INSERT INTO collection_field_fieldvalue VALUES (4,4,NULL,'sew',30,0); INSERT INTO collection_field_fieldvalue VALUES (4,3,NULL,'sew',40,0); INSERT INTO collection_field_fieldvalue VALUES (4,12,NULL,'sew',10,0); INSERT INTO collection_field_fieldvalue VALUES (4,2,NULL,'sew',50,0); INSERT INTO collection_field_fieldvalue VALUES (4,6,NULL,'sew',20,0); INSERT INTO collection_field_fieldvalue VALUES (4,7,NULL,'seo',10,0); INSERT INTO collection_field_fieldvalue VALUES (4,7,12,'seo',10,2); INSERT INTO collection_field_fieldvalue VALUES (4,7,8,'seo',10,3); INSERT INTO collection_field_fieldvalue VALUES (4,7,10,'seo',10,1); INSERT INTO collection_field_fieldvalue VALUES (5,6,NULL,'sew',20,0); INSERT INTO collection_field_fieldvalue VALUES (5,12,NULL,'sew',10,0); INSERT INTO collection_field_fieldvalue VALUES (5,4,NULL,'sew',30,0); INSERT INTO collection_field_fieldvalue VALUES (5,3,NULL,'sew',40,0); INSERT INTO collection_field_fieldvalue VALUES (5,2,NULL,'sew',50,0); INSERT INTO collection_field_fieldvalue VALUES (5,7,NULL,'seo',10,0); INSERT INTO collection_field_fieldvalue VALUES (5,7,9,'seo',10,3); INSERT INTO collection_field_fieldvalue VALUES (5,7,12,'seo',10,2); INSERT INTO collection_field_fieldvalue VALUES (8,6,NULL,'sew',10,0); INSERT INTO collection_field_fieldvalue VALUES (8,2,NULL,'sew',50,0); INSERT INTO collection_field_fieldvalue VALUES (8,3,NULL,'sew',40,0); INSERT INTO collection_field_fieldvalue VALUES (8,5,NULL,'sew',20,0); INSERT INTO collection_field_fieldvalue VALUES (8,4,NULL,'sew',30,0); INSERT INTO collection_field_fieldvalue VALUES (6,2,NULL,'soo',40,0); INSERT INTO collection_field_fieldvalue VALUES (6,3,NULL,'soo',30,0); INSERT INTO collection_field_fieldvalue VALUES (6,6,NULL,'soo',20,0); INSERT INTO collection_field_fieldvalue VALUES (6,12,NULL,'soo',10,0); INSERT INTO collection_format VALUES (6,1,100); INSERT INTO collection_format VALUES (6,2,90); INSERT INTO collection_format VALUES (6,3,80); INSERT INTO collection_format VALUES (6,4,70); INSERT INTO collection_format VALUES (6,5,60); INSERT INTO collection_format VALUES (2,1,100); INSERT INTO collection_format VALUES (2,2,90); INSERT INTO collection_format VALUES (2,3,80); INSERT INTO collection_format VALUES (2,4,70); INSERT INTO collection_format VALUES (2,5,60); INSERT INTO collection_format VALUES (3,1,100); INSERT INTO collection_format VALUES (3,2,90); INSERT INTO collection_format VALUES (3,3,80); INSERT INTO collection_format VALUES (3,4,70); INSERT INTO collection_format VALUES (3,5,60); INSERT INTO collection_format VALUES (4,1,100); INSERT INTO collection_format VALUES (4,2,90); INSERT INTO collection_format VALUES (4,3,80); INSERT INTO collection_format VALUES (4,4,70); INSERT INTO collection_format VALUES (4,5,60); INSERT INTO collection_format VALUES (5,1,100); INSERT INTO collection_format VALUES (5,2,90); INSERT INTO collection_format VALUES (5,3,80); INSERT INTO collection_format VALUES (5,4,70); INSERT INTO collection_format VALUES (5,5,60); INSERT INTO collection_format VALUES (8,1,100); INSERT INTO collection_format VALUES (8,2,90); INSERT INTO collection_format VALUES (8,3,80); INSERT INTO collection_format VALUES (8,4,70); INSERT INTO collection_format VALUES (8,5,60); INSERT INTO collection_format VALUES (8,6,96); INSERT INTO collection_format VALUES (8,7,93); INSERT INTO collection_format VALUES (1,1,100); INSERT INTO collection_format VALUES (1,2,90); INSERT INTO collection_format VALUES (1,3,80); INSERT INTO collection_format VALUES (1,4,70); INSERT INTO collection_format VALUES (1,5,60); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,1,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,2,'en','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (6,3,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (6,49,'en','rt',95); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (6,4,'en','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (2,5,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (2,45,'en','rt',95); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (2,6,'en','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (3,7,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (3,46,'en','rt',95); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (3,8,'en','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (4,9,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (4,47,'en','rt',95); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (4,10,'en','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (5,11,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (5,48,'en','rt',95); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (8,14,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (8,50,'en','rt',95); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (9,15,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (10,16,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (11,17,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (12,18,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (13,19,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (14,20,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (15,21,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (15,51,'en','rt',95); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (16,22,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (16,52,'en','rt',95); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (17,23,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (17,53,'en','rt',95); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (18,24,'en','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,25,'fr','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,26,'fr','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,27,'sk','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,28,'sk','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,29,'cs','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,30,'cs','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,31,'de','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,32,'de','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,33,'es','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,34,'es','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,35,'it','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,36,'it','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,37,'no','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,38,'no','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,39,'pt','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,40,'pt','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,41,'ru','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,42,'ru','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,43,'sv','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,44,'sv','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,54,'el','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,55,'el','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,56,'uk','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,57,'uk','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,58,'ca','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,59,'ca','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,60,'ja','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,61,'ja','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,62,'pl','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,63,'pl','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,64,'bg','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,65,'bg','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,66,'hr','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,67,'hr','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,68,'zh_CN','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,69,'zh_CN','rt',90); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,70,'zh_TW','rt',100); INSERT INTO collection_portalbox (id_collection,id_portalbox,ln,position,score) VALUES (1,71,'zh_TW','rt',90); INSERT INTO example VALUES (1,'author search','Search for Ellis, J within author field.'); INSERT INTO example VALUES (2,'word search','Search for quantum within any field.'); INSERT INTO example VALUES (3,'wildcard word search','Search for quant* within any field.'); INSERT INTO example VALUES (4,'phrase search','Search for \'standard model\' within title field.'); INSERT INTO example VALUES (5,'boolean search','Search for quark -sigma +dense within any field.'); INSERT INTO example VALUES (6,'complex boolean search','Search for author:draper title:electrical within any field.'); INSERT INTO example VALUES (7,'complex boolean search','Search for author:ellis -muon* +abstract:\'dense quark matter\' within any field.'); INSERT INTO example VALUES (8,'boolean search','Search for ellis muon* within any field.'); INSERT INTO example VALUES (13,'reference search','Search for Theor. Math. Phys. 2 (1998) 231 within references field.'); INSERT INTO example VALUES (14,'phrase search','Search for Higgs boson within abstract field.'); INSERT INTO example VALUES (15,'wildcard word search','Search for cal* within any field.'); INSERT INTO example VALUES (16,'keyword search','Search for Nobel within keyword field.'); INSERT INTO example VALUES (17,'author search','Search for Cole within author field.'); INSERT INTO example VALUES (18,'phrase search','Search for \'nuclear electronics\' within title field.'); INSERT INTO fieldvalue VALUES (1,'Particle Physics','Particle Physics'); INSERT INTO fieldvalue VALUES (2,'Particle Physics - Experimental Results','Particle Physics - Experimental Results'); INSERT INTO fieldvalue VALUES (3,'Particle Physics - Phenomenology','Particle Physics - Phenomenology'); INSERT INTO fieldvalue VALUES (4,'Particle Physics - Theory','Particle Physics - Theory'); INSERT INTO fieldvalue VALUES (5,'Particle Physics - Lattice','Particle Physics - Lattice'); INSERT INTO fieldvalue VALUES (6,'Nuclear Physics','Nuclear Physics'); INSERT INTO fieldvalue VALUES (7,'General Relativity and Cosmology','General Relativity and Cosmology'); INSERT INTO fieldvalue VALUES (8,'General Theoretical Physics','General Theoretical Physics'); INSERT INTO fieldvalue VALUES (9,'Detectors and Experimental Techniques','Detectors and Experimental Techniques'); INSERT INTO fieldvalue VALUES (10,'Accelerators and Storage Rings','Accelerators and Storage Rings'); INSERT INTO fieldvalue VALUES (11,'Health Physics and Radiation Effects','Health Physics and Radiation Effects'); INSERT INTO fieldvalue VALUES (12,'Computing and Computers','Computing and Computers'); INSERT INTO fieldvalue VALUES (13,'Mathematical Physics and Mathematics','Mathematical Physics and Mathematics'); INSERT INTO fieldvalue VALUES (14,'Astrophysics and Astronomy','Astrophysics and Astronomy'); INSERT INTO fieldvalue VALUES (15,'Nonlinear Systems','Nonlinear Systems'); INSERT INTO fieldvalue VALUES (16,'Condensed Matter','Condensed Matter'); INSERT INTO fieldvalue VALUES (17,'Other Fields of Physics','Other Fields of Physics'); INSERT INTO fieldvalue VALUES (18,'Chemical Physics and Chemistry','Chemical Physics and Chemistry'); INSERT INTO fieldvalue VALUES (19,'Engineering','Engineering'); INSERT INTO fieldvalue VALUES (20,'Information Transfer and Management','Information Transfer and Management'); INSERT INTO fieldvalue VALUES (21,'Other Aspects of Science','Other Aspects of Science'); INSERT INTO fieldvalue VALUES (22,'Commerce, Economics, Social Science','Commerce, Economics, Social Science'); INSERT INTO fieldvalue VALUES (23,'Biography, Geography, History','Biography, Geography, History'); INSERT INTO fieldvalue VALUES (24,'Other Subjects','Other Subjects'); INSERT INTO fieldvalue VALUES (25,'CERN TH','TH'); INSERT INTO fieldvalue VALUES (26,'CERN PPE','PPE'); INSERT INTO fieldvalue VALUES (27,'Experiments and Tracks','Experiments and Tracks'); INSERT INTO fieldvalue VALUES (28,'Personalities and History of CERN','Personalities and History of CERN'); INSERT INTO fieldvalue VALUES (29,'Diagrams and Charts','Diagrams and Charts'); INSERT INTO fieldvalue VALUES (30,'Life at CERN','Life at CERN'); INSERT INTO fieldvalue VALUES (31,'CERN ETT','ETT'); INSERT INTO fieldvalue VALUES (32,'CERN EP','EP'); INSERT INTO oaiARCHIVE VALUES (2,'CERN experimental papers','cern:experiment','','','c=;p1=CERN;f1=reportnumber;m1=a;p2=(EP|PPE);f2=division;m2=r;p3=;f3=;m3=;',NULL,'CERN','reportnumber','a','(EP|PPE)','division','r','','',''); INSERT INTO oaiARCHIVE VALUES (3,'CERN theoretical papers','cern:theory','','','c=;p1=CERN;f1=reportnumber;m1=a;p2=TH;f2=division;m2=e;p3=;f3=;m3=;',NULL,'CERN','reportnumber','a','TH','division','e','','',''); INSERT INTO portalbox VALUES (1,'ABOUT THIS SITE','Welcome to the demo site of the CDS Invenio, a free document server software coming from CERN. Please feel free to explore all the features of this demo site to the full.'); INSERT INTO portalbox VALUES (2,'SEE ALSO','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (3,'ABOUT ARTICLES','The Articles collection contains all the papers published in scientific journals by our staff. The collection starts from 1998.'); INSERT INTO portalbox VALUES (4,'SEE ALSO','arXiv.org
CDS
ChemWeb
MathSciNet'); INSERT INTO portalbox VALUES (5,'ABOUT PREPRINTS','The Preprints collection contains not-yet-published papers and research results obtained at the institute. The collection starts from 2001.'); INSERT INTO portalbox VALUES (6,'SEE ALSO','arXiv.org
CDS'); INSERT INTO portalbox VALUES (7,'ABOUT BOOKS','The Books collection contains monographs published by institute staff as well as pointers to interesting online e-books available in fulltext.'); INSERT INTO portalbox VALUES (8,'SEE ALSO','UV e-Books
Project Gutenberg'); INSERT INTO portalbox VALUES (9,'ABOUT THESES','The Theses collection contains all students\' theses defended at the institute. The collection starts from 1950.'); INSERT INTO portalbox VALUES (10,'SEE ALSO','NDLTD Theses
Thesis.DE'); INSERT INTO portalbox VALUES (11,'ABOUT REPORTS','The Reports collection contains miscellaneous technical reports, unpublished elsewhere. The collection starts from 1950.'); INSERT INTO portalbox VALUES (12,'TEST portal box','this is a test portal box'); INSERT INTO portalbox VALUES (13,'test','this is a test portal box'); INSERT INTO portalbox VALUES (14,'ABOUT PICTURES','The Pictures collection contains selected photographs and illustrations. Please note that photographs are copyrighted. The collection includes historical archive that starts from 1950.'); INSERT INTO portalbox VALUES (15,'ABOUT CERN DIVISIONS','These virtual collections present a specific point of view on the database content from CERN Divisions persective.'); INSERT INTO portalbox VALUES (16,'ABOUT CERN EXPERIMENTS','These virtual collections present a specific point of view on the database content from CERN Experiments persective.'); INSERT INTO portalbox VALUES (17,'ABOUT TH','This virtual collection groups together all the documents written by authors from CERN TH Division.'); INSERT INTO portalbox VALUES (18,'ABOUT EP','This virtual collection groups together all the documents written by authors from CERN EP Division.'); INSERT INTO portalbox VALUES (19,'ABOUT ISOLDE','This virtual collection groups together all the documents about ISOLDE CERN experiment.'); INSERT INTO portalbox VALUES (20,'ABOUT ALEPH','This virtual collection groups together all the documents about ALEPH CERN experiment.'); INSERT INTO portalbox VALUES (21,'ABOUT ARTICLES AND PREPRINTS','This collection groups together all published and non-published articles, many of which in electronic fulltext form.'); INSERT INTO portalbox VALUES (22,'ABOUT BOOKS AND REPORTS','This collection groups together all monograph-like publications, be they books, theses, reports, book chapters, proceedings, and so on.'); INSERT INTO portalbox VALUES (23,'ABOUT MULTIMEDIA & OUTREACH','This collection groups together all multimedia- and outreach- oriented material.'); INSERT INTO portalbox VALUES (24,'ABOUT POETRY','This collection presents poetry excerpts, mainly to demonstrate and test the treatment of various languages.

Vitrum edere possum; mihi non nocet.
Μπορώ να φάω σπασμένα γυαλιά χωρίς να πάθω τίποτα.
Pòdi manjar de veire, me nafrariá pas.
Ég get etið gler án þess að meiða mig.
Ic mæg glæs eotan ond hit ne hearmiað me.
ᛁᚳ᛫ᛗᚨᚷ᛫ᚷᛚᚨᛋ᛫ᛖᚩᛏᚪᚾ᛫ᚩᚾᛞ᛫ᚻᛁᛏ᛫ᚾᛖ᛫ᚻᛖᚪᚱᛗᛁᚪᚧ᛫ᛗᛖ᛬
⠊⠀⠉⠁⠝⠀⠑⠁⠞⠀⠛⠇⠁⠎⠎⠀⠁⠝⠙⠀⠊⠞⠀⠙⠕⠑⠎⠝⠞⠀⠓⠥⠗⠞⠀⠍⠑
Pot să mănânc sticlă și ea nu mă rănește.
Meg tudom enni az üveget, nem lesz tőle bajom.
Môžem jesť sklo. Nezraní ma.
אני יכול לאכול זכוכית וזה לא מזיק לי.
איך קען עסן גלאָז און עס טוט מיר נישט װײ.
أنا قادر على أكل الزجاج و هذا لا يؤلمني.
Я могу есть стекло, оно мне не вредит.
მინას ვჭამ და არა მტკივა.
Կրնամ ապակի ուտել և ինծի անհանգիստ չըներ։
मैं काँच खा सकता हूँ, मुझे उस से कोई पीडा नहीं होती.
काचं शक्नोम्यत्तुम् । नोपहिनस्ति माम् ॥
ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ
Tôi có thể ăn thủy tinh mà không hại gì.
我能吞下玻璃而不伤身体。
私はガラスを食べられます。それは私を傷つけません。
나는 유리를 먹을 수 있어요. 그래도 아프지 않아요
(http://www.columbia.edu/kermit/utf8.html)'); INSERT INTO portalbox VALUES (25,'À PROPOS DE CE SITE','Bienvenue sur le site de démonstration de CDS Invenio, un logiciel libre pour des serveurs des documents, venant du CERN. Veuillez explorer les possibilités de ce site de démonstration de tous ses côtés.'); INSERT INTO portalbox VALUES (26,'VOIR AUSSI','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (27,'O TÝCHTO STRÁNKACH','Vitajte na demonštračných stránkach CDS Invenio, voľne dostupného softwaru pre dokumentové servery, pochádzajúceho z CERNu. Prehliadnite si možnosti našeho demonštračného serveru podla ľubovôle.'); INSERT INTO portalbox VALUES (28,'VIĎ TIEŽ','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (29,'O TĚCHTO STRÁNKÁCH','Vítejte na demonstračních stránkách CDS Invenio, volně dostupného softwaru pro dokumentové servery, pocházejícího z CERNu. Prohlédněte si možnosti našeho demonstračního serveru podle libosti.'); INSERT INTO portalbox VALUES (30,'VIZ TÉŽ','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (31,'ÜBER DIESEN SEITEN','Willkommen Sie bei der Demo-Seite des CDS Invenio, des Dokument Management Systems Software aus CERN. Hier können Sie den System gleich und frei ausprobieren.'); INSERT INTO portalbox VALUES (32,'SEHEN SIE AUCH','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (33,'ACERCA DE ESTAS PÁGINAS','Bienvenidos a las páginas de demostración de CDS Invenio, un software gratuito desarrollado por el CERN que permite crear un servidor de documentos. Le invitamos a explorar a fondo todas las funcionalidades ofrecidas por estas páginas de demostración.'); INSERT INTO portalbox VALUES (34,'VEA TAMBIÉN','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (35,'A PROPOSITO DI QUESTO SITO','Benvenuti nel sito demo di CDS Invenio, un software libero per server di documenti sviluppato al CERN. Vi invitiamo ad esplorare a fondo tutte le caratteristiche di questo sito demo.'); INSERT INTO portalbox VALUES (36,'VEDI ANCHE','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (37,'OM DENNE SIDEN','Velkommen til demosiden for CDS Invenio, en gratis dokumentserver fra CERN. Vennligst føl deg fri til å utforske alle mulighetene i denne demoen til det fulle.'); INSERT INTO portalbox VALUES (38,'SE OGSÅ','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (39,'SOBRE ESTE SITE','Bem vindo ao site de demonstração do CDS Invenio, um servidor de documentos livre desenvolvido pelo CERN. Sinta-se à vontade para explorar plenamente todos os recursos deste site demonstração.'); INSERT INTO portalbox VALUES (40,'VEJA TAMBÉM','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (41,'ОБ ЭТОМ САЙТЕ','Добро пожаловать на наш демонстрационный сайт CDS Invenio. CDS Invenio -- свободная программа для серверов документов, разработанная в CERNе. Пожалуйста пользуйтесь свободно этим сайтом.'); INSERT INTO portalbox VALUES (42,'СМОТРИТЕ ТАКЖЕ','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (43,'OM DENNA WEBBPLATS','Välkommen till demoinstallationen av CDS Invenio, en fri programvara för hantering av dokument, från CERN. Välkommen att undersöka alla funktioner i denna installation.'); INSERT INTO portalbox VALUES (44,'SE ÄVEN','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (45,'SUBMIT PREPRINT','/submit.py?doctype=TEXT\">Submit a new preprint'); INSERT INTO portalbox VALUES (46,'SUBMIT BOOK','/submit.py?doctype=TEXT\">Submit a new book'); INSERT INTO portalbox VALUES (47,'SUBMIT THESIS','/submit.py?doctype=TEXT\">Submit a new thesis'); INSERT INTO portalbox VALUES (48,'SUBMIT REPORT','/submit.py?doctype=TEXT\">Submit a new report'); INSERT INTO portalbox VALUES (49,'SUBMIT ARTICLE','/submit.py?doctype=TEXT\">Submit a new article'); INSERT INTO portalbox VALUES (50,'SUBMIT PICTURE','/submit.py?doctype=PICT\">Submit a new picture'); INSERT INTO portalbox VALUES (51,'SUBMIT NEW DOCUMENT','/submit.py?doctype=TEXT\">Submit a new article
/submit.py?doctype=TEXT\">Submit a new preprint'); INSERT INTO portalbox VALUES (52,'SUBMIT NEW DOCUMENT','/submit.py?doctype=TEXT\">Submit a new book
/submit.py?doctype=TEXT\">Submit a new thesis
/submit.py?doctype=TEXT\">Submit a new report'); INSERT INTO portalbox VALUES (53,'SUBMIT NEW DOCUMENT','/submit.py?doctype=PICT\">Submit a new picture'); INSERT INTO portalbox VALUES (54,'ΣΧΕΤΙΚΑ ΜΕ ΤΗΝ ΣΕΛΙΔΑ','Καλως ήλθατε στον δικτυακό τόπο του CDS Invenio, ενός δωρεάν εξυπηρετητή για έγγραφα προερχόμενο απο το CERN. Είστε ευπρόσδεκτοι να εξερευνήσετε σε βάθος τις δυνατότητες που σας παρέχει ο δικτυακός αυτός τόπος.'); INSERT INTO portalbox VALUES (55,'ΔΕΙΤΕ ΕΠΙΣΗΣ','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (56,'ПРО ЦЕЙ САЙТ','Ласкаво просимо до демонстраційного сайту CDS Invenio, вільного програмного забезпечення, розробленого CERN. Випробуйте всі можливості цього демонстраційного сайту в повному обсязі.'); INSERT INTO portalbox VALUES (57,'ДИВИСЬ ТАКОЖ','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (58,'SOBRE AQUEST LLOC','Benvinguts al lloc de demo de CDS Invenio, un servidor de documents lliure originat al CERN. Us convidem a explorar a fons totes les funcionalitats ofertes en aquestes pàgines de demostració.'); INSERT INTO portalbox VALUES (59,'VEGEU TAMBÉ','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (60,'この場所について','CDS Invenioデモンストレーションの場所への歓迎, CERN から来る自由な文書のサーバーソフトウェア, このデモンストレーションの場所の特徴すべてを探検する自由の感じ'); INSERT INTO portalbox VALUES (61,'また見なさい','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (62,'O TEJ STRONIE','Witamy w wersji demo systemu CDS Invenio, darmowego oprogramowania do obsługi serwera dokumentów, stworzonego w CERN. Zachęcamy do odkrywania wszelkich funkcjonalności oferowanych przez tę stronę.'); INSERT INTO portalbox VALUES (63,'ZOBACZ TAKŻE','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (64,'ЗА САЙТА','Добре дошли на демонстрационния сайт на CDS Invenio, свободен софтуер за документни сървъри изработен в ЦЕРН. Чувствайте се свободни да изследвате всяка една от характеристиките на сайта.'); INSERT INTO portalbox VALUES (65,'ВИЖ СЪЩО','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (66,'O OVOM SITE-u','Dobrodošli na CDS Invenio demo site. CDS Invenio je slobodno dostupan poslužitelj dokumenata razvijen na CERN-u. Slobodno istražite sve mogućnosti ove aplikacije.'); INSERT INTO portalbox VALUES (67,'TAKOĐER POGLEDAJTE','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (68,'关于这个网站','欢迎来到CDS Invenio 的示范网站!CDS Invenio是一个由CERN开发的免费文件服务器软件。 要了解这网站所提供的各项特点, 请立刻行动,尽情探索。'); INSERT INTO portalbox VALUES (69,'参见','CDS Invenio
CERN
Google'); INSERT INTO portalbox VALUES (70,'關於這個網站', '歡迎來到CDS Invenio 的示範網站!CDS Invenio是一個由CERN開發的免費文件伺服器軟體。 要瞭解這網站所提供的各項特點, 請立刻行動,盡情探索。'); INSERT INTO portalbox VALUES (71,'參見','CDS Invenio
CERN
Google'); INSERT INTO sbmCOLLECTION VALUES (36,'Document Types'); INSERT INTO sbmCOLLECTION_sbmCOLLECTION VALUES (0,36,1); INSERT INTO sbmCOLLECTION_sbmDOCTYPE VALUES (36,'PICT',3); INSERT INTO sbmCOLLECTION_sbmDOCTYPE VALUES (36,'TEXT',0); INSERT INTO sbmCOLLECTION_sbmDOCTYPE VALUES (36,'RTEXT',2); INSERT INTO sbmCOLLECTION_sbmDOCTYPE VALUES (36,'RPICT',4); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RPICT','DIAG','Diagrams and Charts'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RPICT','HIST','Personalities and History of CERN'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RPICT','LIFE','Life at CERN'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RPICT','TRACK','Experiments and Tracks'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('PICT','DIAG','Diagrams and Charts'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('PICT','HIST','Personalities and History of CERN'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('PICT','LIFE','Life at CERN'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('PICT','TRACK','Experiments and Tracks'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('TEXT','ARTICLE','Article'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('TEXT','BOOK','Book'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('TEXT','POETRY','Poetry'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('TEXT','PREPRINT','Preprint'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('TEXT','REPORT','Report'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('TEXT','THESIS','Thesis'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RTEXT','ARTICLE','Article'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RTEXT','BOOK','Book'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RTEXT','POETRY','Poetry'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RTEXT','PREPRINT','Preprint'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RTEXT','REPORT','Report'); INSERT INTO sbmCATEGORIES (doctype,sname,lname) VALUES ('RTEXT','THESIS','Thesis'); INSERT INTO sbmDOCTYPE VALUES ('textual document (Article, Preprint, Thesis, etc) with simple refereeing','RTEXT','2002-05-06','2002-06-20',''); INSERT INTO sbmDOCTYPE VALUES ('textual document (Article, Preprint, Thesis, etc)','TEXT','2002-05-03','2002-06-21','This is a template for a text type of document with direct integration after submission\r\nUse it as a reference to create your new document types and submissions (clone).'); INSERT INTO sbmDOCTYPE VALUES ('pictorial document (Picture)','PICT','2002-05-03','2002-06-20','This is a template for a picture-like type of document with direct integration after submission\r\nUse it as a reference to create your new document types and submissions (clone).'); INSERT INTO sbmDOCTYPE VALUES ('pictorial document (Picture) with simple refereeing','RPICT','2002-05-07','2002-06-20',''); INSERT INTO sbmFIELD VALUES ('APPRTEXT',1,3,'COM','
Enter here your additional comments:
','O','comments','','2002-05-06','2002-05-28','',''); INSERT INTO sbmFIELD VALUES ('APPRTEXT',1,2,'decision','

Your decision: ','M','decision','','2002-05-06','2002-05-28','',''); INSERT INTO sbmFIELD VALUES ('APPRTEXT',1,1,'RNTEST2','Please enter the reference number of the document you wish to approve/reject: ','M','reference','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('MBIRPICT',1,3,'EndButton2','

','O','','','0000-00-00','0000-00-00',NULL,NULL); INSERT INTO sbmFIELD VALUES ('MBIRPICT',1,2,'TEXTChange','
Please select all the fields you want to modify:
','M','fields to modify','','0000-00-00','0000-00-00',NULL,NULL); INSERT INTO sbmFIELD VALUES ('SRVRTEXT',1,2,'EndButton2','

','O','','','2002-05-06','2004-02-05','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',3,1,'AB','



Abstract:
','O','Abstract','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',2,4,'KW','

Keywords (one per line):
','O','Keywords','','2002-05-06','2002-06-12','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',1,3,'AF','
Affiliation:
','O','affiliation','','2002-05-06','2002-06-18',NULL,NULL); INSERT INTO sbmFIELD VALUES ('MBIRTEXT',1,3,'EndButton2','

','O','','','0000-00-00','0000-00-00',NULL,NULL); INSERT INTO sbmFIELD VALUES ('MBIRTEXT',1,2,'TEXTChange','
Please select all the fields you want to modify:
','M','fields to modify','','0000-00-00','0000-00-00',NULL,NULL); INSERT INTO sbmFIELD VALUES ('MBIRTEXT',1,1,'RNTEST2','Please enter the Report Number of the document you want to modify:','M','reference','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',1,3,'AF','
Affiliation:
','O','affiliation','','2002-05-06','2002-06-19','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',4,3,'EndButton','

','O','','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',4,1,'NO','Optional
Author\'s Comments:
','O','Comments','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',4,2,'Rep','
Optional
Other reference number(s) (eg: from other institutes):
','O','Report Number(s)','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',2,2,'Num','Number of pages (optional) :','O','Number of pages','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',1,1,'TI','Title:
','M','Title','','2002-05-06','2002-06-11','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',1,2,'AU','

ALL author(s) of paper: (one per line)
(in the form: Name, Initial(s))
','M','Author(s)','AUCheck','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('SRVRTEXT',1,1,'RNTEST2','Please enter the number of the revised document: ','M','reference','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('SRVPICT',1,1,'RNPHO2','Please enter the number of the revised document: ','M','reference','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('MBIRPICT',1,1,'RNPHO2','Please enter the reference of the picture you want to modify:','M','reference','','2002-05-07','2002-06-12','',''); INSERT INTO sbmFIELD VALUES ('APPRTEXT',1,4,'button_validate','

','O','','','2002-05-06','2002-05-28','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',2,1,'LANG','Language:','M','Language','','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('SBIRTEXT',2,3,'Dat','

Date of creation (dd/mm/yyyy): ','M','Date of creation','DatCheckNew','2002-05-06','2002-05-06','',''); INSERT INTO sbmFIELD VALUES ('APPRPICT',1,2,'decision','

Your decision: ','M','decision','','2002-05-07','2002-05-28','',''); INSERT INTO sbmFIELD VALUES ('APPRPICT',1,3,'COM','
Enter here your additional comments:
','O','comments','','2002-05-07','2002-05-28','',''); INSERT INTO sbmFIELD VALUES ('APPRPICT',1,1,'RNPHO2','Please enter the reference of the picture you wish to approve/reject: ','M','reference','','2002-05-07','2002-05-07',NULL,NULL); INSERT INTO sbmFIELD VALUES ('SBIRPICT',4,3,'EndButton','

','O','','','2002-05-07','2002-05-07','',''); INSERT INTO sbmFIELD VALUES ('SBIRPICT',4,2,'Rep','
Optional
Other reference number(s) (eg: from other institutes):
','O','Report Number(s)','','2002-05-07','2002-05-07','',''); INSERT INTO sbmFIELD VALUES ('SBIRPICT',4,1,'NO','Optional
Comments:
','O','Comments','','2002-05-07','2002-05-07','',''); INSERT INTO sbmFIELD VALUES ('SBIRPICT',3,1,'AB','



Description:
','O','Description','','2002-05-07','2002-05-07','',''); INSERT INTO sbmFIELD VALUES ('SBIRPICT',2,2,'KW','

Keywords (one per line):
','O','Keywords','','2002-05-07','2002-06-12','',''); INSERT INTO sbmFIELD VALUES ('SBIRPICT',2,1,'Dat','

Date of creation (dd/mm/yyyy): ','M','Date of creation','DatCheckNew','2002-05-07','2002-05-07','',''); INSERT INTO sbmFIELD VALUES ('SBIRPICT',1,1,'TI','Title of the Picture:
','M','Title','','2002-05-07','2002-05-07','',''); INSERT INTO sbmFIELD VALUES ('SBIRPICT',1,2,'AU','

Photographer (in the form: Name, Initial(s)):
','O','Photographer','AUCheck','2002-05-07','2002-05-07','',''); INSERT INTO sbmFIELD VALUES ('SBIPICT',1,2,'AU','

Photographer (in the form: Name, Initial(s)):
','O','Photographer','AUCheck','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBIPICT',1,1,'TI','Title of the Picture:
','M','Title','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBIPICT',2,1,'Dat','

Date of creation (dd/mm/yyyy): ','M','Date of creation','DatCheckNew','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBIPICT',2,2,'KW','

Keywords (one per line):
','O','Keywords','','2002-05-03','2002-06-12','',''); INSERT INTO sbmFIELD VALUES ('SBIPICT',3,1,'AB','



Description:
','O','Description','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBIPICT',4,2,'Rep','
Optional
Other reference number(s) (eg: from other institutes):
','O','Report Number(s)','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBIPICT',4,1,'NO','Optional
Comments:
','O','Comments','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBIPICT',4,3,'EndButton','

','O','','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('MBIPICT',1,1,'RNPHO2','Please enter the reference of the picture you want to modify:','M','reference','','2002-05-06','2002-06-12',NULL,NULL); INSERT INTO sbmFIELD VALUES ('MBIPICT',1,3,'EndButton2','

','O','','','0000-00-00','0000-00-00',NULL,NULL); INSERT INTO sbmFIELD VALUES ('MBITEXT',1,3,'EndButton2','

','O','','','0000-00-00','0000-00-00',NULL,NULL); INSERT INTO sbmFIELD VALUES ('MBITEXT',1,2,'TEXTChange','
Please select all the fields you want to modify:
','M','fields to modify','','0000-00-00','0000-00-00',NULL,NULL); INSERT INTO sbmFIELD VALUES ('MBITEXT',1,1,'RNTEST2','Please enter the Report Number of the document you want to modify:','M','reference','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',4,3,'EndButton','

','O','','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',4,1,'NO','Optional
Author\'s Comments:
','O','Comments','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',4,2,'Rep','
Optional
Other reference number(s) (eg: from other institutes):
','O','Report Number(s)','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',2,4,'KW','

Keywords (one per line):
','O','Keywords','','2002-05-03','2002-06-12','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',3,1,'AB','



Abstract:
','O','Abstract','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',2,3,'Dat','

Date of creation (dd/mm/yyyy): ','M','Date of creation','DatCheckNew','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',2,1,'LANG','Language:','M','Language','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',2,2,'Num','Number of pages (optional) :','O','Number of pages','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',1,1,'TI','Title:
','M','Title','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SBITEXT',1,2,'AU','

ALL author(s) of paper: (one per line)
(in the form: Name, Initial(s))
','M','Author(s)','AUCheck','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SRVTEXT',1,1,'RNTEST2','Please enter the number of the revised document: ','M','reference','','2002-05-03','2002-05-03','',''); INSERT INTO sbmFIELD VALUES ('SRVTEXT',1,2,'EndButton2','

','O','','','2002-05-03','2004-02-02','',''); INSERT INTO sbmFIELD VALUES ('SRVPICT',1,2,'EndButton2','

','O','','','2002-05-03','2004-02-02','',''); INSERT INTO sbmFIELD VALUES ('MBIPICT',1,2,'TEXTChange','
Please select all the fields you want to modify:
','M','fields to modify','','0000-00-00','0000-00-00',NULL,NULL); INSERT INTO sbmFIELD VALUES ('APPRPICT',1,4,'button_validate','

','O','','','2002-05-07','2002-05-28','',''); INSERT INTO sbmFIELDDESC VALUES ('TI','TI','245__a','T',0,5,60,0,'','','1998-08-17','2002-06-11','
Please correct the title:
','',0); INSERT INTO sbmFIELDDESC VALUES ('AU','100__a','100__a,700__a','T',0,6,30,0,'','','1998-08-17','2002-02-08','
Please correct the list of authors:
','',0); INSERT INTO sbmFIELDDESC VALUES ('AF','AF','','T',0,2,50,0,'','','1998-08-17','0000-00-00','','',0); INSERT INTO sbmFIELDDESC VALUES ('KW','KW','650__a','T',0,2,50,0,'','','1998-08-17','2002-05-06','
Please correct the keywords:
','',0); INSERT INTO sbmFIELDDESC VALUES ('NO','NO','500__a','T',0,3,60,0,'','','1998-08-17','2001-11-19','
Please correct the note:
','',0); INSERT INTO sbmFIELDDESC VALUES ('Rep','FN','088__a','T',0,2,30,0,'','','1998-08-17','2002-05-06','
Please correct the list of other report numbers:
','',0); INSERT INTO sbmFIELDDESC VALUES ('Num','','','I',10,0,0,0,'','','1998-08-17','0000-00-00','','',0); INSERT INTO sbmFIELDDESC VALUES ('Dat','IM','','I',10,0,0,0,'','','1998-08-17','2002-04-09','','',1); INSERT INTO sbmFIELDDESC VALUES ('LANG','LN','041__a','S',0,0,0,0,'','','1998-08-17','2001-11-19','
Please correct the language:
','',0); INSERT INTO sbmFIELDDESC VALUES ('AB','AB','520__a','T',0,12,80,0,'','','1998-08-17','2001-11-19','
Please correct the abstract:
','',0); INSERT INTO sbmFIELDDESC VALUES ('EndButton','','','D',0,0,0,0,'','

\r\n\r\n
','1998-08-18','1998-10-28','','',0); INSERT INTO sbmFIELDDESC VALUES ('EndButton2','','','D',0,0,0,0,'','
\r\n\r\n
','1998-08-18','2004-02-02','','',0); INSERT INTO sbmFIELDDESC VALUES ('COM','','','T',0,6,50,0,'','','1998-08-18','0000-00-00','','',0); INSERT INTO sbmFIELDDESC VALUES ('decision','','','S',NULL,NULL,NULL,NULL,NULL,'','2001-11-08','2004-02-04',NULL,NULL,0); INSERT INTO sbmFIELDDESC VALUES ('button_validate','','','D',NULL,NULL,NULL,NULL,NULL,'
\r\n\r\n
','2001-11-08','2001-11-08',NULL,NULL,0); INSERT INTO sbmFIELDDESC VALUES ('RNTEST2','','marccode','I',30,NULL,NULL,30,'TEST---???',NULL,'2001-11-22','2001-11-22',NULL,NULL,0); INSERT INTO sbmFIELDDESC VALUES ('RNPHO2','','marccode','I',30,NULL,NULL,0,'PICTURE-TEST---???',NULL,'2002-05-06','2002-05-07',NULL,NULL,0); INSERT INTO sbmFIELDDESC VALUES ('TEXTChange','','','S',NULL,NULL,NULL,NULL,NULL,'','0000-00-00','0000-00-00',NULL,NULL,0); INSERT INTO sbmFUNCTIONS VALUES ('SBI','PICT','Create_Recid',10,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Move_to_Done',90,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Get_Recid',20,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Get_Report_Number',10,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Get_Report_Number',10,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Create_Modify_Interface',30,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Get_Recid',20,1); INSERT INTO sbmFUNCTIONS VALUES ('SRV','RTEXT','Upload_Files',40,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Print_Success_MBI',60,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Send_Modify_Mail',70,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Make_Modify_Record',40,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RTEXT','Insert_Modify_Record',50,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','PICT','Move_to_Done',90,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','PICT','Insert_Record',60,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','PICT','Make_Record',40,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RTEXT','Get_Recid',20,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RTEXT','Update_Approval_DB',40,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Print_Success_APP',60,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RTEXT','Move_to_Pending',60,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RTEXT','Send_Approval_Request',50,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RTEXT','Mail_Submitter',35,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RTEXT','Print_Success',30,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','CaseEDS',40,1); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Is_Referee',30,1); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Create_Recid',30,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Test_Status',20,1); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Is_Referee',30,1); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','CaseEDS',40,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Is_Original_Submitter',25,1); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RTEXT','Report_Number_Generation',10,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','RTEXT','Get_Report_Number',10,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','RTEXT','Move_to_Done',100,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','RTEXT','Print_Success_SRV',70,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','RTEXT','Send_SRV_Mail',60,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RPICT','Upload_Files',20,1); INSERT INTO sbmFUNCTIONS VALUES ('SBI','PICT','Report_Number_Generation',10,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','RTEXT','Get_Report_Number',10,1); INSERT INTO sbmFUNCTIONS VALUES ('SBI','PICT','Upload_Files',20,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Move_to_Done',90,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Get_Recid',20,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Get_Report_Number',10,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Get_Report_Number',10,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Create_Modify_Interface',30,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Get_Recid',20,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Print_Success_MBI',60,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Send_Modify_Mail',70,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Make_Modify_Record',40,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','PICT','Insert_Modify_Record',50,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Set_Archive_Files',60,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Insert_Modify_Record',60,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Make_Modify_Record',50,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Send_Modify_Mail',80,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Print_Success_MBI',70,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Get_Recid',20,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Create_Modify_Interface',30,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Get_Report_Number',10,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Get_Report_Number',10,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Get_Recid',20,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','TEXT','Move_to_Done',90,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','TEXT','Upload_Files',20,1); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RTEXT','Create_Recid',10,1); INSERT INTO sbmFUNCTIONS VALUES ('SRV','TEXT','Get_Recid',20,1); INSERT INTO sbmFUNCTIONS VALUES ('SRV','TEXT','Get_Report_Number',10,1); INSERT INTO sbmFUNCTIONS VALUES ('SBI','PICT','Print_Success',70,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','PICT','Mail_Submitter',80,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','TEXT','Send_SRV_Mail',60,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','TEXT','Print_Success_SRV',70,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','TEXT','Move_to_Done',100,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','TEXT','Get_Report_Number',10,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','TEXT','Get_Recid',15,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','RTEXT','Get_Recid',20,1); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RPICT','Move_to_Pending',70,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RPICT','Send_Approval_Request',50,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','RTEXT','Get_Recid',15,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RPICT','Update_Approval_DB',40,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RPICT','Mail_Submitter',30,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RTEXT','Upload_Files',20,1); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Update_Approval_DB',120,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Move_From_Pending',20,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Create_Recid',35,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Make_Record',70,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Insert_Record',80,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Get_Report_Number',10,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Get_Info',40,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Send_APP_Mail',90,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Get_Report_Number',10,1); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Get_Report_Number',10,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Get_Info',30,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Update_Approval_DB',60,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Print_Success_APP',40,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Send_APP_Mail',50,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Finish_Submission',130,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Move_to_Done',140,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Move_to_Done',70,3); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RPICT','Print_Success',60,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RPICT','Report_Number_Generation',10,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Move_to_Done',90,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Get_Recid',20,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Get_Report_Number',10,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Get_Report_Number',10,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Create_Modify_Interface',40,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Get_Recid',20,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Is_Original_Submitter',30,1); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Print_Success_MBI',50,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Send_Modify_Mail',60,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Make_Modify_Record',70,2); INSERT INTO sbmFUNCTIONS VALUES ('MBI','RPICT','Insert_Modify_Record',80,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','RPICT','Create_Recid',10,1); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Print_Success_APP',70,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Update_Approval_DB',50,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Move_From_Pending',30,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Make_Record',80,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Insert_Record',90,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Get_Report_Number',10,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Test_Status',20,1); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Get_Info',40,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Send_APP_Mail',120,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Get_Report_Number',10,1); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Get_Report_Number',10,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Get_Info',30,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Update_Approval_DB',40,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Print_Success_APP',50,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Send_APP_Mail',60,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Finish_Submission',130,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Move_to_Done',140,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Move_to_Done',70,3); INSERT INTO sbmFUNCTIONS VALUES ('SRV','TEXT','Upload_Files',40,1); INSERT INTO sbmFUNCTIONS VALUES ('SBI','TEXT','Report_Number_Generation',10,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','TEXT','Get_Recid',20,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','TEXT','Make_Record',40,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','TEXT','Insert_Record',60,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','TEXT','Print_Success',70,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','TEXT','Mail_Submitter',80,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','TEXT','Move_to_Done',90,2); INSERT INTO sbmFUNCTIONS VALUES ('APP','RPICT','Move_From_Pending',20,3); INSERT INTO sbmFUNCTIONS VALUES ('APP','RTEXT','Move_From_Pending',20,3); INSERT INTO sbmFUNCTIONS VALUES ('SBI','TEXT','Create_Recid',10,1); INSERT INTO sbmFUNCTIONS VALUES ('SRV','PICT','Get_Recid',20,1); INSERT INTO sbmFUNCTIONS VALUES ('SRV','PICT','Get_Report_Number',10,1); INSERT INTO sbmFUNCTIONS VALUES ('SRV','PICT','Send_SRV_Mail',60,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','PICT','Print_Success_SRV',70,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','PICT','Upload_Files',30,1); INSERT INTO sbmFUNCTIONS VALUES ('SRV','PICT','Move_to_Done',100,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','PICT','Get_Report_Number',10,2); INSERT INTO sbmFUNCTIONS VALUES ('SRV','PICT','Get_Recid',15,2); INSERT INTO sbmFUNCTIONS VALUES ('SBI','PICT','Get_Recid',20,2); INSERT INTO sbmIMPLEMENT VALUES ('RTEXT','SBI','Y','SBIRTEXT',4,'2002-05-06','2002-06-19',1,'','1',1,1,''); INSERT INTO sbmIMPLEMENT VALUES ('RTEXT','MBI','Y','MBIRTEXT',1,'2002-05-06','2004-02-04',2,'','0',0,0,''); INSERT INTO sbmIMPLEMENT VALUES ('PICT','SBI','Y','SBIPICT',4,'2002-05-03','2004-02-05',1,'','1',1,1,''); INSERT INTO sbmIMPLEMENT VALUES ('RTEXT','SRV','Y','SRVRTEXT',1,'2002-05-06','2004-02-05',3,'','0',0,0,''); INSERT INTO sbmIMPLEMENT VALUES ('PICT','MBI','Y','MBIPICT',1,'2002-05-03','2004-02-05',2,'','0',0,0,''); INSERT INTO sbmIMPLEMENT VALUES ('TEXT','MBI','Y','MBITEXT',1,'2002-05-03','2004-01-30',2,'','0',0,0,''); INSERT INTO sbmIMPLEMENT VALUES ('TEXT','SBI','Y','SBITEXT',4,'2002-05-03','2002-06-21',1,'','1',1,1,''); INSERT INTO sbmIMPLEMENT VALUES ('TEXT','SRV','Y','SRVTEXT',1,'2002-05-03','2004-02-02',3,'','0',0,0,''); INSERT INTO sbmIMPLEMENT VALUES ('RTEXT','APP','Y','APPRTEXT',1,'2002-05-06','2002-05-28',4,'0','0',0,1,'0'); INSERT INTO sbmIMPLEMENT VALUES ('RPICT','MBI','Y','MBIRPICT',1,'2002-05-07','2004-02-05',2,'','0',0,0,''); INSERT INTO sbmIMPLEMENT VALUES ('RPICT','SBI','Y','SBIRPICT',4,'2002-05-07','2002-06-20',1,'','1',1,1,''); INSERT INTO sbmIMPLEMENT VALUES ('RPICT','APP','Y','APPRPICT',1,'2002-05-07','2002-05-28',4,'0','0',0,1,'0'); INSERT INTO sbmIMPLEMENT VALUES ('PICT','SRV','Y','SRVPICT',1,'2004-02-26','0000-00-00',3,'','0',0,0,''); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','directory','TEST'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','categformatDAM','TEST--.*'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','autorngen','Y'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','authorfile','AU'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','counterpath','lastid_test_categ'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','noteFile','NO'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','status','ADDED'); INSERT INTO sbmPARAMETERS VALUES ('PICT','status','ADDED'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','authorfile','AU'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','autorngen','Y'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','categformatDAM','TEST--.*'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','counterpath','lastid_test_categ'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','edsrn','RNTEST2'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','emailFile','SuE'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','fieldnameMBI','TEXTChange'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','filetype','fulltext'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','firstfile','MainFiles'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','formatARCHIVE',''); INSERT INTO sbmPARAMETERS VALUES ('TEXT','formatFTT','Format'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','iconsize','180'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','maxsize','20000000'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','minsize','10'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','newrnin','NEWRN'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','pathARCHIVE','TEST'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','rnformat','TEST-categ-yy'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','rnin','comboTEXT'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','secondfile','AdditionalFiles'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','sourceDoc','Preprints'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','sourceModify','EDSTEXT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','sourceSubmit','EDSTEXT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','textMailFTT',''); INSERT INTO sbmPARAMETERS VALUES ('TEXT','titleFile','TI'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','variablesARCHIVE',''); INSERT INTO sbmPARAMETERS VALUES ('TEXT','yeargen','AUTO'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','mysqlInsert','EDSTEXTmysql.tpl'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','mysqlModify','EDSTEXTmysql_Modify.tpl'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','categformatAPP','TEST--.*'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','casedefault',''); INSERT INTO sbmPARAMETERS VALUES ('TEXT','casesteps','2,3'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','casevalues','approve,reject'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','casevariable','decision'); INSERT INTO sbmPARAMETERS VALUES ('PICT','authorfile','AU'); INSERT INTO sbmPARAMETERS VALUES ('PICT','autorngen','Y'); INSERT INTO sbmPARAMETERS VALUES ('PICT','categformatDAM','TEST--.*'); INSERT INTO sbmPARAMETERS VALUES ('PICT','counterpath','lastid_picture_test_categ'); INSERT INTO sbmPARAMETERS VALUES ('PICT','edsrn','RNPHO2'); INSERT INTO sbmPARAMETERS VALUES ('PICT','emailFile','SuE'); INSERT INTO sbmPARAMETERS VALUES ('PICT','fieldnameMBI','TEXTChange'); INSERT INTO sbmPARAMETERS VALUES ('PICT','filetype','picture'); INSERT INTO sbmPARAMETERS VALUES ('PICT','firstfile','PictureFiles'); INSERT INTO sbmPARAMETERS VALUES ('PICT','formatARCHIVE',''); INSERT INTO sbmPARAMETERS VALUES ('PICT','formatFTT','Format'); INSERT INTO sbmPARAMETERS VALUES ('PICT','iconsize','100'); INSERT INTO sbmPARAMETERS VALUES ('PICT','maxsize','20000000'); INSERT INTO sbmPARAMETERS VALUES ('PICT','minsize','10'); INSERT INTO sbmPARAMETERS VALUES ('PICT','newrnin','NEWRN'); INSERT INTO sbmPARAMETERS VALUES ('PICT','pathARCHIVE','pictures'); INSERT INTO sbmPARAMETERS VALUES ('PICT','rnformat','PICTURE-TEST-categ-yy'); INSERT INTO sbmPARAMETERS VALUES ('PICT','rnin','comboPICT'); INSERT INTO sbmPARAMETERS VALUES ('PICT','secondfile','OtherPictures'); INSERT INTO sbmPARAMETERS VALUES ('PICT','sourceDoc','photos'); INSERT INTO sbmPARAMETERS VALUES ('PICT','sourceModify','EDSPICT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('PICT','sourceSubmit','EDSPICT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('PICT','textMailFTT',''); INSERT INTO sbmPARAMETERS VALUES ('PICT','titleFile','TI'); INSERT INTO sbmPARAMETERS VALUES ('PICT','variablesARCHIVE',''); INSERT INTO sbmPARAMETERS VALUES ('PICT','yeargen','AUTO'); INSERT INTO sbmPARAMETERS VALUES ('PICT','mysqlInsert','EDSPICTmysql.tpl'); INSERT INTO sbmPARAMETERS VALUES ('PICT','mysqlModify','EDSPICTmysql_Modify.tpl'); INSERT INTO sbmPARAMETERS VALUES ('PICT','categformatAPP','TEST--.*'); INSERT INTO sbmPARAMETERS VALUES ('PICT','casedefault',''); INSERT INTO sbmPARAMETERS VALUES ('PICT','casesteps','2,3'); INSERT INTO sbmPARAMETERS VALUES ('PICT','casevalues','approve,reject'); INSERT INTO sbmPARAMETERS VALUES ('PICT','casevariable','decision'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','noteFile','NO'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','edsrn','RNTEST2'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','emailFile','SuE'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','fieldnameMBI','TEXTChange'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','filetype','fulltext'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','firstfile','MainFile'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','formatARCHIVE',''); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','formatFTT','Format'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','iconsize','180'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','maxsize','2000000'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','minsize','10'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','newrnin','NEWRN'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','pathARCHIVE','TEST'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','rnformat','TEST-categ-yy'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','rnin','comboRTEXT'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','secondfile','IncludedFiles'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','sourceDoc','Preprints (with simple approval)'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','sourceModify','EDSTEXT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','sourceSubmit','EDSRTEXT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','textMailFTT',''); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','titleFile','TI'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','variablesARCHIVE',''); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','yeargen','AUTO'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','mysqlInsert','EDSRTEXTmysql.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','mysqlModify','EDSTEXTmysql_Modify.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','categformatAPP','TEST--.*'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','casedefault',''); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','casesteps','2,3'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','casevalues','approve,reject'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','casevariable','decision'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','status','APPROVAL'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','authorfile','AU'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','autorngen','Y'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','categformatDAM','PICTURE-TEST--.*'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','counterpath','lastid_picture_test_categ'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','edsrn','RNPHO2'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','emailFile','SuE'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','fieldnameMBI','TEXTChange'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','filetype','picture'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','firstfile','PictureFiles'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','formatARCHIVE',''); INSERT INTO sbmPARAMETERS VALUES ('RPICT','formatFTT','Format'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','iconsize','100'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','maxsize','20000000'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','minsize','10'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','newrnin','NEWRN'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','pathARCHIVE','pictures'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','rnformat','PICTURE-TEST-categ-yy'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','rnin','comboRPICT'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','secondfile','OtherPictures'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','sourceDoc','photos (with simple approval)'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','sourceModify','EDSPICT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','sourceSubmit','EDSRPICT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','textMailFTT',''); INSERT INTO sbmPARAMETERS VALUES ('RPICT','titleFile','TI'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','variablesARCHIVE',''); INSERT INTO sbmPARAMETERS VALUES ('RPICT','yeargen','AUTO'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','mysqlInsert','EDSRPICTmysql.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','mysqlModify','EDSPICTmysql_Modify.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','categformatAPP','PICTURE-TEST--.*'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','casedefault',''); INSERT INTO sbmPARAMETERS VALUES ('RPICT','casesteps','2,3'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','casevalues','approve,reject'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','casevariable','decision'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','directory','pictures'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','status','APPROVAL'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','sourceTemplate','EDSTEXT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','createTemplate','EDSTEXTcreate.tpl'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','addressesMBI',''); INSERT INTO sbmPARAMETERS VALUES ('TEXT','modifyTemplate','EDSTEXTmodify.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','addressesDAM',''); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','sourceTemplate','EDSRTEXT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','createTemplate','EDSRTEXTcreate.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','addressesMBI',''); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','modifyTemplate','EDSRTEXTmodify.tpl'); INSERT INTO sbmPARAMETERS VALUES ('PICT','sourceTemplate','EDSPICT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('PICT','createTemplate','EDSPICTcreate.tpl'); INSERT INTO sbmPARAMETERS VALUES ('PICT','modifyTemplate','EDSPICTcreate.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','sourceTemplate','EDSRPICT.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','createTemplate','EDSRPICTcreate.tpl'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','modifyTemplate','EDSRPICTmodify.tpl'); INSERT INTO sbmPARAMETERS VALUES ('PICT','addressesMBI',''); INSERT INTO sbmPARAMETERS VALUES ('PICT','noteFile','NO'); INSERT INTO sbmPARAMETERS VALUES ('RTEXT','type','fulltext'); INSERT INTO sbmPARAMETERS VALUES ('TEXT','type','fulltext'); INSERT INTO sbmPARAMETERS VALUES ('PICT','type','picture'); INSERT INTO sbmPARAMETERS VALUES ('RPICT','type','picture'); INSERT INTO rnkMETHOD (id,name,last_updated) VALUES (2,'demo_jif','0000-00-00 00:00:00'); INSERT INTO collection_rnkMETHOD (id_collection,id_rnkMETHOD,score) VALUES (15,2,90); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'en','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'fr','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'de','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'es','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'ca','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'pt','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'it','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'ru','ln','фактор воздействия журнала'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'sk','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'cs','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'no','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'sv','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'uk','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'ja','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'bg','ln','journal impact factor'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'hr','ln','faktor utjecaja časopisa'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'zh_CN','ln','期刊影响系数'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (2,'zh_TW','ln','期刊影響系數'); INSERT INTO externalcollection (id, name) VALUES (1, 'Amazon'); INSERT INTO externalcollection (id, name) VALUES (2, 'CERN EDMS'); INSERT INTO externalcollection (id, name) VALUES (3, 'CERN Indico'); INSERT INTO externalcollection (id, name) VALUES (4, 'CERN Intranet'); INSERT INTO externalcollection (id, name) VALUES (5, 'CiteSeer'); INSERT INTO externalcollection (id, name) VALUES (6, 'Google Books'); INSERT INTO externalcollection (id, name) VALUES (7, 'Google Scholar'); INSERT INTO externalcollection (id, name) VALUES (8, 'Google Web'); INSERT INTO externalcollection (id, name) VALUES (9, 'IEC'); INSERT INTO externalcollection (id, name) VALUES (10, 'IHS'); INSERT INTO externalcollection (id, name) VALUES (11, 'INSPEC'); INSERT INTO externalcollection (id, name) VALUES (12, 'ISO'); INSERT INTO externalcollection (id, name) VALUES (13, 'KISS Books/Journals'); INSERT INTO externalcollection (id, name) VALUES (14, 'KISS Preprints'); INSERT INTO externalcollection (id, name) VALUES (15, 'NEBIS'); INSERT INTO externalcollection (id, name) VALUES (16, 'SLAC Library Catalog'); INSERT INTO externalcollection (id, name) VALUES (17, 'SPIRES HEP'); INSERT INTO externalcollection (id, name) VALUES (18, 'Scirus'); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (1,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,3,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,5,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,13,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,14,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,17,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (2,18,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (3,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (4,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (5,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,3,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,5,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,13,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,14,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,17,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (6,18,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (7,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (8,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (9,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (10,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (11,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (12,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (13,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (14,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,3,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,5,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,13,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,14,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,17,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (15,18,2); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (16,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (17,18,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,1,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,2,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,3,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,4,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,5,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,6,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,7,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,8,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,9,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,10,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,11,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,12,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,13,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,14,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,15,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,16,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,17,1); INSERT INTO collection_externalcollection (id_collection,id_externalcollection,type) VALUES (18,18,1); INSERT INTO flxKBS VALUES ('DBCOLLID2COLL','flxKBDBCOLLID2COLL','DbCollID to Coll name correspondance.'); INSERT INTO flxKBS VALUES ('EJOURNALS','flxKBEJOURNALS','Knowledge base of all known electronic journals. Useful for reference linking.'); INSERT INTO flxKBS VALUES ('DBCOLLID2BIBTEX','flxKBDBCOLLID2BIBTEX','Mapping between the 980 field and BibTeX entry types.'); INSERT INTO flxKBDBCOLLID2COLL VALUES ('ARTICLE','Published Article'); INSERT INTO flxKBDBCOLLID2COLL VALUES ('PREPRINT','Preprint'); INSERT INTO flxKBDBCOLLID2COLL VALUES ('THESIS','Thesis'); INSERT INTO flxKBDBCOLLID2COLL VALUES ('BOOK','Book'); INSERT INTO flxKBDBCOLLID2COLL VALUES ('REPORT','Report'); INSERT INTO flxKBDBCOLLID2COLL VALUES ('PICTURE','Pictures'); INSERT INTO flxKBEJOURNALS VALUES ('AAS Photo Bull.','AAS Photo Bull.'); INSERT INTO flxKBEJOURNALS VALUES ('Accredit. Qual. Assur.','Accredit. Qual. Assur.'); INSERT INTO flxKBEJOURNALS VALUES ('Acoust. Phys.','Acoust. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Acoust. Res. Lett.','Acoust. Res. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Acta Astron.','Acta Astron.'); INSERT INTO flxKBEJOURNALS VALUES ('Adv. Comput. Math.','Adv. Comput. Math.'); INSERT INTO flxKBEJOURNALS VALUES ('Aequ. Math.','Aequ. Math.'); INSERT INTO flxKBEJOURNALS VALUES ('Afr. Skies','Afr. Skies'); INSERT INTO flxKBEJOURNALS VALUES ('Algorithmica','Algorithmica'); INSERT INTO flxKBEJOURNALS VALUES ('Am. J. Phys.','Am. J. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Ann. Phys.','Ann. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Annu. Rev. Astron. Astrophys.','Annu. Rev. Astron. Astrophys.'); INSERT INTO flxKBEJOURNALS VALUES ('Annu. Rev. Earth Planet. Sci.','Annu. Rev. Earth Planet. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Appl. Phys. Lett.','Appl. Phys. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Appl. Phys., A','Appl. Phys., A'); INSERT INTO flxKBEJOURNALS VALUES ('Appl. Phys., B','Appl. Phys., B'); INSERT INTO flxKBEJOURNALS VALUES ('Appl. Radiat. Isot.','Appl. Radiat. Isot.'); INSERT INTO flxKBEJOURNALS VALUES ('Appl. Surf. Sci.','Appl. Surf. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Arch. Appl. Mech.','Arch. Appl. Mech.'); INSERT INTO flxKBEJOURNALS VALUES ('Arch. Envir. Contam. Toxicol.','Arch. Envir. Contam. Toxicol.'); INSERT INTO flxKBEJOURNALS VALUES ('Arch. Rational Mech. Analys.','Arch. Rational Mech. Analys.'); INSERT INTO flxKBEJOURNALS VALUES ('Astron. Astrophys. Rev.','Astron. Astrophys. Rev.'); INSERT INTO flxKBEJOURNALS VALUES ('Astron. Astrophys.','Astron. Astrophys.'); INSERT INTO flxKBEJOURNALS VALUES ('Astron. Astrophys., Suppl.','Astron. Astrophys., Suppl.'); INSERT INTO flxKBEJOURNALS VALUES ('Astron. J.','Astron. J.'); INSERT INTO flxKBEJOURNALS VALUES ('Astron. Lett.','Astron. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Astron. Nachr.','Astron. Nachr.'); INSERT INTO flxKBEJOURNALS VALUES ('Astron. Rep.','Astron. Rep.'); INSERT INTO flxKBEJOURNALS VALUES ('Astropart. Phys.','Astropart. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Astrophys. J.','Astrophys. J.'); INSERT INTO flxKBEJOURNALS VALUES ('Astrophys. Norvegica','Astrophys. Norvegica'); INSERT INTO flxKBEJOURNALS VALUES ('Balt. Astron.','Balt. Astron.'); INSERT INTO flxKBEJOURNALS VALUES ('Bioimaging','Bioimaging'); INSERT INTO flxKBEJOURNALS VALUES ('Biol. Cybern.','Biol. Cybern.'); INSERT INTO flxKBEJOURNALS VALUES ('Bull. Astron. Belgrade','Bull. Astron. Belgrade'); INSERT INTO flxKBEJOURNALS VALUES ('Bull. Astron. Inst. Czech.','Bull. Astron. Inst. Czech.'); INSERT INTO flxKBEJOURNALS VALUES ('Bull. Astron. Soc. India','Bull. Astron. Soc. India'); INSERT INTO flxKBEJOURNALS VALUES ('Bull. Eng. Geol. Environ.','Bull. Eng. Geol. Environ.'); INSERT INTO flxKBEJOURNALS VALUES ('Bull. Environ. Contam. Toxicol.','Bull. Environ. Contam. Toxicol.'); INSERT INTO flxKBEJOURNALS VALUES ('Calc. Var. Partial Differ. Equ.','Calc. Var. Partial Differ. Equ.'); INSERT INTO flxKBEJOURNALS VALUES ('Chaos','Chaos'); INSERT INTO flxKBEJOURNALS VALUES ('Chaos Solitons Fractals','Chaos Solitons Fractals'); INSERT INTO flxKBEJOURNALS VALUES ('Chem. Phys.','Chem. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Chem. Phys. Lett.','Chem. Phys. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Chin. Astron. Astrophys.','Chin. Astron. Astrophys.'); INSERT INTO flxKBEJOURNALS VALUES ('Chin. J. Astron. Astrophys.','Chin. J. Astron. Astrophys.'); INSERT INTO flxKBEJOURNALS VALUES ('Class. Quantum Gravity','Class. Quantum Gravity'); INSERT INTO flxKBEJOURNALS VALUES ('Clim. Dyn.','Clim. Dyn.'); INSERT INTO flxKBEJOURNALS VALUES ('Colloid Polym. Sci.','Colloid Polym. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Combinatorica','Combinatorica'); INSERT INTO flxKBEJOURNALS VALUES ('Combust. Theory Model.','Combust. Theory Model.'); INSERT INTO flxKBEJOURNALS VALUES ('Commun. Math. Phys.','Commun. Math. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Comment. Math. Helv.','Comment. Math. Helv.'); INSERT INTO flxKBEJOURNALS VALUES ('Comput. Mech.','Comput. Mech.'); INSERT INTO flxKBEJOURNALS VALUES ('Comput. Phys.','Comput. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Comput. Phys. Commun.','Comput. Phys. Commun.'); INSERT INTO flxKBEJOURNALS VALUES ('Comput. Sci. Eng.','Comput. Sci. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('Comput. Vis. Sci.','Comput. Vis. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Computing','Computing'); INSERT INTO flxKBEJOURNALS VALUES ('Constr. Approx.','Constr. Approx.'); INSERT INTO flxKBEJOURNALS VALUES ('Contin. Mech. Thermodyn.','Contin. Mech. Thermodyn.'); INSERT INTO flxKBEJOURNALS VALUES ('Contrib. Astron. Obs. Skaln. Pleso','Contrib. Astron. Obs. Skaln. Pleso'); INSERT INTO flxKBEJOURNALS VALUES ('Contrib. Astron. Obs. Skaln. Pleso Suppl.','Contrib. Astron. Obs. Skaln. Pleso Suppl.'); INSERT INTO flxKBEJOURNALS VALUES ('Cryogenics','Cryogenics'); INSERT INTO flxKBEJOURNALS VALUES ('Crystallogr. Rep.','Crystallogr. Rep.'); INSERT INTO flxKBEJOURNALS VALUES ('Curr. Appl. Phys.','Curr. Appl. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Curr. Opin. Solid State Mater. Sci.','Curr. Opin. Solid State Mater. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Discret. Comput. Geom.','Discret. Comput. Geom.'); INSERT INTO flxKBEJOURNALS VALUES ('Displays','Displays'); INSERT INTO flxKBEJOURNALS VALUES ('Distrib. Comput.','Distrib. Comput.'); INSERT INTO flxKBEJOURNALS VALUES ('Distrib. Syst. Eng.','Distrib. Syst. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('Dokl. Phys.','Dokl. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Electrochem. Solid State Lett.','Electrochem. Solid State Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Electron. Lett.','Electron. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Elem. Math.','Elem. Math.'); INSERT INTO flxKBEJOURNALS VALUES ('Environ. Geol.','Environ. Geol.'); INSERT INTO flxKBEJOURNALS VALUES ('Environ. Manage.','Environ. Manage.'); INSERT INTO flxKBEJOURNALS VALUES ('Eur. Biophys. J. Biophys. Lett.','Eur. Biophys. J. Biophys. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Eur. J. Phys.','Eur. J. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Eur. Phys. J., A','Eur. Phys. J., A'); INSERT INTO flxKBEJOURNALS VALUES ('Eur. Phys. J., Appl. Phys.','Eur. Phys. J., Appl. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Eur. Phys. J., B','Eur. Phys. J., B'); INSERT INTO flxKBEJOURNALS VALUES ('Eur. Phys. J., C','Eur. Phys. J., C'); INSERT INTO flxKBEJOURNALS VALUES ('Eur. Phys. J., D','Eur. Phys. J., D'); INSERT INTO flxKBEJOURNALS VALUES ('Eur. Phys. J., E','Eur. Phys. J., E'); INSERT INTO flxKBEJOURNALS VALUES ('Europhys. Lett.','Europhys. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Europhys. News','Europhys. News'); INSERT INTO flxKBEJOURNALS VALUES ('Exp. Fluids','Exp. Fluids'); INSERT INTO flxKBEJOURNALS VALUES ('Few-Body Syst.','Few-Body Syst.'); INSERT INTO flxKBEJOURNALS VALUES ('Finan. Stoch.','Finan. Stoch.'); INSERT INTO flxKBEJOURNALS VALUES ('Fluid Dyn. Res.','Fluid Dyn. Res.'); INSERT INTO flxKBEJOURNALS VALUES ('Geom. Funct. Anal.','Geom. Funct. Anal.'); INSERT INTO flxKBEJOURNALS VALUES ('Heat Mass Transf.','Heat Mass Transf.'); INSERT INTO flxKBEJOURNALS VALUES ('High Energy Phys. Libr. Webzine','High Energy Phys. Libr. Webzine'); INSERT INTO flxKBEJOURNALS VALUES ('High Perform. Polym.','High Perform. Polym.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Circ. Devices Syst.','IEE Proc., Circ. Devices Syst.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Commun.','IEE Proc., Commun.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Comput. Digit. Tech.','IEE Proc., Comput. Digit. Tech.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Control Theory Appl.','IEE Proc., Control Theory Appl.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Electr. Power Appl.','IEE Proc., Electr. Power Appl.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Gener. Transm. Distrib.','IEE Proc., Gener. Transm. Distrib.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Microw. Antennas Propag.','IEE Proc., Microw. Antennas Propag.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Optoelectron.','IEE Proc., Optoelectron.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Radar, Sonar Navig.','IEE Proc., Radar, Sonar Navig.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Sci. Meas. Technol.','IEE Proc., Sci. Meas. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Softw. Eng.','IEE Proc., Softw. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('IEE Proc., Vis. Image Signal Process.','IEE Proc., Vis. Image Signal Process.'); INSERT INTO flxKBEJOURNALS VALUES ('Image Vis. Comput.','Image Vis. Comput.'); INSERT INTO flxKBEJOURNALS VALUES ('Inform. Forsch. Entwickl.','Inform. Forsch. Entwickl.'); INSERT INTO flxKBEJOURNALS VALUES ('Inform. Spektr.','Inform. Spektr.'); INSERT INTO flxKBEJOURNALS VALUES ('Infrared Phys. Technol.','Infrared Phys. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('Int. J. Digit. Libr.','Int. J. Digit. Libr.'); INSERT INTO flxKBEJOURNALS VALUES ('Int. J. Doc. Anal. Recogn.','Int. J. Doc. Anal. Recogn.'); INSERT INTO flxKBEJOURNALS VALUES ('Int. J. Nonlinear Mech.','Int. J. Nonlinear Mech.'); INSERT INTO flxKBEJOURNALS VALUES ('Int. J. Softw. Tools Technol. Transf.','Int. J. Softw. Tools Technol. Transf.'); INSERT INTO flxKBEJOURNALS VALUES ('Invent. Math.','Invent. Math.'); INSERT INTO flxKBEJOURNALS VALUES ('Inverse Probl.','Inverse Probl.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Acoust. Soc. Am.','J. Acoust. Soc. Am.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Aerosp. Eng.','J. Aerosp. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Alloys. Compounds','J. Alloys. Compounds'); INSERT INTO flxKBEJOURNALS VALUES ('J. Am. Assoc. Var. Star Obs.','J. Am. Assoc. Var. Star Obs.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Appl. Mech.','J. Appl. Mech.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Appl. Phys.','J. Appl. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Atmos. Solar Terrest. Phys.','J. Atmos. Solar Terrest. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Br. Astron. Assoc.','J. Br. Astron. Assoc.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Chem. Phys.','J. Chem. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Classif.','J. Classif.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Comput. Inf. Sci. Eng.','J. Comput. Inf. Sci. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Constr. Eng. Manage.','J. Constr. Eng. Manage.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Cryptol.','J. Cryptol.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Cryst. Growth','J. Cryst. Growth'); INSERT INTO flxKBEJOURNALS VALUES ('J. Dyn. Syst. Meas. Control','J. Dyn. Syst. Meas. Control'); INSERT INTO flxKBEJOURNALS VALUES ('J. Electrochem. Soc.','J. Electrochem. Soc.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Electron Spectrosc. Relat. Phen.','J. Electron Spectrosc. Relat. Phen.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Electron. Imaging','J. Electron. Imaging'); INSERT INTO flxKBEJOURNALS VALUES ('J. Electron. Packag.','J. Electron. Packag.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Energy Eng.','J. Energy Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Energy Resour. Technol.','J. Energy Resour. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Eng. Mater. Technol.','J. Eng. Mater. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Eng. Mech.','J. Eng. Mech.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Environ. Eng.','J. Environ. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Exp. Theor. Phys., JETP','J. Exp. Theor. Phys., JETP'); INSERT INTO flxKBEJOURNALS VALUES ('J. Fluids Eng.','J. Fluids Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Geom. Phys.','J. Geom. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Heat Transf.','J. Heat Transf.'); INSERT INTO flxKBEJOURNALS VALUES ('J. High Energy Phys.','J. High Energy Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Korean Astron. Soc.','J. Korean Astron. Soc.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Lumin.','J. Lumin.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Magn. Magn. Mater.','J. Magn. Magn. Mater.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Manage. Eng.','J. Manage. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Manuf. Sci. Eng.','J. Manuf. Sci. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Mater. Civ. Eng.','J. Mater. Civ. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Math. Biol.','J. Math. Biol.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Math. Phys.','J. Math. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Mech. Des.','J. Mech. Des.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Micromech. Microeng.','J. Micromech. Microeng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Opt.','J. Opt.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys., A','J. Phys., A'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys., B','J. Phys., B'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys., Condens. Matter','J. Phys., Condens. Matter'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys., D','J. Phys., D'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys., G','J. Phys., G'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys. I','J. Phys. I'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys. II','J. Phys. II'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys. III','J. Phys. III'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys. Chem. Ref. Data','J. Phys. Chem. Ref. Data'); INSERT INTO flxKBEJOURNALS VALUES ('J. Phys. Chem. Solids','J. Phys. Chem. Solids'); INSERT INTO flxKBEJOURNALS VALUES ('J. Quant. Spectrosc. Radiat. Transf.','J. Quant. Spectrosc. Radiat. Transf.'); INSERT INTO flxKBEJOURNALS VALUES ('J. R. Astron. Soc. Can.','J. R. Astron. Soc. Can.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Radio. Prot.','J. Radio. Prot.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Rheol.','J. Rheol.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Solar Energy Eng.','J. Solar Energy Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Solid State Electrochem.','J. Solid State Electrochem.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Struct. Eng.','J. Struct. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Surv. Eng.','J. Surv. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Tribol.','J. Tribol.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Turbomach.','J. Turbomach.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Vac. Sci. Technol.','J. Vac. Sci. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('J. Vac. Sci. Technol., A','J. Vac. Sci. Technol., A'); INSERT INTO flxKBEJOURNALS VALUES ('J. Vac. Sci. Technol., B','J. Vac. Sci. Technol., B'); INSERT INTO flxKBEJOURNALS VALUES ('J. Vib. Acoust.','J. Vib. Acoust.'); INSERT INTO flxKBEJOURNALS VALUES ('JETP','JETP'); INSERT INTO flxKBEJOURNALS VALUES ('JETP Lett.','JETP Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Low Temp. Phys.','Low Temp. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Mach. Vis. Appl.','Mach. Vis. Appl.'); INSERT INTO flxKBEJOURNALS VALUES ('Mater. Res. Innov.','Mater. Res. Innov.'); INSERT INTO flxKBEJOURNALS VALUES ('Mater. Sci. Eng., B','Mater. Sci. Eng., B'); INSERT INTO flxKBEJOURNALS VALUES ('Math. Ann.','Math. Ann.'); INSERT INTO flxKBEJOURNALS VALUES ('Math. Model. Numer. Anal.','Math. Model. Numer. Anal.'); INSERT INTO flxKBEJOURNALS VALUES ('Math. Program.','Math. Program.'); INSERT INTO flxKBEJOURNALS VALUES ('Math. Z.','Math. Z.'); INSERT INTO flxKBEJOURNALS VALUES ('Meas. Sci. Technol.','Meas. Sci. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('Med. Phys.','Med. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Meteorit. Planet. Sci.','Meteorit. Planet. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Microelectron. Eng.','Microelectron. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('Micron','Micron'); INSERT INTO flxKBEJOURNALS VALUES ('Microsc. Microanal.','Microsc. Microanal.'); INSERT INTO flxKBEJOURNALS VALUES ('Microsyst. Technol.','Microsyst. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('Mon. Not. R. Astron. Soc.','Mon. Not. R. Astron. Soc.'); INSERT INTO flxKBEJOURNALS VALUES ('Multim. Syst.','Multim. Syst.'); INSERT INTO flxKBEJOURNALS VALUES ('Nanotech.','Nanotech.'); INSERT INTO flxKBEJOURNALS VALUES ('Naturwiss.','Naturwiss.'); INSERT INTO flxKBEJOURNALS VALUES ('Network','Network'); INSERT INTO flxKBEJOURNALS VALUES ('New Astron.','New Astron.'); INSERT INTO flxKBEJOURNALS VALUES ('New Astron. Rev.','New Astron. Rev.'); INSERT INTO flxKBEJOURNALS VALUES ('Nonlinearity','Nonlinearity'); INSERT INTO flxKBEJOURNALS VALUES ('Nucl. Instrum. Methods Phys. Res., A','Nucl. Instrum. Methods Phys. Res., A'); INSERT INTO flxKBEJOURNALS VALUES ('Nucl. Instrum. Methods Phys. Res., B','Nucl. Instrum. Methods Phys. Res., B'); INSERT INTO flxKBEJOURNALS VALUES ('Nucl. Phys. B, Proc. Suppl.','Nucl. Phys. B, Proc. Suppl.'); INSERT INTO flxKBEJOURNALS VALUES ('Nucl. Phys., A','Nucl. Phys., A'); INSERT INTO flxKBEJOURNALS VALUES ('Nucl. Phys., B','Nucl. Phys., B'); INSERT INTO flxKBEJOURNALS VALUES ('Num. Math.','Num. Math.'); INSERT INTO flxKBEJOURNALS VALUES ('Nuovo Cimento, A','Nuovo Cimento, A'); INSERT INTO flxKBEJOURNALS VALUES ('Nuovo Cimento, B','Nuovo Cimento, B'); INSERT INTO flxKBEJOURNALS VALUES ('Nuovo Cimento, C','Nuovo Cimento, C'); INSERT INTO flxKBEJOURNALS VALUES ('Nuovo Cimento, D','Nuovo Cimento, D'); INSERT INTO flxKBEJOURNALS VALUES ('Obs.','Obs.'); INSERT INTO flxKBEJOURNALS VALUES ('Opt. Commun.','Opt. Commun.'); INSERT INTO flxKBEJOURNALS VALUES ('Opt. Eng.','Opt. Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('Opt. Lasers Eng.','Opt. Lasers Eng.'); INSERT INTO flxKBEJOURNALS VALUES ('Opt. Mater.','Opt. Mater.'); INSERT INTO flxKBEJOURNALS VALUES ('Opt. Spectrosc.','Opt. Spectrosc.'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. At. Nucl.','Phys. At. Nucl.'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Chem. Miner.','Phys. Chem. Miner.'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Educ.','Phys. Educ.'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Fluids','Phys. Fluids'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Fluids, A','Phys. Fluids, A'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Fluids, B','Phys. Fluids, B'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Lett., A','Phys. Lett., A'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Lett., B','Phys. Lett., B'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Med. Biol.','Phys. Med. Biol.'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Part. Nucl.','Phys. Part. Nucl.'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Plasmas','Phys. Plasmas'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rep.','Phys. Rep.'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rev., A','Phys. Rev., A'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rev., B','Phys. Rev., B'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rev., C','Phys. Rev., C'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rev., D','Phys. Rev., D'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rev., E','Phys. Rev., E'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rev., ser. 1','Phys. Rev., ser. 1'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rev. Lett.','Phys. Rev. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rev. Spec. Top. Accel. Beams','Phys. Rev. Spec. Top. Accel. Beams'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Rev.','Phys. Rev.'); INSERT INTO flxKBEJOURNALS VALUES ('Phys. Solid State','Phys. Solid State'); INSERT INTO flxKBEJOURNALS VALUES ('Physica, A','Physica, A'); INSERT INTO flxKBEJOURNALS VALUES ('Physica, B','Physica, B'); INSERT INTO flxKBEJOURNALS VALUES ('Physica, C','Physica, C'); INSERT INTO flxKBEJOURNALS VALUES ('Physica, D','Physica, D'); INSERT INTO flxKBEJOURNALS VALUES ('Physica, E','Physica, E'); INSERT INTO flxKBEJOURNALS VALUES ('Physiol. Meas.','Physiol. Meas.'); INSERT INTO flxKBEJOURNALS VALUES ('Planet. Space Sci.','Planet. Space Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Plasma Phys. Control. Fusion','Plasma Phys. Control. Fusion'); INSERT INTO flxKBEJOURNALS VALUES ('Plasma Phys. Rep.','Plasma Phys. Rep.'); INSERT INTO flxKBEJOURNALS VALUES ('Plasma Sources Sci. Technol.','Plasma Sources Sci. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('Polym. Bull.','Polym. Bull.'); INSERT INTO flxKBEJOURNALS VALUES ('Powder Diffraction','Powder Diffraction'); INSERT INTO flxKBEJOURNALS VALUES ('Probab. Theory Relat. Fields','Probab. Theory Relat. Fields'); INSERT INTO flxKBEJOURNALS VALUES ('Proc. Astron. Soc. Aust.','Proc. Astron. Soc. Aust.'); INSERT INTO flxKBEJOURNALS VALUES ('Proc. Nat. Acad. Sci.','Proc. Nat. Acad. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Prog. Cryst. Growth Charact. Mat.','Prog. Cryst. Growth Charact. Mat.'); INSERT INTO flxKBEJOURNALS VALUES ('Prog. Part. Nucl. Phys.','Prog. Part. Nucl. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Prog. Quantum Electron.','Prog. Quantum Electron.'); INSERT INTO flxKBEJOURNALS VALUES ('Prog. Surf. Sci.','Prog. Surf. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Program','Program'); INSERT INTO flxKBEJOURNALS VALUES ('Publ. Astron. Soc. Aust.','Publ. Astron. Soc. Aust.'); INSERT INTO flxKBEJOURNALS VALUES ('Publ. Astron. Soc. Jpn.','Publ. Astron. Soc. Jpn.'); INSERT INTO flxKBEJOURNALS VALUES ('Publ. Astron. Soc. Pac.','Publ. Astron. Soc. Pac.'); INSERT INTO flxKBEJOURNALS VALUES ('Publ. Underst. Sci.','Publ. Underst. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Pure Appl. Opt.: J. Eur. Opt. Soc. P. A','Pure Appl. Opt.: J. Eur. Opt. Soc. P. A'); INSERT INTO flxKBEJOURNALS VALUES ('Quantum Semiclass. Opt.: J. Eur. Opt. Soc. P. B','Quantum Semiclass. Opt.: J. Eur. Opt. Soc. P. B'); INSERT INTO flxKBEJOURNALS VALUES ('Radiat. Environ. Biophys.','Radiat. Environ. Biophys.'); INSERT INTO flxKBEJOURNALS VALUES ('Radiat. Meas.','Radiat. Meas.'); INSERT INTO flxKBEJOURNALS VALUES ('Radiat. Phys. Chem.','Radiat. Phys. Chem.'); INSERT INTO flxKBEJOURNALS VALUES ('Radiologe','Radiologe'); INSERT INTO flxKBEJOURNALS VALUES ('Radioprotection','Radioprotection'); INSERT INTO flxKBEJOURNALS VALUES ('Rep. Math. Phys.','Rep. Math. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Rep. Prog. Phys.','Rep. Prog. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Res. Exp. Med.','Res. Exp. Med.'); INSERT INTO flxKBEJOURNALS VALUES ('Rev. Mex. Astron. Astrofis.','Rev. Mex. Astron. Astrofis.'); INSERT INTO flxKBEJOURNALS VALUES ('Rev. Mod. Phys.','Rev. Mod. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Rev. Sci. Instrum.','Rev. Sci. Instrum.'); INSERT INTO flxKBEJOURNALS VALUES ('Sel. Math., New Ser.','Sel. Math., New Ser.'); INSERT INTO flxKBEJOURNALS VALUES ('Semicond.','Semicond.'); INSERT INTO flxKBEJOURNALS VALUES ('Semicond. Sci. Technol.','Semicond. Sci. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('Shock Waves','Shock Waves'); INSERT INTO flxKBEJOURNALS VALUES ('SIAM J. Appl. Math.','SIAM J. Appl. Math.'); INSERT INTO flxKBEJOURNALS VALUES ('SIAM J. Comput.','SIAM J. Comput.'); INSERT INTO flxKBEJOURNALS VALUES ('SIAM J. Math. Anal.','SIAM J. Math. Anal.'); INSERT INTO flxKBEJOURNALS VALUES ('SIAM J. Numer. Anal.','SIAM J. Numer. Anal.'); INSERT INTO flxKBEJOURNALS VALUES ('SIAM J. Optim.','SIAM J. Optim.'); INSERT INTO flxKBEJOURNALS VALUES ('SIAM Rev.','SIAM Rev.'); INSERT INTO flxKBEJOURNALS VALUES ('Smart Mat. Struct.','Smart Mat. Struct.'); INSERT INTO flxKBEJOURNALS VALUES ('Soft Comput.','Soft Comput.'); INSERT INTO flxKBEJOURNALS VALUES ('Softw. Concepts Tools','Softw. Concepts Tools'); INSERT INTO flxKBEJOURNALS VALUES ('Solar Phys.','Solar Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Solid State Commun.','Solid State Commun.'); INSERT INTO flxKBEJOURNALS VALUES ('Solid State Electron.','Solid State Electron.'); INSERT INTO flxKBEJOURNALS VALUES ('Solid State Ion.','Solid State Ion.'); INSERT INTO flxKBEJOURNALS VALUES ('Sov. Astron. Lett.','Sov. Astron. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Superconductor Science and Technology','Superconductor Science and Technology'); INSERT INTO flxKBEJOURNALS VALUES ('Surf. Coatings Techn.','Surf. Coatings Techn.'); INSERT INTO flxKBEJOURNALS VALUES ('Surf. Sci.','Surf. Sci.'); INSERT INTO flxKBEJOURNALS VALUES ('Surf. Sci. Rep.','Surf. Sci. Rep.'); INSERT INTO flxKBEJOURNALS VALUES ('Surf. Sci. Spectra','Surf. Sci. Spectra'); INSERT INTO flxKBEJOURNALS VALUES ('Synth. Metals','Synth. Metals'); INSERT INTO flxKBEJOURNALS VALUES ('Syst. Fam.','Syst. Fam.'); INSERT INTO flxKBEJOURNALS VALUES ('Tech. Phys.','Tech. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Tech. Phys. Lett.','Tech. Phys. Lett.'); INSERT INTO flxKBEJOURNALS VALUES ('Theor. Comput. Fluid Dyn.','Theor. Comput. Fluid Dyn.'); INSERT INTO flxKBEJOURNALS VALUES ('Theory Comput. Syst.','Theory Comput. Syst.'); INSERT INTO flxKBEJOURNALS VALUES ('Thin Solid Films','Thin Solid Films'); INSERT INTO flxKBEJOURNALS VALUES ('Tribol. Int.','Tribol. Int.'); INSERT INTO flxKBEJOURNALS VALUES ('Ultramicroscopy','Ultramicroscopy'); INSERT INTO flxKBEJOURNALS VALUES ('Vacuum','Vacuum'); INSERT INTO flxKBEJOURNALS VALUES ('VLDB J.','VLDB J.'); INSERT INTO flxKBEJOURNALS VALUES ('Virtual J. Nanoscale Sci. Technol.','Virtual J. Nanoscale Sci. Technol.'); INSERT INTO flxKBEJOURNALS VALUES ('Virtual J. Biol. Phys. Res.','Virtual J. Biol. Phys. Res.'); INSERT INTO flxKBEJOURNALS VALUES ('Vis. Comput.','Vis. Comput.'); INSERT INTO flxKBEJOURNALS VALUES ('Wave Motion','Wave Motion'); INSERT INTO flxKBEJOURNALS VALUES ('Waves Random Media','Waves Random Media'); INSERT INTO flxKBEJOURNALS VALUES ('Wear','Wear'); INSERT INTO flxKBEJOURNALS VALUES ('Z. Angew. Math. Phys.','Z. Angew. Math. Phys.'); INSERT INTO flxKBEJOURNALS VALUES ('Z. Phys., A','Z. Phys., A'); INSERT INTO flxKBEJOURNALS VALUES ('Z. Phys., B','Z. Phys., B'); INSERT INTO flxKBEJOURNALS VALUES ('Z. Phys., C','Z. Phys., C'); INSERT INTO flxKBEJOURNALS VALUES ('Zphys-e.C','Zphys-e.C'); INSERT INTO flxKBEJOURNALS VALUES ('ATLAS eNews','ATLAS eNews'); INSERT INTO flxKBDBCOLLID2BIBTEX VALUES ('PICTURE','unpublished'); INSERT INTO flxKBDBCOLLID2BIBTEX VALUES ('PREPRINT','techreport'); INSERT INTO flxKBDBCOLLID2BIBTEX VALUES ('ARTICLE','article'); INSERT INTO flxKBDBCOLLID2BIBTEX VALUES ('REPORT','techreport'); INSERT INTO flxKBDBCOLLID2BIBTEX VALUES ('BOOK','book'); INSERT INTO flxKBDBCOLLID2BIBTEX VALUES ('THESIS','phdthesis'); INSERT INTO flxKBDBCOLLID2BIBTEX VALUES ('POETRY','unpublished'); INSERT INTO fmtKNOWLEDGEBASES VALUES ('1','DBCOLLID2COLL','DbCollID to Coll name correspondance.'); INSERT INTO fmtKNOWLEDGEBASES VALUES ('2','EJOURNALS','Knowledge base of all known electronic journals. Useful for reference linking.'); INSERT INTO fmtKNOWLEDGEBASES VALUES ('3','DBCOLLID2BIBTEX','Mapping between the 980 field and BibTeX entry types.'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('ARTICLE','Published Article', '1'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('PREPRINT','Preprint', '1'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('THESIS','Thesis', '1'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('BOOK','Book', '1'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('REPORT','Report', '1'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('PICTURE','Pictures', '1'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('AAS Photo Bull.','AAS Photo Bull.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Accredit. Qual. Assur.','Accredit. Qual. Assur.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Acoust. Phys.','Acoust. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Acoust. Res. Lett.','Acoust. Res. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Acta Astron.','Acta Astron.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Adv. Comput. Math.','Adv. Comput. Math.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Aequ. Math.','Aequ. Math.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Afr. Skies','Afr. Skies', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Algorithmica','Algorithmica', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Am. J. Phys.','Am. J. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Ann. Phys.','Ann. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Annu. Rev. Astron. Astrophys.','Annu. Rev. Astron. Astrophys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Annu. Rev. Earth Planet. Sci.','Annu. Rev. Earth Planet. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Appl. Phys. Lett.','Appl. Phys. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Appl. Phys., A','Appl. Phys., A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Appl. Phys., B','Appl. Phys., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Appl. Radiat. Isot.','Appl. Radiat. Isot.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Appl. Surf. Sci.','Appl. Surf. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Arch. Appl. Mech.','Arch. Appl. Mech.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Arch. Envir. Contam. Toxicol.','Arch. Envir. Contam. Toxicol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Arch. Rational Mech. Analys.','Arch. Rational Mech. Analys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astron. Astrophys. Rev.','Astron. Astrophys. Rev.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astron. Astrophys.','Astron. Astrophys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astron. Astrophys., Suppl.','Astron. Astrophys., Suppl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astron. J.','Astron. J.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astron. Lett.','Astron. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astron. Nachr.','Astron. Nachr.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astron. Rep.','Astron. Rep.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astropart. Phys.','Astropart. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astrophys. J.','Astrophys. J.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Astrophys. Norvegica','Astrophys. Norvegica', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Balt. Astron.','Balt. Astron.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Bioimaging','Bioimaging', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Biol. Cybern.','Biol. Cybern.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Bull. Astron. Belgrade','Bull. Astron. Belgrade', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Bull. Astron. Inst. Czech.','Bull. Astron. Inst. Czech.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Bull. Astron. Soc. India','Bull. Astron. Soc. India', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Bull. Eng. Geol. Environ.','Bull. Eng. Geol. Environ.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Bull. Environ. Contam. Toxicol.','Bull. Environ. Contam. Toxicol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Calc. Var. Partial Differ. Equ.','Calc. Var. Partial Differ. Equ.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Chaos','Chaos', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Chaos Solitons Fractals','Chaos Solitons Fractals', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Chem. Phys.','Chem. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Chem. Phys. Lett.','Chem. Phys. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Chin. Astron. Astrophys.','Chin. Astron. Astrophys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Chin. J. Astron. Astrophys.','Chin. J. Astron. Astrophys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Class. Quantum Gravity','Class. Quantum Gravity', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Clim. Dyn.','Clim. Dyn.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Colloid Polym. Sci.','Colloid Polym. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Combinatorica','Combinatorica', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Combust. Theory Model.','Combust. Theory Model.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Commun. Math. Phys.','Commun. Math. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Comment. Math. Helv.','Comment. Math. Helv.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Comput. Mech.','Comput. Mech.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Comput. Phys.','Comput. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Comput. Phys. Commun.','Comput. Phys. Commun.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Comput. Sci. Eng.','Comput. Sci. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Comput. Vis. Sci.','Comput. Vis. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Computing','Computing', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Constr. Approx.','Constr. Approx.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Contin. Mech. Thermodyn.','Contin. Mech. Thermodyn.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Contrib. Astron. Obs. Skaln. Pleso','Contrib. Astron. Obs. Skaln. Pleso', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Contrib. Astron. Obs. Skaln. Pleso Suppl.','Contrib. Astron. Obs. Skaln. Pleso Suppl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Cryogenics','Cryogenics', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Crystallogr. Rep.','Crystallogr. Rep.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Curr. Appl. Phys.','Curr. Appl. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Curr. Opin. Solid State Mater. Sci.','Curr. Opin. Solid State Mater. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Discret. Comput. Geom.','Discret. Comput. Geom.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Displays','Displays', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Distrib. Comput.','Distrib. Comput.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Distrib. Syst. Eng.','Distrib. Syst. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Dokl. Phys.','Dokl. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Electrochem. Solid State Lett.','Electrochem. Solid State Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Electron. Lett.','Electron. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Elem. Math.','Elem. Math.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Environ. Geol.','Environ. Geol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Environ. Manage.','Environ. Manage.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Eur. Biophys. J. Biophys. Lett.','Eur. Biophys. J. Biophys. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Eur. J. Phys.','Eur. J. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Eur. Phys. J., A','Eur. Phys. J., A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Eur. Phys. J., Appl. Phys.','Eur. Phys. J., Appl. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Eur. Phys. J., B','Eur. Phys. J., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Eur. Phys. J., C','Eur. Phys. J., C', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Eur. Phys. J., D','Eur. Phys. J., D', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Eur. Phys. J., E','Eur. Phys. J., E', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Europhys. Lett.','Europhys. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Europhys. News','Europhys. News', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Exp. Fluids','Exp. Fluids', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Few-Body Syst.','Few-Body Syst.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Finan. Stoch.','Finan. Stoch.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Fluid Dyn. Res.','Fluid Dyn. Res.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Geom. Funct. Anal.','Geom. Funct. Anal.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Heat Mass Transf.','Heat Mass Transf.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('High Energy Phys. Libr. Webzine','High Energy Phys. Libr. Webzine', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('High Perform. Polym.','High Perform. Polym.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Circ. Devices Syst.','IEE Proc., Circ. Devices Syst.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Commun.','IEE Proc., Commun.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Comput. Digit. Tech.','IEE Proc., Comput. Digit. Tech.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Control Theory Appl.','IEE Proc., Control Theory Appl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Electr. Power Appl.','IEE Proc., Electr. Power Appl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Gener. Transm. Distrib.','IEE Proc., Gener. Transm. Distrib.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Microw. Antennas Propag.','IEE Proc., Microw. Antennas Propag.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Optoelectron.','IEE Proc., Optoelectron.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Radar, Sonar Navig.','IEE Proc., Radar, Sonar Navig.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Sci. Meas. Technol.','IEE Proc., Sci. Meas. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Softw. Eng.','IEE Proc., Softw. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('IEE Proc., Vis. Image Signal Process.','IEE Proc., Vis. Image Signal Process.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Image Vis. Comput.','Image Vis. Comput.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Inform. Forsch. Entwickl.','Inform. Forsch. Entwickl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Inform. Spektr.','Inform. Spektr.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Infrared Phys. Technol.','Infrared Phys. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Int. J. Digit. Libr.','Int. J. Digit. Libr.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Int. J. Doc. Anal. Recogn.','Int. J. Doc. Anal. Recogn.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Int. J. Nonlinear Mech.','Int. J. Nonlinear Mech.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Int. J. Softw. Tools Technol. Transf.','Int. J. Softw. Tools Technol. Transf.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Invent. Math.','Invent. Math.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Inverse Probl.','Inverse Probl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Acoust. Soc. Am.','J. Acoust. Soc. Am.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Aerosp. Eng.','J. Aerosp. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Alloys. Compounds','J. Alloys. Compounds', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Am. Assoc. Var. Star Obs.','J. Am. Assoc. Var. Star Obs.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Appl. Mech.','J. Appl. Mech.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Appl. Phys.','J. Appl. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Atmos. Solar Terrest. Phys.','J. Atmos. Solar Terrest. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Br. Astron. Assoc.','J. Br. Astron. Assoc.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Chem. Phys.','J. Chem. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Classif.','J. Classif.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Comput. Inf. Sci. Eng.','J. Comput. Inf. Sci. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Constr. Eng. Manage.','J. Constr. Eng. Manage.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Cryptol.','J. Cryptol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Cryst. Growth','J. Cryst. Growth', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Dyn. Syst. Meas. Control','J. Dyn. Syst. Meas. Control', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Electrochem. Soc.','J. Electrochem. Soc.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Electron Spectrosc. Relat. Phen.','J. Electron Spectrosc. Relat. Phen.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Electron. Imaging','J. Electron. Imaging', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Electron. Packag.','J. Electron. Packag.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Energy Eng.','J. Energy Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Energy Resour. Technol.','J. Energy Resour. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Eng. Mater. Technol.','J. Eng. Mater. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Eng. Mech.','J. Eng. Mech.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Environ. Eng.','J. Environ. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Exp. Theor. Phys., JETP','J. Exp. Theor. Phys., JETP', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Fluids Eng.','J. Fluids Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Geom. Phys.','J. Geom. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Heat Transf.','J. Heat Transf.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. High Energy Phys.','J. High Energy Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Korean Astron. Soc.','J. Korean Astron. Soc.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Lumin.','J. Lumin.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Magn. Magn. Mater.','J. Magn. Magn. Mater.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Manage. Eng.','J. Manage. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Manuf. Sci. Eng.','J. Manuf. Sci. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Mater. Civ. Eng.','J. Mater. Civ. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Math. Biol.','J. Math. Biol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Math. Phys.','J. Math. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Mech. Des.','J. Mech. Des.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Micromech. Microeng.','J. Micromech. Microeng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Opt.','J. Opt.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys., A','J. Phys., A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys., B','J. Phys., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys., Condens. Matter','J. Phys., Condens. Matter', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys., D','J. Phys., D', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys., G','J. Phys., G', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys. I','J. Phys. I', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys. II','J. Phys. II', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys. III','J. Phys. III', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys. Chem. Ref. Data','J. Phys. Chem. Ref. Data', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Phys. Chem. Solids','J. Phys. Chem. Solids', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Quant. Spectrosc. Radiat. Transf.','J. Quant. Spectrosc. Radiat. Transf.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. R. Astron. Soc. Can.','J. R. Astron. Soc. Can.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Radio. Prot.','J. Radio. Prot.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Rheol.','J. Rheol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Solar Energy Eng.','J. Solar Energy Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Solid State Electrochem.','J. Solid State Electrochem.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Struct. Eng.','J. Struct. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Surv. Eng.','J. Surv. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Tribol.','J. Tribol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Turbomach.','J. Turbomach.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Vac. Sci. Technol.','J. Vac. Sci. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Vac. Sci. Technol., A','J. Vac. Sci. Technol., A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Vac. Sci. Technol., B','J. Vac. Sci. Technol., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('J. Vib. Acoust.','J. Vib. Acoust.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('JETP','JETP', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('JETP Lett.','JETP Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Low Temp. Phys.','Low Temp. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Mach. Vis. Appl.','Mach. Vis. Appl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Mater. Res. Innov.','Mater. Res. Innov.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Mater. Sci. Eng., B','Mater. Sci. Eng., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Math. Ann.','Math. Ann.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Math. Model. Numer. Anal.','Math. Model. Numer. Anal.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Math. Program.','Math. Program.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Math. Z.','Math. Z.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Meas. Sci. Technol.','Meas. Sci. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Med. Phys.','Med. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Meteorit. Planet. Sci.','Meteorit. Planet. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Microelectron. Eng.','Microelectron. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Micron','Micron', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Microsc. Microanal.','Microsc. Microanal.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Microsyst. Technol.','Microsyst. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Mon. Not. R. Astron. Soc.','Mon. Not. R. Astron. Soc.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Multim. Syst.','Multim. Syst.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nanotech.','Nanotech.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Naturwiss.','Naturwiss.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Network','Network', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('New Astron.','New Astron.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('New Astron. Rev.','New Astron. Rev.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nonlinearity','Nonlinearity', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nucl. Instrum. Methods Phys. Res., A','Nucl. Instrum. Methods Phys. Res., A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nucl. Instrum. Methods Phys. Res., B','Nucl. Instrum. Methods Phys. Res., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nucl. Phys. B, Proc. Suppl.','Nucl. Phys. B, Proc. Suppl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nucl. Phys., A','Nucl. Phys., A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nucl. Phys., B','Nucl. Phys., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Num. Math.','Num. Math.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nuovo Cimento, A','Nuovo Cimento, A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nuovo Cimento, B','Nuovo Cimento, B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nuovo Cimento, C','Nuovo Cimento, C', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Nuovo Cimento, D','Nuovo Cimento, D', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Obs.','Obs.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Opt. Commun.','Opt. Commun.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Opt. Eng.','Opt. Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Opt. Lasers Eng.','Opt. Lasers Eng.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Opt. Mater.','Opt. Mater.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Opt. Spectrosc.','Opt. Spectrosc.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. At. Nucl.','Phys. At. Nucl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Chem. Miner.','Phys. Chem. Miner.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Educ.','Phys. Educ.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Fluids','Phys. Fluids', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Fluids, A','Phys. Fluids, A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Fluids, B','Phys. Fluids, B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Lett., A','Phys. Lett., A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Lett., B','Phys. Lett., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Med. Biol.','Phys. Med. Biol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Part. Nucl.','Phys. Part. Nucl.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Plasmas','Phys. Plasmas', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rep.','Phys. Rep.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rev., A','Phys. Rev., A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rev., B','Phys. Rev., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rev., C','Phys. Rev., C', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rev., D','Phys. Rev., D', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rev., E','Phys. Rev., E', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rev., ser. 1','Phys. Rev., ser. 1', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rev. Lett.','Phys. Rev. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rev. Spec. Top. Accel. Beams','Phys. Rev. Spec. Top. Accel. Beams', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Rev.','Phys. Rev.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Phys. Solid State','Phys. Solid State', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Physica, A','Physica, A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Physica, B','Physica, B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Physica, C','Physica, C', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Physica, D','Physica, D', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Physica, E','Physica, E', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Physiol. Meas.','Physiol. Meas.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Planet. Space Sci.','Planet. Space Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Plasma Phys. Control. Fusion','Plasma Phys. Control. Fusion', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Plasma Phys. Rep.','Plasma Phys. Rep.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Plasma Sources Sci. Technol.','Plasma Sources Sci. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Polym. Bull.','Polym. Bull.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Powder Diffraction','Powder Diffraction', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Probab. Theory Relat. Fields','Probab. Theory Relat. Fields', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Proc. Astron. Soc. Aust.','Proc. Astron. Soc. Aust.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Proc. Nat. Acad. Sci.','Proc. Nat. Acad. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Prog. Cryst. Growth Charact. Mat.','Prog. Cryst. Growth Charact. Mat.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Prog. Part. Nucl. Phys.','Prog. Part. Nucl. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Prog. Quantum Electron.','Prog. Quantum Electron.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Prog. Surf. Sci.','Prog. Surf. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Program','Program', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Publ. Astron. Soc. Aust.','Publ. Astron. Soc. Aust.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Publ. Astron. Soc. Jpn.','Publ. Astron. Soc. Jpn.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Publ. Astron. Soc. Pac.','Publ. Astron. Soc. Pac.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Publ. Underst. Sci.','Publ. Underst. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Pure Appl. Opt.: J. Eur. Opt. Soc. P. A','Pure Appl. Opt.: J. Eur. Opt. Soc. P. A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Quantum Semiclass. Opt.: J. Eur. Opt. Soc. P. B','Quantum Semiclass. Opt.: J. Eur. Opt. Soc. P. B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Radiat. Environ. Biophys.','Radiat. Environ. Biophys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Radiat. Meas.','Radiat. Meas.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Radiat. Phys. Chem.','Radiat. Phys. Chem.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Radiologe','Radiologe', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Radioprotection','Radioprotection', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Rep. Math. Phys.','Rep. Math. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Rep. Prog. Phys.','Rep. Prog. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Res. Exp. Med.','Res. Exp. Med.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Rev. Mex. Astron. Astrofis.','Rev. Mex. Astron. Astrofis.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Rev. Mod. Phys.','Rev. Mod. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Rev. Sci. Instrum.','Rev. Sci. Instrum.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Sel. Math., New Ser.','Sel. Math., New Ser.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Semicond.','Semicond.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Semicond. Sci. Technol.','Semicond. Sci. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Shock Waves','Shock Waves', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('SIAM J. Appl. Math.','SIAM J. Appl. Math.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('SIAM J. Comput.','SIAM J. Comput.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('SIAM J. Math. Anal.','SIAM J. Math. Anal.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('SIAM J. Numer. Anal.','SIAM J. Numer. Anal.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('SIAM J. Optim.','SIAM J. Optim.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('SIAM Rev.','SIAM Rev.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Smart Mat. Struct.','Smart Mat. Struct.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Soft Comput.','Soft Comput.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Softw. Concepts Tools','Softw. Concepts Tools', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Solar Phys.','Solar Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Solid State Commun.','Solid State Commun.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Solid State Electron.','Solid State Electron.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Solid State Ion.','Solid State Ion.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Sov. Astron. Lett.','Sov. Astron. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Superconductor Science and Technology','Superconductor Science and Technology', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Surf. Coatings Techn.','Surf. Coatings Techn.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Surf. Sci.','Surf. Sci.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Surf. Sci. Rep.','Surf. Sci. Rep.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Surf. Sci. Spectra','Surf. Sci. Spectra', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Synth. Metals','Synth. Metals', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Syst. Fam.','Syst. Fam.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Tech. Phys.','Tech. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Tech. Phys. Lett.','Tech. Phys. Lett.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Theor. Comput. Fluid Dyn.','Theor. Comput. Fluid Dyn.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Theory Comput. Syst.','Theory Comput. Syst.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Thin Solid Films','Thin Solid Films', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Tribol. Int.','Tribol. Int.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Ultramicroscopy','Ultramicroscopy', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Vacuum','Vacuum', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('VLDB J.','VLDB J.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Virtual J. Nanoscale Sci. Technol.','Virtual J. Nanoscale Sci. Technol.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Virtual J. Biol. Phys. Res.','Virtual J. Biol. Phys. Res.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Vis. Comput.','Vis. Comput.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Wave Motion','Wave Motion', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Waves Random Media','Waves Random Media', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Wear','Wear', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Z. Angew. Math. Phys.','Z. Angew. Math. Phys.', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Z. Phys., A','Z. Phys., A', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Z. Phys., B','Z. Phys., B', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Z. Phys., C','Z. Phys., C', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('Zphys-e.C','Zphys-e.C', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('ATLAS eNews','ATLAS eNews', '2'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('PICTURE','unpublished', '3'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('PREPRINT','techreport', '3'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('ARTICLE','article', '3'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('REPORT','techreport', '3'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('BOOK','book', '3'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('THESIS','phdthesis', '3'); INSERT INTO fmtKNOWLEDGEBASEMAPPINGS (m_key,m_value,id_fmtKNOWLEDGEBASES) VALUES ('POETRY','unpublished', '3'); diff --git a/modules/miscutil/lib/Makefile.am b/modules/miscutil/lib/Makefile.am index 41bd3515b..8e7e7692d 100644 --- a/modules/miscutil/lib/Makefile.am +++ b/modules/miscutil/lib/Makefile.am @@ -1,89 +1,94 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. pylibdir = $(libdir)/python/invenio pylib_DATA = __init__.py \ errorlib.py \ errorlib_tests.py \ errorlib_webinterface.py \ errorlib_regression_tests.py \ config.py \ data_cacher.py \ dbquery.py \ dbquery_tests.py \ + mailutils.py \ miscutil_config.py \ messages.py \ textutils.py \ dateutils.py \ dateutils_tests.py \ htmlutils.py \ htmlutils_tests.py \ testutils.py \ testutils_regression_tests.py \ urlutils.py \ w3c_validator.py noinst_DATA = testimport.py \ kwalitee.py phplibdir = $(libdir)/php/invenio/errors phplib_DATA = errorHandling.php EXTRA_DIST = __init__.py \ errorlib.py \ errorlib_tests.py \ errorlib_webinterface.py \ errorlib_regression_tests.py \ miscutil_config.py \ config.py.wml \ dbquery.py.wml \ dbquery_tests.py \ messages.py.wml \ errorHandling.php.wml \ textutils.py \ dateutils.py \ dateutils_tests.py \ htmlutils.py \ htmlutils_tests.py \ testutils.py \ testutils_regression_tests.py \ urlutils.py \ testimport.py \ kwalitee.py install-data-hook: $(PYTHON) $(srcdir)/testimport.py ${prefix} CLEANFILES = config.py dbquery.py messages.py $(phplib_DATA) *~ *.tmp *.pyc config.py: config.py.wml $(top_srcdir)/config/config.wml $(top_builddir)/config/configbis.wml \ $(top_srcdir)/config/cdswmllib.wml $(WML) -o $@ $< dbquery.py: dbquery.py.wml $(top_srcdir)/config/config.wml $(top_builddir)/config/configbis.wml \ $(top_srcdir)/config/cdswmllib.wml $(WML) -o $@ $< messages.py: messages.py.wml $(top_srcdir)/config/config.wml $(top_builddir)/config/configbis.wml \ $(top_srcdir)/config/cdswmllib.wml $(WML) -o $@ $< +mailutils.py: mailutils.py.wml $(top_srcdir)/config/config.wml $(top_builddir)/config/configbis.wml \ + $(top_srcdir)/config/cdswmllib.wml + $(WML) -o $@ $< + errorHandling.php: errorHandling.php.wml $(top_srcdir)/config/config.wml $(top_builddir)/config/configbis.wml \ $(top_srcdir)/config/cdswmllib.wml $(WML) -o $@ $< diff --git a/modules/miscutil/lib/errorlib.py b/modules/miscutil/lib/errorlib.py index dc836171d..bde015257 100644 --- a/modules/miscutil/lib/errorlib.py +++ b/modules/miscutil/lib/errorlib.py @@ -1,298 +1,298 @@ # -*- coding: utf-8 -*- ## ## $Id$ ## ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. """ Error handling library """ __revision__ = "$Id$" import traceback import sys import time from invenio.config import cdslang, logdir, alertengineemail, adminemail, supportemail, cdsname from invenio.miscutil_config import CFG_MISCUTIL_ERROR_MESSAGES from invenio.urlutils import wash_url_argument from invenio.messages import wash_language, gettext_set_language from invenio.dateutils import convert_datestruct_to_datetext def get_client_info(req): """ Returns a dictionary with client information @param req: mod_python request """ try: return \ { 'host' : req.hostname, 'url' : req.unparsed_uri, 'time' : convert_datestruct_to_datetext(time.localtime()), 'browser' : req.headers_in.has_key('User-Agent') and req.headers_in['User-Agent'] or "N/A", 'client_ip' : req.connection.remote_ip } except: return {} def get_tracestack(): """ If an exception has been caught, return the system tracestack or else return tracestack of what is currently in the stack """ if traceback.format_tb(sys.exc_info()[2]): delimiter = "\n" tracestack_pretty = "Traceback: \n%s" % delimiter.join(traceback.format_tb(sys.exc_info()[2])) else: tracestack = traceback.extract_stack()[:-1] #force traceback except for this call tracestack_pretty = "%sForced traceback (most recent call last)" % (' '*4,) for trace_tuple in tracestack: tracestack_pretty += """ File "%(file)s", line %(line)s, in %(function)s %(text)s""" % \ { 'file' : trace_tuple[0], 'line' : trace_tuple[1], 'function' : trace_tuple[2], 'text' : trace_tuple[3] is not None and str(trace_tuple[3]) or "" } return tracestack_pretty def register_errors(errors_or_warnings_list, stream, req=None): """ log errors to invenio.err and warnings to invenio.log errors will be logged with client information (if req is given) and a tracestack warnings will be logged with just the warning message @param errors_or_warnings_list: list of tuples (err_name, err_msg) err_name = ERR_ + %(module_directory_name)s + _ + %(error_name)s #ALL CAPS err_name must be stored in file: module_directory_name + _config.py as the key for dict with name: CFG_ + %(module_directory_name)s + _ERROR_MESSAGES @param stream: 'error' or 'warning' @param req = mod_python request @return tuple integer 1 if successfully wrote to stream, integer 0 if not will append another error to errors_list if unsuccessful """ client_info_dict = "" if stream == "error": # call the stack trace now tracestack_pretty = get_tracestack() # if req is given, get client info if req: client_info_dict = get_client_info(req) if client_info_dict: client_info = \ '''URL: http://%(host)s%(url)s Browser: %(browser)s Client: %(client_ip)s''' % client_info_dict else: client_info = "No client information available" else: client_info = "No client information available" # check arguments errors_or_warnings_list = wash_url_argument(errors_or_warnings_list, 'list') stream = wash_url_argument(stream, 'str') for etuple in errors_or_warnings_list: etuple = wash_url_argument(etuple, 'tuple') # check stream arg for presence of [error,warning]; when none, add error and default to warning if stream == 'error': stream = 'err' elif stream == 'warning': stream = 'log' else: stream = 'log' error = 'ERR_MISCUTIL_BAD_FILE_ARGUMENT_PASSED' errors_or_warnings_list.append((error, eval(CFG_MISCUTIL_ERROR_MESSAGES[error])% stream)) # update log_errors stream_location = logdir + '/invenio.' + stream errors = '' for etuple in errors_or_warnings_list: try: errors += "%s%s : %s \n " % (' '*4*7+' ', etuple[0], etuple[1]) except: errors += "%s%s \n " % (' '*4*7+' ', etuple) if errors: errors = errors[(4*7+1):-3] # get rid of begining spaces and last '\n' msg = """ %(time)s --> %(errors)s%(error_file)s""" % \ { 'time' : client_info_dict and client_info_dict['time'] or time.strftime("%Y-%m-%d %H:%M:%S"), 'errors' : errors, 'error_file' : stream=='err' and "\n%s%s\n%s\n" % (' '*4, client_info, tracestack_pretty) or "" } try: stream_to_write = open(stream_location, 'a+') stream_to_write.writelines(msg) stream_to_write.close() return_value = 1 except : error = 'ERR_MISCUTIL_WRITE_FAILED' errors_or_warnings_list.append((error, CFG_MISCUTIL_ERROR_MESSAGES[error] % stream_location)) return_value = 0 return return_value def get_msg_associated_to_code(err_code, stream='error'): """ Returns string of code @param code: error or warning code @param stream: 'error' or 'warning' @return tuple (err_code, formatted_message) """ err_code = wash_url_argument(err_code, 'str') stream = wash_url_argument(stream, 'str') try: module_directory_name = err_code.split('_')[1].lower() module_config = module_directory_name + '_config' module_dict_name = "CFG_" + module_directory_name.upper() + "_%s_MESSAGES" % stream.upper() module = __import__(module_config, globals(), locals(), [module_dict_name]) module_dict = getattr(module, module_dict_name) err_msg = module_dict[err_code] except ImportError: error = 'ERR_MISCUTIL_IMPORT_ERROR' err_msg = CFG_MISCUTIL_ERROR_MESSAGES[error] % (err_code, module_config) err_code = error except AttributeError: error = 'ERR_MISCUTIL_NO_DICT' err_msg = CFG_MISCUTIL_ERROR_MESSAGES[error] % (err_code, module_config, module_dict_name) err_code = error except KeyError: error = 'ERR_MISCUTIL_NO_MESSAGE_IN_DICT' err_msg = CFG_MISCUTIL_ERROR_MESSAGES[error] % (err_code, module_config + '.' + module_dict_name) err_code = error except: error = 'ERR_MISCUTIL_UNDEFINED_ERROR' err_msg = CFG_MISCUTIL_ERROR_MESSAGES[error] % err_code err_code = error return (err_code, err_msg) def get_msgs_for_code_list(code_list, stream='error', ln=cdslang): """ @param code_list: list of tuples [(err_name, arg1, ..., argN), ...] err_name = ERR_ + %(module_directory_name)s + _ + %(error_name)s #ALL CAPS err_name must be stored in file: module_directory_name + _config.py as the key for dict with name: CFG_ + %(module_directory_name)s + _ERROR_MESSAGES For warnings, same thing except: err_name can begin with either 'ERR' or 'WRN' dict name ends with _warning_messages @param stream: 'error' or 'warning' @return list of tuples of length 2 [('ERR_...', err_msg), ...] if code_list empty, will return None. if errors retrieving error messages, will append an error to the list """ ln = wash_language(ln) _ = gettext_set_language(ln) out = [] if type(code_list) is None: return None code_list = wash_url_argument(code_list, 'list') stream = wash_url_argument(stream, 'str') for code_tuple in code_list: if not(type(code_tuple) is tuple): code_tuple = (code_tuple,) nb_tuple_args = len(code_tuple) - 1 err_code = code_tuple[0] if stream == 'error' and not err_code.startswith('ERR'): error = 'ERR_MISCUTIL_NO_ERROR_MESSAGE' out.append((error, eval(CFG_MISCUTIL_ERROR_MESSAGES[error]))) continue elif stream == 'warning' and not (err_code.startswith('ERR') or err_code.startswith('WRN')): error = 'ERR_MISCUTIL_NO_WARNING_MESSAGE' out.append((error, eval(CFG_MISCUTIL_ERROR_MESSAGES[error]))) continue (new_err_code, err_msg) = get_msg_associated_to_code(err_code, stream) if err_msg[:2] == '_(' and err_msg[-1] == ')': # err_msg is internationalized err_msg = eval(err_msg) nb_msg_args = err_msg.count('%') - err_msg.count('%%') parsing_error = "" if new_err_code != err_code or nb_msg_args == 0: # undefined_error or immediately displayable error out.append((new_err_code, err_msg)) continue try: if nb_msg_args == nb_tuple_args: err_msg = err_msg % code_tuple[1:] elif nb_msg_args < nb_tuple_args: err_msg = err_msg % code_tuple[1:nb_msg_args+1] parsing_error = 'ERR_MISCUTIL_TOO_MANY_ARGUMENT' parsing_error_message = eval(CFG_MISCUTIL_ERROR_MESSAGES[parsing_error]) parsing_error_message %= code_tuple[0] elif nb_msg_args > nb_tuple_args: code_tuple = list(code_tuple) for dummy in range(nb_msg_args - nb_tuple_args): code_tuple.append('???') code_tuple = tuple(code_tuple) err_msg = err_msg % code_tuple[1:] parsing_error = 'ERR_MISCUTIL_TOO_FEW_ARGUMENT' parsing_error_message = eval(CFG_MISCUTIL_ERROR_MESSAGES[parsing_error]) parsing_error_message %= code_tuple[0] except: parsing_error = 'ERR_MISCUTIL_BAD_ARGUMENT_TYPE' parsing_error_message = eval(CFG_MISCUTIL_ERROR_MESSAGES[parsing_error]) parsing_error_message %= code_tuple[0] out.append((err_code, err_msg)) if parsing_error: out.append((parsing_error, parsing_error_message)) if not(out): out = None return out def send_error_report_to_admin(header, url, time_msg, browser, client, error, sys_error, traceback_msg): """ Sends an email to the admin with client info and tracestack """ from_addr = '%s Alert Engine <%s>' % (cdsname, alertengineemail) to_addr = adminemail body = """ The following error was seen by a user and sent to you. %(contact)s %(header)s %(url)s %(time)s %(browser)s %(client)s %(error)s %(sys_error)s %(traceback)s Please see the %(logdir)s/invenio.err for traceback details.""" % \ { 'header' : header, 'url' : url, 'time' : time_msg, 'browser' : browser, 'client' : client, 'error' : error, 'sys_error' : sys_error, 'traceback' : traceback_msg, 'logdir' : logdir, 'contact' : "Please contact %s quoting the following information:" % (supportemail,) #! is support email always cds? } - from invenio.alert_engine import send_email - send_email(from_addr, to_addr, body) + from invenio.mailutils import send_email + send_email(from_addr, to_addr, content=body) diff --git a/modules/miscutil/lib/mailutils.py.wml b/modules/miscutil/lib/mailutils.py.wml new file mode 100644 index 000000000..b72eb4ab4 --- /dev/null +++ b/modules/miscutil/lib/mailutils.py.wml @@ -0,0 +1,184 @@ +# -*- coding: utf-8 -*- +## +## $Id$ +## +## This file is part of CDS Invenio. +## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. +## +## CDS Invenio is free software; you can redistribute it and/or +## modify it under the terms of the GNU General Public License as +## published by the Free Software Foundation; either version 2 of the +## License, or (at your option) any later version. +## +## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., +## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + +#include "configbis.wml" + + +## rest of the Python code goes below + +__revision__ = "$Id$" + +import sys +from time import sleep +import smtplib + +from email.Header import Header +from email.MIMEText import MIMEText + +from invenio.config import \ + supportemail, \ + weburl, \ + cdslang, \ + cdsnameintl, \ + adminemail + +CFG_MAILUTILS_SERVER_HOST = "" + +CFG_MAILUTILS_SERVER_PORT = 25 + +import invenio.template +websearch_templates = invenio.template.load('websearch') +webalert_templates = invenio.template.load('webalert') +from invenio.messages import wash_language, gettext_set_language +from invenio.errorlib import get_msgs_for_code_list, register_errors + +def send_email(fromaddr, + toaddr, + subject, + content, + header=None, + footer=None, + copy_to_admin=0, + attempt_times=1, + attempt_sleeptime=10, + debug_level=0, + ln=cdslang + ): + """Send an forged email to TOADDR from FROMADDR with message created from subjet, content and possibly + header and footer. + @param fromaddr: [string] sender + @param toaddr: [string] receivers separated by , + @param subject: [string] subject of the email + @param content: [string] content of the email + @param header: [int] if 1 add header + @param footer: [int] if 1 add footer + @param copy_to_admin: [int] if 1 add emailamin in receivers + @attempt_time: [int] number of tries + @attempt_sleeptime: [int] seconds in between tries + @debug_level: [int] debug level + @ln: [string] invenio language + + If sending fails, try to send it ATTEMPT_TIMES, and wait for + ATTEMPT_SLEEPTIME seconds in between tries. + + @return [int]: 0 if email was sent okay, 1 if it was not. + """ + toaddr = toaddr.strip() + usebcc = ',' in toaddr # More than one address, let's use Bcc in place of To + if copy_to_admin: + if len(toaddr) > 0: + toaddr += ",%s" % (adminemail,) + else: + toaddr = adminemail + body = forge_email(fromaddr, toaddr, subject, content, usebcc, header, footer, ln) + toaddr = toaddr.split(",") + if attempt_times < 1 or len(toaddr[0]) == 0: + log('ERR_MISCUTIL_NOT_ATTEMPTING_SEND_EMAIL', fromaddr, toaddr, body) + return False + try: + server = smtplib.SMTP(CFG_MAILUTILS_SERVER_HOST, CFG_MAILUTILS_SERVER_PORT) + if debug_level > 2: + server.set_debuglevel(1) + else: + server.set_debuglevel(0) + server.sendmail(fromaddr, toaddr, body) + server.quit() + except: + if attempt_times > 1: + if (debug_level > 1): + log('ERR_MISCUTIL_CONNECTION_SMTP', attempt_sleeptime, sys.exc_info()[0], fromaddr, toaddr, body) + sleep(attempt_sleeptime) + return send_email(fromaddr, toaddr, body, attempt_times-1, attempt_sleeptime) + else: + log('ERR_MISCUTIL_SENDING_EMAIL', fromaddr, toaddr, body) + return False + + return True + +def email_header(ln=cdslang): + """The header of the email + @param ln: language + @return header as a string""" + ln = wash_language(ln) + _ = gettext_set_language(ln) + #standard header + out = """%(hello)s + """ % { + 'hello': _("Hello:") + } + return out + +def email_footer(ln=cdslang): + """The footer of the email + @param ln: language + @return footer as a string""" + ln = wash_language(ln) + _ = gettext_set_language(ln) + #standard footer + out = """\n\n%(best_regards)s +-- +%(cdsnameintl)s <%(weburl)s> +%(need_intervention_please_contact)s <%(supportemail)s> + """ % { + 'cdsnameintl': cdsnameintl[ln], + 'best_regards': _("Best regards"), + 'weburl': weburl, + 'need_intervention_please_contact': _("Need human intervention? Contact"), + 'supportemail': supportemail + } + return out + +def forge_email(fromaddr, toaddr, subject, content, usebcc=False, header=None, footer=None, ln=cdslang): + """Prepare email. Add header and footer if needed. + @param fromaddr: [string] sender + @param toaddr: [string] receivers separated by , + @param usebcc: [bool] True for using Bcc in place of To + @param subject: [string] subject of the email + @param content: [string] content of the email + @param header: [string] None for the default header + @param footer: [string] None for the default footer + @param ln: language + @return forged email as a string""" + if header is None: + content = email_header(ln) + content + else: + content = header + content + if footer is None: + content += email_footer(ln) + else: + content += footer + msg = MIMEText(content, _charset='utf-8') + msg['From'] = fromaddr + if usebcc: + msg['Bcc'] = toaddr + else: + msg['To'] = toaddr + msg['Subject'] = Header(subject, 'utf-8') + return msg.as_string() + +def log(*error): + """Register error + @param error: tuple of the form(ERR_, arg1, arg2...) + """ + _ = gettext_set_language(cdslang) + errors = get_msgs_for_code_list([error], 'error', cdslang) + register_errors(errors, 'error') + diff --git a/modules/miscutil/sql/tabcreate.sql b/modules/miscutil/sql/tabcreate.sql index 331d1c05c..a3ed16a46 100644 --- a/modules/miscutil/sql/tabcreate.sql +++ b/modules/miscutil/sql/tabcreate.sql @@ -1,3057 +1,3065 @@ -- $Id$ -- This file is part of CDS Invenio. -- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. -- -- CDS Invenio is free software; you can redistribute it and/or -- modify it under the terms of the GNU General Public License as -- published by the Free Software Foundation; either version 2 of the -- License, or (at your option) any later version. -- -- CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., -- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. -- tables for bibliographic records: CREATE TABLE IF NOT EXISTS bibrec ( id mediumint(8) unsigned NOT NULL auto_increment, creation_date datetime NOT NULL default '0000-00-00', modification_date datetime NOT NULL default '0000-00-00', PRIMARY KEY (id) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib00x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib01x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib02x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib03x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib04x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib05x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib06x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib07x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib08x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib09x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib10x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib11x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib12x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib13x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib14x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib15x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib16x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib17x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib18x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib19x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib20x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib21x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib22x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib23x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib24x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib25x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib26x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib27x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib28x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib29x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib30x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib31x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib32x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib33x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib34x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib35x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib36x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib37x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib38x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib39x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib40x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib41x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib42x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib43x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib44x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib45x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib46x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib47x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib48x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib49x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib50x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib51x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib52x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib53x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib54x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib55x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib56x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib57x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib58x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib59x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib60x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib61x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib62x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib63x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib64x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib65x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib66x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib67x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib68x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib69x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib70x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib71x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib72x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib73x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib74x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib75x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib76x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib77x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib78x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib79x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib80x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib81x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib82x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib83x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib84x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib85x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib86x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib87x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib88x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib89x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib90x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib91x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib92x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib93x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib94x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib95x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib96x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib97x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib98x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bib99x ( id mediumint(8) unsigned NOT NULL auto_increment, tag varchar(6) NOT NULL default '', value text NOT NULL, PRIMARY KEY (id), KEY kt (tag), KEY kv (value(35)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib00x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib01x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib02x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib03x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib04x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib05x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib06x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib07x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib08x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib09x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib10x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib11x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib12x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib13x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib14x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib15x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib16x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib17x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib18x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib19x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib20x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib21x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib22x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib23x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib24x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib25x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib26x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib27x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib28x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib29x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib30x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib31x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib32x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib33x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib34x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib35x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib36x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib37x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib38x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib39x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib40x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib41x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib42x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib43x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib44x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib45x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib46x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib47x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib48x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib49x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib50x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib51x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib52x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib53x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib54x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib55x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib56x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib57x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib58x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib59x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib60x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib61x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib62x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib63x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib64x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib65x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib66x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib67x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib68x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib69x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib70x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib71x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib72x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib73x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib74x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib75x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib76x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib77x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib78x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib79x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib80x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib81x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib82x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib83x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib84x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib85x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib86x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib87x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib88x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib89x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib90x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib91x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib92x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib93x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib94x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib95x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib96x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib97x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib98x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bib99x ( id_bibrec mediumint(8) unsigned NOT NULL default '0', id_bibxxx mediumint(8) unsigned NOT NULL default '0', field_number smallint(5) unsigned default NULL, KEY id_bibxxx (id_bibxxx), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; -- tables for bibliographic records formatted: CREATE TABLE IF NOT EXISTS bibfmt ( id mediumint(8) unsigned NOT NULL auto_increment, id_bibrec int(8) unsigned NOT NULL default '0', format varchar(10) NOT NULL default '', last_updated datetime NOT NULL default '0000-00-00', value longblob, PRIMARY KEY (id), KEY id_bibrec (id_bibrec), KEY format (format) ) TYPE=MyISAM; -- tables for index files: CREATE TABLE IF NOT EXISTS idxINDEX ( id mediumint(9) unsigned NOT NULL, name varchar(50) NOT NULL default '', description varchar(255) NOT NULL default '', last_updated datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (id), UNIQUE KEY name (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxINDEXNAME ( id_idxINDEX mediumint(9) unsigned NOT NULL, ln char(5) NOT NULL default '', type char(3) NOT NULL default 'sn', value varchar(255) NOT NULL, PRIMARY KEY (id_idxINDEX,ln,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxINDEX_field ( id_idxINDEX mediumint(9) unsigned NOT NULL, id_field mediumint(9) unsigned NOT NULL, regexp_punctuation varchar(255) NOT NULL default "[\.\,\:\;\?\!\"]", regexp_alphanumeric_separators varchar(255) NOT NULL default "[\!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\:\;\<\=\>\?\@\[\\\]\^\_\`\{\|\}\~]", PRIMARY KEY (id_idxINDEX,id_field) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD01F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD01R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD02F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD02R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD03F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD03R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD04F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD04R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD05F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD05R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD06F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD06R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD07F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD07R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD08F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD08R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD09F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD09R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD10F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxWORD10R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE01F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE01R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE02F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE02R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE03F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE03R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE04F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE04R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE05F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE05R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE06F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE06R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE07F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE07R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE08F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE08R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE09F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE09R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE10F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS idxPHRASE10R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; -- tables for ranking: CREATE TABLE IF NOT EXISTS rnkMETHOD ( id mediumint(9) unsigned NOT NULL auto_increment, name varchar(20) NOT NULL default '', last_updated datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (id), UNIQUE KEY name (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS rnkMETHODNAME ( id_rnkMETHOD mediumint(9) unsigned NOT NULL, ln char(5) NOT NULL default '', type char(3) NOT NULL default 'sn', value varchar(255) NOT NULL, PRIMARY KEY (id_rnkMETHOD,ln,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS rnkMETHODDATA ( id_rnkMETHOD mediumint(9) unsigned NOT NULL, relevance_data longblob, PRIMARY KEY (id_rnkMETHOD) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS collection_rnkMETHOD ( id_collection mediumint(9) unsigned NOT NULL, id_rnkMETHOD mediumint(9) unsigned NOT NULL, score tinyint(4) unsigned NOT NULL default '0', PRIMARY KEY (id_collection,id_rnkMETHOD) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS rnkWORD01F ( id mediumint(9) unsigned NOT NULL auto_increment, term varchar(50) default NULL, hitlist longblob, PRIMARY KEY (id), UNIQUE KEY term (term) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS rnkWORD01R ( id_bibrec mediumint(9) unsigned NOT NULL, termlist longblob, type enum('CURRENT','FUTURE','TEMPORARY') NOT NULL default 'CURRENT', PRIMARY KEY (id_bibrec,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS rnkPAGEVIEWS ( id_bibrec mediumint(8) unsigned default NULL, id_user int(15) unsigned default '0', client_host int(10) unsigned default NULL, view_time datetime default '0000-00-00 00:00:00', KEY view_time (view_time), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS rnkDOWNLOADS ( id_bibrec mediumint(8) unsigned default NULL, download_time datetime default '0000-00-00 00:00:00', client_host int(10) unsigned default NULL, id_user int(15) unsigned default NULL, id_bibdoc mediumint(8) unsigned default NULL, file_version smallint(2) unsigned default NULL, file_format text, KEY download_time (download_time), KEY id_bibrec (id_bibrec) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS rnkCITATIONDATA ( citation_data longblob, citation_data_reversed longblob ) TYPE=MyISAM; -- tables for collections and collection tree: CREATE TABLE IF NOT EXISTS collection ( id mediumint(9) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL, dbquery text, nbrecs int(10) unsigned default '0', reclist longblob, restricted varchar(255) default NULL, PRIMARY KEY (id), UNIQUE KEY name (name), KEY dbquery (dbquery(50)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS collectionname ( id_collection mediumint(9) unsigned NOT NULL, ln char(5) NOT NULL default '', type char(3) NOT NULL default 'sn', value varchar(255) NOT NULL, PRIMARY KEY (id_collection,ln,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS collection_collection ( id_dad mediumint(9) unsigned NOT NULL, id_son mediumint(9) unsigned NOT NULL, type char(1) NOT NULL default 'r', score tinyint(4) unsigned NOT NULL default '0', PRIMARY KEY (id_dad,id_son) ) TYPE=MyISAM; -- tables for OAI sets: CREATE TABLE IF NOT EXISTS oaiARCHIVE ( id mediumint(9) unsigned NOT NULL auto_increment, setName varchar(255) NOT NULL default '', setSpec varchar(255) NOT NULL default '', setCollection varchar(255) NOT NULL default '', setDescription text NOT NULL default '', setDefinition text NOT NULL default '', setRecList longblob, p1 text NOT NULL default '', f1 text NOT NULL default '', m1 text NOT NULL default '', p2 text NOT NULL default '', f2 text NOT NULL default '', m2 text NOT NULL default '', p3 text NOT NULL default '', f3 text NOT NULL default '', m3 text NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS oaiHARVEST ( id mediumint(9) unsigned NOT NULL auto_increment, baseurl varchar(255) NOT NULL default '', metadataprefix varchar(255) NOT NULL default 'oai_dc', arguments text, comment text, bibconvertcfgfile varchar(255), name varchar(255) NOT NULL, lastrun datetime, frequency mediumint(12) NOT NULL default '0', postprocess varchar(20) NOT NULL default 'h', bibfilterprogram varchar(255) NOT NULL default '', setspecs text NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM; -- tables for portal elements: CREATE TABLE IF NOT EXISTS collection_portalbox ( id_collection mediumint(9) unsigned NOT NULL, id_portalbox mediumint(9) unsigned NOT NULL, ln char(5) NOT NULL default '', position char(3) NOT NULL default 'top', score tinyint(4) unsigned NOT NULL default '0', PRIMARY KEY (id_collection,id_portalbox,ln) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS portalbox ( id mediumint(9) unsigned NOT NULL auto_increment, title text NOT NULL, body text NOT NULL, UNIQUE KEY id (id) ) TYPE=MyISAM; -- tables for search examples: CREATE TABLE IF NOT EXISTS collection_example ( id_collection mediumint(9) unsigned NOT NULL, id_example mediumint(9) unsigned NOT NULL, score tinyint(4) unsigned NOT NULL default '0', PRIMARY KEY (id_collection,id_example) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS example ( id mediumint(9) unsigned NOT NULL auto_increment, type text NOT NULL default '', body text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM; -- tables for collection formats: CREATE TABLE IF NOT EXISTS collection_format ( id_collection mediumint(9) unsigned NOT NULL, id_format mediumint(9) unsigned NOT NULL, score tinyint(4) unsigned NOT NULL default '0', PRIMARY KEY (id_collection,id_format) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS format ( id mediumint(9) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL, code varchar(6) NOT NULL, description varchar(255) default '', content_type varchar(255) default '', PRIMARY KEY (id), UNIQUE KEY code (code) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS formatname ( id_format mediumint(9) unsigned NOT NULL, ln char(5) NOT NULL default '', type char(3) NOT NULL default 'sn', value varchar(255) NOT NULL, PRIMARY KEY (id_format,ln,type) ) TYPE=MyISAM; -- tables for search options and MARC tags: CREATE TABLE IF NOT EXISTS collection_field_fieldvalue ( id_collection mediumint(9) unsigned NOT NULL, id_field mediumint(9) unsigned NOT NULL, id_fieldvalue mediumint(9) unsigned, type char(3) NOT NULL default 'src', score tinyint(4) unsigned NOT NULL default '0', score_fieldvalue tinyint(4) unsigned NOT NULL default '0', KEY id_collection (id_collection), KEY id_field (id_field), KEY id_fieldvalue (id_fieldvalue) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS field ( id mediumint(9) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL, code varchar(255) NOT NULL, PRIMARY KEY (id), UNIQUE KEY code (code) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS fieldname ( id_field mediumint(9) unsigned NOT NULL, ln char(5) NOT NULL default '', type char(3) NOT NULL default 'sn', value varchar(255) NOT NULL, PRIMARY KEY (id_field,ln,type) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS fieldvalue ( id mediumint(9) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL, value text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS field_tag ( id_field mediumint(9) unsigned NOT NULL, id_tag mediumint(9) unsigned NOT NULL, score tinyint(4) unsigned NOT NULL default '0', PRIMARY KEY (id_field,id_tag) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS tag ( id mediumint(9) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL, value char(6) NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM; -- tables for file management CREATE TABLE IF NOT EXISTS bibdoc ( id mediumint(9) unsigned NOT NULL auto_increment, status varchar(50) NOT NULL default '', docname varchar(250) NOT NULL default 'file', creation_date datetime NOT NULL default '0000-00-00', modification_date datetime NOT NULL default '0000-00-00', PRIMARY KEY (id) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibrec_bibdoc ( id_bibrec mediumint(9) unsigned NOT NULL default '0', id_bibdoc mediumint(9) unsigned NOT NULL default '0', type varchar(255), KEY (id_bibrec), KEY (id_bibdoc) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bibdoc_bibdoc ( id_bibdoc1 mediumint(9) unsigned NOT NULL, id_bibdoc2 mediumint(9) unsigned NOT NULL, type varchar(255), KEY (id_bibdoc1), KEY (id_bibdoc2) ) TYPE=MyISAM; -- tables for publication requests: CREATE TABLE IF NOT EXISTS publreq ( id int(11) NOT NULL auto_increment, host varchar(255) NOT NULL default '', date varchar(255) NOT NULL default '', name varchar(255) NOT NULL default '', email varchar(255) NOT NULL default '', address text NOT NULL, publication text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM; -- table for sessions and users: CREATE TABLE IF NOT EXISTS session ( session_key varchar(32) NOT NULL default '', session_expiry int(11) unsigned NOT NULL default '0', session_object blob, uid int(15) unsigned NOT NULL, UNIQUE KEY session_key (session_key), KEY uid (uid) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS user ( id int(15) unsigned NOT NULL auto_increment, email varchar(255) NOT NULL default '', password tinyblob default NULL, note varchar(255) default NULL, settings blob default NULL, nickname varchar(255) NOT NULL default '', last_login datetime NOT NULL default '0000-00-00 00:00:00', - reset_date date NOT NULL default '0000-00-00', - reset_key BINARY(32) NULL default NULL, UNIQUE KEY id (id), KEY email (email), KEY nickname (nickname) ) TYPE=MyISAM; -- tables for usergroups CREATE TABLE IF NOT EXISTS usergroup ( id int(15) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL default '', description text default '', join_policy char(2) NOT NULL default '', login_method varchar(255) NOT NULL default 'INTERNAL', PRIMARY KEY (id), UNIQUE KEY login_method_name (login_method(70), name), KEY name (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS user_usergroup ( id_user int(15) unsigned NOT NULL default '0', id_usergroup int(15) unsigned NOT NULL default '0', user_status char(1) NOT NULL default '', user_status_date datetime NOT NULL default '0000-00-00 00:00:00', KEY id_user (id_user), KEY id_usergroup (id_usergroup) ) TYPE=MyISAM; -- tables for access control engine CREATE TABLE IF NOT EXISTS accROLE ( id int(15) unsigned NOT NULL auto_increment, name varchar(32), description varchar(255), firerole_def_ser tinyblob NULL, firerole_def_src tinytext NULL, PRIMARY KEY (id), UNIQUE KEY name (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS user_accROLE ( id_user int(15) unsigned NOT NULL, id_accROLE int(15) unsigned NOT NULL, + expiration datetime NOT NULL default '9999-12-31 23:59:59', PRIMARY KEY (id_user, id_accROLE) ) TYPE=MyISAM; +CREATE TABLE IF NOT EXISTS accMAILCOOKIE ( + id int(15) unsigned NOT NULL auto_increment, + data blob NOT NULL, + expiration datetime NOT NULL default '9999-12-31 23:59:59', + kind varchar(32) NOT NULL, + onetime boolean NOT NULL default false, + PRIMARY KEY (id) +) TYPE=MyISAM; + CREATE TABLE IF NOT EXISTS accACTION ( id int(15) unsigned NOT NULL auto_increment, name varchar(32), description varchar(255), allowedkeywords varchar(255), optional ENUM ('yes', 'no') NOT NULL default 'no', PRIMARY KEY (id), UNIQUE KEY name (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS accARGUMENT ( id int(15) unsigned NOT NULL auto_increment, keyword varchar (32), value varchar(64), PRIMARY KEY (id), KEY KEYVAL (keyword, value) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS accROLE_accACTION_accARGUMENT ( id_accROLE int(15), id_accACTION int(15), id_accARGUMENT int(15), argumentlistid mediumint(8), KEY id_accROLE (id_accROLE), KEY id_accACTION (id_accACTION), KEY id_accARGUMENT (id_accARGUMENT) ) TYPE=MyISAM; -- tables for personal/collaborative features (baskets, alerts, searches, messages, usergroups): CREATE TABLE IF NOT EXISTS user_query ( id_user int(15) unsigned NOT NULL default '0', id_query int(15) unsigned NOT NULL default '0', hostname varchar(50) default 'unknown host', date datetime default NULL, KEY id_user (id_user,id_query) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS query ( id int(15) unsigned NOT NULL auto_increment, type char(1) NOT NULL default 'r', urlargs text NOT NULL, PRIMARY KEY (id), KEY urlargs (urlargs(100)) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS user_query_basket ( id_user int(15) unsigned NOT NULL default '0', id_query int(15) unsigned NOT NULL default '0', id_basket int(15) unsigned NOT NULL default '0', frequency varchar(5) NOT NULL default '', date_creation date default NULL, date_lastrun date default '0000-00-00', alert_name varchar(30) NOT NULL default '', notification char(1) NOT NULL default 'y', PRIMARY KEY (id_user,id_query,frequency,id_basket), KEY alert_name (alert_name) ) TYPE=MyISAM; -- baskets CREATE TABLE IF NOT EXISTS bskBASKET ( id int(15) unsigned NOT NULL auto_increment, id_owner int(15) unsigned NOT NULL default '0', name varchar(50) NOT NULL default '', date_modification datetime NOT NULL default '0000-00-00 00:00:00', nb_views int(15) NOT NULL default '0', PRIMARY KEY (id), KEY id_owner (id_owner), KEY name (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bskREC ( id_bibrec_or_bskEXTREC int(16) NOT NULL default '0', id_bskBASKET int(15) unsigned NOT NULL default '0', id_user_who_added_item int(15) NOT NULL default '0', score int(15) NOT NULL default '0', date_added datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (id_bibrec_or_bskEXTREC,id_bskBASKET), KEY id_bibrec_or_bskEXTREC (id_bibrec_or_bskEXTREC), KEY id_bskBASKET (id_bskBASKET), KEY score (score), KEY date_added (date_added) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bskEXTREC ( id int(15) unsigned NOT NULL default '0', creation_date datetime NOT NULL default '0000-00-00 00:00:00', modification_date datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (id) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bskEXTFMT ( id int(15) unsigned NOT NULL auto_increment, id_bskEXTREC int(15) unsigned NOT NULL default '0', format varchar(10) NOT NULL default '', last_updated datetime NOT NULL default '0000-00-00 00:00:00', value longblob, PRIMARY KEY (id), KEY id_bskEXTREC (id_bskEXTREC), KEY format (format) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS user_bskBASKET ( id_user int(15) unsigned NOT NULL default '0', id_bskBASKET int(15) unsigned NOT NULL default '0', topic varchar(50) NOT NULL default '', PRIMARY KEY (id_user,id_bskBASKET), KEY id_user (id_user), KEY id_bskBASKET (id_bskBASKET) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS usergroup_bskBASKET ( id_usergroup int(15) unsigned NOT NULL default '0', id_bskBASKET int(15) unsigned NOT NULL default '0', topic varchar(50) NOT NULL default '', date_shared datetime NOT NULL default '0000-00-00 00:00:00', share_level char(2) NOT NULL default '', PRIMARY KEY (id_usergroup,id_bskBASKET), KEY id_usergroup (id_usergroup), KEY id_bskBASKET (id_bskBASKET) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS bskRECORDCOMMENT ( id int(15) unsigned NOT NULL auto_increment, id_bibrec_or_bskEXTREC int(16) NOT NULL default '0', id_bskBASKET int(15) unsigned NOT NULL default '0', id_user int(15) unsigned NOT NULL default '0', title varchar(255) NOT NULL default '', body text NOT NULL, date_creation datetime NOT NULL default '0000-00-00 00:00:00', priority int(15) NOT NULL default '0', PRIMARY KEY (id), KEY id_bskBASKET (id_bskBASKET), KEY id_bibrec_or_bskEXTREC (id_bibrec_or_bskEXTREC), KEY date_creation (date_creation) ) TYPE=MyISAM; -- tables for messaging system CREATE TABLE IF NOT EXISTS msgMESSAGE ( id int(15) unsigned NOT NULL auto_increment, id_user_from int(15) unsigned NOT NULL default '0', sent_to_user_nicks text NOT NULL default '', sent_to_group_names text NOT NULL default '', subject text NOT NULL default '', body text default NULL, sent_date datetime NOT NULL default '0000-00-00 00:00:00', received_date datetime NULL default '0000-00-00 00:00:00', PRIMARY KEY id (id), KEY id_user_from (id_user_from) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS user_msgMESSAGE ( id_user_to int(15) unsigned NOT NULL default '0', id_msgMESSAGE int(15) unsigned NOT NULL default '0', status char(1) NOT NULL default 'N', PRIMARY KEY id (id_user_to, id_msgMESSAGE), KEY id_user_to (id_user_to), KEY id_msgMESSAGE (id_msgMESSAGE) ) TYPE=MyISAM; --tables for WebComment CREATE TABLE IF NOT EXISTS cmtRECORDCOMMENT ( id int(15) unsigned NOT NULL auto_increment, id_bibrec int(15) unsigned NOT NULL default '0', id_user int(15) unsigned NOT NULL default '0', title varchar(255) NOT NULL default '', body text NOT NULL default '', date_creation datetime NOT NULL default '0000-00-00 00:00:00', star_score tinyint(5) unsigned NOT NULL default '0', nb_votes_yes int(10) NOT NULL default '0', nb_votes_total int(10) unsigned NOT NULL default '0', nb_abuse_reports int(10) NOT NULL default '0', PRIMARY KEY (id), KEY id_bibrec (id_bibrec), KEY id_user (id_user) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS cmtACTIONHISTORY ( id_cmtRECORDCOMMENT int(15) unsigned NULL, id_bibrec int(15) unsigned NULL, id_user int(15) unsigned NULL default NULL, client_host int(10) unsigned NOT NULL, action_time datetime NOT NULL default '0000-00-00 00:00:00', action_code char(1) NOT NULL, KEY id_cmtRECORDCOMMENT (id_cmtRECORDCOMMENT), KEY client_host (client_host), KEY id_user (id_user), KEY action_code (action_code) ) TYPE=MyISAM; -- tables for BibFormat in Python CREATE TABLE IF NOT EXISTS fmtKNOWLEDGEBASES ( id mediumint(8) unsigned NOT NULL auto_increment, name varchar(255) default '', description text default '', PRIMARY KEY (id), UNIQUE KEY name (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS fmtKNOWLEDGEBASEMAPPINGS ( id mediumint(8) unsigned NOT NULL auto_increment, m_key varchar(255) NOT NULL default '', m_value text NOT NULL default '', id_fmtKNOWLEDGEBASES mediumint(8) NOT NULL default '0', PRIMARY KEY (id), KEY id_fmtKNOWLEDGEBASES (id_fmtKNOWLEDGEBASES) ) TYPE=MyISAM; -- tables for BibFormat, formely known as FlexElink: CREATE TABLE IF NOT EXISTS flxFORMATS ( name varchar(255) NOT NULL default '', value text, doc text, serialized longtext, PRIMARY KEY (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxKBS ( kb_name varchar(255) NOT NULL default '', kb_table varchar(255) NOT NULL default '', doc text, PRIMARY KEY (kb_name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxKBDBCOLLID2COLL ( vkey varchar(255) NOT NULL default '', value text, PRIMARY KEY (vkey) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxKBDBCOLLID2BIBTEX ( vkey varchar(255) NOT NULL default '', value text, PRIMARY KEY (vkey) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxKBEJOURNALS ( vkey varchar(255) NOT NULL default '', value text, PRIMARY KEY (vkey) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxLINKTYPES ( linktype varchar(255) NOT NULL default '', check_exists enum('Y','N') NOT NULL default 'N', solvingtype enum('INT','EXT') NOT NULL default 'EXT', base_file varchar(255) NOT NULL default '', base_url varchar(255) NOT NULL default '', PRIMARY KEY (linktype) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxLINKTYPECONDITIONS ( linktype varchar(255) NOT NULL default '', eval_order int(11) NOT NULL default '0', el_condition text NOT NULL, el_action text NOT NULL, solvingtype enum('INT','EXT') NOT NULL default 'EXT', base_file varchar(255) NOT NULL default '', base_url varchar(255) NOT NULL default '', PRIMARY KEY (linktype,eval_order) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxLINKTYPECONDITIONSACTIONS ( linktype varchar(255) NOT NULL default '', eval_order int(11) NOT NULL default '0', apply_order int(11) NOT NULL default '0', el_code text, PRIMARY KEY (linktype,eval_order,apply_order) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxLINKTYPECONDITIONSFILEFORMATS ( linktype varchar(255) NOT NULL default '', eval_order int(11) NOT NULL default '0', fname varchar(30) NOT NULL default '', PRIMARY KEY (linktype,eval_order,fname) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxFILEFORMATS ( name varchar(30) NOT NULL default '', text varchar(255) default '', extensions text, PRIMARY KEY (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxLINKTYPEPARAMS ( linktype varchar(255) NOT NULL default '', pname varchar(78) NOT NULL default '', ord tinyint(4) NOT NULL default '0', PRIMARY KEY (linktype,pname), UNIQUE KEY IDX_LINKTYPE_PARAMS_ORD (linktype,ord) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxXMLMARCEXTRULES ( type varchar(8) NOT NULL default '', varname varchar(50) NOT NULL default '', att_id varchar(150) default NULL, att_i1 varchar(150) default NULL, att_i2 varchar(150) default NULL, mvalues enum('S','N') NOT NULL default 'S', ftype enum("DATAFIELD", "CONTROLFIELD") not null, PRIMARY KEY (type,varname) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxXMLMARCEXTRULESUBFIELDS ( type varchar(8) NOT NULL default '', varname varchar(50) NOT NULL default '', sfname varchar(50) NOT NULL default '', att_label varchar(150) default NULL, PRIMARY KEY (type,varname,sfname) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxBEHAVIORCONDITIONSACTIONS ( otype varchar(40) NOT NULL default '', eval_order int(11) NOT NULL default '0', apply_order int(11) NOT NULL default '0', locator text, el_code text, PRIMARY KEY (otype,eval_order,apply_order) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxBEHAVIORCONDITIONS ( otype varchar(40) NOT NULL default '', eval_order int(11) NOT NULL default '0', el_condition text NOT NULL, PRIMARY KEY (otype,eval_order) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxBEHAVIORS ( name varchar(40) NOT NULL default '', type enum('NORMAL','IENRICH') NOT NULL default 'NORMAL', doc text, PRIMARY KEY (name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxUDFS ( fname varchar(100) NOT NULL default '', code text NOT NULL, rtype enum('STRING','BOOL') NOT NULL default 'STRING', doc text, PRIMARY KEY (fname) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxUDFPARAMS ( fname varchar(100) NOT NULL default '', pname varchar(100) NOT NULL default '', ord tinyint(4) NOT NULL default '0', PRIMARY KEY (fname,pname), UNIQUE KEY IDX_UDFS_PARAMS_ORD (fname,ord) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxUSERS ( id int(11) NOT NULL default '0', PRIMARY KEY (id) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS flxREFORMAT ( id int(10) unsigned NOT NULL auto_increment, user varchar(50) NOT NULL, date DATETIME NOT NULL, reg_select text, otypes varchar(40) not null, state varchar(20), PRIMARY KEY (id) ) TYPE=MyISAM; -- tables for webSubmit: CREATE TABLE IF NOT EXISTS sbmACTION ( lactname text, sactname char(3) NOT NULL default '', dir text, cd date default NULL, md date default NULL, actionbutton text, statustext text, PRIMARY KEY (sactname) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmALLFUNCDESCR ( function varchar(40) NOT NULL default '', description tinytext, PRIMARY KEY (function) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmAPPROVAL ( doctype varchar(10) NOT NULL default '', categ varchar(50) NOT NULL default '', rn varchar(50) NOT NULL default '', status varchar(10) NOT NULL default '', dFirstReq datetime NOT NULL default '0000-00-00 00:00:00', dLastReq datetime NOT NULL default '0000-00-00 00:00:00', dAction datetime NOT NULL default '0000-00-00 00:00:00', access varchar(20) NOT NULL default '0', PRIMARY KEY (rn) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmCOLLECTION ( id int(11) NOT NULL auto_increment, name varchar(100) NOT NULL default '', PRIMARY KEY (id) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS sbmCOLLECTION_sbmCOLLECTION ( id_father int(11) NOT NULL default '0', id_son int(11) NOT NULL default '0', catalogue_order int(11) NOT NULL default '0' ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS sbmCOLLECTION_sbmDOCTYPE ( id_father int(11) NOT NULL default '0', id_son char(10) NOT NULL default '0', catalogue_order int(11) NOT NULL default '0' ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS sbmCATEGORIES ( doctype varchar(10) NOT NULL default '', sname varchar(75) NOT NULL default '', lname varchar(75) NOT NULL default '', score tinyint unsigned NOT NULL default 0, PRIMARY KEY (doctype, sname), KEY doctype (doctype), KEY sname (sname) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmCHECKS ( chname varchar(15) NOT NULL default '', chdesc text, cd date default NULL, md date default NULL, chefi1 text, chefi2 text, PRIMARY KEY (chname) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmDOCTYPE ( ldocname text, sdocname varchar(10) default NULL, cd date default NULL, md date default NULL, description text ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmFIELD ( subname varchar(13) default NULL, pagenb int(11) default NULL, fieldnb int(11) default NULL, fidesc varchar(15) default NULL, fitext text, level char(1) default NULL, sdesc text, checkn text, cd date default NULL, md date default NULL, fiefi1 text, fiefi2 text ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmFIELDDESC ( name varchar(15) NOT NULL default '', alephcode varchar(50) default NULL, marccode varchar(50) NOT NULL default '', type char(1) default NULL, size int(11) default NULL, rows int(11) default NULL, cols int(11) default NULL, maxlength int(11) default NULL, val text, fidesc text, cd date default NULL, md date default NULL, modifytext text, fddfi2 text, cookie int(11) default '0', PRIMARY KEY (name) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmFORMATEXTENSION ( FILE_FORMAT text NOT NULL, FILE_EXTENSION text NOT NULL ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmFUNCTIONS ( action varchar(10) NOT NULL default '', doctype varchar(10) NOT NULL default '', function varchar(40) NOT NULL default '', score int(11) NOT NULL default '0', step tinyint(4) NOT NULL default '1' ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmFUNDESC ( function varchar(40) NOT NULL default '', param varchar(40) default NULL ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmGFILERESULT ( FORMAT text NOT NULL, RESULT text NOT NULL ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmIMPLEMENT ( docname varchar(10) default NULL, actname char(3) default NULL, displayed char(1) default NULL, subname varchar(13) default NULL, nbpg int(11) default NULL, cd date default NULL, md date default NULL, buttonorder int(11) default NULL, statustext text, level char(1) NOT NULL default '', score int(11) NOT NULL default '0', stpage int(11) NOT NULL default '0', endtxt varchar(100) NOT NULL default '' ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmPARAMETERS ( doctype varchar(10) NOT NULL default '', name varchar(20) NOT NULL default '', value varchar(200) NOT NULL default '', PRIMARY KEY (doctype,name) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS sbmPUBLICATION ( doctype varchar(10) NOT NULL default '', categ varchar(50) NOT NULL default '', rn varchar(50) NOT NULL default '', status varchar(10) NOT NULL default '', dFirstReq datetime NOT NULL default '0000-00-00 00:00:00', dLastReq datetime NOT NULL default '0000-00-00 00:00:00', dAction datetime NOT NULL default '0000-00-00 00:00:00', accessref varchar(20) NOT NULL default '', accessedi varchar(20) NOT NULL default '', access varchar(20) NOT NULL default '', referees varchar(50) NOT NULL default '', authoremail varchar(50) NOT NULL default '', dRefSelection datetime NOT NULL default '0000-00-00 00:00:00', dRefRec datetime NOT NULL default '0000-00-00 00:00:00', dEdiRec datetime NOT NULL default '0000-00-00 00:00:00', accessspo varchar(20) NOT NULL default '', journal varchar(100) default NULL, PRIMARY KEY (doctype,categ,rn) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmPUBLICATIONCOMM ( id int(11) NOT NULL auto_increment, id_parent int(11) default '0', rn varchar(100) NOT NULL default '', firstname varchar(100) default NULL, secondname varchar(100) default NULL, email varchar(100) default NULL, date varchar(40) NOT NULL default '', synopsis varchar(255) NOT NULL default '', commentfulltext text, PRIMARY KEY (id) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmPUBLICATIONDATA ( doctype varchar(10) NOT NULL default '', editoboard varchar(250) NOT NULL default '', base varchar(10) NOT NULL default '', logicalbase varchar(10) NOT NULL default '', spokesperson varchar(50) NOT NULL default '', PRIMARY KEY (doctype) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmREFEREES ( doctype varchar(10) NOT NULL default '', categ varchar(10) NOT NULL default '', name varchar(50) NOT NULL default '', address varchar(50) NOT NULL default '', rid int(11) NOT NULL auto_increment, PRIMARY KEY (rid) ) TYPE=MyISAM PACK_KEYS=1; CREATE TABLE IF NOT EXISTS sbmSUBMISSIONS ( email varchar(50) NOT NULL default '', doctype varchar(10) NOT NULL default '', action varchar(10) NOT NULL default '', status varchar(10) NOT NULL default '', id varchar(30) NOT NULL default '', reference varchar(40) NOT NULL default '', cd datetime NOT NULL default '0000-00-00 00:00:00', md datetime NOT NULL default '0000-00-00 00:00:00' ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS sbmCOOKIES ( id int(15) unsigned NOT NULL auto_increment, name varchar(100) NOT NULL, value text, uid int(15) NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM; -- Scheduler tables CREATE TABLE IF NOT EXISTS schTASK ( id int(15) unsigned NOT NULL auto_increment, proc varchar(20) NOT NULL, host varchar(255) NOT NULL, user varchar(50) NOT NULL, runtime datetime NOT NULL, sleeptime varchar(20), arguments mediumblob, status varchar(50), progress varchar(255), PRIMARY KEY (id), KEY status (status), KEY runtime (runtime) ) TYPE=MyISAM; -- External collections CREATE TABLE IF NOT EXISTS collection_externalcollection ( id_collection mediumint(9) unsigned NOT NULL default '0', id_externalcollection mediumint(9) unsigned NOT NULL default '0', type tinyint(4) unsigned NOT NULL default '0', PRIMARY KEY (id_collection, id_externalcollection) ) TYPE=MyISAM; CREATE TABLE IF NOT EXISTS externalcollection ( id mediumint(9) unsigned NOT NULL auto_increment, name varchar(255) NOT NULL default '', PRIMARY KEY (id), UNIQUE KEY name (name) ) TYPE=MyISAM; -- end of file diff --git a/modules/miscutil/sql/tabdrop.sql b/modules/miscutil/sql/tabdrop.sql index 45ba6a857..f6544262c 100644 --- a/modules/miscutil/sql/tabdrop.sql +++ b/modules/miscutil/sql/tabdrop.sql @@ -1,373 +1,374 @@ -- $Id$ -- This file is part of CDS Invenio. -- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. -- -- CDS Invenio is free software; you can redistribute it and/or -- modify it under the terms of the GNU General Public License as -- published by the Free Software Foundation; either version 2 of the -- License, or (at your option) any later version. -- -- CDS Invenio 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. +-- General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with CDS Invenio; if not, write to the Free Software Foundation, Inc., -- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. DROP TABLE IF EXISTS bibrec; DROP TABLE IF EXISTS bib00x; DROP TABLE IF EXISTS bib01x; DROP TABLE IF EXISTS bib02x; DROP TABLE IF EXISTS bib03x; DROP TABLE IF EXISTS bib04x; DROP TABLE IF EXISTS bib05x; DROP TABLE IF EXISTS bib06x; DROP TABLE IF EXISTS bib07x; DROP TABLE IF EXISTS bib08x; DROP TABLE IF EXISTS bib09x; DROP TABLE IF EXISTS bib10x; DROP TABLE IF EXISTS bib11x; DROP TABLE IF EXISTS bib12x; DROP TABLE IF EXISTS bib13x; DROP TABLE IF EXISTS bib14x; DROP TABLE IF EXISTS bib15x; DROP TABLE IF EXISTS bib16x; DROP TABLE IF EXISTS bib17x; DROP TABLE IF EXISTS bib18x; DROP TABLE IF EXISTS bib19x; DROP TABLE IF EXISTS bib20x; DROP TABLE IF EXISTS bib21x; DROP TABLE IF EXISTS bib22x; DROP TABLE IF EXISTS bib23x; DROP TABLE IF EXISTS bib24x; DROP TABLE IF EXISTS bib25x; DROP TABLE IF EXISTS bib26x; DROP TABLE IF EXISTS bib27x; DROP TABLE IF EXISTS bib28x; DROP TABLE IF EXISTS bib29x; DROP TABLE IF EXISTS bib30x; DROP TABLE IF EXISTS bib31x; DROP TABLE IF EXISTS bib32x; DROP TABLE IF EXISTS bib33x; DROP TABLE IF EXISTS bib34x; DROP TABLE IF EXISTS bib35x; DROP TABLE IF EXISTS bib36x; DROP TABLE IF EXISTS bib37x; DROP TABLE IF EXISTS bib38x; DROP TABLE IF EXISTS bib39x; DROP TABLE IF EXISTS bib40x; DROP TABLE IF EXISTS bib41x; DROP TABLE IF EXISTS bib42x; DROP TABLE IF EXISTS bib43x; DROP TABLE IF EXISTS bib44x; DROP TABLE IF EXISTS bib45x; DROP TABLE IF EXISTS bib46x; DROP TABLE IF EXISTS bib47x; DROP TABLE IF EXISTS bib48x; DROP TABLE IF EXISTS bib49x; DROP TABLE IF EXISTS bib50x; DROP TABLE IF EXISTS bib51x; DROP TABLE IF EXISTS bib52x; DROP TABLE IF EXISTS bib53x; DROP TABLE IF EXISTS bib54x; DROP TABLE IF EXISTS bib55x; DROP TABLE IF EXISTS bib56x; DROP TABLE IF EXISTS bib57x; DROP TABLE IF EXISTS bib58x; DROP TABLE IF EXISTS bib59x; DROP TABLE IF EXISTS bib60x; DROP TABLE IF EXISTS bib61x; DROP TABLE IF EXISTS bib62x; DROP TABLE IF EXISTS bib63x; DROP TABLE IF EXISTS bib64x; DROP TABLE IF EXISTS bib65x; DROP TABLE IF EXISTS bib66x; DROP TABLE IF EXISTS bib67x; DROP TABLE IF EXISTS bib68x; DROP TABLE IF EXISTS bib69x; DROP TABLE IF EXISTS bib70x; DROP TABLE IF EXISTS bib71x; DROP TABLE IF EXISTS bib72x; DROP TABLE IF EXISTS bib73x; DROP TABLE IF EXISTS bib74x; DROP TABLE IF EXISTS bib75x; DROP TABLE IF EXISTS bib76x; DROP TABLE IF EXISTS bib77x; DROP TABLE IF EXISTS bib78x; DROP TABLE IF EXISTS bib79x; DROP TABLE IF EXISTS bib80x; DROP TABLE IF EXISTS bib81x; DROP TABLE IF EXISTS bib82x; DROP TABLE IF EXISTS bib83x; DROP TABLE IF EXISTS bib84x; DROP TABLE IF EXISTS bib85x; DROP TABLE IF EXISTS bib86x; DROP TABLE IF EXISTS bib87x; DROP TABLE IF EXISTS bib88x; DROP TABLE IF EXISTS bib89x; DROP TABLE IF EXISTS bib90x; DROP TABLE IF EXISTS bib91x; DROP TABLE IF EXISTS bib92x; DROP TABLE IF EXISTS bib93x; DROP TABLE IF EXISTS bib94x; DROP TABLE IF EXISTS bib95x; DROP TABLE IF EXISTS bib96x; DROP TABLE IF EXISTS bib97x; DROP TABLE IF EXISTS bib98x; DROP TABLE IF EXISTS bib99x; DROP TABLE IF EXISTS bibrec_bib00x; DROP TABLE IF EXISTS bibrec_bib01x; DROP TABLE IF EXISTS bibrec_bib02x; DROP TABLE IF EXISTS bibrec_bib03x; DROP TABLE IF EXISTS bibrec_bib04x; DROP TABLE IF EXISTS bibrec_bib05x; DROP TABLE IF EXISTS bibrec_bib06x; DROP TABLE IF EXISTS bibrec_bib07x; DROP TABLE IF EXISTS bibrec_bib08x; DROP TABLE IF EXISTS bibrec_bib09x; DROP TABLE IF EXISTS bibrec_bib10x; DROP TABLE IF EXISTS bibrec_bib11x; DROP TABLE IF EXISTS bibrec_bib12x; DROP TABLE IF EXISTS bibrec_bib13x; DROP TABLE IF EXISTS bibrec_bib14x; DROP TABLE IF EXISTS bibrec_bib15x; DROP TABLE IF EXISTS bibrec_bib16x; DROP TABLE IF EXISTS bibrec_bib17x; DROP TABLE IF EXISTS bibrec_bib18x; DROP TABLE IF EXISTS bibrec_bib19x; DROP TABLE IF EXISTS bibrec_bib20x; DROP TABLE IF EXISTS bibrec_bib21x; DROP TABLE IF EXISTS bibrec_bib22x; DROP TABLE IF EXISTS bibrec_bib23x; DROP TABLE IF EXISTS bibrec_bib24x; DROP TABLE IF EXISTS bibrec_bib25x; DROP TABLE IF EXISTS bibrec_bib26x; DROP TABLE IF EXISTS bibrec_bib27x; DROP TABLE IF EXISTS bibrec_bib28x; DROP TABLE IF EXISTS bibrec_bib29x; DROP TABLE IF EXISTS bibrec_bib30x; DROP TABLE IF EXISTS bibrec_bib31x; DROP TABLE IF EXISTS bibrec_bib32x; DROP TABLE IF EXISTS bibrec_bib33x; DROP TABLE IF EXISTS bibrec_bib34x; DROP TABLE IF EXISTS bibrec_bib35x; DROP TABLE IF EXISTS bibrec_bib36x; DROP TABLE IF EXISTS bibrec_bib37x; DROP TABLE IF EXISTS bibrec_bib38x; DROP TABLE IF EXISTS bibrec_bib39x; DROP TABLE IF EXISTS bibrec_bib40x; DROP TABLE IF EXISTS bibrec_bib41x; DROP TABLE IF EXISTS bibrec_bib42x; DROP TABLE IF EXISTS bibrec_bib43x; DROP TABLE IF EXISTS bibrec_bib44x; DROP TABLE IF EXISTS bibrec_bib45x; DROP TABLE IF EXISTS bibrec_bib46x; DROP TABLE IF EXISTS bibrec_bib47x; DROP TABLE IF EXISTS bibrec_bib48x; DROP TABLE IF EXISTS bibrec_bib49x; DROP TABLE IF EXISTS bibrec_bib50x; DROP TABLE IF EXISTS bibrec_bib51x; DROP TABLE IF EXISTS bibrec_bib52x; DROP TABLE IF EXISTS bibrec_bib53x; DROP TABLE IF EXISTS bibrec_bib54x; DROP TABLE IF EXISTS bibrec_bib55x; DROP TABLE IF EXISTS bibrec_bib56x; DROP TABLE IF EXISTS bibrec_bib57x; DROP TABLE IF EXISTS bibrec_bib58x; DROP TABLE IF EXISTS bibrec_bib59x; DROP TABLE IF EXISTS bibrec_bib60x; DROP TABLE IF EXISTS bibrec_bib61x; DROP TABLE IF EXISTS bibrec_bib62x; DROP TABLE IF EXISTS bibrec_bib63x; DROP TABLE IF EXISTS bibrec_bib64x; DROP TABLE IF EXISTS bibrec_bib65x; DROP TABLE IF EXISTS bibrec_bib66x; DROP TABLE IF EXISTS bibrec_bib67x; DROP TABLE IF EXISTS bibrec_bib68x; DROP TABLE IF EXISTS bibrec_bib69x; DROP TABLE IF EXISTS bibrec_bib70x; DROP TABLE IF EXISTS bibrec_bib71x; DROP TABLE IF EXISTS bibrec_bib72x; DROP TABLE IF EXISTS bibrec_bib73x; DROP TABLE IF EXISTS bibrec_bib74x; DROP TABLE IF EXISTS bibrec_bib75x; DROP TABLE IF EXISTS bibrec_bib76x; DROP TABLE IF EXISTS bibrec_bib77x; DROP TABLE IF EXISTS bibrec_bib78x; DROP TABLE IF EXISTS bibrec_bib79x; DROP TABLE IF EXISTS bibrec_bib80x; DROP TABLE IF EXISTS bibrec_bib81x; DROP TABLE IF EXISTS bibrec_bib82x; DROP TABLE IF EXISTS bibrec_bib83x; DROP TABLE IF EXISTS bibrec_bib84x; DROP TABLE IF EXISTS bibrec_bib85x; DROP TABLE IF EXISTS bibrec_bib86x; DROP TABLE IF EXISTS bibrec_bib87x; DROP TABLE IF EXISTS bibrec_bib88x; DROP TABLE IF EXISTS bibrec_bib89x; DROP TABLE IF EXISTS bibrec_bib90x; DROP TABLE IF EXISTS bibrec_bib91x; DROP TABLE IF EXISTS bibrec_bib92x; DROP TABLE IF EXISTS bibrec_bib93x; DROP TABLE IF EXISTS bibrec_bib94x; DROP TABLE IF EXISTS bibrec_bib95x; DROP TABLE IF EXISTS bibrec_bib96x; DROP TABLE IF EXISTS bibrec_bib97x; DROP TABLE IF EXISTS bibrec_bib98x; DROP TABLE IF EXISTS bibrec_bib99x; DROP TABLE IF EXISTS bibfmt; DROP TABLE IF EXISTS idxINDEX; DROP TABLE IF EXISTS idxINDEXNAME; DROP TABLE IF EXISTS idxINDEX_field; DROP TABLE IF EXISTS idxWORD01F; DROP TABLE IF EXISTS idxWORD02F; DROP TABLE IF EXISTS idxWORD03F; DROP TABLE IF EXISTS idxWORD04F; DROP TABLE IF EXISTS idxWORD05F; DROP TABLE IF EXISTS idxWORD06F; DROP TABLE IF EXISTS idxWORD07F; DROP TABLE IF EXISTS idxWORD08F; DROP TABLE IF EXISTS idxWORD09F; DROP TABLE IF EXISTS idxWORD10F; DROP TABLE IF EXISTS idxWORD01R; DROP TABLE IF EXISTS idxWORD02R; DROP TABLE IF EXISTS idxWORD03R; DROP TABLE IF EXISTS idxWORD04R; DROP TABLE IF EXISTS idxWORD05R; DROP TABLE IF EXISTS idxWORD06R; DROP TABLE IF EXISTS idxWORD07R; DROP TABLE IF EXISTS idxWORD08R; DROP TABLE IF EXISTS idxWORD09R; DROP TABLE IF EXISTS idxWORD10R; DROP TABLE IF EXISTS idxPHRASE01F; DROP TABLE IF EXISTS idxPHRASE02F; DROP TABLE IF EXISTS idxPHRASE03F; DROP TABLE IF EXISTS idxPHRASE04F; DROP TABLE IF EXISTS idxPHRASE05F; DROP TABLE IF EXISTS idxPHRASE06F; DROP TABLE IF EXISTS idxPHRASE07F; DROP TABLE IF EXISTS idxPHRASE08F; DROP TABLE IF EXISTS idxPHRASE09F; DROP TABLE IF EXISTS idxPHRASE10F; DROP TABLE IF EXISTS idxPHRASE01R; DROP TABLE IF EXISTS idxPHRASE02R; DROP TABLE IF EXISTS idxPHRASE03R; DROP TABLE IF EXISTS idxPHRASE04R; DROP TABLE IF EXISTS idxPHRASE05R; DROP TABLE IF EXISTS idxPHRASE06R; DROP TABLE IF EXISTS idxPHRASE07R; DROP TABLE IF EXISTS idxPHRASE08R; DROP TABLE IF EXISTS idxPHRASE09R; DROP TABLE IF EXISTS idxPHRASE10R; DROP TABLE IF EXISTS rnkMETHOD; DROP TABLE IF EXISTS rnkMETHODNAME; DROP TABLE IF EXISTS rnkMETHODDATA; DROP TABLE IF EXISTS rnkWORD01F; DROP TABLE IF EXISTS rnkWORD01R; DROP TABLE IF EXISTS rnkPAGEVIEWS; DROP TABLE IF EXISTS rnkDOWNLOADS; DROP TABLE IF EXISTS rnkCITATIONDATA; DROP TABLE IF EXISTS collection_rnkMETHOD; DROP TABLE IF EXISTS collection; DROP TABLE IF EXISTS collectionname; DROP TABLE IF EXISTS oaiARCHIVE; DROP TABLE IF EXISTS oaiHARVEST; DROP TABLE IF EXISTS collection_collection; DROP TABLE IF EXISTS collection_portalbox; DROP TABLE IF EXISTS portalbox; DROP TABLE IF EXISTS collection_example; DROP TABLE IF EXISTS example; DROP TABLE IF EXISTS collection_format; DROP TABLE IF EXISTS format; DROP TABLE IF EXISTS formatname; DROP TABLE IF EXISTS collection_field_fieldvalue; DROP TABLE IF EXISTS field; DROP TABLE IF EXISTS fieldname; DROP TABLE IF EXISTS fieldvalue; DROP TABLE IF EXISTS field_tag; DROP TABLE IF EXISTS tag; DROP TABLE IF EXISTS publreq; DROP TABLE IF EXISTS session; DROP TABLE IF EXISTS user; DROP TABLE IF EXISTS accROLE; +DROP TABLE IF EXISTS accMAILCOOKIE; DROP TABLE IF EXISTS user_accROLE; DROP TABLE IF EXISTS accACTION; DROP TABLE IF EXISTS accARGUMENT; DROP TABLE IF EXISTS accROLE_accACTION_accARGUMENT; DROP TABLE IF EXISTS user_query; DROP TABLE IF EXISTS query; DROP TABLE IF EXISTS user_basket; DROP TABLE IF EXISTS basket; DROP TABLE IF EXISTS basket_record; DROP TABLE IF EXISTS record; DROP TABLE IF EXISTS user_query_basket; DROP TABLE IF EXISTS cmtRECORDCOMMENT; DROP TABLE IF EXISTS fmtKNOWLEDGEBASES; DROP TABLE IF EXISTS fmtKNOWLEDGEBASEMAPPINGS; DROP TABLE IF EXISTS flxFORMATS; DROP TABLE IF EXISTS flxKBS; DROP TABLE IF EXISTS flxKBDBCOLLID2COLL; DROP TABLE IF EXISTS flxKBDBCOLLID2BIBTEX; DROP TABLE IF EXISTS flxKBEJOURNALS; DROP TABLE IF EXISTS flxLINKTYPES; DROP TABLE IF EXISTS flxLINKTYPECONDITIONS; DROP TABLE IF EXISTS flxLINKTYPECONDITIONSACTIONS; DROP TABLE IF EXISTS flxLINKTYPECONDITIONSFILEFORMATS; DROP TABLE IF EXISTS flxFILEFORMATS; DROP TABLE IF EXISTS flxLINKTYPEPARAMS; DROP TABLE IF EXISTS flxXMLMARCEXTRULES; DROP TABLE IF EXISTS flxXMLMARCEXTRULESUBFIELDS; DROP TABLE IF EXISTS flxBEHAVIORCONDITIONSACTIONS; DROP TABLE IF EXISTS flxBEHAVIORCONDITIONS; DROP TABLE IF EXISTS flxBEHAVIORS; DROP TABLE IF EXISTS flxUDFS; DROP TABLE IF EXISTS flxUDFPARAMS; DROP TABLE IF EXISTS flxUSERS; DROP TABLE IF EXISTS flxREFORMAT; DROP TABLE IF EXISTS sbmACTION; DROP TABLE IF EXISTS sbmALLFUNCDESCR; DROP TABLE IF EXISTS sbmAPPROVAL; DROP TABLE IF EXISTS sbmCOLLECTION; DROP TABLE IF EXISTS sbmCOLLECTION_sbmCOLLECTION; DROP TABLE IF EXISTS sbmCOLLECTION_sbmDOCTYPE; DROP TABLE IF EXISTS sbmCATEGORIES; DROP TABLE IF EXISTS sbmCHECKS; DROP TABLE IF EXISTS sbmCOOKIES; DROP TABLE IF EXISTS sbmDOCTYPE; DROP TABLE IF EXISTS sbmFIELD; DROP TABLE IF EXISTS sbmFIELDDESC; DROP TABLE IF EXISTS sbmFORMATEXTENSION; DROP TABLE IF EXISTS sbmFUNCTIONS; DROP TABLE IF EXISTS sbmFUNDESC; DROP TABLE IF EXISTS sbmGFILERESULT; DROP TABLE IF EXISTS sbmIMPLEMENT; DROP TABLE IF EXISTS sbmPARAMETERS; DROP TABLE IF EXISTS sbmPUBLICATION; DROP TABLE IF EXISTS sbmPUBLICATIONCOMM; DROP TABLE IF EXISTS sbmPUBLICATIONDATA; DROP TABLE IF EXISTS sbmREFEREES; DROP TABLE IF EXISTS sbmSUBMISSIONS; DROP TABLE IF EXISTS schTASK; DROP TABLE IF EXISTS bibdoc; DROP TABLE IF EXISTS bibdoc_bibdoc; DROP TABLE IF EXISTS bibrec_bibdoc; DROP TABLE IF EXISTS usergroup; DROP TABLE IF EXISTS user_usergroup; DROP TABLE IF EXISTS user_basket; DROP TABLE IF EXISTS msgMESSAGE; DROP TABLE IF EXISTS user_msgMESSAGE; DROP TABLE IF EXISTS bskBASKET; DROP TABLE IF EXISTS bskEXTREC; DROP TABLE IF EXISTS bskEXTFMT; DROP TABLE IF EXISTS bskREC; DROP TABLE IF EXISTS bskRECORDCOMMENT; DROP TABLE IF EXISTS cmtACTIONHISTORY; DROP TABLE IF EXISTS user_bskBASKET; DROP TABLE IF EXISTS usergroup_bskBASKET; DROP TABLE IF EXISTS collection_externalcollection; DROP TABLE IF EXISTS externalcollection; -- end of file diff --git a/modules/miscutil/sql/tabfill.sql.wml b/modules/miscutil/sql/tabfill.sql.wml index 951998281..30bdfea5f 100644 --- a/modules/miscutil/sql/tabfill.sql.wml +++ b/modules/miscutil/sql/tabfill.sql.wml @@ -1,1351 +1,1351 @@ ## -*- mode: sql; coding: utf-8; -*- ## $Id$ ## Fills configuration tables with defaults. ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. ## read config variables: #include "config.wml" #include "configbis.wml" ## local defaults, i.e. WML config variables are to be used: INSERT INTO collection VALUES (1,"",NULL,NULL,NULL,NULL); INSERT INTO collectionname VALUES (1,'en','ln',""); INSERT INTO collectionname VALUES (1,'fr','ln',""); INSERT INTO collectionname VALUES (1,'de','ln',""); INSERT INTO collectionname VALUES (1,'es','ln',""); INSERT INTO collectionname VALUES (1,'ca','ln',""); INSERT INTO collectionname VALUES (1,'pl','ln',""); INSERT INTO collectionname VALUES (1,'pt','ln',""); INSERT INTO collectionname VALUES (1,'it','ln',""); INSERT INTO collectionname VALUES (1,'ja','ln',""); INSERT INTO collectionname VALUES (1,'ru','ln',""); INSERT INTO collectionname VALUES (1,'sk','ln',""); INSERT INTO collectionname VALUES (1,'cs','ln',""); INSERT INTO collectionname VALUES (1,'no','ln',""); INSERT INTO collectionname VALUES (1,'sv','ln',""); INSERT INTO collectionname VALUES (1,'el','ln',""); INSERT INTO collectionname VALUES (1,'uk','ln',""); INSERT INTO collectionname VALUES (1,'bg','ln',""); INSERT INTO collectionname VALUES (1,'hr','ln',""); INSERT INTO collectionname VALUES (1,'zh_CN','ln',""); INSERT INTO collectionname VALUES (1,'zh_TW','ln',""); -INSERT INTO user VALUES (1, "", AES_ENCRYPT(email, ''), 1, NULL, 'admin', '', '0000-00-00', NULL); +INSERT INTO user VALUES (1, "", AES_ENCRYPT(email, ''), 1, NULL, 'admin', ''); INSERT INTO flxLINKTYPES VALUES ('AUTHOR_SEARCH','N','EXT','',''); INSERT INTO flxLINKTYPES VALUES ('KEYWORD_SEARCH','N','EXT','',''); INSERT INTO flxLINKTYPECONDITIONS VALUES ('AUTHOR_SEARCH',0,' \"\"=\"\" ','\"/search?f=author&p=\" urlencode($author)','EXT','',''); INSERT INTO flxLINKTYPECONDITIONS VALUES ('KEYWORD_SEARCH',0,' \"\"=\"\" ','\"/search?f=keyword&p=\" urlencode($keyword)','EXT','',''); INSERT INTO flxLINKTYPECONDITIONSACTIONS VALUES ('AUTHOR_SEARCH',0,0,'\"/search?f=author&p=\" urlencode($author)'); INSERT INTO flxLINKTYPECONDITIONSACTIONS VALUES ('KEYWORD_SEARCH',0,0,'\"/search?f=keyword&p=\" urlencode($keyword)'); INSERT INTO flxLINKTYPEPARAMS VALUES ('AUTHOR_SEARCH','AUTHOR',0); INSERT INTO flxLINKTYPEPARAMS VALUES ('KEYWORD_SEARCH','KEYWORD',0); ## generally suitable defaults: INSERT INTO rnkMETHOD (id,name,last_updated) VALUES (1,'wrd','0000-00-00 00:00:00'); INSERT INTO collection_rnkMETHOD (id_collection,id_rnkMETHOD,score) VALUES (1,1,100); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'en','ln','word similarity'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'fr','ln','similarité de mots'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'de','ln','Wortähnlichkeit'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'es','ln','similitud de palabras'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'ca','ln','semblança de paraules'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'pl','ln','word similarity'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'pt','ln','similaridade por palavra'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'it','ln','word similarity'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'ja','ln','word similarity'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'ru','ln','похожые слова'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'sk','ln','podobnosť slov'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'cs','ln','podobnost slov'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'no','ln','ord-likhet'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'sv','ln','ord-likhet'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'el','ln','ομοιότητα λέξης'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'uk','ln','подібні слова'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'bg','ln','word similarity'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'hr','ln','sličnost riječi'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'zh_CN','ln','相似字词'); INSERT INTO rnkMETHODNAME (id_rnkMETHOD,ln,type,value) VALUES (1,'zh_TW','ln','相似字詞'); INSERT INTO field VALUES (1,'any field','anyfield'); INSERT INTO field VALUES (2,'title','title'); INSERT INTO field VALUES (3,'author','author'); INSERT INTO field VALUES (4,'abstract','abstract'); INSERT INTO field VALUES (5,'keyword','keyword'); INSERT INTO field VALUES (6,'report number','reportnumber'); INSERT INTO field VALUES (7,'subject','subject'); INSERT INTO field VALUES (8,'reference','reference'); INSERT INTO field VALUES (9,'fulltext','fulltext'); INSERT INTO field VALUES (10,'collection','collection'); INSERT INTO field VALUES (11,'division','division'); INSERT INTO field VALUES (12,'year','year'); INSERT INTO field VALUES (13,'experiment','experiment'); INSERT INTO field VALUES (14,'record ID','recid'); INSERT INTO fieldname VALUES (1,'en','ln','any field'); INSERT INTO fieldname VALUES (1,'fr','ln','tous les champs'); INSERT INTO fieldname VALUES (1,'de','ln','alle Felder'); INSERT INTO fieldname VALUES (1,'es','ln','cualquier campo'); INSERT INTO fieldname VALUES (1,'ca','ln','qualsevol camp'); INSERT INTO fieldname VALUES (1,'pl','ln','dowolne pole'); INSERT INTO fieldname VALUES (1,'pt','ln','qualquer campo'); INSERT INTO fieldname VALUES (1,'it','ln','tutti i campi'); INSERT INTO fieldname VALUES (1,'ru','ln','любое поле'); INSERT INTO fieldname VALUES (1,'sk','ln','všetky polia'); INSERT INTO fieldname VALUES (1,'cs','ln','všechna pole'); INSERT INTO fieldname VALUES (1,'no','ln','alle felt'); INSERT INTO fieldname VALUES (1,'sv','ln','samtliga fält'); INSERT INTO fieldname VALUES (1,'el','ln','οποιοδήποτε πεδίο'); INSERT INTO fieldname VALUES (1,'uk','ln','всі поля'); INSERT INTO fieldname VALUES (1,'ja','ln','すべての分野'); INSERT INTO fieldname VALUES (1,'bg','ln','всички'); INSERT INTO fieldname VALUES (1,'hr','ln','bilo koje polje'); INSERT INTO fieldname VALUES (1,'zh_CN','ln','任何字段'); INSERT INTO fieldname VALUES (1,'zh_TW','ln','任何欄位'); INSERT INTO fieldname VALUES (2,'en','ln','title'); INSERT INTO fieldname VALUES (2,'fr','ln','titre'); INSERT INTO fieldname VALUES (2,'de','ln','Titel'); INSERT INTO fieldname VALUES (2,'es','ln','título'); INSERT INTO fieldname VALUES (2,'ca','ln','títol'); INSERT INTO fieldname VALUES (2,'pl','ln','tytuł'); INSERT INTO fieldname VALUES (2,'pt','ln','título'); INSERT INTO fieldname VALUES (2,'it','ln','titolo'); INSERT INTO fieldname VALUES (2,'ru','ln','название'); INSERT INTO fieldname VALUES (2,'sk','ln','názov'); INSERT INTO fieldname VALUES (2,'cs','ln','název'); INSERT INTO fieldname VALUES (2,'no','ln','tittel'); INSERT INTO fieldname VALUES (2,'sv','ln','titel'); INSERT INTO fieldname VALUES (2,'el','ln','τίτλος'); INSERT INTO fieldname VALUES (2,'uk','ln','назва'); INSERT INTO fieldname VALUES (2,'ja','ln','タイトル'); INSERT INTO fieldname VALUES (2,'bg','ln','заглавие'); INSERT INTO fieldname VALUES (2,'hr','ln','naslov'); INSERT INTO fieldname VALUES (2,'zh_CN','ln','标题'); INSERT INTO fieldname VALUES (2,'zh_TW','ln','標題'); INSERT INTO fieldname VALUES (3,'en','ln','author'); INSERT INTO fieldname VALUES (3,'fr','ln','auteur'); INSERT INTO fieldname VALUES (3,'de','ln','Autor'); INSERT INTO fieldname VALUES (3,'es','ln','autor'); INSERT INTO fieldname VALUES (3,'ca','ln','autor'); INSERT INTO fieldname VALUES (3,'pl','ln','autor'); INSERT INTO fieldname VALUES (3,'pt','ln','autor'); INSERT INTO fieldname VALUES (3,'it','ln','autore'); INSERT INTO fieldname VALUES (3,'ru','ln','автор'); INSERT INTO fieldname VALUES (3,'sk','ln','autor'); INSERT INTO fieldname VALUES (3,'cs','ln','autor'); INSERT INTO fieldname VALUES (3,'no','ln','forfatter'); INSERT INTO fieldname VALUES (3,'sv','ln','författare'); INSERT INTO fieldname VALUES (3,'el','ln','συγγραφέας'); INSERT INTO fieldname VALUES (3,'uk','ln','автор'); INSERT INTO fieldname VALUES (3,'ja','ln','著者'); INSERT INTO fieldname VALUES (3,'bg','ln','автор'); INSERT INTO fieldname VALUES (3,'hr','ln','autor'); INSERT INTO fieldname VALUES (3,'zh_CN','ln','作者'); INSERT INTO fieldname VALUES (3,'zh_TW','ln','作者'); INSERT INTO fieldname VALUES (4,'en','ln','abstract'); INSERT INTO fieldname VALUES (4,'fr','ln','abstract'); INSERT INTO fieldname VALUES (4,'de','ln','Abstrakt'); INSERT INTO fieldname VALUES (4,'es','ln','resumen'); INSERT INTO fieldname VALUES (4,'ca','ln','resum'); INSERT INTO fieldname VALUES (4,'pl','ln','abstrakt'); INSERT INTO fieldname VALUES (4,'pt','ln','resumo'); INSERT INTO fieldname VALUES (4,'it','ln','riassunto'); INSERT INTO fieldname VALUES (4,'ru','ln','абстракт'); INSERT INTO fieldname VALUES (4,'sk','ln','abstrakt'); INSERT INTO fieldname VALUES (4,'cs','ln','abstrakt'); INSERT INTO fieldname VALUES (4,'no','ln','sammendrag'); INSERT INTO fieldname VALUES (4,'sv','ln','sammanfattning'); INSERT INTO fieldname VALUES (4,'el','ln','περίληψη'); INSERT INTO fieldname VALUES (4,'uk','ln','резюме'); INSERT INTO fieldname VALUES (4,'ja','ln','概要'); INSERT INTO fieldname VALUES (4,'bg','ln','резюме'); INSERT INTO fieldname VALUES (4,'hr','ln','sažetak'); INSERT INTO fieldname VALUES (4,'zh_CN','ln','摘要'); INSERT INTO fieldname VALUES (4,'zh_TW','ln','摘要'); INSERT INTO fieldname VALUES (5,'en','ln','keyword'); INSERT INTO fieldname VALUES (5,'fr','ln','mot clé'); INSERT INTO fieldname VALUES (5,'de','ln','Kennwort'); INSERT INTO fieldname VALUES (5,'es','ln','palabra clave'); INSERT INTO fieldname VALUES (5,'ca','ln','paraula clau'); INSERT INTO fieldname VALUES (5,'pl','ln','słowo kluczowe'); INSERT INTO fieldname VALUES (5,'pt','ln','palavra chave'); INSERT INTO fieldname VALUES (5,'it','ln','parola chiave'); INSERT INTO fieldname VALUES (5,'ru','ln','ключевое слово'); INSERT INTO fieldname VALUES (5,'sk','ln','kľúčové slovo'); INSERT INTO fieldname VALUES (5,'cs','ln','klíčové slovo'); INSERT INTO fieldname VALUES (5,'no','ln','nøkkelord'); INSERT INTO fieldname VALUES (5,'sv','ln','nyckelord'); INSERT INTO fieldname VALUES (5,'el','ln','λέξη κλειδί'); INSERT INTO fieldname VALUES (5,'uk','ln','ключеве слово'); INSERT INTO fieldname VALUES (5,'ja','ln','キーワード'); INSERT INTO fieldname VALUES (5,'bg','ln','ключова дума'); INSERT INTO fieldname VALUES (5,'hr','ln','ključna riječ'); INSERT INTO fieldname VALUES (5,'zh_CN','ln','关键词'); INSERT INTO fieldname VALUES (5,'zh_TW','ln','關鍵詞'); INSERT INTO fieldname VALUES (6,'en','ln','report number'); INSERT INTO fieldname VALUES (6,'fr','ln','numéro de rapport'); INSERT INTO fieldname VALUES (6,'de','ln','Reportnummer'); INSERT INTO fieldname VALUES (6,'es','ln','número de reporte'); INSERT INTO fieldname VALUES (6,'ca','ln','número d\'informe'); INSERT INTO fieldname VALUES (6,'pl','ln','numer raportu'); INSERT INTO fieldname VALUES (6,'pt','ln','número de registro'); INSERT INTO fieldname VALUES (6,'it','ln','numero del rapporto'); INSERT INTO fieldname VALUES (6,'ru','ln','номер документа'); INSERT INTO fieldname VALUES (6,'sk','ln','číslo správy'); INSERT INTO fieldname VALUES (6,'cs','ln','číslo zprávy'); INSERT INTO fieldname VALUES (6,'no','ln','rapportnummer'); INSERT INTO fieldname VALUES (6,'sv','ln','rapportnummer'); INSERT INTO fieldname VALUES (6,'el','ln','αριθμός αναφοράς'); INSERT INTO fieldname VALUES (6,'uk','ln','номер документа'); INSERT INTO fieldname VALUES (6,'ja','ln','レポート数'); INSERT INTO fieldname VALUES (6,'bg','ln','номер на документа'); INSERT INTO fieldname VALUES (6,'hr','ln','broj izvještaja'); INSERT INTO fieldname VALUES (6,'zh_CN','ln','报告编号'); INSERT INTO fieldname VALUES (6,'zh_TW','ln','報告編號'); INSERT INTO fieldname VALUES (7,'en','ln','subject'); INSERT INTO fieldname VALUES (7,'fr','ln','sujet'); INSERT INTO fieldname VALUES (7,'de','ln','Thema'); INSERT INTO fieldname VALUES (7,'es','ln','materia'); INSERT INTO fieldname VALUES (7,'ca','ln','matèria'); INSERT INTO fieldname VALUES (7,'pl','ln','temat'); INSERT INTO fieldname VALUES (7,'pt','ln','assunto'); INSERT INTO fieldname VALUES (7,'it','ln','soggetto'); INSERT INTO fieldname VALUES (7,'ru','ln','предмет'); INSERT INTO fieldname VALUES (7,'sk','ln','predmet'); INSERT INTO fieldname VALUES (7,'cs','ln','předmět'); INSERT INTO fieldname VALUES (7,'no','ln','emne'); INSERT INTO fieldname VALUES (7,'sv','ln',''); INSERT INTO fieldname VALUES (7,'el','ln','θέμα'); INSERT INTO fieldname VALUES (7,'uk','ln','тема'); INSERT INTO fieldname VALUES (7,'ja','ln','ツ 主題'); INSERT INTO fieldname VALUES (7,'bg','ln','тема'); INSERT INTO fieldname VALUES (7,'hr','ln','predmetna odrednica'); INSERT INTO fieldname VALUES (7,'zh_CN','ln','主题'); INSERT INTO fieldname VALUES (7,'zh_TW','ln','主題'); INSERT INTO fieldname VALUES (8,'en','ln','reference'); INSERT INTO fieldname VALUES (8,'fr','ln','référence'); INSERT INTO fieldname VALUES (8,'de','ln','Referenz'); INSERT INTO fieldname VALUES (8,'es','ln','referencia'); INSERT INTO fieldname VALUES (8,'ca','ln','referència'); INSERT INTO fieldname VALUES (8,'pl','ln','odnośnik'); INSERT INTO fieldname VALUES (8,'pt','ln','referência'); INSERT INTO fieldname VALUES (8,'it','ln','referenza'); INSERT INTO fieldname VALUES (8,'ru','ln','ссылка'); INSERT INTO fieldname VALUES (8,'sk','ln','referencie'); INSERT INTO fieldname VALUES (8,'cs','ln','reference'); INSERT INTO fieldname VALUES (8,'no','ln','referanse'); INSERT INTO fieldname VALUES (8,'sv','ln','referens'); INSERT INTO fieldname VALUES (8,'el','ln','αναφορά'); INSERT INTO fieldname VALUES (8,'uk','ln','посилання'); INSERT INTO fieldname VALUES (8,'ja','ln','参照'); INSERT INTO fieldname VALUES (8,'bg','ln','препратка'); INSERT INTO fieldname VALUES (8,'hr','ln','referenca'); INSERT INTO fieldname VALUES (8,'zh_CN','ln','参考'); INSERT INTO fieldname VALUES (8,'zh_TW','ln','參考'); INSERT INTO fieldname VALUES (9,'en','ln','fulltext'); INSERT INTO fieldname VALUES (9,'fr','ln','fulltext'); INSERT INTO fieldname VALUES (9,'de','ln','Volltext'); INSERT INTO fieldname VALUES (9,'es','ln','texto completo'); INSERT INTO fieldname VALUES (9,'ca','ln','text complert'); INSERT INTO fieldname VALUES (9,'pl','ln','pełny tekst'); INSERT INTO fieldname VALUES (9,'pt','ln','texto completo'); INSERT INTO fieldname VALUES (9,'it','ln','testo completo'); INSERT INTO fieldname VALUES (9,'ru','ln','полный текст'); INSERT INTO fieldname VALUES (9,'sk','ln','plný text'); INSERT INTO fieldname VALUES (9,'cs','ln','plný text'); INSERT INTO fieldname VALUES (9,'no','ln','fulltekst'); INSERT INTO fieldname VALUES (9,'sv','ln','fulltext'); INSERT INTO fieldname VALUES (9,'el','ln','πλήρες κείμενο'); INSERT INTO fieldname VALUES (9,'uk','ln','повний текст'); INSERT INTO fieldname VALUES (9,'ja','ln','フルテキスト'); INSERT INTO fieldname VALUES (9,'bg','ln','пълен текст'); INSERT INTO fieldname VALUES (9,'hr','ln','cjeloviti tekst'); INSERT INTO fieldname VALUES (9,'zh_CN','ln','全文'); INSERT INTO fieldname VALUES (9,'zh_TW','ln','全文'); INSERT INTO fieldname VALUES (10,'en','ln','collection'); INSERT INTO fieldname VALUES (10,'fr','ln','collection'); INSERT INTO fieldname VALUES (10,'de','ln','Sammlung'); INSERT INTO fieldname VALUES (10,'es','ln','colección'); INSERT INTO fieldname VALUES (10,'ca','ln','col·lecció'); INSERT INTO fieldname VALUES (10,'pl','ln','zbiór'); INSERT INTO fieldname VALUES (10,'pt','ln','coleção'); INSERT INTO fieldname VALUES (10,'it','ln','collezione'); INSERT INTO fieldname VALUES (10,'ru','ln','набор'); INSERT INTO fieldname VALUES (10,'sk','ln','kolekcia'); INSERT INTO fieldname VALUES (10,'cs','ln','kolekce'); INSERT INTO fieldname VALUES (10,'no','ln','samling'); INSERT INTO fieldname VALUES (10,'sv','ln','samlingen'); INSERT INTO fieldname VALUES (10,'el','ln','συλλογή'); INSERT INTO fieldname VALUES (10,'uk','ln','розділ'); INSERT INTO fieldname VALUES (10,'ja','ln','コレクション'); INSERT INTO fieldname VALUES (10,'bg','ln','колекция'); INSERT INTO fieldname VALUES (10,'hr','ln','kolekcija'); INSERT INTO fieldname VALUES (10,'zh_CN','ln','汇集'); INSERT INTO fieldname VALUES (10,'zh_TW','ln','彙集'); INSERT INTO fieldname VALUES (11,'en','ln','division'); INSERT INTO fieldname VALUES (11,'fr','ln','division'); INSERT INTO fieldname VALUES (11,'de','ln','Abteilung'); INSERT INTO fieldname VALUES (11,'es','ln','división'); INSERT INTO fieldname VALUES (11,'ca','ln','divisió'); INSERT INTO fieldname VALUES (11,'pl','ln','podział'); INSERT INTO fieldname VALUES (11,'pt','ln','divisão'); INSERT INTO fieldname VALUES (11,'it','ln','divisione'); INSERT INTO fieldname VALUES (11,'ru','ln','разделение'); INSERT INTO fieldname VALUES (11,'sk','ln','oddelenie'); INSERT INTO fieldname VALUES (11,'cs','ln','oddělení'); INSERT INTO fieldname VALUES (11,'no','ln','divisjon'); INSERT INTO fieldname VALUES (11,'sv','ln',''); INSERT INTO fieldname VALUES (11,'el','ln','τμήμα'); INSERT INTO fieldname VALUES (11,'uk','ln','підрозділ'); INSERT INTO fieldname VALUES (11,'ja','ln','部'); INSERT INTO fieldname VALUES (11,'bg','ln','отдел'); INSERT INTO fieldname VALUES (11,'hr','ln','odjel'); INSERT INTO fieldname VALUES (11,'zh_CN','ln','分类'); INSERT INTO fieldname VALUES (11,'zh_TW','ln','分類'); INSERT INTO fieldname VALUES (12,'en','ln','year'); INSERT INTO fieldname VALUES (12,'fr','ln','année'); INSERT INTO fieldname VALUES (12,'de','ln','Jahr'); INSERT INTO fieldname VALUES (12,'es','ln','año'); INSERT INTO fieldname VALUES (12,'ca','ln','any'); INSERT INTO fieldname VALUES (12,'pl','ln','rok'); INSERT INTO fieldname VALUES (12,'pt','ln','ano'); INSERT INTO fieldname VALUES (12,'it','ln','anno'); INSERT INTO fieldname VALUES (12,'ru','ln','год'); INSERT INTO fieldname VALUES (12,'sk','ln','rok'); INSERT INTO fieldname VALUES (12,'cs','ln','rok'); INSERT INTO fieldname VALUES (12,'no','ln','år'); INSERT INTO fieldname VALUES (12,'sv','ln','år'); INSERT INTO fieldname VALUES (12,'el','ln','έτος'); INSERT INTO fieldname VALUES (12,'uk','ln','рік'); INSERT INTO fieldname VALUES (12,'ja','ln','年'); INSERT INTO fieldname VALUES (12,'bg','ln','година'); INSERT INTO fieldname VALUES (12,'hr','ln','godina'); INSERT INTO fieldname VALUES (12,'zh_CN','ln','年份'); INSERT INTO fieldname VALUES (12,'zh_TW','ln','年份'); INSERT INTO fieldname VALUES (13,'en','ln','experiment'); INSERT INTO fieldname VALUES (13,'fr','ln','expérience'); INSERT INTO fieldname VALUES (13,'de','ln','Experiment'); INSERT INTO fieldname VALUES (13,'es','ln','experimento'); INSERT INTO fieldname VALUES (13,'ca','ln','experiment'); INSERT INTO fieldname VALUES (13,'pl','ln','eksperyment'); INSERT INTO fieldname VALUES (13,'pt','ln','experimento'); INSERT INTO fieldname VALUES (13,'it','ln','esperimento'); INSERT INTO fieldname VALUES (13,'ru','ln','эксперимент'); INSERT INTO fieldname VALUES (13,'sk','ln','experiment'); INSERT INTO fieldname VALUES (13,'cs','ln','experiment'); INSERT INTO fieldname VALUES (13,'no','ln','eksperiment'); INSERT INTO fieldname VALUES (13,'sv','ln',''); INSERT INTO fieldname VALUES (13,'el','ln','πείραμα'); INSERT INTO fieldname VALUES (13,'uk','ln','експеримент'); INSERT INTO fieldname VALUES (13,'ja','ln','実験'); INSERT INTO fieldname VALUES (13,'bg','ln','експеримент'); INSERT INTO fieldname VALUES (13,'hr','ln','eksperiment'); INSERT INTO fieldname VALUES (13,'zh_CN','ln','实验'); INSERT INTO fieldname VALUES (13,'zh_TW','ln','實驗'); INSERT INTO fieldname VALUES (14,'en','ln','record ID'); INSERT INTO fieldname VALUES (14,'fr','ln','identificateur de notice'); INSERT INTO fieldname VALUES (14,'de','ln','Datensatz-ID'); INSERT INTO fieldname VALUES (14,'es','ln','registro núm.'); INSERT INTO fieldname VALUES (14,'ca','ln','registre núm.'); INSERT INTO fieldname VALUES (14,'pl','ln','ID rekordu'); INSERT INTO fieldname VALUES (14,'pt','ln','ID do registro'); INSERT INTO fieldname VALUES (14,'it','ln','ID della notizia'); INSERT INTO fieldname VALUES (14,'ru','ln','номер записи'); INSERT INTO fieldname VALUES (14,'sk','ln','ID záznamu'); INSERT INTO fieldname VALUES (14,'cs','ln','ID záznamu'); INSERT INTO fieldname VALUES (14,'no','ln','post ID'); INSERT INTO fieldname VALUES (14,'sv','ln',''); INSERT INTO fieldname VALUES (14,'el','ln','record ID'); INSERT INTO fieldname VALUES (14,'uk','ln','номер запису'); INSERT INTO fieldname VALUES (14,'ja','ln','記録的なID'); INSERT INTO fieldname VALUES (14,'bg','ln','ID на записа'); INSERT INTO fieldname VALUES (14,'hr','ln','ID unosa'); INSERT INTO fieldname VALUES (14,'zh_CN','ln','记录号'); INSERT INTO fieldname VALUES (14,'zh_TW','ln','記錄號'); INSERT INTO field_tag VALUES (1,100,10); INSERT INTO field_tag VALUES (1,101,10); INSERT INTO field_tag VALUES (1,102,10); INSERT INTO field_tag VALUES (1,103,10); INSERT INTO field_tag VALUES (1,104,10); INSERT INTO field_tag VALUES (1,105,10); INSERT INTO field_tag VALUES (1,106,10); INSERT INTO field_tag VALUES (1,107,10); INSERT INTO field_tag VALUES (1,108,10); INSERT INTO field_tag VALUES (1,109,10); INSERT INTO field_tag VALUES (1,110,10); INSERT INTO field_tag VALUES (1,111,10); INSERT INTO field_tag VALUES (1,112,10); INSERT INTO field_tag VALUES (1,113,10); INSERT INTO field_tag VALUES (1,114,10); INSERT INTO field_tag VALUES (1,16,10); INSERT INTO field_tag VALUES (1,17,10); INSERT INTO field_tag VALUES (1,18,10); INSERT INTO field_tag VALUES (1,19,10); INSERT INTO field_tag VALUES (1,20,10); INSERT INTO field_tag VALUES (1,21,10); INSERT INTO field_tag VALUES (1,22,10); INSERT INTO field_tag VALUES (1,23,10); INSERT INTO field_tag VALUES (1,24,10); INSERT INTO field_tag VALUES (1,25,10); INSERT INTO field_tag VALUES (1,26,10); INSERT INTO field_tag VALUES (1,27,10); INSERT INTO field_tag VALUES (1,28,10); INSERT INTO field_tag VALUES (1,29,10); INSERT INTO field_tag VALUES (1,30,10); INSERT INTO field_tag VALUES (1,31,10); INSERT INTO field_tag VALUES (1,32,10); INSERT INTO field_tag VALUES (1,33,10); INSERT INTO field_tag VALUES (1,34,10); INSERT INTO field_tag VALUES (1,35,10); INSERT INTO field_tag VALUES (1,36,10); INSERT INTO field_tag VALUES (1,37,10); INSERT INTO field_tag VALUES (1,38,10); INSERT INTO field_tag VALUES (1,39,10); INSERT INTO field_tag VALUES (1,40,10); INSERT INTO field_tag VALUES (1,41,10); INSERT INTO field_tag VALUES (1,42,10); INSERT INTO field_tag VALUES (1,43,10); INSERT INTO field_tag VALUES (1,44,10); INSERT INTO field_tag VALUES (1,45,10); INSERT INTO field_tag VALUES (1,46,10); INSERT INTO field_tag VALUES (1,47,10); INSERT INTO field_tag VALUES (1,48,10); INSERT INTO field_tag VALUES (1,49,10); INSERT INTO field_tag VALUES (1,50,10); INSERT INTO field_tag VALUES (1,51,10); INSERT INTO field_tag VALUES (1,52,10); INSERT INTO field_tag VALUES (1,53,10); INSERT INTO field_tag VALUES (1,54,10); INSERT INTO field_tag VALUES (1,55,10); INSERT INTO field_tag VALUES (1,56,10); INSERT INTO field_tag VALUES (1,57,10); INSERT INTO field_tag VALUES (1,58,10); INSERT INTO field_tag VALUES (1,59,10); INSERT INTO field_tag VALUES (1,60,10); INSERT INTO field_tag VALUES (1,61,10); INSERT INTO field_tag VALUES (1,62,10); INSERT INTO field_tag VALUES (1,63,10); INSERT INTO field_tag VALUES (1,64,10); INSERT INTO field_tag VALUES (1,65,10); INSERT INTO field_tag VALUES (1,66,10); INSERT INTO field_tag VALUES (1,67,10); INSERT INTO field_tag VALUES (1,68,10); INSERT INTO field_tag VALUES (1,69,10); INSERT INTO field_tag VALUES (1,70,10); INSERT INTO field_tag VALUES (1,71,10); INSERT INTO field_tag VALUES (1,72,10); INSERT INTO field_tag VALUES (1,73,10); INSERT INTO field_tag VALUES (1,74,10); INSERT INTO field_tag VALUES (1,75,10); INSERT INTO field_tag VALUES (1,76,10); INSERT INTO field_tag VALUES (1,77,10); INSERT INTO field_tag VALUES (1,78,10); INSERT INTO field_tag VALUES (1,79,10); INSERT INTO field_tag VALUES (1,80,10); INSERT INTO field_tag VALUES (1,81,10); INSERT INTO field_tag VALUES (1,82,10); INSERT INTO field_tag VALUES (1,83,10); INSERT INTO field_tag VALUES (1,84,10); INSERT INTO field_tag VALUES (1,85,10); INSERT INTO field_tag VALUES (1,86,10); INSERT INTO field_tag VALUES (1,87,10); INSERT INTO field_tag VALUES (1,88,10); INSERT INTO field_tag VALUES (1,89,10); INSERT INTO field_tag VALUES (1,90,10); INSERT INTO field_tag VALUES (1,91,10); INSERT INTO field_tag VALUES (1,92,10); INSERT INTO field_tag VALUES (1,93,10); INSERT INTO field_tag VALUES (1,94,10); INSERT INTO field_tag VALUES (1,95,10); INSERT INTO field_tag VALUES (1,96,10); INSERT INTO field_tag VALUES (1,97,10); INSERT INTO field_tag VALUES (1,98,10); INSERT INTO field_tag VALUES (1,99,10); INSERT INTO field_tag VALUES (10,11,100); INSERT INTO field_tag VALUES (11,14,100); INSERT INTO field_tag VALUES (12,15,10); INSERT INTO field_tag VALUES (13,116,10); INSERT INTO field_tag VALUES (2,3,100); INSERT INTO field_tag VALUES (2,4,90); INSERT INTO field_tag VALUES (3,1,100); INSERT INTO field_tag VALUES (3,2,90); INSERT INTO field_tag VALUES (4,5,100); INSERT INTO field_tag VALUES (5,6,100); INSERT INTO field_tag VALUES (6,7,30); INSERT INTO field_tag VALUES (6,8,10); INSERT INTO field_tag VALUES (6,9,20); INSERT INTO field_tag VALUES (7,12,100); INSERT INTO field_tag VALUES (7,13,90); INSERT INTO field_tag VALUES (8,10,100); INSERT INTO field_tag VALUES (9,115,100); INSERT INTO field_tag VALUES (14,117,100); INSERT INTO format VALUES (1,'HTML brief','hb', 'HTML brief output format, used for search results pages.', 'text/html'); INSERT INTO format VALUES (2,'HTML detailed','hd', 'HTML detailed output format, used for Detailed record pages.', 'text/html'); INSERT INTO format VALUES (6,'portfolio','hp', 'HTML portfolio-style output format for photos.', 'text/html'); INSERT INTO format VALUES (7,'photo captions only','hc', 'HTML caption-only output format for photos.', 'text/html'); INSERT INTO format VALUES (8,'BibTeX','hx', 'BibTeX.', 'text/html'); INSERT INTO format VALUES (4,'Dublin Core','xd', 'XML Dublin Core.', 'text/xml'); INSERT INTO format VALUES (3,'MARC','hm', 'HTML MARC.', 'text/html'); INSERT INTO format VALUES (5,'MARCXML','xm', 'XML MARC.', 'text/xml'); INSERT INTO format VALUES (9,'EndNote','xe', 'XML EndNote.', 'text/xml'); INSERT INTO format VALUES (10,'NLM','xn', 'XML NLM.', 'text/xml'); INSERT INTO tag VALUES (1,'first author','100__%'); INSERT INTO tag VALUES (2,'additional author','700__%'); INSERT INTO tag VALUES (3,'main title','245__%'); INSERT INTO tag VALUES (4,'additional title','246__%'); INSERT INTO tag VALUES (5,'abstract','520__%'); INSERT INTO tag VALUES (6,'keyword','6531_a'); INSERT INTO tag VALUES (7,'primary report number','037__a'); INSERT INTO tag VALUES (8,'additional report number','088__a'); INSERT INTO tag VALUES (9,'added report number','909C0r'); INSERT INTO tag VALUES (10,'reference','999C5%'); INSERT INTO tag VALUES (11,'collection identifier','980__%'); INSERT INTO tag VALUES (12,'main subject','65017a'); INSERT INTO tag VALUES (13,'additional subject','65027a'); INSERT INTO tag VALUES (14,'division','909C0p'); INSERT INTO tag VALUES (15,'year','909C0y'); INSERT INTO tag VALUES (16,'00x','00%'); INSERT INTO tag VALUES (17,'01x','01%'); INSERT INTO tag VALUES (18,'02x','02%'); INSERT INTO tag VALUES (19,'03x','03%'); INSERT INTO tag VALUES (20,'04x','04%'); INSERT INTO tag VALUES (21,'05x','05%'); INSERT INTO tag VALUES (22,'06x','06%'); INSERT INTO tag VALUES (23,'07x','07%'); INSERT INTO tag VALUES (24,'08x','08%'); INSERT INTO tag VALUES (25,'09x','09%'); INSERT INTO tag VALUES (26,'10x','10%'); INSERT INTO tag VALUES (27,'11x','11%'); INSERT INTO tag VALUES (28,'12x','12%'); INSERT INTO tag VALUES (29,'13x','13%'); INSERT INTO tag VALUES (30,'14x','14%'); INSERT INTO tag VALUES (31,'15x','15%'); INSERT INTO tag VALUES (32,'16x','16%'); INSERT INTO tag VALUES (33,'17x','17%'); INSERT INTO tag VALUES (34,'18x','18%'); INSERT INTO tag VALUES (35,'19x','19%'); INSERT INTO tag VALUES (36,'20x','20%'); INSERT INTO tag VALUES (37,'21x','21%'); INSERT INTO tag VALUES (38,'22x','22%'); INSERT INTO tag VALUES (39,'23x','23%'); INSERT INTO tag VALUES (40,'24x','24%'); INSERT INTO tag VALUES (41,'25x','25%'); INSERT INTO tag VALUES (42,'26x','26%'); INSERT INTO tag VALUES (43,'27x','27%'); INSERT INTO tag VALUES (44,'28x','28%'); INSERT INTO tag VALUES (45,'29x','29%'); INSERT INTO tag VALUES (46,'30x','30%'); INSERT INTO tag VALUES (47,'31x','31%'); INSERT INTO tag VALUES (48,'32x','32%'); INSERT INTO tag VALUES (49,'33x','33%'); INSERT INTO tag VALUES (50,'34x','34%'); INSERT INTO tag VALUES (51,'35x','35%'); INSERT INTO tag VALUES (52,'36x','36%'); INSERT INTO tag VALUES (53,'37x','37%'); INSERT INTO tag VALUES (54,'38x','38%'); INSERT INTO tag VALUES (55,'39x','39%'); INSERT INTO tag VALUES (56,'40x','40%'); INSERT INTO tag VALUES (57,'41x','41%'); INSERT INTO tag VALUES (58,'42x','42%'); INSERT INTO tag VALUES (59,'43x','43%'); INSERT INTO tag VALUES (60,'44x','44%'); INSERT INTO tag VALUES (61,'45x','45%'); INSERT INTO tag VALUES (62,'46x','46%'); INSERT INTO tag VALUES (63,'47x','47%'); INSERT INTO tag VALUES (64,'48x','48%'); INSERT INTO tag VALUES (65,'49x','49%'); INSERT INTO tag VALUES (66,'50x','50%'); INSERT INTO tag VALUES (67,'51x','51%'); INSERT INTO tag VALUES (68,'52x','52%'); INSERT INTO tag VALUES (69,'53x','53%'); INSERT INTO tag VALUES (70,'54x','54%'); INSERT INTO tag VALUES (71,'55x','55%'); INSERT INTO tag VALUES (72,'56x','56%'); INSERT INTO tag VALUES (73,'57x','57%'); INSERT INTO tag VALUES (74,'58x','58%'); INSERT INTO tag VALUES (75,'59x','59%'); INSERT INTO tag VALUES (76,'60x','60%'); INSERT INTO tag VALUES (77,'61x','61%'); INSERT INTO tag VALUES (78,'62x','62%'); INSERT INTO tag VALUES (79,'63x','63%'); INSERT INTO tag VALUES (80,'64x','64%'); INSERT INTO tag VALUES (81,'65x','65%'); INSERT INTO tag VALUES (82,'66x','66%'); INSERT INTO tag VALUES (83,'67x','67%'); INSERT INTO tag VALUES (84,'68x','68%'); INSERT INTO tag VALUES (85,'69x','69%'); INSERT INTO tag VALUES (86,'70x','70%'); INSERT INTO tag VALUES (87,'71x','71%'); INSERT INTO tag VALUES (88,'72x','72%'); INSERT INTO tag VALUES (89,'73x','73%'); INSERT INTO tag VALUES (90,'74x','74%'); INSERT INTO tag VALUES (91,'75x','75%'); INSERT INTO tag VALUES (92,'76x','76%'); INSERT INTO tag VALUES (93,'77x','77%'); INSERT INTO tag VALUES (94,'78x','78%'); INSERT INTO tag VALUES (95,'79x','79%'); INSERT INTO tag VALUES (96,'80x','80%'); INSERT INTO tag VALUES (97,'81x','81%'); INSERT INTO tag VALUES (98,'82x','82%'); INSERT INTO tag VALUES (99,'83x','83%'); INSERT INTO tag VALUES (100,'84x','84%'); INSERT INTO tag VALUES (101,'85x','85%'); INSERT INTO tag VALUES (102,'86x','86%'); INSERT INTO tag VALUES (103,'87x','87%'); INSERT INTO tag VALUES (104,'88x','88%'); INSERT INTO tag VALUES (105,'89x','89%'); INSERT INTO tag VALUES (106,'90x','90%'); INSERT INTO tag VALUES (107,'91x','91%'); INSERT INTO tag VALUES (108,'92x','92%'); INSERT INTO tag VALUES (109,'93x','93%'); INSERT INTO tag VALUES (110,'94x','94%'); INSERT INTO tag VALUES (111,'95x','95%'); INSERT INTO tag VALUES (112,'96x','96%'); INSERT INTO tag VALUES (113,'97x','97%'); INSERT INTO tag VALUES (114,'98x','98%'); INSERT INTO tag VALUES (115,'url','8564_u'); INSERT INTO tag VALUES (116,'experiment','909C0e'); INSERT INTO tag VALUES (117,'record ID','001'); INSERT INTO idxINDEX VALUES (1,'global','This index contains words/phrases from global fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX VALUES (2,'collection','This index contains words/phrases from collection identifiers fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX VALUES (3,'abstract','This index contains words/phrases from abstract fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX VALUES (4,'author','This index contains words/phrases from author fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX VALUES (5,'keyword','This index contains words/phrases from keyword fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX VALUES (6,'reference','This index contains words/phrases from references fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX VALUES (7,'reportnumber','This index contains words/phrases from report numbers fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX VALUES (8,'title','This index contains words/phrases from title fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX VALUES (9,'fulltext','This index contains words/phrases from fulltext fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX VALUES (10,'year','This index contains words/phrases from year fields.','0000-00-00 00:00:00'); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (1,1); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (2,10); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (3,4); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (4,3); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (5,5); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (6,8); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (7,6); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (8,2); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (9,9); INSERT INTO idxINDEX_field (id_idxINDEX, id_field) VALUES (10,12); INSERT INTO flxFORMATS VALUES ('DEFAULT_HTML_BRIEF','\"\" format(\"_DEFAULT_TITLE\") \" \"\r\nif(count($100.a)!=\"0\" || count($700.a)!=\"0\")\r\n{\r\n \" / \" format(\"_DEFAULT_AUTHORS\") \" \"\r\n}\r\nforall($088.a)\r\n{ \" [\" $088.a \"] \" }\r\nforall($037.a)\r\n{ \" [\" $037.a \"] \" }\r\nforall($520.a)\r\n{ \"
\" format(\"_DEFAULT_ABSTRACT_FIRST_SENTENCE\") \"\" }\r\nforall($8564.u)\r\n{ \"
\" format(\"_DEFAULT_URL\") \"\" }','This is the default brief HTML format.','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:8:\"\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:14:\"_DEFAULT_TITLE\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\" / \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:16:\"_DEFAULT_AUTHORS\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:26:\" [\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\"] \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:26:\" [\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\"] \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"520\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:32:\"_DEFAULT_ABSTRACT_FIRST_SENTENCE\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:8:\"\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"_DEFAULT_URL\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:8:\"\";s:4:\"sons\";a:0:{}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_DEFAULT_AUTHORS',' if(gt(sum( count($700.a), count($100.a) ),\"4\")!=\"\") \r\n{ \r\n if(count($100.a)!=\"0\") \r\n { \r\n link(\"author_search\", $100.a)\r\n {\r\n \"\" $100.a \"\"\r\n if($100.e!=\"\") { \" (\" $100.e \")\" }\r\n \" et al \" \r\n } \r\n } \r\n else \r\n { \r\n if(count($700.a)!=\"0\") \r\n { \r\n link(\"author_search\", $700.a)\r\n { \r\n \"\" $700.a \"\"\r\n if($700.e!=\"\") { \" (\" $700.e \")\" }\r\n \" et al.\" \r\n } \r\n } \r\n } \r\n} \r\nelse \r\n{ \r\n forall($100) \r\n { \r\n if($100.a!=\"\") \r\n { \r\n link(\"author_search\", $100.a){\"\" $100.a \"\" } \r\n separator(\"; \") \r\n } \r\n } \r\n if(count($100.a)!=\"0\") \r\n { \r\n if(count($700.a)!=\"0\") \r\n { \"; \" } \r\n } \r\n forall($700) \r\n { \r\n if($700.a!=\"\") \r\n { \r\n link(\"author_search\", $700.a){\"\" $700.a \"\" } \r\n separator(\"; \") \r\n } \r\n } \r\n} ','This is the default subformat to format author lists.','O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:2:\"GT\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:3:\"SUM\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"4\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"author_search\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" (\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\")\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:17:\" et al \";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"author_search\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" (\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\")\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\" et al.\";s:4:\"sons\";a:0:{}}}}}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"author_search\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"SEPARATOR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"; \";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"; \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"author_search\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"SEPARATOR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"; \";s:4:\"sons\";a:0:{}}}}}}}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_DEFAULT_TITLE','$245.a \r\nif($245.b!=\"\"){ \" : \" $245.b } \r\nif($250.a!=\"\"){ \" ; \" $250.a } ','HTML for displaying the title in brief formats','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\" : \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"250\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\" ; \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"250\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_DEFAULT_ABSTRACT_FIRST_SENTENCE','limw_l($520.a, \".\") \". [...]\"','This is the default subformat to yield the first sentence of the abstract.','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:6:\"LIMW_L\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"520\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\".\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\". [...]\";s:4:\"sons\";a:0:{}}}}'); INSERT INTO flxFORMATS VALUES ('DEFAULT_HTML_DETAILED','format(\"_full_topbanner\") \r\nformat(\"_full_title\") \r\n\"

\" \r\nformat(\"_full_author\")\r\nformat(\"_full_affiliation\")\r\nformat(\"_full_datedoc\") \"
\"\r\nformat(\"_full_imprint\")\r\n\"
\"\r\n\r\n\"

\"\r\n\r\nformat(\"_full_abstract\")\r\nformat(\"_full_daterec\")\r\n\r\nformat(\"_full_keyword\")\r\n\r\nformat(\"_full_note\") \r\nformat(\"_full_publiinfo\")\r\n\"
\"\r\nformat(\"_full_url\")\r\nformat(\"_full_citedby\")\r\n\"

\" \r\nformat(\"_full_references\")\r\n','This is the default HTML detailed format.','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"_full_topbanner\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"_full_title\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"

\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"_full_author\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:17:\"_full_affiliation\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"_full_datedoc\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"_full_imprint\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:40:\"

\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:14:\"_full_abstract\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"_full_daterec\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"_full_keyword\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\"_full_note\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"_full_publiinfo\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"_full_url\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"_full_citedby\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"

\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:16:\"_full_references\";s:4:\"sons\";a:0:{}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_ABSTRACT','if($520.a!=\"\"||$520.b!=\"\"){\r\n \"\r\n Abstract: \"\r\n $520.a\"
\"$520.b\" \"\r\n \"

\r\n \"\r\n} \r\nif($590.a!=\"\"||$590.b!=\"\"){\r\n \"\r\n Texte: \"\r\n $590.a\"
\"$590.b\r\n \"

\r\n \"\r\n} ','HTML Abstract display','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"520\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"520\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:37:\"\r\n Abstract: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"520\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"520\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"

\r\n \";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"590\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"590\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:34:\"\r\n Texte: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"590\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"590\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"

\r\n \";s:4:\"sons\";a:0:{}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_TITLE','if($245.a!=\"\"){\r\n \"

\"\r\n $245.a\r\n if($245.b!=\"\"){ \": \" $245.b }\r\n \"
\"\r\n}\r\n\r\nif($0248.a!=\"\"){\r\n \"
\"\r\n $0248.a\r\n \"
\"\r\n}\r\n\r\nif($246.a!=\"\"){\r\n \"
\"\r\n $246.a\r\n \"
\"\r\n}\r\n\r\nif($246_1.a!=\"\"){\r\n \"
\"\r\n $246_1.a\r\n \"
\"\r\n}\r\n\r\nif($210.a!=\"\"){\r\n \"(\"\r\n $210.a\r\n \") \"\r\n}\r\n','HTML Title display ','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:26:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\": \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:30:\"
\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"0248\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:30:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"0248\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:30:\"
\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"246\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:30:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"246\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:30:\"
\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"246_1\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:33:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"246_1\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:34:\"
\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"210\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:8:\"(\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"210\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\") \";s:4:\"sons\";a:0:{}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('PICTURE_HTML_DETAILED','format(\"_full_topbanner\")\r\nformat(\"_full_title\")\r\n\r\nformat(\"_full_note\")\r\nif($260.c!=\"\"){\"
\" $260.c \"
\"}\r\nformat(\"_full_contact\")\r\nif($100.a!=\"\"){\r\n \"
Photographer: \"\r\n format(\"_full_author\")\r\n \"
\"\r\n}\r\n\r\n\"
\"\r\n\r\nformat(\"_full_keyword\")\r\n\r\n\r\n\r\n\"\r\n\r\n\"\r\n\r\n\"\" \r\n\r\n\"\r\n\r\n\r\n\r\n\r\n
\" \r\nif($909CP.s!=\"\"){\"
Original ref.: \"$909CP.s\" \"}\r\nif($909CP.t!=\"\"){\"
Available pictures: \"$909CP.t\" \"}\r\n\r\nif ($520.a!=\"\"){\r\n \"

\r\n Caption
\" \r\n \"\" \r\n $520.a\r\n \"

\"\r\n}\r\nif ($590.a!=\"\"){\r\n \"

\r\n Légende
\" \r\n \"\" \r\n $590.a\r\n \"

\"\r\n}\r\n\r\nif ($909C4!=\"\"){\r\n \"

See also:
\" \r\n}\r\nforall ($909C4){\r\n \"\" $909C4.p \"
\"\r\n}\r\n\r\n\"
\" \r\nformat(\"_full_photo_resources\")\r\n\"
\r\n © CERN Geneva: \r\nThe use of photos requires prior authorization (from CERN copyright). \r\nThe words CERN Photo must be quoted for each use. \r\n
\r\n

\"','The detailed HTML format suitable for displaying pictures.','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"_full_topbanner\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"_full_title\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\"_full_note\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:8:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"
\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"_full_contact\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:29:\"
Photographer: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"_full_author\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:17:\"
\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"_full_keyword\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:46:\"\r\n\r\n\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:17:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:310:\"\r\n\r\n\r\n\r\n\r\n
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CP\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"S\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:37:\"
Original ref.: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CP\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"S\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CP\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"T\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:41:\"
Available pictures: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CP\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"T\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"520\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:67:\"

\r\n Caption
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"520\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"

\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"590\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:68:\"

\r\n Légende
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"590\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"

\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:64:\"

See also:
\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:16:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:16:\"
\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:21:\"_full_photo_resources\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"
\r\n © CERN Geneva: \r\nThe use of photos requires prior authorization (from CERN copyright). \r\nThe words CERN Photo must be quoted for each use. \r\n
\r\n

\";s:4:\"sons\";a:0:{}}}}'); INSERT INTO `flxFORMATS` VALUES ('PICTURE_HTML_BRIEF',' \"
\r\n \r\n \r\n \r\n
\"\r\n\"\" format(\"_DEFAULT_TITLE\") \"\"\r\nforall($246_1.a)\r\n{ \"
\" $246_1.a\" \" } \r\nforall($260.c)\r\n{ \"
\" $260.c }\r\nforall($520.a) {\r\n rep_prefix(\"

Abstract: \")\r\n format(\"_DEFAULT_ABSTRACT_FIRST_SENTENCE\")\r\n \"

\"\r\n}\r\nforall($6531.a)\r\n{ \r\n rep_prefix(\"
Keyword: \") \r\n link(\"KEYWORD_SEARCH\", $6531.a)\r\n { \"\" $6531.a \"\" } separator(\", \")\r\n}\r\nforall($037.a)\r\n{\"
Picture number: \" $037.a }\r\nforall($909CP.t)\r\n{ rep_prefix(\"
Available picture(s):\") xml_text($909CP.t) }\r\n\r\n\"

\"\r\nforall($8564)\r\n{ if(($8564.x=\"icon\")&&($8564.u=\"\"))\r\n { \"

\" }\r\n}\r\n\r\n\"
© CERN Geneva\" \r\n\"
\" link(\"EXT\", $8564.u, $8564.z){ $link }\r\n\"

\"','The brief HTML format suitable for displaying pictures.','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:69:\"
\r\n \r\n \r\n \r\n
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:14:\"_DEFAULT_TITLE\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:5:\"246_1\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"246_1\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\" \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"520\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"REP_PREFIX\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:20:\"

Abstract: \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:32:\"_DEFAULT_ABSTRACT_FIRST_SENTENCE\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"

\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:4:\"6531\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"REP_PREFIX\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:21:\"
Keyword: \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:14:\"KEYWORD_SEARCH\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"6531\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"6531\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"SEPARATOR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\", \";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:27:\"
Picture number: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:5:\"909CP\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"T\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"REP_PREFIX\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:32:\"
Available picture(s):\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"XML_TEXT\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CP\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"T\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:38:\"

\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:6;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"X\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"icon\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:20:\"

\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:56:\"
© CERN Geneva\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"EXT\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Z\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"LINK\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:29:\"

\";s:4:\"sons\";a:0:{}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_AUTHOR','if($700.a!=\"\"||$100.a!=\"\"||$270.p!=\"\"){\r\n\r\n forall($100){\r\n LINK(\"AUTHOR_SEARCH\",$100.a){\r\n \"\"$100.a\" \"\r\n if ($100.e!=\"\"){\" (\"$100.e\")\"}\r\n separator(\"; \")\r\n }\r\n }\r\n if(count($100.a)!=\"0\") \r\n { \r\n if(count($700.a)!=\"0\") \r\n { \"; \" } \r\n } \r\n forall($700){\r\n LINK(\"AUTHOR_SEARCH\",$700.a){\r\n \" \"$700.a\" \"\r\n if ($700.e!=\"\"){\" (\"$700.e\")\"}\r\n separator(\"; \")\r\n }\r\n } \r\n \r\n forall($270){\r\n LINK(\"AUTHOR_SEARCH\",$270.p){\r\n \" \"$270.p\" \"\r\n if ($270.g!=\"\"){\r\n \" (\"\r\n $270.g\r\n \")\"\r\n }\r\n separator(\"; \")\r\n }\r\n }\r\n \r\n} ','HTML linked author display','O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"270\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"AUTHOR_SEARCH\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" (\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\")\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"SEPARATOR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"; \";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:17;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"; \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"AUTHOR_SEARCH\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" (\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\")\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"SEPARATOR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"; \";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"270\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"AUTHOR_SEARCH\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"270\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"270\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"270\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"G\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" (\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"270\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"G\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\")\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"SEPARATOR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"; \";s:4:\"sons\";a:0:{}}}}}}}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_AFFILIATION','if($909C1.u!=\"\"){\r\n \"
\"\r\n forall($909C1){\r\n $909C1.u\" \"\r\n }\r\n} \r\n','HTML Affiliation display','O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C1\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:5:\"909C1\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C1\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\" \";s:4:\"sons\";a:0:{}}}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_DATEDOC','if($260.c!=\"\"){\r\n \"
\"\r\n $260.c\" \r\n \"\r\n} \r\n','HTML Imprint date','O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\" \r\n \";s:4:\"sons\";a:0:{}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_IMPRINT','if($260.b!=\"\"){\r\n if($260.b!=\"sine nomine\"){\r\n \"\"\r\n $260.b\r\n if($260.a!=\"\"){\r\n if($260.a!=\"sine loco\"){\": \"$260.a}\r\n }\r\n \" \"\r\n }\r\n}\r\n','HTML Imprint display (not the date)','O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"sine nomine\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"sine loco\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\": \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\" \";s:4:\"sons\";a:0:{}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_DATEREC','if($909C1.c!=\"\"){\r\n \"
Arrived: \"\r\n $909C1.c\" \"\r\n}\r\n','',NULL); INSERT INTO flxFORMATS VALUES ('_FULL_KEYWORD','forall($6531.a){\r\n REP_PREFIX(\"
Keyword(s): \")\r\n \"\"\r\n LINK(\"KEYWORD_SEARCH\",$6531.a){ \r\n \"\"$6531.a\" \"\r\n separator(\";\")\r\n }\r\n \"\r\n \"\r\n} \r\n','HTML keyword display with search link','O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:4:\"6531\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"REP_PREFIX\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:48:\"
Keyword(s): \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:14:\"KEYWORD_SEARCH\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"6531\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"6531\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"SEPARATOR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\";\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"\r\n \";s:4:\"sons\";a:0:{}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_NOTE','if($594.p!=\"\"){\r\n \"
Note: \"\r\n xml_text($594.p)\" \"\r\n}\r\nif($500.a!=\"\"){\r\n \"
Note: \"\r\n forall($500){xml_text($500.a)\"; \"}\r\n \"\"\r\n} \r\nif($502.a!=\"\"||$909CC.r!=\"\"||$909CP.n!=\"\"||$711.a!=\"\"){\r\n \"
Note: \"\r\n $502.a\" \"\r\n $909CC.r\" \"\r\n $909CC.d\" \"\r\n $909CP.n\" \"\r\n $711.a \" \"\r\n} \r\nif($596.a!=\"\"){\r\n \"
Notes: \"\r\n $596.a \" \"\r\n} \r\n\r\n','HTML note display (various note fields)','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"594\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:34:\"
Note: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"XML_TEXT\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"594\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\" \";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"500\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:34:\"
Note: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"500\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"XML_TEXT\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"500\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"; \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:8:\"\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"502\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CC\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"R\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CP\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"711\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:34:\"
Note: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"502\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CC\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"R\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CC\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"D\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909CP\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"711\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\" \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"596\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:35:\"
Notes: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"596\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\" \";s:4:\"sons\";a:0:{}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_PUBLIINFO','if($909C4.p!=\"\"){ \r\n \"

Published in: \"\r\n if (KB($909C4.p,\"ejournals\")!=\"\") {\r\n if ($909C4.v!=\"\") { \r\n \"\"$909C4.p\": \"\r\n $909C4.v \" (\"$909C4.y\") \"$909C4.c \r\n \" \" \r\n } else {\r\n $909C4.p\": \"\r\n if($909C4.y!=\"\"){\" (\"$909C4.y\") \"}\r\n if($909C4.n!=\"\"){\"no. \"$909C4.n\", \"}\r\n if($909C4.c!=\"\"){\"pp.\"$909C4.c }\r\n }\r\n } else {\r\n $909C4.p \": \"\r\n if($909C4.v!=\"\"){ $909C4.v }\r\n if($909C4.y!=\"\"){\" (\"$909C4.y\") \"}\r\n if($909C4.n!=\"\"){\"no. \"$909C4.n\", \"}\r\n if($909C4.c!=\"\"){\"pp.\"$909C4.c } \r\n }\r\n}\r\n','HTML publication information display possibly with link to ejournal','O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:39:\"

Published in: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"ejournals\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:61:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\": \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" (\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\") \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\": \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" (\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\") \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"no. \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\", \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"pp.\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\": \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" (\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\") \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"no. \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\", \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"pp.\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}}}}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_YEAR','if ($909C0.y!=\"\"){\"
Year: \"\r\n $909C0.y\r\n}','HTML Year display','O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C0\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:27:\"
Year: \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C0\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_TOPBANNER','\" \r\n\" \r\nforall($088){\"\"} \r\nif($037.a!=\"\"){\"\"} \r\n\"
\"KB($980.a,\"dbcollid2coll\")\" \"\r\nif($65017.a!=\"XX\"){\r\n \" / \" $65017.a\r\n}\r\n\" \"$65027.a\r\n\"\"$088.a\" \"$037.a\"

\" ','HTML top page banner containing category, rep. number, etc','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:74:\" \r\n\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:19:\"\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:26:\"\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:17:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"dbcollid2coll\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"65017\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"XX\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\" / \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"65017\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"65027\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:23:\" \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:14:\"

\";s:4:\"sons\";a:0:{}}}}'); INSERT INTO flxFORMATS VALUES ('_DEFAULT_URL','\"\" $8564.u \"\"','This is the default format for formatting URLs.','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_URL','forall($8564)\r\n{\r\n\"
\" $8564.z \" : \" $8564.u \"\"\r\n}','HTML URL display','O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Z\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:29:\" : \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"\";s:4:\"sons\";a:0:{}}}}}}'); INSERT INTO flxFORMATS VALUES ('DEFAULT_HTML_CAPTIONS','format(\"_default_title\")','HTML \"captions only\" format','O:7:\"aelnode\":3:{s:3:\"cat\";i:13;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:14:\"_default_title\";s:4:\"sons\";a:0:{}}}}'); INSERT INTO `flxFORMATS` VALUES ('DEFAULT_HTML_PORTFOLIO','forall($8564)\r\n{ if(($8564.x=\"icon\")&&($8564.u=\"\"))\r\n { \"

\" }\r\n} ','HTML \"portfolio\" format','O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:6;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"X\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"icon\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:20:\"

\";s:4:\"sons\";a:0:{}}}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_PHOTO_RESOURCES','\"
Resources
\"\r\n\r\nforall($8564)\r\n{ \r\n if(($8564.x=\"icon\")&&($8564.u=\"\")) { \r\n \"

\" \r\n }\r\n if($8564.x=\"1\") {\r\n \"
High resolution: \" $8564.q \"\"\r\n }\r\n \r\n}\r\n\r\n\"
© CERN Geneva\" \r\n\"
\" link(\"EXT\", $8564.u, $8564.z){ $link } \r\n','Prints image and link to photo resources.','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:60:\"
Resources
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:6;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"X\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"icon\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"

\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"X\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"1\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:42:\"
High resolution: \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Q\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:47:\"
© CERN Geneva\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:14;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"EXT\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:15;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"U\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"8564\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Z\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:4:\"LINK\";s:4:\"sons\";a:0:{}}}}}}'); INSERT INTO `flxFORMATS` VALUES ('_FULL_CITEDBY','if($037.a!=\"\" || $088.a!=\"\") {\r\n \"

Cited by: try citation search for \"\r\n forall($037.a) {\r\n \"\" $037.a \"\"\r\n separator(\";\")\r\n }\r\n if($037.a!=\"\" && $088.a!=\"\") {\r\n \" ; \"\r\n }\r\n forall($088.a) {\r\n \"\" $088.a \"\"\r\n separator(\";\")\r\n }\r\n}','HTML \"cited by\" link creation, based on report numbers.','O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:59:\"

Cited by: try citation search for \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:33:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"SEPARATOR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\";\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:6;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\" ; \";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:33:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"SEPARATOR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\";\";s:4:\"sons\";a:0:{}}}}}}}}}}}}'); INSERT INTO `flxFORMATS` VALUES ('_FULL_REFERENCES','if ($999C5!=\"\") {\r\n\"

\"\r\n\"References:\"\r\n\"
    \" \r\nforall($999C5){ \r\n\r\nif($999C5.o!=\"\")\r\n {\"
  • \"$999C5.o \" \"} \r\n\r\nif ($999C5.m!=\"\")\r\n {\" \" $999C5.m \" \"}\r\n\r\nif ($999C5.r!=\"\")\r\n {\" [\"$999C5.r\"]
    \"} \r\n\r\nif ($999C5.t!=\"\")\r\n {if (KB($999C5.t,\"ejournals\")!=\"\")\r\n { \r\n \" \"$999C5.t\": \"$999C5.v\" (\"$999C5.y\") \"$999C5.p \r\n \"
    \"\r\n } \r\n else\r\n {\" \" $999C5.t\" \"$999C5.v\" \"$999C5.y\" \"$999C5.p \"
    \"\r\n }\r\n }\r\n\r\n} \r\n\"
\"\r\n\r\n\"

Warning: references are automatically extracted and standardized from the PDF document and may therefore contain errors. If you think they are incorrect or incomplete, look at the fulltext document itself.
\"\r\n\"

\"\r\n}','HTML references','O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:28:\"References:\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"
    \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"O\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:12:\"
  • \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"O\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\" \";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"M\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\" \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"M\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\" \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"R\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:46:\" [\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"R\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:20:\"]
    \";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"T\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"ejournals\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"T\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:70:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"T\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\": \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\" (\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\") \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:18:\"
    \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\" \";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"T\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\" \";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"999C5\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:14:\"
    \";s:4:\"sons\";a:0:{}}}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:241:\"

Warning: references are automatically extracted and standardized from the PDF document and may therefore contain errors. If you think they are incorrect or incomplete, look at the fulltext document itself.
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"

\";s:4:\"sons\";a:0:{}}}}}}'); INSERT INTO flxFORMATS VALUES ('_FULL_BIBTEX','\"
\"\r\n\"@\" \r\n\r\nif (kb($980.a, \"DBCOLLID2BIBTEX\") = \"\"){\r\n    \"article\"\r\n}else{\r\n    kb($980.a, \"DBCOLLID2BIBTEX\")\r\n}\r\n\r\n\"{\"\r\n\r\nif($100.a != \"\"){\r\n    GET_NAME($100.a) \":\" $001 \",
\"\r\n}else{\r\n if($700.a != \"\"){\r\n GET_NAME($700.a) \":\" $001 \",
\"\r\n }else{\r\n if($037.a != \"\"){\r\n $037.a \",
\"\r\n }else{\r\n if($088.a != \"\"){\r\n $088.a \",
\"\r\n }else{\r\n if($245.a != \"\"){\r\n GET_NAME($245.a) \":\" $001 \",
\"\r\n }else{\r\n $001 \",
\"\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"article\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"book\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"inproceedings\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"misc\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"phdthesis\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"techreport\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"unpublished\"){\r\n if ($100.a != \"\" || $700.a != \"\" || $110.b != \"\" || $110.a != \"\" || $710.a != \"\"){\r\n STR_BUFFER(\"add\",\" author = \\\"\", \"0\", \"0\")\r\n\r\n if($100.a != \"\"){\r\n STR_BUFFER(\"add\", $100.a \" and \", \"0\", \"0\")\r\n }\r\n\r\n forall($700.a){\r\n if ($700.e != \"ed.\"){\r\n STR_BUFFER(\"add\", $700.a \" and \", \"0\", \"0\")\r\n }\r\n }\r\n\r\n forall($110.b){\r\n STR_BUFFER(\"add\", $110.b \" and \", \"0\", \"0\")\r\n }\r\n\r\n forall($110.a){\r\n STR_BUFFER(\"add\", $110.a \" and \", \"0\", \"0\")\r\n }\r\n\r\n forall($710.a){\r\n STR_BUFFER(\"add\", $710.a \" and \", \"0\", \"0\")\r\n }\r\n\r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"5\", \"22\"), \"72\", \"22\")\r\n }else{\r\n SPLIT_LINE(\" key = \\\"\" $001 \"\\\",
\", \"72\", \"22\")\r\n }\r\n}\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"inproceedings\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"proceedings\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"phdthesis\"){\r\n if ($700.a != \"\"){\r\n STR_BUFFER(\"add\", \" editor = \\\"\", \"0\", \"0\")\r\n\r\n forall($700){\r\n if ($700.e = \"ed.\"){\r\n STR_BUFFER(\"add\", $700.a \" and \", \"0\", \"0\")\r\n }\r\n }\r\n \r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"5\", \"22\"), \"72\", \"22\")\r\n }\r\n}\r\n\r\n\r\nif ($245.a != \"\" || $245.b != \"\" || $246.a != \"\" || $246_1.a != \"\"){\r\n\r\n STR_BUFFER(\"add\", \" title = \\\"\", \"0\", \"0\")\r\n\r\n if($245.a != \"\"){\r\n STR_BUFFER(\"add\", $245.a \". \", \"0\", \"0\")\r\n }\r\n\r\n if($245.b != \"\"){\r\n STR_BUFFER(\"add\", $245.b \". \", \"0\", \"0\")\r\n }\r\n\r\n if($246.a != \"\"){\r\n STR_BUFFER(\"add\", $246.a \". \", \"0\", \"0\")\r\n }\r\n\r\n if($246_1.a != \"\"){\r\n STR_BUFFER(\"add\", $246_1.a \". \", \"0\", \"0\")\r\n }\r\n\r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"2\", \"22\"), \"72\", \"22\")\r\n}\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"techreport\"){\r\n if ($269.b != \"\"){\r\n SPLIT_LINE(\" institution = \\\"\" $269.b \"\\\",
\", \"72\", \"22\")\r\n }\r\n}\r\n\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"inproceedings\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"proceedings\"){\r\n if ($260.b != \"\" || $269.b != \"\"){\r\n\r\n STR_BUFFER(\"add\", \" organization = \\\"\", \"0\", \"0\")\r\n\r\n if($260.b != \"\"){\r\n STR_BUFFER(\"add\", $260.b \". \", \"0\", \"0\")\r\n }\r\n\r\n if($269.b != \"\"){\r\n STR_BUFFER(\"add\", $269.b \". \", \"0\", \"0\")\r\n }\r\n\r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"2\", \"22\"), \"72\", \"22\")\r\n }\r\n}\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"book\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"inproceedings\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"proceedings\"){\r\n if ($260.b != \"\" || $269.b != \"\" || $933.b != \"\" || $934.b != \"\"){\r\n\r\n STR_BUFFER(\"add\", \" publisher = \\\"\", \"0\", \"0\")\r\n\r\n if($260.b != \"\"){\r\n STR_BUFFER(\"add\", $260.b \". \", \"0\", \"0\")\r\n }\r\n\r\n if($269.b != \"\"){\r\n STR_BUFFER(\"add\", $269.b \". \", \"0\", \"0\")\r\n }\r\n\r\n if($933.b != \"\"){\r\n STR_BUFFER(\"add\", $933.b \". \", \"0\", \"0\")\r\n }\r\n\r\n if($934.b != \"\"){\r\n STR_BUFFER(\"add\", $934.b \". \", \"0\", \"0\")\r\n }\r\n\r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"2\", \"22\"), \"72\", \"22\")\r\n }\r\n}\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"article\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"\"){\r\n if ($773.p != \"\" || $909C4.p != \"\"){\r\n STR_BUFFER(\"add\", \" journal = \\\"\", \"0\", \"0\")\r\n\r\n if($909C4.p != \"\"){\r\n STR_BUFFER(\"add\", $909C4.p \". \", \"0\", \"0\")\r\n }\r\n\r\n if($773.p != \"\"){\r\n STR_BUFFER(\"add\", $773.p \". \", \"0\", \"0\")\r\n }\r\n\r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"2\", \"22\"), \"72\", \"22\")\r\n\r\n }\r\n}\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"phdthesis\"){\r\n if ($502.b != \"\"){\r\n SPLIT_LINE(\" school = \\\"\" $502.b \"\\\",
\", \"72\", \"22\")\r\n }\r\n}\r\n\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"book\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"inproceedings\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"proceedings\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"phdthesis\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"techreport\"){\r\n if ($260.a != \"\" || $269.a != \"\" || $933.a != \"\" || $934.a != \"\"){\r\n STR_BUFFER(\"add\", \" address = \\\"\", \"0\", \"0\")\r\n\r\n if($260.a != \"\"){\r\n STR_BUFFER(\"add\", $260.a \". \", \"0\", \"0\")\r\n }\r\n\r\n forall($269.a){\r\n STR_BUFFER(\"add\", $269.a \". \", \"0\", \"0\")\r\n }\r\n\r\n forall($933.a){\r\n STR_BUFFER(\"add\", $933.a \". \", \"0\", \"0\")\r\n }\r\n\r\n forall($934.a){\r\n STR_BUFFER(\"add\", $934.a \". \", \"0\", \"0\")\r\n }\r\n\r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"2\", \"22\"), \"72\", \"22\")\r\n }\r\n}\r\n\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"article\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"techreport\"){\r\n if ($037.a != \"\" || $088.a != \"\" || $773.n != \"\" || $909C4.n){\r\n\r\n STR_BUFFER(\"add\", \" number = \\\"\", \"0\", \"0\")\r\n\r\n if($037.a != \"\"){\r\n STR_BUFFER(\"add\", $037.a \". \", \"0\", \"0\")\r\n }\r\n\r\n forall($088.a) {\r\n if($088.a != \"\"){\r\n STR_BUFFER(\"add\", $088.a \". \", \"0\", \"0\")\r\n }\r\n }\r\n\r\n if($773.n != \"\"){\r\n STR_BUFFER(\"add\", $773.n \". \", \"0\", \"0\")\r\n }\r\n\r\n if($909C4.n != \"\"){\r\n STR_BUFFER(\"add\", $909C4.n \". \", \"0\", \"0\")\r\n }\r\n\r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"2\", \"22\"), \"72\", \"22\")\r\n }\r\n}\r\n\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"article\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"book\"){\r\n if ($773.v != \"\" || $909C4.v != \"\"){\r\n\r\n STR_BUFFER(\"add\",\" volume = \\\"\", \"0\", \"0\")\r\n\r\n if($909C4.v != \"\"){\r\n STR_BUFFER(\"add\", $909C4.v \". \", \"0\", \"0\")\r\n }\r\n\r\n if($773.v != \"\"){\r\n STR_BUFFER(\"add\", $773.v \". \", \"0\", \"0\")\r\n }\r\n\r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"2\", \"22\"), \"72\", \"22\")\r\n }\r\n}\r\n\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"book\"){\r\n if ($490.a != \"\"){\r\n SPLIT_LINE(\" series = \\\"\" $490.a \"\\\",
\", \"72\", \"22\")\r\n }\r\n}\r\n\r\n\r\nif (KB($980.a, \"DBCOLLID2BIBTEX\") = \"article\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"\" || KB($980.a, \"DBCOLLID2BIBTEX\") = \"inproceedings\"){\r\n if ($773.c != \"\" || $909C4.c != \"\" || $300.a != \"\"){\r\n\r\n STR_BUFFER(\"add\", \" pages = \\\"\", \"0\", \"0\")\r\n\r\n if($773.c != \"\"){\r\n STR_BUFFER(\"add\", $773.c \". \", \"0\", \"0\")\r\n }\r\n\r\n if($909C4.c != \"\"){\r\n STR_BUFFER(\"add\", $909C4.c \". \", \"0\", \"0\")\r\n }\r\n\r\n if($300.a != \"\"){\r\n STR_BUFFER(\"add\", $300.a \". \", \"0\", \"0\")\r\n }\r\n\r\n SPLIT_LINE(STR_BUFFER(\"print\", \"\\\",
\", \"2\", \"22\"), \"72\", \"22\")\r\n }\r\n}\r\n\r\n\r\n\r\nSTR_BUFFER(\"add\", \" month = \\\"\", \"0\", \"0\")\r\nif($269.c != \"\"){\r\n STR_BUFFER(\"add\", GET_MONTH($269.c), \"0\", \"0\")\r\n}else{\r\n if($260.c != \"\"){\r\n STR_BUFFER(\"add\", GET_MONTH($260.c), \"0\", \"0\")\r\n }else{\r\n if($502.c != \"\"){\r\n STR_BUFFER(\"add\", GET_MONTH($502.c), \"0\", \"0\")\r\n }\r\n }\r\n}\r\nSTR_BUFFER(\"print\", \"\\\",
\", \"0\", \"22\")\r\n\r\n\r\nSTR_BUFFER(\"add\", \" year = \\\"\", \"0\", \"0\")\r\nif($269.c != \"\"){\r\n STR_BUFFER(\"add\", GET_YEAR($269.c), \"0\", \"0\")\r\n}else{\r\n if($260.c != \"\"){\r\n STR_BUFFER(\"add\", GET_YEAR($260.c), \"0\", \"0\")\r\n }else{\r\n if($502.c != \"\"){\r\n STR_BUFFER(\"add\", GET_YEAR($502.c), \"0\", \"0\")\r\n }else{\r\n if($909C0.y != \"\"){\r\n STR_BUFFER(\"add\", GET_YEAR($909C0.y), \"0\", \"0\") \r\n }\r\n }\r\n }\r\n}\r\nSTR_BUFFER(\"print\", \"\\\",
\", \"0\", \"22\")\r\n\r\n\r\n\r\nif ($500.a != \"\"){\r\n SPLIT_LINE(\" note = \\\"\" $500.a \"\\\",
\", \"72\", \"22\")\r\n}\r\n\r\n\"}\"\r\n\"
\"','Creates BibTeX format for a record.','O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"
\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"@\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"article\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"{\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"GET_NAME\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\":\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"001\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\",
\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"GET_NAME\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\":\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"001\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\",
\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\",
\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\",
\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"GET_NAME\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\":\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"001\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\",
\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"001\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\",
\";s:4:\"sons\";a:0:{}}}}}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"article\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"book\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"inproceedings\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"misc\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"phdthesis\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\"techreport\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"unpublished\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"110\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"110\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"710\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" author = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"100\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" and \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"ed.\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" and \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"110\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"110\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" and \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"110\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"110\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" and \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"710\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"710\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" and \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"5\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" key = \"\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"001\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"inproceedings\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"proceedings\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"phdthesis\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" editor = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:3:{i:0;N;i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"E\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"ed.\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"700\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\" and \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"5\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"246\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"246_1\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" title = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"245\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"246\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"246\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"246_1\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"246_1\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"2\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\"techreport\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" institution = \"\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"inproceedings\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"proceedings\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" organization = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"2\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"book\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"inproceedings\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"proceedings\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"933\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"934\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" publisher = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"933\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"933\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"934\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"934\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"2\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"article\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" journal = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"P\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"2\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"phdthesis\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"502\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" school = \"\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"502\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"B\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"book\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"inproceedings\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:11:\"proceedings\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:9:\"phdthesis\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\"techreport\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"933\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"934\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" address = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"933\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"933\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"934\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"934\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"2\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"article\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:10:\"techreport\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" number = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"037\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:3;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}i:1;N;i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"088\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"N\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"2\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"article\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"book\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" volume = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"V\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"2\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:4:\"book\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"490\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" series = \"\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"490\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:7:\"article\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:7;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:16;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:15:\"DBCOLLID2BIBTEX\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"980\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:13:\"inproceedings\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:5;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"300\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" pages = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"773\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C4\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"300\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"300\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\". \";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"2\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" month = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"GET_MONTH\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"GET_MONTH\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"502\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:9:\"GET_MONTH\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"502\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" year = \"\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"GET_YEAR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"269\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"GET_YEAR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"260\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"502\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"GET_YEAR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"502\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"C\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C0\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:3:\"add\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:8:\"GET_YEAR\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:5:\"909C0\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"Y\";s:4:\"sons\";a:0:{}}}}}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}}}}}}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"STR_BUFFER\";s:4:\"sons\";a:4:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:5:\"print\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"0\";s:4:\"sons\";a:0:{}}i:3;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:4;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:8;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"500\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:2;s:3:\"lex\";s:10:\"SPLIT_LINE\";s:4:\"sons\";a:3:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:11;s:3:\"lex\";s:0:\"\";s:4:\"sons\";a:2:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:22:\" note = \"\";s:4:\"sons\";a:0:{}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:0;s:3:\"lex\";s:3:\"500\";s:4:\"sons\";a:1:{i:0;O:7:\"aelnode\":3:{s:3:\"cat\";i:12;s:3:\"lex\";s:1:\"A\";s:4:\"sons\";a:0:{}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"\",
\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"72\";s:4:\"sons\";a:0:{}}i:2;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:2:\"22\";s:4:\"sons\";a:0:{}}}}}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:1:\"}\";s:4:\"sons\";a:0:{}}}}i:1;O:7:\"aelnode\":3:{s:3:\"cat\";i:1;s:3:\"lex\";s:6:\"
\";s:4:\"sons\";a:0:{}}}}'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CD','909','C','D','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','520','520','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','590','590','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909C0','909','C','0','N','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','110','110','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','583','583','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','270','270','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909C1','909','C','1','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CL','909','C','L','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','700','700','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','100','100','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','506','506','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CE','909','C','E','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CI','909','C','I','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','710','710','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','030','030','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CZ','909','C','Z','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CA','909','C','A','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','111','111','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','711','711','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','524','524','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909C4','909','C','4','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CP','909','C','P','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CM','909','C','M','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','8560','856','0','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','037','037','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','8564','856','4','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','866','866','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','260','260','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','300','300','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','690C','690','C','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','020','020','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','022','022','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','654','654','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','6531','653','1','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','6532','653','2','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CK','909','C','K','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','041','041','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','852','852','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','340','340','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','600','600','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','595','595','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','500','500','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','502','502','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CC','909','C','C','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','596','596','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','591','591','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CO','909','C','O','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','594','594','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','856','856','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','598','598','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CR','909','C','R','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CH','909','C','H','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CF','909','C','F','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','088','088','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','246','246','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','770','770','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','772','772','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','780','780','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','785','785','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','787','787','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','541','541','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','0248','024','8','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','490','490','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','65017','650','1','7','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','65027','650','2','7','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909CS','909','C','S','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','044','044','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','310','310','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','909C2','909','C','2','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','655','655','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','245','245','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','250','250','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','130','130','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','246_1','246','','1','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','246_3','246','','3','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','210','210','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','85642','856','4','2','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','080','080','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','999C5','999','C','5','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','040','040','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','980','980','','','S','DATAFIELD'); INSERT INTO flxXMLMARCEXTRULES VALUES ('DEFAULT','001','001','','','S','CONTROLFIELD'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','','',''); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CD','z','z'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','520','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','520','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','590','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','590','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','110','g','g'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','583','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','270','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C1','u','u'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CL','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CD','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','700','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','700','e','e'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','700','u','u'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','100','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','100','e','e'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','506','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','506','g','g'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','270','m','m'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CE','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','l','l'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','m','m'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','710','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','110','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CD','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C1','o','o'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C1','l','l'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C1','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C1','m','m'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','030','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CZ','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CZ','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CZ','m','m'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CZ','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CZ','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CZ','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909Cz','w','w'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','111','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','111','g','g'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','111','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','111','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','111','9','9'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','111','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','111','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','711','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','711','g','g'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','711','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','711','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','711','9','9'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','711','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','711','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','524','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C4','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C4','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C4','v','v'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C4','y','y'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','710','g','g'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','999C5','P','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CP','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','270','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','270','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','270','l','l'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','270','k','k'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','270','z','z'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CL','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','583','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CM','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','110','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CD','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','w','w'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CM','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CL','e','e'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','8560','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','8560','x','x'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','037','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','e','e'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','8564','z','z'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','8564','u','u'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','8564','q','q'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','8564','x','x'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','g','g'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CM','h','h'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','866','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','866','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','866','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','866','z','z'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','866','x','x'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','866','g','g'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CM','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','260','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','300','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','260','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','260','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','260','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','999C5','V','v'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','690C','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','020','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','022','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CL','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','654','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','6531','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','6532','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CL','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C','$','$'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CK','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CK','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CK','k','k'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CK','l','l'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CK','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','041','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','852','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','852','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CL','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','m','m'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','8564','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','340','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','600','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','595','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','500','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','502','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CP','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CC','r','r'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CC','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CC','g','g'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CC','h','h'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CC','l','l'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','596','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','591','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','o','o'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CD','o','o'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CO','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CP','s','s'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CO','s','s'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CP','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','594','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','594','c','c'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','594','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','856','k','k'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C4','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C4','u','u'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C4','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CD','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','598','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CR','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CR','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CR','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CR','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CR','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CR','r','r'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CP','r','r'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CH','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CH','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CF','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CH','e','e'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CH','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CF','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CH','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CH','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CH','s','s'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CF','g','g'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CF','r','r'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CF','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','088','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','r','r'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','246','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','770','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','772','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','780','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','785','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','787','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','r','r'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CA','q','q'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','246','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','770','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','772','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','780','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','785','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','787','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CL','r','r'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','s','s'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','541','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','541','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','541','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','0248','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','e','e'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CI','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CE','m','m'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','490','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','490','v','v'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CE','s','s'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CE','d','d'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','65017','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','65017','2','2'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','6502','$','$'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','65027','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CS','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','044','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','310','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C2','i','i'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C2','f','f'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C2','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CS','s','s'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CS','w','w'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CS','y','y'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','o','o'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','655','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','245','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','250','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','245','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','130','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','130','s','s'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','130','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','246','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','246_1','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','246_3','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','210','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CP','t','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','85642','r','r'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','85642','z','z'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','85642','u','u'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','270','b','b'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','270','e','e'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CD','v','v'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CD','x','x'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','080','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','u','u'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','245','n','n'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','245','p','p'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CM','w','w'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CM','l','l'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909CL','x','x'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C1','y','y'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C0','y','y'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','999C5','T','t'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','040','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','770','w','w'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','772','w','w'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','780','w','w'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','785','w','w'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','787','w','w'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','999C5','M','m'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','999C5','Y','y'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','999C5','R','r'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','999C5','U','u'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','999C5','Z','z'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','999C5','O','o'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','980','a','a'); INSERT INTO flxXMLMARCEXTRULESUBFIELDS VALUES ('DEFAULT','909C4','D','d'); INSERT INTO flxBEHAVIORCONDITIONSACTIONS VALUES ('DEFAULT',100,0,'record','\" \r\n hb \r\n \" \r\nxml_text(format(\"DEFAULT_HTML_BRIEF\"))\r\n\" \r\n \r\n \r\n hd \r\n \" \r\nxml_text(format(\"DEFAULT_HTML_DETAILED\"))\r\n\" \r\n \r\n\"'); INSERT INTO flxBEHAVIORCONDITIONSACTIONS VALUES ('HB',100,0,'','\"\r\n \" $001 \"\r\n \r\n hb \r\n \" \r\nxml_text(format(\"DEFAULT_HTML_BRIEF\"))\r\n\" \r\n \r\n\"'); INSERT INTO flxBEHAVIORCONDITIONSACTIONS VALUES ('HP',0,0,'','\"\r\n \" $001 \"\r\n \r\n hp \r\n \" \r\nxml_text(format(\"DEFAULT_HTML_PORTFOLIO\"))\r\n\" \r\n \r\n\"'); INSERT INTO flxBEHAVIORCONDITIONSACTIONS VALUES ('HC',0,0,'','\"\r\n \" $001 \"\r\n \r\n hc \r\n \" \r\nxml_text(format(\"DEFAULT_HTML_CAPTIONS\"))\r\n\" \r\n \r\n\"'); INSERT INTO flxBEHAVIORCONDITIONSACTIONS VALUES ('HD',100,100,'','\"\r\n \" $001 \"\r\n \r\n hd \r\n \" \r\nxml_text(format(\"DEFAULT_HTML_DETAILED\"))\r\n\" \r\n \r\n\"'); INSERT INTO flxBEHAVIORCONDITIONSACTIONS VALUES ('HB',0,0,'','\"\r\n \" $001 \"\r\n \r\n hb \r\n \" \r\nxml_text(format(\"PICTURE_HTML_BRIEF\"))\r\n\" \r\n \r\n\"'); INSERT INTO flxBEHAVIORCONDITIONSACTIONS VALUES ('HD',90,0,'','\"\r\n \" $001 \"\r\n \r\n hd \r\n \" \r\nxml_text(format(\"PICTURE_HTML_DETAILED\"))\r\n\" \r\n \r\n\"'); INSERT INTO flxBEHAVIORCONDITIONSACTIONS VALUES ('HX',0,0,'','format(\"_FULL_BIBTEX\")'); INSERT INTO flxBEHAVIORCONDITIONS VALUES ('DEFAULT',100,'\"\"=\"\"'); INSERT INTO flxBEHAVIORCONDITIONS VALUES ('HB',0,'$980.a=\"PICTURE\"'); INSERT INTO flxBEHAVIORCONDITIONS VALUES ('HB',100,'\"\"=\"\"'); INSERT INTO flxBEHAVIORCONDITIONS VALUES ('HP',0,'\"\"=\"\"'); INSERT INTO flxBEHAVIORCONDITIONS VALUES ('HC',0,'\"\"=\"\"'); INSERT INTO flxBEHAVIORCONDITIONS VALUES ('HD',100,'\"\"=\"\"'); INSERT INTO flxBEHAVIORCONDITIONS VALUES ('HD',90,'$980.a=\"PICTURE\"'); INSERT INTO flxBEHAVIORCONDITIONS VALUES ('HX',0,'\"\"=\"\"'); INSERT INTO flxBEHAVIORS VALUES ('DEFAULT','IENRICH','Creates DEFAULT formats and includes them in the input XML OAI MARC record in the \"FMT\" element'); INSERT INTO flxBEHAVIORS VALUES ('HB','NORMAL','Produces HTML brief format. Useful for reformatting records existing in the database.'); INSERT INTO flxBEHAVIORS VALUES ('HP','NORMAL','PRODUCES HTML PORTFOLIO FORMAT. USEFUL FOR REFORMATTING RECORDS EXISTING IN THE DATABASE.'); INSERT INTO flxBEHAVIORS VALUES ('HC','NORMAL','PRODUCES HTML CAPTIONS FORMAT. USEFUL FOR REFORMATTING RECORDS\r\nEXISTING IN THE DATABASE.'); INSERT INTO flxBEHAVIORS VALUES ('HD','NORMAL','PRODUCES HTML DETAILED FORMAT. USEFUL FOR REFORMATTING RECORDS EXISTING IN THE DATABASE.'); INSERT INTO flxBEHAVIORS VALUES ('HX','NORMAL','PRODUCES HTML BibTeX format.'); INSERT INTO flxUDFS VALUES ('URLENCODE','return urlencode($url);','STRING',NULL); INSERT INTO flxUDFS VALUES ('UPPER','return strtoupper($s);','STRING','Purpose: Returns characters of string s into uppercase characters\r\nExample: upper(\"test12\") gives as result \"TEST12\"'); INSERT INTO flxUDFS VALUES ('SUBSTR','return substr($s, $start, $end-$start+1);','STRING','Purpose: Returns substring between position start and end from the string s\r\nExample: substr(\"test\", 2, 3) gives as result \"st\"'); INSERT INTO flxUDFS VALUES ('ADD','if($prefix!=\"\")\r\n $value=$prefix.$value;\r\nif($postfix!=\"\")\r\n $value=$value.$postfix;\r\nreturn $value;\r\n','STRING','Purpose: This function adds prefix at the begining and postfix at the end, of value\r\nExample: add(\"test\",\"pre\",\"post\") gives as result \"pretestpost\"\r\nNote: Defined to keep compatibility with uploader\'s languaje'); INSERT INTO flxUDFS VALUES ('MINFO','return \"More Info\";','STRING',''); INSERT INTO flxUDFS VALUES ('RNETC','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('EXT','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('MARK','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('SEPARATOR','if(!$LAST_ITERATION)\r\n return $str;\r\nreturn \"\";','STRING',NULL); INSERT INTO flxUDFS VALUES ('TIONE','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('BRBER','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('MINFA','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('INDIS','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('INHLD','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('LKR','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('NIUCO','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('HOL','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('SNLNK','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('AUFU','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('LKRFU','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('SP','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('HO','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('SREF','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('QUOT','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('MARKF','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('LATEX','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('DI','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('REP_PREFIX','if($FIRST_ITERATION) return $str; return \"\";','STRING',NULL); INSERT INTO flxUDFS VALUES ('XML_TEXT','return htmlspecialchars($str,ENT_QUOTES); \r\n\r\n','STRING',''); INSERT INTO flxUDFS VALUES ('REP','return str_replace($search, $replacement, $str); \r\n\r\n','STRING','Purpose: Replaces any occurence of string search inside string str by the \r\nreplacement one.\r\nExample: rep(\"test12test\", \"12\", \"-\") gives as result \"test-test\"'); INSERT INTO flxUDFS VALUES ('SAVETOFILE','$fh=fopen($filename, \"w\"); if(!$fh) return \"ERROR OPENING FILE \'$filename\'\"; fwrite($fh, $code); fclose($fh); return \"\"; ','STRING',NULL); INSERT INTO flxUDFS VALUES ('FORMAT_EXIST','$format_name=strtoupper(trim($format_name)); \r\n$res=\"\"; \r\n$db=mysql_pconnect(\"cdsdb.cern.ch\", \"flexelink\", \"2flexible\"); \r\nmysql_selectdb(\"flexelink\"); \r\n$qry=\"select name from FORMATS where name=\'$format_name\'\"; \r\n$qh=mysql_query($qry); \r\nif(mysql_num_rows($qh)==1) \r\n $res=\"Y\"; \r\nreturn $res; ','STRING','Purpose: Tells if a format exists in the FlexElink formats database. Returns non-empty string when a format called format_name doesn\'t exist in the format db, empty string in\r\n other case\r\nNote: To be migrated to FlexElink EL internal fuction'); INSERT INTO flxUDFS VALUES ('TOC','return \"\";','STRING','Temporary defined for \"automatic format migration\" compatibility. Gives empty string.'); INSERT INTO flxUDFS VALUES ('DATE','return date(\"j M Y H:i:s\");','STRING','Purpose: Gives the current date in the following format \"day month_name year2k hh:mm:ss\"'); INSERT INTO flxUDFS VALUES ('FILTER_PAGENR','$temp=explode(\"-\", $str);\r\nreturn $temp[0];','STRING',''); INSERT INTO flxUDFS VALUES ('LOWER','return strtolower($str);','STRING','Purpose: Returns characters of string s into lowercase characters \r\nExample: lower(\"TEsT12\") gives as result \"test12\"'); INSERT INTO flxUDFS VALUES ('SUBSTR_END','return substr($str, $start);','STRING','Purpose: Returns a substring from the string s, from position start to the end of the string. \r\nNote that characters into a string are always numerated starting in 0\r\nExample: substr(\"test\", 2) gives as result \"st\"'); INSERT INTO flxUDFS VALUES ('LIMW_L','$temp=explode($token, $str, 2);\r\nreturn $temp[0];','STRING','Purpose: Returns a substring from the string str, containing all characters found in it\r\nbefore the first occurrence of string token.\r\nExample: substr_bef_token(\"test1@test2@test3\", \"@\") gives as result \"test1\"'); INSERT INTO flxUDFS VALUES ('LIMW_R','$temp=explode($token, $str, 2); \r\nreturn $temp[1];','STRING','Purpose: Returns a substring from the string str, containing all characters found in it\r\nafter the first acourrence of string token.\r\nExample: substr_bef_token(\"test1@test2@test3\", \"@\") gives as result \"test2@test3\"'); INSERT INTO flxUDFS VALUES ('FILE_EXISTS','$fh=@fopen($url, \"r\");\r\n$res=\"\";\r\nif($fh)\r\n $res=$url;\r\nreturn $res;','STRING','Purpose: Checks if the given url exists. If so it returns the url, if not it gives back an empty string.\r\nExample: file_exists(\"/not/exists\") gives \"\" as far as file \"/not/exists\" doesn\'t exist'); INSERT INTO flxUDFS VALUES ('CUT_FILE','$fh=@fopen($url, \"r\");\r\n$res=\"\";\r\nif($fh)\r\n{\r\n $found=false;\r\n if($start_token==\"\")\r\n {\r\n $found=true;\r\n }\r\n while(!feof($fh))\r\n {\r\n if(!$found)\r\n {\r\n $line=fgets($fh, 4096);\r\n $pos=strpos($line, $start_token);\r\n if($pos === false)\r\n continue;\r\n $res=substr($line, $pos, strlen($start_tag));\r\n $line=substr($line, $pos+strlen($start_tag));\r\n $found=true;\r\n }\r\n else\r\n {\r\n $pos=strpos($line, $end_token);\r\n if($pos === false)\r\n {\r\n $res.=$line;\r\n $line=fgets($fh, 4096);\r\n }\r\n else\r\n {\r\n $res.=substr($line, 0, $pos+strlen($end_token));\r\n break;\r\n }\r\n }\r\n }\r\n fclose($fh);\r\n}\r\n\r\nreturn $res;','STRING','Purpose: This function opens the file pointed by the URL url. If it\'s accessible, it parses it and \r\nreturns all characters between first occurence of string start_token and first occurrence of \r\nstring end_token.\r\nExample: cut_file(\"/local/pp.txt\", \"PEPE\", \"JOSE\") and \"/local/pp.txt\" file contains the\r\n following text \r\n\"In spanish PEPE means JOSE and PACO means FRANCISCO\", \r\nwould give as result \"PEPE means JOSE\"'); INSERT INTO flxUDFS VALUES ('STRPOS','$pos=strpos($str, $substr);\r\nif($pos === false)\r\n{\r\n return \"\";\r\n}\r\nelse\r\n{\r\n return \"$pos\";\r\n}','STRING',''); INSERT INTO flxUDFS VALUES ('GET_FROM_SETLINKURL','$url=parse_url( $url );\r\n$res=\"\";\r\nif(trim($url[query])!=\"\")\r\n{\r\n $params=explode(\"&\", $url[query]);\r\n foreach($params as $param)\r\n {\r\n $param=explode(\"=\", $param);\r\n if(trim($param[0])==$field)\r\n {\r\n $res=trim($param[1]);\r\n break;\r\n }\r\n } \r\n}\r\nreturn $res;','STRING',''); INSERT INTO flxUDFS VALUES ('FILTER_CDS_ID','$temp=explode(\"-\", $str, 2); \r\nreturn $temp[0];','STRING',''); INSERT INTO flxUDFS VALUES ('COPY','return substr($str, $start, $length);','STRING','Purpose: Returns a substring from string str, that starts in position start\r\n and that is length characters long from there\r\nExample: copy(\"test\", \"1\", \"2\") gives as result \"es\"'); INSERT INTO flxUDFS VALUES ('TERMINATOR','if($LAST_ITERATION)\r\n return $str;','STRING',''); INSERT INTO flxUDFS VALUES ('SUM','return $v1+$v2;','STRING','Purpose: Gives the result of adding v1 to v2 (v1+v2)\r\nExample: add(\"3\", \"4\") gives as result \"7\"'); INSERT INTO flxUDFS VALUES ('GT','if($v1>$v2)\r\n return \"1\";\r\nreturn \"\";','STRING','Purpose: \"Greater than\" function; returns \"1\" if v1>v2, \"\" in other case\r\nExample: gt(\"3\", \"4\") gives as result \"\"'); INSERT INTO flxUDFS VALUES ('EXTRACT_EMAIL','if(ereg(\"([^ <\\t\\n]+@[^ >\\t\\n]+)\", $str, $res))\r\n{\r\n return $res[1];\r\n}\r\nelse\r\n return \"\";\r\n','STRING','Purpose: Returns the first valid (filtered) email address found in string str. \r\nIf there\'s no valid email address in it, it returns \"\"\r\nExample: extract_email(\"Hector Sanchez \") gives \"Hector.Sanchez@cern.ch\".'); INSERT INTO flxUDFS VALUES ('GE','if($v1>=$v2)\r\n return \"1\";\r\nreturn \"\";','STRING','Purpose: \"Greater or equal than\" function; returns \"1\" if v1>=v2, \"\" in other case\r\nExample: ge(\"3\", \"4\") gives as result \"\"'); INSERT INTO flxUDFS VALUES ('LE','if($v1<=$v2)\r\n return \"1\";\r\nreturn \"\";','STRING','Purpose: \"Lower or equal than\" function; returns \"1\" if v1<=v2, \"\" in other case\r\nExample: ge(\"3\", \"4\") gives as result \"\"'); INSERT INTO flxUDFS VALUES ('ISO_NUM','$iso=substr($str, strlen($str_iso));\r\n$temp=explode(\"-\", $iso, 2);\r\n$isonum=$temp[0]; \r\nreturn $isonum;\r\n','STRING',''); INSERT INTO flxUDFS VALUES ('ISO_PART','$iso=substr($str, strlen($str_iso)); \r\n$temp=explode(\"-\", $iso, 2); \r\n$isopart=\"\";\r\nif(count($temp)>1)\r\n{\r\n $isopart=$temp[1]; \r\n}\r\nreturn $isopart; \r\n','STRING',''); INSERT INTO flxUDFS VALUES ('ISO_NUMPART_LINK','$iso=substr($str, strlen($str_iso));\r\n$temp=explode(\"-\", $iso, 2);\r\n$isolink=$temp[0]; \r\nif(count($temp)>1)\r\n{\r\n if(strlen($temp[1])>0)\r\n {\r\n $isolink.=\"&part=\";\r\n $isolink.=str_replace(\"-\", \"&se=\", $temp[1]);\r\n }\r\n}\r\nreturn $isolink;\r\n','STRING',''); INSERT INTO flxUDFS VALUES ('STRIP_SPACES','return str_replace(\" \", \"\", $str);','STRING',''); INSERT INTO flxUDFS VALUES ('LFILL','if(strlen($char)==0) return $str;\r\nif(strlen($str)>$digits) \r\n $str=substr($str, strlen($str)-$digits);\r\nelse\r\n $str=sprintf(\"%0\".$digits.\"u\", $str);\r\nreturn $str;','STRING','Purpose: Returns a string consisting in the string str with the character char \r\nadded to its left the numer of times needed until the lenght digits is reached. If the length\r\nof str is bigger than digits, a left truncated string to length digit is returned.\r\nExample: lfill(\"12\", \"0\", \"5\") gives as result \"00012\", while lfill(\"12345\", \"0\", \"3\") gives as result \"345\", while'); INSERT INTO flxUDFS VALUES ('STR_BUFFER','return add_text($action, $str_to_add, $remove_end_before_print, $min_length_for_print);\r\n\r\nfunction add_text($action, $str_to_add, $remove_end_before_print, $min_length_for_print) {\r\n static $whole_str_buffer = \'\';\r\n\r\n if($action === \'print\') {\r\n if (strlen($whole_str_buffer) > $min_length_for_print){ \r\n $retrn_val = substr($whole_str_buffer, 0, strlen($whole_str_buffer) - $remove_end_before_print) . $str_to_add;\r\n $whole_str_buffer = \'\';\r\n \r\n return $retrn_val;\r\n }\r\n $whole_str_buffer = \'\';\r\n return \'\';\r\n }elseif($action === \'add\'){\r\n $whole_str_buffer .= $str_to_add;\r\n return \'\';\r\n }elseif($action ===\'reset\'){\r\n $whole_str_buffer = \'\';\r\n return \'\';\r\n }else{\r\n return \'\';\r\n }\r\n}','','Purpose:Concatenates strings into static buffer without printing it out before you say so.\r\nParameters:\r\naction: If action is \"add\", then it adds the string to the buffer, if the action is \"print\", then it first removes the end of the string, then adds str_to_add, then prints out. If action is \"reset\", then it resets the buffer to \"\". When you do a \"print\", it also resets the buffer.\r\nstr_to_add: The string you want to add to the already stored string. If action is \"print\" then this part will be added after the function has taken away the end of the string.\r\nremove_end_before_print: Only works when action is \"print\", then it removes the number of chars you have specified before adding the rest of the string, and prints out.\r\nmin_length_for_print: If string is shorter then this when action is \"print\", then it will return \"\". This parameter is only in use when action is \"print\".\r\nExample:\r\nSTR_BUFFER(\"add\", \"\\\"Øyvind and \", \"0\", \"0\");\r\nSTR_BUFFER(\"print\", \"\\\"\", \"5\", \"3\");\r\noutputs: \"Øyvind\"'); INSERT INTO flxUDFS VALUES ('GET_NAME','$pos=strpos($names, \',\');\r\n\r\nif($pos === false){\r\n $name_ar = preg_split(\"/[\\s+]+/\", $names);\r\n $names = \"\";\r\n\r\n for($i = 0; $i < count($name_ar); $i++){\r\n if(strlen($name_ar[$i]) >= strlen($names)){\r\n $names = $name_ar[$i];\r\n }\r\n }\r\n return $names;\r\n}\r\n\r\n$newname = substr($names, 0, $pos);\r\n\r\nreturn str_replace(\" \", \"\", $newname);','','Purpose: Tryes to find the last name in a string, and returns it.\r\nExample: GET_NAME(\"Østlund, Øyvind B\"); returns \"Østlund\".'); INSERT INTO flxUDFS VALUES ('SPLIT_LINE','$start_index = 0;\r\n$result_string;\r\n$done = false;\r\n$firstline = true;\r\n\r\nwhile (!$done){\r\n\r\n if($start_index + $str_len >= strlen($split_str)){\r\n $done = true;\r\n $split = strlen($split_str) - $start_index;\r\n $result_string .= substr($split_str, $start_index);\r\n }else{\r\n $found = false;\r\n\r\n if($firstline == true){\r\n $split = $str_len + $indentation;\r\n $firstline = false;\r\n }else{\r\n $split = $str_len;\r\n }\r\n\r\n while ($split > 0 && $found == false){\r\n if($split_str[$start_index + $split] == \' \'){\r\n $found = true;\r\n }else{\r\n $split --;\r\n }\r\n }\r\n\r\n $result_string .= substr($split_str, $start_index, $split) . \'
\' . str_repeat(\' \', $indentation);\r\n $start_index += $split + 1;\r\n }\r\n}\r\n\r\n\r\nreturn $result_string;\r\n\r\n\r\n\r\n','','Purpose: Splits a line after a certain amount of letters. Does not split a word in two, but finds the nearest word break. \r\nNotice: Indentation is only for line 2->n, not line 1.\r\nNotice: First line will be the length of str_len + indentation.\r\nNotice: If there is HTML tags in the string, they will be counted too.\r\nExample: SPLIT_LINE(\"title = Nuclear matter with off-shell propagation\", \"35\", \"15\");\r\nReturns:
title        = Nuclear matter with\r\n               off-shell propagation
'); INSERT INTO flxUDFS VALUES ('GET_MONTH','if(eregi(\'jan\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'feb\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'mar\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'apr\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'may\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'jun\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'jul\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'aug\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'sep\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'oct\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'nov\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(eregi(\'dec\', $date, $res)){\r\n return ucfirst(strtolower($res[0]));\r\n}elseif(preg_match(\'/(?<=[-\\/])\\n\\n(?=[-\\/])/i\', $date, $res)){\r\n if($res[0] === \'01\' || $res[0] === \'1\'){\r\n return \'Jan\';\r\n }elseif($res[0] === \'02\' || $res[0] === \'2\'){\r\n return \'Feb\';\r\n }elseif($res[0] === \'03\' || $res[0] === \'3\'){\r\n return \'Mar\';\r\n }elseif($res[0] === \'04\' || $res[0] === \'4\'){\r\n return \'Apr\';\r\n }elseif($res[0] === \'05\' || $res[0] === \'5\'){\r\n return \'May\';\r\n }elseif($res[0] === \'06\' || $res[0] === \'6\'){\r\n return \'Jun\';\r\n }elseif($res[0] === \'07\' || $res[0] === \'7\'){\r\n return \'Jul\';\r\n }elseif($res[0] === \'08\' || $res[0] === \'8\'){\r\n return \'Aug\';\r\n }elseif($res[0] === \'09\' || $res[0] === \'9\'){\r\n return \'Sep\';\r\n }elseif($res[0] === \'10\'){\r\n return \'Oct\';\r\n }elseif($res[0] === \'11\'){\r\n return \'Nov\';\r\n }elseif($res[0] === \'12\'){\r\n return \'Dec\';\r\n }\r\n}\r\n\r\nreturn \"\";','','Purpose: Takes a string as input, and returns a 3 letter abrivation of the month if the string contains it.\r\nExample: Accepted string format is e.g. 17 February 2004, 2004/02/17, 17-Feb-2004, etc. (Almost any English date format!)'); INSERT INTO flxUDFS VALUES ('GET_YEAR','if(ereg(\'[[:digit:]][[:digit:]][[:digit:]][[:digit:]]\', $date, $res)){\r\n return $res[0];\r\n}elseif(ereg(\'[[:digit:]][[:digit:]][[:digit:]][[:digit:]]\', $date, $res)){\r\n return $res[0];\r\n}','','Purpose: Takes a string as input, and returns a 4 digit year if the string contains it.'); INSERT INTO flxUDFPARAMS VALUES ('URLENCODE','url',0); INSERT INTO flxUDFPARAMS VALUES ('ADD','postfix',2); INSERT INTO flxUDFPARAMS VALUES ('SUBSTR','end',2); INSERT INTO flxUDFPARAMS VALUES ('UPPER','s',0); INSERT INTO flxUDFPARAMS VALUES ('SUBSTR','s',0); INSERT INTO flxUDFPARAMS VALUES ('SUBSTR','start',1); INSERT INTO flxUDFPARAMS VALUES ('MINFO','sysno',0); INSERT INTO flxUDFPARAMS VALUES ('SEPARATOR','str',0); INSERT INTO flxUDFPARAMS VALUES ('REP_PREFIX','str',0); INSERT INTO flxUDFPARAMS VALUES ('XML_TEXT','str',0); INSERT INTO flxUDFPARAMS VALUES ('REP','search',1); INSERT INTO flxUDFPARAMS VALUES ('REP','str',0); INSERT INTO flxUDFPARAMS VALUES ('SAVETOFILE','filename',0); INSERT INTO flxUDFPARAMS VALUES ('SAVETOFILE','code',1); INSERT INTO flxUDFPARAMS VALUES ('REP','replacement',2); INSERT INTO flxUDFPARAMS VALUES ('FORMAT_EXIST','format_name',0); INSERT INTO flxUDFPARAMS VALUES ('FILTER_PAGENR','str',0); INSERT INTO flxUDFPARAMS VALUES ('LOWER','str',0); INSERT INTO flxUDFPARAMS VALUES ('ADD','value',0); INSERT INTO flxUDFPARAMS VALUES ('ADD','prefix',1); INSERT INTO flxUDFPARAMS VALUES ('STRPOS','substr',1); INSERT INTO flxUDFPARAMS VALUES ('STRPOS','str',0); INSERT INTO flxUDFPARAMS VALUES ('CUT_FILE','end_token',2); INSERT INTO flxUDFPARAMS VALUES ('CUT_FILE','start_token',1); INSERT INTO flxUDFPARAMS VALUES ('CUT_FILE','url',0); INSERT INTO flxUDFPARAMS VALUES ('FILE_EXISTS','url',0); INSERT INTO flxUDFPARAMS VALUES ('SUBSTR_END','str',0); INSERT INTO flxUDFPARAMS VALUES ('SUBSTR_END','start',1); INSERT INTO flxUDFPARAMS VALUES ('LIMW_R','str',0); INSERT INTO flxUDFPARAMS VALUES ('LIMW_L','str',0); INSERT INTO flxUDFPARAMS VALUES ('LIMW_L','token',1); INSERT INTO flxUDFPARAMS VALUES ('LIMW_R','token',1); INSERT INTO flxUDFPARAMS VALUES ('GET_FROM_SETLINKURL','url',0); INSERT INTO flxUDFPARAMS VALUES ('GET_FROM_SETLINKURL','field',1); INSERT INTO flxUDFPARAMS VALUES ('FILTER_CDS_ID','str',0); INSERT INTO flxUDFPARAMS VALUES ('COPY','str',0); INSERT INTO flxUDFPARAMS VALUES ('COPY','start',1); INSERT INTO flxUDFPARAMS VALUES ('TERMINATOR','str',0); INSERT INTO flxUDFPARAMS VALUES ('SUM','v1',0); INSERT INTO flxUDFPARAMS VALUES ('GT','v1',0); INSERT INTO flxUDFPARAMS VALUES ('SUM','v2',1); INSERT INTO flxUDFPARAMS VALUES ('EXTRACT_EMAIL','str',0); INSERT INTO flxUDFPARAMS VALUES ('GT','v2',1); INSERT INTO flxUDFPARAMS VALUES ('GE','v2',1); INSERT INTO flxUDFPARAMS VALUES ('GE','v1',0); INSERT INTO flxUDFPARAMS VALUES ('LE','v1',0); INSERT INTO flxUDFPARAMS VALUES ('LE','v2',1); INSERT INTO flxUDFPARAMS VALUES ('ISO_NUM','str_iso',0); INSERT INTO flxUDFPARAMS VALUES ('ISO_NUM','str',1); INSERT INTO flxUDFPARAMS VALUES ('ISO_PART','str_iso',0); INSERT INTO flxUDFPARAMS VALUES ('ISO_PART','str',1); INSERT INTO flxUDFPARAMS VALUES ('ISO_NUMPART_LINK','str_iso',0); INSERT INTO flxUDFPARAMS VALUES ('ISO_NUMPART_LINK','str',1); INSERT INTO flxUDFPARAMS VALUES ('STRIP_SPACES','str',0); INSERT INTO flxUDFPARAMS VALUES ('LFILL','digits',2); INSERT INTO flxUDFPARAMS VALUES ('LFILL','char',1); INSERT INTO flxUDFPARAMS VALUES ('LFILL','str',0); INSERT INTO flxUDFPARAMS VALUES ('COPY','length',2); INSERT INTO flxUDFPARAMS VALUES ('STR_BUFFER','action',0); INSERT INTO flxUDFPARAMS VALUES ('STR_BUFFER','str_to_add',1); INSERT INTO flxUDFPARAMS VALUES ('STR_BUFFER','min_length_for_print',3); INSERT INTO flxUDFPARAMS VALUES ('STR_BUFFER','remove_end_before_print',2); INSERT INTO flxUDFPARAMS VALUES ('GET_YEAR','date',0); INSERT INTO flxUDFPARAMS VALUES ('GET_MONTH','date',0); INSERT INTO flxUDFPARAMS VALUES ('GET_NAME','names',0); INSERT INTO flxUDFPARAMS VALUES ('SPLIT_LINE','indentation',2); INSERT INTO flxUDFPARAMS VALUES ('SPLIT_LINE','split_str',0); INSERT INTO flxUDFPARAMS VALUES ('SPLIT_LINE','str_len',1); INSERT INTO flxUSERS VALUES (1); INSERT INTO oaiARCHIVE VALUES (1,'','global','','','',NULL,'','','','','','','','',''); INSERT INTO sbmACTION VALUES ('Submit New Record','SBI','running','1998-08-17','2001-08-08','','Submit New Record'); INSERT INTO sbmACTION VALUES ('Modify Record','MBI','modify','1998-08-17','2001-11-07','','Modify Record'); INSERT INTO sbmACTION VALUES ('Submit New File','SRV','revise','0000-00-00','2001-11-07','','Submit New File'); INSERT INTO sbmACTION VALUES ('Approve Record','APP','approve','2001-11-08','2002-06-11','','Approve Record'); INSERT INTO sbmALLFUNCDESCR VALUES ('CaseEDS',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Create_Modify_Interface',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Create_Recid',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Finish_Submission',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Get_Info',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Get_Recid', 'This function gets the recid for a document with a given report-number (as stored in the global variable rn).'); INSERT INTO sbmALLFUNCDESCR VALUES ('Get_Report_Number',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Get_Sysno',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Insert_Modify_Record',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Insert_Record',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Is_Original_Submitter',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Is_Referee','This function checks whether the logged user is a referee for the current document'); INSERT INTO sbmALLFUNCDESCR VALUES ('Mail_Submitter',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Make_Modify_Record',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Make_Record',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Move_From_Pending',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Move_to_Done',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Move_to_Pending',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Print_Success',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Print_Success_APP',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Print_Success_MBI',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Print_Success_SRV',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Report_Number_Generation',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Send_Approval_Request',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Send_APP_Mail',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Send_Modify_Mail',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Send_SRV_Mail',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Test_Status',''); INSERT INTO sbmALLFUNCDESCR VALUES ('Update_Approval_DB',NULL); INSERT INTO sbmALLFUNCDESCR VALUES ('Upload_Files',''); INSERT INTO sbmCHECKS VALUES ('AUCheck','function AUCheck(txt) {\r\n var res=1;\r\n tmp=txt.indexOf(\"\\015\");\r\n while (tmp != -1) {\r\n left=txt.substring(0,tmp);\r\n right=txt.substring(tmp+2,txt.length);\r\n txt=left + \"\\012\" + right;\r\n tmp=txt.indexOf(\"\\015\");\r\n }\r\n tmp=txt.indexOf(\"\\012\");\r\n if (tmp==-1){\r\n line=txt;\r\n txt=\'\';}\r\n else{\r\n line=txt.substring(0,tmp);\r\n txt=txt.substring(tmp+1,txt.length);}\r\n while (line != \"\"){\r\n coma=line.indexOf(\",\");\r\n left=line.substring(0,coma);\r\n right=line.substring(coma+1,line.length);\r\n coma2=right.indexOf(\",\");\r\n space=right.indexOf(\" \");\r\n if ((coma==-1)||(left==\"\")||(right==\"\")||(space!=0)||(coma2!=-1)){\r\n res=0;\r\n error_log=line;\r\n }\r\n tmp=txt.indexOf(\"\\012\");\r\n if (tmp==-1){\r\n line=txt;\r\n txt=\'\';}\r\n else{\r\n line=txt.substring(0,tmp-1);\r\n txt=txt.substring(tmp+1,txt.length);}\r\n }\r\n if (res == 0){\r\n alert(\"This author name cannot be managed \\: \\012\\012\" + error_log + \" \\012\\012It is not in the required format!\\012Put one author per line and a comma (,) between the name and the firstname initial letters. \\012The name is going first, followed by the firstname initial letters.\\012Don\'t forget the whitespace after the comma!!!\\012\\012Example \\: Put\\012\\012Le Meur, J Y \\012Baron, T \\012\\012for\\012\\012Le Meur Jean-Yves & Baron Thomas.\");\r\n return 0;\r\n } \r\n return 1; \r\n}','1998-08-18','0000-00-00','',''); INSERT INTO sbmCHECKS VALUES ('DatCheckNew','function DatCheckNew(txt) {\r\n var res=1;\r\n if (txt.length != 10){res=0;}\r\n if (txt.indexOf(\"/\") != 2){res=0;}\r\n if (txt.lastIndexOf(\"/\") != 5){res=0;}\r\n tmp=parseInt(txt.substring(0,2),10);\r\n if ((tmp > 31)||(tmp < 1)||(isNaN(tmp))){res=0;}\r\n tmp=parseInt(txt.substring(3,5),10);\r\n if ((tmp > 12)||(tmp < 1)||(isNaN(tmp))){res=0;}\r\n tmp=parseInt(txt.substring(6,10),10);\r\n if ((tmp < 1)||(isNaN(tmp))){res=0;}\r\n if (txt.length == 0){res=1;}\r\n if (res == 0){\r\n alert(\"Please enter a correct Date \\012Format: dd/mm/yyyy\");\r\n return 0;\r\n }\r\n return 1; \r\n}','0000-00-00','0000-00-00','',''); INSERT INTO sbmFORMATEXTENSION VALUES ('WORD','.doc'); INSERT INTO sbmFORMATEXTENSION VALUES ('PostScript','.ps'); INSERT INTO sbmFORMATEXTENSION VALUES ('PDF','.pdf'); INSERT INTO sbmFORMATEXTENSION VALUES ('JPEG','.jpg'); INSERT INTO sbmFORMATEXTENSION VALUES ('JPEG','.jpeg'); INSERT INTO sbmFORMATEXTENSION VALUES ('GIF','.gif'); INSERT INTO sbmFORMATEXTENSION VALUES ('PPT','.ppt'); INSERT INTO sbmFORMATEXTENSION VALUES ('HTML','.htm'); INSERT INTO sbmFORMATEXTENSION VALUES ('HTML','.html'); INSERT INTO sbmFORMATEXTENSION VALUES ('Latex','.tex'); INSERT INTO sbmFORMATEXTENSION VALUES ('Compressed PostScript','.ps.gz'); INSERT INTO sbmFORMATEXTENSION VALUES ('Tarred Tex (.tar)','.tar'); INSERT INTO sbmFORMATEXTENSION VALUES ('Text','.txt'); INSERT INTO sbmFUNDESC VALUES ('Get_Report_Number','edsrn'); INSERT INTO sbmFUNDESC VALUES ('Send_Modify_Mail','addressesMBI'); INSERT INTO sbmFUNDESC VALUES ('Send_Modify_Mail','sourceDoc'); INSERT INTO sbmFUNDESC VALUES ('Report_Number_Generation','edsrn'); INSERT INTO sbmFUNDESC VALUES ('Report_Number_Generation','autorngen'); INSERT INTO sbmFUNDESC VALUES ('Report_Number_Generation','rnin'); INSERT INTO sbmFUNDESC VALUES ('Report_Number_Generation','counterpath'); INSERT INTO sbmFUNDESC VALUES ('Report_Number_Generation','rnformat'); INSERT INTO sbmFUNDESC VALUES ('Report_Number_Generation','yeargen'); INSERT INTO sbmFUNDESC VALUES ('Mail_Submitter','authorfile'); INSERT INTO sbmFUNDESC VALUES ('Mail_Submitter','status'); INSERT INTO sbmFUNDESC VALUES ('Send_Approval_Request','authorfile'); INSERT INTO sbmFUNDESC VALUES ('Create_Modify_Interface','fieldnameMBI'); INSERT INTO sbmFUNDESC VALUES ('Send_Modify_Mail','fieldnameMBI'); INSERT INTO sbmFUNDESC VALUES ('Update_Approval_DB','categformatDAM'); INSERT INTO sbmFUNDESC VALUES ('Send_SRV_Mail','categformatDAM'); INSERT INTO sbmFUNDESC VALUES ('Send_SRV_Mail','addressesSRV'); INSERT INTO sbmFUNDESC VALUES ('Send_Approval_Request','directory'); INSERT INTO sbmFUNDESC VALUES ('Send_Approval_Request','categformatDAM'); INSERT INTO sbmFUNDESC VALUES ('Send_Approval_Request','addressesDAM'); INSERT INTO sbmFUNDESC VALUES ('Send_Approval_Request','titleFile'); INSERT INTO sbmFUNDESC VALUES ('Send_APP_Mail','edsrn'); INSERT INTO sbmFUNDESC VALUES ('Mail_Submitter','titleFile'); INSERT INTO sbmFUNDESC VALUES ('Send_Modify_Mail','emailFile'); INSERT INTO sbmFUNDESC VALUES ('Get_Info','authorFile'); INSERT INTO sbmFUNDESC VALUES ('Get_Info','emailFile'); INSERT INTO sbmFUNDESC VALUES ('Get_Info','titleFile'); INSERT INTO sbmFUNDESC VALUES ('Make_Modify_Record','modifyTemplate'); INSERT INTO sbmFUNDESC VALUES ('Send_APP_Mail','addressesAPP'); INSERT INTO sbmFUNDESC VALUES ('Send_APP_Mail','categformatAPP'); INSERT INTO sbmFUNDESC VALUES ('Send_APP_Mail','newrnin'); INSERT INTO sbmFUNDESC VALUES ('CaseEDS','casevariable'); INSERT INTO sbmFUNDESC VALUES ('CaseEDS','casevalues'); INSERT INTO sbmFUNDESC VALUES ('CaseEDS','casesteps'); INSERT INTO sbmFUNDESC VALUES ('CaseEDS','casedefault'); INSERT INTO sbmFUNDESC VALUES ('Send_SRV_Mail','noteFile'); INSERT INTO sbmFUNDESC VALUES ('Send_SRV_Mail','emailFile'); INSERT INTO sbmFUNDESC VALUES ('Mail_Submitter','emailFile'); INSERT INTO sbmFUNDESC VALUES ('Mail_Submitter','edsrn'); INSERT INTO sbmFUNDESC VALUES ('Mail_Submitter','newrnin'); INSERT INTO sbmFUNDESC VALUES ('Upload_Files','maxsize'); INSERT INTO sbmFUNDESC VALUES ('Upload_Files','minsize'); INSERT INTO sbmFUNDESC VALUES ('Upload_Files','iconsize'); INSERT INTO sbmFUNDESC VALUES ('Upload_Files','type'); INSERT INTO sbmFUNDESC VALUES ('Make_Record','sourceTemplate'); INSERT INTO sbmFUNDESC VALUES ('Make_Record','createTemplate'); INSERT INTO sbmFUNDESC VALUES ('Print_Success','edsrn'); INSERT INTO sbmFUNDESC VALUES ('Print_Success','newrnin'); INSERT INTO sbmFUNDESC VALUES ('Print_Success','status'); INSERT INTO sbmFUNDESC VALUES ('Make_Modify_Record','sourceTemplate'); INSERT INTO sbmGFILERESULT VALUES ('HTML','HTML document'); INSERT INTO sbmGFILERESULT VALUES ('WORD','data'); INSERT INTO sbmGFILERESULT VALUES ('PDF','PDF document'); INSERT INTO sbmGFILERESULT VALUES ('PostScript','PostScript document'); INSERT INTO sbmGFILERESULT VALUES ('PostScript','data '); INSERT INTO sbmGFILERESULT VALUES ('PostScript','HP Printer Job Language data'); INSERT INTO sbmGFILERESULT VALUES ('jpg','JPEG image'); INSERT INTO sbmGFILERESULT VALUES ('Compressed PostScript','gzip compressed data'); INSERT INTO sbmGFILERESULT VALUES ('Tarred Tex (.tar)','tar archive'); INSERT INTO sbmGFILERESULT VALUES ('JPEG','JPEG image'); INSERT INTO sbmGFILERESULT VALUES ('GIF','GIF'); INSERT INTO accROLE VALUES (1,'superadmin','superuser with all rights', NULL, NULL); INSERT INTO accROLE VALUES (2,'photoadmin','Photo collection administrator', NULL, NULL); INSERT INTO accROLE VALUES (3,'webaccessadmin','WebAccess administrator', NULL, NULL); -INSERT INTO user_accROLE VALUES (1,1); -INSERT INTO user_accROLE VALUES (1,3); +INSERT INTO user_accROLE VALUES (1,1,'9999-12-31 23:59:59'); +INSERT INTO user_accROLE VALUES (1,3,'9999-12-31 23:59:59'); INSERT INTO accACTION VALUES (1,'cfgwebsearch','configure WebSearch','','no'); INSERT INTO accACTION VALUES (2,'cfgbibformat','configure BibFormat','','no'); INSERT INTO accACTION VALUES (3,'runbibindex','run BibIndex','','no'); INSERT INTO accACTION VALUES (4,'runbibupload','run BibUpload','','no'); INSERT INTO accACTION VALUES (5,'runwebcoll','run webcoll','collection','yes'); INSERT INTO accACTION VALUES (6,'runbibformat','run BibFormat','format','yes'); INSERT INTO accACTION VALUES (7,'cfgwebaccess','configure WebAccess','','no'); INSERT INTO accACTION VALUES (8,'accdelegaterole','delegate subroles inside WebAccess','role','no'); INSERT INTO accACTION VALUES (9,'runbibtaskex','run BibTaskEx example', '','no'); INSERT INTO accACTION VALUES (11,'submit','use webSubmit','doctype,act','no'); INSERT INTO accACTION VALUES (12,'cfgwebsubmit','configure webSubmit','','no'); INSERT INTO accACTION VALUES (13,'referee','referee document type doctype','doctype,categ','yes'); INSERT INTO accACTION VALUES (14,'runbibrank','run BibRank','','no'); INSERT INTO accACTION VALUES (15,'cfgbibrank','configure BibRank','','no'); INSERT INTO accACTION VALUES (16,'cfgbibindex','configure BibIndex','','no'); INSERT INTO accACTION VALUES (17,'cfgbibharvest','configure BibHarvest','','no'); INSERT INTO accACTION VALUES (18,'runoaiharvest','run BibHarvest oaiharvest','','no'); INSERT INTO accACTION VALUES (19,'cfgwebcomment','configure WebComment','','no'); INSERT INTO accACTION VALUES (20,'runoaiarchive','run BibHarvest oaiarchive','','no'); INSERT INTO accACTION VALUES (21,'runbibedit','run BibEdit','','no'); INSERT INTO accACTION VALUES (22,'accrestrcoll','view restricted collection','collection','no'); INSERT INTO accACTION VALUES (23,'runsessiongc','run SessionGC','','no'); INSERT INTO accARGUMENT VALUES (1,'collection','Pictures'); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (1,1, 0, 0); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (1,2, 0, 0); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (1,3, 0, 0); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (1,4, 0, 0); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (1,6,-1,-1); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (1,7, 0, 0); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (2,5, 1, 1); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (3,7, 0, 0); INSERT INTO accROLE_accACTION_accARGUMENT VALUES (1,9, 0, 0);
diff --git a/modules/webalert/lib/alert_engine.py b/modules/webalert/lib/alert_engine.py index 04a9e2f77..e92fccea3 100644 --- a/modules/webalert/lib/alert_engine.py +++ b/modules/webalert/lib/alert_engine.py @@ -1,414 +1,369 @@ # -*- coding: utf-8 -*- ## ## $Id$ ## ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. """Alert engine implementation.""" ## rest of the Python code goes below __revision__ = "$Id$" from cgi import parse_qs from re import search, sub import sys from time import localtime, strftime, mktime, sleep from string import split import smtplib import datetime from email.Header import Header from email.Message import Message from email.MIMEText import MIMEText from invenio.config import \ logdir, \ supportemail, \ version, \ weburl from invenio.search_engine import perform_request_search from invenio.alert_engine_config import * from invenio.webinterface_handler import wash_urlargd from invenio.dbquery import run_sql from invenio.htmlparser import * from invenio.webuser import get_email import invenio.template websearch_templates = invenio.template.load('websearch') webalert_templates = invenio.template.load('webalert') def update_date_lastrun(alert): return run_sql('update user_query_basket set date_lastrun=%s where id_user=%s and id_query=%s and id_basket=%s;', (strftime("%Y-%m-%d"), alert[0], alert[1], alert[2],)) def get_alert_queries(frequency): return run_sql('select distinct id, urlargs from query q, user_query_basket uqb where q.id=uqb.id_query and uqb.frequency=%s and uqb.date_lastrun <= now();', (frequency,)) def get_alert_queries_for_user(uid): return run_sql('select distinct id, urlargs, uqb.frequency from query q, user_query_basket uqb where q.id=uqb.id_query and uqb.id_user=%s and uqb.date_lastrun <= now();', (uid,)) def get_alerts(query, frequency): r = run_sql('select id_user, id_query, id_basket, frequency, date_lastrun, alert_name, notification from user_query_basket where id_query=%s and frequency=%s;', (query['id_query'], frequency,)) return {'alerts': r, 'records': query['records'], 'argstr': query['argstr'], 'date_from': query['date_from'], 'date_until': query['date_until']} # def add_record_to_basket(record_id, basket_id): # if CFG_WEBALERT_DEBUG_LEVEL > 0: # print "-> adding record %s into basket %s" % (record_id, basket_id) # try: # return run_sql('insert into basket_record (id_basket, id_record) values(%s, %s);', (basket_id, record_id,)) # except: # return 0 # def add_records_to_basket(record_ids, basket_id): # # TBD: generate the list and all all records in one step (see below) # for i in record_ids: # add_record_to_basket(i, basket_id) # Optimized version: def add_records_to_basket(record_ids, basket_id): nrec = len(record_ids) if nrec > 0: vals = '(%s,%s)' % (basket_id, record_ids[0]) if nrec > 1: for i in record_ids[1:]: vals += ',(%s, %s)' % (basket_id, i) if CFG_WEBALERT_DEBUG_LEVEL > 0: print "-> adding %s records into basket %s: %s" % (nrec, basket_id, vals) try: if CFG_WEBALERT_DEBUG_LEVEL < 4: return run_sql('insert into basket_record (id_basket, id_record) values %s;' % vals) # Cannot use the run_sql(, (,)) form for some reason else: print ' NOT ADDED, DEBUG LEVEL == 4' return 0 except: return 0 else: return 0 def get_query(alert_id): r = run_sql('select urlargs from query where id=%s', (alert_id,)) return r[0][0] -def send_email(fromaddr, toaddr, body, - attempt_times=1, - attempt_sleeptime=10): - """Send email to TOADDR from FROMADDR with message BODY. - - If sending fails, try to send it ATTEMPT_TIMES, and wait for - ATTEMPT_SLEEPTIME seconds in between tries. - - Return 0 if email was sent okay, 1 if it was not. - """ - - if attempt_times < 1: - log('Not attempting to send email to %s.' % toaddr) - return 1 - - try: - server = smtplib.SMTP('localhost') - if CFG_WEBALERT_DEBUG_LEVEL > 2: - server.set_debuglevel(1) - else: - server.set_debuglevel(0) - server.sendmail(fromaddr, toaddr, body) - server.quit() - except: - if attempt_times > 1: - if (CFG_WEBALERT_DEBUG_LEVEL > 1): - print 'Error connecting to SMTP server, retrying in %d seconds. Exception raised: %s' % (attempt_sleeptime, sys.exc_info()[0]) - sleep(attempt_sleeptime) - return send_email(fromaddr, toaddr, body, attempt_times-1, attempt_sleeptime) - else: - log('Error sending email to %s. Giving up.' % toaddr) - return 1 - - return 0 - -def forge_email(fromaddr, toaddr, subject, content): - msg = MIMEText(content, _charset='utf-8') - - msg['From'] = fromaddr - msg['To'] = toaddr - msg['Subject'] = Header(subject, 'utf-8') - - return msg.as_string() - - def email_notify(alert, records, argstr): if len(records) == 0: return msg = "" if CFG_WEBALERT_DEBUG_LEVEL > 0: msg = "*** THIS MESSAGE WAS SENT IN DEBUG MODE ***\n\n" url = weburl + "/search?" + argstr # Extract the pattern and catalogue list from the formatted query query = parse_qs(argstr) pattern = query.get('p', [''])[0] catalogues = query.get('c', []) frequency = alert[3] msg += webalert_templates.tmpl_alert_email_body( alert[5], url, records, pattern, catalogues, frequency) msg = MIMEText(msg, _charset='utf-8') email = get_email(alert[0]) if email == 'guest': print "********************************************************************************" print "The following alert was not send, because cannot detect user email address:" print " " + repr(argstr) print "********************************************************************************" return msg['To'] = email # Let the template fill in missing fields webalert_templates.tmpl_alert_email_headers(alert[5], msg) sender = msg['From'] body = msg.as_string() if CFG_WEBALERT_DEBUG_LEVEL > 0: print "********************************************************************************" print body print "********************************************************************************" if CFG_WEBALERT_DEBUG_LEVEL < 2: - send_email(sender, email, body, - CFG_WEBALERT_SEND_EMAIL_NUMBER_OF_TRIES, - CFG_WEBALERT_SEND_EMAIL_SLEEPTIME_BETWEEN_TRIES) + send_email(sender, email, content=body, + attempt_time=CFG_WEBALERT_SEND_EMAIL_NUMBER_OF_TRIES, + attempt_sleeptime=CFG_WEBALERT_SEND_EMAIL_SLEEPTIME_BETWEEN_TRIES) if CFG_WEBALERT_DEBUG_LEVEL == 4: - send_email(sender, supportemail, body, - CFG_WEBALERT_SEND_EMAIL_NUMBER_OF_TRIES, - CFG_WEBALERT_SEND_EMAIL_SLEEPTIME_BETWEEN_TRIES) + send_email(sender, supportemail, content=body, + attempt_time=CFG_WEBALERT_SEND_EMAIL_NUMBER_OF_TRIES, + attempt_sleeptime=CFG_WEBALERT_SEND_EMAIL_SLEEPTIME_BETWEEN_TRIES) def get_argument(args, argname): if args.has_key(argname): return args[argname] else: return [] def _date_to_tuple(date): return [int(part) for part in (date.year, date.month, date.day)] def get_record_ids(argstr, date_from, date_until): argd = wash_urlargd(parse_qs(argstr), websearch_templates.search_results_default_urlargd) p = get_argument(argd, 'p') c = get_argument(argd, 'c') cc = get_argument(argd, 'cc') as = get_argument(argd, 'as') f = get_argument(argd, 'f') so = get_argument(argd, 'so') sp = get_argument(argd, 'sp') ot = get_argument(argd, 'ot') as = get_argument(argd, 'as') p1 = get_argument(argd, 'p1') f1 = get_argument(argd, 'f1') m1 = get_argument(argd, 'm1') op1 = get_argument(argd, 'op1') p2 = get_argument(argd, 'p2') f2 = get_argument(argd, 'f2') m2 = get_argument(argd, 'm2') op2 = get_argument(argd, 'op2') p3 = get_argument(argd, 'p3') f3 = get_argument(argd, 'f3') m3 = get_argument(argd, 'm3') sc = get_argument(argd, 'sc') d1y, d1m, d1d = _date_to_tuple(date_from) d2y, d2m, d2d = _date_to_tuple(date_until) return perform_request_search(of='id', p=p, c=c, cc=cc, f=f, so=so, sp=sp, ot=ot, as=as, p1=p1, f1=f1, m1=m1, op1=op1, p2=p2, f2=f2, m2=m2, op2=op2, p3=p3, f3=f3, m3=m3, sc=sc, d1y=d1y, d1m=d1m, d1d=d1d, d2y=d2y, d2m=d2m, d2d=d2d) def get_argument_as_string(argstr, argname): args = parse_qs(argstr) a = get_argument(args, argname) r = '' if len(a): r = a[0] for i in a[1:len(a)]: r += ", %s" % i return r def get_pattern(argstr): return get_argument_as_string(argstr, 'p') def get_catalogue(argstr): return get_argument_as_string(argstr, 'c') def get_catalogue_num(argstr): args = parse_qs(argstr) a = get_argument(args, 'c') return len(a) def run_query(query, frequency, date_until): """Return a dictionary containing the information of the performed query. The information contains the id of the query, the arguments as a string, and the list of found records.""" if frequency == 'day': date_from = date_until - datetime.timedelta(days=1) elif frequency == 'week': date_from = date_until - datetime.timedelta(weeks=1) else: # Months are not an explicit notion of timedelta (it's the # most ambiguous too). So we explicitely take the same day of # the previous month. d, m, y = (date_until.day, date_until.month, date_until.year) m = m - 1 if m == 0: m = 12 y = y - 1 date_from = datetime.date(year=y, month=m, day=d) recs = get_record_ids(query[1], date_from, date_until) n = len(recs) if n: log('query %08s produced %08s records' % (query[0], len(recs))) if CFG_WEBALERT_DEBUG_LEVEL > 2: print "[%s] run query: %s with dates: from=%s, until=%s\n found rec ids: %s" % ( strftime("%c"), query, date_from, date_until, recs) return {'id_query': query[0], 'argstr': query[1], 'records': recs, 'date_from': date_from, 'date_until': date_until} def process_alert_queries(frequency, date): """Run the alerts according to the frequency. Retrieves the queries for which an alert exists, performs it, and processes the corresponding alerts.""" alert_queries = get_alert_queries(frequency) for aq in alert_queries: q = run_query(aq, frequency, date) alerts = get_alerts(q, frequency) process_alerts(alerts) def replace_argument(argstr, argname, argval): """Replace the given date argument value with the new one. If the argument is missing, it is added.""" if search('%s=\d+' % argname, argstr): r = sub('%s=\d+' % argname, '%s=%s' % (argname, argval), argstr) else: r = argstr + '&%s=%s' % (argname, argval) return r def update_arguments(argstr, date_from, date_until): """Replace date arguments in argstr with the ones specified by date_from and date_until. Absent arguments are added.""" d1y, d1m, d1d = _date_to_tuple(date_from) d2y, d2m, d2d = _date_to_tuple(date_until) r = replace_argument(argstr, 'd1y', d1y) r = replace_argument(r, 'd1m', d1m) r = replace_argument(r, 'd1d', d1d) r = replace_argument(r, 'd2y', d2y) r = replace_argument(r, 'd2m', d2m) r = replace_argument(r, 'd2d', d2d) return r def log(msg): try: log = open(logdir + '/alertengine.log', 'a') log.write(strftime('%Y%m%d%H%M%S#')) log.write(msg + '\n') log.close() except: pass def process_alerts(alerts): # TBD: do not generate the email each time, forge it once and then # send it to all appropriate people for a in alerts['alerts']: if alert_use_basket_p(a): add_records_to_basket(alerts['records'], a[2]) if alert_use_notification_p(a): argstr = update_arguments(alerts['argstr'], alerts['date_from'], alerts['date_until']) email_notify(a, alerts['records'], argstr) update_date_lastrun(a) def alert_use_basket_p(alert): return alert[2] != 0 def alert_use_notification_p(alert): return alert[6] == 'y' def run_alerts(date): """Run the alerts. First decide which alerts to run according to the current local time, and runs them.""" if date.day == 1: process_alert_queries('month', date) if date.isoweekday() == 1: # first day of the week process_alert_queries('week', date) process_alert_queries('day', date) def process_alert_queries_for_user(uid, date): """Process the alerts for the given user id. All alerts are with reference date set as the current local time.""" alert_queries = get_alert_queries_for_user(uid) print alert_queries for aq in alert_queries: frequency = aq[2] q = run_query(aq, frequency, date) alerts = get_alerts(q, frequency) process_alerts(alerts) diff --git a/modules/webcomment/lib/webcomment.py b/modules/webcomment/lib/webcomment.py index 73802f39e..60f44aac6 100644 --- a/modules/webcomment/lib/webcomment.py +++ b/modules/webcomment/lib/webcomment.py @@ -1,1002 +1,999 @@ # -*- coding: utf-8 -*- ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. """ Comments and reviews for records """ __revision__ = "$Id$" # non CDS Invenio imports: import time import math # CDS Invenio imports: from invenio.dbquery import run_sql from invenio.config import cdslang, \ alertengineemail,\ adminemail,\ weburl,\ cdsname,\ CFG_WEBCOMMENT_ALLOW_REVIEWS,\ CFG_WEBCOMMENT_ALLOW_COMMENTS,\ CFG_WEBCOMMENT_ADMIN_NOTIFICATION_LEVEL,\ CFG_WEBCOMMENT_NB_REVIEWS_IN_DETAILED_VIEW,\ CFG_WEBCOMMENT_NB_REPORTS_BEFORE_SEND_EMAIL_TO_ADMIN,\ CFG_WEBCOMMENT_NB_COMMENTS_IN_DETAILED_VIEW,\ CFG_WEBCOMMENT_TIMELIMIT_PROCESSING_COMMENTS_IN_SECONDS,\ CFG_WEBCOMMENT_TIMELIMIT_PROCESSING_REVIEWS_IN_SECONDS from invenio.webmessage_mailutils import email_quote_txt from invenio.webuser import get_user_info from invenio.dateutils import convert_datetext_to_dategui, \ datetext_default, \ convert_datestruct_to_datetext +from invenio.mailutils import send_email from invenio.messages import wash_language, gettext_set_language from invenio.urlutils import wash_url_argument from invenio.webuser import isGuestUser from invenio.webcomment_config import CFG_WEBCOMMENT_ACTION_CODE try: import invenio.template webcomment_templates = invenio.template.load('webcomment') except: pass def perform_request_display_comments_or_remarks(recID, ln=cdslang, display_order='od', display_since='all', nb_per_page=100, page=1, voted=-1, reported=-1, reviews=0): """ Returns all the comments (reviews) of a specific internal record or external basket record. @param recID: record id where (internal record IDs > 0) or (external basket record IDs < -100) @param display_order: hh = highest helpful score, review only lh = lowest helpful score, review only hs = highest star score, review only ls = lowest star score, review only od = oldest date nd = newest date @param display_since: all= no filtering by date nd = n days ago nw = n weeks ago nm = n months ago ny = n years ago where n is a single digit integer between 0 and 9 @param nb_per_page: number of results per page @param page: results page @param voted: boolean, active if user voted for a review, see perform_request_vote function @param reported: boolean, active if user reported a certain comment/review, perform_request_report function @param reviews: boolean, enabled if reviews, disabled for comments @return html body. """ errors = [] warnings = [] # wash arguments recID = wash_url_argument(recID, 'int') ln = wash_language(ln) display_order = wash_url_argument(display_order, 'str') display_since = wash_url_argument(display_since, 'str') nb_per_page = wash_url_argument(nb_per_page, 'int') page = wash_url_argument(page, 'int') voted = wash_url_argument(voted, 'int') reported = wash_url_argument(reported, 'int') reviews = wash_url_argument(reviews, 'int') # vital argument check (valid, error_body) = check_recID_is_in_range(recID, warnings, ln) if not(valid): return (error_body, errors, warnings) # Query the database and filter results res = query_retrieve_comments_or_remarks(recID, display_order, display_since, reviews) nb_res = len(res) # checking non vital arguemnts - will be set to default if wrong #if page <= 0 or page.lower() != 'all': if page < 0: page = 1 warnings.append(('WRN_WEBCOMMENT_INVALID_PAGE_NB',)) if nb_per_page < 0: nb_per_page = 100 warnings.append(('WRN_WEBCOMMENT_INVALID_NB_RESULTS_PER_PAGE',)) if CFG_WEBCOMMENT_ALLOW_REVIEWS and reviews: if display_order not in ['od', 'nd', 'hh', 'lh', 'hs', 'ls']: display_order = 'hh' warnings.append(('WRN_WEBCOMMENT_INVALID_REVIEW_DISPLAY_ORDER',)) else: if display_order not in ['od', 'nd']: display_order = 'od' warnings.append(('WRN_WEBCOMMENT_INVALID_DISPLAY_ORDER',)) # filter results according to page and number of reults per page if nb_per_page > 0: if nb_res > 0: last_page = int(math.ceil(nb_res / float(nb_per_page))) else: last_page = 1 if page > last_page: page = 1 warnings.append(("WRN_WEBCOMMENT_INVALID_PAGE_NB",)) if nb_res > nb_per_page: # if more than one page of results if page < last_page: res = res[(page-1)*(nb_per_page) : (page*nb_per_page)] else: res = res[(page-1)*(nb_per_page) : ] else: # one page of results pass else: last_page = 1 # Send to template avg_score = 0.0 if not CFG_WEBCOMMENT_ALLOW_COMMENTS and not CFG_WEBCOMMENT_ALLOW_REVIEWS: # comments not allowed by admin errors.append(('ERR_WEBCOMMENT_COMMENTS_NOT_ALLOWED',)) if reported > 0: warnings.append(('WRN_WEBCOMMENT_FEEDBACK_RECORDED',)) elif reported == 0: warnings.append(('WRN_WEBCOMMENT_ALREADY_REPORTED',)) if CFG_WEBCOMMENT_ALLOW_REVIEWS and reviews: avg_score = calculate_avg_score(res) if voted > 0: warnings.append(('WRN_WEBCOMMENT_FEEDBACK_RECORDED',)) elif voted == 0: warnings.append(('WRN_WEBCOMMENT_ALREADY_VOTED',)) body = webcomment_templates.tmpl_get_comments(recID, ln, nb_per_page, page, last_page, display_order, display_since, CFG_WEBCOMMENT_ALLOW_REVIEWS, res, nb_res, avg_score, warnings, border=0, reviews=reviews) return (body, errors, warnings) def perform_request_vote(cmt_id, client_ip_address, value, uid=-1): """ Vote positively or negatively for a comment/review @param cmt_id: review id @param value: +1 for voting positively -1 for voting negatively @return integer 1 if successful, integer 0 if not """ cmt_id = wash_url_argument(cmt_id, 'int') client_ip_address = wash_url_argument(client_ip_address, 'str') value = wash_url_argument(value, 'int') uid = wash_url_argument(uid, 'int') if cmt_id > 0 and value in [-1, 1] and check_user_can_vote(cmt_id, client_ip_address, uid): action_date = convert_datestruct_to_datetext(time.localtime()) action_code = CFG_WEBCOMMENT_ACTION_CODE['VOTE'] query = """INSERT INTO cmtACTIONHISTORY VALUES (%i, NULL ,%i, inet_aton('%s'), '%s', '%s')""" query %= (cmt_id, uid, client_ip_address, action_date, action_code) run_sql(query) return query_record_useful_review(cmt_id, value) else: return 0 def check_user_can_comment(recID, client_ip_address, uid=-1): """ Check if a user hasn't already commented within the last seconds time limit: CFG_WEBCOMMENT_TIMELIMIT_PROCESSING_COMMENTS_IN_SECONDS @param recID: record id @param client_ip_address: IP => use: str(req.get_remote_host(apache.REMOTE_NOLOOKUP)) @param uid: user id, as given by invenio.webuser.getUid(req) """ recID = wash_url_argument(recID, 'int') client_ip_address = wash_url_argument(client_ip_address, 'str') uid = wash_url_argument(uid, 'int') max_action_time = time.time() - CFG_WEBCOMMENT_TIMELIMIT_PROCESSING_COMMENTS_IN_SECONDS max_action_time = convert_datestruct_to_datetext(time.localtime(max_action_time)) action_code = CFG_WEBCOMMENT_ACTION_CODE['ADD_COMMENT'] query = """SELECT id_bibrec FROM cmtACTIONHISTORY WHERE id_bibrec=%i AND action_code='%s' AND action_time>'%s' """ % (recID, action_code, max_action_time) if uid < 0: query += " AND client_host=inet_aton('%s')" % client_ip_address else: query += " AND id_user=%i" % uid res = run_sql(query) return len(res) == 0 def check_user_can_review(recID, client_ip_address, uid=-1): """ Check if a user hasn't already reviewed within the last seconds time limit: CFG_WEBCOMMENT_TIMELIMIT_PROCESSING_REVIEWS_IN_SECONDS @param cmt_id: comment id @param client_ip_address: IP => use: str(req.get_remote_host(apache.REMOTE_NOLOOKUP)) @param uid: user id, as given by invenio.webuser.getUid(req) """ action_code = CFG_WEBCOMMENT_ACTION_CODE['ADD_REVIEW'] query = """SELECT id_bibrec FROM cmtACTIONHISTORY WHERE id_bibrec=%i AND action_code='%s' """ % (recID, action_code) if uid < 0: query += " AND client_host=inet_aton('%s')" % client_ip_address else: query += " AND id_user=%i" % uid res = run_sql(query) return len(res) == 0 def check_user_can_vote(cmt_id, client_ip_address, uid=-1): """ Checks if a user hasn't already voted @param cmt_id: comment id @param client_ip_address: IP => use: str(req.get_remote_host(apache.REMOTE_NOLOOKUP)) @param uid: user id, as given by invenio.webuser.getUid(req) """ cmt_id = wash_url_argument(cmt_id, 'int') client_ip_address = wash_url_argument(client_ip_address, 'str') uid = wash_url_argument(uid, 'int') query = """SELECT id_cmtRECORDCOMMENT FROM cmtACTIONHISTORY WHERE id_cmtRECORDCOMMENT=%i""" % cmt_id if uid < 0: query += " AND client_host=inet_aton('%s')" % client_ip_address else: query += " AND id_user=%i" % uid res = run_sql(query) return (len(res) == 0) def perform_request_report(cmt_id, client_ip_address, uid=-1): """ Report a comment/review for inappropriate content. Will send an email to the administrator if number of reports is a multiple of CFG_WEBCOMMENT_NB_REPORTS_BEFORE_SEND_EMAIL_TO_ADMIN @param cmt_id: comment id @return integer 1 if successful, integer 0 if not """ cmt_id = wash_url_argument(cmt_id, 'int') if cmt_id <= 0: return 0 (query_res, nb_abuse_reports) = query_record_report_this(cmt_id) if query_res == 0: return 0 if not(check_user_can_report(cmt_id, client_ip_address, uid)): return 0 action_date = convert_datestruct_to_datetext(time.localtime()) action_code = CFG_WEBCOMMENT_ACTION_CODE['REPORT_ABUSE'] query = """INSERT INTO cmtACTIONHISTORY VALUES (%i, NULL, %i, inet_aton('%s'), '%s', '%s')""" query %= (cmt_id, uid, client_ip_address, action_date, action_code) run_sql(query) if nb_abuse_reports % CFG_WEBCOMMENT_NB_REPORTS_BEFORE_SEND_EMAIL_TO_ADMIN == 0: (cmt_id2, id_bibrec, id_user, cmt_body, cmt_date, cmt_star, cmt_vote, cmt_nb_votes_total, cmt_title, cmt_reported) = query_get_comment(cmt_id) (user_nb_abuse_reports, user_votes, user_nb_votes_total) = query_get_user_reports_and_votes(int(id_user)) (nickname, user_email, last_login) = query_get_user_contact_info(id_user) from_addr = '%s Alert Engine <%s>' % (cdsname, alertengineemail) to_addr = adminemail subject = "An error report has been sent from a user" body = ''' The following comment has been reported a total of %(cmt_reported)s times. Author: nickname = %(nickname)s email = %(user_email)s user_id = %(uid)s This user has: total number of reports = %(user_nb_abuse_reports)s %(votes)s Comment: comment_id = %(cmt_id)s record_id = %(id_bibrec)s date written = %(cmt_date)s nb reports = %(cmt_reported)s %(review_stuff)s body = ---start body--- %(cmt_body)s ---end body--- Please go to the WebComment Admin interface %(comment_admin_link)s to delete this message if necessary. A warning will be sent to the user in question.''' % \ { 'cfg-report_max' : CFG_WEBCOMMENT_NB_REPORTS_BEFORE_SEND_EMAIL_TO_ADMIN, 'nickname' : nickname, 'user_email' : user_email, 'uid' : id_user, 'user_nb_abuse_reports' : user_nb_abuse_reports, 'user_votes' : user_votes, 'votes' : CFG_WEBCOMMENT_ALLOW_REVIEWS and \ "total number of positive votes\t= %s\n\t\t\t\ttotal number of negative votes\t= %s" % \ (user_votes, (user_nb_votes_total - user_votes)) or "\n", 'cmt_id' : cmt_id, 'id_bibrec' : id_bibrec, 'cmt_date' : cmt_date, 'cmt_reported' : cmt_reported, 'review_stuff' : CFG_WEBCOMMENT_ALLOW_REVIEWS and \ "star score\t\t= %s\n\t\t\treview title\t\t= %s" % (cmt_star, cmt_title) or "", 'cmt_body' : cmt_body, 'comment_admin_link' : weburl + "/admin/webcomment/", 'user_admin_link' : "user_admin_link" #! FIXME } #FIXME to be added to email when websession module is over: #If you wish to ban the user, you can do so via the User Admin Panel %(user_admin_link)s. - from invenio.alert_engine import send_email, forge_email - body = forge_email(from_addr, to_addr, subject, body) - send_email(from_addr, to_addr, body) + send_email(from_addr, to_addr, subject, body) return 1 def check_user_can_report(cmt_id, client_ip_address, uid=-1): """ Checks if a user hasn't already reported a comment @param cmt_id: comment id @param client_ip_address: IP => use: str(req.get_remote_host(apache.REMOTE_NOLOOKUP)) @param uid: user id, as given by invenio.webuser.getUid(req) """ cmt_id = wash_url_argument(cmt_id, 'int') client_ip_address = wash_url_argument(client_ip_address, 'str') uid = wash_url_argument(uid, 'int') query = """SELECT id_cmtRECORDCOMMENT FROM cmtACTIONHISTORY WHERE id_cmtRECORDCOMMENT=%i""" % cmt_id if uid < 0: query += " AND client_host=inet_aton('%s')" % client_ip_address else: query += " AND id_user=%i" % uid res = run_sql(query) return (len(res) == 0) def query_get_user_contact_info(uid): """ Get the user contact information @return tuple (nickname, email, last_login), if none found return () Note: for the moment, if no nickname, will return email address up to the '@' """ query1 = """SELECT nickname, email, DATE_FORMAT(last_login, '%%Y-%%m-%%d %%H:%%i:%%s') FROM user WHERE id=%s""" params1 = (uid,) res1 = run_sql(query1, params1) if res1: return res1[0] else: return () def query_get_user_reports_and_votes(uid): """ Retrieve total number of reports and votes of a particular user @param uid: user id @return tuple (total_nb_reports, total_nb_votes_yes, total_nb_votes_total) if none found return () """ query1 = """SELECT nb_votes_yes, nb_votes_total, nb_abuse_reports FROM cmtRECORDCOMMENT WHERE id_user=%s""" params1 = (uid,) res1 = run_sql(query1, params1) if len(res1) == 0: return () nb_votes_yes = nb_votes_total = nb_abuse_reports = 0 for cmt_tuple in res1: nb_votes_yes += int(cmt_tuple[0]) nb_votes_total += int(cmt_tuple[1]) nb_abuse_reports += int(cmt_tuple[2]) return (nb_abuse_reports, nb_votes_yes, nb_votes_total) def query_get_comment(comID): """ Get all fields of a comment @param comID: comment id @return tuple (comID, id_bibrec, id_user, body, date_creation, star_score, nb_votes_yes, nb_votes_total, title, nb_abuse_reports) if none found return () """ query1 = """SELECT id, id_bibrec, id_user, body, DATE_FORMAT(date_creation, '%%Y-%%m-%%d %%H:%%i:%%s'), star_score, nb_votes_yes, nb_votes_total, title, nb_abuse_reports FROM cmtRECORDCOMMENT WHERE id=%s""" params1 = (comID,) res1 = run_sql(query1, params1) if len(res1)>0: return res1[0] else: return () def query_record_report_this(comID): """ Increment the number of reports for a comment @param comID: comment id @return tuple (success, new_total_nb_reports_for_this_comment) where success is integer 1 if success, integer 0 if not if none found, return () """ #retrieve nb_abuse_reports query1 = "SELECT nb_abuse_reports FROM cmtRECORDCOMMENT WHERE id=%s" params1 = (comID,) res1 = run_sql(query1, params1) if len(res1)==0: return () #increment and update nb_abuse_reports = int(res1[0][0]) + 1 query2 = "UPDATE cmtRECORDCOMMENT SET nb_abuse_reports=%s WHERE id=%s" params2 = (nb_abuse_reports, comID) res2 = run_sql(query2, params2) return (int(res2), nb_abuse_reports) def query_record_useful_review(comID, value): """ private funciton Adjust the number of useful votes and number of total votes for a comment. @param comID: comment id @param value: +1 or -1 @return integer 1 if successful, integer 0 if not """ # retrieve nb_useful votes query1 = "SELECT nb_votes_total, nb_votes_yes FROM cmtRECORDCOMMENT WHERE id=%s" params1 = (comID,) res1 = run_sql(query1, params1) if len(res1)==0: return 0 # modify and insert new nb_useful votes nb_votes_yes = int(res1[0][1]) if value >= 1: nb_votes_yes = int(res1[0][1]) + 1 nb_votes_total = int(res1[0][0]) + 1 query2 = "UPDATE cmtRECORDCOMMENT SET nb_votes_total=%s, nb_votes_yes=%s WHERE id=%s" params2 = (nb_votes_total, nb_votes_yes, comID) res2 = run_sql(query2, params2) return int(res2) def query_retrieve_comments_or_remarks (recID, display_order='od', display_since='0000-00-00 00:00:00', ranking=0): """ Private function Retrieve tuple of comments or remarks from the database @param recID: record id @param display_order: hh = highest helpful score lh = lowest helpful score hs = highest star score ls = lowest star score od = oldest date nd = newest date @param display_since: datetime, e.g. 0000-00-00 00:00:00 @param ranking: boolean, enabled if reviews, disabled for comments @return tuple of comment where comment is tuple (nickname, date_creation, body, id) if ranking disabled or tuple (nickname, date_creation, body, nb_votes_yes, nb_votes_total, star_score, title, id) Note: for the moment, if no nickname, will return email address up to '@' """ display_since = calculate_start_date(display_since) order_dict = { 'hh' : "cmt.nb_votes_yes/(cmt.nb_votes_total+1) DESC, cmt.date_creation DESC ", 'lh' : "cmt.nb_votes_yes/(cmt.nb_votes_total+1) ASC, cmt.date_creation ASC ", 'ls' : "cmt.star_score ASC, cmt.date_creation DESC ", 'hs' : "cmt.star_score DESC, cmt.date_creation DESC ", 'od' : "cmt.date_creation ASC ", 'nd' : "cmt.date_creation DESC " } # Ranking only done for comments and when allowed if ranking and recID > 0: try: display_order = order_dict[display_order] except: display_order = order_dict['od'] else: # in case of recID > 0 => external record => no ranking! ranking = 0 try: if display_order[-1] == 'd': display_order = order_dict[display_order] else: display_order = order_dict['od'] except: display_order = order_dict['od'] query = """SELECT user.nickname, cmt.id_user, DATE_FORMAT(cmt.date_creation, '%%Y-%%m-%%d %%H:%%i:%%s'), cmt.body, %(ranking)s cmt.id FROM %(table)s cmt LEFT JOIN user ON user.id=cmt.id_user WHERE %(id_bibrec)s=%(recID)i %(ranking_only)s %(display_since)s ORDER BY %(display_order)s""" params = { 'ranking' : ranking and ' cmt.nb_votes_yes, cmt.nb_votes_total, cmt.star_score, cmt.title, ' or '', 'ranking_only' : ranking and ' AND cmt.star_score>0 ' or ' AND cmt.star_score=0 ', 'id_bibrec' : recID > 0 and 'cmt.id_bibrec' or 'cmt.id_bibrec_or_bskEXTREC', 'table' : recID > 0 and 'cmtRECORDCOMMENT' or 'bskRECORDCOMMENT', 'recID' : recID, 'display_since' : display_since=='0000-00-00 00:00:00' and ' ' or 'AND cmt.date_creation>=\'%s\' ' % display_since, 'display_order' : display_order } res = run_sql(query % params) if res: return res return () def query_add_comment_or_remark(reviews=0, recID=0, uid=-1, msg="", note="", score=0, priority=0, client_ip_address=''): """ Private function Insert a comment/review or remarkinto the database @param recID: record id @param uid: user id @param msg: comment body @param note: comment title @param score: review star score @param priority: remark priority #!FIXME @return integer >0 representing id if successful, integer 0 if not """ current_date = calculate_start_date('0d') #change utf-8 message into general unicode msg = msg.decode('utf-8') note = note.decode('utf-8') #change general unicode back to utf-8 msg = msg.encode('utf-8') note = note.encode('utf-8') query = """INSERT INTO cmtRECORDCOMMENT (id_bibrec, id_user, body, date_creation, star_score, nb_votes_total, title) VALUES (%s, %s, %s, %s, %s, %s, %s)""" params = (recID, uid, msg, current_date, score, 0, note) res = run_sql(query, params) if res: action_code = CFG_WEBCOMMENT_ACTION_CODE[reviews and 'ADD_REVIEW' or 'ADD_COMMENT'] action_time = convert_datestruct_to_datetext(time.localtime()) query2 = """INSERT INTO cmtACTIONHISTORY values ('', %i, %i, inet_aton('%s'), '%s', '%s')""" params2 = (recID, uid, client_ip_address, action_time, action_code) run_sql(query2%params2) return int(res) def calculate_start_date(display_since): """ Private function Returns the datetime of display_since argument in MYSQL datetime format calculated according to the local time. @param display_since = all= no filtering nd = n days ago nw = n weeks ago nm = n months ago ny = n years ago where n is a single digit number @return string of wanted datetime. If 'all' given as argument, will return datetext_default datetext_default is defined in miscutils/lib/dateutils and equals 0000-00-00 00:00:00 => MySQL format If bad arguement given, will return datetext_default """ # time type and seconds coefficients time_types = {'d':0, 'w':0, 'm':0, 'y':0} ## verify argument # argument wrong size if (display_since==(None or 'all')) or (len(display_since) > 2): return datetext_default try: nb = int(display_since[0]) except: return datetext_default if str(display_since[1]) in time_types: time_type = str(display_since[1]) else: return datetext_default ## calculate date # initialize the coef if time_type == 'w': time_types[time_type] = 7 else: time_types[time_type] = 1 start_time = time.localtime() start_time = (start_time[0] - nb*time_types['y'], start_time[1] - nb*time_types['m'], start_time[2] - nb*time_types['d'] - nb*time_types['w'], start_time[3], start_time[4], start_time[5], start_time[6], start_time[7], start_time[8]) return convert_datestruct_to_datetext(start_time) def get_first_comments_or_remarks(recID=-1, ln=cdslang, nb_comments='all', nb_reviews='all', voted=-1, reported=-1): """ Gets nb number comments/reviews or remarks. In the case of comments, will get both comments and reviews Comments and remarks sorted by most recent date, reviews sorted by highest helpful score @param recID: record id @param ln: language @param nb: number of comment/reviews or remarks to get @param voted: 1 if user has voted for a remark @param reported: 1 if user has reported a comment or review @return if comment, tuple (comments, reviews) both being html of first nb comments/reviews if remark, tuple (remakrs, None) """ warnings = [] errors = [] voted = wash_url_argument(voted, 'int') reported = wash_url_argument(reported, 'int') ## check recID argument if type(recID) is not int: return () if recID >= 1: #comment or review. NB: suppressed reference to basket (handled in webbasket) if CFG_WEBCOMMENT_ALLOW_REVIEWS: res_reviews = query_retrieve_comments_or_remarks(recID=recID, display_order="hh", ranking=1) nb_res_reviews = len(res_reviews) ## check nb argument if type(nb_reviews) is int and nb_reviews < len(res_reviews): first_res_reviews = res_reviews[:nb_reviews] else: if nb_res_reviews > CFG_WEBCOMMENT_NB_REVIEWS_IN_DETAILED_VIEW: first_res_reviews = res_reviews[:CFG_WEBCOMMENT_NB_REPORTS_BEFORE_SEND_EMAIL_TO_ADMIN] else: first_res_reviews = res_reviews if CFG_WEBCOMMENT_ALLOW_COMMENTS: res_comments = query_retrieve_comments_or_remarks(recID=recID, display_order="od", ranking=0) nb_res_comments = len(res_comments) ## check nb argument if type(nb_comments) is int and nb_comments < len(res_comments): first_res_comments = res_comments[:nb_comments] else: if nb_res_comments > CFG_WEBCOMMENT_NB_COMMENTS_IN_DETAILED_VIEW: first_res_comments = res_comments[:CFG_WEBCOMMENT_NB_COMMENTS_IN_DETAILED_VIEW] else: first_res_comments = res_comments else: #error errors.append(('ERR_WEBCOMMENT_RECID_INVALID', recID)) #!FIXME dont return error anywhere since search page # comment if recID >= 1: comments = reviews = "" if reported > 0: warnings.append(('WRN_WEBCOMMENT_FEEDBACK_RECORDED_GREEN_TEXT',)) elif reported == 0: warnings.append(('WRN_WEBCOMMENT_FEEDBACK_NOT_RECORDED_RED_TEXT',)) if CFG_WEBCOMMENT_ALLOW_COMMENTS: # normal comments comments = webcomment_templates.tmpl_get_first_comments_without_ranking(recID, ln, first_res_comments, nb_res_comments, warnings) if CFG_WEBCOMMENT_ALLOW_REVIEWS: # ranked comments #calculate average score avg_score = calculate_avg_score(res_reviews) if voted > 0: warnings.append(('WRN_WEBCOMMENT_FEEDBACK_RECORDED_GREEN_TEXT',)) elif voted == 0: warnings.append(('WRN_WEBCOMMENT_FEEDBACK_NOT_RECORDED_RED_TEXT',)) reviews = webcomment_templates.tmpl_get_first_comments_with_ranking(recID, ln, first_res_reviews, nb_res_reviews, avg_score, warnings) return (comments, reviews) # remark else: return(webcomment_templates.tmpl_get_first_remarks(first_res_comments, ln, nb_res_comments), None) def calculate_avg_score(res): """ private function Calculate the avg score of reviews present in res @param res: tuple of tuple returned from query_retrieve_comments_or_remarks @return a float of the average score rounded to the closest 0.5 """ c_star_score = 6 avg_score = 0.0 nb_reviews = 0 for comment in res: if comment[c_star_score] > 0: avg_score += comment[c_star_score] nb_reviews += 1 if nb_reviews == 0: return 0.0 avg_score = avg_score / nb_reviews avg_score_unit = avg_score - math.floor(avg_score) if avg_score_unit < 0.25: avg_score = math.floor(avg_score) elif avg_score_unit > 0.75: avg_score = math.floor(avg_score) + 1 else: avg_score = math.floor(avg_score) + 0.5 if avg_score > 5: avg_score = 5.0 return avg_score def perform_request_add_comment_or_remark(recID=0, uid=-1, action='DISPLAY', ln=cdslang, msg=None, score=None, note=None, priority=None, reviews=0, comID=-1, client_ip_address=None): """ Add a comment/review or remark @param recID: record id @param uid: user id @param action: 'DISPLAY' to display add form 'SUBMIT' to submit comment once form is filled 'REPLY' to reply to an existing comment @param ln: language @param msg: the body of the comment/review or remark @param score: star score of the review @param note: title of the review @param priority: priority of remark (int) @param reviews: boolean, if enabled will add a review, if disabled will add a comment @param comID: if replying, this is the comment id of the commetn are replying to @return html add form if action is display or reply html successful added form if action is submit """ warnings = [] errors = [] actions = ['DISPLAY', 'REPLY', 'SUBMIT'] _ = gettext_set_language(ln) ## check arguments check_recID_is_in_range(recID, warnings, ln) if uid <= 0: errors.append(('ERR_WEBCOMMENT_UID_INVALID', uid)) return ('', errors, warnings) user_contact_info = query_get_user_contact_info(uid) nickname = '' if user_contact_info: if user_contact_info[0]: nickname = user_contact_info[0] # show the form if action == 'DISPLAY': if reviews and CFG_WEBCOMMENT_ALLOW_REVIEWS: return (webcomment_templates.tmpl_add_comment_form_with_ranking(recID, uid, nickname, ln, msg, score, note, warnings), errors, warnings) elif not reviews and CFG_WEBCOMMENT_ALLOW_COMMENTS: return (webcomment_templates.tmpl_add_comment_form(recID, uid, nickname, ln, msg, warnings), errors, warnings) else: errors.append(('ERR_WEBCOMMENT_COMMENTS_NOT_ALLOWED',)) elif action == 'REPLY': if reviews and CFG_WEBCOMMENT_ALLOW_REVIEWS: errors.append(('ERR_WEBCOMMENT_REPLY_REVIEW',)) return (webcomment_templates.tmpl_add_comment_form_with_ranking(recID, uid, nickname, ln, msg, score, note, warnings), errors, warnings) elif not reviews and CFG_WEBCOMMENT_ALLOW_COMMENTS: if comID > 0: comment = query_get_comment(comID) if comment: user_info = get_user_info(comment[2]) if user_info: date_creation = convert_datetext_to_dategui(str(comment[4])) msg = _("%(x_name)s wrote on %(x_date)s:")% {'x_name': user_info[2], 'x_date': date_creation} msg += "\n\n" + comment[3] msg = email_quote_txt(text=msg) return (webcomment_templates.tmpl_add_comment_form(recID, uid, nickname, ln, msg, warnings), errors, warnings) else: errors.append(('ERR_WEBCOMMENT_COMMENTS_NOT_ALLOWED',)) # check before submitting form elif action == 'SUBMIT': if reviews and CFG_WEBCOMMENT_ALLOW_REVIEWS: if note.strip() in ["", "None"]: warnings.append(('WRN_WEBCOMMENT_ADD_NO_TITLE',)) if score == 0 or score > 5: warnings.append(("WRN_WEBCOMMENT_ADD_NO_SCORE",)) if msg.strip() in ["", "None"]: warnings.append(('WRN_WEBCOMMENT_ADD_NO_BODY',)) # if no warnings, submit if len(warnings) == 0: if reviews: if check_user_can_review(recID, client_ip_address, uid): success = query_add_comment_or_remark(reviews, recID=recID, uid=uid, msg=msg, note=note, score=score, priority=0, client_ip_address=client_ip_address) else: warnings.append('WRN_WEBCOMMENT_CANNOT_REVIEW_TWICE') success = 1 else: if check_user_can_comment(recID, client_ip_address, uid): success = query_add_comment_or_remark(reviews, recID=recID, uid=uid, msg=msg, note=note, score=score, priority=0, client_ip_address=client_ip_address) else: warnings.append('WRN_WEBCOMMENT_TIMELIMIT') success = 1 if success > 0: if CFG_WEBCOMMENT_ADMIN_NOTIFICATION_LEVEL > 0: notify_admin_of_new_comment(comID=success) return (webcomment_templates.tmpl_add_comment_successful(recID, ln, reviews, warnings), errors, warnings) else: errors.append(('ERR_WEBCOMMENT_DB_INSERT_ERROR')) # if are warnings or if inserting comment failed, show user where warnings are if reviews and CFG_WEBCOMMENT_ALLOW_REVIEWS: return (webcomment_templates.tmpl_add_comment_form_with_ranking(recID, uid, nickname, ln, msg, score, note, warnings), errors, warnings) else: return (webcomment_templates.tmpl_add_comment_form(recID, uid, nickname, ln, msg, warnings), errors, warnings) # unknown action send to display else: warnings.append(('WRN_WEBCOMMENT_ADD_UNKNOWN_ACTION',)) if reviews and CFG_WEBCOMMENT_ALLOW_REVIEWS: return (webcomment_templates.tmpl_add_comment_form_with_ranking(recID, uid, ln, msg, score, note, warnings), errors, warnings) else: return (webcomment_templates.tmpl_add_comment_form(recID, uid, ln, msg, warnings), errors, warnings) return ('', errors, warnings) def notify_admin_of_new_comment(comID): """ Sends an email to the admin with details regarding comment with ID = comID """ comment = query_get_comment(comID) if len(comment) > 0: (comID2, id_bibrec, id_user, body, date_creation, star_score, nb_votes_yes, nb_votes_total, title, nb_abuse_reports) = comment else: return user_info = query_get_user_contact_info(id_user) if len(user_info) > 0: (nickname, email, last_login) = user_info if not len(nickname) > 0: nickname = email.split('@')[0] else: nickname = email = last_login = "ERROR: Could not retrieve" from invenio.search_engine import print_record record = print_record(recID=id_bibrec, format='hs') review_stuff = ''' Star score = %s Title = %s''' % (star_score, title) out = ''' The following %(comment_or_review)s has just been posted (%(date)s). AUTHOR: Nickname = %(nickname)s Email = %(email)s User ID = %(uid)s RECORD CONCERNED: Record ID = %(recID)s Record = %(record_details)s %(comment_or_review_caps)s: %(comment_or_review)s ID = %(comID)s %(review_stuff)s Body = %(body)s ADMIN OPTIONS: To delete comment go to %(weburl)s/admin/webcomment/webcommentadmin.py/delete?comid=%(comID)s ''' % \ { 'comment_or_review' : star_score>0 and 'review' or 'comment', 'comment_or_review_caps': star_score>0 and 'REVIEW' or 'COMMENT', 'date' : date_creation, 'nickname' : nickname, 'email' : email, 'uid' : id_user, 'recID' : id_bibrec, 'record_details' : record, 'comID' : comID2, 'review_stuff' : star_score>0 and review_stuff or "", 'body' : body.replace('
','\n'), 'weburl' : weburl } from_addr = '%s WebComment <%s>' % (cdsname, alertengineemail) to_addr = adminemail subject = "A new comment/review has just been posted" - from invenio.alert_engine import send_email, forge_email - out = forge_email(from_addr, to_addr, subject, out) - send_email(from_addr, to_addr, out) + send_email(from_addr, to_addr, subject, out) def check_recID_is_in_range(recID, warnings=[], ln=cdslang): """ Check that recID is >= 0 Append error messages to errors listi @param recID: record id @param warnings: the warnings list of the calling function @return tuple (boolean, html) where boolean (1=true, 0=false) and html is the body of the page to display if there was a problem """ # Make errors into a list if needed if type(warnings) is not list: errors = [warnings] try: recID = int(recID) except: pass if type(recID) is int: if recID > 0: from invenio.search_engine import record_exists success = record_exists(recID) if success == 1: return (1,"") else: warnings.append(('ERR_WEBCOMMENT_RECID_INEXISTANT', recID)) return (0, webcomment_templates.tmpl_record_not_found(status='inexistant', recID=recID, ln=ln)) elif recID == 0: warnings.append(('ERR_WEBCOMMENT_RECID_MISSING',)) return (0, webcomment_templates.tmpl_record_not_found(status='missing', recID=recID, ln=ln)) else: warnings.append(('ERR_WEBCOMMENT_RECID_INVALID', recID)) return (0, webcomment_templates.tmpl_record_not_found(status='invalid', recID=recID, ln=ln)) else: warnings.append(('ERR_WEBCOMMENT_RECID_NAN', recID)) return (0, webcomment_templates.tmpl_record_not_found(status='nan', recID=recID, ln=ln)) def check_int_arg_is_in_range(value, name, errors, gte_value, lte_value=None): """ Check that variable with name 'name' >= gte_value and optionally <= lte_value Append error messages to errors list @param value: variable value @param name: variable name @param errors: list of error tuples (error_id, value) @param gte_value: greater than or equal to value @param lte_value: less than or equal to value @return boolean (1=true, 0=false) """ # Make errors into a list if needed if type(errors) is not list: errors = [errors] if type(value) is not int or type(gte_value) is not int: errors.append(('ERR_WEBCOMMENT_PROGRAMNING_ERROR',)) return 0 if type(value) is not int: errors.append(('ERR_WEBCOMMENT_ARGUMENT_NAN', value)) return 0 if value < gte_value: errors.append(('ERR_WEBCOMMENT_ARGUMENT_INVALID', value)) return 0 if lte_value: if type(lte_value) is not int: errors.append(('ERR_WEBCOMMENT_PROGRAMNING_ERROR',)) return 0 if value > lte_value: errors.append(('ERR_WEBCOMMENT_ARGUMENT_INVALID', value)) return 0 return 1 diff --git a/modules/websession/lib/websession_templates.py b/modules/websession/lib/websession_templates.py index fe851cf25..32a2c0f68 100644 --- a/modules/websession/lib/websession_templates.py +++ b/modules/websession/lib/websession_templates.py @@ -1,2117 +1,2109 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. __revision__ = "$Id$" import urllib import time import cgi import gettext import string import locale from invenio.config import \ CFG_CERN_SITE, \ bibformat, \ cdslang, \ cdsname, \ cdsnameintl, \ supportemail, \ sweburl, \ version, \ weburl from invenio.access_control_config import CFG_EXTERNAL_AUTH_USING_SSO, \ CFG_EXTERNAL_AUTH_LOGOUT_SSO from invenio.websession_config import CFG_WEBSESSION_RESET_PASSWORD_EXPIRE_IN_DAYS from invenio.urlutils import make_canonical_urlargd from invenio.messages import gettext_set_language from invenio.textutils import indent_text from invenio.websession_config import CFG_WEBSESSION_GROUP_JOIN_POLICY class Template: def tmpl_back_form(self, ln, message, act, link): """ A standard one-message-go-back-link page. Parameters: - 'ln' *string* - The language to display the interface in - 'message' *string* - The message to display - 'act' *string* - The action to accomplish when going back - 'link' *string* - The link text """ out = """
%(message)s %(link)s
"""% { 'message' : message, 'act' : act, 'link' : link, 'ln' : ln } return out def tmpl_external_setting(self, ln, key, value): _ = gettext_set_language(ln) out = """ %s: %s """ % (key, value) return out def tmpl_external_user_settings(self, ln, html_settings): _ = gettext_set_language(ln) out = """

%(external_user_settings)s

%(html_settings)s

%(external_user_groups)s

%(consult_external_groups)s

""" % { 'external_user_settings' : _('External account settings'), 'html_settings' : html_settings, 'consult_external_groups' : _('You can consult the list of your external groups directly in the %(x_url_open)sgroups page%(x_url_close)s.') % { 'x_url_open' : '' % ln, 'x_url_close' : '' }, 'external_user_groups' : _('External user groups'), } return out def tmpl_user_preferences(self, ln, email, email_disabled, password_disabled, nickname): """ Displays a form for the user to change his email/password. Parameters: - 'ln' *string* - The language to display the interface in - 'email' *string* - The email of the user - 'email_disabled' *boolean* - If the user has the right to edit his email - 'password_disabled' *boolean* - If the user has the right to edit his password - 'nickname' *string* - The nickname of the user (empty string if user does not have it) """ # load the right message language _ = gettext_set_language(ln) out = """

%(edit_params)s

%(change_user)s

%(nickname_label)s:
(%(mandatory)s)
%(nickname_prefix)s%(nickname)s%(nickname_suffix)s
%(new_email)s:
(%(mandatory)s)

%(example)s: john.doe@example.com
   
""" % { 'change_user' : _("If you want to change your email or set for the first time your nickname, please set new values in the form below."), 'edit_params' : _("Edit login credentials"), 'nickname_label' : _("Nickname"), 'nickname' : nickname, 'nickname_prefix' : nickname=='' and '
'+_("Example")+':johnd' or '', 'new_email' : _("New email address"), 'mandatory' : _("mandatory"), 'example' : _("Example"), 'note' : _("Note"), 'set_values' : _("Set new values"), 'email' : email, 'email_disabled' : email_disabled and "readonly" or "", 'sweburl': sweburl, } if not password_disabled and not CFG_EXTERNAL_AUTH_USING_SSO: out += """

%(change_pass)s

%(old_password)s:
(%(mandatory)s)

%(note)s: %(old_password_note)s
%(new_password)s:
(%(optional)s)

%(note)s: %(password_note)s
%(retype_password)s:
   
""" % { 'change_pass' : _("If you want to change your password, please enter the old one and set the new value in the form below."), 'mandatory' : _("mandatory"), 'old_password' : _("Old password"), 'new_password' : _("New password"), 'optional' : _("optional"), 'note' : _("Note"), 'password_note' : _("The password phrase may contain punctuation, spaces, etc."), 'old_password_note' : _("You must fill the old password in order to set a new one."), 'retype_password' : _("Retype password"), 'set_values' : _("Set new password"), 'password_disabled' : password_disabled and "disabled" or "", 'sweburl': sweburl, } elif not CFG_EXTERNAL_AUTH_USING_SSO and CFG_CERN_SITE: out += "

" + _("""If you are using a lightweight CERN account you can %(x_url_open)sreset the password%(x_url_close)s.""") % \ {'x_url_open' : \ '' \ % (make_canonical_urlargd({'email': email, 'returnurl' : sweburl + '/youraccount/edit' + make_canonical_urlargd({'lang' : ln}, {})}, {})), 'x_url_close' : ''} + "

" elif CFG_EXTERNAL_AUTH_USING_SSO and CFG_CERN_SITE: out += "

" + _("""You can change or reset your CERN account password by means of the %(x_url_open)sCERN account system%(x_url_close)s.""") % \ {'x_url_open' : '', 'x_url_close' : ''} + "

" return out def tmpl_user_websearch_edit(self, ln, current = 10, show_latestbox = True, show_helpbox = True): _ = gettext_set_language(ln) out = """

%(edit_websearch_settings)s

%(show_latestbox)s
%(show_helpbox)s
%(select_group_records)s
""" % { 'update_settings' : _("Update settings"), 'select_group_records' : _("Number of search results per page"), } return out def tmpl_user_external_auth(self, ln, methods, current, method_disabled): """ Displays a form for the user to change his authentication method. Parameters: - 'ln' *string* - The language to display the interface in - 'methods' *array* - The methods of authentication - 'method_disabled' *boolean* - If the user has the right to change this - 'current' *string* - The currently selected method """ # load the right message language _ = gettext_set_language(ln) out = """
%(edit_method)s

%(explain_method)s:

%(select_method)s: """ % { 'edit_method' : _("Edit login method"), 'explain_method' : _("Please select which login method you would like to use to authenticate yourself"), 'select_method' : _("Select method"), 'sweburl': sweburl, } for system in methods: out += """%(system)s
""" % { 'system' : system, 'disabled' : method_disabled and 'disabled="disabled"' or "", 'selected' : current == system and 'checked="checked"' or "", } out += """
 
""" % { 'select_method' : _("Select method"), } return out def tmpl_lost_password_form(self, ln): """ Displays a form for the user to ask for his password sent by email. Parameters: - 'ln' *string* - The language to display the interface in - 'msg' *string* - Explicative message on top of the form. """ # load the right message language _ = gettext_set_language(ln) out = "

" + _("If you have lost password for your %(cdsname)s %(x_fmt_open)sinternal account%(x_fmt_close)s, then please enter your email address in the following form and having a request link for a new password emailed to you.") % {'x_fmt_open' : '', 'x_fmt_close' : '', 'cdsname' : cdsnameintl[ln]} + "

" out += """
%(email)s:
 
""" % { 'ln': ln, 'email' : _("Email address"), 'send' : _("Send new password"), } if CFG_CERN_SITE: out += "

" + _("If you have been using the %(x_fmt_open)sCERN login system%(x_fmt_close)s, then you can recover your password through the %(x_url_open)sCERN authentication system%(x_url_close)s.") % {'x_fmt_open' : '', 'x_fmt_close' : '', 'x_url_open' : '' \ % make_canonical_urlargd({'lf': 'auth', 'returnURL' : sweburl + '/youraccount/login?ln='+ln}, {}), 'x_url_close' : ''} + " " else: out += "

" + _("Note that if you have been using an external login system, then we cannot do anything and you have to ask there.") + " " out += _("Alternatively, you can ask %s to change your login system from external to internal.") % ("""%(email)s""" % { 'email' : supportemail }) + "

" return out def tmpl_account_info(self, ln, uid, guest, CFG_CERN_SITE): """ Displays the account information Parameters: - 'ln' *string* - The language to display the interface in - 'uid' *string* - The user id - 'guest' *boolean* - If the user is guest - 'CFG_CERN_SITE' *boolean* - If the site is a CERN site """ # load the right message language _ = gettext_set_language(ln) out = """

%(account_offer)s

""" % { 'account_offer' : _("%s offers you the possibility to personalize the interface, to set up your own personal library of documents, or to set up an automatic alert query that would run periodically and would notify you of search results by email.") % cdsnameintl[ln], } if not guest: out += """
%(your_settings)s
%(change_account)s
""" % { 'ln' : ln, 'your_settings' : _("Your Settings"), 'change_account' : _("Set or change your account email address or password. Specify your preferences about the look and feel of the interface.") } out += """
%(your_searches)s
%(search_explain)s
%(your_baskets)s
%(basket_explain)s""" % { 'ln' : ln, 'your_searches' : _("Your Searches"), 'search_explain' : _("View all the searches you performed during the last 30 days."), 'your_baskets' : _("Your Baskets"), 'basket_explain' : _("With baskets you can define specific collections of items, store interesting records you want to access later or share with others."), } if guest: out += self.tmpl_warning_guest_user(ln = ln, type = "baskets") out += """
%(your_alerts)s
%(explain_alerts)s""" % { 'ln' : ln, 'your_alerts' : _("Your Alerts"), 'explain_alerts' : _("Subscribe to a search which will be run periodically by our service. The result can be sent to you via Email or stored in one of your baskets."), } if guest: out += self.tmpl_warning_guest_user(type="alerts", ln = ln) out += "
" if CFG_CERN_SITE: out += """
%(your_loans)s
%(explain_loans)s
""" % { 'your_loans' : _("Your Loans"), 'explain_loans' : _("Check out book you have on loan, submit borrowing requests, etc. Requires CERN ID."), } out += """
""" return out def tmpl_warning_guest_user(self, ln, type): """ Displays a warning message about the specified type Parameters: - 'ln' *string* - The language to display the interface in - 'type' *string* - The type of data that will get lost in case of guest account (for the moment: 'alerts' or 'baskets') """ # load the right message language _ = gettext_set_language(ln) if (type=='baskets'): msg = _("You are logged in as a guest user, so your baskets will disappear at the end of the current session.") + ' ' elif (type=='alerts'): msg = _("You are logged in as a guest user, so your alerts will disappear at the end of the current session.") + ' ' msg += _("If you wish you can %(x_url_open)slogin or register here%(x_url_close)s.") % {'x_url_open': '', 'x_url_close': ''} return """
%s
""" % msg def tmpl_account_body(self, ln, user): """ Displays the body of the actions of the user Parameters: - 'ln' *string* - The language to display the interface in - 'user' *string* - The username (nickname or email) """ # load the right message language _ = gettext_set_language(ln) out = _("You are logged in as %(x_user)s. You may want to a) %(x_url1_open)slogout%(x_url1_close)s; b) edit your %(x_url2_open)saccount settings%(x_url2_close)s.") %\ {'x_user': user, 'x_url1_open': '', 'x_url1_close': '', 'x_url2_open': '', 'x_url2_close': '', } return out + "

" def tmpl_account_template(self, title, body, ln): """ Displays a block of the your account page Parameters: - 'ln' *string* - The language to display the interface in - 'title' *string* - The title of the block - 'body' *string* - The body of the block """ out ="" out +=""" """ % (title, body) return out def tmpl_account_page(self, ln, weburl, accBody, baskets, alerts, searches, messages, groups, administrative): """ Displays the your account page Parameters: - 'ln' *string* - The language to display the interface in - 'weburl' *string* - The URL of CDS Invenio - 'accBody' *string* - The body of the heading block - 'baskets' *string* - The body of the baskets block - 'alerts' *string* - The body of the alerts block - 'searches' *string* - The body of the searches block - 'messages' *string* - The body of the messages block - 'groups' *string* - The body of the groups block - 'administrative' *string* - The body of the administrative block """ # load the right message language _ = gettext_set_language(ln) out = "" out += self.tmpl_account_template(_("Your Account"), accBody, ln) out += self.tmpl_account_template(_("Your Messages"), messages, ln) out += self.tmpl_account_template(_("Your Baskets"), baskets, ln) out += self.tmpl_account_template(_("Your Alert Searches"), alerts, ln) out += self.tmpl_account_template(_("Your Searches"), searches, ln) groups_description = _("You can consult the list of %(x_url_open)syour groups%(x_url_close)s you are administering or are a member of.") groups_description %= {'x_url_open': '', 'x_url_close': ''} out += self.tmpl_account_template(_("Your Groups"), groups_description, ln) submission_description = _("You can consult the list of %(x_url_open)syour submissions%(x_url_close)s and inquire about their status.") submission_description %= {'x_url_open': '', 'x_url_close': ''} out += self.tmpl_account_template(_("Your Submissions"), submission_description, ln) approval_description = _("You can consult the list of %(x_url_open)syour approvals%(x_url_close)s with the documents you approved or refereed.") approval_description %= {'x_url_open': '', 'x_url_close': ''} out += self.tmpl_account_template(_("Your Approvals"), approval_description, ln) out += self.tmpl_account_template(_("Your Administrative Activities"), administrative, ln) return out def tmpl_account_emailMessage(self, ln, msg): """ Displays a link to retrieve the lost password Parameters: - 'ln' *string* - The language to display the interface in - 'msg' *string* - Explicative message on top of the form. """ # load the right message language _ = gettext_set_language(ln) out ="" out +=""" %(msg)s %(try_again)s """ % { 'ln' : ln, 'msg' : msg, 'try_again' : _("Try again") } return out def tmpl_account_reset_password_email_body(self, email, reset_key, ip_address, ln=cdslang): """ The body of the email that sends lost internal account passwords to users. """ _ = gettext_set_language(ln) out = """\ -%(hello)s: - %(intro)s %(intro2)s <%(link)s> %(outro)s %(outro2)s - -%(best_regards)s --- -%(cdsnameintl)s <%(weburl)s> -%(need_intervention_please_contact)s <%(supportemail)s> - """ % { +""" % { 'hello': _("Hello"), 'intro': _("Somebody (possibly you) coming from %(ip_address)s " "have asked for a\npassword reset for %(cdsname)s for " "the account \"%(email)s\"." % { 'cdsname' :cdsnameintl.get(ln, cdsname), 'email' : email, 'ip_address' : ip_address, } ), 'intro2' : _("If you want to reset the password for this account, please go to:"), - 'link' : "%s/youraccount/resetpassword%s" % + 'link' : "%s/youraccount/mailcookie%s" % (sweburl, make_canonical_urlargd({ 'ln' : ln, - 'e' : email, - 'k' : reset_key + 'cookie' : reset_key }, {})), 'outro' : _("and follow the instructions presented there."), 'outro2' : _("Please note that this URL will remain valid only for about %(days)s day(s).") % {'days' : CFG_WEBSESSION_RESET_PASSWORD_EXPIRE_IN_DAYS}, 'best_regards': _("Best regards"), 'cdsnameintl' :cdsnameintl.get(ln, cdsname), 'weburl': weburl, 'need_intervention_please_contact': _("Need human intervention? Contact"), 'supportemail': supportemail } return out def tmpl_account_emailSent(self, ln, email): """ Displays a confirmation message for an email sent Parameters: - 'ln' *string* - The language to display the interface in - 'email' *string* - The email to which the message has been sent """ # load the right message language _ = gettext_set_language(ln) out ="" out += _("Okay, request for a new password has been emailed to %s.") % email return out def tmpl_account_delete(self, ln): """ Displays a confirmation message about deleting the account Parameters: - 'ln' *string* - The language to display the interface in """ # load the right message language _ = gettext_set_language(ln) out = "

" + _("""Deleting your account""") + '

' return out def tmpl_account_logout(self, ln): """ Displays a confirmation message about logging out Parameters: - 'ln' *string* - The language to display the interface in """ # load the right message language _ = gettext_set_language(ln) out = _("You are no longer recognized by our system.") + ' ' if CFG_EXTERNAL_AUTH_USING_SSO and CFG_EXTERNAL_AUTH_LOGOUT_SSO: out += _("""You are still recognized by the centralized %(x_fmt_open)sSSO%(x_fmt_close)s system. You can %(x_url_open)slogout from SSO%(x_url_close)s, too.""") % \ {'x_fmt_open' : '', 'x_fmt_close' : '', 'x_url_open' : '' % CFG_EXTERNAL_AUTH_LOGOUT_SSO, 'x_url_close' : ''} out += '
' out += _("If you wish you can %(x_url_open)slogin here%(x_url_close)s.") % \ {'x_url_open': '', 'x_url_close': ''} return out def tmpl_login_form(self, ln, referer, internal, register_available, methods, selected_method, supportemail, msg=None): """ Displays a login form Parameters: - 'ln' *string* - The language to display the interface in - 'referer' *string* - The referer URL - will be redirected upon after login - 'internal' *boolean* - If we are producing an internal authentication - 'register_available' *boolean* - If users can register freely in the system - 'methods' *array* - The available authentication methods - 'selected_method' *string* - The default authentication method - 'supportemail' *string* - The email of the support team - 'msg' *string* - The message to print before the form, if needed """ # load the right message language _ = gettext_set_language(ln) if msg is None: out = "

%(please_login)s" % { 'please_login' : _("If you already have an account, please login using the form below.") } if CFG_CERN_SITE: out += "

" + _("If you don't own a CERN account yet, you can register a %(x_url_open)snew CERN external account%(x_url_close)s.") % {'x_url_open' : '', 'x_url_close' : ''} + "

" else: if register_available: out += "

"+_("If you don't own an account yet, please %(x_url_open)sregister%(x_url_close)s an internal account.") %\ {'x_url_open': '', 'x_url_close': ''} + "

" else: out += "

" + _("It is not possible to create an account yourself. Contact %s if you want an account.") % ('%s' % (supportemail, supportemail)) + "

" else: out = "

%s

" % msg out += """
""" if len(methods) > 1: # more than one method, must make a select login_select = """" out += """ """ % { 'login_title' : _("Login method:"), 'login_select' : login_select, } else: # only one login method available out += """""" % (methods[0]) out += """
%(login_title)s %(login_select)s
%(username)s:
%(password)s:
""" % { 'ln': ln, 'referer' : cgi.escape(referer), 'username' : _("Username"), 'password' : _("Password"), 'login' : _("login"), } if internal: out += """   (%(lost_pass)s)""" % { 'ln' : ln, 'lost_pass' : _("Lost your password?") } out += """
""" out += """

%(note)s: %(note_text)s

""" % { 'note' : _("Note"), 'note_text': _("You can use your nickname or your email address to login.")} return out def tmpl_lost_your_password_teaser(self, ln=cdslang): """Displays a short sentence to attract user to the fact that maybe he lost his password. Used by the registration page. """ _ = gettext_set_language(ln) out = "" out += """%(maybe_lost_pass)s""" % { 'ln' : ln, 'maybe_lost_pass': ("Maybe you have lost your password?") } return out def tmpl_reset_password_form(self, ln, email, reset_key, msg=''): """Display a form to reset the password.""" _ = gettext_set_language(ln) out = "" out = "

%s

" % _("Your request is valid. Please set the new " "desired password in the following form.") if msg: out += """

%s

""" % msg out += """
%(set_password_for)s:%(email)s
%(type_new_password)s:
%(type_it_again)s:
""" % { 'ln' : ln, 'reset_key' : reset_key, 'email' : email, 'set_password_for' : _('Set a new password for'), 'type_new_password' : _('Type the new password'), 'type_it_again' : _('Type again the new password'), 'set_new_password' : _('Set the new password') } return out def tmpl_register_page(self, ln, referer, level, supportemail, cdsname): """ Displays a login form Parameters: - 'ln' *string* - The language to display the interface in - 'referer' *string* - The referer URL - will be redirected upon after login - 'level' *int* - Login level (0 - all access, 1 - accounts activated, 2+ - no self-registration) - 'supportemail' *string* - The email of the support team - 'cdsname' *string* - The name of the installation """ # load the right message language _ = gettext_set_language(ln) out = "" if level <= 1: out += _("Please enter your email address and desired nickname and password:") if level == 1: out += _("It will not be possible to use the account before it has been verified and activated.") out += """
%(email_address)s:
(%(mandatory)s)

%(example)s: john.doe@example.com
%(nickname)s:
(%(mandatory)s)

%(example)s: johnd
%(password)s:
(%(optional)s)

%(note)s: %(password_contain)s
%(retype)s:

%(note)s: %(explain_acc)s""" % { 'referer' : cgi.escape(referer), 'email_address' : _("Email address"), 'nickname' : _("Nickname"), 'password' : _("Password"), 'mandatory' : _("mandatory"), 'optional' : _("optional"), 'example' : _("Example"), 'note' : _("Note"), 'password_contain' : _("The password phrase may contain punctuation, spaces, etc."), 'retype' : _("Retype Password"), 'register' : _("register"), 'explain_acc' : _("Please do not use valuable passwords such as your Unix, AFS or NICE passwords with this service. Your email address will stay strictly confidential and will not be disclosed to any third party. It will be used to identify you for personal services of %s. For example, you may set up an automatic alert search that will look for new preprints and will notify you daily of new arrivals by email.") % cdsname, } return out def tmpl_account_adminactivities(self, ln, weburl, uid, guest, roles, activities): """ Displays the admin activities block for this user Parameters: - 'ln' *string* - The language to display the interface in - 'weburl' *string* - The address of the site - 'uid' *string* - The used id - 'guest' *boolean* - If the user is guest - 'roles' *array* - The current user roles - 'activities' *array* - The user allowed activities """ # load the right message language _ = gettext_set_language(ln) out = "" # guest condition if guest: return _("You seem to be a guest user. You have to %(x_url_open)slogin%(x_url_close)s first.") % \ {'x_url_open': '', 'x_url_close': ''} # no rights condition if not roles: return "

" + _("You are not authorized to access administrative functions.") + "

" # displaying form out += "

" + _("You seem to be %(x_role)s.") % {'x_role': ('' + string.join(roles, ", ") + " ")} + '

' out += _("Here are some interesting web admin links for you:") # print proposed links: activities.sort(lambda x, y: cmp(string.lower(x), string.lower(y))) for action in activities: if action == "runbibedit": out += """
   
%s""" % (weburl, ln, _("Run BibEdit")) if action == "cfgbibformat": out += """
    %s""" % (weburl, ln, _("Configure BibFormat")) if action == "cfgbibharvest": out += """
    %s""" % (weburl, _("Configure BibHarvest")) if action == "cfgbibindex": out += """
    %s""" % (weburl, ln, _("Configure BibIndex")) if action == "cfgbibrank": out += """
    %s""" % (weburl, ln, _("Configure BibRank")) if action == "cfgwebaccess": out += """
    %s""" % (weburl, ln, _("Configure WebAccess")) if action == "cfgwebcomment": out += """
    %s""" % (weburl, ln, _("Configure WebComment")) if action == "cfgwebsearch": out += """
    %s""" % (weburl, ln, _("Configure WebSearch")) if action == "cfgwebsubmit": out += """
    %s""" % (weburl, ln, _("Configure WebSubmit")) out += "
" + _("For more admin-level activities, see the complete %(x_url_open)sAdmin Area%(x_url_close)s.") %\ {'x_url_open': '', 'x_url_close': ''} return out def tmpl_create_userinfobox(self, ln, url_referer, guest, username, submitter, referee, admin): """ Displays the user block Parameters: - 'ln' *string* - The language to display the interface in - 'url_referer' *string* - URL of the page being displayed - 'guest' *boolean* - If the user is guest - 'username' *string* - The username (nickname or email) - 'submitter' *boolean* - If the user is submitter - 'referee' *boolean* - If the user is referee - 'admin' *boolean* - If the user is admin """ # load the right message language _ = gettext_set_language(ln) out = """""" % weburl if guest: out += """%(guest_msg)s :: %(login)s""" % { 'weburl' : weburl, 'sweburl': sweburl, 'ln' : ln, 'guest_msg' : _("guest"), 'session' : _("session"), 'alerts' : _("alerts"), 'baskets' : _("baskets"), 'login' : _("login"), } else: out += """%(username)s :: %(account)s :: %(messages)s :: %(baskets)s :: %(alerts)s :: %(groups)s :: """ % { 'username' : username, 'weburl' : weburl, 'sweburl' : sweburl, 'ln' : ln, 'account' : _("account"), 'alerts' : _("alerts"), 'messages': _("messages"), 'baskets' : _("baskets"), 'groups' : _("groups"), } if submitter: out += """%(submission)s :: """ % { 'weburl' : weburl, 'ln' : ln, 'submission' : _("submissions"), } if referee: out += """%(approvals)s :: """ % { 'weburl' : weburl, 'ln' : ln, 'approvals' : _("approvals"), } if admin: out += """%(administration)s :: """ % { 'sweburl' : sweburl, 'ln' : ln, 'administration' : _("administration"), } out += """%(logout)s""" % { 'sweburl' : sweburl, 'ln' : ln, 'logout' : _("logout"), } return out def tmpl_warning(self, warnings, ln=cdslang): """ Prepare the warnings list @param warnings: list of warning tuples (warning_msg, arg1, arg2, etc) @return html string of warnings """ from invenio.errorlib import get_msgs_for_code_list span_class = 'important' out = "" if type(warnings) is not list: warnings = [warnings] if len(warnings) > 0: warnings_parsed = get_msgs_for_code_list(warnings, 'warning', ln) for (warning_code, warning_text) in warnings_parsed: if not warning_code.startswith('WRN'): #display only warnings that begin with WRN to user continue span_class = 'important' out += ''' %(warning)s
''' % \ { 'span_class' : span_class, 'warning' : warning_text } return out else: return "" def tmpl_warnings(self, warnings, ln=cdslang): """ Display len(warnings) warning fields @param infos: list of strings @param ln=language @return html output """ if not((type(warnings) is list) or (type(warnings) is tuple)): warnings = [warnings] warningbox = "" if warnings != []: warningbox = "
\n Warning:\n" for warning in warnings: lines = warning.split("\n") warningbox += "

" for line in lines[0:-1]: warningbox += line + "
\n" warningbox += lines[-1] + "

" warningbox += "

\n" return warningbox def tmpl_display_all_groups(self, infos, admin_group_html, member_group_html, external_group_html = None, warnings=[], ln=cdslang): """ Displays the 3 tables of groups: admin, member and external Parameters: - 'ln' *string* - The language to display the interface in - 'admin_group_html' *string* - HTML code for displaying all the groups the user is the administrator of - 'member_group_html' *string* - HTML code for displaying all the groups the user is member of - 'external_group_html' *string* - HTML code for displaying all the external groups the user is member of """ _ = gettext_set_language(ln) group_text = self.tmpl_infobox(infos) group_text += self.tmpl_warning(warnings) if external_group_html: group_text += """
%s

%s

%s
""" %(admin_group_html, member_group_html, external_group_html) else: group_text += """
%s

%s
""" %(admin_group_html, member_group_html) return group_text def tmpl_display_admin_groups(self, groups, ln=cdslang): """ Display the groups the user is admin of. Parameters: - 'ln' *string* - The language to display the interface in - 'groups' *list* - All the group the user is admin of - 'infos' *list* - Display infos on top of admin group table """ _ = gettext_set_language(ln) img_link = """ %(text)s
%(text)s
""" out = self.tmpl_group_table_title(img="/img/group_admin.png", text=_("You are an administrator of the following groups:") ) out += """ """ %(_("Group"), _("Description")) if len(groups) == 0: out += """ """ %(_("You are not an administrator of any groups."),) for group_data in groups: (grpID, name, description) = group_data edit_link = img_link % {'weburl' : weburl, 'grpID' : grpID, 'ln': ln, 'img':"webbasket_create_small.png", 'text':_("Edit group"), 'action':"edit" } members_link = img_link % {'weburl' : weburl, 'grpID' : grpID, 'ln': ln, 'img':"webbasket_usergroup.png", 'text':_("Edit %s members") % '', 'action':"members" } out += """ """ % (cgi.escape(name), cgi.escape(description), edit_link, members_link) out += """
%s %s    
%s
%s %s %s %s
     
""" % {'ln': ln, 'write_label': _("Create new group"), } return indent_text(out, 2) def tmpl_display_member_groups(self, groups, ln=cdslang): """ Display the groups the user is member of. Parameters: - 'ln' *string* - The language to display the interface in - 'groups' *list* - All the group the user is member of """ _ = gettext_set_language(ln) group_text = self.tmpl_group_table_title(img="/img/webbasket_us.png", text=_("You are a member of the following groups:")) group_text += """ """ % (_("Group"), _("Description")) if len(groups) == 0: group_text += """ """ %(_("You are not a member of any groups."),) for group_data in groups: (id, name, description) = group_data group_text += """ """ % (cgi.escape(name), cgi.escape(description)) group_text += """
%s %s
%s
%s %s
""" % {'ln': ln, 'join_label': _("Join new group"), 'leave_label':_("Leave group") } return indent_text(group_text, 2) def tmpl_display_external_groups(self, groups, ln=cdslang): """ Display the external groups the user is member of. Parameters: - 'ln' *string* - The language to display the interface in - 'groups' *list* - All the group the user is member of """ _ = gettext_set_language(ln) group_text = self.tmpl_group_table_title(img="/img/webbasket_us.png", text=_("You are a member of the following external groups:")) group_text += """ """ % (_("Group"), _("Description")) if len(groups) == 0: group_text += """ """ %(_("You are not a member of any external groups."),) for group_data in groups: (id, name, description) = group_data group_text += """ """ % (cgi.escape(name), cgi.escape(description)) group_text += """
%s %s
%s
%s %s
""" return indent_text(group_text, 2) def tmpl_display_input_group_info(self, group_name, group_description, join_policy, act_type="create", grpID="", warnings=[], ln=cdslang): """ Display group data when creating or updating a group: Name, description, join_policy. Parameters: - 'ln' *string* - The language to display the interface in - 'group_name' *string* - name of the group - 'group_description' *string* - description of the group - 'join_policy' *string* - join policy - 'act_type' *string* - info about action : create or edit(update) - 'grpID' *string* - ID of the group(not null in case of group editing) - 'warnings' *list* - Display warning if values are not correct """ _ = gettext_set_language(ln) #default hidden_id ="" form_name = "create_group" action = weburl + '/yourgroups/create' button_label = _("Create new group") button_name = "create_button" label = _("Create new group") delete_text = "" if act_type == "update": form_name = "update_group" action = weburl + '/yourgroups/edit' button_label = _("Update group") button_name = "update" label = _('Edit group %s') % cgi.escape(group_name) delete_text = """""" delete_text %= (_("Delete group"),"delete") if grpID != "": hidden_id = """""" hidden_id %= grpID out = self.tmpl_warning(warnings) out += """
%(label)s %(label)s
%(name_label)s
%(description_label)s
%(join_policy_label)s %(join_policy)s
%(hidden_id)s
%(delete_text)s
""" out %= {'action' : action, 'logo': weburl + '/img/webbasket_create.png', 'label': label, 'form_name' : form_name, 'name_label': _("Group name:"), 'delete_text': delete_text, 'description_label': _("Group description:"), 'join_policy_label': _("Group join policy:"), 'group_name': cgi.escape(group_name, 1), 'group_description': cgi.escape(group_description, 1), 'button_label': button_label, 'button_name':button_name, 'cancel_label':_("Cancel"), 'hidden_id':hidden_id, 'ln': ln, 'join_policy' :self.__create_join_policy_selection_menu("join_policy", join_policy, ln) } return indent_text(out, 2) def tmpl_display_input_join_group(self, group_list, group_name, group_from_search, search, warnings=[], ln=cdslang): """ Display the groups the user can join. He can use default select list or the search box Parameters: - 'ln' *string* - The language to display the interface in - 'group_list' *list* - All the group the user can join - 'group_name' *string* - Name of the group the user is looking for - 'group_from search' *list* - List of the group the user can join matching group_name - 'search' *int* - User is looking for group using group_name - 'warnings' *list* - Display warning if two group are selected """ _ = gettext_set_language(ln) out = self.tmpl_warning(warnings) search_content = "" if search: search_content = """ """ if group_from_search != []: search_content += self.__create_select_menu('grpID', group_from_search, _("Please select:")) else: search_content += _("No matching group") search_content += """ """ out += """
%(label)s %(label)s
%(search_content)s
%(list_label)s %(group_list)s  

%(label2)s


""" out %= {'action' : weburl + '/yourgroups/join', 'logo': weburl + '/img/webbasket_create.png', 'label': _("Join group"), 'group_name': cgi.escape(group_name, 1), 'label2':_("or find it") + ': ', 'list_label':_("Choose group:"), 'ln': ln, 'find_label': _("Find group"), 'cancel_label':_("Cancel"), 'group_list' :self.__create_select_menu("grpID",group_list, _("Please select:")), 'search_content' : search_content } return indent_text(out, 2) def tmpl_display_manage_member(self, grpID, group_name, members, pending_members, infos=[], warnings=[], ln=cdslang): """Display current members and waiting members of a group. Parameters: - 'ln' *string* - The language to display the interface in - 'grpID *string* - ID of the group - 'group_name' *string* - Name of the group - 'members' *list* - List of the current members - 'pending_members' *list* - List of the waiting members - 'infos' *tuple of 2 lists* - Message to inform user about his last action - 'warnings' *list* - Display warning if two group are selected """ _ = gettext_set_language(ln) out = self.tmpl_warning(warnings) out += self.tmpl_infobox(infos) out += """

%(title)s

%(img_alt_header1)s %(header1)s
 
%(member_text)s
%(img_alt_header2)s %(header2)s
 
%(pending_text)s
%(img_alt_header3)s %(header3)s
 
%(invite_text)s
""" if members : member_list = self.__create_select_menu("member_id", members, _("Please select:")) member_text = """ %s """ % (member_list,_("Remove member")) else : member_text = """%s""" % _("No members.") if pending_members : pending_list = self.__create_select_menu("pending_member_id", pending_members, _("Please select:")) pending_text = """ %s """ % (pending_list,_("Accept member"), _("Reject member")) else : pending_text = """%s""" % _("No members awaiting approval.") header1 = self.tmpl_group_table_title(text=_("Current members")) header2 = self.tmpl_group_table_title(text=_("Members awaiting approval")) header3 = _("Invite new members") link_open = '' link_open %= (weburl, ln) invite_text = _("If you want to invite new members to join your group, please use the %(x_url_open)sweb message%(x_url_close)s system.") % \ {'x_url_open': link_open, 'x_url_close': ''} action = weburl + '/yourgroups/members?ln=' + ln out %= {'title':_('Group: %s') % group_name, 'member_text' : member_text, 'pending_text' :pending_text, 'action':action, 'grpID':grpID, 'header1': header1, 'header2': header2, 'header3': header3, 'img_alt_header1': _("Current members"), 'img_alt_header2': _("Members awaiting approval"), 'img_alt_header3': _("Invite new members"), 'invite_text': invite_text, 'imgurl': weburl + '/img', 'cancel_label':_("Cancel"), 'ln':ln } return indent_text(out, 2) def tmpl_display_input_leave_group(self, groups, warnings=[], ln=cdslang): """Display groups the user can leave. Parameters: - 'ln' *string* - The language to display the interface in - 'groups' *list* - List of groups the user is currently member of - 'warnings' *list* - Display warning if no group is selected """ _ = gettext_set_language(ln) out = self.tmpl_warning(warnings) out += """
%(label)s %(label)s
%(list_label)s %(groups)s  
%(submit)s
""" if groups: groups = self.__create_select_menu("grpID", groups, _("Please select:")) list_label = _("Group list") submit = """""" % _("Leave group") else : groups = _("You are not member of any group.") list_label = "" submit = "" action = weburl + '/yourgroups/leave?ln=%s' action %= (ln) out %= {'groups' : groups, 'list_label' : list_label, 'action':action, 'logo': weburl + '/img/webbasket_create.png', 'label' : _("Leave group"), 'cancel_label':_("Cancel"), 'ln' :ln, 'submit' : submit } return indent_text(out, 2) def tmpl_confirm_delete(self, grpID, ln=cdslang): """ display a confirm message when deleting a group @param ln: language @return html output """ _ = gettext_set_language(ln) action = weburl + '/yourgroups/edit' out = """
%(message)s
"""% {'message': _("Are you sure you want to delete this group?"), 'ln':ln, 'yes_label': _("Yes"), 'no_label': _("No"), 'grpID':grpID, 'action': action } return indent_text(out, 2) def tmpl_confirm_leave(self, uid, grpID, ln=cdslang): """ display a confirm message @param ln: language @return html output """ _ = gettext_set_language(ln) action = weburl + '/yourgroups/leave' out = """
%(message)s
"""% {'message': _("Are you sure you want to leave this group?"), 'ln':ln, 'yes_label': _("Yes"), 'no_label': _("No"), 'grpID':grpID, 'action': action } return indent_text(out, 2) def __create_join_policy_selection_menu(self, name, current_join_policy, ln=cdslang): """Private function. create a drop down menu for selection of join policy @param current_join_policy: join policy as defined in CFG_WEBSESSION_GROUP_JOIN_POLICY @param ln: language """ _ = gettext_set_language(ln) elements = [(CFG_WEBSESSION_GROUP_JOIN_POLICY['VISIBLEOPEN'], _("Visible and open for new members")), (CFG_WEBSESSION_GROUP_JOIN_POLICY['VISIBLEMAIL'], _("Visible but new members need approval")) ] select_text = _("Please select:") return self.__create_select_menu(name, elements, select_text, selected_key=current_join_policy) def __create_select_menu(self, name, elements, select_text, multiple=0, selected_key=None): """ private function, returns a popup menu @param name: name of HTML control @param elements: list of (key, value) """ if multiple : out = """ """ % name out += indent_text('' % (select_text)) for (key, label) in elements: selected = '' if key == selected_key: selected = ' selected="selected"' out += indent_text(''% (key, selected, label), 1) out += '' return out def tmpl_infobox(self, infos, ln=cdslang): """Display len(infos) information fields @param infos: list of strings @param ln=language @return html output """ _ = gettext_set_language(ln) if not((type(infos) is list) or (type(infos) is tuple)): infos = [infos] infobox = "" for info in infos: infobox += '
' lines = info.split("\n") for line in lines[0:-1]: infobox += line + "
\n" infobox += lines[-1] + "
\n" return infobox def tmpl_navtrail(self, ln=cdslang, title=""): """ display the navtrail, e.g.: Your account > Your group > title @param title: the last part of the navtrail. Is not a link @param ln: language return html formatted navtrail """ _ = gettext_set_language(ln) nav_h1 = '%s' nav_h2 = "" if (title != ""): nav_h2 = ' > %s' nav_h2 = nav_h2 % (weburl, _("Your Groups")) return nav_h1 % (weburl, _("Your Account")) + nav_h2 def tmpl_group_table_title(self, img="", text="", ln=cdslang): """ display the title of a table: - 'img' *string* - img path - 'text' *string* - title - 'ln' *string* - The language to display the interface in """ out = "
" if img: out += """ """ % (weburl + img) out += """ %s
""" % text return out def tmpl_admin_msg(self, group_name, grpID, ln=cdslang): """ return message content for joining group - 'group_name' *string* - name of the group - 'grpID' *string* - ID of the group - 'ln' *string* - The language to display the interface in """ _ = gettext_set_language(ln) subject = _("Group %s: New membership request") % group_name url = weburl + "/yourgroups/members?grpID=%i&ln=%s" url %= (int(grpID), ln) # FIXME: which user? We should show his nickname. body = (_("A user wants to join the group %s.") % group_name) + '
' body += _("Please %(x_url_open)saccept or reject%(x_url_close)s this user's request.") % {'x_url_open': '', 'x_url_close': ''} body += '
' return subject, body def tmpl_member_msg(self, group_name, accepted=0, ln=cdslang): """ return message content when new member is accepted/rejected - 'group_name' *string* - name of the group - 'accepted' *int* - 1 if new membership has been accepted, 0 if it has been rejected - 'ln' *string* - The language to display the interface in """ _ = gettext_set_language(ln) if accepted: subject = _("Group %s: Join request has been accepted") % (group_name) body = _("Your request for joining group %s has been accepted.") % (group_name) else: subject = _("Group %s: Join request has been rejected") % (group_name) body = _("Your request for joining group %s has been rejected.") % (group_name) url = weburl + "/yourgroups/display?ln=" + ln body += '
' body += _("You can consult the list of %(x_url_open)syour groups%(x_url_close)s.") % {'x_url_open': '', 'x_url_close': ''} body += '
' return subject, body def tmpl_delete_msg(self, group_name, ln=cdslang): """ return message content when new member is accepted/rejected - 'group_name' *string* - name of the group - 'ln' *string* - The language to display the interface in """ _ = gettext_set_language(ln) subject = _("Group %s has been deleted") % group_name url = weburl + "/yourgroups/display?ln=" + ln body = _("Group %s has been deleted by its administrator.") % group_name body += '
' body += _("You can consult the list of %(x_url_open)syour groups%(x_url_close)s.") % {'x_url_open': '', 'x_url_close': ''} body += '
' return subject, body def tmpl_group_info(self, nb_admin_groups=0, nb_member_groups=0, nb_total_groups=0, ln=cdslang): """ display infos about groups (used by myaccount.py) @param nb_admin_group: number of groups the user is admin of @param nb_member_group: number of groups the user is member of @param total_group: number of groups the user belongs to @param ln: language return: html output. """ _ = gettext_set_language(ln) out = _("You can consult the list of %(x_url_open)s%(x_nb_total)i groups%(x_url_close)s you are subscribed to (%(x_nb_member)i) or administering (%(x_nb_admin)i).") out %= {'x_url_open': '', 'x_nb_total': nb_total_groups, 'x_url_close': '', 'x_nb_admin': nb_admin_groups, 'x_nb_member': nb_member_groups} return out diff --git a/modules/websession/lib/websession_webinterface.py b/modules/websession/lib/websession_webinterface.py index d53aeb720..34ccffdd6 100644 --- a/modules/websession/lib/websession_webinterface.py +++ b/modules/websession/lib/websession_webinterface.py @@ -1,1051 +1,1070 @@ # -*- coding: utf-8 -*- ## ## $Id$ ## ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. """CDS Invenio ACCOUNT HANDLING""" __revision__ = "$Id$" __lastupdated__ = """$Date$""" from mod_python import apache import smtplib +from datetime import timedelta from invenio.config import \ CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS, \ CFG_ACCESS_CONTROL_LEVEL_SITE, \ CFG_ACCESS_CONTROL_NOTIFY_USER_ABOUT_NEW_ACCOUNT, \ cdsname, \ cdsnameintl, \ supportemail, \ sweburl, \ weburl from invenio.websession_config import CFG_WEBSESSION_RESET_PASSWORD_EXPIRE_IN_DAYS from invenio import webuser from invenio.webpage import page from invenio import webaccount from invenio import webbasket from invenio import webalert from invenio.dbquery import run_sql from invenio.webmessage import account_new_mail from invenio.access_control_config import * from invenio.webinterface_handler import wash_urlargd, WebInterfaceDirectory from invenio.urlutils import redirect_to_url, make_canonical_urlargd from invenio import webgroup from invenio import webgroup_dblayer from invenio.messages import gettext_set_language +from invenio.mailutils import send_email +from invenio.access_control_mailcookie import mail_cookie_retrieve_kind, \ + mail_cookie_check_pw_reset, mail_cookie_delete_cookie, \ + mail_cookie_create_pw_reset, mail_cookie_check_role import invenio.template websession_templates = invenio.template.load('websession') class WebInterfaceYourAccountPages(WebInterfaceDirectory): _exports = ['', 'edit', 'change', 'lost', 'display', - 'send_email', 'youradminactivities', + 'send_email', 'youradminactivities', 'mailcookie', 'delete', 'logout', 'login', 'register', 'resetpassword'] _force_https = True def index(self, req, form): redirect_to_url(req, '%s/youraccount/display' % sweburl) + def mailcookie(self, req, form): + args = wash_urlargd(form, {'cookie' : (str, '')}) + _ = gettext_set_language(args['ln']) + kind = mail_cookie_retrieve_kind(args['cookie']) + if kind == 'pw_reset': + redirect_to_url(req, '%s/youraccount/resetpassword?k=%s&ln=%s' % (sweburl, args['cookie'], args['ln'])) + elif kind == 'role': + uid = webuser.getUid(req) + try: + (role_name, expiration) = mail_cookie_check_role(args['cookie'], uid) + except TypeError: + return webuser.page_not_authorized(req, "../youraccount/resetpassword", + text=_("This request for an authorization is not valid or" + " is expired."), navmenuid='youraccount') + return page(title=title, + body=webaccount.perform_back( + _("You have successfully obtained an authorization as %(role)s! " + "This authorization will last until %(expiration)s and until " + "you close your browser if you are a guest user.") % + {'role' : '%s' % role_name, + 'expiration' : '%s' % expiration.strftime("%Y-%m-%d %H:%M:%S")}, + 'login', _('login'), args['ln']), + req=req, + language=args['ln'], + lastupdated=__lastupdated__, + navmenuid='youraccount') + return webuser.page_not_authorized(req, "../youraccount/resetpassword", + text=_("This request for an authorization is not valid or" + " is expired."), navmenuid='youraccount') + def resetpassword(self, req, form): args = wash_urlargd(form, { - 'e' : (str, ''), 'k' : (str, ''), 'reset' : (int, 0), 'password' : (str, ''), 'password2' : (str, '') }) _ = gettext_set_language(args['ln']) - email = args['e'].lower() + email = mail_cookie_check_pw_reset(args['k']) reset_key = args['k'] title = _('Reset password') - res = run_sql('SELECT email FROM user WHERE email=%s AND reset_key=%s' - 'AND DATE_SUB(CURDATE(), INTERVAL %s DAY)<=reset_date', - (email, reset_key, - CFG_WEBSESSION_RESET_PASSWORD_EXPIRE_IN_DAYS)) - - if not res or CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS >= 3: + if email is None or CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS >= 3: return webuser.page_not_authorized(req, "../youraccount/resetpassword", text=_("This request for resetting the password is not valid or" " is expired."), navmenuid='youraccount') if not args['reset']: return page(title=title, body=webaccount.perform_reset_password(args['ln'], email, reset_key), req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='youraccount') elif args['password'] != args['password2']: msg = _('The two provided passwords aren\'t equal.') return page(title=title, body=webaccount.perform_reset_password(args['ln'], email, reset_key, msg), req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='youraccount') - run_sql('UPDATE user SET password=AES_ENCRYPT(email,%s), ' - 'reset_key=NULL, reset_date=\'0000-00-00\' WHERE reset_key=%s AND email=%s', (args['password'], reset_key, email)) + run_sql('UPDATE user SET password=AES_ENCRYPT(email,%s) WHERE email=%s', (args['password'], email)) + + mail_cookie_delete_cookie(reset_key) return page(title=title, body=webaccount.perform_back( _("The password was successfully set! " "You can now proceed with the login."), 'login', _('login'), args['ln']), req=req, language=args['ln'], lastupdated=__lastupdated__, navmenuid='youraccount') def display(self, req, form): args = wash_urlargd(form, {}) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(args['ln']) if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../youraccount/display", navmenuid='youraccount') if webuser.isGuestUser(uid): return page(title=_("Your Account"), body=webaccount.perform_info(req, args['ln']), description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='youraccount') username = webuser.get_nickname_or_email(uid) bask = webbasket.account_list_baskets(uid, ln=args['ln']) aler = webalert.account_list_alerts(uid, ln=args['ln']) sear = webalert.account_list_searches(uid, ln=args['ln']) msgs = account_new_mail(uid, ln=args['ln']) grps = webgroup.account_group(uid, ln=args['ln']) return page(title=_("Your Account"), body=webaccount.perform_display_account(req,username,bask,aler,sear,msgs,grps,args['ln']), description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='youraccount') def edit(self, req, form): args = wash_urlargd(form, {"verbose" : (int, 0)}) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(args['ln']) if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../youraccount/edit", navmenuid='youraccount') if webuser.isGuestUser(uid): return webuser.page_not_authorized(req, "../youraccount/edit", text=_("This functionality is forbidden to guest users."), navmenuid='youraccount') return page(title= _("Your Settings"), body=webaccount.perform_set(webuser.get_email(uid), args['ln'], verbose=args['verbose']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Your Settings") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='youraccount') def change(self, req, form): args = wash_urlargd(form, { 'nickname': (str, None), 'email': (str, None), 'old_password': (str, None), 'password': (str, None), 'password2': (str, None), 'login_method': (str, ""), 'group_records' : (int, None), 'latestbox' : (int, None), 'helpbox' : (int, None), }) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(args['ln']) if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../youraccount/change", navmenuid='youraccount') prefs = webuser.get_user_preferences(uid) if args['login_method'] and CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS < 4 \ and args['login_method'] in CFG_EXTERNAL_AUTHENTICATION.keys(): title = _("Settings edited") act = "display" linkname = _("Show account") if prefs['login_method'] != args['login_method']: if not CFG_EXTERNAL_AUTHENTICATION[args['login_method']][0]: # Switching to internal authentication: we drop any external datas p_email = webuser.get_email(uid) webuser.drop_external_settings(uid) webgroup_dblayer.drop_external_groups(uid) prefs['login_method'] = args['login_method'] webuser.set_user_preferences(uid, prefs) mess = _("

Switched to internal login method. ") mess += _("""Please note, that if this is the first time that you are using this account with the internal method then the system has set for you a random generated password which you can obtain via email clicking on the following button:

""") mess += """

""" % (p_email, _("Send Password")) else: query = """SELECT email FROM user WHERE id = %i""" res = run_sql(query % uid) if res: email = res[0][0] else: email = None if not email: mess = _("Unable to switch to external login method %s, because your email address is unknown.") % args['login_method'] else: try: if not CFG_EXTERNAL_AUTHENTICATION[args['login_method']][0].user_exists(email): mess = _("Unable to switch to external login method %s, because your email address is unknown to the external login system.") % args['login_method'] else: prefs['login_method'] = args['login_method'] webuser.set_user_preferences(uid, prefs) mess = _("Login method successfully selected.") except AttributeError: mess = _("The external login method %s does not support email address based logins. Please contact the site administrators.") % args['login_method'] elif args['login_method'] and CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS >= 4: return webuser.page_not_authorized(req, "../youraccount/change", navmenuid='youraccount') elif args['email']: # We should ignore the password if the authentication method is an # external one. ignore_password_p = CFG_EXTERNAL_AUTHENTICATION[prefs['login_method']][0] != None uid2 = webuser.emailUnique(args['email']) uid_with_the_same_nickname = webuser.nicknameUnique(args['nickname']) if (CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS >= 2 or (CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS <= 1 and \ webuser.email_valid_p(args['email']))) \ and (args['nickname'] is None or webuser.nickname_valid_p(args['nickname'])) \ and uid2 != -1 and (uid2 == uid or uid2 == 0) \ and uid_with_the_same_nickname != -1 and (uid_with_the_same_nickname == uid or uid_with_the_same_nickname == 0): if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS < 3: change = webuser.updateDataUser(uid, args['email'], args['nickname']) else: return webuser.page_not_authorized(req, "../youraccount/change", navmenuid='youraccount') if change: mess = _("Settings successfully edited.") act = "display" linkname = _("Show account") title = _("Settings edited") elif args['nickname'] is not None and not webuser.nickname_valid_p(args['nickname']): mess = _("Desired nickname %s is invalid.") % args['nickname'] mess += " " + _("Please try again.") act = "edit" linkname = _("Edit settings") title = _("Editing settings failed") elif not webuser.email_valid_p(args['email']): mess = _("Supplied email address %s is invalid.") % args['email'] mess += " " + _("Please try again.") act = "edit" linkname = _("Edit settings") title = _("Editing settings failed") elif uid2 == -1 or uid2 != uid and not uid2 == 0: mess = _("Supplied email address %s already exists in the database.") % args['email'] mess += " " + websession_templates.tmpl_lost_your_password_teaser(args['ln']) mess += " " + _("Or please try again.") act = "edit" linkname = _("Edit settings") title = _("Editing settings failed") elif uid_with_the_same_nickname == -1 or uid_with_the_same_nickname != uid and not uid_with_the_same_nickname == 0: mess = _("Desired nickname %s is already in use.") % args['nickname'] mess += " " + _("Please try again.") act = "edit" linkname = _("Edit settings") title = _("Editing settings failed") elif args['old_password'] != None and CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS < 3: res = run_sql("SELECT id FROM user " "WHERE AES_ENCRYPT(email,%s)=password AND id=%s", (args['old_password'], uid)) if res: if args['password'] == args['password2']: webuser.updatePasswordUser(uid, args['password']) mess = _("Password successfully edited.") act = "display" linkname = _("Show account") title = _("Password edited") else: mess = _("Both passwords must match.") mess += " " + _("Please try again.") act = "edit" linkname = _("Edit settings") title = _("Editing password failed") else: mess = _("Wrong old password inserted.") mess += " " + _("Please try again.") act = "edit" linkname = _("Edit settings") title = _("Editing password failed") elif args['group_records']: prefs = webuser.get_user_preferences(uid) prefs['websearch_group_records'] = args['group_records'] prefs['websearch_latestbox'] = args['latestbox'] prefs['websearch_helpbox'] = args['helpbox'] webuser.set_user_preferences(uid, prefs) title = _("Settings edited") act = "display" linkname = _("Show account") mess = _("User settings saved correctly.") else: mess = _("Unable to update settings.") act = "edit" linkname = _("Edit settings") title = _("Editing settings failed") return page(title=title, body=webaccount.perform_back(mess, act, linkname, args['ln']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='youraccount') def lost(self, req, form): args = wash_urlargd(form, {}) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(args['ln']) if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../youraccount/lost", navmenuid='login') return page(title=_("Lost your password?"), body=webaccount.perform_lost(args['ln']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') def send_email(self, req, form): # set all the declared query fields as local variables args = wash_urlargd(form, {'p_email': (str, None)}) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(args['ln']) if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../youraccount/send_email", navmenuid='login') user_prefs = webuser.get_user_preferences(webuser.emailUnique(args['p_email'])) if user_prefs: if CFG_EXTERNAL_AUTHENTICATION.has_key(user_prefs['login_method']) and \ CFG_EXTERNAL_AUTHENTICATION[user_prefs['login_method']][0] is not None: eMsg = _("Cannot send password by email since you are using external authentication system.") return page(title=_("Your Account"), body=webaccount.perform_emailMessage(eMsg, args['ln']), description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize" % cdsnameintl.get(args['ln'], cdsname)), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') - reset_key = webuser.request_reset_password(args['p_email']) + reset_key = mail_cookie_create_pw_reset(args['p_email'], cookie_timeout=timedelta(days=CFG_WEBSESSION_RESET_PASSWORD_EXPIRE_IN_DAYS)) if reset_key is None: eMsg = _("The entered email address does not exist in the database.") return page(title=_("Your Account"), body=webaccount.perform_emailMessage(eMsg, args['ln']), description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') - fromaddr = "From: %s" % supportemail - toaddr = "To: " + args['p_email'] - subject = "Subject: %s %s" % (_("Password reset request for"), cdsnameintl.get(args['ln'], cdsname)) ip_address = req.connection.remote_host or req.connection.remote_ip - body = websession_templates.tmpl_account_reset_password_email_body(args['p_email'], - reset_key, - ip_address, - args['ln']) - msg = toaddr + "\n" + subject + "\n\n" + body - server = smtplib.SMTP('localhost') - server.set_debuglevel(1) - - try: - server.sendmail(fromaddr, toaddr, msg) - - except smtplib.SMTPRecipientsRefused: + if not send_email(supportemail, args['p_email'], "%s %s" + % (_("Password reset request for"), + cdsnameintl.get(args['ln'], cdsname)), + websession_templates.tmpl_account_reset_password_email_body( + args['p_email'], reset_key, ip_address, args['ln']), + header='', footer=''): eMsg = _("The entered email address is incorrect, please check that it is written correctly (e.g. johndoe@example.com).") return page(title=_("Incorrect email address"), body=webaccount.perform_emailMessage(eMsg, args['ln']), description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') - - server.quit() return page(title=_("Reset password link sent"), body=webaccount.perform_emailSent(args['p_email'], args['ln']), description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') def youradminactivities(self, req, form): args = wash_urlargd(form, {}) uid = webuser.getUid(req) user_info = webuser.collect_user_info(req) # load the right message language _ = gettext_set_language(args['ln']) if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../youraccount/youradminactivities", navmenuid='admin') return page(title=_("Your Administrative Activities"), body=webaccount.perform_youradminactivities(user_info, args['ln']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='admin') def delete(self, req, form): args = wash_urlargd(form, {}) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(args['ln']) if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../youraccount/delete", navmenuid='login') return page(title=_("Delete Account"), body=webaccount.perform_delete(args['ln']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') def logout(self, req, form): args = wash_urlargd(form, {}) uid = webuser.logoutUser(req) # load the right message language _ = gettext_set_language(args['ln']) if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../youraccount/logout", navmenuid='login') return page(title=_("Logout"), body=webaccount.perform_logout(req, args['ln']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s, personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') def login(self, req, form): args = wash_urlargd(form, { 'p_un': (str, None), 'p_pw': (str, None), 'login_method': (str, None), 'action': (str, 'login'), 'referer': (str, '')}) locals().update(args) if CFG_ACCESS_CONTROL_LEVEL_SITE > 0: return webuser.page_not_authorized(req, "../youraccount/login?ln=%s" % args['ln'], navmenuid='login') uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(args['ln']) #return action+_("login") if args['action'] == "login" or args['action'] == _("login") or CFG_EXTERNAL_AUTH_USING_SSO: if not CFG_EXTERNAL_AUTH_USING_SSO: if args['p_un'] is None or not args['login_method']: return page(title=_("Login"), body=webaccount.create_login_page_box(args['referer'], args['ln']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s , personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') (iden, args['p_un'], args['p_pw'], msgcode) = webuser.loginUser(req, args['p_un'], args['p_pw'], args['login_method']) else: # Fake parameters for p_un & p_pw because SSO takes them from the environment (iden, args['p_un'], args['p_pw'], msgcode) = webuser.loginUser(req, '', '', 'SSO') if len(iden)>0: uid = webuser.update_Uid(req, args['p_un']) uid2 = webuser.getUid(req) if uid2 == -1: webuser.logoutUser(req) return webuser.page_not_authorized(req, "../youraccount/login?ln=%s" % args['ln'], uid=uid, navmenuid='login') # login successful! if args['referer']: req.err_headers_out.add("Location", args['referer']) raise apache.SERVER_RETURN, apache.HTTP_MOVED_PERMANENTLY else: return self.display(req, form) else: mess = CFG_WEBACCESS_WARNING_MSGS[msgcode] % args['login_method'] if msgcode == 14: if webuser.username_exists_p(args['p_un']): mess = CFG_WEBACCESS_WARNING_MSGS[15] % args['login_method'] act = "login" return page(title=_("Login"), body=webaccount.perform_back(mess, act, _("login"), args['ln']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s , personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') else: return "This should have never happened. Please contact %s." % supportemail def register(self, req, form): args = wash_urlargd(form, { 'p_nickname': (str, None), 'p_email': (str, None), 'p_pw': (str, None), 'p_pw2': (str, None), 'action': (str, "login"), 'referer': (str, "")}) if CFG_ACCESS_CONTROL_LEVEL_SITE > 0: return webuser.page_not_authorized(req, "../youraccount/register?ln=%s" % args['ln'], navmenuid='login') uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(args['ln']) if args['p_nickname'] is None or args['p_email'] is None: return page(title=_("Register"), body=webaccount.create_register_page_box(args['referer'], args['ln']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s , personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') mess = "" act = "" if args['p_pw'] == args['p_pw2']: ruid = webuser.registerUser(req, args['p_email'], args['p_pw'], args['p_nickname']) else: ruid = -2 if ruid == 0: uid = webuser.update_Uid(req, args['p_email']) mess = _("Your account has been successfully created.") title = _("Account created") if CFG_ACCESS_CONTROL_NOTIFY_USER_ABOUT_NEW_ACCOUNT == 1: mess += _("An email has been sent to the given address with the account information.") if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS >= 1: mess += _("A second email will be sent when the account has been activated and can be used.") else: mess += " " + _("You can now access your %(x_url_open)saccount%(x_url_close)s.") %\ {'x_url_open': '', 'x_url_close': ''} elif ruid == -2: mess = _("Both passwords must match.") mess += " " + _("Please try again.") act = "register" title = _("Registration failure") elif ruid == 1: mess = _("Supplied email address %s is invalid.") % args['p_email'] mess += " " + _("Please try again.") act = "register" title = _("Registration failure") elif ruid == 2: mess = _("Desired nickname %s is invalid.") % args['p_nickname'] mess += " " + _("Please try again.") act = "register" title = _("Registration failure") elif ruid == 3: mess = _("Supplied email address %s already exists in the database.") % args['p_email'] mess += " " + websession_templates.tmpl_lost_your_password_teaser(args['ln']) mess += " " + _("Or please try again.") act = "register" title = _("Registration failure") elif ruid == 4: mess = _("Desired nickname %s already exists in the database.") % args['p_nickname'] mess += " " + _("Please try again.") act = "register" title = _("Registration failure") elif ruid == 5: mess = _("Users cannot register themselves, only admin can register them.") act = "register" title = _("Registration failure") else: # this should never happen mess = _("Internal Error") act = "register" title = _("Registration failure") return page(title=title, body=webaccount.perform_back(mess,act, (act == 'register' and _("register") or ""), args['ln']), navtrail="""""" % (sweburl, args['ln']) + _("Your Account") + """""", description=_("%s Personalize, Main page") % cdsnameintl.get(args['ln'], cdsname), keywords=_("%s , personalize") % cdsnameintl.get(args['ln'], cdsname), uid=uid, req=req, secure_page_p = 1, language=args['ln'], lastupdated=__lastupdated__, navmenuid='login') class WebInterfaceYourGroupsPages(WebInterfaceDirectory): _exports = ['', 'display', 'create', 'join', 'leave', 'edit', 'members'] def index(self, req, form): redirect_to_url(req, '/yourgroups/display') def display(self, req, form): """ Displays groups the user is admin of and the groups the user is member of(but not admin) @param ln: language @return the page for all the groups """ argd = wash_urlargd(form, {}) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(argd['ln']) if uid == -1 or webuser.isGuestUser(uid) or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../yourgroups/display", navmenuid='yourgroups') (body, errors, warnings) = webgroup.perform_request_groups_display(uid=uid, ln=argd['ln']) return page(title = _("Your Groups"), body = body, navtrail = webgroup.get_navtrail(argd['ln']), uid = uid, req = req, language = argd['ln'], lastupdated = __lastupdated__, errors = errors, warnings = warnings, navmenuid = 'yourgroups') def create(self, req, form): """create(): interface for creating a new group @param group_name : name of the new webgroup.Must be filled @param group_description : description of the new webgroup.(optionnal) @param join_policy : join policy of the new webgroup.Must be chosen @param *button: which button was pressed @param ln: language @return the compose page Create group """ argd = wash_urlargd(form, {'group_name': (str, ""), 'group_description': (str, ""), 'join_policy': (str, ""), 'create_button':(str, ""), 'cancel':(str, "") }) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(argd['ln']) if uid == -1 or webuser.isGuestUser(uid) or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../yourgroups/create", navmenuid='yourgroups') if argd['cancel']: url = weburl + '/yourgroups/display?ln=%s' url %= argd['ln'] redirect_to_url(req, url) if argd['create_button'] : (body, errors, warnings)= webgroup.perform_request_create_group(uid=uid, group_name=argd['group_name'], group_description=argd['group_description'], join_policy=argd['join_policy'], ln = argd['ln']) else: (body, errors, warnings) = webgroup.perform_request_input_create_group(group_name=argd['group_name'], group_description=argd['group_description'], join_policy=argd['join_policy'], ln=argd['ln']) title = _("Create new group") return page(title = title, body = body, navtrail = webgroup.get_navtrail(argd['ln'], title), uid = uid, req = req, language = argd['ln'], lastupdated = __lastupdated__, errors = errors, warnings = warnings, navmenuid = 'yourgroups') def join(self, req, form): """join(): interface for joining a new group @param grpID : list of the group the user wants to become a member. The user must select only one group. @param group_name : will search for groups matching group_name @param *button: which button was pressed @param ln: language @return the compose page Join group """ argd = wash_urlargd(form, {'grpID':(list, []), 'group_name':(str, ""), 'find_button':(str, ""), 'join_button':(str, ""), 'cancel':(str, "") }) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(argd['ln']) if uid == -1 or webuser.isGuestUser(uid) or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../yourgroups/join", navmenuid='yourgroups') if argd['cancel']: url = weburl + '/yourgroups/display?ln=%s' url %= argd['ln'] redirect_to_url(req, url) if argd['join_button']: search = 0 if argd['group_name']: search = 1 (body, errors, warnings) = webgroup.perform_request_join_group(uid, argd['grpID'], argd['group_name'], search, argd['ln']) else: search = 0 if argd['find_button']: search = 1 (body, errors, warnings) = webgroup.perform_request_input_join_group(uid, argd['group_name'], search, ln=argd['ln']) title = _("Join New Group") return page(title = title, body = body, navtrail = webgroup.get_navtrail(argd['ln'], title), uid = uid, req = req, language = argd['ln'], lastupdated = __lastupdated__, errors = errors, warnings = warnings, navmenuid = 'yourgroups') def leave(self, req, form): """leave(): interface for leaving a group @param grpID : group the user wants to leave. @param group_name : name of the group the user wants to leave @param *button: which button was pressed @param confirmed : the user is first asked to confirm @param ln: language @return the compose page Leave group """ argd = wash_urlargd(form, {'grpID':(str, ""), 'group_name':(str, ""), 'leave_button':(str, ""), 'cancel':(str, ""), 'confirmed': (int, 0) }) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(argd['ln']) if uid == -1 or webuser.isGuestUser(uid) or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../yourgroups/leave", navmenuid='yourgroups') if argd['cancel']: url = weburl + '/yourgroups/display?ln=%s' url %= argd['ln'] redirect_to_url(req, url) if argd['leave_button']: (body, errors, warnings) = webgroup.perform_request_leave_group(uid, argd['grpID'], argd['confirmed'], argd['ln']) else: (body, errors, warnings) = webgroup.perform_request_input_leave_group(uid=uid, ln=argd['ln']) title = _("Leave Group") return page(title = title, body = body, navtrail = webgroup.get_navtrail(argd['ln'], title), uid = uid, req = req, language = argd['ln'], lastupdated = __lastupdated__, errors = errors, warnings = warnings, navmenuid = 'yourgroups') def edit(self, req, form): """edit(): interface for editing group @param grpID : group ID @param group_name : name of the new webgroup.Must be filled @param group_description : description of the new webgroup.(optionnal) @param join_policy : join policy of the new webgroup.Must be chosen @param update: button update group pressed @param delete: button delete group pressed @param cancel: button cancel pressed @param confirmed : the user is first asked to confirm before deleting @param ln: language @return the main page displaying all the groups """ argd = wash_urlargd(form, {'grpID': (str, ""), 'update': (str, ""), 'cancel': (str, ""), 'delete': (str, ""), 'group_name': (str, ""), 'group_description': (str, ""), 'join_policy': (str, ""), 'confirmed': (int, 0) }) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(argd['ln']) if uid == -1 or webuser.isGuestUser(uid) or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../yourgroups/display", navmenuid='yourgroups') if argd['cancel']: url = weburl + '/yourgroups/display?ln=%s' url %= argd['ln'] redirect_to_url(req, url) elif argd['delete']: (body, errors, warnings) = webgroup.perform_request_delete_group(uid=uid, grpID=argd['grpID'], confirmed=argd['confirmed']) elif argd['update']: (body, errors, warnings) = webgroup.perform_request_update_group(uid= uid, grpID=argd['grpID'], group_name=argd['group_name'], group_description=argd['group_description'], join_policy=argd['join_policy'], ln=argd['ln']) else : (body, errors, warnings)= webgroup.perform_request_edit_group(uid=uid, grpID=argd['grpID'], ln=argd['ln']) title = _("Edit Group") return page(title = title, body = body, navtrail = webgroup.get_navtrail(argd['ln'], title), uid = uid, req = req, language = argd['ln'], lastupdated = __lastupdated__, errors = errors, warnings = warnings, navmenuid = 'yourgroups') def members(self, req, form): """member(): interface for managing members of a group @param grpID : group ID @param add_member: button add_member pressed @param remove_member: button remove_member pressed @param reject_member: button reject__member pressed @param delete: button delete group pressed @param member_id : ID of the existing member selected @param pending_member_id : ID of the pending member selected @param cancel: button cancel pressed @param info : info about last user action @param ln: language @return the same page with data updated """ argd = wash_urlargd(form, {'grpID': (int, 0), 'cancel': (str, ""), 'add_member': (str, ""), 'remove_member': (str, ""), 'reject_member': (str, ""), 'member_id': (int, 0), 'pending_member_id': (int, 0) }) uid = webuser.getUid(req) # load the right message language _ = gettext_set_language(argd['ln']) if uid == -1 or webuser.isGuestUser(uid) or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return webuser.page_not_authorized(req, "../yourgroups/display", navmenuid='yourgroups') if argd['cancel']: url = weburl + '/yourgroups/display?ln=%s' url %= argd['ln'] redirect_to_url(req, url) if argd['remove_member']: (body, errors, warnings) = webgroup.perform_request_remove_member(uid=uid, grpID=argd['grpID'], member_id=argd['member_id'], ln=argd['ln']) elif argd['reject_member']: (body, errors, warnings) = webgroup.perform_request_reject_member(uid=uid, grpID=argd['grpID'], user_id=argd['pending_member_id'], ln=argd['ln']) elif argd['add_member']: (body, errors, warnings) = webgroup.perform_request_add_member(uid=uid, grpID=argd['grpID'], user_id=argd['pending_member_id'], ln=argd['ln']) else: (body, errors, warnings)= webgroup.perform_request_manage_member(uid=uid, grpID=argd['grpID'], ln=argd['ln']) title = _("Edit group members") return page(title = title, body = body, navtrail = webgroup.get_navtrail(argd['ln'], title), uid = uid, req = req, language = argd['ln'], lastupdated = __lastupdated__, errors = errors, warnings = warnings, navmenuid = 'yourgroups') diff --git a/modules/websession/lib/webuser.py b/modules/websession/lib/webuser.py index 618e3635f..e0bcf385f 100644 --- a/modules/websession/lib/webuser.py +++ b/modules/websession/lib/webuser.py @@ -1,845 +1,818 @@ # -*- coding: utf-8 -*- ## ## $Id$ ## ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. """ This file implements all methods necessary for working with users and sessions in CDS Invenio. Contains methods for logging/registration when a user log/register into the system, checking if it is a guest user or not. At the same time this presents all the stuff it could need with sessions managements, working with websession. It also contains Apache-related user authentication stuff. """ __revision__ = "$Id$" import marshal from zlib import compress, decompress from socket import gethostbyname import time import os import crypt import string import smtplib import re import random from invenio.config import \ CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS, \ CFG_ACCESS_CONTROL_LEVEL_GUESTS, \ CFG_ACCESS_CONTROL_LEVEL_SITE, \ CFG_ACCESS_CONTROL_LIMIT_REGISTRATION_TO_DOMAIN, \ CFG_ACCESS_CONTROL_NOTIFY_ADMIN_ABOUT_NEW_ACCOUNTS, \ CFG_ACCESS_CONTROL_NOTIFY_USER_ABOUT_NEW_ACCOUNT, \ CFG_APACHE_GROUP_FILE, \ CFG_APACHE_PASSWORD_FILE, \ adminemail, \ cdslang, \ cdsname, \ supportemail, \ sweburl, \ tmpdir, \ version, \ weburl from invenio import session, websession from invenio.dbquery import run_sql, escape_string, OperationalError from invenio.websession import pSession, pSessionMapping from invenio.session import SessionError from invenio.access_control_config import * from invenio.access_control_admin import acc_findUserRoleActions from invenio.messages import gettext_set_language from invenio.webinterface_handler import http_get_credentials from invenio.webgroup_dblayer import get_groups from invenio.external_authentication import WebAccessExternalAuthError import invenio.template tmpl = invenio.template.load('websession') re_invalid_nickname = re.compile(""".*[,'@]+.*""") # pylint: disable-msg=C0301 def createGuestUser(): """Create a guest user , insert into user null values in all fields createGuestUser() -> GuestUserID """ if CFG_ACCESS_CONTROL_LEVEL_GUESTS == 0: try: return run_sql("insert into user (email, note) values ('', '1')") except OperationalError: return None elif CFG_ACCESS_CONTROL_LEVEL_GUESTS >= 1: try: return run_sql("insert into user (email, note) values ('', '0')") except OperationalError: return None def page_not_authorized(req, referer='', uid='', text='', navtrail='', ln=cdslang, navmenuid=""): """Show error message when account is not activated""" from invenio.webpage import page _ = gettext_set_language(ln) if not CFG_ACCESS_CONTROL_LEVEL_SITE: title = CFG_WEBACCESS_MSGS[5] if not uid: uid = getUid(req) try: res = run_sql("SELECT email FROM user WHERE id=%s" % uid) if res and res[0][0]: if text: body = text else: body = "%s %s" % (CFG_WEBACCESS_WARNING_MSGS[9] % res[0][0], ("%s %s" % (CFG_WEBACCESS_MSGS[0] % referer, CFG_WEBACCESS_MSGS[1]))) else: if text: body = text else: if CFG_ACCESS_CONTROL_LEVEL_GUESTS == 1: body = CFG_WEBACCESS_MSGS[3] else: body = CFG_WEBACCESS_WARNING_MSGS[4] + CFG_WEBACCESS_MSGS[2] except OperationalError, e: body = _("Database problem") + ': ' + str(e) elif CFG_ACCESS_CONTROL_LEVEL_SITE == 1: title = CFG_WEBACCESS_MSGS[8] body = "%s %s" % (CFG_WEBACCESS_MSGS[7], CFG_WEBACCESS_MSGS[2]) elif CFG_ACCESS_CONTROL_LEVEL_SITE == 2: title = CFG_WEBACCESS_MSGS[6] body = "%s %s" % (CFG_WEBACCESS_MSGS[4], CFG_WEBACCESS_MSGS[2]) return page(title=title, uid=getUid(req), body=body, navtrail=navtrail, req=req, navmenuid=navmenuid) def getUid (req): """Return user ID taking it from the cookie of the request. Includes control mechanism for the guest users, inserting in the database table when need be, raising the cookie back to the client. User ID is set to 0 when client refuses cookie or we are in the read-only site operation mode. User ID is set to -1 when we are in the permission denied site operation mode. getUid(req) -> userId """ if CFG_ACCESS_CONTROL_LEVEL_SITE == 1: return 0 if CFG_ACCESS_CONTROL_LEVEL_SITE == 2: return -1 guest = 0 sm = session.MPSessionManager(pSession, pSessionMapping()) try: s = sm.get_session(req) except SessionError: sm.revoke_session_cookie (req) s = sm.get_session(req) userId = s.getUid() if userId == -1: # first time, so create a guest user s.setUid(createGuestUser()) userId = s.getUid() guest = 1 sm.maintain_session(req, s) if guest == 0: guest = isGuestUser(userId) if guest: if CFG_ACCESS_CONTROL_LEVEL_GUESTS == 0: return userId elif CFG_ACCESS_CONTROL_LEVEL_GUESTS >= 1: return -1 else: res = run_sql("SELECT note FROM user WHERE id=%s" % userId) if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS == 0: return userId elif CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS >= 1 and res and res[0][0] in [1, "1"]: return userId else: return -1 def setUid(req, uid): """It sets the userId into the session, and raise the cookie to the client. """ sm = session.MPSessionManager(pSession, pSessionMapping()) try: s = sm.get_session(req) except SessionError: sm.revoke_session_cookie(req) s = sm.get_session(req) s.setUid(uid) sm.maintain_session(req, s) return uid def get_user_info(uid, ln=cdslang): """Get infos for a given user. @param uid: user id (int) @return tuple: (uid, nickname, display_name) """ _ = gettext_set_language(ln) query = """SELECT id, nickname FROM user WHERE id=%i""" res = run_sql(query%uid) if res: if res[0]: user = list(res[0]) if user[1]: user.append(user[1]) else: user[1] = str(user[0]) user.append(_("user") + ' #' + str(user[0])) return tuple(user) return (uid, '', _("N/A")) def isGuestUser(uid): """It Checks if the userId corresponds to a guestUser or not isGuestUser(uid) -> boolean """ out = 1 try: res = run_sql("select email from user where id=%s", (uid,)) if res: if res[0][0]: out = 0 except OperationalError: pass return out def isUserSubmitter(user_info): """Return True if the user is a submitter for something; False otherwise.""" u_email = get_email(user_info['uid']) res = run_sql("select * from sbmSUBMISSIONS where email=%s", (u_email,)) return len(res) > 0 def isUserReferee(user_info): """Return True if the user is a referee for something; False otherwise.""" from invenio.access_control_engine import acc_authorize_action res = run_sql("select sdocname from sbmDOCTYPE") for row in res: doctype = row[0] categ = "*" (auth_code, auth_message) = acc_authorize_action(user_info, "referee", doctype=doctype, categ=categ) if auth_code == 0: return 1 res2 = run_sql("select sname from sbmCATEGORIES where doctype=%s", (doctype,)) for row2 in res2: categ = row2[0] (auth_code, auth_message) = acc_authorize_action(user_info, "referee", doctype=doctype, categ=categ) if auth_code == 0: return 1 return 0 def isUserAdmin(user_info): """Return True if the user has some admin rights; False otherwise.""" return acc_findUserRoleActions(user_info) def nickname_valid_p(nickname): """Check whether wanted NICKNAME supplied by the user is valid. At the moment we just check whether it is not empty, does not contain blanks or @, is not equal to `guest', etc. This check relies on re_invalid_nickname regexp (see above) Return 1 if nickname is okay, return 0 if it is not. """ if nickname and \ not(nickname.startswith(' ') or nickname.endswith(' ')) and \ nickname.lower() != 'guest': if not re_invalid_nickname.match(nickname): return 1 return 0 def email_valid_p(email): """Check whether wanted EMAIL address supplied by the user is valid. At the moment we just check whether it contains '@' and whether it doesn't contain blanks. We also check the email domain if CFG_ACCESS_CONTROL_LIMIT_REGISTRATION_TO_DOMAIN is set. Return 1 if email is okay, return 0 if it is not. """ if (string.find(email, "@") <= 0) or (string.find(email, " ") > 0): return 0 elif CFG_ACCESS_CONTROL_LIMIT_REGISTRATION_TO_DOMAIN: if not email.endswith(CFG_ACCESS_CONTROL_LIMIT_REGISTRATION_TO_DOMAIN): return 0 return 1 def registerUser(req, email, passw, nickname, register_without_nickname=False): """Register user with the desired values of NICKNAME, EMAIL and PASSW. If REGISTER_WITHOUT_NICKNAME is set to True, then ignore desired NICKNAME and do not set any. This is suitable for external authentications so that people can login without having to register an internal account first. Return 0 if the registration is successful, 1 if email is not valid, 2 if nickname is not valid, 3 if email is already in the database, 4 if nickname is already in the database, 5 when users cannot register themselves because of the site policy. """ # is email valid? email = email.lower() if not email_valid_p(email): return 1 # is email already taken? res = run_sql("SELECT * FROM user WHERE email=%s", (email,)) if len(res) > 0: return 3 if register_without_nickname: # ignore desired nick and use default empty string one: nickname = "" else: # is nickname valid? if not nickname_valid_p(nickname): return 2 # is nickname already taken? res = run_sql("SELECT * FROM user WHERE nickname=%s", (nickname,)) if len(res) > 0: return 4 # okay, go on and register the user: if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS == 0: activated = 1 elif CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS == 1: activated = 0 elif CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS >= 2: return 5 user_preference = get_default_user_preferences() setUid(req, run_sql("INSERT INTO user (nickname, email, password, note, settings) VALUES (%s,%s,AES_ENCRYPT(email,%s),%s,%s)", (nickname, email, passw, activated, serialize_via_marshal(user_preference),))) if CFG_ACCESS_CONTROL_NOTIFY_USER_ABOUT_NEW_ACCOUNT: sendNewUserAccountWarning(email, email, passw) if CFG_ACCESS_CONTROL_NOTIFY_ADMIN_ABOUT_NEW_ACCOUNTS: sendNewAdminAccountWarning(email, adminemail) return 0 def updateDataUser(uid, email, nickname): """ Update user data. Used when a user changed his email or password or nickname. """ email = email.lower() if email == 'guest': return 0 if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS < 2: run_sql("update user set email=%s where id=%s", (email, uid)) if nickname and nickname != '': run_sql("update user set nickname=%s where id=%s", (nickname, uid)) return 1 def updatePasswordUser(uid, password): """Update the password of a user.""" if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS < 3: run_sql("update user set password=AES_ENCRYPT(email,%s) where id=%s", (password, uid)) return 1 def loginUser(req, p_un, p_pw, login_method): """It is a first simple version for the authentication of user. It returns the id of the user, for checking afterwards if the login is correct """ # p_un passed may be an email or a nickname: p_email = get_email_from_username(p_un) # go on with the old stuff based on p_email: if not CFG_EXTERNAL_AUTHENTICATION.has_key(login_method): return ([], p_email, p_pw, 12) if CFG_EXTERNAL_AUTHENTICATION[login_method][0]: # External Authenthication try: p_email = CFG_EXTERNAL_AUTHENTICATION[login_method][0].auth_user(p_email, p_pw, req) except WebAccessExternalAuthError: return([], p_email, p_pw, 16) if p_email: # Authenthicated externally query_result = run_sql("SELECT id from user where email=%s", (p_email,)) if not query_result: # First time user import random p_pw_local = int(random.random() * 1000000) p_nickname = '' if CFG_EXTERNAL_AUTHENTICATION[login_method][0].enforce_external_nicknames: try: # Let's discover the external nickname! p_nickname = CFG_EXTERNAL_AUTHENTICATION[login_method][0].fetch_user_nickname(p_email, p_pw, req) except (AttributeError, NotImplementedError): pass res = registerUser(req, p_email, p_pw_local, p_nickname, \ register_without_nickname=p_nickname == '') if res == 4 or res == 2: # The nickname was already taken res = registerUser(req, p_email, p_pw_local, '', register_without_nickname=True) if res == 0: # Everything was ok, with or without nickname. query_result = run_sql("SELECT id from user where email=%s", (p_email,)) else: return([], p_email, p_pw_local, 13) try: groups = CFG_EXTERNAL_AUTHENTICATION[login_method][0].fetch_user_groups_membership(p_email, p_pw, req) # groups is a dictionary {group_name : group_description,} new_groups = {} for key, value in groups.items(): new_groups[key + " [" + str(login_method) + "]"] = value groups = new_groups except (AttributeError, NotImplementedError): pass except WebAccessExternalAuthError: return([], p_email, p_pw, 16) else: # Groups synchronization if groups != 0: userid = query_result[0][0] from invenio.webgroup import synchronize_external_groups synchronize_external_groups(userid, groups, login_method) user_prefs = get_user_preferences(query_result[0][0]) if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS >= 4: # Let's prevent the user to switch login_method if user_prefs.has_key("login_method") and \ user_prefs["login_method"] != login_method: return([], p_email, p_pw, 11) user_prefs["login_method"] = login_method # Cleaning external settings for key in user_prefs.keys(): if key.startswith('EXTERNAL_'): del user_prefs[key] try: # Importing external settings new_prefs = CFG_EXTERNAL_AUTHENTICATION[login_method][0].fetch_user_preferences(p_email, p_pw, req) for key, value in new_prefs.items(): user_prefs['EXTERNAL_' + key] = value except (AttributeError, NotImplementedError): pass except WebAccessExternalAuthError: return([], p_email, p_pw, 16) # Storing settings set_user_preferences(query_result[0][0], user_prefs) else: return ([], p_un, p_pw, 10) else: # Internal Authenthication if not p_pw: p_pw = '' query_result = run_sql("SELECT id,email from user where email=%s and password=AES_ENCRYPT(email,%s)", (p_email, p_pw,)) if query_result: #FIXME drop external groups and settings preferred_login_method = get_user_preferences(query_result[0][0])['login_method'] p_email = query_result[0][1] if login_method != preferred_login_method: if CFG_EXTERNAL_AUTHENTICATION.has_key(preferred_login_method): return ([], p_email, p_pw, 11) else: return ([], p_email, p_pw, 14) # Login successful! Updating the last access time run_sql("UPDATE user SET last_login=NOW() WHERE email=%s", (p_email, )) return (query_result, p_email, p_pw, 0) def drop_external_settings(userId): """Drop the external (EXTERNAL_) settings of userid.""" prefs = get_user_preferences(userId) for key in prefs.keys(): if key.startswith('EXTERNAL_'): del prefs[key] set_user_preferences(userId, prefs) def logoutUser(req): """It logout the user of the system, creating a guest user. """ getUid(req) sm = session.MPSessionManager(pSession, pSessionMapping()) try: s = sm.get_session(req) except SessionError: sm.revoke_session_cookie(req) s = sm.get_session(req) id1 = createGuestUser() s.setUid(id1) sm.maintain_session(req, s) return id1 def username_exists_p(username): """Check if USERNAME exists in the system. Username may be either nickname or email. Return 1 if it does exist, 0 if it does not. """ if username == "": # return not exists if asked for guest users return 0 res = run_sql("SELECT email FROM user WHERE email=%s", (username,)) + \ run_sql("SELECT email FROM user WHERE nickname=%s", (username,)) if len(res) > 0: return 1 return 0 def emailUnique(p_email): """Check if the email address only exists once. If yes, return userid, if not, -1 """ query_result = run_sql("select id, email from user where email=%s", (p_email,)) if len(query_result) == 1: return query_result[0][0] elif len(query_result) == 0: return 0 return -1 def nicknameUnique(p_nickname): """Check if the nickname only exists once. If yes, return userid, if not, -1 """ query_result = run_sql("select id, nickname from user where nickname=%s", (p_nickname,)) if len(query_result) == 1: return query_result[0][0] elif len(query_result) == 0: return 0 return -1 def update_Uid(req, p_email): """It updates the userId of the session. It is used when a guest user is logged in succesfully in the system with a given email and password """ query_ID = int(run_sql("select id from user where email=%s", (p_email,))[0][0]) setUid(req, query_ID) return query_ID -def givePassword(email): - """ It checks in the database the password for a given email. It is used to send the password to the email of the user.It returns - the password if the user exists, otherwise it returns -999 - """ - - query_pass = run_sql("select email from user where email =%s", (email,)) - if query_pass: - password = int(random.random() * 1000000) - run_sql("UPDATE user SET password=AES_ENCRYPT(email, %s) " - "WHERE email=%s", (password, email)) - return password - return -999 - -def request_reset_password(email): - """ Create a request for resetting the password. That means that a random - MD5 hash is created and the date is stored, in the given email. This hash - will be sent to the owner of the email, and the owner should need to - reach a link with this email and this hash. - """ - rnd = int(random.random() * 1000000) - run_sql("UPDATE user SET reset_key=MD5(%s), reset_date=DATE(NOW()) WHERE email=%s", - (rnd, email)) - res = run_sql("SELECT reset_key FROM user WHERE email=%s", (email, )) - if res: - return res[0][0] - return None - def sendNewAdminAccountWarning(newAccountEmail, sendTo, ln=cdslang): """Send an email to the address given by sendTo about the new account newAccountEmail.""" _ = gettext_set_language(ln) fromaddr = "From: %s" % supportemail toaddrs = "To: %s" % sendTo to = toaddrs + "\n" sub = "Subject: New account on '%s'" % cdsname if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS == 1: sub += " - PLEASE ACTIVATE" sub += "\n\n" body = "A new account has been created on '%s'" % cdsname if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS == 1: body += " and is awaiting activation" body += ":\n\n" body += " Username/Email: %s\n\n" % newAccountEmail body += "You can approve or reject this account request at: %s/admin/webaccess/webaccessadmin.py/manageaccounts\n" % weburl body += "\n---------------------------------" body += "\n%s" % cdsname body += "\nContact: %s" % supportemail msg = to + sub + body server = smtplib.SMTP('localhost') server.set_debuglevel(1) try: server.sendmail(fromaddr, toaddrs, msg) except smtplib.SMTPRecipientsRefused: return 0 server.quit() return 1 def sendNewUserAccountWarning(newAccountEmail, sendTo, password, ln=cdslang): """Send an email to the address given by sendTo about the new account newAccountEmail.""" _ = gettext_set_language(ln) fromaddr = "From: %s" % supportemail toaddrs = "To: %s" % sendTo to = toaddrs + "\n" sub = "Subject: Your account created on '%s'\n\n" % cdsname body = "You have created a new account on '%s':\n\n" % cdsname body += " Username/Email: %s\n" % newAccountEmail body += " Password: %s\n\n" % ("*" * len(password)) if CFG_ACCESS_CONTROL_LEVEL_ACCOUNTS >= 1: body += "This account is awaiting approval by the site administrators and therefore cannot be used as of yet.\nYou will receive an email notification as soon as your account request has been processed.\n" body += "\n---------------------------------" body += "\n%s" % cdsname body += "\nContact: %s" % supportemail msg = to + sub + body server = smtplib.SMTP('localhost') server.set_debuglevel(1) try: server.sendmail(fromaddr, toaddrs, msg) except smtplib.SMTPRecipientsRefused: return 0 server.quit() return 1 def get_email(uid): """Return email address of the user uid. Return string 'guest' in case the user is not found.""" out = "guest" res = run_sql("SELECT email FROM user WHERE id=%s", (uid,), 1) if res and res[0][0]: out = res[0][0] return out def get_email_from_username(username): """Return email address of the user corresponding to USERNAME. The username may be either nickname or email. Return USERNAME untouched if not found in the database or if found several matching entries. """ out = username res = run_sql("SELECT email FROM user WHERE email=%s", (username,), 1) + \ run_sql("SELECT email FROM user WHERE nickname=%s", (username,), 1) if res and len(res) == 1: out = res[0][0] return out #def get_password(uid): #"""Return password of the user uid. Return None in case #the user is not found.""" #out = None #res = run_sql("SELECT password FROM user WHERE id=%s", (uid,), 1) #if res and res[0][0] != None: #out = res[0][0] #return out def get_nickname(uid): """Return nickname of the user uid. Return None in case the user is not found.""" out = None res = run_sql("SELECT nickname FROM user WHERE id=%s", (uid,), 1) if res and res[0][0]: out = res[0][0] return out def get_nickname_or_email(uid): """Return nickname (preferred) or the email address of the user uid. Return string 'guest' in case the user is not found.""" out = "guest" res = run_sql("SELECT nickname, email FROM user WHERE id=%s", (uid,), 1) if res and res[0]: if res[0][0]: out = res[0][0] elif res[0][1]: out = res[0][1] return out def create_userinfobox_body(req, uid, language="en"): """Create user info box body for user UID in language LANGUAGE.""" if req: if req.subprocess_env.has_key('HTTPS') \ and req.subprocess_env['HTTPS'] == 'on': url_referer = sweburl + req.unparsed_uri else: url_referer = weburl + req.unparsed_uri else: url_referer = weburl try: return tmpl.tmpl_create_userinfobox(ln=language, url_referer=url_referer, guest = isGuestUser(uid), username = get_nickname_or_email(uid), submitter = True, # FIXME isUserSubmitter(uid), referee = True, # FIXME isUserReferee(req), admin = True # FIXME isUserAdmin(req), ) except OperationalError: return "" def list_registered_users(): """List all registered users.""" return run_sql("SELECT id,email FROM user where email!=''") def list_users_in_role(role): """List all users of a given role (see table accROLE) @param role: role of user (string) @return list of uids """ query = """SELECT uacc.id_user FROM user_accROLE uacc JOIN accROLE acc ON uacc.id_accROLE=acc.id WHERE acc.name='%s'""" res = run_sql(query% escape_string(role)) if res: return map(lambda x: int(x[0]), res) return [] def list_users_in_roles(role_list): """List all users of given roles (see table accROLE) @param role_list: list of roles [string] @return list of uids """ if not(type(role_list) is list or type(role_list) is tuple): role_list = [role_list] params = '' query = """SELECT distinct(uacc.id_user) FROM user_accROLE uacc JOIN accROLE acc ON uacc.id_accROLE=acc.id %s""" if len(role_list) > 0: params = 'WHERE ' for role in role_list[:-1]: params += "acc.name='%s' OR " % escape_string(role) params += "acc.name='%s'" % escape_string(role_list[-1]) res = run_sql(query% params) if res: return map(lambda x: int(x[0]), res) return [] ## --- follow some functions for Apache user/group authentication def auth_apache_user_p(user, password, apache_password_file=CFG_APACHE_PASSWORD_FILE): """Check whether user-supplied credentials correspond to valid Apache password data file. Return 0 in case of failure, 1 in case of success.""" try: if not apache_password_file.startswith("/"): apache_password_file = tmpdir + "/" + apache_password_file dummy, pipe_output = os.popen2(["grep", "^" + user + ":", apache_password_file], 'r') line = pipe_output.readlines()[0] password_apache = string.split(string.strip(line),":")[1] except: # no pw found, so return not-allowed status return 0 salt = password_apache[:2] if crypt.crypt(password, salt) == password_apache: return 1 else: return 0 def auth_apache_user_in_groups(user, apache_group_file=CFG_APACHE_GROUP_FILE): """Return list of Apache groups to which Apache user belong.""" out = [] try: if not apache_group_file.startswith("/"): apache_group_file = tmpdir + "/" + apache_group_file dummy, pipe_output = os.popen2(["grep", user, apache_group_file], 'r') for line in pipe_output.readlines(): out.append(string.split(string.strip(line),":")[0]) except: # no groups found, so return empty list pass return out def get_user_preferences(uid): pref = run_sql("SELECT id, settings FROM user WHERE id=%s", (uid,)) if pref: try: return deserialize_via_marshal(pref[0][1]) except: pass return get_default_user_preferences() # empty dict mean no preferences def set_user_preferences(uid, pref): assert(type(pref) == type({})) run_sql("UPDATE user SET settings=%s WHERE id=%s", (serialize_via_marshal(pref), uid)) def get_default_user_preferences(): user_preference = { 'login_method': ''} for system in CFG_EXTERNAL_AUTHENTICATION.keys(): if CFG_EXTERNAL_AUTHENTICATION[system][1]: user_preference['login_method'] = system break return user_preference def collect_user_info(req): """Given the mod_python request object rec or a uid it returns a dictionary containing at least the keys uid, nickname, email, groups, plus any external keys in the user preferences (collected at login time and built by the different external authentication plugins) and if the mod_python request object is provided, also the remote_ip and remote_host fields. """ user_info = {} if type(req) in [type(1), type(1L)]: uid = req else: uid = getUid(req) user_info['remote_ip'] = gethostbyname(req.connection.remote_ip) user_info['remote_host'] = req.connection.remote_host or None user_info['uid'] = uid user_info['nickname'] = get_nickname(uid) or None user_info['email'] = get_email(uid) or None user_info['group'] = [] user_info['guest'] = isGuestUser(uid) if uid: user_info['group'] = [group[1] for group in get_groups(uid)] prefs = get_user_preferences(uid) if prefs: for key, value in prefs.items(): user_info[key.lower()] = value return user_info def serialize_via_marshal(obj): """Serialize Python object via marshal into a compressed string.""" return compress(marshal.dumps(obj)) def deserialize_via_marshal(string): """Decompress and deserialize string into a Python object via marshal.""" return marshal.loads(decompress(string)) diff --git a/modules/websubmit/lib/functions/Allocate_ALEPH_SYS.py b/modules/websubmit/lib/functions/Allocate_ALEPH_SYS.py index 7126c0b1a..419ef7811 100644 --- a/modules/websubmit/lib/functions/Allocate_ALEPH_SYS.py +++ b/modules/websubmit/lib/functions/Allocate_ALEPH_SYS.py @@ -1,390 +1,368 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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. +## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. """Allocate an ALEPH system number (SYS) for a record.""" __revision__ = "$Id$" import os.path from random import randint, seed from os import getpid, unlink, access, rename, R_OK, W_OK from os.path import getmtime from shutil import copyfile from time import strftime, localtime, time, mktime, sleep from invenio.config import \ adminemail, \ cdsname, \ counters, \ supportemail from invenio.websubmit_config import InvenioWebSubmitFunctionError -from invenio.websubmit_functions.mail import forge_email, send_email +from invenio.mailutils import send_email CFG_WARNING_MAX_SYS_APPROACHING = 2000 CFG_MAX_AGE_LOCKFILE = 300 ## (300 seconds is the maximum age that we allow for a lockfile) CFG_LEGAL_ALEPH_DATABASES = ["CER", "IEX", "MAN", "MMD"] def Allocate_ALEPH_SYS(parameters, curdir, form): """Get the next available ALEPH SYS from the counter file, and allocate it as the SYS for this record. Increment the counterby one. ALEPH SYS allocation works in "slots" of free numbers. For example, 000425201 -> 000634452 for a given database may be available. This means that it is necessary to care about not over-stepping the maximum boundary. To this end, two counters (for each ALEPH Database) must be present: - last_SYS_ (this contains the last SYS allocated for a database) - maximum_SYS_ (this contains the MAXIMUM SYS allowed for a database) So, for example, for the CER database, there would be: - last_SYS_CER - maximum_SYS_CER When the maximum SYS has been reached, all further attempts to obtain ALEPH SYSs will fail, as this function will fail with an error. To prevent this from coming as a surprise, however, when "last_SYS_" gets somewhere near to the value stored in "maximum_SYS_", a mail will be sent to the Admin with every SYS allocated, warning them that only N numbers remain free for the XY database. The number until MAX SYS which determines this period of warning emails is determined by a variable "warn_admin_at_N_sys_remaining". It is set to 2000 by default, but can be changed. When the system allocates a new sys and there are 2000 or less free SYS remaining, the warning mails to ADMIN will be sent. @param alephdatabase: (string) the name of the ALEPH database for which a SYS is to be allocated. E.g. "CER". The he absence of this will cause the function to fail. Also, the absence of either of the 2 counter files "last_SYS_${database}" and "maximum_SYS_${database}" will cause the function to fail. """ mailfrom_addr = '%s Submission Engine <%s>' % (cdsname, supportemail) database = parameters['alephdatabase'].strip() counter_lastsys = "last_SYS_%s" % database counter_maxsys = "maximum_SYS_%s" % database ## ensure that "database" param is not empty, and exists in the list of legal DBs if database == "" or database not in CFG_LEGAL_ALEPH_DATABASES: ## error with supplied database msg = """ERROR: When trying to allocate an ALEPH SYS for a record, an invalid database name was"""\ """ supplied: [%s]. It was therefore not possible to allocate the SYS.""" % database raise InvenioWebSubmitFunctionError(msg) ## before trying to make a lockfile, test if one exists and whether it is older than "CFG_MAX_AGE_LOCKFILE" seconds ## if so, raise an error and warn the admin: counter_lockfile = "last_SYS_%s.lock" % database try: lockfile_modtime = getmtime("%s/%s" % (counters, counter_lockfile)) time_now = mktime(localtime()) time_since_last_lockfile_mod = time_now - lockfile_modtime if time_since_last_lockfile_mod > CFG_MAX_AGE_LOCKFILE: ## lockfile is old - warn admin and stop admin_msg = """ERROR: When trying to allocate an ALEPH SYS for a record in the [%s] DB, it was not possible """\ """to create a lockfile. An attempt was made at [%s], but a lockfile already existed with a """\ """last modification time of [%s]. It was therefore not possible to allocate the SYS.""" \ % (database, strftime("%d/%m/%Y %H:%M:%S", localtime(time_now)), strftime("%d/%m/%Y %H:%M:%S", localtime(lockfile_modtime))) - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - OLD ALEPH SYS LOCKFILE ENCOUNTERED!", content="\n\n"+admin_msg) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - OLD ALEPH SYS LOCKFILE ENCOUNTERED!", content=admin_msg) user_msg = """ERROR: When trying to allocate an ALEPH SYS for a record in the [%s] DB, it was not possible""" \ """ to create a lockfile. It was therefore not possible to allocate the SYS.""" \ % database raise InvenioWebSubmitFunctionError(user_msg) except OSError: ## no lockfile pass ## before any counter operations, create a lockfile: got_lock = _create_SYS_counter_lockfile(database) if got_lock == 0: ## unable to create lockfile! msg = """ERROR: When trying to allocate an ALEPH SYS for a record in the [%s] DB, it was not possible"""\ """ to create a lockfile within 60 seconds. It was therefore not possible to allocate the SYS.""" % database - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - CANNOT CREATE LOCKFILE!", content="\n\n"+msg) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - CANNOT CREATE LOCKFILE!", content=msg) raise InvenioWebSubmitFunctionError(msg) ## test that counter files exist for "database": rw_count_lastsys_ok = access("%s/%s" % (counters, counter_lastsys), R_OK|W_OK) rw_count_maxsys_ok = access("%s/%s" % (counters, counter_maxsys), R_OK|W_OK) if not rw_count_lastsys_ok or not rw_count_maxsys_ok: ## cannot access the ALEPH counter files - critical error msg = """ERROR: When trying to allocate an ALEPH SYS for a record, either [%s] or [%s] (or both) was not"""\ """ accessable. It was therefore not possible to allocate the SYS.""" % (counter_lastsys, counter_maxsys) lockfile_removed = _unlink_SYS_counter_lockfile(database) if lockfile_removed == 0: ## couldn't remove lockfile - mail ADMIN _mail_admin_because_lockfile_not_removeable(lockfilename="last_SYS_%s" % database, extramsg="\n\n"+msg) - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - CANNOT ACCESS ALEPH SYS COUNTER(S)!", content="\n\n"+msg) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - CANNOT ACCESS ALEPH SYS COUNTER(S)!", content=msg) raise InvenioWebSubmitFunctionError(msg) ## read last-sys and max-sys: try: fp = open("%s/%s" % (counters, counter_lastsys), "r") fileval_lastsys = fp.read() fp.close() fp = open("%s/%s" % (counters, counter_maxsys), "r") fileval_maxsys = fp.read() fp.close() except IOError: ## could not read one or both of the files msg = """ERROR: When trying to allocate an ALEPH SYS for a record, either [%s] or [%s] (or both) could not"""\ """ be read. It was therefore not possible to allocate the SYS.""" % (counter_lastsys, counter_maxsys) lockfile_removed = _unlink_SYS_counter_lockfile(database) if lockfile_removed == 0: ## couldn't remove lockfile - mail ADMIN _mail_admin_because_lockfile_not_removeable(lockfilename="last_SYS_%s" % database, extramsg="\n\n"+msg) - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - CANNOT ACCESS ALEPH SYS COUNTER(S)!", content="\n\n"+msg) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - CANNOT ACCESS ALEPH SYS COUNTER(S)!", content=msg) raise InvenioWebSubmitFunctionError(msg) ## for the values from both files, clean any whitespace from beginning or end of file text and cast the result to an integer: try: lastsys = int(fileval_lastsys.strip()) maxsys = int(fileval_maxsys.strip()) except ValueError: ## the value in one or both of the files did not cast to an int! msg = """ERROR: When trying to allocate an ALEPH SYS for a record, either [%s] or [%s] (or both) contained invalid"""\ """ (non-integer) values. It was therefore not possible to allocate the SYS.""" % (counter_lastsys, counter_maxsys) lockfile_removed = _unlink_SYS_counter_lockfile(database) if lockfile_removed == 0: ## couldn't remove lockfile - mail ADMIN _mail_admin_because_lockfile_not_removeable(lockfilename="last_SYS_%s" % database, extramsg="\n\n"+msg) - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - ALEPH SYS COUNTER(S) CONTAINS INVALID DATA!", content="\n\n"+msg) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - ALEPH SYS COUNTER(S) CONTAINS INVALID DATA!", content=msg) raise InvenioWebSubmitFunctionError(msg) ## check that "fileval_lastsys" is less than "fileval_maxsys". If yes, proceed - else fail and mail ADMIN if not (lastsys < maxsys): ## MAX SYS EXCEEDED msg = """ERROR: When trying to allocate an ALEPH SYS for a record, the value of [%s -> %d] is not less than the """\ """value of [%s -> %d]. It was therefore not possible to allocate the SYS. A new SYS range must be allocated!"""\ % (counter_lastsys, lastsys, counter_maxsys, maxsys) ## mail admin: - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - MAXIMUM ALEPH SYS COUNTER VALUE EXCEEDED!", content="\n\n"+msg) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - MAXIMUM ALEPH SYS COUNTER VALUE EXCEEDED!", content=msg) lockfile_removed = _unlink_SYS_counter_lockfile(database) if lockfile_removed == 0: ## couldn't remove lockfile - mail ADMIN _mail_admin_because_lockfile_not_removeable(lockfilename="last_SYS_%s" % database, extramsg="\n\n"+msg) raise InvenioWebSubmitFunctionError(msg) if maxsys - lastsys < CFG_WARNING_MAX_SYS_APPROACHING: ## WARN admin that MAX ALEPH SYS for this DB is approaching: _warn_admin_counterlimit_approaching(db=database, lastsys=lastsys, maxsys=maxsys) ## increment the value of the last SYS lastsys += 1 ## cast sys to a string and pad the value on the left with leading zeros to 9 characters: cursys = "%09d%s" % (lastsys, database[0:3].upper().strip()) ## now write out the new value of lastsys to the relevant counter file: ## make temporary file then move it later tmpfname = "%s_%s_%s" % (counter_lastsys, strftime("%Y%m%d%H%M%S", localtime()), getpid()) ## open temp counter file for writing: try: fp = open("%s/%s" % (counters, tmpfname), "w") fp.write("%d" % (lastsys,)) fp.flush() fp.close() except IOError: ## could not write to temp file msg = """ERROR: When trying to allocate an ALEPH SYS for a record, could not write out new value for last SYS used """\ """to a temporary file [%s]. It was therefore not possible to allocate a SYS for the record ([%s] was not """\ """incremented.)""" % ("%s/%s" % (counters, tmpfname), counter_lastsys) ## remove the "lock file" lockfile_removed = _unlink_SYS_counter_lockfile(database) if lockfile_removed == 0: ## couldn't remove lockfile - mail ADMIN _mail_admin_because_lockfile_not_removeable(lockfilename="last_SYS_%s" % database, extramsg="\n\n"+msg) - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - CANNOT CREATE TEMPORARY ALEPH SYS COUNTER FILE!", content="\n\n"+msg) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - CANNOT CREATE TEMPORARY ALEPH SYS COUNTER FILE!", content=msg) raise InvenioWebSubmitFunctionError(msg) ## copy old counter file to backup version: try: copyfile("%s/%s" % (counters, counter_lastsys), "%s/%s.bk" % (counters, counter_lastsys)) except IOError: ## unable to make backup of counter file: msg = """ERROR: When trying to allocate an ALEPH SYS for a record, could not write out new value for last SYS used."""\ """ Couldn't make a back-up copy of the SYS counter file [%s].""" % ("%s/%s" % (counters, counter_lastsys),) ## remove the "lock file" lockfile_removed = _unlink_SYS_counter_lockfile(database) if lockfile_removed == 0: ## couldn't remove lockfile - mail ADMIN _mail_admin_because_lockfile_not_removeable(lockfilename="last_SYS_%s" % database, extramsg="\n\n"+msg) - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - CANNOT WRITE BACK-UP ALEPH SYS COUNTER!", content="\n\n"+msg) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - CANNOT WRITE BACK-UP ALEPH SYS COUNTER!", content=msg) raise InvenioWebSubmitFunctionError(msg) ## rename temp counter file to final counter file: try: rename("%s/%s" % (counters, tmpfname), "%s/%s" % (counters, counter_lastsys)) except OSError: ## couldnt rename the tmp file to final file name msg = """ERROR: When trying to allocate an ALEPH SYS for a record, could not write out new value for last SYS used."""\ """ Created the temporary last SYS counter file [%s], but couldn't then rename it to the final counter file [%s]."""\ """ It was therefore not possible to allocate a SYS for the record ([%s] was not incremented.)"""\ % ("%s/%s" % (counters, tmpfname), "%s/%s" % (counters, counter_lastsys), counter_lastsys) lockfile_removed = _unlink_SYS_counter_lockfile(database) if lockfile_removed == 0: ## couldn't remove lockfile - mail ADMIN _mail_admin_because_lockfile_not_removeable(lockfilename="last_SYS_%s" % database, extramsg="\n\n"+msg) - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - CANNOT WRITE ALEPH SYS COUNTER FILE!", content="\n\n"+msg) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - CANNOT WRITE ALEPH SYS COUNTER FILE!", content=msg) raise InvenioWebSubmitFunctionError(msg) ## now that counter has been successfully incremented, write cursys out to the file "SNa500": try: fp = open("%s/SNa500" % curdir, "w") fp.write("%s" % cursys) fp.flush() fp.close() except IOError: ## unable to write out the SYS! msg = """ERROR: When trying to allocate an ALEPH SYS for a record, could not write out new SYS to file [%s/SNa500]."""\ """ It was therefore not possible to allocate the SYS ([%s] was not incremented.)"""\ % (curdir, counter_lastsys) lockfile_removed = _unlink_SYS_counter_lockfile(database) if lockfile_removed == 0: ## couldn't remove lockfile - mail ADMIN _mail_admin_because_lockfile_not_removeable(lockfilename="last_SYS_%s" % database, extramsg="\n\n"+msg) raise InvenioWebSubmitFunctionError(msg) ## finally, unlink the lock file: lockfile_removed = _unlink_SYS_counter_lockfile(database) if lockfile_removed == 0: ## couldn't remove lockfile - mail ADMIN msg = """ERROR: After allocating an ALEPH SYS for a record, it was not possible to remove the lock file [last_SYS_%s.lock] after the """\ """SYS was allocated.""" % ("%s/%s" % (counters, database),) _mail_admin_because_lockfile_not_removeable(lockfilename="last_SYS_%s" % database, extramsg="\n\n"+msg) raise InvenioWebSubmitFunctionError(msg) return "" def _warn_admin_counterlimit_approaching(db, lastsys, maxsys): mailfrom_addr = '%s Submission Engine <%s>' % (cdsname, supportemail) mailtxt = """WARNING: The maxmimum ALEPH SYS value for the [%s] database is approaching!\n"""\ """The last SYS allocated was [%d]; The maximum SYS allowed is [%d].\n\n"""\ """You should be thinking about allocating a new range of SYS now!\n"""\ % (db, lastsys, maxsys) - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit WARNING - MAXIMUM SYS IN [%s] APPROACHING!" % db, + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit WARNING - MAXIMUM SYS IN [%s] APPROACHING!" % db, content=mailtxt) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) def _mail_admin_because_lockfile_not_removeable(lockfilename, extramsg=""): mailfrom_addr = '%s Submission Engine <%s>' % (cdsname, supportemail) mailtxt = """ERROR: When trying to allocate an ALEPH SYS for a record, it was not possible to remove the lockfile [%s]!"""\ """ This means that all attempted new submissions to that database will be blocked and fail, as it is not"""\ """ possible to allocate them a SYS in ALEPH. Please investigate and remove the lockfile ASAP.\n\n"""\ % (lockfilename,) mailtxt += extramsg - mailbody = forge_email(fromaddr=mailfrom_addr, toaddr=adminemail, bcc="", - subject="WebSubmit ERROR - CANNOT REMOVE ALEPH SYS LOCKFILE!", content=mailtxt) - send_email(fromaddr=mailfrom_addr, toaddr=adminemail, body=mailbody) + send_email(fromaddr=mailfrom_addr, toaddr=adminemail, subject="WebSubmit ERROR - CANNOT REMOVE ALEPH SYS LOCKFILE!", content=mailtxt) def _create_SYS_counter_lockfile(database): """Write a lock-file for "last_SYS_%(database)s" to the "counters" directory, thus ensuring that only one process will access the counter at any one time. If the lockfile doesn't already exist, it will be created in the counters directory with the name "last_SYS_%(database)s.lock" (e.g. "last_SYS_CER.lock".) If the lockfile does exist, the process will sleep for 1 second and then try again. In all, it will try 60 times to create a lockfile before giving up. When a lockfile is created, it will contain a string of the format "processPID->YYYYMMDDhhmmss->random int, between 1-1000000" (E.g. something like this: "856->20060705120533->324".) When the lockfile has been written, it will be re-read and the string inside of it compared with the string that was written. If they match, then it shall be assumed that this is the lockfile owned by this process. If they do not match, then it shall be assumed that at the time of lockfile creation, another process also created its own lockfile, and this one belongs to the other process. In such a case, this process will sleep for one second and then try again. @param database: (string) the name of the database whose counter file has been locked. This is used to determine the name of the lockfile. @return: (integer) an error flag - 0 (ZERO) or 1 (ONE). 0 means lockfile could not be created; 1 means that it was successfully created. """ seed() counter_lockfile = "last_SYS_%s.lock" % database lockfile_text = """%s->%.7f->%d""" % (getpid(), time(), randint(0,1000000)) got_lock = 0 ## get lock on counter: for i in range(0, 60): if os.path.exists("%s/%s" % (counters, counter_lockfile)): ## lock file exists - sleep 1 second and try again sleep(1) continue else: ## lock file doesn't exist - make it try: fp = open("%s/%s" % (counters, counter_lockfile), "w") fp.write("%s" % (lockfile_text,)) fp.flush() fp.close() ## open and read the contents of the lock file back to ensure that it *really* belongs to this process: fp = open("%s/%s" % (counters, counter_lockfile), "r") read_lockfile_contents = fp.readline() fp.close() if read_lockfile_contents.strip() != lockfile_text: ## this is not our lockfile, or it has been corrupted ## probably another process has written its own lockfile in the mean time sleep(1) continue else: got_lock = 1 break except IOError: ## could not create - pass and go on to next iteration got_lock = 0 sleep(1) return got_lock def _unlink_SYS_counter_lockfile(database): """Remove the lockfile that was created for this session of SYS allocation. @param database: (string) the name of the database whose counter file has been locked. This is used to determine the name of the lockfile. @return: (integer) an error flag - 0 (ZERO) or 1 (ONE). 0 means lockfile could not be removed; 1 means that it was successfully removed. """ counter_lockfile = "last_SYS_%s.lock" % (database,) unlinked_lockfile = 0 try: unlink("%s/%s" % (counters, counter_lockfile)) unlinked_lockfile = 1 except OSError: ## unable to remove lockfile: pass return unlinked_lockfile diff --git a/modules/websubmit/lib/functions/Mail_Submitter.py b/modules/websubmit/lib/functions/Mail_Submitter.py index 976a58e8c..6b94f39aa 100644 --- a/modules/websubmit/lib/functions/Mail_Submitter.py +++ b/modules/websubmit/lib/functions/Mail_Submitter.py @@ -1,114 +1,104 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. __revision__ = "$Id$" ## ## Name: Mail_Submitter.py ## Description: function Mail_Submitter ## This function sends a confirmation email to the submitter ## of the document ## Author: T.Baron ## ## PARAMETERS: authorfile: name of the file containing the author ## titleFile: name of the file containing the title ## emailFile: name of the file containing the email ## status: one of "ADDED" (the document has been integrated ## into the database) or "APPROVAL" (an email has ## been sent to a referee - simple approval) ## edsrn: name of the file containing the reference ## newrnin: name of the file containing the 2nd reference ## (if any) ## OUTPUT: HTML ## import os import re from invenio.config import \ adminemail, \ cdsname, \ htdocsurl, \ supportemail from invenio.websubmit_config import CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN -from invenio.websubmit_functions.mail import forge_email, send_email +from invenio.mailutils import send_email -def Mail_Submitter (parameters,curdir,form): +def Mail_Submitter (parameters,curdir,form): FROMADDR = '%s Submission Engine <%s>' % (cdsname,supportemail) # retrieve report number edsrn = parameters['edsrn'] newrnin = parameters['newrnin'] fp = open("%s/%s" % (curdir,edsrn),"r") rn = fp.read() fp.close() rn = re.sub("[\n\r]+","",rn) if newrnin != "" and os.path.exists("%s/%s" % (curdir,newrnin)): fp = open("%s/%s" % (curdir,newrnin),"r") additional_rn = fp.read() fp.close() additional_rn = re.sub("[\n\r]+","",additional_rn) fullrn = "%s and %s" % (additional_rn,rn) else: fullrn = rn fullrn = fullrn.replace("\n"," ") # The title is read from the file specified by 'titlefile' try: fp = open("%s/%s" % (curdir,parameters['titleFile']),"r") m_title = fp.read().replace("\n"," ") fp.close() except: m_title = "-" # The name of the author is read from the file specified by 'authorfile' try: fp = open("%s/%s" % (curdir,parameters['authorfile']),"r") m_author = fp.read().replace("\n"," ") fp.close() except: m_author = "-" # The submitters email address is read from the file specified by 'emailFile' try: fp = open("%s/%s" % (curdir,parameters['emailFile']),"r") m_recipient = fp.read().replace ("\n"," ") fp.close() except: m_recipient = "" # create email body email_txt = "The document %s\nTitle: %s\nAuthor(s): %s\n\nhas been correctly received\n\n" % (fullrn,m_title,m_author) - # The user is either informed that the document has been added to the database, or sent for approval + # The user is either informed that the document has been added to the database, or sent for approval if parameters['status'] == "APPROVAL": email_txt = email_txt + "An email has been sent to the referee. You will be warned by email as soon as the referee takes his/her decision regarding your document.\n\n" elif parameters['status'] == "ADDED": email_txt = email_txt + "It will be soon added to our Document Server.\n\nOnce inserted, you will be able to check the bibliographic information and the quality of the electronic documents at this URL:\n<%s/record/%s>\nIf you detect an error please let us know by sending an email to %s. \n\n" % (htdocsurl,sysno,supportemail) email_txt = email_txt + "Thank you for using %s Submission Interface.\n" % cdsname # send the mail - tostring = m_recipient.strip() - if CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN: - # Copy mail to admins: - if len(tostring) > 0: - tostring += ",%s" % (adminemail,) - else: - tostring = adminemail - body = forge_email(FROMADDR,m_recipient,"","%s: Document Received" % fullrn,email_txt) - tolist = tostring.split(",") - if len(tolist[0]) > 0: - send_email(FROMADDR,tolist,body,0) + send_email(FROMADDR,tostring,"%s: Document Received" % fullrn,email_txt, copy_to_admin=CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN) return "" diff --git a/modules/websubmit/lib/functions/Makefile.am b/modules/websubmit/lib/functions/Makefile.am index 1346924de..118a18f55 100644 --- a/modules/websubmit/lib/functions/Makefile.am +++ b/modules/websubmit/lib/functions/Makefile.am @@ -1,64 +1,63 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. pylibdir=$(libdir)/python/invenio/websubmit_functions pylib_DATA = __init__.py \ Add_Files.py \ Allocate_ALEPH_SYS.py \ CaseEDS.py \ Convert_RecXML_to_RecALEPH.py \ Create_Modify_Interface.py \ Create_Recid.py \ Finish_Submission.py \ Format_Record.py \ Get_Info.py \ Get_Recid.py \ Get_Report_Number.py \ Get_Sysno.py \ Insert_Modify_Record.py \ Insert_Record.py \ Is_Original_Submitter.py \ Is_Referee.py \ Mail_Submitter.py \ Make_Modify_Record.py \ Make_Record.py \ Move_Files_Archive.py \ Move_From_Pending.py \ Move_to_Done.py \ Move_to_Pending.py \ Print_Success.py \ Print_Success_APP.py \ Print_Success_DEL.py \ Print_Success_MBI.py \ Print_Success_SRV.py \ Report_Number_Generation.py \ Retrieve_Data.py \ Send_APP_Mail.py \ Send_Approval_Request.py \ Send_Modify_Mail.py \ Send_SRV_Mail.py \ Test_Status.py \ Update_Approval_DB.py \ - Upload_Files.py \ - mail.py + Upload_Files.py EXTRA_DIST = $(pylib_DATA) CLEANFILES = *~ *.tmp diff --git a/modules/websubmit/lib/functions/Send_APP_Mail.py b/modules/websubmit/lib/functions/Send_APP_Mail.py index cdbd134dc..17fca8533 100644 --- a/modules/websubmit/lib/functions/Send_APP_Mail.py +++ b/modules/websubmit/lib/functions/Send_APP_Mail.py @@ -1,131 +1,121 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. __revision__ = "$Id$" ## Description: function Send_APP_Mail - ## This function send an email informing the original + ## This function send an email informing the original ## submitter of a document that the referee has approved/ ## rejected the document. The email is also sent to the ## referee for checking. ## Author: T.Baron - ## PARAMETERS: + ## PARAMETERS: ## newrnin: name of the file containing the 2nd reference ## addressesAPP: email addresses to which the email will ## be sent (additionally to the author) ## categformatAPP: variable needed to derive the addresses ## mentioned above import os import re from invenio.config import \ adminemail, \ cdsname, \ htdocsurl, \ supportemail from invenio.access_control_admin import acc_getRoleUsers,acc_getRoleId from invenio.dbquery import run_sql from invenio.websubmit_config import CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN -from invenio.websubmit_functions.mail import forge_email, send_email +from invenio.mailutils import send_email def Send_APP_Mail (parameters,curdir,form): global emailvalue,titlevalue,authorvalue,sysno,rn FROMADDR = '%s Submission Engine <%s>' % (cdsname,supportemail) doctype = form['doctype'] emailvalue = emailvalue.replace("\n","") titlevalue = titlevalue.replace("\n","") authorvalue = authorvalue.replace("\n","") # variables declaration categformat = parameters['categformatAPP'] otheraddresses = parameters['addressesAPP'] newrnpath = parameters['newrnin'] # retrieve values stored into files if os.path.exists("%s/COM" % curdir): fp = open("%s/COM" % curdir, "r") comment = fp.read() fp.close() else: comment = "" if os.path.exists("%s/decision" % curdir): fp = open("%s/decision" % curdir,"r") decision = fp.read() fp.close() else: decision = "" if os.path.exists("%s/%s" % (curdir,newrnpath)): fp = open("%s/%s" % (curdir,newrnpath) , "r") newrn = fp.read() fp.close() else: newrn = "" # Document name res = run_sql("SELECT ldocname FROM sbmDOCTYPE WHERE sdocname=%s", (doctype,)) docname = res[0][0] # retrieve category categformat = categformat.replace("","([^-]*)") categs = re.match(categformat,rn) if categs is not None: category = categs.group(1) else: category = "unknown" # Build referee's email address refereeaddress = "" # Try to retrieve the referee's email from the referee's database for user in acc_getRoleUsers(acc_getRoleId("referee_%s_%s" % (doctype,category))): refereeaddress += user[1] + "," # And if there is a general referee for user in acc_getRoleUsers(acc_getRoleId("referee_%s_*" % doctype)): refereeaddress += user[1] + "," refereeaddress = re.sub(",$","",refereeaddress) # Creation of the mail for the referee otheraddresses = otheraddresses.replace("",category) addresses = "" if refereeaddress != "": addresses = refereeaddress + "," if otheraddresses != "": addresses += otheraddresses else: addresses = re.sub(",$","",addresses) if decision == "approve": mailtitle = "%s has been approved" % rn mailbody = "The %s %s has been approved." % (docname,rn) mailbody += "\nIt will soon be accessible here:\n<%s/record/%s>" % (htdocsurl,sysno) else: mailtitle = "%s has been rejected" % rn mailbody = "The %s %s has been rejected." % (docname,rn) if rn != newrn and decision == "approve" and newrn != "": mailbody += "Its new reference number is: %s" % newrn mailbody += "\n\nTitle: %s\n\nAuthor(s): %s\n\n" % (titlevalue,authorvalue) if comment != "": mailbody += "Comments from the referee:\n%s\n" % comment mailbody += "---------------------------------------------\nBest regards.\nThe submission team.\n" - #Send mail to referee - tostring = addresses.strip() - if CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN: - # Copy mail to admins: - if len(tostring) > 0: - tostring += ",%s" % (adminemail,) - else: - tostring = adminemail - body = forge_email(FROMADDR,addresses,"",mailtitle,mailbody) - tolist = re.split(",",tostring) - if len(tolist[0]) > 0: - send_email(FROMADDR,tolist,body,0) + # Send mail to referee + send_email(FROMADDR,addresses,mailtitle,mailbody, copy_to_admin=CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN) return "" diff --git a/modules/websubmit/lib/functions/Send_Approval_Request.py b/modules/websubmit/lib/functions/Send_Approval_Request.py index 5762075ef..d7cab5549 100644 --- a/modules/websubmit/lib/functions/Send_Approval_Request.py +++ b/modules/websubmit/lib/functions/Send_Approval_Request.py @@ -1,123 +1,113 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. __revision__ = "$Id$" ## Description: function Send_Approval_Request ## This function sends an email to the referee asking him/her ## to approve/reject a document ## Author: T.Baron ## PARAMETERS: directory: parameter to the link manager program ## addressesDAM: address of the referee(s) ## categformatDAM: variable needed to extract the category ## of the document and use it to derive the ## address. ## authorfile: name of the file containing the author list ## titleFile: name of the file containing the title import os import re from invenio.config import \ adminemail, \ cdsname, \ htdocsurl, \ supportemail, \ urlpath from invenio.dbquery import run_sql from invenio.access_control_admin import acc_getRoleUsers,acc_getRoleId from invenio.websubmit_config import CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN -from invenio.websubmit_functions.mail import forge_email, send_email +from invenio.mailutils import send_email def Send_Approval_Request (parameters,curdir,form): global rn,sysno # variables declaration doctype = re.search(".*/([^/]*)/([^/]*)/[^/]*$",curdir).group(2) FROMADDR = '%s Submission Engine <%s>' % (cdsname,supportemail) otheraddresses = parameters['addressesDAM'] categformat = parameters['categformatDAM'] # retrieve category categformat = categformat.replace("","([^-]*)") categs = re.match(categformat,rn) if categs is not None: category = categs.group(1) else: category = "unknown" # create TI if os.path.exists("%s/date" % curdir): fp = open("%s/date" % curdir, "r") date = fp.read() fp.close() else: date = "" if os.path.exists("%s/%s" % (curdir,parameters['titleFile'])): fp = open("%s/%s" % (curdir,parameters['titleFile']),"r") title = fp.read() fp.close() title = title.replace("\n","") else: title = "" title += " - %s" % date # create AU if os.path.exists("%s/%s" % (curdir,parameters['authorfile'])): fp = open("%s/%s" % (curdir,parameters['authorfile']), "r") author = fp.read() fp.close() else: author = "" # we get the referee password sth = run_sql("SELECT access FROM sbmAPPROVAL WHERE rn=%s", (rn,)) if len(sth) >0: access = sth[0][0] # Build referee's email address refereeaddress = "" # Try to retrieve the referee's email from the referee's database for user in acc_getRoleUsers(acc_getRoleId("referee_%s_%s" % (doctype,category))): refereeaddress += user[1] + "," # And if there are general referees for user in acc_getRoleUsers(acc_getRoleId("referee_%s_*" % doctype)): refereeaddress += user[1] + "," refereeaddress = re.sub(",$","",refereeaddress) # Creation of the mail for the referee addresses = "" if refereeaddress != "": addresses = refereeaddress + "," if otheraddresses != "": addresses += otheraddresses else: addresses = re.sub(",$","",addresses) title_referee = "Request for approval of %s" % rn mail_referee = "The document %s has been submitted to the %s Server..\nYour approval is requested on it.\n\n" % (rn,cdsname) mail_referee +="Title: %s\n\nAuthor(s): %s\n\n" % (title,author) mail_referee +="To access the document(s), select the file(s) from the location:<%s/getfile.py?recid=%s>\n\n" % (htdocsurl,sysno) mail_referee +="To approve/reject the document, you should go to this URL:\n<%s/approve.py?%s>\n" % (urlpath,access) mail_referee +="---------------------------------------------\nBest regards.\nThe submission team.\n" #Send mail to referee - tostring = addresses.strip() - if CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN: - # Copy mail to admins: - if len(tostring) > 0: - tostring += ",%s" % (adminemail,) - else: - tostring = adminemail - body = forge_email(FROMADDR,addresses,"",title_referee,mail_referee) - tolist = re.split(",",tostring) - if len(tolist[0]) > 0: - send_email(FROMADDR,tolist,body,0) + send_email(FROMADDR, addresses, title_referee, mail_referee, copy_to_admin=CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN) return "" diff --git a/modules/websubmit/lib/functions/Send_Modify_Mail.py b/modules/websubmit/lib/functions/Send_Modify_Mail.py index 971b26ad0..77da42048 100644 --- a/modules/websubmit/lib/functions/Send_Modify_Mail.py +++ b/modules/websubmit/lib/functions/Send_Modify_Mail.py @@ -1,93 +1,78 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. __revision__ = "$Id$" ## Description: function Send_Modify_Mail ## This function sends an email saying the document has been ## correctly updated ## Author: T.Baron ## PARAMETERS: addressesMBI: email addresses to which the mail is sent ## fieldnameMBI: name of the file containing the modified ## fields ## sourceDoc: name of the type of document ## emailFile: name of the file containing the email of the ## user import os import re from invenio.config import \ accessurl, \ adminemail, \ cdsname, \ supportemail, \ weburl from invenio.websubmit_config import CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN -from invenio.websubmit_functions.mail import forge_email, send_email +from invenio.mailutils import send_email def Send_Modify_Mail (parameters,curdir,form): FROMADDR = '%s Submission Engine <%s>' % (cdsname,supportemail) global sysno,rn if parameters['emailFile'] is not None and parameters['emailFile']!= "" and os.path.exists("%s/%s" % (curdir,parameters['emailFile'])): fp = open("%s/%s" % (curdir,parameters['emailFile']),"r") sub = fp.read() fp.close() sub = sub.replace ("\n","") else: sub = "" # Copy mail to: addresses = parameters['addressesMBI'] addresses = addresses.strip() m_fields = parameters['fieldnameMBI'] type = parameters['sourceDoc'] rn = re.sub("[\n\r ]+","",rn) if os.path.exists("%s/%s" % (curdir,m_fields)): fp = open("%s/%s" % (curdir,m_fields),"r") fields = fp.read() fp.close() fields = fields.replace ("\n"," | ") fields = re.sub("[| \n\r]+$","",fields) else: fields = "" email_txt = "Dear Sir or Madam, \n%s %s has just been modified.\nModified fields: %s\n\n" % (type,rn,fields) if accessurl != "" and sysno != "": email_txt += "You can check the modified document here:\n" email_txt += "<%s/record/%s>\n\n" % (weburl,sysno) email_txt += "Please note that the modifications will be taken into account in a couple of minutes.\n\nBest regards,\nThe %s Server support Team" % cdsname # send the mail - tostring = sub.strip() - if len(addresses) > 0: - if len(tostring) > 0: - tostring += ",%s" % (addresses,) - else: - tostring = addresses - if CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN: - # Copy mail to admins: - if len(tostring) > 0: - tostring += ",%s" % (adminemail,) - else: - tostring = adminemail - body = forge_email(FROMADDR,sub,"","%s modified" % rn,email_txt) - tolist = tostring.split(",") - if len(tolist[0]) > 0: - send_email(FROMADDR,tolist,body,0) + send_email(FROMADDR,sub,"%s modified" % rn,email_txt,copy_to_admin=CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN) return "" - + diff --git a/modules/websubmit/lib/functions/Send_SRV_Mail.py b/modules/websubmit/lib/functions/Send_SRV_Mail.py index 0b91a4ad7..e10d7ece9 100644 --- a/modules/websubmit/lib/functions/Send_SRV_Mail.py +++ b/modules/websubmit/lib/functions/Send_SRV_Mail.py @@ -1,90 +1,74 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. __revision__ = "$Id$" ## Description: function Send_SRV_Mail ## This function sends an email confirming the revision ## has been carried on with success ## Author: T.Baron ## PARAMETERS: addressesSRV: list of addresses to send this email to. ## categformatDAM: variable used to derive the category of ## the document from its reference. This value might then ## be used to derive the list of addresses ## emailFile: name of the file in which the user's email is ## noteFile: name of the file containing a note from the user import os import re from invenio.config import \ accessurl, \ adminemail, \ cdsname, \ supportemail, \ weburl from invenio.websubmit_config import CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN -from invenio.websubmit_functions.mail import forge_email, send_email +from invenio.mailutils import send_email from invenio.websubmit_functions.Retrieve_Data import Get_Field def Send_SRV_Mail(parameters,curdir,form): global rn,doctype,sysno # variables declaration FROMADDR = '%s Submission Engine <%s>' % (cdsname,supportemail) addresses = parameters['addressesSRV'] addresses = addresses.strip() if parameters['emailFile'] is not None and parameters['emailFile']!="" and os.path.exists("%s/%s" % (curdir,parameters['emailFile'])): fp = open("%s/%s" % (curdir,parameters['emailFile']), "r") SuE = fp.read() fp.close() else: SuE = "" SuE = SuE.replace("\n",",") if parameters['noteFile'] is not None and parameters['noteFile']!= "" and os.path.exists("%s/%s" % (curdir,parameters['noteFile'])): fp = open("%s/%s" % (curdir,parameters['noteFile']), "r") note = fp.read() fp.close() else: note = "" title = Get_Field("245__a",sysno) author = Get_Field('100__a',sysno) author += Get_Field('700__a',sysno) # create message message = "A revised version of document %s has been submitted.\n\nTitle: %s\nAuthor(s): %s\nURL: <%s/record/%s>%s" % (rn,title,author,weburl,sysno,note) # send the email - tostring = SuE.strip() - if len(addresses) > 0: - if len(tostring) > 0: - tostring += ",%s" % (addresses,) - else: - tostring = addresses - - if CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN: - # Copy mail to admins: - if len(tostring) > 0: - tostring += ",%s" % (adminemail,) - else: - tostring = adminemail - body = forge_email(FROMADDR,SuE,"","%s revised" % rn,message) - tolist = re.split(",",tostring) - if len(tolist[0]) > 0: - send_email(FROMADDR,tolist,body,0) + send_email(FROMADDR, SuE, "%s revised" % rn, message, copy_to_admin=CFG_WEBSUBMIT_COPY_MAILS_TO_ADMIN) return "" diff --git a/modules/websubmit/lib/functions/mail.py b/modules/websubmit/lib/functions/mail.py deleted file mode 100644 index 5fe6b4be8..000000000 --- a/modules/websubmit/lib/functions/mail.py +++ /dev/null @@ -1,43 +0,0 @@ -## $Id$ - -## This file is part of CDS Invenio. -## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. -## -## CDS Invenio is free software; you can redistribute it and/or -## modify it under the terms of the GNU General Public License as -## published by the Free Software Foundation; either version 2 of the -## License, or (at your option) any later version. -## -## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., -## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. - -__revision__ = "$Id$" - -import time -import smtplib - -from invenio.websubmit_config import InvenioWebSubmitFunctionError - -def send_email(fromaddr, toaddr, body, attempt=0): - if toaddr != "": - if attempt > 2: - raise InvenioWebSubmitFunctionError('error sending email to %s: SMTP error; gave up after 3 attempts' % toaddr) - try: - server = smtplib.SMTP('localhost') - server.sendmail(fromaddr, toaddr, body) - server.quit() - except: - time.sleep(10) - send_email(fromaddr, toaddr, body, attempt+1) - return - -def forge_email(fromaddr, toaddr, bcc, subject, content): - body = 'From: %s\nTo: %s\nContent-Type: text/plain; charset=utf-8\nSubject: %s\n%s' % (fromaddr, toaddr,subject, content) - return body - diff --git a/modules/websubmit/web/publiline.py b/modules/websubmit/web/publiline.py index b4a126120..7d7c6f3ea 100644 --- a/modules/websubmit/web/publiline.py +++ b/modules/websubmit/web/publiline.py @@ -1,383 +1,381 @@ ## $Id$ ## This file is part of CDS Invenio. ## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 CERN. ## ## CDS Invenio is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## CDS Invenio 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 CDS Invenio; if not, write to the Free Software Foundation, Inc., ## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. __revision__ = "$Id$" ## import interesting modules: import string import os import sys import time import types import re import shutil from invenio.config import \ CFG_ACCESS_CONTROL_LEVEL_SITE, \ accessurl, \ adminemail, \ cdslang, \ cdsname, \ images, \ pylibdir, \ storage, \ supportemail, \ sweburl, \ urlpath, \ version from invenio.dbquery import run_sql, Error from invenio.access_control_engine import acc_authorize_action from invenio.access_control_admin import * from invenio.webpage import page, create_error_box from invenio.webuser import getUid, get_email, list_registered_users, page_not_authorized from invenio.messages import gettext_set_language, wash_language from invenio.websubmit_config import * from invenio.search_engine import search_pattern from invenio.websubmit_functions.Retrieve_Data import Get_Field -from invenio.websubmit_functions.mail import forge_email, send_email +from invenio.mailutils import send_email execfile("%s/invenio/websubmit_functions/Retrieve_Data.py" % pylibdir) execfile("%s/invenio/websubmit_functions/mail.py" % pylibdir) import invenio.template websubmit_templates = invenio.template.load('websubmit') def index(req,c=cdsname,ln=cdslang,doctype="",categ="",RN="",send=""): global uid ln = wash_language(ln) # load the right message language _ = gettext_set_language(ln) t="" # get user ID: try: uid = getUid(req) if uid == -1 or CFG_ACCESS_CONTROL_LEVEL_SITE >= 1: return page_not_authorized(req, "../publiline.py/index", navmenuid='yourapprovals') uid_email = get_email(uid) except Error, e: return errorMsg(e.value,req, ln = ln) if doctype == "": t = selectDoctype(ln) elif categ == "": t = selectCateg(doctype, ln) elif RN == "": t = selectDocument(doctype,categ, ln) else: t = displayDocument(req, doctype,categ,RN,send, ln) return page(title="publication line", navtrail= """%(account)s""" % { 'sweburl' : sweburl, 'account' : _("Your Account"), }, body=t, description="", keywords="", uid=uid, language=ln, req=req, navmenuid='yourapprovals') def selectDoctype(ln = cdslang): res = run_sql("select DISTINCT doctype from sbmAPPROVAL") docs = [] for row in res: res2 = run_sql("select ldocname from sbmDOCTYPE where sdocname=%s", (row[0],)) docs.append({ 'doctype' : row[0], 'docname' : res2[0][0], }) t = websubmit_templates.tmpl_publiline_selectdoctype( ln = ln, docs = docs, ) return t def selectCateg(doctype, ln = cdslang): t="" res = run_sql("select ldocname from sbmDOCTYPE where sdocname=%s",(doctype,)) title = res[0][0] sth = run_sql("select * from sbmCATEGORIES where doctype=%s order by lname",(doctype,)) if len(sth) == 0: categ = "unknown" return selectDocument(doctype,categ, ln = ln) categories = [] for arr in sth: waiting = 0 rejected = 0 approved = 0 sth2 = run_sql("select COUNT(*) from sbmAPPROVAL where doctype=%s and categ=%s and status='waiting'", (doctype,arr[1],)) waiting = sth2[0][0] sth2 = run_sql("select COUNT(*) from sbmAPPROVAL where doctype=%s and categ=%s and status='approved'",(doctype,arr[1],)) approved = sth2[0][0] sth2 = run_sql("select COUNT(*) from sbmAPPROVAL where doctype=%s and categ=%s and status='rejected'",(doctype,arr[1],)) rejected = sth2[0][0] categories.append({ 'waiting' : waiting, 'approved' : approved, 'rejected' : rejected, 'id' : arr[1], }) t = websubmit_templates.tmpl_publiline_selectcateg( ln = ln, categories = categories, doctype = doctype, title = title, images = images, ) return t def selectDocument(doctype,categ, ln = cdslang): t="" res = run_sql("select ldocname from sbmDOCTYPE where sdocname=%s", (doctype,)) title = res[0][0] if categ == "": categ == "unknown" docs = [] sth = run_sql("select rn,status from sbmAPPROVAL where doctype=%s and categ=%s order by status DESC,rn DESC",(doctype,categ)) for arr in sth: docs.append({ 'RN' : arr[0], 'status' : arr[1], }) t = websubmit_templates.tmpl_publiline_selectdocument( ln = ln, doctype = doctype, title = title, categ = categ, images = images, docs = docs, ) return t def displayDocument(req, doctype,categ,RN,send, ln = cdslang): # load the right message language _ = gettext_set_language(ln) t="" res = run_sql("select ldocname from sbmDOCTYPE where sdocname=%s", (doctype,)) docname = res[0][0] if categ == "": categ = "unknown" sth = run_sql("select rn,status,dFirstReq,dLastReq,dAction,access from sbmAPPROVAL where rn=%s",(RN,)) if len(sth) > 0: arr = sth[0] rn = arr[0] status = arr[1] dFirstReq = arr[2] dLastReq = arr[3] dAction = arr[4] access = arr[5] else: return _("Approval has never been requested for this document.") + "
 " try: (authors,title,sysno,newrn) = getInfo(doctype,categ,RN) except TypeError: return _("Unable to display document.") confirm_send = 0 if send == _("Send Again"): if authors == "unknown" or title == "unknown": SendWarning(doctype,categ,RN,title,authors,access, ln = ln) else: # @todo - send in different languages SendEnglish(doctype,categ,RN,title,authors,access,sysno) run_sql("update sbmAPPROVAL set dLastReq=NOW() where rn=%s",(RN,)) confirm_send = 1 if status == "waiting": (auth_code, auth_message) = acc_authorize_action(req, "referee",verbose=0,doctype=doctype, categ=categ) else: (auth_code, auth_message) = (None, None) t = websubmit_templates.tmpl_publiline_displaydoc( ln = ln, docname = docname, doctype = doctype, categ = categ, rn = rn, status = status, dFirstReq = dFirstReq, dLastReq = dLastReq, dAction = dAction, access = access, images = images, accessurl = accessurl, confirm_send = confirm_send, auth_code = auth_code, auth_message = auth_message, authors = authors, title = title, sysno = sysno, newrn = newrn, ) return t # Retrieve info about document def getInfo(doctype,categ,RN): result = getInPending(doctype,categ,RN) if not result: result = getInAlice(doctype,categ,RN) return result #seek info in pending directory def getInPending(doctype,categ,RN): PENDIR="%s/pending" % storage if os.path.exists("%s/%s/%s/AU" % (PENDIR,doctype,RN)): fp = open("%s/%s/%s/AU" % (PENDIR,doctype,RN),"r") authors=fp.read() fp.close() else: authors = "" if os.path.exists("%s/%s/%s/TI" % (PENDIR,doctype,RN)): fp = open("%s/%s/%s/TI" % (PENDIR,doctype,RN),"r") title=fp.read() fp.close() else: title = "" if os.path.exists("%s/%s/%s/SN" % (PENDIR,doctype,RN)): fp = open("%s/%s/%s/SN" % (PENDIR,doctype,RN),"r") sysno=fp.read() fp.close() else: sysno = "" if title == "" and os.path.exists("%s/%s/%s/TIF" % (PENDIR,doctype,RN)): fp = open("%s/%s/%s/TIF" % (PENDIR,doctype,RN),"r") title=fp.read() fp.close() if title == "": return 0 else: return (authors,title,sysno,"") #seek info in Alice database def getInAlice(doctype,categ,RN): # initialize sysno variable sysno = "" searchresults = search_pattern(req=None, p=RN, f="reportnumber").items().tolist() if len(searchresults) == 0: return 0 sysno = searchresults[0] if sysno != "": title = Get_Field('245__a',sysno) emailvalue = Get_Field('8560_f',sysno) authors = Get_Field('100__a',sysno) authors += "\n%s" % Get_Field('700__a',sysno) newrn = Get_Field('037__a',sysno) return (authors,title,sysno,newrn) else: return 0 def SendEnglish(doctype,categ,RN,title,authors,access,sysno): FROMADDR = '%s Submission Engine <%s>' % (cdsname,supportemail) # retrieve useful information from webSubmit configuration res = run_sql("select value from sbmPARAMETERS where name='categformatDAM' and doctype=%s", (doctype,)) categformat = res[0][0] categformat = re.sub("","([^-]*)",categformat) categs = re.match(categformat,RN) if categs is not None: categ = categs.group(1) else: categ = "unknown" res = run_sql("select value from sbmPARAMETERS where name='addressesDAM' and doctype=%s",(doctype,)) if len(res) > 0: otheraddresses = res[0][0] otheraddresses = otheraddresses.replace("",categ) else: otheraddresses = "" # Build referee's email address refereeaddress = "" # Try to retrieve the referee's email from the referee's database for user in acc_getRoleUsers(acc_getRoleId("referee_%s_%s" % (doctype,categ))): refereeaddress += user[1] + "," # And if there are general referees for user in acc_getRoleUsers(acc_getRoleId("referee_%s_*" % doctype)): refereeaddress += user[1] + "," refereeaddress = re.sub(",$","",refereeaddress) # Creation of the mail for the referee addresses = "" if refereeaddress != "": addresses = refereeaddress + "," if otheraddresses != "": addresses += otheraddresses else: addresses = re.sub(",$","",addresses) if addresses=="": SendWarning(doctype,categ,RN,title,authors,access) return 0 if authors == "": authors = "-" res = run_sql("select value from sbmPARAMETERS where name='directory' and doctype=%s", (doctype,)) directory = res[0][0] message = """ The document %s has been published as a Communication. Your approval is requested for it to become an official Note. Title: %s Author(s): %s To access the document(s), select the file(s) from the location: <%s/record/%s/files/> To approve/reject the document, you should go to this URL: <%s/approve.py?%s> --------------------------------------------- Best regards. The submission team.""" % (RN,title,authors,urlpath,sysno,urlpath,access) # send the mail - body = forge_email(FROMADDR,addresses,adminemail,"Request for Approval of %s" % RN,message) - send_email(FROMADDR,addresses,body,0) + send_email(FROMADDR,addresses,"Request for Approval of %s" % RN, message,footer="") return "" def SendWarning(doctype,categ,RN,title,authors,access): FROMADDR = '%s Submission Engine <%s>' % (cdsname,supportemail) message = "Failed sending approval email request for %s" % RN # send the mail - body = forge_email(FROMADDR,adminemail,"","Failed sending approval email request",message) - send_email(FROMADDR,adminemail,body,0) + send_email(FROMADDR,adminemail,"Failed sending approval email request",message) return "" def errorMsg(title,req,c=cdsname,ln=cdslang): return page(title="error", body = create_error_box(req, title=title,verbose=0, ln=ln), description="%s - Internal Error" % c, keywords="%s, Internal Error" % c, language=ln, req=req, navmenuid='yourapprovals') def warningMsg(title,req,c=cdsname,ln=cdslang): return page(title="warning", body = title, description="%s - Internal Error" % c, keywords="%s, Internal Error" % c, language=ln, req=req, navmenuid='yourapprovals')