[Koha-cvs] koha/installer 639-2norm.csv externalmodules.pl...

paul poulain paul at koha-fr.org
Fri Mar 9 16:37:25 CET 2007


CVSROOT:	/sources/koha
Module name:	koha
Changes by:	paul poulain <tipaul>	07/03/09 15:37:25

Added files:
	installer      : 639-2norm.csv externalmodules.pl InstallAuth.pm 
	                 install.pl kohastructure.sql 

Log message:
	rel_3_0 moved to HEAD (introducing new files)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/installer/639-2norm.csv?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/installer/externalmodules.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/installer/InstallAuth.pm?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/installer/install.pl?cvsroot=koha&rev=1.2
http://cvs.savannah.gnu.org/viewcvs/koha/installer/kohastructure.sql?cvsroot=koha&rev=1.2

Patches:
Index: 639-2norm.csv
===================================================================
RCS file: 639-2norm.csv
diff -N 639-2norm.csv
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ 639-2norm.csv	9 Mar 2007 15:37:25 -0000	1.2
@@ -0,0 +1,526 @@
+"ISO 639-2","French Name of Language","All French Names","All English Names","ISO 639-1"
+"abk","abkhaze","abkhaze","Abkhazian","ab"
+"ace","aceh","aceh","Achinese",
+"ach","acoli","acoli","Acoli",
+"ada","adangme","adangme","Adangme",
+"ady","adyghé","adyghé","Adyghe; Adygei",
+"aar","afar","afar","Afar","aa"
+"afh","afrihili","afrihili","Afrihili",
+"afr","afrikaans","afrikaans","Afrikaans","af"
+"afa","afro-asiatiques, autres langues","afro-asiatiques, autres langues","Afro-Asiatic (Other)",
+"ain","aïnou","aïnou","Ainu",
+"aka","akan","akan","Akan","ak"
+"akk","akkadien","akkadien","Akkadian",
+"alb/sqi","albanais","albanais","Albanian","sq"
+"gsw","alémanique","alémanique","Swiss German; Alemannic",
+"ale","aléoute","aléoute","Aleut",
+"alg","algonquines, langues","algonquines, langues","Algonquian languages",
+"ger/deu","allemand","allemand","German","de"
+"nds","allemand, bas","bas allemand; bas saxon; allemand, bas; saxon, bas","Low German; Low Saxon; German, Low; Saxon, Low",
+"gmh","allemand, moyen haut (ca. 1050-1500)","allemand, moyen haut (ca. 1050-1500)","German, Middle High (ca.1050-1500)",
+"goh","allemand, vieux haut (ca. 750-1050)","allemand, vieux haut (ca. 750-1050)","German, Old High (ca.750-1050)",
+"alt","altai du Sud","altai du Sud","Southern Altai",
+"tut","altaïques, autres langues","altaïques, autres langues","Altaic (Other)",
+"amh","amharique","amharique","Amharic","am"
+"anp","angika","angika","Angika",
+"eng","anglais","anglais","English","en"
+"enm","anglais moyen (1100-1500)","anglais moyen (1100-1500)","English, Middle (1100-1500)",
+"ang","anglo-saxon (ca.450-1100)","anglo-saxon (ca.450-1100)","English, Old (ca.450-1100)",
+"apa","apache","apache","Apache languages",
+"ara","arabe","arabe","Arabic","ar"
+"arg","aragonais","aragonais","Aragonese","an"
+"arc","araméen","araméen","Aramaic",
+"arp","arapaho","arapaho","Arapaho",
+"arw","arawak","arawak","Arawak",
+"arm/hye","arménien","arménien","Armenian","hy"
+"rup","aroumain","aroumain; macédo-roumain","Aromanian; Arumanian; Macedo-Romanian",
+"art","artificielles, autres langues","artificielles, autres langues","Artificial (Other)",
+"asm","assamais","assamais","Assamese","as"
+"ast","asturien","asturien; bable","Asturian; Bable",
+"ath","athapascanes, langues","athapascanes, langues","Athapascan languages",
+"aus","australiennes, langues","australiennes, langues","Australian languages",
+"ava","avar","avar","Avaric","av"
+"ave","avestique","avestique","Avestan","ae"
+"awa","awadhi","awadhi","Awadhi",
+"aym","aymara","aymara","Aymara","ay"
+"aze","azéri","azéri","Azerbaijani","az"
+"ast","bable","asturien; bable","Asturian; Bable",
+"bak","bachkir","bachkir","Bashkir","ba"
+"ban","balinais","balinais","Balinese",
+"bal","baloutchi","baloutchi","Baluchi",
+"bat","baltiques, autres langues","baltiques, autres langues","Baltic (Other)",
+"bam","bambara","bambara","Bambara","bm"
+"bai","bamilékés, langues","bamilékés, langues","Bamileke languages",
+"bad","banda, langues","banda, langues","Banda languages",
+"bnt","bantoues, autres langues","bantoues, autres langues","Bantu (Other)",
+"nds","bas allemand","bas allemand; bas saxon; allemand, bas; saxon, bas","Low German; Low Saxon; German, Low; Saxon, Low",
+"nds","bas saxon","bas allemand; bas saxon; allemand, bas; saxon, bas","Low German; Low Saxon; German, Low; Saxon, Low",
+"dsb","bas-sorabe","bas-sorabe","Lower Sorbian",
+"bas","basa","basa","Basa",
+"baq/eus","basque","basque","Basque","eu"
+"btk","batak, langues","batak, langues","Batak languages",
+"bej","bedja","bedja","Beja",
+"bem","bemba","bemba","Bemba",
+"ben","bengali","bengali","Bengali","bn"
+"ber","berbères, autres langues","berbères, autres langues","Berber (Other)",
+"bho","bhojpuri","bhojpuri","Bhojpuri",
+"bis","bichlamar","bichlamar","Bislama","bi"
+"bel","biélorusse","biélorusse","Belarusian","be"
+"bih","bihari","bihari","Bihari","bh"
+"bik","bikol","bikol","Bikol",
+"byn","bilen","blin; bilen","Blin; Bilin",
+"bin","bini","bini; edo","Bini; Edo",
+"bur/mya","birman","birman","Burmese","my"
+"bla","blackfoot","blackfoot","Siksika",
+"byn","blin","blin; bilen","Blin; Bilin",
+"nob","bokmål, norvégien","norvégien bokmål","Bokmål, Norwegian; Norwegian Bokmål","nb"
+"bos","bosniaque","bosniaque","Bosnian","bs"
+"bua","bouriate","bouriate","Buriat",
+"bra","braj","braj","Braj",
+"bre","breton","breton","Breton","br"
+"bug","bugi","bugi","Buginese",
+"bul","bulgare","bulgare","Bulgarian","bg"
+"cad","caddo","caddo","Caddo",
+"krl","carélien","carélien","Karelian",
+"car","carib","karib; galibi; carib","Galibi Carib",
+"spa","castillan","espagnol; castillan","Spanish; Castilian","es"
+"cat","catalan","catalan; valencien","Catalan; Valencian","ca"
+"cau","caucasiennes, autres langues","caucasiennes, autres langues","Caucasian (Other)",
+"ceb","cebuano","cebuano","Cebuano",
+"cel","celtiques, autres langues","celtiques, autres langues","Celtic (Other)",
+"cmc","chames, langues","chames, langues","Chamic languages",
+"cha","chamorro","chamorro","Chamorro","ch"
+"shn","chan","chan","Shan",
+"chr","cherokee","cherokee","Cherokee",
+"nya","chewa","chichewa; chewa; nyanja","Chichewa; Chewa; Nyanja","ny"
+"chy","cheyenne","cheyenne","Cheyenne",
+"chb","chibcha","chibcha","Chibcha",
+"nya","chichewa","chichewa; chewa; nyanja","Chichewa; Chewa; Nyanja","ny"
+"chi/zho","chinois","chinois","Chinese","zh"
+"chn","chinook, jargon","chinook, jargon","Chinook jargon",
+"chp","chipewyan","chipewyan","Chipewyan",
+"cho","choctaw","choctaw","Choctaw",
+"zha","chuang","zhuang; chuang","Zhuang; Chuang","za"
+"chk","chuuk","chuuk","Chuukese",
+"cop","copte","copte","Coptic",
+"kor","coréen","coréen","Korean","ko"
+"cor","cornique","cornique","Cornish","kw"
+"cos","corse","corse","Corsican","co"
+"cus","couchitiques, autres langues","couchitiques, autres langues","Cushitic (Other)",
+"cre","cree","cree","Cree","cr"
+"hat","créole haïtien","haïtien; créole haïtien","Haitian; Haitian Creole","ht"
+"cpe","créoles et pidgins anglais, autres","créoles et pidgins anglais, autres","Creoles and pidgins, English based (Other)",
+"crp","créoles et pidgins divers","créoles et pidgins divers","Creoles and pidgins (Other)",
+"cpf","créoles et pidgins français, autres","créoles et pidgins français, autres","Creoles and pidgins, French-based (Other)",
+"cpp","créoles et pidgins portugais, autres","créoles et pidgins portugais, autres","Creoles and pidgins, Portuguese-based (Other)",
+"scr/hrv","croate","croate","Croatian","hr"
+"dak","dakota","dakota","Dakota",
+"dan","danois","danois","Danish","da"
+"dar","dargwa","dargwa","Dargwa",
+"day","dayak, langues","dayak, langues","Land Dayak languages",
+"del","delaware","delaware","Delaware",
+"zza","dimili","zaza; dimili; dimli; kirdki; kirmanjki; zazaki","Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki",
+"zza","dimli","zaza; dimili; dimli; kirdki; kirmanjki; zazaki","Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki",
+"din","dinka","dinka","Dinka",
+"dyu","dioula","dioula","Dyula",
+"mis","diverses, langues","diverses, langues","Miscellaneous languages",
+"chg","djaghataï","djaghataï","Chagatai",
+"doi","dogri","dogri","Dogri",
+"dgr","dogrib","dogrib","Dogrib",
+"dua","douala","douala","Duala",
+"dra","dravidiennes, autres langues","dravidiennes, autres langues","Dravidian (Other)",
+"dzo","dzongkha","dzongkha","Dzongkha","dz"
+"sco","écossais","écossais","Scots",
+"bin","edo","bini; edo","Bini; Edo",
+"efi","efik","efik","Efik",
+"egy","égyptien","égyptien","Egyptian (Ancient)",
+"eka","ekajuk","ekajuk","Ekajuk",
+"elx","élamite","élamite","Elamite",
+"myv","erza","erza","Erzya",
+"den","esclave (athapascan)","esclave (athapascan)","Slave (Athapascan)",
+"spa","espagnol","espagnol; castillan","Spanish; Castilian","es"
+"epo","espéranto","espéranto","Esperanto","eo"
+"est","estonien","estonien","Estonian","et"
+"ewe","éwé","éwé","Ewe","ee"
+"ewo","éwondo","éwondo","Ewondo",
+"fan","fang","fang","Fang",
+"fat","fanti","fanti","Fanti",
+"fao","féroïen","féroïen","Faroese","fo"
+"fij","fidjien","fidjien","Fijian","fj"
+"fil","filipino","filipino; pilipino","Filipino; Pilipino",
+"fiu","finno-ougriennes, autres langues","finno-ougriennes, autres langues","Finno-Ugrian (Other)",
+"fin","finnois","finnois","Finnish","fi"
+"dut/nld","flamand","néerlandais; flamand","Dutch; Flemish","nl"
+"fon","fon","fon","Fon",
+"fre/fra","français","français","French","fr"
+"fro","français ancien (842-ca.1400)","français ancien (842-ca.1400)","French, Old (842-ca.1400)",
+"frm","français moyen (1400-1600)","français moyen (1400-1600)","French, Middle (ca.1400-1600)",
+"fur","frioulan","frioulan","Friulian",
+"fry","frison occidental","frison occidental","Western Frisian","fy"
+"frs","frison oriental","frison oriental","Eastern Frisian",
+"frr","frison septentrional","frison septentrional","Northern Frisian",
+"gaa","ga","ga","Ga",
+"gla","gaélique","gaélique; gaélique écossais","Gaelic; Scottish Gaelic","gd"
+"gla","gaélique écossais","gaélique; gaélique écossais","Gaelic; Scottish Gaelic","gd"
+"car","galibi","karib; galibi; carib","Galibi Carib",
+"glg","galicien","galicien","Galician","gl"
+"orm","galla","galla","Oromo","om"
+"wel/cym","gallois","gallois","Welsh","cy"
+"lug","ganda","ganda","Ganda","lg"
+"gay","gayo","gayo","Gayo",
+"gba","gbaya","gbaya","Gbaya",
+"geo/kat","géorgien","géorgien","Georgian","ka"
+"gem","germaniques, autres langues","germaniques, autres langues","Germanic (Other)",
+"gon","gond","gond","Gondi",
+"gor","gorontalo","gorontalo","Gorontalo",
+"got","gothique","gothique","Gothic",
+"guj","goudjrati","goudjrati","Gujarati","gu"
+"grb","grebo","grebo","Grebo",
+"grc","grec ancien (jusqu'à 1453)","grec ancien (jusqu'à 1453)","Greek, Ancient (to 1453)",
+"gre/ell","grec moderne (après 1453)","grec moderne (après 1453)","Greek, Modern (1453-)","el"
+"kal","groenlandais","groenlandais","Kalaallisut; Greenlandic","kl"
+"grn","guarani","guarani","Guarani","gn"
+"gez","guèze","guèze","Geez",
+"gwi","gwich´in","gwich´in","Gwich´in",
+"hai","haida","haida","Haida",
+"hat","haïtien","haïtien; créole haïtien","Haitian; Haitian Creole","ht"
+"hau","haoussa","haoussa","Hausa","ha"
+"hsb","haut-sorabe","haut-sorabe","Upper Sorbian",
+"haw","hawaïen","hawaïen","Hawaiian",
+"heb","hébreu","hébreu","Hebrew","he"
+"her","herero","herero","Herero","hz"
+"hil","hiligaynon","hiligaynon","Hiligaynon",
+"him","himachali","himachali","Himachali",
+"hin","hindi","hindi","Hindi","hi"
+"hmo","hiri motu","hiri motu","Hiri Motu","ho"
+"hit","hittite","hittite","Hittite",
+"hmn","hmong","hmong","Hmong",
+"hun","hongrois","hongrois","Hungarian","hu"
+"hup","hupa","hupa","Hupa",
+"sah","iakoute","iakoute","Yakut",
+"iba","iban","iban","Iban",
+"ido","ido","ido","Ido","io"
+"ibo","igbo","igbo","Igbo","ig"
+"ijo","ijo, langues","ijo, langues","Ijo languages",
+"ilo","ilocano","ilocano","Iloko",
+"und","indéterminée","indéterminée","Undetermined",
+"cai","indiennes d'Amérique centrale, autres langues","indiennes d'Amérique centrale, autres langues","Central American Indian (Other)",
+"nai","indiennes d'Amérique du Nord, autres langues","indiennes d'Amérique du Nord, autres langues","North American Indian",
+"sai","indiennes d'Amérique du Sud, autres langues","indiennes d'Amérique du Sud, autres langues","South American Indian (Other)",
+"inc","indo-aryennes, autres langues","indo-aryennes, autres langues","Indic (Other)",
+"ine","indo-européennes, autres langues","indo-européennes, autres langues","Indo-European (Other)",
+"ind","indonésien","indonésien","Indonesian","id"
+"inh","ingouche","ingouche","Ingush",
+"ina","interlingua (langue auxiliaire internationale)","interlingua (langue auxiliaire internationale)","Interlingua (International Auxiliary Language Association)","ia"
+"ile","interlingue","interlingue","Interlingue","ie"
+"iku","inuktitut","inuktitut","Inuktitut","iu"
+"ipk","inupiaq","inupiaq","Inupiaq","ik"
+"ira","iraniennes, autres langues","iraniennes, autres langues","Iranian (Other)",
+"gle","irlandais","irlandais","Irish","ga"
+"sga","irlandais ancien (jusqu'à 900)","irlandais ancien (jusqu'à 900)","Irish, Old (to 900)",
+"mga","irlandais moyen (900-1200)","irlandais moyen (900-1200)","Irish, Middle (900-1200)",
+"iro","iroquoises, langues (famille)","iroquoises, langues (famille)","Iroquoian languages",
+"ice/isl","islandais","islandais","Icelandic","is"
+"ita","italien","italien","Italian","it"
+"jpn","japonais","japonais","Japanese","ja"
+"jav","javanais","javanais","Javanese","jv"
+"kac","jingpho","kachin; jingpho","Kachin; Jingpho",
+"jrb","judéo-arabe","judéo-arabe","Judeo-Arabic",
+"lad","judéo-espagnol","judéo-espagnol","Ladino",
+"jpr","judéo-persan","judéo-persan","Judeo-Persian",
+"kbd","kabardien","kabardien","Kabardian",
+"kab","kabyle","kabyle","Kabyle",
+"kac","kachin","kachin; jingpho","Kachin; Jingpho",
+"csb","kachoube","kachoube","Kashubian",
+"xal","kalmouk","kalmouk; oïrat","Kalmyk; Oirat",
+"kam","kamba","kamba","Kamba",
+"kan","kannada","kannada","Kannada","kn"
+"kau","kanouri","kanouri","Kanuri","kr"
+"kaa","karakalpak","karakalpak","Kara-Kalpak",
+"krc","karatchai balkar","karatchai balkar","Karachay-Balkar",
+"kar","karen, langues","karen, langues","Karen languages",
+"car","karib","karib; galibi; carib","Galibi Carib",
+"kas","kashmiri","kashmiri","Kashmiri","ks"
+"kaw","kawi","kawi","Kawi",
+"kaz","kazakh","kazakh","Kazakh","kk"
+"kha","khasi","khasi","Khasi",
+"khm","khmer central","khmer central","Central Khmer","km"
+"khi","khoisan, autres langues","khoisan, autres langues","Khoisan (Other)",
+"kho","khotanais","khotanais","Khotanese",
+"kik","kikuyu","kikuyu","Kikuyu; Gikuyu","ki"
+"kmb","kimbundu","kimbundu","Kimbundu",
+"zza","kirdki","zaza; dimili; dimli; kirdki; kirmanjki; zazaki","Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki",
+"kir","kirghiz","kirghiz","Kirghiz; Kyrgyz","ky"
+"gil","kiribati","kiribati","Gilbertese",
+"zza","kirmanjki","zaza; dimili; dimli; kirdki; kirmanjki; zazaki","Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki",
+"tlh","klingon","klingon","Klingon; tlhIngan-Hol",
+"kom","kom","kom","Komi","kv"
+"kon","kongo","kongo","Kongo","kg"
+"kok","konkani","konkani","Konkani",
+"kos","kosrae","kosrae","Kosraean",
+"kum","koumyk","koumyk","Kumyk",
+"kpe","kpellé","kpellé","Kpelle",
+"kro","krou, langues","krou, langues","Kru languages",
+"kua","kuanyama","kuanyama; kwanyama","Kuanyama; Kwanyama","kj"
+"kur","kurde","kurde","Kurdish","ku"
+"kru","kurukh","kurukh","Kurukh",
+"kut","kutenai","kutenai","Kutenai",
+"kua","kwanyama","kuanyama; kwanyama","Kuanyama; Kwanyama","kj"
+"lah","lahnda","lahnda","Lahnda",
+"lam","lamba","lamba","Lamba",
+"sgn","langues des signes","langues des signes","Sign Languages",
+"lao","lao","lao","Lao","lo"
+"lat","latin","latin","Latin","la"
+"lav","letton","letton","Latvian","lv"
+"lez","lezghien","lezghien","Lezghian",
+"lim","limbourgeois","limbourgeois","Limburgan; Limburger; Limburgish","li"
+"lin","lingala","lingala","Lingala","ln"
+"lit","lituanien","lituanien","Lithuanian","lt"
+"jbo","lojban","lojban","Lojban",
+"loz","lozi","lozi","Lozi",
+"lub","luba-katanga","luba-katanga","Luba-Katanga","lu"
+"lua","luba-lulua","luba-lulua","Luba-Lulua",
+"lui","luiseno","luiseno","Luiseno",
+"lun","lunda","lunda","Lunda",
+"luo","luo (Kenya et Tanzanie)","luo (Kenya et Tanzanie)","Luo (Kenya and Tanzania)",
+"lus","Lushai","lushai","Lushai",
+"ltz","luxembourgeois","luxembourgeois","Luxembourgish; Letzeburgesch","lb"
+"rup","macédo-roumain","aroumain; macédo-roumain","Aromanian; Arumanian; Macedo-Romanian",
+"mac/mkd","macédonien","macédonien","Macedonian","mk"
+"mad","madourais","madourais","Madurese",
+"mag","magahi","magahi","Magahi",
+"mai","maithili","maithili","Maithili",
+"mak","makassar","makassar","Makasar",
+"may/msa","malais","malais","Malay","ms"
+"mal","malayalam","malayalam","Malayalam","ml"
+"map","malayo-polynésiennes, autres langues","malayo-polynésiennes, autres langues","Austronesian (Other)",
+"div","maldivien","maldivien","Divehi; Dhivehi; Maldivian","dv"
+"mlg","malgache","malgache","Malagasy","mg"
+"mlt","maltais","maltais","Maltese","mt"
+"mdr","mandar","mandar","Mandar",
+"mnc","mandchou","mandchou","Manchu",
+"man","mandingue","mandingue","Mandingo",
+"mni","manipuri","manipuri","Manipuri",
+"glv","mannois","manx; mannois","Manx","gv"
+"mno","manobo, langues","manobo, langues","Manobo languages",
+"glv","manx","manx; mannois","Manx","gv"
+"mao/mri","maori","maori","Maori","mi"
+"rar","maori des îles Cook","rarotonga; maori des îles Cook","Rarotongan; Cook Islands Maori",
+"arn","mapuce","mapudungun; mapuche; mapuce","Mapudungun; Mapuche",
+"arn","mapuche","mapudungun; mapuche; mapuce","Mapudungun; Mapuche",
+"arn","mapudungun","mapudungun; mapuche; mapuce","Mapudungun; Mapuche",
+"mar","marathe","marathe","Marathi","mr"
+"chm","mari","mari","Mari",
+"mah","marshall","marshall","Marshallese","mh"
+"mwr","marvari","marvari","Marwari",
+"mas","massaï","massaï","Masai",
+"myn","maya, langues","maya, langues","Mayan languages",
+"men","mendé","mendé","Mende",
+"mic","mi'kmaq","mi'kmaq; micmac","Mi'kmaq; Micmac",
+"mic","micmac","mi'kmaq; micmac","Mi'kmaq; Micmac",
+"min","minangkabau","minangkabau","Minangkabau",
+"mwl","mirandais","mirandais","Mirandese",
+"moh","mohawk","mohawk","Mohawk",
+"mdf","moksa","moksa","Moksha",
+"mol","moldave","moldave","Moldavian","mo"
+"mkh","môn-khmer, autres langues","môn-khmer, autres langues","Mon-Khmer (Other)",
+"lol","mongo","mongo","Mongo",
+"mon","mongol","mongol","Mongolian","mn"
+"mos","moré","moré","Mossi",
+"mun","mounda, langues","mounda, langues","Munda languages",
+"mul","multilingue","multilingue","Multiple languages",
+"mus","muskogee","muskogee","Creek",
+"nqo","n'ko","n'ko","N'Ko",
+"nah","nahuatl, langues","nahuatl, langues","Nahuatl languages",
+"nap","napolitain","napolitain","Neapolitan",
+"nau","nauruan","nauruan","Nauru","na"
+"nav","navaho","navaho","Navajo; Navaho","nv"
+"nde","ndébélé du Nord","ndébélé du Nord","Ndebele, North; North Ndebele","nd"
+"nbl","ndébélé du Sud","ndébélé du Sud","Ndebele, South; South Ndebele","nr"
+"ndo","ndonga","ndonga","Ndonga","ng"
+"dut/nld","néerlandais","néerlandais; flamand","Dutch; Flemish","nl"
+"dum","néerlandais moyen (ca. 1050-1350)","néerlandais moyen (ca. 1050-1350)","Dutch, Middle (ca.1050-1350)",
+"new","nepal bhasa","nepal bhasa; newari","Nepal Bhasa; Newari",
+"nep","népalais","népalais","Nepali","ne"
+"new","newari","nepal bhasa; newari","Nepal Bhasa; Newari",
+"nwc","newari classique","newari classique","Classical Newari; Old Newari; Classical Nepal Bhasa",
+"nia","nias","nias","Nias",
+"nic","nigéro-congolaises, autres langues","nigéro-congolaises, autres langues","Niger-Kordofanian (Other)",
+"ssa","nilo-sahariennes, autres langues","nilo-sahariennes, autres langues","Nilo-Saharan (Other)",
+"niu","niué","niué","Niuean",
+"nog","nogaï","nogaï; nogay","Nogai",
+"nog","nogay","nogaï; nogay","Nogai",
+"non","norrois, vieux","norrois, vieux","Norse, Old",
+"nor","norvégien","norvégien","Norwegian","no"
+"nob","norvégien bokmål","norvégien bokmål","Bokmål, Norwegian; Norwegian Bokmål","nb"
+"nno","norvégien nynorsk","norvégien nynorsk; nynorsk, norvégien","Norwegian Nynorsk; Nynorsk, Norwegian","nn"
+"nub","nubiennes, langues","nubiennes, langues","Nubian languages",
+"nym","nyamwezi","nyamwezi","Nyamwezi",
+"nya","nyanja","chichewa; chewa; nyanja","Chichewa; Chewa; Nyanja","ny"
+"nyn","nyankolé","nyankolé","Nyankole",
+"nno","nynorsk, norvégien","norvégien nynorsk; nynorsk, norvégien","Norwegian Nynorsk; Nynorsk, Norwegian","nn"
+"nyo","nyoro","nyoro","Nyoro",
+"nzi","nzema","nzema","Nzima",
+"oci","occitan (après 1500)","occitan (après 1500); provençal","Occitan (post 1500); Provençal","oc"
+"xal","oïrat","kalmouk; oïrat","Kalmyk; Oirat",
+"oji","ojibwa","ojibwa","Ojibwa","oj"
+"ori","oriya","oriya","Oriya","or"
+"osa","osage","osage","Osage",
+"oss","ossète","ossète","Ossetian; Ossetic","os"
+"oto","otomangue, langues","otomangue, langues","Otomian languages",
+"udm","oudmourte","oudmourte","Udmurt",
+"uga","ougaritique","ougaritique","Ugaritic",
+"uig","ouïgour","ouïgour","Uighur; Uyghur","ug"
+"urd","ourdou","ourdou","Urdu","ur"
+"uzb","ouszbek","ouszbek","Uzbek","uz"
+"pus","pachto","pachto","Pushto","ps"
+"pal","pahlavi","pahlavi","Pahlavi",
+"pau","palau","palau","Palauan",
+"pli","pali","pali","Pali","pi"
+"pam","pampangan","pampangan","Pampanga",
+"pag","pangasinan","pangasinan","Pangasinan",
+"pap","papiamento","papiamento","Papiamento",
+"paa","papoues, autres langues","papoues, autres langues","Papuan (Other)",
+"zxx","pas de contenu linguistique","pas de contenu linguistique","No linguistic content",
+"nso","pedi","pedi; sepedi; sotho du Nord","Pedi; Sepedi; Northern Sotho",
+"pan","pendjabi","pendjabi","Panjabi; Punjabi","pa"
+"per/fas","persan","persan","Persian","fa"
+"peo","perse, vieux (ca. 600-400 av. J.-C.)","perse, vieux (ca. 600-400 av. J.-C.)","Persian, Old (ca.600-400 B.C.)",
+"ful","peul","peul","Fulah","ff"
+"phn","phénicien","phénicien","Phoenician",
+"phi","philippines, autres langues","philippines, autres langues","Philippine (Other)",
+"fil","pilipino","filipino; pilipino","Filipino; Pilipino",
+"pon","pohnpei","pohnpei","Pohnpeian",
+"pol","polonais","polonais","Polish","pl"
+"por","portugais","portugais","Portuguese","pt"
+"pra","prâkrit","prâkrit","Prakrit languages",
+"oci","provençal","occitan (après 1500); provençal","Occitan (post 1500); Provençal","oc"
+"pro","provençal ancien (jusqu'à 1500)","provençal ancien (jusqu'à 1500)","Provençal, Old (to 1500)",
+"que","quechua","quechua","Quechua","qu"
+"raj","rajasthani","rajasthani","Rajasthani",
+"rap","rapanui","rapanui","Rapanui",
+"rar","rarotonga","rarotonga; maori des îles Cook","Rarotongan; Cook Islands Maori",
+"qaa-qtz","réservée à l'usage local","réservée à l'usage local","Reserved for local use",
+"roh","romanche","romanche","Romansh","rm"
+"roa","romanes, autres langues","romanes, autres langues","Romance (Other)",
+"rum/ron","roumain","roumain","Romanian","ro"
+"run","rundi","rundi","Rundi","rn"
+"rus","russe","russe","Russian","ru"
+"kin","rwanda","rwanda","Kinyarwanda","rw"
+"sal","salish, langues","salish, langues","Salishan languages",
+"sam","samaritain","samaritain","Samaritan Aramaic",
+"smn","sami d'Inari","sami d'Inari","Inari Sami",
+"smj","sami de Lule","sami de Lule","Lule Sami",
+"sme","sami du Nord","sami du Nord","Northern Sami","se"
+"sma","sami du Sud","sami du Sud","Southern Sami",
+"sms","sami skolt","sami skolt","Skolt Sami",
+"smi","sami, autres langues","sami, autres langues","Sami languages (Other)",
+"smo","samoan","samoan","Samoan","sm"
+"sad","sandawe","sandawe","Sandawe",
+"sag","sango","sango","Sango","sg"
+"san","sanskrit","sanskrit","Sanskrit","sa"
+"sat","santal","santal","Santali",
+"srd","sarde","sarde","Sardinian","sc"
+"sas","sasak","sasak","Sasak",
+"nds","saxon, bas","bas allemand; bas saxon; allemand, bas; saxon, bas","Low German; Low Saxon; German, Low; Saxon, Low",
+"sel","selkoupe","selkoupe","Selkup",
+"sem","sémitiques, autres langues","sémitiques, autres langues","Semitic (Other)",
+"nso","sepedi","pedi; sepedi; sotho du Nord","Pedi; Sepedi; Northern Sotho",
+"scc/srp","serbe","serbe","Serbian","sr"
+"srr","sérère","sérère","Serer",
+"sna","shona","shona","Shona","sn"
+"scn","sicilien","sicilien","Sicilian",
+"sid","sidamo","sidamo","Sidamo",
+"snd","sindhi","sindhi","Sindhi","sd"
+"sin","singhalais","singhalais","Sinhala; Sinhalese","si"
+"sit","sino-tibétaines, autres langues","sino-tibétaines, autres langues","Sino-Tibetan (Other)",
+"sio","sioux, langues","sioux, langues","Siouan languages",
+"sla","slaves, autres langues","slaves, autres langues","Slavic (Other)",
+"chu","slavon d'église","slavon d'église; vieux slave; slavon liturgique; vieux bulgare","Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic","cu"
+"chu","slavon liturgique","slavon d'église; vieux slave; slavon liturgique; vieux bulgare","Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic","cu"
+"slo/slk","slovaque","slovaque","Slovak","sk"
+"slv","slovène","slovène","Slovenian","sl"
+"sog","sogdien","sogdien","Sogdian",
+"som","somali","somali","Somali","so"
+"son","songhai, langues","songhai, langues","Songhai languages",
+"snk","soninké","soninké","Soninke",
+"wen","sorabes, langues","sorabes, langues","Sorbian languages",
+"nso","sotho du Nord","pedi; sepedi; sotho du Nord","Pedi; Sepedi; Northern Sotho",
+"sot","sotho du Sud","sotho du Sud","Sotho, Southern","st"
+"sun","soundanais","soundanais","Sundanese","su"
+"sus","soussou","soussou","Susu",
+"srn","sranan tongo","sranan tongo","Sranan Tongo",
+"swe","suédois","suédois","Swedish","sv"
+"suk","sukuma","sukuma","Sukuma",
+"sux","sumérien","sumérien","Sumerian",
+"swa","swahili","swahili","Swahili","sw"
+"ssw","swati","swati","Swati","ss"
+"syr","syriaque","syriaque","Syriac",
+"tgk","tadjik","tadjik","Tajik","tg"
+"tgl","tagalog","tagalog","Tagalog","tl"
+"tah","tahitien","tahitien","Tahitian","ty"
+"tmh","tamacheq","tamacheq","Tamashek",
+"tam","tamoul","tamoul","Tamil","ta"
+"tat","tatar","tatar","Tatar","tt"
+"crh","tatar de Crimé","tatar de Crimé","Crimean Tatar; Crimean Turkish",
+"cze/ces","tchèque","tchèque","Czech","cs"
+"che","tchétchène","tchétchène","Chechen","ce"
+"chv","tchouvache","tchouvache","Chuvash","cv"
+"tel","télougou","télougou","Telugu","te"
+"tem","temne","temne","Timne",
+"ter","tereno","tereno","Tereno",
+"tet","tetum","tetum","Tetum",
+"tha","thaï","thaï","Thai","th"
+"tai","thaïes, autres langues","thaïes, autres langues","Tai (Other)",
+"tib/bod","tibétain","tibétain","Tibetan","bo"
+"tig","tigré","tigré","Tigre",
+"tir","tigrigna","tigrigna","Tigrinya","ti"
+"tiv","tiv","tiv","Tiv",
+"tli","tlingit","tlingit","Tlingit",
+"tpi","tok pisin","tok pisin","Tok Pisin",
+"tkl","tokelau","tokelau","Tokelau",
+"tog","tonga (Nyasa)","tonga (Nyasa)","Tonga (Nyasa)",
+"ton","tongan (ÃŽles Tonga)","tongan (ÃŽles Tonga)","Tonga (Tonga Islands)","to"
+"tyv","touva","touva","Tuvinian",
+"rom","tsigane","tsigane","Romany",
+"tsi","tsimshian","tsimshian","Tsimshian",
+"tso","tsonga","tsonga","Tsonga","ts"
+"tsn","tswana","tswana","Tswana","tn"
+"tum","tumbuka","tumbuka","Tumbuka",
+"tup","tupi, langues","tupi, langues","Tupi languages",
+"tur","turc","turc","Turkish","tr"
+"ota","turc ottoman (1500-1928)","turc ottoman (1500-1928)","Turkish, Ottoman (1500-1928)",
+"tuk","turkmène","turkmène","Turkmen","tk"
+"tvl","tuvalu","tuvalu","Tuvalu",
+"twi","twi","twi","Twi","tw"
+"ukr","ukrainien","ukrainien","Ukrainian","uk"
+"umb","umbundu","umbundu","Umbundu",
+"vai","vaï","vaï","Vai",
+"cat","valencien","catalan; valencien","Catalan; Valencian","ca"
+"ven","venda","venda","Venda","ve"
+"vie","vietnamien","vietnamien","Vietnamese","vi"
+"chu","vieux bulgare","slavon d'église; vieux slave; slavon liturgique; vieux bulgare","Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic","cu"
+"chu","vieux slave","slavon d'église; vieux slave; slavon liturgique; vieux bulgare","Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic","cu"
+"vol","volapük","volapük","Volapük","vo"
+"vot","vote","vote","Votic",
+"wak","wakashennes, langues","wakashennes, langues","Wakashan languages",
+"wal","walamo","walamo","Walamo",
+"wln","wallon","wallon","Walloon","wa"
+"war","waray","waray","Waray",
+"was","washo","washo","Washo",
+"wol","wolof","wolof","Wolof","wo"
+"xho","xhosa","xhosa","Xhosa","xh"
+"yao","yao","yao","Yao",
+"yap","yapois","yapois","Yapese",
+"iii","yi de Sichuan","yi de Sichuan","Sichuan Yi","ii"
+"yid","yiddish","yiddish","Yiddish","yi"
+"yor","yoruba","yoruba","Yoruba","yo"
+"ypk","yupik, langues","yupik, langues","Yupik languages",
+"znd","zandé, langues","zandé, langues","Zande languages",
+"zap","zapotèque","zapotèque","Zapotec",
+"zza","zaza","zaza; dimili; dimli; kirdki; kirmanjki; zazaki","Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki",
+"zza","zazaki","zaza; dimili; dimli; kirdki; kirmanjki; zazaki","Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki",
+"zen","zenaga","zenaga","Zenaga",
+"zha","zhuang","zhuang; chuang","Zhuang; Chuang","za"
+"zul","zoulou","zoulou","Zulu","zu"
+"zun","zuni","zuni","Zuni",

