@@ -20,6 +20,7 @@ UserPW = ""
2020
2121pluginTitle = " Template-Verwendung in Tochterprojekten anzeigen" ' Show template usage in child projects
2222dlgProject = " Projekt" ' Project
23+ dlgMasterProject = " Masterprojekt" ' Master project
2324dlgUsedIn = " Verwendet in" ' Assigned to
2425dlgProjectVariants = " Projektvarianten" ' project variants
2526dlgInstances = " Instanzen" ' Instances
@@ -41,7 +42,7 @@ TemplateFolderGUID = Request.Form("TemplateFolderGUID")
4142TemplateFolderName = Request .Form (" TemplateFolderName" )
4243TemplateGUID = Request .Form (" TemplateGUID" )
4344TemplateName = Request .Form (" TemplateName" )
44-
45+ countMaster = Request . Form ( " master " )
4546
4647' XML-Verarbeitung per Microsoft-DOM vorbereiten
4748set XMLProjDoc = Server .CreateObject (" MSXML2.DOMDocument" )
@@ -60,10 +61,6 @@ set XMLTemplatesDoc = Server.CreateObject("MSXML2.DOMDocument")
6061XMLTemplatesDoc.async = false
6162XMLTemplatesDoc.validateOnParse = false
6263
63- set XMLLanguagesDoc = Server .CreateObject (" MSXML2.DOMDocument" )
64- XMLLanguagesDoc.async = false
65- XMLLanguagesDoc.validateOnParse = false
66-
6764' RedDot Object fuer RQL-Zugriffe anlegen
6865set objIO = Server .CreateObject (" OTWSMS.AspLayer.PageData" )
6966
@@ -72,6 +69,76 @@ Dim xmlSendDoc ' RQL-Anfrage, die zum Server geschickt wird
7269Dim ServerAnswer ' Antwort des Servers
7370
7471
72+ function countInstances (lGUID, sKey )
73+
74+ instancesStr = " "
75+
76+ set XMLLanguagesDoc = Server .CreateObject (" MSXML2.DOMDocument" )
77+ XMLLanguagesDoc.async = false
78+ XMLLanguagesDoc.validateOnParse = false
79+
80+ set XMLInstancesDoc = Server .CreateObject (" MSXML2.DOMDocument" )
81+ XMLInstancesDoc.async = false
82+ XMLInstancesDoc.validateOnParse = false
83+
84+ ' Verfügbare Sprachen auslesen
85+ xmlSendDoc= " <IODATA loginguid="" " & lGUID & " "" sessionkey="" " & sKey & " "" >" & _
86+ " <PROJECT>" & _
87+ " <LANGUAGEVARIANTS action="" list"" />" & _
88+ " </PROJECT>" & _
89+ " </IODATA>"
90+ ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
91+ XMLLanguagesDoc.loadXML(ServerAnswer)
92+
93+ CurrentLangGuid = XMLLanguagesDoc.selectSingleNode(" //LANGUAGEVARIANT[@checked='1']" ).getAttribute(" guid" )
94+
95+ instancesStr = instancesStr & " <p>"
96+ Set IterateLanguages = XMLLanguagesDoc.selectNodes(" //LANGUAGEVARIANT" )
97+ for each IterateLanguage in IterateLanguages
98+ ' Umschalten zur Sprache
99+ xmlSendDoc= " <IODATA loginguid="" " & lGUID & " "" sessionkey="" " & sKey & " "" >" & _
100+ " <PROJECT>" & _
101+ " <LANGUAGEVARIANT action="" setactive"" guid="" " & IterateLanguage.getAttribute(" guid" )& " "" />" & _
102+ " </PROJECT>" & _
103+ " </IODATA>"
104+ ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
105+
106+ ' Instanzen zählen
107+ xmlSendDoc= " <IODATA loginguid="" " & lGUID & " "" sessionkey="" " & sKey & " "" >" & _
108+ " <PAGE action="" search"" templateguid="" " & TemplateToCheckGUID & " "" flags="" 0"" maxrecords="" 999999"" />" & _
109+ " </IODATA>"
110+ ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
111+ XMLInstancesDoc.loadXML(ServerAnswer)
112+ instancesStr = instancesStr & IterateLanguage.getAttribute(" name" ) & " (" & IterateLanguage.getAttribute(" language" ) & " ): " & XMLInstancesDoc.SelectNodes(" //PAGE" ).length & " " & dlgInstances & " <br />"
113+ next
114+ Set IterateLanguages = nothing
115+ instancesStr = instancesStr & " </p>"
116+
117+ ' Zurückschalten zur Anfangsprache
118+ xmlSendDoc= " <IODATA loginguid="" " & lGUID & " "" sessionkey="" " & sKey & " "" >" & _
119+ " <PROJECT>" & _
120+ " <LANGUAGEVARIANT action="" setactive"" guid="" " & CurrentLangGuid & " "" />" & _
121+ " </PROJECT>" & _
122+ " </IODATA>"
123+ ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
124+
125+ set XMLLanguagesDoc = nothing
126+ set XMLInstancesDoc = nothing
127+
128+ countInstances = instancesStr
129+
130+ end function
131+
132+
133+ ' Beginn Main
134+
135+ if countMaster = " 1" then
136+ ' Instanzen im Masterprojekt zählen
137+ resultStr = resultStr & " <hr/><p><b>" & dlgMasterProject & " </b></p>"
138+ resultStr = resultStr & countInstances(LoginGUID, RQLKey)
139+ end if
140+
141+
75142' Freigegebene Projekte auslesen
76143xmlSendDoc= " <IODATA loginguid="" " & LoginGUID & " "" >" & _
77144 " <PROJECT sessionkey="" " & RQLKey & " "" >" & _
@@ -93,7 +160,7 @@ ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
93160if InStr (ServerAnswer," guid" )> 0 then
94161 XMLDoc.loadXML(ServerAnswer)
95162 RqlAdmLoginGUID = XMLDoc.selectsinglenode(" /IODATA/LOGIN/@guid" ).text
96-
163+
97164 for each Projekt in ProjekteList
98165
99166 resultStr = resultStr & " <hr/><p><b>" & dlgProject & " : " & Projekt.getAttribute(" name" ) & " </b></p>"
@@ -192,47 +259,9 @@ if InStr(ServerAnswer,"guid")>0 then
192259
193260 Set TemplateVariantList = nothing
194261
195- ' Verfügbare Sprachen auslesen
196- xmlSendDoc= " <IODATA loginguid="" " & RqlAdmLoginGUID & " "" sessionkey="" " & RqlAdmSessionKey & " "" >" & _
197- " <PROJECT>" & _
198- " <LANGUAGEVARIANTS action="" list"" />" & _
199- " </PROJECT>" & _
200- " </IODATA>"
201- ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
202- XMLLanguagesDoc.loadXML(ServerAnswer)
203-
204- CurrentLangGuid = XMLLanguagesDoc.selectSingleNode(" //LANGUAGEVARIANT[@checked='1']" ).getAttribute(" guid" )
205-
206- resultStr = resultStr & " <p>"
207- Set IterateLanguages = XMLLanguagesDoc.selectNodes(" //LANGUAGEVARIANT" )
208- for each IterateLanguage in IterateLanguages
209- ' Umschalten zur Sprache
210- xmlSendDoc= " <IODATA loginguid="" " & RqlAdmLoginGUID & " "" sessionkey="" " & RqlAdmSessionKey & " "" >" & _
211- " <PROJECT>" & _
212- " <LANGUAGEVARIANT action="" setactive"" guid="" " & IterateLanguage.getAttribute(" guid" )& " "" />" & _
213- " </PROJECT>" & _
214- " </IODATA>"
215- ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
216-
217- ' Instanzen zählen
218- xmlSendDoc= " <IODATA loginguid="" " & RqlAdmLoginGUID & " "" sessionkey="" " & RqlAdmSessionKey & " "" >" & _
219- " <PAGE action="" search"" templateguid="" " & TemplateToCheckGUID & " "" flags="" 0"" maxrecords="" 999999"" />" & _
220- " </IODATA>"
221- ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
222- XMLDoc.loadXML(ServerAnswer)
223- resultStr = resultStr & IterateLanguage.getAttribute(" name" ) & " (" & IterateLanguage.getAttribute(" language" ) & " ): " & XMLDoc.SelectNodes(" //PAGE" ).length & " " & dlgInstances & " <br />"
224- next
225- Set IterateLanguages = nothing
226- resultStr = resultStr & " </p>"
227-
228- ' Zurückschalten zur Anfangsprache
229- xmlSendDoc= " <IODATA loginguid="" " & RqlAdmLoginGUID & " "" sessionkey="" " & RqlAdmSessionKey & " "" >" & _
230- " <PROJECT>" & _
231- " <LANGUAGEVARIANT action="" setactive"" guid="" " & CurrentLangGuid & " "" />" & _
232- " </PROJECT>" & _
233- " </IODATA>"
234- ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
235-
262+ ' Instanzen zählen
263+ resultStr = resultStr & countInstances(RqlAdmLoginGUID, RqlAdmSessionKey)
264+
236265 else
237266 resultStr = resultStr & " <p><b>" & dlgError & " : " & dlgContentClassNotFound & " !</b></p>"
238267 end if
@@ -266,7 +295,6 @@ set XMLDoc = nothing
266295set XMLFoldersDoc = nothing
267296set XMLProjDoc = nothing
268297set XMLTemplatesDoc = nothing
269- set XMLLanguagesDoc = nothing
270298set objIO = nothing
271299%>
272300<html >
0 commit comments