This file is indexed.

/usr/lib/libreoffice/share/extensions/DmathsAddon/OOoTep/Module5.xba is in libreoffice-dmaths 3.4+dfsg1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Module5" script:language="StarBasic">&apos;OOoTep
&apos;Copyright (C) 2005-2006 Gilles Daurat

&apos;This program is free software; you can redistribute it and/or
&apos;modify it under the terms of the GNU General Public License
&apos;as published by the Free Software Foundation; either version 2
&apos;of the License, or (at your option) any later version.

&apos;This program is distributed in the hope that it will be useful, 
&apos;but WITHOUT ANY WARRANTY; without even the implied warranty of
&apos;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
&apos;GNU General Public License for more details.

&apos;You should have received a copy of the GNU General Public License
&apos;along with this program; if not, write to the Free Software
&apos;Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110 - 1301, USA.

Public oOptionsOOoTepForm as Object

Public texteModule as String

Sub Main()
	AfficheOptionsOOoTep()
End Sub

Sub AfficheOptionsOOoTep()
Dim uneSelection as New com.sun.star.awt.Selection
Dim nCommande as String
Dim Param() as string
Dim i

	oOptionsOOoTepForm = LoadDialog(&quot;OOoTep&quot;, &quot;Dialog3&quot;)
	ChangeTitreDialog(oOptionsOOoTepForm)
	oOptionsOOoTepForm.Model.Step = 1
	oOptionsOOoTepForm.Model.Height = 122
	InitialiseOptions()
	nCommande = OOoTep_FichierTraceEnPoche
	Select Case nCommande
	case &quot;internet&quot;
		oOptionsOOoTepForm.Model.OptionButton2.State = True
		oOptionsOOoTepForm.Model.TextBox1.Enabled = False
		oOptionsOOoTepForm.Model.CommandButton2.Enabled = False
	case &quot;dialogue&quot;
		oOptionsOOoTepForm.Model.OptionButton3.State = True
		oOptionsOOoTepForm.Model.TextBox1.Enabled = False
		oOptionsOOoTepForm.Model.CommandButton2.Enabled = False
	case &quot;rien&quot;, &quot;&quot;
		oOptionsOOoTepForm.Model.OptionButton4.State = True
		oOptionsOOoTepForm.Model.TextBox1.Enabled = False
		oOptionsOOoTepForm.Model.CommandButton2.Enabled = False
	Case Else
		oOptionsOOoTepForm.Model.OptionButton1.State = True
		oOptionsOOoTepForm.Model.TextBox1.Enabled = True
		oOptionsOOoTepForm.Model.CommandButton2.Enabled = True
		oOptionsOOoTepForm.Model.TextBox1.Text = nCommande
	End Select
	ChargeNomPolice(param())
	oOptionsOOoTepForm.GetControl(&quot;ListBox1&quot;).Model.StringItemList = param()
	for i = lbound(param()) to ubound(param())
		if param(i) = OOoTep_nompolice then SetListIndex(oOptionsOOoTepForm, &quot;ListBox1&quot;, i)
	Next i
	oOptionsOOoTepForm.Model.TextField1.Text = Trim(str(OOoTep_taillepolice))
	oOptionsOOoTepForm.Model.TextField2.Text = Trim(str(OOoTep_epaisseur0))
	oOptionsOOoTepForm.Model.TextField3.Text = Trim(str(OOoTep_epaisseur1))
	oOptionsOOoTepForm.Model.TextField4.Text = Trim(str(OOoTep_epaisseur2))
	oOptionsOOoTepForm.Model.TextField5.Text = Trim(str(OOoTep_epaisseur3))
	oOptionsOOoTepForm.Model.TextField6.Text = Trim(str(OOoTep_epaisseur4))
	oOptionsOOoTepForm.Model.TextField7.Text = Trim(str(OOoTep_epaisseur6))
	oOptionsOOoTepForm.Model.TextField8.Text = Trim(str(OOoTep_epaisseur7))
	oOptionsOOoTepForm.Model.TextField9.Text = Trim(str(OOoTep_epaisseur8))
	oOptionsOOoTepForm.Model.TextField10.Text = Trim(str(OOoTep_epaisseur9))
	oOptionsOOoTepForm.Model.TextField11.Text = Trim(str(OOoTep_croix0))
	oOptionsOOoTepForm.Model.TextField12.Text = Trim(str(OOoTep_croix1))
	oOptionsOOoTepForm.Model.TextField13.Text = Trim(str(OOoTep_croix2))
	oOptionsOOoTepForm.Model.TextField14.Text = Trim(str(OOoTep_croix3))
	oOptionsOOoTepForm.Model.TextField15.Text = Trim(str(OOoTep_rond1))
	oOptionsOOoTepForm.Model.TextField16.Text = Trim(str(OOoTep_rond2))
	oOptionsOOoTepForm.Model.TextField17.Text = Trim(str(OOoTep_rond3))
	oOptionsOOoTepForm.Model.TextField18.Text = Trim(str(OOoTep_codageangle))
	oOptionsOOoTepForm.Model.TextField19.Text = Trim(str(OOoTep_codagelongueur))

	oOptionsOOoTepForm.Model.ImageControl1.BackGroundcolor = OOoTep_couleurpolice
	oOptionsOOoTepForm.Model.ImageControl2.BackGroundcolor = OOoTep_couleurdutrait

	oOptionsOOoTepForm.Execute()
