Skip to content

Commit d9f4058

Browse files
author
Stefan Buchali
committed
Berücksichtigung Masterprojekt begonnen
1 parent 63d223a commit d9f4058

2 files changed

Lines changed: 83 additions & 49 deletions

File tree

TemplateDependenceChecker_dlg.asp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ pluginTitle = "Template-Verwendung in Tochterprojekten anzeigen" 'Show template
1919
dlgFolder = "Ordner" 'Folder
2020
dlgCK = "Content-Klasse" 'Content Class
2121
dlgHeadline = "Achtung!" 'Attention!
22-
dlgContent = "Bitte wählen Sie eine Content-Klasse aus." 'Please choose a Content Class
22+
dlgContent = "Bitte wählen Sie eine Content-Klasse aus." 'Please choose a Content Class.
23+
dlgAlsoMaster = "Auch die Instanzen des Masterprojekts zählen." 'Also take the master project's instances into account.
2324
dlgPleaseWait = "Bitte warten" 'Please wait
2425
dlgMessage = "Die Überprüfung der abhängigen Projekte kann einige Zeit in Anspruch nehmen!" 'Checking all child projects can take some minutes.
2526
dlgOK = "OK"
@@ -159,6 +160,11 @@ function submitForm() {
159160
<td><%=dlgContent %></td>
160161
<td></td>
161162
</tr>
163+
<tr>
164+
<td></td>
165+
<td><label><input type="checkbox" name="master" value="1" /> <%=dlgAlsoMaster %></label></td>
166+
<td></td>
167+
</tr>
162168
<% if dlgContinue then %>
163169
<tr>
164170
<td height="15" colspan="3"></td>

TemplateDependenceChecker_do.asp

Lines changed: 76 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ UserPW = ""
2020
2121
pluginTitle = "Template-Verwendung in Tochterprojekten anzeigen" 'Show template usage in child projects
2222
dlgProject = "Projekt" 'Project
23+
dlgMasterProject = "Masterprojekt" 'Master project
2324
dlgUsedIn = "Verwendet in" 'Assigned to
2425
dlgProjectVariants = "Projektvarianten" 'project variants
2526
dlgInstances = "Instanzen" 'Instances
@@ -41,7 +42,7 @@ TemplateFolderGUID = Request.Form("TemplateFolderGUID")
4142
TemplateFolderName = Request.Form("TemplateFolderName")
4243
TemplateGUID = Request.Form("TemplateGUID")
4344
TemplateName = Request.Form("TemplateName")
44-
45+
countMaster = Request.Form("master")
4546
4647
' XML-Verarbeitung per Microsoft-DOM vorbereiten
4748
set XMLProjDoc = Server.CreateObject("MSXML2.DOMDocument")
@@ -60,10 +61,6 @@ set XMLTemplatesDoc = Server.CreateObject("MSXML2.DOMDocument")
6061
XMLTemplatesDoc.async = false
6162
XMLTemplatesDoc.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
6865
set objIO = Server.CreateObject("OTWSMS.AspLayer.PageData")
6966
@@ -72,6 +69,76 @@ Dim xmlSendDoc ' RQL-Anfrage, die zum Server geschickt wird
7269
Dim 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
76143
xmlSendDoc= "<IODATA loginguid=""" & LoginGUID & """>"&_
77144
"<PROJECT sessionkey=""" & RQLKey & """>"&_
@@ -93,7 +160,7 @@ ServerAnswer = objIO.ServerExecuteXml (xmlSendDoc, sError)
93160
if 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
266295
set XMLFoldersDoc = nothing
267296
set XMLProjDoc = nothing
268297
set XMLTemplatesDoc = nothing
269-
set XMLLanguagesDoc = nothing
270298
set objIO = nothing
271299
%>
272300
<html>

0 commit comments

Comments
 (0)