Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Datum

geändert von

Beschreibung

2011-06-24

Althaus

neu erstellt

2011-07-05

Althaus

Überarbeitung

2011-07-09

Althaus

aktualisiert

2011-07-11

Althaus

Neuen Standort DMA-Leipzig hinzugefügt

Seitenanfang

Dateien

Verzeichnis

Dateiname

scripts\

dnb_public.js

chrome\ibw\content\xul\

dnb_einstellungen_dialog.js

chrome\ibw\content\xul\

dnb_einstellungen_dialog.xul

...

Codeblock
//============================================================================
// dnb_einstellungen_dialog.js
// Kopie von: GBV, Karen Hachmann 
// Die Profile wären besser als Integer statt als String gespeichert worden. 
// Dies hätte aber einen wesentlichen Nachteil: Solange der Anwender nichts
// einträgt, steht der Wert auf 0, d.h. kein Exemplar, keine ELN usw. 
// Mein Wunsch ist aber, dass der Defaultwert auf 1 stehen sollte.
// Update: DNB, Bernd Althaus, 24.06.2011
//============================================================================

var application = Components.classes["@oclcpica.nl/kitabapplication;1"]
					.getService(Components.interfaces.IApplication);

const utility = 
{
	newFileInput: function() {
		return Components.classes["@oclcpica.nl/scriptinputfile;1"]
								.createInstance(Components.interfaces.IInputTextFile);
	},

     newFileOutput: function() {
        return Components.classes["@oclcpica.nl/scriptoutputfile;1"]
                                 .createInstance(Components.interfaces.IOutputTextFile);
	},

	newPrompter: function() {
         return Components.classes["@oclcpica.nl/scriptpromptutility;1"]
                                   .createInstance(Components.interfaces.IPromptUtilities);
   }
};

//----------------------------------------------------------------------------
function onLoad()
{
	var strRadioIndex = 0;
	
	var strPWD= application.getProfileString("dnbUser", "userPwd", "");
	document.getElementById('iduserKey').value = application.getProfileString("dnbUser", "userKey", "");
	
	if (strPWD != "") {
		document.getElementById('idpwd').value = "******"
	}
	
	document.getElementById('idkuerzel').value = application.getProfileString("dnbUser", "kuerzel", "");
	document.getElementById('idabteilung').value = application.getProfileString("dnbUser", "abteilung", "");

	var strStandort = application.getProfileString("dnbUser", "standort", "");
	switch(strStandort) {
		case "DNB-L":
			strRadioIndex = 0;
			break;
		case "DNB-F": 
			strRadioIndex = 1;
			break;
		case "DMA-L": 
			strRadioIndex = 2;
			break;
		default:
			strRadioIndex = 0;
			break;
	} 
	document.getElementById("idstandort").selectedIndex = strRadioIndex;
	//application.messageBox("Standort",strStandort,"");
	//application.messageBox("RadioIndex",strRadioIndex,"");
		

	var strKatRicht = application.getProfileString("dnbUser", "katricht", "");
	switch(strKatRicht) {
		case "ZDB":
			strRadioIndex = 1;
			break;
		case "DEA":
			strRadioIndex = 2;
			break;
		case "DMA":
			strRadioIndex = 3;
			break;
		default:
			strRadioIndex = 0;
			break;
	}
	document.getElementById("idkatricht").selectedIndex = strRadioIndex;
	
	document.getElementById('idmailPND').value = application.getProfileString("dnbUser", "PNDsender", "");
	document.getElementById('idmailGKD').value = application.getProfileString("dnbUser", "GKDsender", "");
	document.getElementById('idmailSWD').value = application.getProfileString("dnbUser", "SWDsender", "");
	
	document.getElementById('idcommand1').value = application.getProfileString("dnbUser", "userCommand1", "");
	document.getElementById('idcommand2').value = application.getProfileString("dnbUser", "userCommand2", "");
	document.getElementById('idcommand3').value = application.getProfileString("dnbUser", "userCommand3", "");
	
	document.getElementById('idsearch1').value = application.getProfileString("dnbUser", "userSearch1", "");
	document.getElementById('idsearch2').value = application.getProfileString("dnbUser", "userSearch2", "");
	document.getElementById('idsearch3').value = application.getProfileString("dnbUser", "userSearch3", "");
	
	document.getElementById('idtext1').value = application.getProfileString("dnbUser", "userText1", "");
	document.getElementById('idtext2').value = application.getProfileString("dnbUser", "userText2", "");
	document.getElementById('idtext3').value = application.getProfileString("dnbUser", "userText3", "");	
	
	document.getElementById('ididn1').value = application.getProfileString("dnbUser", "idn1", "");
	document.getElementById('ididn2').value = application.getProfileString("dnbUser", "idn2", "");
	
	document.getElementById('idvetermin').value = application.getProfileString("dnbUser", "vetermin", "");
	document.getElementById('idland').value = application.getProfileString("dnbUser", "land", "");
	
	document.getElementById('idNL1nam').value = application.getProfileString("dnbUser", "NL1nam", "");
	document.getElementById('idNL1sig').value = application.getProfileString("dnbUser", "NL1sig", "");
	document.getElementById('idNL1pnd').value = application.getProfileString("dnbUser", "NL1pnd", "");
	document.getElementById('idNL14180').value = application.getProfileString("dnbUser", "NL14180", "");
	
	document.getElementById('idNL2nam').value = application.getProfileString("dnbUser", "NL2nam", "");
	document.getElementById('idNL2sig').value = application.getProfileString("dnbUser", "NL2sig", "");
	document.getElementById('idNL2pnd').value = application.getProfileString("dnbUser", "NL2pnd", "");
	document.getElementById('idNL24180').value = application.getProfileString("dnbUser", "NL24180", "");
	
	document.getElementById('idNL3nam').value = application.getProfileString("dnbUser", "NL3nam", "");
	document.getElementById('idNL3sig').value = application.getProfileString("dnbUser", "NL3sig", "");
	document.getElementById('idNL3pnd').value = application.getProfileString("dnbUser", "NL3pnd", "");
	document.getElementById('idNL34180').value = application.getProfileString("dnbUser", "NL34180", "");
	
}