End Sub

Sub CommandButton1_Click()
Dim nCommande as String
Dim i

	If oOptionsOOoTepForm.Model.OptionButton1.State then nCommande = oOptionsOOoTepForm.Model.TextBox1.Text
	If oOptionsOOoTepForm.Model.OptionButton2.State then nCommande = &quot;internet&quot;
	If oOptionsOOoTepForm.Model.OptionButton3.State then nCommande = &quot;dialogue&quot;
	If oOptionsOOoTepForm.Model.OptionButton4.State then nCommande = &quot;rien&quot;
	EcritOptionOOoTep(&quot;tracenpoche&quot;, nCommande)

	EcritOptionOOoTep(&quot;nompolice&quot;, GetList(oOptionsOOoTepForm, &quot;ListBox1&quot;, GetListIndex(oOptionsOOoTepForm, &quot;ListBox1&quot;)))

	EcritOptionOOoTep(&quot;taillepolice&quot;, oOptionsOOoTepForm.Model.TextField1.Text)
	EcritOptionOOoTep(&quot;epaisseur0&quot;, oOptionsOOoTepForm.Model.TextField2.Text)
	EcritOptionOOoTep(&quot;epaisseur1&quot;, oOptionsOOoTepForm.Model.TextField3.Text)
	EcritOptionOOoTep(&quot;epaisseur2&quot;, oOptionsOOoTepForm.Model.TextField4.Text)
	EcritOptionOOoTep(&quot;epaisseur3&quot;, oOptionsOOoTepForm.Model.TextField5.Text)
	EcritOptionOOoTep(&quot;epaisseur4&quot;, oOptionsOOoTepForm.Model.TextField6.Text)
	EcritOptionOOoTep(&quot;epaisseur6&quot;, oOptionsOOoTepForm.Model.TextField7.Text)
	EcritOptionOOoTep(&quot;epaisseur7&quot;, oOptionsOOoTepForm.Model.TextField8.Text)
	EcritOptionOOoTep(&quot;epaisseur8&quot;, oOptionsOOoTepForm.Model.TextField9.Text)
	EcritOptionOOoTep(&quot;epaisseur9&quot;, oOptionsOOoTepForm.Model.TextField10.Text)
	EcritOptionOOoTep(&quot;croix0&quot;, oOptionsOOoTepForm.Model.TextField11.Text)
	EcritOptionOOoTep(&quot;croix1&quot;, oOptionsOOoTepForm.Model.TextField12.Text)
	EcritOptionOOoTep(&quot;croix2&quot;, oOptionsOOoTepForm.Model.TextField13.Text)
	EcritOptionOOoTep(&quot;croix3&quot;, oOptionsOOoTepForm.Model.TextField14.Text)
	EcritOptionOOoTep(&quot;rond1&quot;, oOptionsOOoTepForm.Model.TextField15.Text)
	EcritOptionOOoTep(&quot;rond2&quot;, oOptionsOOoTepForm.Model.TextField16.Text)
	EcritOptionOOoTep(&quot;rond3&quot;, oOptionsOOoTepForm.Model.TextField17.Text)
	EcritOptionOOoTep(&quot;codageangle&quot;, oOptionsOOoTepForm.Model.TextField18.Text)
	EcritOptionOOoTep(&quot;codagelongueur&quot;, oOptionsOOoTepForm.Model.TextField19.Text)

	EcritOptionOOoTep(&quot;couleurpolice&quot;, trim(str(oOptionsOOoTepForm.Model.ImageControl1.BackGroundcolor)))
	EcritOptionOOoTep(&quot;couleurdutrait&quot;, trim(str(oOptionsOOoTepForm.Model.ImageControl2.BackGroundcolor)))
	
	oOptionsOOoTepForm.EndExecute()