Index: externalmodules.pl
===================================================================
RCS file: externalmodules.pl
diff -N externalmodules.pl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ externalmodules.pl	9 Mar 2007 15:37:25 -0000	1.2
@@ -0,0 +1,27 @@
+#!/usr/bin/perl -w
+
+# This Script can be used to provide a list of ALL external modules ***used*** (uncommented) in Koha.
+# It provides you not only the list of modules BUT ALSO the files that uses those modules.
+# utf8 or warnings or other lib use are not taken into account at the moment.
+
+
+use strict;
+use C4::Context;
+my $dir=C4::Context->config('intranetdir');
+qx(grep -r "^ *use" $dir | grep -v "C4\|strict\|vars" >/tmp/modulesKoha.log);
+$dir=C4::Context->config('opacdir');
+qx(grep -r "^ *use" $dir | grep -v "C4\|strict\|vars" >>/tmp/modulesKoha.log);
+
+open FILE, "< /tmp/modulesKoha.log" ||die "unable to open file /tmp/modulesKoha.log";
+my %modulehash;
+while (my $line=<FILE>){
+  if ( $line=~m#(.*)\:\s*use\s+([A-Z][^\s;]+)# ){
+    my ($file,$module)=($1,$2);
+    my @filename = split /\//, $file;
+    push @{$modulehash{$module}},$filename[scalar(@filename) - 1];
+  }
+}
+print "external modules used in Koha ARE :\n";
+map {print "* $_ \t in files ",join (",",@{$modulehash{$_}}),"\n" } sort keys %modulehash;
+close FILE;
+unlink "/tmp/modulesKoha.log";