//----------------------------------------------------------------------------
function onAccept()
{

	application.writeProfileString("dnbUser", "userKey", document.getElementById('iduserKey').value);
	application.writeProfileString("dnbUser", "kuerzel", document.getElementById('idkuerzel').value);
	application.writeProfileString("dnbUser", "abteilung", document.getElementById('idabteilung').value);

	var ZDB_Bibliothek_IDN;
	var strStandort;
	var einstellung = document.getElementById("idstandort").selectedIndex;
	switch(einstellung) {
		case 0:
			strStandort = "DNB-L";
			ZDB_Bibliothek_IDN = "!009030115!";
			break;
		case 1:
			strStandort = "DNB-F";
			ZDB_Bibliothek_IDN = "!009013849!";
			break;
		case 2:
			strStandort = "DMA-L";
			ZDB_Bibliothek_IDN = "!020583613!";
			break;
		default:
			strStandort = "DNB-L";
			ZDB_Bibliothek_IDN = "!009030115!";
			break;
	}
	application.writeProfileString("dnbUser", "standort", strStandort);
	//application.messageBox("RadioLabel",einstellung,"");
	
	einstellung = document.getElementById("idkatricht").selectedIndex;
	switch(einstellung) {
	case 1:
		application.writeProfileString("dnbUser", "katricht", "ZDB");
		application.writeProfileString("dnbUser", "help.cataloguing", "http://www.zeitschriftendatenbank.de/erschliessung/arbeitsunterlagen/zeta/");
		application.writeProfileString("dnbUser", "help.suffix", ".html");
		break;
	case 2:
		application.writeProfileString("dnbUser", "katricht", "DEA");
		application.writeProfileString("dnbUser", "help.cataloguing", "http://wiki.d-nb.de/download/attachments/41157656/");
		application.writeProfileString("dnbUser", "help.suffix", ".pdf");
		break;
	case 3:
		application.writeProfileString("dnbUser", "katricht", "DMA");
		application.writeProfileString("dnbUser", "help.cataloguing", "http://wiki.d-nb.de/download/attachments/41157656/");
		application.writeProfileString("dnbUser", "help.suffix", ".pdf");
		break;
	default:
		application.writeProfileString("dnbUser", "katricht", "DNB");
		application.writeProfileString("dnbUser", "help.cataloguing", "http://wiki.d-nb.de/download/attachments/41157656/");
		application.writeProfileString("dnbUser", "help.suffix", ".pdf");
		break;
	}

	application.writeProfileString("dnbUser", "PNDsender", document.getElementById('idmailPND').value);
	application.writeProfileString("dnbUser", "GKDsender", document.getElementById('idmailGKD').value);
	application.writeProfileString("dnbUser", "SWDsender", document.getElementById('idmailSWD').value);
	
	application.writeProfileString("dnbUser", "userCommand1", document.getElementById('idcommand1').value);
	application.writeProfileString("dnbUser", "userCommand2", document.getElementById('idcommand2').value);
	application.writeProfileString("dnbUser", "userCommand3", document.getElementById('idcommand3').value);
	
	application.writeProfileString("dnbUser", "userSearch1", document.getElementById('idsearch1').value);
	application.writeProfileString("dnbUser", "userSearch2", document.getElementById('idsearch2').value);
	application.writeProfileString("dnbUser", "userSearch3", document.getElementById('idsearch3').value);
	
	application.writeProfileString("dnbUser", "userText1", document.getElementById('idtext1').value);
	application.writeProfileString("dnbUser", "userText2", document.getElementById('idtext2').value);
	application.writeProfileString("dnbUser", "userText3", document.getElementById('idtext3').value);
	
	application.writeProfileString("dnbUser", "idn1", document.getElementById('ididn1').value);
	application.writeProfileString("dnbUser", "idn2", document.getElementById('ididn2').value);
	
	application.writeProfileString("dnbUser", "vetermin", document.getElementById('idvetermin').value);
	application.writeProfileString("dnbUser", "land",    document.getElementById('idland').value);
	
	application.writeProfileString("dnbUser", "NL1nam",  document.getElementById('idNL1nam').value);
	application.writeProfileString("dnbUser", "NL1sig",  document.getElementById('idNL1sig').value);
	application.writeProfileString("dnbUser", "NL1pnd",  document.getElementById('idNL1pnd').value);
	application.writeProfileString("dnbUser", "NL14180", document.getElementById('idNL14180').value);
	
	application.writeProfileString("dnbUser", "NL2nam",  document.getElementById('idNL2nam').value);
	application.writeProfileString("dnbUser", "NL2sig",  document.getElementById('idNL2sig').value);
	application.writeProfileString("dnbUser", "NL2pnd",  document.getElementById('idNL2pnd').value);
	application.writeProfileString("dnbUser", "NL24180", document.getElementById('idNL24180').value);
	
	application.writeProfileString("dnbUser", "NL3nam",  document.getElementById('idNL3nam').value);
	application.writeProfileString("dnbUser", "NL3sig",  document.getElementById('idNL3sig').value);
	application.writeProfileString("dnbUser", "NL3pnd",  document.getElementById('idNL3pnd').value);
	application.writeProfileString("dnbUser", "NL34180", document.getElementById('idNL34180').value);

	// Kopie von ZDB_BibliothekDefinieren.xul
	//var idn_input = document.getElementById("ZDB_BibliothekDefinieren_Textbox1").value;
	var idn_input = ZDB_Bibliothek_IDN;
	// FileOutput-Objekt deklarieren
	var FileOutput = Components.classes["@oclcpica.nl/scriptoutputfile;1"]
						.createInstance(Components.interfaces.IOutputTextFile);
	// Datei mit Namen "Eigene_Bibliothek.txt" im Nutzer-eigenen Profiles-Ordner anlegen, sofern diese Datei nicht bereits existiert
	FileOutput.createSpecial("ProfD", "Eigene_Bibliothek.txt");
	// Bestehenden Datei-Inhalt beim Schreiben in die Datei löschen
	// IDN wird auf korrekte Systax und Länge geprüft
    // Korrektur: Johann Rolschewski (ZDB), 07.07.2010, Validation muss auf 10 stellige IDNs angepasst werden
	if (idn_input.match(/^(\d{8,9}[\d|x|X])$/gi)){
		idn_input = "!" + idn_input + "!";
	}
	if (idn_input.match(/^!(\d{8,9}[\d|x|X])!$/gi)){
		// Bestehender Inhalt wird überschrieben
		FileOutput.setTruncate(true);
		// IDN in Datei schreiben
		FileOutput.write(idn_input);
		//application.messageBox("BibliothekDefinieren", "Die IDN " + idn_input + " wurde gespeichert.",  "message-icon");
	// Falls eine leere Eingabe erfolgt ist, wird der bestehende Inhalt gelöscht
	} else if (idn_input.length == 0){
		// Bestehender Inhalt wird überschrieben
		FileOutput.setTruncate(true);
		FileOutput.write("");
		//application.messageBox("BibliothekDefinieren", "Die IDN wurde gelöscht.",  "message-icon");
	} else {
		//application.messageBox("BibliothekDefinieren", "Die eingegebene IDN ist nicht korrekt: '" + idn_input + "'",  "alert-icon");
	}
	
	var strPWD = document.getElementById('idpwd').value;
	var strLenPWD = strPWD.length;
	if ((strPWD != "") && (strPWD != "******"))  {
		if (strLenPWD < 4) {
			application.messageBox("Passwort einrichten","Das Passwort muss max. 4 Zeichen lang sein!\n\n"
									+ "Alle sonstigen Einstellungen wurden gesichert!","");
			EinstellungenDNBBenutzerprofil();
		} else {	
			application.writeProfileString("dnbUser", "userPwd", strPWD);
		}
	}
	
}


//----------------------------------------------------------------------------
function onCancel()
{
	//
}
//----------------------------------------------------------------------------
function FrageSpeichern()
{
	if (bContentsChanged) {
		var prompt = utility.newPrompter();
		prompt.setDebug(true);
		if (prompt.confirmEx("Speichern?", "Änderungen speichern?", "Yes", "No", "", "", false) == 0) {
			einstellungenSpeichern();
		}
		bContentsChanged = false;
	}
}
//----------------------------------------------------------------------------
function hilfe1()
{
	application.messageBox("Info", "Sie können sich eine eigene Exemplarmaske einrichten." +
		"\nIm Menü 'Datenmasken' wählen Sie 'Exemplarmasken bearbeiten'. " +
		"\nDort wählen Sie die Datei 'exmuster_einzelband.txt' aus.", "message-icon");
}

Seitenanfang

dnb_einstellungen_dialog.xul

...