End Sub

Sub CommandButton2_Click()
	oOptionsOOoTepForm.Model.TextBox1.Text = RepereTraceEnPoche()
End Sub

Sub CommandButton3_Click()
	oOptionsOOoTepForm.Model.Step = 1
	oOptionsOOoTepForm.Model.Height = 122
End Sub

Sub CommandButton4_Click()
	oOptionsOOoTepForm.Model.Step = 2
	oOptionsOOoTepForm.Model.Height = 232
End Sub

Sub OptionButton1_Click()
	oOptionsOOoTepForm.Model.TextBox1.Enabled = True
	oOptionsOOoTepForm.Model.CommandButton2.Enabled = True
End Sub

Sub OptionButton2_Click()
	oOptionsOOoTepForm.Model.TextBox1.Enabled = False
	oOptionsOOoTepForm.Model.CommandButton2.Enabled = False
End Sub

Sub Image1_Click()
	ChangeCouleur oOptionsOOoTepForm.Model.ImageControl1
End Sub

Sub Image2_Click()
	ChangeCouleur oOptionsOOoTepForm.Model.ImageControl2
End Sub

Function RetourneOption(uneOption as String, valDefaut as string) as String
Dim uneChaine as Boolean

	if left(uneoption, 1) = &quot;s&quot; then
		uneChaine = True
		uneOption = mid(uneOption, 3)
	End If
	texteModule = getModuleText(&quot;Standard&quot;, &quot;OOoTep_dyn&quot;)
on error goto fin
	if instr(texteModule, &quot;OOoTep_&quot; &amp; uneOption) = 0 then 
		if uneChaine Then
			texteModule = texteModule &amp; chr(10) &amp; &quot;Public const OOoTep_&quot; &amp; uneOption &amp; &quot; = &quot; &amp; chr(34) &amp; valDefaut &amp; chr(34) &amp; &quot; &quot;
		Else
			texteModule = texteModule &amp; chr(10) &amp; &quot;Public const OOoTep_&quot; &amp; uneOption &amp; &quot; = &quot; &amp; valDefaut &amp; &quot; &quot;
		End if
	End if
	saveModuleText(&quot;Standard&quot;, &quot;OOoTep_dyn&quot;, texteModule)
	RetourneOption() = RetourneConstante(uneOption, uneChaine)
fin:
on error goto 0
End Function