Index: InstallAuth.pm
===================================================================
RCS file: InstallAuth.pm
diff -N InstallAuth.pm
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ InstallAuth.pm	9 Mar 2007 15:37:25 -0000	1.2
@@ -0,0 +1,422 @@
+# -*- tab-width: 8 -*-
+# NOTE: This file uses 8-character tabs; do not change the tab size!
+
+package InstallAuth;
+
+# Copyright 2000-2002 Katipo Communications
+#
+# This file is part of Koha.
+#
+# Koha 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.
+#
+# Koha 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
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+use strict;
+use Digest::MD5 qw(md5_base64);
+
+require Exporter;
+use C4::Context;
+use C4::Output;    # to get the template
+use C4::Interface::CGI::Output;
+use C4::Koha;
+
+use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
+
+# set the version for version checking
+$VERSION = do { my @v = '$Revision: 1.2 $' =~ /\d+/g;
+    shift(@v) . "." . join( "_", map { sprintf "%03d", $_ } @v );
+};
+
+=head1 NAME
+
+InstallAuth - Authenticates Koha users for Install process
+
+=head1 SYNOPSIS
+
+  use CGI;
+  use InstallAuth;
+
+  my $query = new CGI;
+
+  my ($template, $borrowernumber, $cookie) 
+    = get_template_and_user({template_name   => "opac-main.tmpl",
+                             query           => $query,
+			     type            => "opac",
+			     authnotrequired => 1,
+			     flagsrequired   => {borrow => 1},
+			  });
+
+  print $query->header(
+    -type => guesstype($template->output),
+    -cookie => $cookie
+  ), $template->output;
+
+
+=head1 DESCRIPTION
+
+    The main function of this module is to provide
+    authentification. However the get_template_and_user function has
+    been provided so that a users login information is passed along
+    automatically. This gets loaded into the template.
+    This package is different from C4::Auth in so far as 
+    C4::Auth uses many preferences which are supposed NOT to be obtainable when installing the database.
+    
+    As in C4::Auth, Authentication is based on cookies.
+
+=head1 FUNCTIONS
+
+=over 2
+
+=cut
+
+ at ISA    = qw(Exporter);
+ at EXPORT = qw(
+  &checkauth
+  &get_template_and_user
+  &setlanguagecookie
+);
+
+=item get_template_and_user
+
+  my ($template, $borrowernumber, $cookie)
+    = get_template_and_user({template_name   => "opac-main.tmpl",
+                             query           => $query,
+			     type            => "opac",
+			     authnotrequired => 1,
+			     flagsrequired   => {borrow => 1},
+			  });
+
+    This call passes the C<query>, C<flagsrequired> and C<authnotrequired>
+    to C<&checkauth> (in this module) to perform authentification.
+    See C<&checkauth> for an explanation of these parameters.
+
+    The C<template_name> is then used to find the correct template for
+    the page. The authenticated users details are loaded onto the
+    template in the HTML::Template LOOP variable C<USER_INFO>. Also the
+    C<sessionID> is passed to the template. This can be used in templates
+    if cookies are disabled. It needs to be put as and input to every
+    authenticated page.
+
+    More information on the C<gettemplate> sub can be found in the
+    Output.pm module.
+
+=cut
+
+sub get_template_and_user {
+    my $in       = shift;
+    my $query=$in->{'query'};
+    my $language=$query->cookie('KohaOpacLanguage');
+    my $path=C4::Context->config('intrahtdocs')."/prog/".($language?$language:"en");
+    my $template       = HTML::Template::Pro->new(
+        filename          => "$path/".$in->{template_name},
+        die_on_bad_params => 1,
+        global_vars       => 1,
+        case_sensitive    => 1,
+        path              => ["$path/includes"]
+    );
+    
+    my ( $user, $cookie, $sessionID, $flags ) = checkauth(
+        $in->{'query'},
+        $in->{'authnotrequired'},
+        $in->{'flagsrequired'},
+        $in->{'type'}
+    );
+#     use Data::Dumper;warn "utilisateur $user cookie : ".Dumper($cookie);
+
+    my $borrowernumber;
+    if ($user) {
+        $template->param( loggedinusername => $user );
+        $template->param( sessionID        => $sessionID );
+
+
+        # We are going to use the $flags returned by checkauth
+        # to create the template's parameters that will indicate
+        # which menus the user can access.
+        if (( $flags && $flags->{superlibrarian}==1)) {
+            $template->param( CAN_user_circulate        => 1 );
+            $template->param( CAN_user_catalogue        => 1 );
+            $template->param( CAN_user_parameters       => 1 );
+            $template->param( CAN_user_borrowers        => 1 );
+            $template->param( CAN_user_permission       => 1 );
+            $template->param( CAN_user_reserveforothers => 1 );
+            $template->param( CAN_user_borrow           => 1 );
+            $template->param( CAN_user_editcatalogue    => 1 );
+            $template->param( CAN_user_updatecharge     => 1 );
+            $template->param( CAN_user_acquisition      => 1 );
+            $template->param( CAN_user_management       => 1 );
+            $template->param( CAN_user_tools            => 1 );	
+            $template->param( CAN_user_editauthorities  => 1 );
+            $template->param( CAN_user_serials          => 1 );
+            $template->param( CAN_user_reports          => 1 );
+        }
+    }
+    return ( $template, $borrowernumber, $cookie );
+}
+
+=item checkauth
+
+  ($userid, $cookie, $sessionID) = &checkauth($query, $noauth, $flagsrequired, $type);
+
+Verifies that the user is authorized to run this script.  If
+the user is authorized, a (userid, cookie, session-id, flags)
+quadruple is returned.  If the user is not authorized but does
+not have the required privilege (see $flagsrequired below), it
+displays an error page and exits.  Otherwise, it displays the
+login page and exits.
+
+Note that C<&checkauth> will return if and only if the user
+is authorized, so it should be called early on, before any
+unfinished operations (e.g., if you've opened a file, then
+C<&checkauth> won't close it for you).
+
+C<$query> is the CGI object for the script calling C<&checkauth>.
+
+The C<$noauth> argument is optional. If it is set, then no
+authorization is required for the script.
+
+C<&checkauth> fetches user and session information from C<$query> and
+ensures that the user is authorized to run scripts that require
+authorization.
+
+The C<$flagsrequired> argument specifies the required privileges
+the user must have if the username and password are correct.
+It should be specified as a reference-to-hash; keys in the hash
+should be the "flags" for the user, as specified in the Members
+intranet module. Any key specified must correspond to a "flag"
+in the userflags table. E.g., { circulate => 1 } would specify
+that the user must have the "circulate" privilege in order to
+proceed. To make sure that access control is correct, the
+C<$flagsrequired> parameter must be specified correctly.
+
+The C<$type> argument specifies whether the template should be
+retrieved from the opac or intranet directory tree.  "opac" is
+assumed if it is not specified; however, if C<$type> is specified,
+"intranet" is assumed if it is not "opac".
+
+If C<$query> does not have a valid session ID associated with it
+(i.e., the user has not logged in) or if the session has expired,
+C<&checkauth> presents the user with a login page (from the point of
+view of the original script, C<&checkauth> does not return). Once the
+user has authenticated, C<&checkauth> restarts the original script
+(this time, C<&checkauth> returns).
+
+The login page is provided using a HTML::Template, which is set in the
+systempreferences table or at the top of this file. The variable C<$type>
+selects which template to use, either the opac or the intranet 
+authentification template.
+
+C<&checkauth> returns a user ID, a cookie, and a session ID. The
+cookie should be sent back to the browser; it verifies that the user
+has authenticated.
+
+=cut
+
+sub checkauth {
+    my $query = shift;
+
+# $authnotrequired will be set for scripts which will run without authentication
+    my $authnotrequired = shift;
+    my $flagsrequired   = shift;
+    my $type            = shift;
+    $type = 'intranet' unless $type;
+
+
+    my $template_name;
+    $template_name = "installer/auth.tmpl";
+
+    # state variables
+    my $loggedin = 0;
+    my %info;
+    my ( $userid, $cookie, $sessionID, $flags, $envcookie );
+    my $logout = $query->param('logout.x');
+    if ( $sessionID = $query->cookie('sessionID') ) {
+        C4::Context->_new_userenv($sessionID);
+        if ( my %hash = $query->cookie('userenv') ) {
+            C4::Context::set_userenv(
+                $hash{number},       $hash{id},
+                $hash{cardnumber},   $hash{firstname},
+                $hash{surname},      $hash{branch},
+                $hash{branchname},   $hash{flags},
+                $hash{emailaddress}, $hash{branchprinter}
+            );
+            $cookie = $query->cookie(
+                -name    => 'sessionID',
+                -value   => $sessionID,
+                -expires => ''
+            );
+            $loggedin=1;
+            $userid = $hash{cardnumber};
+        }
+        my ( $ip, $lasttime );
+
+        if ($logout) {
+
+            # voluntary logout the user
+            C4::Context->_unset_userenv($sessionID);
+            $sessionID = undef;
+            $userid    = undef;
+            open L, ">>/tmp/sessionlog";
+            my $time = localtime( time() );
+            printf L "%20s from %16s logged out at %30s (manually).\n", $userid,
+              $ip, $time;
+            close L;
+        }
+    }
+    unless ($userid) {
+        $sessionID = int( rand() * 100000 ) . '-' . time();
+        $userid    = $query->param('userid');
+        C4::Context->_new_userenv($sessionID);
+        my $password = $query->param('password');
+        C4::Context->_new_userenv($sessionID);
+        my ( $return, $cardnumber ) = checkpw( $userid, $password );
+        if ($return) {
+            $loggedin=1;
+            open L, ">>/tmp/sessionlog";
+            my $time = localtime( time() );
+            printf L "%20s from %16s logged in  at %30s.\n", $userid,
+              $ENV{'REMOTE_ADDR'}, $time;
+            close L;
+            $cookie = $query->cookie(
+                -name    => 'sessionID',
+                -value   => $sessionID,
+                -expires => ''
+            );
+            if ( $return == 2 ) {
+                #Only superlibrarian should have access to this page.
+                #Since if it is a user, it is supposed that there is a borrower table
+                #And thus that data structure is loaded.
+                my $hash = C4::Context::set_userenv(
+                    0,
+                    0,
+                    C4::Context->config('user'),
+                    C4::Context->config('user'),
+                    C4::Context->config('user'),
+                    "",
+                    "SUPER",
+                    1,""
+                );
+                $envcookie = $query->cookie(
+                    -name    => 'userenv',
+                    -value   => $hash,
+                    -expires => ''
+                );
+                $userid=C4::Context->config('user');
+            }
+        }
+        else {
+            if ($userid) {
+                $info{'invalid_username_or_password'} = 1;
+                C4::Context->_unset_userenv($sessionID);
+            }
+        }
+    }
+
+    # finished authentification, now respond
+    if ( $loggedin )
+    {
+
+        # successful login
+        unless ($cookie) {
+            $cookie = $query->cookie(
+                -name    => 'sessionID',
+                -value   => '',
+                -expires => ''
+            );
+        }
+        if ($envcookie) {
+            return ( $userid, [ $cookie, $envcookie ], $sessionID, $flags );
+        }
+        else {
+            return ( $userid, $cookie, $sessionID, $flags );
+        }
+    }
+
+    # else we have a problem...
+    # get the inputs from the incoming query
+    my @inputs = ();
+    foreach my $name ( param $query) {
+        (next) if ( $name eq 'userid' || $name eq 'password' );
+        my $value = $query->param($name);
+        push @inputs, { name => $name, value => $value };
+    }
+
+    my $path=C4::Context->config('intrahtdocs')."/prog/".($query->param('language')?$query->param('language'):"en");
+    my $template       = HTML::Template::Pro->new(
+        filename          => "$path/$template_name",
+        die_on_bad_params => 1,
+        global_vars       => 1,
+        case_sensitive    => 1,
+        path              => ["$path/includes"]
+    );
+    $template->param(
+        INPUTS               => \@inputs,
+
+    );
+    $template->param( loginprompt => 1 ) unless $info{'nopermission'};
+
+    my $self_url = $query->url( -absolute => 1 );
+    $template->param(
+        url         => $self_url,
+    );
+    $template->param( \%info );
+    $cookie = $query->cookie(
+        -name    => 'sessionID',
+        -value   => $sessionID,
+        -expires => ''
+    );
+    print $query->header(
+        -type   => guesstype( $template->output ),
+        -cookie => $cookie
+      ),
+      $template->output;
+    exit;
+}
+
+sub checkpw {
+
+    my ( $userid, $password ) = @_;
+
+    if (   $userid && $userid eq C4::Context->config('user')
+        && "$password" eq C4::Context->config('pass') )
+    {
+# Koha superuser account
+ 		C4::Context->set_userenv(0,0,C4::Context->config('user'),C4::Context->config('user'),C4::Context->config('user'),"",1);
+        return 2;
+    }
+    if (   $userid && $userid eq 'demo'
+        && "$password" eq 'demo'
+        && C4::Context->config('demo') )
+    {
+
+# DEMO => the demo user is allowed to do everything (if demo set to 1 in koha.conf
+# some features won't be effective : modify systempref, modify MARC structure,
+        return 2;
+    }
+    return 0;
+}
+
+
+END { }    # module clean-up code here (global destructor)
+1;
+__END__
+
+=back
+
+=head1 SEE ALSO
+
+CGI(3)
+
+C4::Output(3)
+
+Digest::MD5(3)
+
+=cut

Index: install.pl
===================================================================
RCS file: install.pl
diff -N install.pl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ install.pl	9 Mar 2007 15:37:25 -0000	1.2
@@ -0,0 +1,347 @@
+#!/usr/bin/perl -w # please develop with -w
+
+#use diagnostics;
+
+# use Install;
+use InstallAuth;
+use C4::Context;
+use C4::Interface::CGI::Output;
+use C4::Languages;
+
+use strict; # please develop with the strict pragma
+
+use CGI;
+
+my $query=new CGI;
+my $step=$query->param('step');
+
+my $language=$query->param('language');
+my ($template, $loggedinuser, $cookie);
+
+
+my $all_languages=getAllLanguages();
+
+if (defined($language) ){
+  setlanguagecookie($query,$language,"install.pl?step=1");
+}
+($template, $loggedinuser, $cookie)
+        = get_template_and_user({template_name => "installer/step".($step?$step:1).".tmpl",
+                query => $query,
+                type => "intranet",
+                authnotrequired => 0,
+                debug => 1,
+                });
+
+if ($step && $step==1){
+  #First Step
+  #Checking ALL perl Modules and services needed are installed.
+  #Whenever there is an error, adding a report to the page
+  # I suppose here that Apache user can access /usr/bin/
+  # If mysql or zebra are in some fancy directory not in PATH
+  # Performing a disk search.
+  $template->param(language=>1);
+  my $problem;
+  
+  unless ($] >= 5.006001) {			# Bug 179
+      $template->param("problems"=>1,"perlversion"=>1);
+      $problem=1;
+  }
+  unless (-x "/usr/bin/perl") {
+    my $realperl=`which perl`;
+    $realperl=`find / -name perl` unless ($realperl);
+    chomp $realperl;
+    $template->param("problems"=>1,'perllocation'=>1) unless ($realperl);
+    $problem=1 unless($realperl);
+  }
+  unless (-x "/usr/local/bin/mysql") {
+    my $mysql=`which mysql`;
+    $mysql=`find / -name mysql` unless ($mysql);
+    chomp $mysql;
+    $template->param("problems"=>1,'mysql'=>1) unless ($mysql);
+    $problem=1 unless($mysql);
+  }
+  unless (-x "/usr/local/bin/zebraidx" ||-x "/usr/local/bin/zebraidx-2.0") {
+    my $zebra=`which zebraidx`;
+    $zebra=`which zebraidx-2.0` unless ($zebra);
+    $zebra=`find / -name "zebraidx*"` unless ($zebra);
+    chomp $zebra;
+    $template->param("problems"=>1,'zebra'=>1) unless ($zebra);
+    $problem=1 unless ($zebra);
+  }
+  unless (-x "/usr/local/bin/zebrasrv" ||-x "/usr/local/bin/zebrasrv-2.0") {
+    my $zebra=`which zebrasrv`;
+    $zebra=`which zebrasrv-2.0` unless ($zebra);
+    $zebra=`find / -name "zebrasrv*"` unless ($zebra);
+    chomp $zebra;
+    $template->param("problems"=>1,'zebra'=>1) unless ($zebra);
+    $problem=1 unless ($zebra);
+  }
+  unless (-x "/usr/local/bin/yaz-client") {
+    my $yaz=`which yaz-client`;
+    $yaz=`find / -name "yaz-client*"` unless ($yaz);
+    chomp $yaz;
+    $template->param("problems"=>1,'yaz'=>1) unless ($yaz);
+    $problem=1 unless ($yaz);
+  }
+  # We could here use a special find 
+  my @missing = ();
+  unless (eval {require ZOOM})       {
+          push @missing, {name=>"ZOOM"};
+  }
+  unless (eval {require LWP::Simple})       {
+          push @missing, {name=>"LWP::Simple"};
+  }
+  unless (eval {require XML::Simple})       {
+          push @missing, {name=>"XML::Simple"};
+  }
+  unless (eval {require MARC::File::XML})       {
+          push @missing, {name=>"MARC::File::XML"};
+  }
+  unless (eval {require MARC::File::USMARC})       {
+          push @missing, {name=>"MARC::File::USMARC"};
+  }
+  unless (eval {require DBI})              { push @missing,{name=>"DBI"} };
+  unless (eval {require Date::Manip})      { push @missing,{name=>"Date::Manip"} };
+  unless (eval {require DBD::mysql})       { push @missing,{name=>"DBD::mysql"} };
+  unless (eval {require HTML::Template})   { push @missing,{name=>"HTML::Template::Pro"} };
+  unless (eval {require HTML::Template})   { push @missing,{name=>"Date::Calc"} };
+  unless (eval {require Digest::MD5})      { push @missing,{name=>"Digest::MD5"} };
+  unless (eval {require MARC::Record})     { push @missing,{name=>"MARC::Record"} };
+  unless (eval {require Mail::Sendmail})   { push @missing,{name=>"Mail::Sendmail",usagemail=>1} };
+# The following modules are not mandatory, depends on how the library want to use Koha
+  unless (eval {require PDF::API2})   { 
+          if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
+              push @missing,{name=>"PDF::API2",usagebarcode=>1};
+          }
+  }
+  unless (eval {require GD::Barcorde})   { 
+    if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
+      push @missing,{name=>"GD::Barcode",usagebarcode=>1,usagespine=>1};
+    }
+  }
+  unless (eval {require Data::Random})   { 
+    if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
+      push @missing,{name=>"Data::Random",usagebarcode=>1};
+    }
+  }
+  unless (eval {require PDF::Reuse::Barcode})   {
+    if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
+      push @missing,{name=>"PDF::Reuse::Barcode",usagebarcode=>1};
+    }
+  }
+  unless (eval {require PDF::Report})   {
+    if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
+      push @missing,{name=>"PDF::Report",usagebarcode=>1};
+    }
+  }
+  unless (eval {require GD::Barcode::UPCE})   {
+    if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
+      push @missing,{name=>"GD::Barcode::UPCE",usagepine=>1};
+    }
+  }
+  unless (eval {require Net::LDAP})       {
+    if ($#missing>=0) { # only when $#missing >= 0 so this isn't fatal
+      push @missing,{name=>"Net::LDAP",usageLDAP=>1};
+    }
+  }
+
+  $template->param(missings=>\@missing) if (scalar(@missing)>0);
+  $template->param('checkmodule'=>1) unless (scalar(@missing) && $problem);
+  
+} elsif ($step && $step==2){
+  # Check Database connection and access
+  my %info;
+  $info{'dbname'}=C4::Context->config("database");
+  $info{'dbms'}=(C4::Context->config("db_scheme")?C4::Context->config("db_scheme"):"mysql");
+  $info{'hostname'}=C4::Context->config("hostname");
+  ($info{'hostname'},$info{'port'})=($1,$2) if $info{'hostname'}=~/([^:]*):([0-9]+)/;
+  $info{'user'}=C4::Context->config("user");
+  $info{'password'}=C4::Context->config("pass");
+  $template->param(%info);
+  my $checkmysql=$query->param("checkmysql");
+  $template->param('mysqlconnection'=>$checkmysql);
+  if ($checkmysql){
+    my $dbh= DBI->connect("DBI:$info{dbms}:$info{dbname}:$info{hostname}".($info{port}?":$info{port}":""),$info{'user'}, $info{'password'});
+    if ($dbh){
+      # Can connect to the mysql
+      $template->param("checkdatabaseaccess"=>1);
+      if ($info{dbms} eq "mysql"){
+        #Check if database created
+        my $rv=$dbh->do("SHOW DATABASES LIKE \'$info{dbname}\'");
+        if ($rv==1){$template->param('checkdatabasecreated'=>1);}
+        #Check if user have all necessary grants on this database.
+        my $rq=$dbh->prepare("SHOW GRANTS FOR \'$info{user}\'\@'$info{hostname}'");
+        $rq->execute;
+        my $grantaccess;
+        while (my ($line)=$rq->fetchrow){
+          my $dbname=$info{dbname};
+          if ($line=~m/$dbname/ || index($line,'*.*')>0){
+            $grantaccess=1 if (index($line,'ALL PRIVILEGES')>0 ||
+            ((index($line,'SELECT')>0)&&(index($line,'INSERT')>0)&&(index($line,'UPDATE')>0)&&(index($line,'DELETE')>0)&&(index($line,'CREATE')>0)&&(index($line,'DROP')>0)));
+          }
+        }
+        unless ($grantaccess){
+          $rq=$dbh->prepare("SHOW GRANTS FOR \'$info{user}\'\@'\%'");
+          $rq->execute;
+          while (my ($line)=$rq->fetchrow){
+            my $dbname=$info{dbname};
+            if ($line=~m/$dbname/ || index($line,'*.*')>0){
+              $grantaccess=1 if (index($line,'ALL PRIVILEGES')>0 ||
+              ((index($line,'SELECT')>0)&&(index($line,'INSERT')>0)&&(index($line,'UPDATE')>0)&&(index($line,'DELETE')>0)&&(index($line,'CREATE')>0)&&(index($line,'DROP')>0)));
+            }
+          }
+        }
+        $template->param("checkgrantaccess"=>$grantaccess);
+      }
+    } else {
+      $template->param("error"=>DBI::err,"message"=>DBI::errstr);
+    }
+  }
+} elsif ($step && $step==3){
+  my %info;
+  $info{'dbname'}=C4::Context->config("database");
+  $info{'dbms'}=(C4::Context->config("db_scheme")?C4::Context->config("db_scheme"):"mysql");
+  $info{'hostname'}=C4::Context->config("hostname");
+  ($info{'hostname'},$info{'port'})=($1,$2) if $info{'hostname'}=~/([^:]*):([0-9]+)/;
+  $info{port} = 3306 unless ($info{port});
+  $info{'user'}=C4::Context->config("user");
+  $info{'password'}=C4::Context->config("pass");
+  my $op=$query->param('op');
+  if ($op && $op eq 'finish'){
+    # Installation is finished.
+    # We just deny anybody acess to install
+    # And we redirect people to mainpage.
+    # The installer wil have to relogin since we donot pass cookie to redirection.
+    my $dir=C4::Context->config('intranetdir');
+    qx(chmod -R uog-xw $dir/installer);
+    print $query->redirect("/cgi-bin/koha/mainpage.pl");
+    exit 1;
+  } elsif ($op && $op eq 'addframeworks'){
+    #Framework importing and reports
+    my $lang;
+    my %hashlevel;
+    
+	foreach my $file ($query->param('framework')){
+      undef $/;
+      my $strcmd="mysql ".($info{hostname}?"-h $info{hostname} ":"").($info{port}?"-P $info{port} ":"").($info{user}?"-u $info{user} ":"").($info{password}?"-p$info{password}":"")." $info{dbname} ";
+      my $str = qx($strcmd < $file 2>&1);
+      my @file = split qr(\/|\\),$file;
+      $lang=$file[scalar(@file)-3] unless ($lang);
+      my $level=$file[scalar(@file)-2];
+      #Bulding here a hierarchy to display files by level.
+      push @{$hashlevel{$level}},{"fwkname"=>$file[scalar(@file)-1],"error"=>$str};
+    }
+    my @list;
+    map {push @list,{"level"=>$_,"fwklist"=>$hashlevel{$_}}} keys %hashlevel;
+    my $fwk_language;
+    for my $each_language(@$all_languages) {
+		warn "CODE".$each_language->{'language_code'};
+		warn "LANG:".$lang;
+		if ($lang eq $each_language->{'language_code'}) {
+			$fwk_language = $each_language->{language_locale_name};
+		}
+    }
+    $template->param("fwklanguage"=>$fwk_language,
+                     "list"=>\@list);
+    $template->param("$op"=>1);
+  } elsif ( $op && $op eq 'selectframeworks'){
+    #Framework Selection
+    #sql data for import are supposed to be located in misc/sql-datas/<language>/<level>
+    # Where <language> is en|fr or any international abbreviation (provided language hash is updated... This will be a problem with internationlisation.)
+    # Where <level> is a category of requirement : required, recommended optional
+    # level should contain : 
+    #   SQL File for import With a readable name.
+    #   txt File taht explains what this SQL File is meant for.
+    # Could be VERY useful to have A Big file for a kind of library.
+    # But could also be useful to have some Authorised values data set prepared here.
+    # Framework Selection is achieved through checking boxes.
+    my $langchoice=$query->param('fwklanguage') ;
+    $langchoice=$query->cookie('KohaOpacLanguage') unless ($langchoice);
+	my $dir=C4::Context->config('intranetdir')."/misc/sql-datas/";
+    opendir (MYDIR,$dir);
+    my @listdir= grep { !/^\.|CVS/ && -d "$dir/$_"} readdir(MYDIR);
+    closedir MYDIR;
+	my $frmwklangs = getFrameworkLanguages();
+    my @languages;
+    map{
+      push @languages,{'dirname'=>$_->{'language_code'}, 'languagedescription'=>$_->{'language_name'},'checked'=>($_->{'language_code'} eq $langchoice) } if ($_->{'language_code'});
+    } @$frmwklangs;
+    $template->param("languagelist"=>\@languages);
+    undef $/;
+    $dir=C4::Context->config('intranetdir')."/misc/sql-datas/$langchoice";
+    opendir (MYDIR,$dir) || warn "no open $dir";
+    @listdir= grep { !/^\.|CVS/ && -d "$dir/$_"} readdir(MYDIR);
+    closedir MYDIR;
+    my @levellist;
+	foreach my $requirelevel (@listdir){
+      $dir =C4::Context->config('intranetdir')."/misc/sql-datas/$langchoice/$requirelevel";
+      opendir (MYDIR,$dir);
+      my @listname = grep { !/^\.|CVS/ && -f "$dir/$_" && $_=~m/\.sql$/} readdir(MYDIR);
+      closedir MYDIR;
+      my %cell;
+      my @frameworklist;
+      map{
+        my $name=substr($_,0,-4);
+        open FILE, "< $dir/$name.txt";
+        my $lines = <FILE>; 
+        $lines=~s/\n|\r/<br \/>/g;
+        use utf8;
+        utf8::encode($lines) unless (utf8::is_utf8($lines));
+        push @frameworklist,{'fwkname'=>$name, 'fwkfile'=>"$dir/$_",'fwkdescription'=>$lines};
+      } @listname;
+      $cell{"mandatory"}=($requirelevel=~/(mandatory|requi|oblig|necess)/i);
+      $cell{"frameworks"}=\@frameworklist;
+      $cell{"label"}=ucfirst($requirelevel);
+      $cell{"code"}=lc($requirelevel);
+      push @levellist,\%cell;
+    }
+    $template->param("levelloop"=>\@levellist);
+    $template->param("$op"=>1);
+  } elsif ($op && $op eq 'updatestructure'){
+    #Do updatedatabase And report
+    my $execstring=C4::Context->config("intranetdir")."/updater/updatedatabase";
+    undef $/;
+    my $string= qx|$execstring 2>&1|;
+    if ($string){
+      $string=~s/\n|\r/<br \/>/g;
+      $string=~s/(DBD::mysql.*? failed: .*? line [0-9]*.|=================.*?====================)/<font color=red>$1<\/font>/g;
+      $template->param("updatereport"=>$string) ;
+    }
+    $template->param($op=>1)
+  }elsif ($op && $op eq 'importdatastructure'){
+    #Import data structure and show errors if any
+    my $filename="kohastructure.sql";
+    undef $/;
+	my $str = qx(mysql -h $info{hostname} -P $info{port} -u $info{user} -p$info{password} $info{dbname} <$filename 2>&1);
+	$str=~s/\n|\r/<br \/>/g;
+	$template->param("error"=>$str , 
+					importdatastructure => 1, );
+  } else {
+    #Check if there are enough tables.
+    # Version 2_2 was 74 tables, so we check if there is more than 75
+    # Maybe could be in step 2
+    #I put it there because it implied a data import if condition was not satisfied.
+    my $dbh= DBI->connect("DBI:$info{dbms}:$info{dbname}:$info{hostname}".($info{port}?":$info{port}":""),$info{'user'}, $info{'password'});
+    my $rq=$dbh->prepare("SHOW TABLES FROM ".$info{'dbname'});
+    $rq->execute;
+    my $data=$rq->fetchall_arrayref({});
+    my $count=scalar(@$data);
+    if ($count < 75){
+      $template->param("count"=>$count,"proposeimport"=>1);
+    } else {
+      $template->param("count"=>$count,"default"=>1);
+    }
+    $dbh->disconnect;
+  }
+}else {
+  # LANGUAGE SELECTION page by default
+  # using opendir + language Hash
+  
+  my $langavail = getTranslatedLanguages();
+  my @languages;
+  foreach (@$langavail){
+	push @languages,{'value'=>$_->{'language_code'}, 'description'=>$_->{'language_name'} } if ($_->{'language_code'});
+  }
+  $template->param(languages=>\@languages);
+}
+output_html_with_http_headers $query, $cookie, $template->output;