Function RetourneOptionOOoTep(uneOption as String)
	RetourneOptionOOoTep() = &quot;&quot;
	select case uneOption
	case &quot;tracenpoche&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;s_FichierTraceEnPoche&quot;, &quot;dialogue&quot;)
	case &quot;optionbutton&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;DerniereOption&quot;, &quot;1&quot;)
	case &quot;epaisseur0&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;epaisseur0&quot;, &quot;10&quot;)
	case &quot;epaisseur1&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;epaisseur1&quot;, &quot;20&quot;)
	case &quot;epaisseur2&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;epaisseur2&quot;, &quot;40&quot;)
	case &quot;epaisseur3&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;epaisseur3&quot;, &quot;60&quot;)
	case &quot;epaisseur4&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;epaisseur4&quot;, &quot;80&quot;)
	case &quot;epaisseur6&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;epaisseur6&quot;, &quot;20&quot;)
	case &quot;epaisseur7&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;epaisseur7&quot;, &quot;20&quot;)
	case &quot;epaisseur8&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;epaisseur8&quot;, &quot;20&quot;)
	case &quot;epaisseur9&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;epaisseur9&quot;, &quot;20&quot;)
	case &quot;croix0&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;croix0&quot;, &quot;60&quot;)
	case &quot;croix1&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;croix1&quot;, &quot;80&quot;)
	case &quot;croix2&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;croix2&quot;, &quot;100&quot;)
	case &quot;croix3&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;croix3&quot;, &quot;120&quot;)
	case &quot;rond1&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;rond1&quot;, &quot;50&quot;)
	case &quot;rond2&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;rond2&quot;, &quot;70&quot;)
	case &quot;rond3&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;rond3&quot;, &quot;90&quot;)
	case &quot;taillepolice&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;taillepolice&quot;, &quot;9&quot;)
	case &quot;nompolice&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;s_nompolice&quot;, &quot;Bitstream Vera Sans&quot;)
	case &quot;couleurpolice&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;couleurpolice&quot;, &quot;0&quot;)
	case &quot;couleurdutrait&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;couleurdutrait&quot;, &quot;0&quot;)
	case &quot;codageangle&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;codageangle&quot;, &quot;600&quot;)
	case &quot;codagelongueur&quot;
		RetourneOptionOOoTep() = RetourneOption(&quot;codagelongueur&quot;, &quot;100&quot;)
	End Select
End Function

Sub EcritOption(uneOption as String, valDefaut as String, nValeur as String)
Dim uneChaine as Boolean

	if left(uneoption, 1) = &quot;s&quot; then 
		uneChaine = True
		uneOption = mid(uneOption, 3)
	End if
	texteModule = getModuleText(&quot;Standard&quot;, &quot;OOoTep_dyn&quot;)
	if instr(texteModule, &quot;OOoTep_&quot; &amp; uneOption) = 0 then 
		if uneChaine Then
			texteModule = texteModule &amp; chr(10) &amp; &quot;Public const OOoTep_&quot; &amp; uneOption &amp; &quot; = &quot; &amp; chr(34) &amp; valDefaut &amp; chr(34) &amp; &quot; &quot;
		Else
			texteModule = texteModule &amp; chr(10) &amp; &quot;Public const OOoTep_&quot; &amp; uneOption &amp; &quot; = &quot; &amp; valDefaut &amp; &quot; &quot;
		End if
	End if
	RemplaceConstante(uneOption, nValeur, uneChaine)
	saveModuleText(&quot;Standard&quot;, &quot;OOoTep_dyn&quot;, texteModule)
End Sub

Sub EcritOptionOOoTep(uneOption as String, nValeur as String)
	select case uneOption
	case &quot;tracenpoche&quot;
		EcritOption(&quot;s_FichierTraceEnPoche&quot;, &quot;dialogue&quot;, nValeur)
	case &quot;optionbutton&quot;
		EcritOption(&quot;DerniereOption&quot;, &quot;2&quot;, nValeur)
	case &quot;epaisseur0&quot;
		EcritOption(&quot;epaisseur0&quot;, &quot;10&quot;, nValeur)
	case &quot;epaisseur1&quot;
		EcritOption(&quot;epaisseur1&quot;, &quot;20&quot;, nValeur)
	case &quot;epaisseur2&quot;
		EcritOption(&quot;epaisseur2&quot;, &quot;40&quot;, nValeur)
	case &quot;epaisseur3&quot;
		EcritOption(&quot;epaisseur3&quot;, &quot;60&quot;, nValeur)
	case &quot;epaisseur4&quot;
		EcritOption(&quot;epaisseur4&quot;, &quot;80&quot;, nValeur)
	case &quot;epaisseur6&quot;
		EcritOption(&quot;epaisseur6&quot;, &quot;20&quot;, nValeur)
	case &quot;epaisseur7&quot;
		EcritOption(&quot;epaisseur7&quot;, &quot;20&quot;, nValeur)
	case &quot;epaisseur8&quot;
		EcritOption(&quot;epaisseur8&quot;, &quot;20&quot;, nValeur)
	case &quot;epaisseur9&quot;
		EcritOption(&quot;epaisseur9&quot;, &quot;20&quot;, nValeur)
	case &quot;croix0&quot;
		EcritOption(&quot;croix0&quot;, &quot;60&quot;, nValeur)
	case &quot;croix1&quot;
		EcritOption(&quot;croix1&quot;, &quot;80&quot;, nValeur)
	case &quot;croix2&quot;
		EcritOption(&quot;croix2&quot;, &quot;100&quot;, nValeur)
	case &quot;croix3&quot;
		EcritOption(&quot;croix3&quot;, &quot;120&quot;, nValeur)
	case &quot;rond1&quot;
		EcritOption(&quot;rond1&quot;, &quot;50&quot;, nValeur)
	case &quot;rond2&quot;
		EcritOption(&quot;rond2&quot;, &quot;70&quot;, nValeur)
	case &quot;rond3&quot;
		EcritOption(&quot;rond3&quot;, &quot;90&quot;, nValeur)
	case &quot;taillepolice&quot;
		EcritOption(&quot;taillepolice&quot;, &quot;9&quot;, nValeur)
	case &quot;nompolice&quot;
		EcritOption(&quot;s_nompolice&quot;, &quot;Bitstream Vera Sans&quot;, nValeur)
	case &quot;couleurpolice&quot;
		EcritOption(&quot;couleurpolice&quot;, &quot;0&quot;, nValeur)
	case &quot;couleurdutrait&quot;
		EcritOption(&quot;couleurdutrait&quot;, &quot;0&quot;, nValeur)
	case &quot;codageangle&quot;
		EcritOption(&quot;codageangle&quot;, &quot;600&quot;, nValeur)
	case &quot;codagelongueur&quot;
		EcritOption(&quot;codagelongueur&quot;, &quot;100&quot;, nValeur)
	End Select
End Sub

Sub RemplaceConstante(nomConstante as String, nConstante as String, uneChaine as Boolean)
Dim a, b

	a = instr(1, texteModule, &quot;OOoTep_&quot; &amp; nomConstante)
 	a = instr(a, texteModule, &quot;=&quot;)
	if not uneChaine then
		a = instr(a, texteModule, &quot; &quot;)
		b = instr(a + 1, texteModule, &quot; &quot;)
	else
		a = instr(a, texteModule, chr(34))
		b = instr(a + 1, texteModule, chr(34))
	end if
	texteModule = left(texteModule, a) &amp; nConstante &amp; mid(texteModule, b)
End Sub

Function RetourneConstante(nomConstante as String, uneChaine as Boolean)
Dim a, b
Dim nConstante as String

	a = instr(1, texteModule, &quot;OOoTep_&quot; &amp; nomConstante)
	if not uneChaine then
		a = instr(a, texteModule, &quot;=&quot;)
		b = instr(a + 2, texteModule, &quot; &quot;)
	else
		a = instr(a, texteModule, chr(34))
		b = instr(a + 1, texteModule, chr(34))
	end if
	nConstante = mid(texteModule, a + 1, b - a - 1)
	RetourneConstante() = nConstante
End Function

Function getModuleText(LibN As String, ModN As String) As String
Dim LibContainer As Object
Dim Lib1 As Object

LibContainer = GlobalScope.BasicLibraries
Lib1 = LibContainer.getByName(LibN)
if Lib1.hasByName(ModN) then
 getModuleText = Lib1.getByName(ModN)
else
 getModuleText = &quot;&quot;
end if
End Function


&apos; returns true if successful
Function saveModuleText(LibN As String, ModN As String, newText As String) As Boolean
Dim LibContainer As Object
Dim Lib1 As Object

LibContainer = GlobalScope.BasicLibraries
Lib1 = LibContainer.getByName(LibN)
if Lib1.hasByName(ModN) then
 Lib1.replacebyName(ModN, newText)
 saveModuleText = true
else
	Lib1.insertByName(ModN, newText)
	 saveModuleText = saveModuleText(LibN, ModN, newText)
end if
BasicLibraries.LoadLibrary(LibN)
End Function


</script:module>