Index: kohastructure.sql
===================================================================
RCS file: kohastructure.sql
diff -N kohastructure.sql
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ kohastructure.sql	9 Mar 2007 15:37:25 -0000	1.2
@@ -0,0 +1,2241 @@
+-- phpMyAdmin SQL Dump
+-- version 2.9.0.2
+-- http://www.phpmyadmin.net
+-- 
+-- Serveur: localhost
+-- Généré le : Mardi 06 Février 2007 à 15:21
+-- Version du serveur: 4.1.12
+-- Version de PHP: 5.0.4
+-- 
+-- Base de données: `Kohazebratest`
+-- 
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `accountlines`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `accountlines`;
+CREATE TABLE IF NOT EXISTS `accountlines` (
+  `borrowernumber` int(11) NOT NULL default '0',
+  `accountno` smallint(6) NOT NULL default '0',
+  `itemnumber` int(11) default NULL,
+  `date` date default NULL,
+  `amount` decimal(28,6) default NULL,
+  `description` text,
+  `dispute` text,
+  `accounttype` varchar(5) default NULL,
+  `amountoutstanding` decimal(28,6) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `notify_id` int(11) NOT NULL default '0',
+  `notify_level` int(2) NOT NULL default '0',
+  KEY `acctsborridx` (`borrowernumber`),
+  KEY `timeidx` (`timestamp`),
+  KEY `itemnumber` (`itemnumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `accountoffsets`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:56
+-- 
+
+DROP TABLE IF EXISTS `accountoffsets`;
+CREATE TABLE IF NOT EXISTS `accountoffsets` (
+  `borrowernumber` int(11) NOT NULL default '0',
+  `accountno` smallint(6) NOT NULL default '0',
+  `offsetaccount` smallint(6) NOT NULL default '0',
+  `offsetamount` decimal(28,6) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `action_logs`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:56
+-- 
+
+DROP TABLE IF EXISTS `action_logs`;
+CREATE TABLE IF NOT EXISTS `action_logs` (
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `user` int(11) NOT NULL default '0',
+  `module` text,
+  `action` text,
+  `object` int(11) default '0',
+  `info` text,
+  PRIMARY KEY  (`timestamp`,`user`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `alert`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:56
+-- 
+
+DROP TABLE IF EXISTS `alert`;
+CREATE TABLE IF NOT EXISTS `alert` (
+  `alertid` int(11) NOT NULL auto_increment,
+  `borrowernumber` int(11) NOT NULL default '0',
+  `type` varchar(10) NOT NULL default '',
+  `externalid` varchar(20) NOT NULL default '',
+  PRIMARY KEY  (`alertid`),
+  KEY `borrowernumber` (`borrowernumber`),
+  KEY `type` (`type`,`externalid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `aqbasket`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `aqbasket`;
+CREATE TABLE IF NOT EXISTS `aqbasket` (
+  `basketno` int(11) NOT NULL auto_increment,
+  `creationdate` date default NULL,
+  `closedate` date default NULL,
+  `booksellerid` int(11) NOT NULL default '1',
+  `authorisedby` varchar(10) default NULL,
+  `booksellerinvoicenumber` text,
+  PRIMARY KEY  (`basketno`),
+  KEY `booksellerid` (`booksellerid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `aqbookfund`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `aqbookfund`;
+CREATE TABLE IF NOT EXISTS `aqbookfund` (
+  `bookfundid` varchar(5) NOT NULL default '''''',
+  `bookfundname` text,
+  `bookfundgroup` varchar(5) default NULL,
+  `branchcode` varchar(4) NOT NULL default '',
+  PRIMARY KEY  (`bookfundid`,`branchcode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `aqbooksellers`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `aqbooksellers`;
+CREATE TABLE IF NOT EXISTS `aqbooksellers` (
+  `id` int(11) NOT NULL default '0',
+  `name` text,
+  `address1` text,
+  `address2` text,
+  `address3` text,
+  `address4` text,
+  `phone` varchar(30) default NULL,
+  `accountnumber` text,
+  `othersupplier` text,
+  `currency` varchar(3) NOT NULL default '',
+  `deliverydays` smallint(6) default NULL,
+  `followupdays` smallint(6) default NULL,
+  `followupscancel` smallint(6) default NULL,
+  `specialty` text,
+  `booksellerfax` text,
+  `notes` text,
+  `bookselleremail` text,
+  `booksellerurl` text,
+  `contact` varchar(100) default NULL,
+  `postal` text,
+  `url` varchar(255) default NULL,
+  `contpos` varchar(100) default NULL,
+  `contphone` varchar(100) default NULL,
+  `contfax` varchar(100) default NULL,
+  `contaltphone` varchar(100) default NULL,
+  `contemail` varchar(100) default NULL,
+  `contnotes` text,
+  `active` tinyint(4) default NULL,
+  `listprice` varchar(10) default '',
+  `invoiceprice` varchar(10) default '',
+  `gstreg` tinyint(4) default NULL,
+  `listincgst` tinyint(4) default NULL,
+  `invoiceincgst` tinyint(4) default NULL,
+  `discount` float(6,4) default NULL,
+  `fax` varchar(50) default NULL,
+  `nocalc` int(11) default NULL,
+  `invoicedisc` float(6,4) default NULL,
+  PRIMARY KEY  (`id`),
+  KEY `listprice` (`listprice`),
+  KEY `invoiceprice` (`invoiceprice`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `aqbudget`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:56
+-- 
+
+DROP TABLE IF EXISTS `aqbudget`;
+CREATE TABLE IF NOT EXISTS `aqbudget` (
+  `bookfundid` varchar(5) NOT NULL default '',
+  `startdate` date NOT NULL default '0000-00-00',
+  `enddate` date default NULL,
+  `budgetamount` decimal(13,2) default NULL,
+  `aqbudgetid` tinyint(4) NOT NULL auto_increment,
+  `branchcode` varchar(4) NOT NULL default '',
+  PRIMARY KEY  (`aqbudgetid`,`branchcode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `aqorderbreakdown`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:41
+-- 
+
+DROP TABLE IF EXISTS `aqorderbreakdown`;
+CREATE TABLE IF NOT EXISTS `aqorderbreakdown` (
+  `ordernumber` int(11) default NULL,
+  `linenumber` int(11) default NULL,
+  `branchcode` char(4) default NULL,
+  `bookfundid` char(5) NOT NULL default '',
+  `allocation` smallint(6) default NULL,
+  KEY `ordernumber` (`ordernumber`),
+  KEY `bookfundid` (`bookfundid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `aqorderdelivery`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:56
+-- 
+
+DROP TABLE IF EXISTS `aqorderdelivery`;
+CREATE TABLE IF NOT EXISTS `aqorderdelivery` (
+  `ordernumber` date NOT NULL default '0000-00-00',
+  `deliverynumber` smallint(6) NOT NULL default '0',
+  `deliverydate` varchar(18) default NULL,
+  `qtydelivered` smallint(6) default NULL,
+  `deliverycomments` text
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `aqorders`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:41
+-- 
+
+DROP TABLE IF EXISTS `aqorders`;
+CREATE TABLE IF NOT EXISTS `aqorders` (
+  `ordernumber` int(11) NOT NULL auto_increment,
+  `biblionumber` int(11) default NULL,
+  `title` text,
+  `entrydate` date default NULL,
+  `quantity` smallint(6) default NULL,
+  `currency` varchar(3) default NULL,
+  `listprice` decimal(28,6) default NULL,
+  `totalamount` decimal(28,6) default NULL,
+  `datereceived` date default NULL,
+  `booksellerinvoicenumber` text,
+  `freight` decimal(28,6) default NULL,
+  `unitprice` decimal(28,6) default NULL,
+  `quantityreceived` smallint(6) default NULL,
+  `cancelledby` varchar(10) default NULL,
+  `datecancellationprinted` date default NULL,
+  `notes` text,
+  `supplierreference` text,
+  `purchaseordernumber` text,
+  `subscription` tinyint(1) default NULL,
+  `serialid` varchar(30) default NULL,
+  `basketno` int(11) default NULL,
+  `biblioitemnumber` int(11) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `rrp` decimal(13,2) default NULL,
+  `ecost` decimal(13,2) default NULL,
+  `gst` decimal(13,2) default NULL,
+  `budgetdate` date default NULL,
+  `sort1` varchar(80) default NULL,
+  `sort2` varchar(80) default NULL,
+  PRIMARY KEY  (`ordernumber`),
+  KEY `basketno` (`basketno`),
+  KEY `biblionumber` (`biblionumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `auth_header`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:56
+-- 
+
+DROP TABLE IF EXISTS `auth_header`;
+CREATE TABLE IF NOT EXISTS `auth_header` (
+  `authid` bigint(20) unsigned NOT NULL auto_increment,
+  `authtypecode` varchar(10) NOT NULL default '',
+  `datecreated` date NOT NULL default '0000-00-00',
+  `datemodified` date default NULL,
+  `origincode` varchar(20) default NULL,
+  `marc` blob,
+  `linkid` bigint(20) default NULL,
+  `authtrees` text,
+  `marcxml` text NOT NULL,
+  PRIMARY KEY  (`authid`),
+  KEY `origincode` (`origincode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `auth_subfield_structure`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `auth_subfield_structure`;
+CREATE TABLE IF NOT EXISTS `auth_subfield_structure` (
+  `authtypecode` varchar(10) NOT NULL default '',
+  `tagfield` varchar(3) NOT NULL default '',
+  `tagsubfield` char(1) NOT NULL default '',
+  `liblibrarian` varchar(255) NOT NULL default '',
+  `libopac` varchar(255) NOT NULL default '',
+  `repeatable` tinyint(4) NOT NULL default '0',
+  `mandatory` tinyint(4) NOT NULL default '0',
+  `tab` tinyint(1) default NULL,
+  `authorised_value` varchar(10) default NULL,
+  `value_builder` varchar(80) default NULL,
+  `seealso` varchar(255) default NULL,
+  `hidden` tinyint(1) unsigned NOT NULL default '0',
+  `isurl` tinyint(1) unsigned NOT NULL default '0',
+  `link` varchar(80) default NULL,
+  `frameworkcode` varchar(8) NOT NULL default '',
+  `kohafield` varchar(40) default NULL,
+  `linkid` tinyint(1) NOT NULL default '0',
+  PRIMARY KEY  (`authtypecode`,`tagfield`,`tagsubfield`),
+  KEY `tab` (`authtypecode`,`tab`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `auth_subfield_table`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:56
+-- 
+
+DROP TABLE IF EXISTS `auth_subfield_table`;
+CREATE TABLE IF NOT EXISTS `auth_subfield_table` (
+  `subfieldid` bigint(20) unsigned NOT NULL auto_increment,
+  `authid` bigint(20) unsigned NOT NULL default '0',
+  `tag` varchar(3) NOT NULL default '',
+  `tagorder` tinyint(4) NOT NULL default '1',
+  `tag_indicator` varchar(2) NOT NULL default '',
+  `subfieldcode` char(1) NOT NULL default '',
+  `subfieldorder` tinyint(4) NOT NULL default '1',
+  `subfieldvalue` varchar(255) default NULL,
+  PRIMARY KEY  (`subfieldid`),
+  KEY `authid` (`authid`),
+  KEY `tag` (`tag`),
+  KEY `subfieldcode` (`subfieldcode`),
+  KEY `subfieldvalue` (`subfieldvalue`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `auth_tag_structure`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:41
+-- 
+
+DROP TABLE IF EXISTS `auth_tag_structure`;
+CREATE TABLE IF NOT EXISTS `auth_tag_structure` (
+  `authtypecode` char(10) NOT NULL default '',
+  `tagfield` char(3) NOT NULL default '',
+  `liblibrarian` char(255) NOT NULL default '',
+  `libopac` char(255) NOT NULL default '',
+  `repeatable` tinyint(4) NOT NULL default '0',
+  `mandatory` tinyint(4) NOT NULL default '0',
+  `authorised_value` char(10) default NULL,
+  PRIMARY KEY  (`authtypecode`,`tagfield`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `auth_types`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:56
+-- 
+
+DROP TABLE IF EXISTS `auth_types`;
+CREATE TABLE IF NOT EXISTS `auth_types` (
+  `authtypecode` varchar(10) NOT NULL default '',
+  `authtypetext` varchar(255) NOT NULL default '',
+  `auth_tag_to_report` varchar(3) NOT NULL default '',
+  `summary` text NOT NULL,
+  PRIMARY KEY  (`authtypecode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `auth_word`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `auth_word`;
+CREATE TABLE IF NOT EXISTS `auth_word` (
+  `authid` bigint(20) NOT NULL default '0',
+  `tagsubfield` varchar(4) NOT NULL default '',
+  `tagorder` tinyint(4) NOT NULL default '1',
+  `subfieldorder` tinyint(4) NOT NULL default '1',
+  `word` varchar(255) NOT NULL default '',
+  `sndx_word` varchar(255) NOT NULL default '',
+  KEY `authid` (`authid`),
+  KEY `marc_search` (`tagsubfield`,`word`),
+  KEY `word` (`word`),
+  KEY `sndx_word` (`sndx_word`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `authorised_values`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `authorised_values`;
+CREATE TABLE IF NOT EXISTS `authorised_values` (
+  `id` int(11) NOT NULL auto_increment,
+  `category` char(10) NOT NULL default '',
+  `authorised_value` char(80) NOT NULL default '',
+  `lib` char(80) default NULL,
+  PRIMARY KEY  (`id`),
+  KEY `name` (`category`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `biblio`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `biblio`;
+CREATE TABLE IF NOT EXISTS `biblio` (
+  `biblionumber` int(11) NOT NULL default '0',
+  `author` text,
+  `title` text,
+  `unititle` text,
+  `notes` text,
+  `serial` tinyint(1) default NULL,
+  `seriestitle` text,
+  `copyrightdate` smallint(6) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `abstract` text,
+  `frameworkcode` varchar(4) default NULL,
+  PRIMARY KEY  (`biblionumber`),
+  KEY `blbnoidx` (`biblionumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `biblio_framework`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `biblio_framework`;
+CREATE TABLE IF NOT EXISTS `biblio_framework` (
+  `frameworkcode` char(4) NOT NULL default '',
+  `frameworktext` char(255) NOT NULL default '',
+  PRIMARY KEY  (`frameworkcode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `biblioanalysis`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `biblioanalysis`;
+CREATE TABLE IF NOT EXISTS `biblioanalysis` (
+  `analyticaltitle` text,
+  `biblionumber` int(11) NOT NULL default '0',
+  `analyticalauthor` text
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `biblioitems`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `biblioitems`;
+CREATE TABLE IF NOT EXISTS `biblioitems` (
+  `biblioitemnumber` int(11) NOT NULL default '0',
+  `biblionumber` int(11) NOT NULL default '0',
+  `volume` text,
+  `number` text,
+  `classification` varchar(25) default NULL,
+  `itemtype` varchar(4) default NULL,
+  `isbn` varchar(14) default NULL,
+  `issn` varchar(9) default NULL,
+  `dewey` varchar(30) default '',
+  `subclass` varchar(3) default NULL,
+  `publicationyear` smallint(6) default NULL,
+  `publishercode` varchar(255) default NULL,
+  `volumedate` date default NULL,
+  `volumeddesc` varchar(255) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `illus` varchar(255) default NULL,
+  `pages` varchar(255) default NULL,
+  `notes` text,
+  `size` varchar(255) default NULL,
+  `place` varchar(255) default NULL,
+  `lccn` varchar(25) default NULL,
+  `marc` blob,
+  `url` varchar(255) default NULL,
+  `marcxml` text,
+  `lcsort` varchar(25) default NULL,
+  `ccode` varchar(4) default '',
+  PRIMARY KEY  (`biblioitemnumber`),
+  KEY `bibinoidx` (`biblioitemnumber`),
+  KEY `bibnoidx` (`biblionumber`),
+  KEY `itemtype` (`itemtype`),
+  KEY `isbn` (`isbn`),
+  KEY `publishercode` (`publishercode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `bibliothesaurus`
+-- 
+-- Création: Mercredi 04 Octobre 2006 à 23:21
+-- Dernière modification: Mercredi 04 Octobre 2006 à 23:21
+-- Dernière vérification: Mercredi 04 Octobre 2006 à 23:21
+-- 
+
+DROP TABLE IF EXISTS `bibliothesaurus`;
+CREATE TABLE IF NOT EXISTS `bibliothesaurus` (
+  `id` bigint(20) NOT NULL auto_increment,
+  `freelib` char(255) NOT NULL default '',
+  `stdlib` char(255) NOT NULL default '',
+  `category` char(10) NOT NULL default '',
+  `level` tinyint(4) NOT NULL default '1',
+  `hierarchy` char(80) NOT NULL default '',
+  `father` char(80) NOT NULL default '',
+  PRIMARY KEY  (`id`),
+  KEY `freelib` (`freelib`),
+  KEY `stdlib` (`stdlib`),
+  KEY `category` (`category`),
+  KEY `hierarchy` (`hierarchy`),
+  KEY `category_2` (`category`,`freelib`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `bookshelf`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `bookshelf`;
+CREATE TABLE IF NOT EXISTS `bookshelf` (
+  `shelfnumber` int(11) NOT NULL auto_increment,
+  `shelfname` char(255) default NULL,
+  `owner` char(80) default NULL,
+  `category` char(1) default NULL,
+  PRIMARY KEY  (`shelfnumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `borexp`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `borexp`;
+CREATE TABLE IF NOT EXISTS `borexp` (
+  `borrowernumber` int(11) default NULL,
+  `newexp` date default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `borrowers`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `borrowers`;
+CREATE TABLE IF NOT EXISTS `borrowers` (
+  `borrowernumber` int(11) NOT NULL auto_increment,
+  `cardnumber` varchar(16) NOT NULL default '',
+  `surname` text NOT NULL,
+  `firstname` text,
+  `title` text,
+  `othernames` text,
+  `initials` text,
+  `streetnumber` varchar(10) default NULL,
+  `streettype` varchar(50) default NULL,
+  `address` text NOT NULL,
+  `address2` text,
+  `city` text NOT NULL,
+  `zipcode` varchar(25) default NULL,
+  `email` text,
+  `phone` text,
+  `mobile` varchar(50) default NULL,
+  `fax` text,
+  `B_streetnumber` varchar(10) default NULL,
+  `B_streettype` varchar(50) default NULL,
+  `emailpro` text,
+  `phonepro` text,
+  `B_address` varchar(100) default NULL,
+  `B_city` text,
+  `B_zipcode` varchar(25) default NULL,
+  `B_email` text,
+  `B_phone` text,
+  `dateofbirth` date default NULL,
+  `branchcode` varchar(10) NOT NULL default '',
+  `categorycode` varchar(10) NOT NULL default '',
+  `dateenrolled` date default NULL,
+  `dateexpiry` date default NULL,
+  `gonenoaddress` tinyint(1) default NULL,
+  `lost` tinyint(1) default NULL,
+  `debarred` tinyint(1) default NULL,
+  `contactname` text,
+  `contactfirstname` text,
+  `contacttitle` text,
+  `guarantorid` int(11) default NULL,
+  `borrowernotes` text,
+  `relationship` varchar(100) default NULL,
+  `ethnicity` varchar(50) default NULL,
+  `ethnotes` varchar(255) default NULL,
+  `sex` char(1) default NULL,
+  `password` varchar(30) default NULL,
+  `flags` int(11) default NULL,
+  `userid` varchar(30) default NULL,
+  `opacnote` text,
+  `contactnote` varchar(255) default NULL,
+  `sort1` varchar(80) default NULL,
+  `sort2` varchar(80) default NULL,
+  `textmessaging` varchar(30) default NULL,
+  `homezipcode` varchar(25) default NULL,
+  UNIQUE KEY `cardnumber` (`cardnumber`),
+  KEY `borrowernumber` (`borrowernumber`),
+  KEY `categorycode` (`categorycode`),
+  KEY `branchcode` (`branchcode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `borrowers_to_borrowers`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `borrowers_to_borrowers`;
+CREATE TABLE IF NOT EXISTS `borrowers_to_borrowers` (
+  `borrower1` int(11) default NULL,
+  `borrower2` int(11) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `branchcategories`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `branchcategories`;
+CREATE TABLE IF NOT EXISTS `branchcategories` (
+  `categorycode` varchar(4) NOT NULL default '',
+  `categoryname` text,
+  `codedescription` text,
+  PRIMARY KEY  (`categorycode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `branches`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `branches`;
+CREATE TABLE IF NOT EXISTS `branches` (
+  `branchcode` varchar(10) NOT NULL default '',
+  `branchname` text NOT NULL,
+  `branchaddress1` text,
+  `branchaddress2` text,
+  `branchaddress3` text,
+  `branchphone` text,
+  `branchfax` text,
+  `branchemail` text,
+  `issuing` tinyint(4) default NULL,
+  `branchip` varchar(15) default '',
+  `branchprinter` varchar(100) default '',
+  UNIQUE KEY `branchcode` (`branchcode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `branchrelations`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `branchrelations`;
+CREATE TABLE IF NOT EXISTS `branchrelations` (
+  `branchcode` varchar(4) default NULL,
+  `categorycode` varchar(4) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `branchtransfers`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `branchtransfers`;
+CREATE TABLE IF NOT EXISTS `branchtransfers` (
+  `itemnumber` int(11) NOT NULL default '0',
+  `datesent` datetime default NULL,
+  `frombranch` varchar(10) NOT NULL default '',
+  `datearrived` datetime default NULL,
+  `tobranch` varchar(10) NOT NULL default '',
+  `comments` text,
+  KEY `frombranch` (`frombranch`),
+  KEY `tobranch` (`tobranch`),
+  KEY `itemnumber` (`itemnumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `catalogueentry`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `catalogueentry`;
+CREATE TABLE IF NOT EXISTS `catalogueentry` (
+  `catalogueentry` text NOT NULL,
+  `entrytype` varchar(2) default NULL,
+  `see` text,
+  `seealso` text,
+  `seeinstead` text,
+  `biblionumber` int(11) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `categories`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `categories`;
+CREATE TABLE IF NOT EXISTS `categories` (
+  `categorycode` varchar(10) NOT NULL default '',
+  `description` text,
+  `enrolmentperiod` smallint(6) default NULL,
+  `upperagelimit` smallint(6) default NULL,
+  `dateofbirthrequired` tinyint(1) default NULL,
+  `finetype` varchar(30) default NULL,
+  `bulk` tinyint(1) default NULL,
+  `enrolmentfee` decimal(28,6) default NULL,
+  `overduenoticerequired` tinyint(1) default NULL,
+  `issuelimit` smallint(6) default NULL,
+  `reservefee` decimal(28,6) default NULL,
+  `category_type` char(1) NOT NULL default 'A',
+  PRIMARY KEY  (`categorycode`),
+  UNIQUE KEY `categorycode` (`categorycode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `categorytable`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `categorytable`;
+CREATE TABLE IF NOT EXISTS `categorytable` (
+  `categorycode` varchar(5) NOT NULL default '',
+  `description` text,
+  `itemtypecodes` text,
+  PRIMARY KEY  (`categorycode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `charges`
+-- 
+-- Création: Vendredi 08 Décembre 2006 à 16:47
+-- 
+
+DROP TABLE IF EXISTS `charges`;
+CREATE TABLE IF NOT EXISTS `charges` (
+  `charge_id` varchar(5) NOT NULL default '',
+  `description` text NOT NULL,
+  `amount` decimal(28,6) NOT NULL default '0.000000',
+  `min` int(4) NOT NULL default '0',
+  `max` int(4) NOT NULL default '0',
+  `level` int(1) NOT NULL default '0',
+  PRIMARY KEY  (`charge_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `cities`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `cities`;
+CREATE TABLE IF NOT EXISTS `cities` (
+  `cityid` int(11) NOT NULL auto_increment,
+  `city_name` char(100) NOT NULL default '',
+  `city_zipcode` char(20) default NULL,
+  PRIMARY KEY  (`cityid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `currency`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `currency`;
+CREATE TABLE IF NOT EXISTS `currency` (
+  `currency` varchar(10) NOT NULL default '',
+  `rate` float(7,5) default NULL,
+  PRIMARY KEY  (`currency`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `deletedbiblio`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `deletedbiblio`;
+CREATE TABLE IF NOT EXISTS `deletedbiblio` (
+  `biblionumber` int(11) NOT NULL default '0',
+  `author` text,
+  `title` text,
+  `unititle` text,
+  `notes` text,
+  `serial` tinyint(1) default NULL,
+  `seriestitle` text,
+  `copyrightdate` smallint(6) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `marc` blob,
+  `abstract` text,
+  `frameworkcode` varchar(4) default NULL,
+  PRIMARY KEY  (`biblionumber`),
+  KEY `blbnoidx` (`biblionumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `deletedbiblioitems`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:40
+-- 
+
+DROP TABLE IF EXISTS `deletedbiblioitems`;
+CREATE TABLE IF NOT EXISTS `deletedbiblioitems` (
+  `biblioitemnumber` int(11) NOT NULL default '0',
+  `biblionumber` int(11) NOT NULL default '0',
+  `volume` text,
+  `number` text,
+  `classification` varchar(25) default NULL,
+  `itemtype` varchar(4) default NULL,
+  `isbn` varchar(14) default NULL,
+  `issn` varchar(9) default NULL,
+  `dewey` double(8,6) default NULL,
+  `subclass` varchar(3) default NULL,
+  `publicationyear` smallint(6) default NULL,
+  `publishercode` varchar(255) default NULL,
+  `volumedate` date default NULL,
+  `volumeddesc` varchar(255) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `illus` varchar(255) default NULL,
+  `pages` varchar(255) default NULL,
+  `notes` text,
+  `size` varchar(255) default NULL,
+  `lccn` varchar(25) default NULL,
+  `marc` text,
+  `url` varchar(255) default NULL,
+  `place` varchar(255) default NULL,
+  `marcxml` text,
+  `lcsort` varchar(25) default NULL,
+  `ccode` varchar(4) default NULL,
+  PRIMARY KEY  (`biblioitemnumber`),
+  KEY `bibinoidx` (`biblioitemnumber`),
+  KEY `bibnoidx` (`biblionumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `deletedborrowers`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `deletedborrowers`;
+CREATE TABLE IF NOT EXISTS `deletedborrowers` (
+  `borrowernumber` int(11) NOT NULL default '0',
+  `cardnumber` varchar(9) NOT NULL default '',
+  `surname` text NOT NULL,
+  `firstname` text,
+  `title` text,
+  `othernames` text,
+  `initials` text,
+  `streetnumber` varchar(10) default NULL,
+  `streettype` varchar(50) default NULL,
+  `address` text NOT NULL,
+  `address2` text,
+  `city` text NOT NULL,
+  `zipcode` varchar(25) default NULL,
+  `email` text,
+  `phone` text,
+  `mobile` varchar(50) default NULL,
+  `fax` text,
+  `B_streetnumber` varchar(10) default NULL,
+  `B_streettype` varchar(50) default NULL,
+  `emailpro` text,
+  `phonepro` text,
+  `B_address` varchar(100) default NULL,
+  `B_city` text,
+  `B_zipcode` varchar(25) default NULL,
+  `B_email` text,
+  `B_phone` text,
+  `dateofbirth` date default NULL,
+  `branchcode` varchar(4) NOT NULL default '',
+  `categorycode` varchar(2) default NULL,
+  `dateenrolled` date default NULL,
+  `dateexpiry` date default NULL,
+  `gonenoaddress` tinyint(1) default NULL,
+  `lost` tinyint(1) default NULL,
+  `debarred` tinyint(1) default NULL,
+  `contactname` text,
+  `contactfirstname` text,
+  `contacttitle` text,
+  `guarantorid` int(11) default NULL,
+  `borrowernotes` text,
+  `relationship` varchar(100) default NULL,
+  `ethnicity` varchar(50) default NULL,
+  `ethnotes` varchar(255) default NULL,
+  `sex` char(1) default NULL,
+  `password` varchar(30) default NULL,
+  `flags` int(11) default NULL,
+  `userid` varchar(30) default NULL,
+  `opacnote` text,
+  `contactnote` varchar(255) default NULL,
+  `sort1` varchar(80) default NULL,
+  `sort2` varchar(80) default NULL,
+  `textmessaging` varchar(30) default NULL,
+  `homezipcode` varchar(25) default NULL,
+  KEY `borrowernumber` (`borrowernumber`),
+  KEY `cardnumber` (`cardnumber`),
+  KEY `categorycode` (`categorycode`),
+  KEY `branchcode` (`branchcode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `deleteditems`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:40
+-- 
+
+DROP TABLE IF EXISTS `deleteditems`;
+CREATE TABLE IF NOT EXISTS `deleteditems` (
+  `itemnumber` int(11) NOT NULL default '0',
+  `biblionumber` int(11) NOT NULL default '0',
+  `multivolumepart` varchar(30) default NULL,
+  `biblioitemnumber` int(11) NOT NULL default '0',
+  `barcode` varchar(9) NOT NULL default '',
+  `dateaccessioned` date default NULL,
+  `booksellerid` varchar(10) default NULL,
+  `homebranch` varchar(4) default NULL,
+  `price` decimal(28,6) default NULL,
+  `replacementprice` decimal(28,6) default NULL,
+  `replacementpricedate` date default NULL,
+  `datelastborrowed` date default NULL,
+  `datelastseen` date default NULL,
+  `multivolume` tinyint(1) default NULL,
+  `stack` tinyint(1) default NULL,
+  `notforloan` tinyint(1) default NULL,
+  `itemlost` tinyint(1) default NULL,
+  `wthdrawn` tinyint(1) default NULL,
+  `bulk` varchar(30) default NULL,
+  `issues` smallint(6) default NULL,
+  `renewals` smallint(6) default NULL,
+  `reserves` smallint(6) default NULL,
+  `restricted` tinyint(1) default NULL,
+  `binding` decimal(28,6) default NULL,
+  `itemnotes` text,
+  `holdingbranch` varchar(4) default NULL,
+  `interim` tinyint(1) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `marc` blob,
+  `paidfor` text,
+  `location` varchar(80) default NULL,
+  `itemcallnumber` varchar(30) default NULL,
+  `onloan` date default NULL,
+  `Cutterextra` varchar(45) default NULL,
+  `issue_date` date default '0000-00-00',
+  `itype` varchar(10) default NULL,
+  PRIMARY KEY  (`itemnumber`),
+  UNIQUE KEY `barcode` (`barcode`),
+  KEY `itembarcodeidx` (`barcode`),
+  KEY `itembinoidx` (`biblioitemnumber`),
+  KEY `itembibnoidx` (`biblionumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `ethnicity`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `ethnicity`;
+CREATE TABLE IF NOT EXISTS `ethnicity` (
+  `code` varchar(10) NOT NULL default '',
+  `name` varchar(255) default NULL,
+  PRIMARY KEY  (`code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `issues`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `issues`;
+CREATE TABLE IF NOT EXISTS `issues` (
+  `borrowernumber` int(11) default '0',
+  `itemnumber` int(11) default '0',
+  `date_due` date default NULL,
+  `branchcode` varchar(10) default '',
+  `issuingbranch` varchar(18) default NULL,
+  `issuedate` date NOT NULL default '0000-00-00',
+  `returndate` date default NULL,
+  `lastreneweddate` date default NULL,
+  `return` varchar(4) default NULL,
+  `renewals` tinyint(4) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  KEY `issuesborridx` (`borrowernumber`),
+  KEY `issuesitemidx` (`itemnumber`),
+  KEY `bordate` (`borrowernumber`,`timestamp`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `issuingrules`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:41
+-- 
+
+DROP TABLE IF EXISTS `issuingrules`;
+CREATE TABLE IF NOT EXISTS `issuingrules` (
+  `categorycode` varchar(2) NOT NULL default '',
+  `itemtype` varchar(4) NOT NULL default '',
+  `restrictedtype` tinyint(1) default NULL,
+  `rentaldiscount` decimal(28,6) default NULL,
+  `reservecharge` decimal(28,6) default NULL,
+  `fine` decimal(28,6) default NULL,
+  `firstremind` int(11) default NULL,
+  `chargeperiod` int(11) default NULL,
+  `accountsent` int(11) default NULL,
+  `chargename` varchar(100) default NULL,
+  `maxissueqty` int(4) default NULL,
+  `issuelength` int(4) default NULL,
+  `branchcode` varchar(4) NOT NULL default '',
+  PRIMARY KEY  (`branchcode`,`categorycode`,`itemtype`),
+  KEY `categorycode` (`categorycode`),
+  KEY `itemtype` (`itemtype`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `items`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `items`;
+CREATE TABLE IF NOT EXISTS `items` (
+  `itemnumber` int(11) NOT NULL default '0',
+  `biblionumber` int(11) NOT NULL default '0',
+  `multivolumepart` varchar(30) default NULL,
+  `biblioitemnumber` int(11) NOT NULL default '0',
+  `barcode` varchar(20) default NULL,
+  `dateaccessioned` date default NULL,
+  `booksellerid` varchar(10) default NULL,
+  `homebranch` varchar(4) default NULL,
+  `price` decimal(8,2) default NULL,
+  `replacementprice` decimal(8,2) default NULL,
+  `replacementpricedate` date default NULL,
+  `datelastborrowed` date default NULL,
+  `datelastseen` date default NULL,
+  `multivolume` tinyint(1) default NULL,
+  `stack` tinyint(1) default NULL,
+  `notforloan` tinyint(1) default '0',
+  `itemlost` tinyint(1) default NULL,
+  `wthdrawn` tinyint(1) default NULL,
+  `itemcallnumber` varchar(30) default NULL,
+  `issues` smallint(6) default NULL,
+  `renewals` smallint(6) default NULL,
+  `reserves` smallint(6) default NULL,
+  `restricted` tinyint(1) default NULL,
+  `binding` decimal(28,6) default NULL,
+  `itemnotes` text,
+  `holdingbranch` varchar(10) default '',
+  `paidfor` text,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `location` varchar(80) default NULL,
+  `onloan` date default NULL,
+  `Cutterextra` varchar(45) default NULL,
+  `issue_date` date default '0000-00-00',
+  `itype` varchar(10) default '',
+  PRIMARY KEY  (`itemnumber`),
+  KEY `itembarcodeidx` (`barcode`),
+  KEY `itembinoidx` (`biblioitemnumber`),
+  KEY `itembibnoidx` (`biblionumber`),
+  KEY `homebranch` (`homebranch`),
+  KEY `holdingbranch` (`holdingbranch`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `itemsprices`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `itemsprices`;
+CREATE TABLE IF NOT EXISTS `itemsprices` (
+  `itemnumber` int(11) default NULL,
+  `price1` decimal(28,6) default NULL,
+  `price2` decimal(28,6) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `itemtypes`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `itemtypes`;
+CREATE TABLE IF NOT EXISTS `itemtypes` (
+  `itemtype` varchar(10) NOT NULL default '',
+  `description` text,
+  `renewalsallowed` smallint(6) default NULL,
+  `rentalcharge` double(16,4) default NULL,
+  `notforloan` smallint(6) default '0',
+  `imageurl` varchar(200) default NULL,
+  `summary` text,
+  PRIMARY KEY  (`itemtype`),
+  UNIQUE KEY `itemtype` (`itemtype`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `labels`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `labels`;
+CREATE TABLE IF NOT EXISTS `labels` (
+  `labelid` int(11) NOT NULL auto_increment,
+  `itemnumber` varchar(100) NOT NULL default '',
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  PRIMARY KEY  (`labelid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `labels_conf`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `labels_conf`;
+CREATE TABLE IF NOT EXISTS `labels_conf` (
+  `id` int(4) NOT NULL auto_increment,
+  `barcodetype` char(100) default '',
+  `title` tinyint(1) default '0',
+  `isbn` tinyint(1) default '0',
+  `itemtype` tinyint(1) default '0',
+  `barcode` tinyint(1) default '0',
+  `dewey` tinyint(1) default '0',
+  `class` tinyint(1) default '0',
+  `author` tinyint(1) default '0',
+  `papertype` char(100) default '',
+  `startrow` int(2) default NULL,
+  PRIMARY KEY  (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `letter`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `letter`;
+CREATE TABLE IF NOT EXISTS `letter` (
+  `module` varchar(20) NOT NULL default '',
+  `code` varchar(20) NOT NULL default '',
+  `name` varchar(100) NOT NULL default '',
+  `title` varchar(200) NOT NULL default '',
+  `content` text,
+  PRIMARY KEY  (`module`,`code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `marc_biblio`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `marc_biblio`;
+CREATE TABLE IF NOT EXISTS `marc_biblio` (
+  `bibid` bigint(20) unsigned NOT NULL auto_increment,
+  `biblionumber` int(11) NOT NULL default '0',
+  `datecreated` date NOT NULL default '0000-00-00',
+  `datemodified` date default NULL,
+  `origincode` char(20) default NULL,
+  `frameworkcode` char(4) NOT NULL default '',
+  PRIMARY KEY  (`bibid`),
+  KEY `origincode` (`origincode`),
+  KEY `biblionumber` (`biblionumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `marc_blob_subfield`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:57
+-- 
+
+DROP TABLE IF EXISTS `marc_blob_subfield`;
+CREATE TABLE IF NOT EXISTS `marc_blob_subfield` (
+  `blobidlink` bigint(20) NOT NULL auto_increment,
+  `subfieldvalue` longtext NOT NULL,
+  PRIMARY KEY  (`blobidlink`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `marc_breeding`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:58
+-- 
+
+DROP TABLE IF EXISTS `marc_breeding`;
+CREATE TABLE IF NOT EXISTS `marc_breeding` (
+  `id` bigint(20) NOT NULL auto_increment,
+  `file` varchar(80) NOT NULL default '',
+  `isbn` varchar(10) NOT NULL default '',
+  `title` varchar(128) default NULL,
+  `author` varchar(80) default NULL,
+  `marc` text NOT NULL,
+  `encoding` varchar(40) NOT NULL default '',
+  `z3950random` varchar(40) default NULL,
+  PRIMARY KEY  (`id`),
+  KEY `title` (`title`),
+  KEY `isbn` (`isbn`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `marc_subfield_structure`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 17:58
+-- 
+
+DROP TABLE IF EXISTS `marc_subfield_structure`;
+CREATE TABLE IF NOT EXISTS `marc_subfield_structure` (
+  `tagfield` varchar(3) NOT NULL default '',
+  `tagsubfield` char(1) NOT NULL default '',
+  `liblibrarian` varchar(255) NOT NULL default '',
+  `libopac` varchar(255) NOT NULL default '',
+  `repeatable` tinyint(4) NOT NULL default '0',
+  `mandatory` tinyint(4) NOT NULL default '0',
+  `kohafield` varchar(40) default NULL,
+  `tab` tinyint(1) default NULL,
+  `authorised_value` varchar(10) default NULL,
+  `authtypecode` varchar(10) default NULL,
+  `value_builder` varchar(80) default NULL,
+  `isurl` tinyint(1) default NULL,
+  `hidden` tinyint(1) default NULL,
+  `frameworkcode` varchar(4) NOT NULL default '',
+  `seealso` varchar(255) default NULL,
+  `link` varchar(80) default NULL,
+  PRIMARY KEY  (`frameworkcode`,`tagfield`,`tagsubfield`),
+  KEY `tab` (`frameworkcode`,`tab`),
+  KEY `kohafield` (`frameworkcode`,`kohafield`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `marc_subfield_table`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:11
+-- 
+
+DROP TABLE IF EXISTS `marc_subfield_table`;
+CREATE TABLE IF NOT EXISTS `marc_subfield_table` (
+  `subfieldid` bigint(20) unsigned NOT NULL auto_increment,
+  `bibid` bigint(20) unsigned NOT NULL default '0',
+  `tag` varchar(3) NOT NULL default '',
+  `tagorder` int(11) NOT NULL default '1',
+  `tag_indicator` varchar(2) NOT NULL default '',
+  `subfieldcode` char(1) NOT NULL default '',
+  `subfieldorder` tinyint(4) NOT NULL default '1',
+  `subfieldvalue` varchar(255) default NULL,
+  `valuebloblink` bigint(20) default NULL,
+  PRIMARY KEY  (`subfieldid`),
+  KEY `bibid` (`bibid`),
+  KEY `tag` (`tag`),
+  KEY `tag_indicator` (`tag_indicator`),
+  KEY `subfieldorder` (`subfieldorder`),
+  KEY `subfieldcode` (`subfieldcode`),
+  KEY `subfieldvalue` (`subfieldvalue`),
+  KEY `tagorder` (`tagorder`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `marc_tag_structure`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:11
+-- 
+
+DROP TABLE IF EXISTS `marc_tag_structure`;
+CREATE TABLE IF NOT EXISTS `marc_tag_structure` (
+  `tagfield` char(3) NOT NULL default '',
+  `liblibrarian` char(255) NOT NULL default '',
+  `libopac` char(255) NOT NULL default '',
+  `repeatable` tinyint(4) NOT NULL default '0',
+  `mandatory` tinyint(4) NOT NULL default '0',
+  `authorised_value` char(10) default NULL,
+  `frameworkcode` char(4) NOT NULL default '',
+  PRIMARY KEY  (`frameworkcode`,`tagfield`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `marc_word`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `marc_word`;
+CREATE TABLE IF NOT EXISTS `marc_word` (
+  `bibid` bigint(20) NOT NULL default '0',
+  `tagsubfield` varchar(4) NOT NULL default '',
+  `tagorder` tinyint(4) NOT NULL default '1',
+  `subfieldorder` tinyint(4) NOT NULL default '1',
+  `word` varchar(255) NOT NULL default '',
+  `sndx_word` varchar(255) NOT NULL default '',
+  KEY `bibid` (`bibid`),
+  KEY `tagorder` (`tagorder`),
+  KEY `subfieldorder` (`subfieldorder`),
+  KEY `word` (`word`),
+  KEY `sndx_word` (`sndx_word`),
+  KEY `Search_Marc` (`tagsubfield`,`word`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `marcrecorddone`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `marcrecorddone`;
+CREATE TABLE IF NOT EXISTS `marcrecorddone` (
+  `isbn` char(40) default NULL,
+  `issn` char(40) default NULL,
+  `lccn` char(40) default NULL,
+  `controlnumber` char(40) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `mediatypetable`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `mediatypetable`;
+CREATE TABLE IF NOT EXISTS `mediatypetable` (
+  `mediatypecode` varchar(5) NOT NULL default '',
+  `description` text,
+  `itemtypecodes` text,
+  PRIMARY KEY  (`mediatypecode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `notifys`
+-- 
+-- Création: Vendredi 08 Décembre 2006 à 16:47
+-- 
+
+DROP TABLE IF EXISTS `notifys`;
+CREATE TABLE IF NOT EXISTS `notifys` (
+  `notify_id` int(11) NOT NULL default '0',
+  `borrowernumber` int(11) NOT NULL default '0',
+  `itemnumber` int(11) NOT NULL default '0',
+  `notify_date` date NOT NULL default '0000-00-00',
+  `notify_send_date` date default NULL,
+  `notify_level` int(1) NOT NULL default '0',
+  `method` varchar(20) NOT NULL default ''
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `opac_news`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `opac_news`;
+CREATE TABLE IF NOT EXISTS `opac_news` (
+  `idnew` int(10) unsigned NOT NULL auto_increment,
+  `title` varchar(250) NOT NULL default '',
+  `new` text NOT NULL,
+  `lang` varchar(4) NOT NULL default '',
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
+  `expirationdate` date default NULL,
+  `number` int(11) default '0',
+  PRIMARY KEY  (`idnew`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `overduerules`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `overduerules`;
+CREATE TABLE IF NOT EXISTS `overduerules` (
+  `branchcode` varchar(255) NOT NULL default '',
+  `categorycode` varchar(2) NOT NULL default '',
+  `delay1` int(4) default '0',
+  `letter1` varchar(20) default NULL,
+  `debarred1` char(1) default '0',
+  `delay2` int(4) default '0',
+  `debarred2` char(1) default '0',
+  `letter2` varchar(20) default NULL,
+  `delay3` int(4) default '0',
+  `letter3` varchar(20) default NULL,
+  `debarred3` int(1) default '0',
+  PRIMARY KEY  (`branchcode`,`categorycode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `phrase_log`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `phrase_log`;
+CREATE TABLE IF NOT EXISTS `phrase_log` (
+  `phr_phrase` varchar(100) NOT NULL default '',
+  `phr_resultcount` int(11) NOT NULL default '0',
+  `phr_ip` varchar(30) NOT NULL default '',
+  `user` varchar(45) default NULL,
+  `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `actual` text NOT NULL,
+  KEY `phr_ip` (`phr_ip`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `printers`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `printers`;
+CREATE TABLE IF NOT EXISTS `printers` (
+  `printername` char(40) NOT NULL default '''''',
+  `printqueue` char(20) default NULL,
+  `printtype` char(20) default NULL,
+  PRIMARY KEY  (`printername`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `repeatable_holidays`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `repeatable_holidays`;
+CREATE TABLE IF NOT EXISTS `repeatable_holidays` (
+  `id` int(11) NOT NULL auto_increment,
+  `branchcode` varchar(4) NOT NULL default '',
+  `weekday` smallint(6) default NULL,
+  `day` smallint(6) default NULL,
+  `month` smallint(6) default NULL,
+  `title` varchar(50) NOT NULL default '',
+  `description` text NOT NULL,
+  PRIMARY KEY  (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `reserveconstraints`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `reserveconstraints`;
+CREATE TABLE IF NOT EXISTS `reserveconstraints` (
+  `borrowernumber` int(11) NOT NULL default '0',
+  `reservedate` date NOT NULL default '0000-00-00',
+  `biblionumber` int(11) NOT NULL default '0',
+  `biblioitemnumber` int(11) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `reserves`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:41
+-- 
+
+DROP TABLE IF EXISTS `reserves`;
+CREATE TABLE IF NOT EXISTS `reserves` (
+  `borrowernumber` int(11) NOT NULL default '0',
+  `reservedate` date NOT NULL default '0000-00-00',
+  `biblionumber` int(11) NOT NULL default '0',
+  `constrainttype` char(1) default NULL,
+  `branchcode` varchar(4) default NULL,
+  `notificationdate` date default NULL,
+  `reminderdate` date default NULL,
+  `cancellationdate` date default NULL,
+  `reservenotes` text,
+  `priority` smallint(6) default NULL,
+  `found` char(1) default NULL,
+  `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `itemnumber` int(11) default NULL,
+  `waitingdate` date default '0000-00-00',
+  KEY `borrowernumber` (`borrowernumber`),
+  KEY `biblionumber` (`biblionumber`),
+  KEY `itemnumber` (`itemnumber`),
+  KEY `branchcode` (`branchcode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `reviews`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `reviews`;
+CREATE TABLE IF NOT EXISTS `reviews` (
+  `reviewid` int(11) NOT NULL auto_increment,
+  `borrowernumber` int(11) default NULL,
+  `biblionumber` int(11) default NULL,
+  `review` text,
+  `approved` tinyint(4) default NULL,
+  `datereviewed` datetime default NULL,
+  PRIMARY KEY  (`reviewid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `roadtype`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `roadtype`;
+CREATE TABLE IF NOT EXISTS `roadtype` (
+  `roadtypeid` int(11) NOT NULL auto_increment,
+  `road_type` char(100) NOT NULL default '',
+  PRIMARY KEY  (`roadtypeid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `serial`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `serial`;
+CREATE TABLE IF NOT EXISTS `serial` (
+  `serialid` int(11) NOT NULL auto_increment,
+  `biblionumber` varchar(100) NOT NULL default '',
+  `subscriptionid` varchar(100) NOT NULL default '',
+  `serialseq` varchar(100) NOT NULL default '',
+  `status` tinyint(4) NOT NULL default '0',
+  `planneddate` date NOT NULL default '0000-00-00',
+  `notes` text,
+  `itemnumber` text,
+  `routingnotes` text,
+  `publisheddate` date default NULL,
+  `claimdate` date default '0000-00-00',
+  PRIMARY KEY  (`serialid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `sessionqueries`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `sessionqueries`;
+CREATE TABLE IF NOT EXISTS `sessionqueries` (
+  `sessionID` varchar(255) NOT NULL default '',
+  `userid` varchar(100) NOT NULL default '',
+  `ip` varchar(18) NOT NULL default '',
+  `url` text NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `sessions`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `sessions`;
+CREATE TABLE IF NOT EXISTS `sessions` (
+  `sessionID` varchar(255) NOT NULL default '',
+  `userid` varchar(255) default NULL,
+  `ip` varchar(16) default NULL,
+  `lasttime` int(11) default NULL,
+  PRIMARY KEY  (`sessionID`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `shelfcontents`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:41
+-- 
+
+DROP TABLE IF EXISTS `shelfcontents`;
+CREATE TABLE IF NOT EXISTS `shelfcontents` (
+  `shelfnumber` int(11) NOT NULL default '0',
+  `itemnumber` int(11) NOT NULL default '0',
+  `flags` int(11) default NULL,
+  `dateadded` timestamp NULL default NULL,
+  KEY `shelfnumber` (`shelfnumber`),
+  KEY `itemnumber` (`itemnumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `special_holidays`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `special_holidays`;
+CREATE TABLE IF NOT EXISTS `special_holidays` (
+  `id` int(11) NOT NULL auto_increment,
+  `branchcode` varchar(4) NOT NULL default '',
+  `day` smallint(6) NOT NULL default '0',
+  `month` smallint(6) NOT NULL default '0',
+  `year` smallint(6) NOT NULL default '0',
+  `isexception` smallint(1) NOT NULL default '1',
+  `title` varchar(50) NOT NULL default '',
+  `description` text NOT NULL,
+  PRIMARY KEY  (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `statistics`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `statistics`;
+CREATE TABLE IF NOT EXISTS `statistics` (
+  `datetime` datetime NOT NULL default '0000-00-00 00:00:00',
+  `branch` varchar(4) default NULL,
+  `proccode` varchar(4) default NULL,
+  `value` double(16,4) default NULL,
+  `type` varchar(16) default NULL,
+  `other` text,
+  `usercode` varchar(10) default NULL,
+  `itemnumber` int(11) default NULL,
+  `itemtype` varchar(4) default NULL,
+  `borrowernumber` int(11) default NULL,
+  `associatedborrower` int(11) default NULL,
+  KEY `timeidx` (`datetime`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `stopwords`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `stopwords`;
+CREATE TABLE IF NOT EXISTS `stopwords` (
+  `word` varchar(255) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `subcategorytable`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `subcategorytable`;
+CREATE TABLE IF NOT EXISTS `subcategorytable` (
+  `subcategorycode` varchar(5) NOT NULL default '',
+  `description` text,
+  `itemtypecodes` text,
+  PRIMARY KEY  (`subcategorycode`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `subscription`
+-- 
+-- Création: Vendredi 26 Janvier 2007 à 12:44
+-- 
+
+DROP TABLE IF EXISTS `subscription`;
+CREATE TABLE IF NOT EXISTS `subscription` (
+  `biblionumber` int(11) NOT NULL default '0',
+  `manualhistory` tinyint(1) NOT NULL default '0',
+  `subscriptionid` int(11) NOT NULL auto_increment,
+  `librarian` varchar(100) default '',
+  `startdate` date default '0000-00-00',
+  `aqbooksellerid` int(11) default '0',
+  `cost` int(11) default '0',
+  `aqbudgetid` int(11) default '0',
+  `weeklength` tinyint(4) default '0',
+  `monthlength` tinyint(4) default '0',
+  `numberlength` tinyint(4) default '0',
+  `periodicity` tinyint(4) default '0',
+  `dow` varchar(100) default '',
+  `numberingmethod` varchar(100) default '',
+  `notes` text,
+  `status` varchar(100) NOT NULL default '',
+  `add1` int(11) default '0',
+  `every1` int(11) default '0',
+  `whenmorethan1` int(11) default '0',
+  `setto1` int(11) default NULL,
+  `lastvalue1` int(11) default NULL,
+  `add2` int(11) default '0',
+  `every2` int(11) default '0',
+  `whenmorethan2` int(11) default '0',
+  `setto2` int(11) default NULL,
+  `lastvalue2` int(11) default NULL,
+  `add3` int(11) default '0',
+  `every3` int(11) default '0',
+  `innerloop1` int(11) default '0',
+  `innerloop2` int(11) default '0',
+  `innerloop3` int(11) default '0',
+  `whenmorethan3` int(11) default '0',
+  `setto3` int(11) default NULL,
+  `lastvalue3` int(11) default NULL,
+  `issuesatonce` tinyint(3) NOT NULL default '1',
+  `firstacquidate` date NOT NULL default '0000-00-00',
+  `irregularity` text,
+  `letter` varchar(20) default NULL,
+  `numberpattern` tinyint(3) default '0',
+  `distributedto` text,
+  `callnumber` text,
+  `hemisphere` tinyint(3) default '0',
+  `branchcode` varchar(12) NOT NULL default '''''',
+  `internalnotes` longtext,
+  PRIMARY KEY  (`subscriptionid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `subscriptionhistory`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `subscriptionhistory`;
+CREATE TABLE IF NOT EXISTS `subscriptionhistory` (
+  `biblionumber` int(11) NOT NULL default '0',
+  `subscriptionid` int(11) NOT NULL default '0',
+  `histstartdate` date NOT NULL default '0000-00-00',
+  `enddate` date default '0000-00-00',
+  `missinglist` longtext NOT NULL,
+  `recievedlist` longtext NOT NULL,
+  `opacnote` varchar(150) NOT NULL default '',
+  `librariannote` varchar(150) NOT NULL default '',
+  PRIMARY KEY  (`subscriptionid`),
+  KEY `biblionumber` (`biblionumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `subscriptionroutinglist`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `subscriptionroutinglist`;
+CREATE TABLE IF NOT EXISTS `subscriptionroutinglist` (
+  `routingid` int(11) NOT NULL auto_increment,
+  `borrowernumber` int(11) default NULL,
+  `ranking` int(11) default NULL,
+  `subscriptionid` int(11) default NULL,
+  PRIMARY KEY  (`routingid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `suggestions`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:40
+-- 
+
+DROP TABLE IF EXISTS `suggestions`;
+CREATE TABLE IF NOT EXISTS `suggestions` (
+  `suggestionid` int(8) NOT NULL auto_increment,
+  `suggestedby` int(11) NOT NULL default '0',
+  `managedby` int(11) default NULL,
+  `STATUS` varchar(10) NOT NULL default '',
+  `note` text,
+  `author` varchar(80) default NULL,
+  `title` varchar(80) default NULL,
+  `copyrightdate` smallint(6) default NULL,
+  `publishercode` varchar(255) default NULL,
+  `date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
+  `volumedesc` varchar(255) default NULL,
+  `publicationyear` smallint(6) default '0',
+  `place` varchar(255) default NULL,
+  `isbn` varchar(10) default NULL,
+  `mailoverseeing` smallint(1) default '0',
+  `biblionumber` int(11) default NULL,
+  `reason` text,
+  PRIMARY KEY  (`suggestionid`),
+  KEY `suggestedby` (`suggestedby`),
+  KEY `managedby` (`managedby`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `systempreferences`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:40
+-- 
+
+DROP TABLE IF EXISTS `systempreferences`;
+CREATE TABLE IF NOT EXISTS `systempreferences` (
+  `variable` varchar(50) NOT NULL default '',
+  `value` text,
+  `options` text,
+  `explanation` text,
+  `type` varchar(20) default NULL,
+  PRIMARY KEY  (`variable`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `tags`
+-- 
+-- Création: Mardi 06 Février 2007 à 11:14
+-- 
+
+DROP TABLE IF EXISTS `tags`;
+CREATE TABLE IF NOT EXISTS `tags` (
+  `entry` varchar(255) NOT NULL default '',
+  `weight` bigint(20) NOT NULL default '0',
+  PRIMARY KEY  (`entry`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `uploadedmarc`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `uploadedmarc`;
+CREATE TABLE IF NOT EXISTS `uploadedmarc` (
+  `id` int(11) NOT NULL auto_increment,
+  `marc` longblob,
+  `hidden` smallint(6) default NULL,
+  `name` varchar(255) default NULL,
+  PRIMARY KEY  (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `userflags`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `userflags`;
+CREATE TABLE IF NOT EXISTS `userflags` (
+  `bit` int(11) NOT NULL default '0',
+  `flag` char(30) default NULL,
+  `flagdesc` char(255) default NULL,
+  `defaulton` int(11) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `users`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `users`;
+CREATE TABLE IF NOT EXISTS `users` (
+  `usercode` varchar(10) default NULL,
+  `username` text,
+  `password` text,
+  `level` smallint(6) default NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `websites`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `websites`;
+CREATE TABLE IF NOT EXISTS `websites` (
+  `websitenumber` int(11) NOT NULL auto_increment,
+  `biblionumber` int(11) NOT NULL default '0',
+  `title` text,
+  `description` text,
+  `url` varchar(255) default NULL,
+  PRIMARY KEY  (`websitenumber`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `z3950queue`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `z3950queue`;
+CREATE TABLE IF NOT EXISTS `z3950queue` (
+  `id` int(11) NOT NULL auto_increment,
+  `term` text,
+  `type` varchar(10) default NULL,
+  `startdate` int(11) default NULL,
+  `enddate` int(11) default NULL,
+  `done` smallint(6) default NULL,
+  `results` longblob,
+  `numrecords` int(11) default NULL,
+  `servers` text,
+  `identifier` varchar(30) default NULL,
+  PRIMARY KEY  (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `z3950results`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `z3950results`;
+CREATE TABLE IF NOT EXISTS `z3950results` (
+  `id` int(11) NOT NULL auto_increment,
+  `queryid` int(11) default NULL,
+  `server` varchar(255) default NULL,
+  `startdate` int(11) default NULL,
+  `enddate` int(11) default NULL,
+  `results` longblob,
+  `numrecords` int(11) default NULL,
+  `numdownloaded` int(11) default NULL,
+  `highestseen` int(11) default NULL,
+  `active` smallint(6) default NULL,
+  PRIMARY KEY  (`id`),
+  UNIQUE KEY `query_server` (`queryid`,`server`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `z3950servers`
+-- 
+-- Création: Lundi 27 Novembre 2006 à 18:39
+-- 
+
+DROP TABLE IF EXISTS `z3950servers`;
+CREATE TABLE IF NOT EXISTS `z3950servers` (
+  `host` varchar(255) default NULL,
+  `port` int(11) default NULL,
+  `db` varchar(255) default NULL,
+  `userid` varchar(255) default NULL,
+  `password` varchar(255) default NULL,
+  `name` text,
+  `description` text NOT NULL,
+  `id` int(11) NOT NULL auto_increment,
+  `checked` smallint(6) default NULL,
+  `rank` int(11) default NULL,
+  `syntax` varchar(80) default NULL,
+  `position` enum('primary','secondary','') NOT NULL default 'primary',
+  `icon` text,
+  `type` enum('zed','opensearch') NOT NULL default 'zed',
+  PRIMARY KEY  (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+-- 
+-- Structure de la table `zebraqueue`
+-- 
+-- Création: Mardi 16 Janvier 2007 à 14:19
+-- 
+
+DROP TABLE IF EXISTS `zebraqueue`;
+CREATE TABLE IF NOT EXISTS `zebraqueue` (
+  `id` int(11) NOT NULL auto_increment,
+  `biblio_auth_number` int(11) NOT NULL default '0',
+  `operation` char(20) NOT NULL default '',
+  `server` char(20) NOT NULL default '',
+  PRIMARY KEY  (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- 
+-- Contraintes pour les tables exportées
+-- 
+
+-- 
+-- Contraintes pour la table `accountlines`
+-- 
+ALTER TABLE `accountlines`
+  ADD CONSTRAINT `accountlines_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `accountlines`
+  ADD CONSTRAINT `accountlines_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL;
+
+-- 
+-- Contraintes pour la table `aqbasket`
+-- 
+ALTER TABLE `aqbasket`
+  ADD CONSTRAINT `aqbasket_ibfk_1` FOREIGN KEY (`booksellerid`) REFERENCES `aqbooksellers` (`id`) ON UPDATE CASCADE;
+
+-- 
+-- Contraintes pour la table `aqbooksellers`
+-- 
+ALTER TABLE `aqbooksellers`
+  ADD CONSTRAINT `aqbooksellers_ibfk_1` FOREIGN KEY (`listprice`) REFERENCES `currency` (`currency`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `aqbooksellers`
+  ADD CONSTRAINT `aqbooksellers_ibfk_2` FOREIGN KEY (`invoiceprice`) REFERENCES `currency` (`currency`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+-- 
+-- Contraintes pour la table `aqorderbreakdown`
+-- 
+ALTER TABLE `aqorderbreakdown`
+  ADD CONSTRAINT `aqorderbreakdown_ibfk_1` FOREIGN KEY (`ordernumber`) REFERENCES `aqorders` (`ordernumber`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `aqorderbreakdown`
+    ADD CONSTRAINT `aqorderbreakdown_ibfk_2` FOREIGN KEY (`bookfundid`) REFERENCES `aqbookfund` (`bookfundid`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+-- 
+-- Contraintes pour la table `aqorders`
+-- 
+ALTER TABLE `aqorders`
+  ADD CONSTRAINT `aqorders_ibfk_1` FOREIGN KEY (`basketno`) REFERENCES `aqbasket` (`basketno`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `aqorders`
+    ADD CONSTRAINT `aqorders_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE SET NULL ON UPDATE SET NULL;
+
+-- 
+-- Contraintes pour la table `auth_tag_structure`
+-- 
+ALTER TABLE `auth_tag_structure`
+  ADD CONSTRAINT `auth_tag_structure_ibfk_1` FOREIGN KEY (`authtypecode`) REFERENCES `auth_types` (`authtypecode`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+-- 
+-- Contraintes pour la table `biblioitems`
+-- 
+ALTER TABLE `biblioitems`
+  ADD CONSTRAINT `biblioitems_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+-- 
+-- Contraintes pour la table `borrowers`
+-- 
+ALTER TABLE `borrowers`
+  ADD CONSTRAINT `borrowers_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`);
+ALTER TABLE `borrowers`
+    ADD CONSTRAINT `borrowers_ibfk_2` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`);
+
+-- 
+-- Contraintes pour la table `branchtransfers`
+-- 
+ALTER TABLE `branchtransfers`
+  ADD CONSTRAINT `branchtransfers_ibfk_1` FOREIGN KEY (`frombranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `branchtransfers`
+   ADD CONSTRAINT `branchtransfers_ibfk_2` FOREIGN KEY (`tobranch`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `branchtransfers`
+   ADD CONSTRAINT `branchtransfers_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+-- 
+-- Contraintes pour la table `issues`
+-- 
+ALTER TABLE `issues`
+  ADD CONSTRAINT `issues_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE SET NULL ON UPDATE SET NULL;
+ALTER TABLE `issues`
+    ADD CONSTRAINT `issues_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE SET NULL ON UPDATE SET NULL;
+
+-- 
+-- Contraintes pour la table `issuingrules`
+-- 
+ALTER TABLE `issuingrules`
+  ADD CONSTRAINT `issuingrules_ibfk_1` FOREIGN KEY (`categorycode`) REFERENCES `categories` (`categorycode`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `issuingrules`
+    ADD CONSTRAINT `issuingrules_ibfk_2` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+-- 
+-- Contraintes pour la table `items`
+-- 
+ALTER TABLE `items`
+  ADD CONSTRAINT `items_ibfk_1` FOREIGN KEY (`biblioitemnumber`) REFERENCES `biblioitems` (`biblioitemnumber`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `items`
+    ADD CONSTRAINT `items_ibfk_2` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE;
+
+-- 
+-- Contraintes pour la table `reserves`
+-- 
+ALTER TABLE `reserves`
+  ADD CONSTRAINT `reserves_ibfk_1` FOREIGN KEY (`borrowernumber`) REFERENCES `borrowers` (`borrowernumber`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `reserves`
+  ADD CONSTRAINT `reserves_ibfk_2` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `reserves`
+  ADD CONSTRAINT `reserves_ibfk_3` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `reserves`
+   ADD CONSTRAINT `reserves_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+-- 
+-- Contraintes pour la table `shelfcontents`
+-- 
+ALTER TABLE `shelfcontents`
+  ADD CONSTRAINT `shelfcontents_ibfk_1` FOREIGN KEY (`shelfnumber`) REFERENCES `bookshelf` (`shelfnumber`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `shelfcontents`
+    ADD CONSTRAINT `shelfcontents_ibfk_2` FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`) ON DELETE CASCADE ON UPDATE CASCADE;





More information about the Koha-cvs mailing list