Browse Source

Initial Commmit

Ghislain Loaec 5 years ago
commit
1d7e38ad20

+ 621
- 0
COPYING View File

@@ -0,0 +1,621 @@
1
+                    GNU GENERAL PUBLIC LICENSE
2
+                       Version 3, 29 June 2007
3
+
4
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
5
+ Everyone is permitted to copy and distribute verbatim copies
6
+ of this license document, but changing it is not allowed.
7
+
8
+                            Preamble
9
+
10
+  The GNU General Public License is a free, copyleft license for
11
+software and other kinds of works.
12
+
13
+  The licenses for most software and other practical works are designed
14
+to take away your freedom to share and change the works.  By contrast,
15
+the GNU General Public License is intended to guarantee your freedom to
16
+share and change all versions of a program--to make sure it remains free
17
+software for all its users.  We, the Free Software Foundation, use the
18
+GNU General Public License for most of our software; it applies also to
19
+any other work released this way by its authors.  You can apply it to
20
+your programs, too.
21
+
22
+  When we speak of free software, we are referring to freedom, not
23
+price.  Our General Public Licenses are designed to make sure that you
24
+have the freedom to distribute copies of free software (and charge for
25
+them if you wish), that you receive source code or can get it if you
26
+want it, that you can change the software or use pieces of it in new
27
+free programs, and that you know you can do these things.
28
+
29
+  To protect your rights, we need to prevent others from denying you
30
+these rights or asking you to surrender the rights.  Therefore, you have
31
+certain responsibilities if you distribute copies of the software, or if
32
+you modify it: responsibilities to respect the freedom of others.
33
+
34
+  For example, if you distribute copies of such a program, whether
35
+gratis or for a fee, you must pass on to the recipients the same
36
+freedoms that you received.  You must make sure that they, too, receive
37
+or can get the source code.  And you must show them these terms so they
38
+know their rights.
39
+
40
+  Developers that use the GNU GPL protect your rights with two steps:
41
+(1) assert copyright on the software, and (2) offer you this License
42
+giving you legal permission to copy, distribute and/or modify it.
43
+
44
+  For the developers' and authors' protection, the GPL clearly explains
45
+that there is no warranty for this free software.  For both users' and
46
+authors' sake, the GPL requires that modified versions be marked as
47
+changed, so that their problems will not be attributed erroneously to
48
+authors of previous versions.
49
+
50
+  Some devices are designed to deny users access to install or run
51
+modified versions of the software inside them, although the manufacturer
52
+can do so.  This is fundamentally incompatible with the aim of
53
+protecting users' freedom to change the software.  The systematic
54
+pattern of such abuse occurs in the area of products for individuals to
55
+use, which is precisely where it is most unacceptable.  Therefore, we
56
+have designed this version of the GPL to prohibit the practice for those
57
+products.  If such problems arise substantially in other domains, we
58
+stand ready to extend this provision to those domains in future versions
59
+of the GPL, as needed to protect the freedom of users.
60
+
61
+  Finally, every program is threatened constantly by software patents.
62
+States should not allow patents to restrict development and use of
63
+software on general-purpose computers, but in those that do, we wish to
64
+avoid the special danger that patents applied to a free program could
65
+make it effectively proprietary.  To prevent this, the GPL assures that
66
+patents cannot be used to render the program non-free.
67
+
68
+  The precise terms and conditions for copying, distribution and
69
+modification follow.
70
+
71
+                       TERMS AND CONDITIONS
72
+
73
+  0. Definitions.
74
+
75
+  "This License" refers to version 3 of the GNU General Public License.
76
+
77
+  "Copyright" also means copyright-like laws that apply to other kinds of
78
+works, such as semiconductor masks.
79
+
80
+  "The Program" refers to any copyrightable work licensed under this
81
+License.  Each licensee is addressed as "you".  "Licensees" and
82
+"recipients" may be individuals or organizations.
83
+
84
+  To "modify" a work means to copy from or adapt all or part of the work
85
+in a fashion requiring copyright permission, other than the making of an
86
+exact copy.  The resulting work is called a "modified version" of the
87
+earlier work or a work "based on" the earlier work.
88
+
89
+  A "covered work" means either the unmodified Program or a work based
90
+on the Program.
91
+
92
+  To "propagate" a work means to do anything with it that, without
93
+permission, would make you directly or secondarily liable for
94
+infringement under applicable copyright law, except executing it on a
95
+computer or modifying a private copy.  Propagation includes copying,
96
+distribution (with or without modification), making available to the
97
+public, and in some countries other activities as well.
98
+
99
+  To "convey" a work means any kind of propagation that enables other
100
+parties to make or receive copies.  Mere interaction with a user through
101
+a computer network, with no transfer of a copy, is not conveying.
102
+
103
+  An interactive user interface displays "Appropriate Legal Notices"
104
+to the extent that it includes a convenient and prominently visible
105
+feature that (1) displays an appropriate copyright notice, and (2)
106
+tells the user that there is no warranty for the work (except to the
107
+extent that warranties are provided), that licensees may convey the
108
+work under this License, and how to view a copy of this License.  If
109
+the interface presents a list of user commands or options, such as a
110
+menu, a prominent item in the list meets this criterion.
111
+
112
+  1. Source Code.
113
+
114
+  The "source code" for a work means the preferred form of the work
115
+for making modifications to it.  "Object code" means any non-source
116
+form of a work.
117
+
118
+  A "Standard Interface" means an interface that either is an official
119
+standard defined by a recognized standards body, or, in the case of
120
+interfaces specified for a particular programming language, one that
121
+is widely used among developers working in that language.
122
+
123
+  The "System Libraries" of an executable work include anything, other
124
+than the work as a whole, that (a) is included in the normal form of
125
+packaging a Major Component, but which is not part of that Major
126
+Component, and (b) serves only to enable use of the work with that
127
+Major Component, or to implement a Standard Interface for which an
128
+implementation is available to the public in source code form.  A
129
+"Major Component", in this context, means a major essential component
130
+(kernel, window system, and so on) of the specific operating system
131
+(if any) on which the executable work runs, or a compiler used to
132
+produce the work, or an object code interpreter used to run it.
133
+
134
+  The "Corresponding Source" for a work in object code form means all
135
+the source code needed to generate, install, and (for an executable
136
+work) run the object code and to modify the work, including scripts to
137
+control those activities.  However, it does not include the work's
138
+System Libraries, or general-purpose tools or generally available free
139
+programs which are used unmodified in performing those activities but
140
+which are not part of the work.  For example, Corresponding Source
141
+includes interface definition files associated with source files for
142
+the work, and the source code for shared libraries and dynamically
143
+linked subprograms that the work is specifically designed to require,
144
+such as by intimate data communication or control flow between those
145
+subprograms and other parts of the work.
146
+
147
+  The Corresponding Source need not include anything that users
148
+can regenerate automatically from other parts of the Corresponding
149
+Source.
150
+
151
+  The Corresponding Source for a work in source code form is that
152
+same work.
153
+
154
+  2. Basic Permissions.
155
+
156
+  All rights granted under this License are granted for the term of
157
+copyright on the Program, and are irrevocable provided the stated
158
+conditions are met.  This License explicitly affirms your unlimited
159
+permission to run the unmodified Program.  The output from running a
160
+covered work is covered by this License only if the output, given its
161
+content, constitutes a covered work.  This License acknowledges your
162
+rights of fair use or other equivalent, as provided by copyright law.
163
+
164
+  You may make, run and propagate covered works that you do not
165
+convey, without conditions so long as your license otherwise remains
166
+in force.  You may convey covered works to others for the sole purpose
167
+of having them make modifications exclusively for you, or provide you
168
+with facilities for running those works, provided that you comply with
169
+the terms of this License in conveying all material for which you do
170
+not control copyright.  Those thus making or running the covered works
171
+for you must do so exclusively on your behalf, under your direction
172
+and control, on terms that prohibit them from making any copies of
173
+your copyrighted material outside their relationship with you.
174
+
175
+  Conveying under any other circumstances is permitted solely under
176
+the conditions stated below.  Sublicensing is not allowed; section 10
177
+makes it unnecessary.
178
+
179
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180
+
181
+  No covered work shall be deemed part of an effective technological
182
+measure under any applicable law fulfilling obligations under article
183
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
184
+similar laws prohibiting or restricting circumvention of such
185
+measures.
186
+
187
+  When you convey a covered work, you waive any legal power to forbid
188
+circumvention of technological measures to the extent such circumvention
189
+is effected by exercising rights under this License with respect to
190
+the covered work, and you disclaim any intention to limit operation or
191
+modification of the work as a means of enforcing, against the work's
192
+users, your or third parties' legal rights to forbid circumvention of
193
+technological measures.
194
+
195
+  4. Conveying Verbatim Copies.
196
+
197
+  You may convey verbatim copies of the Program's source code as you
198
+receive it, in any medium, provided that you conspicuously and
199
+appropriately publish on each copy an appropriate copyright notice;
200
+keep intact all notices stating that this License and any
201
+non-permissive terms added in accord with section 7 apply to the code;
202
+keep intact all notices of the absence of any warranty; and give all
203
+recipients a copy of this License along with the Program.
204
+
205
+  You may charge any price or no price for each copy that you convey,
206
+and you may offer support or warranty protection for a fee.
207
+
208
+  5. Conveying Modified Source Versions.
209
+
210
+  You may convey a work based on the Program, or the modifications to
211
+produce it from the Program, in the form of source code under the
212
+terms of section 4, provided that you also meet all of these conditions:
213
+
214
+    a) The work must carry prominent notices stating that you modified
215
+    it, and giving a relevant date.
216
+
217
+    b) The work must carry prominent notices stating that it is
218
+    released under this License and any conditions added under section
219
+    7.  This requirement modifies the requirement in section 4 to
220
+    "keep intact all notices".
221
+
222
+    c) You must license the entire work, as a whole, under this
223
+    License to anyone who comes into possession of a copy.  This
224
+    License will therefore apply, along with any applicable section 7
225
+    additional terms, to the whole of the work, and all its parts,
226
+    regardless of how they are packaged.  This License gives no
227
+    permission to license the work in any other way, but it does not
228
+    invalidate such permission if you have separately received it.
229
+
230
+    d) If the work has interactive user interfaces, each must display
231
+    Appropriate Legal Notices; however, if the Program has interactive
232
+    interfaces that do not display Appropriate Legal Notices, your
233
+    work need not make them do so.
234
+
235
+  A compilation of a covered work with other separate and independent
236
+works, which are not by their nature extensions of the covered work,
237
+and which are not combined with it such as to form a larger program,
238
+in or on a volume of a storage or distribution medium, is called an
239
+"aggregate" if the compilation and its resulting copyright are not
240
+used to limit the access or legal rights of the compilation's users
241
+beyond what the individual works permit.  Inclusion of a covered work
242
+in an aggregate does not cause this License to apply to the other
243
+parts of the aggregate.
244
+
245
+  6. Conveying Non-Source Forms.
246
+
247
+  You may convey a covered work in object code form under the terms
248
+of sections 4 and 5, provided that you also convey the
249
+machine-readable Corresponding Source under the terms of this License,
250
+in one of these ways:
251
+
252
+    a) Convey the object code in, or embodied in, a physical product
253
+    (including a physical distribution medium), accompanied by the
254
+    Corresponding Source fixed on a durable physical medium
255
+    customarily used for software interchange.
256
+
257
+    b) Convey the object code in, or embodied in, a physical product
258
+    (including a physical distribution medium), accompanied by a
259
+    written offer, valid for at least three years and valid for as
260
+    long as you offer spare parts or customer support for that product
261
+    model, to give anyone who possesses the object code either (1) a
262
+    copy of the Corresponding Source for all the software in the
263
+    product that is covered by this License, on a durable physical
264
+    medium customarily used for software interchange, for a price no
265
+    more than your reasonable cost of physically performing this
266
+    conveying of source, or (2) access to copy the
267
+    Corresponding Source from a network server at no charge.
268
+
269
+    c) Convey individual copies of the object code with a copy of the
270
+    written offer to provide the Corresponding Source.  This
271
+    alternative is allowed only occasionally and noncommercially, and
272
+    only if you received the object code with such an offer, in accord
273
+    with subsection 6b.
274
+
275
+    d) Convey the object code by offering access from a designated
276
+    place (gratis or for a charge), and offer equivalent access to the
277
+    Corresponding Source in the same way through the same place at no
278
+    further charge.  You need not require recipients to copy the
279
+    Corresponding Source along with the object code.  If the place to
280
+    copy the object code is a network server, the Corresponding Source
281
+    may be on a different server (operated by you or a third party)
282
+    that supports equivalent copying facilities, provided you maintain
283
+    clear directions next to the object code saying where to find the
284
+    Corresponding Source.  Regardless of what server hosts the
285
+    Corresponding Source, you remain obligated to ensure that it is
286
+    available for as long as needed to satisfy these requirements.
287
+
288
+    e) Convey the object code using peer-to-peer transmission, provided
289
+    you inform other peers where the object code and Corresponding
290
+    Source of the work are being offered to the general public at no
291
+    charge under subsection 6d.
292
+
293
+  A separable portion of the object code, whose source code is excluded
294
+from the Corresponding Source as a System Library, need not be
295
+included in conveying the object code work.
296
+
297
+  A "User Product" is either (1) a "consumer product", which means any
298
+tangible personal property which is normally used for personal, family,
299
+or household purposes, or (2) anything designed or sold for incorporation
300
+into a dwelling.  In determining whether a product is a consumer product,
301
+doubtful cases shall be resolved in favor of coverage.  For a particular
302
+product received by a particular user, "normally used" refers to a
303
+typical or common use of that class of product, regardless of the status
304
+of the particular user or of the way in which the particular user
305
+actually uses, or expects or is expected to use, the product.  A product
306
+is a consumer product regardless of whether the product has substantial
307
+commercial, industrial or non-consumer uses, unless such uses represent
308
+the only significant mode of use of the product.
309
+
310
+  "Installation Information" for a User Product means any methods,
311
+procedures, authorization keys, or other information required to install
312
+and execute modified versions of a covered work in that User Product from
313
+a modified version of its Corresponding Source.  The information must
314
+suffice to ensure that the continued functioning of the modified object
315
+code is in no case prevented or interfered with solely because
316
+modification has been made.
317
+
318
+  If you convey an object code work under this section in, or with, or
319
+specifically for use in, a User Product, and the conveying occurs as
320
+part of a transaction in which the right of possession and use of the
321
+User Product is transferred to the recipient in perpetuity or for a
322
+fixed term (regardless of how the transaction is characterized), the
323
+Corresponding Source conveyed under this section must be accompanied
324
+by the Installation Information.  But this requirement does not apply
325
+if neither you nor any third party retains the ability to install
326
+modified object code on the User Product (for example, the work has
327
+been installed in ROM).
328
+
329
+  The requirement to provide Installation Information does not include a
330
+requirement to continue to provide support service, warranty, or updates
331
+for a work that has been modified or installed by the recipient, or for
332
+the User Product in which it has been modified or installed.  Access to a
333
+network may be denied when the modification itself materially and
334
+adversely affects the operation of the network or violates the rules and
335
+protocols for communication across the network.
336
+
337
+  Corresponding Source conveyed, and Installation Information provided,
338
+in accord with this section must be in a format that is publicly
339
+documented (and with an implementation available to the public in
340
+source code form), and must require no special password or key for
341
+unpacking, reading or copying.
342
+
343
+  7. Additional Terms.
344
+
345
+  "Additional permissions" are terms that supplement the terms of this
346
+License by making exceptions from one or more of its conditions.
347
+Additional permissions that are applicable to the entire Program shall
348
+be treated as though they were included in this License, to the extent
349
+that they are valid under applicable law.  If additional permissions
350
+apply only to part of the Program, that part may be used separately
351
+under those permissions, but the entire Program remains governed by
352
+this License without regard to the additional permissions.
353
+
354
+  When you convey a copy of a covered work, you may at your option
355
+remove any additional permissions from that copy, or from any part of
356
+it.  (Additional permissions may be written to require their own
357
+removal in certain cases when you modify the work.)  You may place
358
+additional permissions on material, added by you to a covered work,
359
+for which you have or can give appropriate copyright permission.
360
+
361
+  Notwithstanding any other provision of this License, for material you
362
+add to a covered work, you may (if authorized by the copyright holders of
363
+that material) supplement the terms of this License with terms:
364
+
365
+    a) Disclaiming warranty or limiting liability differently from the
366
+    terms of sections 15 and 16 of this License; or
367
+
368
+    b) Requiring preservation of specified reasonable legal notices or
369
+    author attributions in that material or in the Appropriate Legal
370
+    Notices displayed by works containing it; or
371
+
372
+    c) Prohibiting misrepresentation of the origin of that material, or
373
+    requiring that modified versions of such material be marked in
374
+    reasonable ways as different from the original version; or
375
+
376
+    d) Limiting the use for publicity purposes of names of licensors or
377
+    authors of the material; or
378
+
379
+    e) Declining to grant rights under trademark law for use of some
380
+    trade names, trademarks, or service marks; or
381
+
382
+    f) Requiring indemnification of licensors and authors of that
383
+    material by anyone who conveys the material (or modified versions of
384
+    it) with contractual assumptions of liability to the recipient, for
385
+    any liability that these contractual assumptions directly impose on
386
+    those licensors and authors.
387
+
388
+  All other non-permissive additional terms are considered "further
389
+restrictions" within the meaning of section 10.  If the Program as you
390
+received it, or any part of it, contains a notice stating that it is
391
+governed by this License along with a term that is a further
392
+restriction, you may remove that term.  If a license document contains
393
+a further restriction but permits relicensing or conveying under this
394
+License, you may add to a covered work material governed by the terms
395
+of that license document, provided that the further restriction does
396
+not survive such relicensing or conveying.
397
+
398
+  If you add terms to a covered work in accord with this section, you
399
+must place, in the relevant source files, a statement of the
400
+additional terms that apply to those files, or a notice indicating
401
+where to find the applicable terms.
402
+
403
+  Additional terms, permissive or non-permissive, may be stated in the
404
+form of a separately written license, or stated as exceptions;
405
+the above requirements apply either way.
406
+
407
+  8. Termination.
408
+
409
+  You may not propagate or modify a covered work except as expressly
410
+provided under this License.  Any attempt otherwise to propagate or
411
+modify it is void, and will automatically terminate your rights under
412
+this License (including any patent licenses granted under the third
413
+paragraph of section 11).
414
+
415
+  However, if you cease all violation of this License, then your
416
+license from a particular copyright holder is reinstated (a)
417
+provisionally, unless and until the copyright holder explicitly and
418
+finally terminates your license, and (b) permanently, if the copyright
419
+holder fails to notify you of the violation by some reasonable means
420
+prior to 60 days after the cessation.
421
+
422
+  Moreover, your license from a particular copyright holder is
423
+reinstated permanently if the copyright holder notifies you of the
424
+violation by some reasonable means, this is the first time you have
425
+received notice of violation of this License (for any work) from that
426
+copyright holder, and you cure the violation prior to 30 days after
427
+your receipt of the notice.
428
+
429
+  Termination of your rights under this section does not terminate the
430
+licenses of parties who have received copies or rights from you under
431
+this License.  If your rights have been terminated and not permanently
432
+reinstated, you do not qualify to receive new licenses for the same
433
+material under section 10.
434
+
435
+  9. Acceptance Not Required for Having Copies.
436
+
437
+  You are not required to accept this License in order to receive or
438
+run a copy of the Program.  Ancillary propagation of a covered work
439
+occurring solely as a consequence of using peer-to-peer transmission
440
+to receive a copy likewise does not require acceptance.  However,
441
+nothing other than this License grants you permission to propagate or
442
+modify any covered work.  These actions infringe copyright if you do
443
+not accept this License.  Therefore, by modifying or propagating a
444
+covered work, you indicate your acceptance of this License to do so.
445
+
446
+  10. Automatic Licensing of Downstream Recipients.
447
+
448
+  Each time you convey a covered work, the recipient automatically
449
+receives a license from the original licensors, to run, modify and
450
+propagate that work, subject to this License.  You are not responsible
451
+for enforcing compliance by third parties with this License.
452
+
453
+  An "entity transaction" is a transaction transferring control of an
454
+organization, or substantially all assets of one, or subdividing an
455
+organization, or merging organizations.  If propagation of a covered
456
+work results from an entity transaction, each party to that
457
+transaction who receives a copy of the work also receives whatever
458
+licenses to the work the party's predecessor in interest had or could
459
+give under the previous paragraph, plus a right to possession of the
460
+Corresponding Source of the work from the predecessor in interest, if
461
+the predecessor has it or can get it with reasonable efforts.
462
+
463
+  You may not impose any further restrictions on the exercise of the
464
+rights granted or affirmed under this License.  For example, you may
465
+not impose a license fee, royalty, or other charge for exercise of
466
+rights granted under this License, and you may not initiate litigation
467
+(including a cross-claim or counterclaim in a lawsuit) alleging that
468
+any patent claim is infringed by making, using, selling, offering for
469
+sale, or importing the Program or any portion of it.
470
+
471
+  11. Patents.
472
+
473
+  A "contributor" is a copyright holder who authorizes use under this
474
+License of the Program or a work on which the Program is based.  The
475
+work thus licensed is called the contributor's "contributor version".
476
+
477
+  A contributor's "essential patent claims" are all patent claims
478
+owned or controlled by the contributor, whether already acquired or
479
+hereafter acquired, that would be infringed by some manner, permitted
480
+by this License, of making, using, or selling its contributor version,
481
+but do not include claims that would be infringed only as a
482
+consequence of further modification of the contributor version.  For
483
+purposes of this definition, "control" includes the right to grant
484
+patent sublicenses in a manner consistent with the requirements of
485
+this License.
486
+
487
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
488
+patent license under the contributor's essential patent claims, to
489
+make, use, sell, offer for sale, import and otherwise run, modify and
490
+propagate the contents of its contributor version.
491
+
492
+  In the following three paragraphs, a "patent license" is any express
493
+agreement or commitment, however denominated, not to enforce a patent
494
+(such as an express permission to practice a patent or covenant not to
495
+sue for patent infringement).  To "grant" such a patent license to a
496
+party means to make such an agreement or commitment not to enforce a
497
+patent against the party.
498
+
499
+  If you convey a covered work, knowingly relying on a patent license,
500
+and the Corresponding Source of the work is not available for anyone
501
+to copy, free of charge and under the terms of this License, through a
502
+publicly available network server or other readily accessible means,
503
+then you must either (1) cause the Corresponding Source to be so
504
+available, or (2) arrange to deprive yourself of the benefit of the
505
+patent license for this particular work, or (3) arrange, in a manner
506
+consistent with the requirements of this License, to extend the patent
507
+license to downstream recipients.  "Knowingly relying" means you have
508
+actual knowledge that, but for the patent license, your conveying the
509
+covered work in a country, or your recipient's use of the covered work
510
+in a country, would infringe one or more identifiable patents in that
511
+country that you have reason to believe are valid.
512
+
513
+  If, pursuant to or in connection with a single transaction or
514
+arrangement, you convey, or propagate by procuring conveyance of, a
515
+covered work, and grant a patent license to some of the parties
516
+receiving the covered work authorizing them to use, propagate, modify
517
+or convey a specific copy of the covered work, then the patent license
518
+you grant is automatically extended to all recipients of the covered
519
+work and works based on it.
520
+
521
+  A patent license is "discriminatory" if it does not include within
522
+the scope of its coverage, prohibits the exercise of, or is
523
+conditioned on the non-exercise of one or more of the rights that are
524
+specifically granted under this License.  You may not convey a covered
525
+work if you are a party to an arrangement with a third party that is
526
+in the business of distributing software, under which you make payment
527
+to the third party based on the extent of your activity of conveying
528
+the work, and under which the third party grants, to any of the
529
+parties who would receive the covered work from you, a discriminatory
530
+patent license (a) in connection with copies of the covered work
531
+conveyed by you (or copies made from those copies), or (b) primarily
532
+for and in connection with specific products or compilations that
533
+contain the covered work, unless you entered into that arrangement,
534
+or that patent license was granted, prior to 28 March 2007.
535
+
536
+  Nothing in this License shall be construed as excluding or limiting
537
+any implied license or other defenses to infringement that may
538
+otherwise be available to you under applicable patent law.
539
+
540
+  12. No Surrender of Others' Freedom.
541
+
542
+  If conditions are imposed on you (whether by court order, agreement or
543
+otherwise) that contradict the conditions of this License, they do not
544
+excuse you from the conditions of this License.  If you cannot convey a
545
+covered work so as to satisfy simultaneously your obligations under this
546
+License and any other pertinent obligations, then as a consequence you may
547
+not convey it at all.  For example, if you agree to terms that obligate you
548
+to collect a royalty for further conveying from those to whom you convey
549
+the Program, the only way you could satisfy both those terms and this
550
+License would be to refrain entirely from conveying the Program.
551
+
552
+  13. Use with the GNU Affero General Public License.
553
+
554
+  Notwithstanding any other provision of this License, you have
555
+permission to link or combine any covered work with a work licensed
556
+under version 3 of the GNU Affero General Public License into a single
557
+combined work, and to convey the resulting work.  The terms of this
558
+License will continue to apply to the part which is the covered work,
559
+but the special requirements of the GNU Affero General Public License,
560
+section 13, concerning interaction through a network will apply to the
561
+combination as such.
562
+
563
+  14. Revised Versions of this License.
564
+
565
+  The Free Software Foundation may publish revised and/or new versions of
566
+the GNU General Public License from time to time.  Such new versions will
567
+be similar in spirit to the present version, but may differ in detail to
568
+address new problems or concerns.
569
+
570
+  Each version is given a distinguishing version number.  If the
571
+Program specifies that a certain numbered version of the GNU General
572
+Public License "or any later version" applies to it, you have the
573
+option of following the terms and conditions either of that numbered
574
+version or of any later version published by the Free Software
575
+Foundation.  If the Program does not specify a version number of the
576
+GNU General Public License, you may choose any version ever published
577
+by the Free Software Foundation.
578
+
579
+  If the Program specifies that a proxy can decide which future
580
+versions of the GNU General Public License can be used, that proxy's
581
+public statement of acceptance of a version permanently authorizes you
582
+to choose that version for the Program.
583
+
584
+  Later license versions may give you additional or different
585
+permissions.  However, no additional obligations are imposed on any
586
+author or copyright holder as a result of your choosing to follow a
587
+later version.
588
+
589
+  15. Disclaimer of Warranty.
590
+
591
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599
+
600
+  16. Limitation of Liability.
601
+
602
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610
+SUCH DAMAGES.
611
+
612
+  17. Interpretation of Sections 15 and 16.
613
+
614
+  If the disclaimer of warranty and limitation of liability provided
615
+above cannot be given local legal effect according to their terms,
616
+reviewing courts shall apply local law that most closely approximates
617
+an absolute waiver of all civil liability in connection with the
618
+Program, unless a warranty or assumption of liability accompanies a
619
+copy of the Program in return for a fee.
620
+
621
+                     END OF TERMS AND CONDITIONS

+ 88
- 0
README.md View File

@@ -0,0 +1,88 @@
1
+My Module
2
+=========
3
+
4
+This is a full featured module template for Dolibarr
5
+
6
+Licence
7
+-------
8
+GPLv3 or (at your option) any later version.
9
+
10
+See COPYING for more information.
11
+
12
+INSTALL
13
+-------
14
+
15
+To install this module, Dolibarr (v >= 3.3) have to be already installed and configured on your server.
16
+
17
+- In your Dolibarr installation directory: edit the htdocs/conf/conf.php file
18
+- Find the following lines:
19
+
20
+	\#$=dolibarr_main_url_root_alt ...
21
+
22
+	\#$=dolibarr_main_document_root_alt ...
23
+
24
+	or
25
+
26
+	//$=dolibarr_main_url_root_alt ...
27
+
28
+	//$=dolibarr_main_document_root_alt ...
29
+
30
+- Delete the first "#" (or "//") of these lines and assign a value consistent with your Dolibarr installation
31
+
32
+	$dolibarr_main_url_root = ...
33
+
34
+	and
35
+
36
+	$dolibarr_main_document_root = ...
37
+
38
+for example on UNIX systems:
39
+
40
+	$dolibarr_main_url_root = 'http://localhost/Dolibarr/htdocs';
41
+
42
+	$dolibarr_main_document_root = '/var/www/Dolibarr/htdocs';
43
+
44
+	$dolibarr_main_url_root_alt = 'http://localhost/Dolibarr/htdocs/custom';
45
+
46
+	$dolibarr_main_document_root_alt = '/var/www/Dolibarr/htdocs/custom';
47
+
48
+for example on a Windows system:
49
+
50
+	$dolibarr_main_url_root = 'http://localhost/Dolibarr/htdocs';
51
+
52
+	$dolibarr_main_document_root = 'C:/My Web Sites/Dolibarr/htdocs';
53
+
54
+	$dolibarr_main_url_root_alt = 'http://localhost/Dolibarr/htdocs/custom';
55
+
56
+	$dolibarr_main_document_root_alt = 'C:/My Web Sites/Dolibarr/htdocs/custom';
57
+
58
+For more information about the conf.php file take a look at the conf.php.example file.
59
+
60
+- Clone the repsitory in $dolibarr_main_document_root_alt/mymodule
61
+
62
+(You may have to create the custom directory first if it doesn't exist yet.)
63
+
64
+```
65
+git clone --recursive git@github.com:rdoursenaud/dolibarr-module-template.git mymodule
66
+```
67
+
68
+- The template now uses a git submodule to fetch the PHP Markdown library. If your git version is less than 1.6.5, the --recursive parameter won't work. Please use this to fetch the latest version:
69
+```
70
+git clone git@github.com:rdoursenaud/dolibarr-module-template.git mymodule
71
+cd mymodule
72
+git submodule update --init
73
+```
74
+
75
+for example on UNIX systems: /var/www/Dolibarr/htdocs/custom
76
+
77
+for example on a Windows system: C:/My Web Sites/Dolibarr/htdocs/custom
78
+
79
+From your browser:
80
+- log in as a Dolibarr administrator
81
+- under "Setup" -> "Other setup", set "MAIN_FEATURES_LEVEL" to "2"
82
+- go to "Setup" -> "Modules"
83
+- the module is under one of the tabs
84
+- you should now be able to enable the new module
85
+
86
+Other Licences
87
+--------------
88
+Uses Michel Fortin's PHP Markdown Licensed under BSD to display this README.

+ 91
- 0
admin/about.php View File

@@ -0,0 +1,91 @@
1
+<?php
2
+/* <one line to give the program's name and a brief idea of what it does.>
3
+ * Copyright (C) <year>  <name of author>
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+
19
+/**
20
+ * 	\file		admin/about.php
21
+ * 	\ingroup	mymodule
22
+ * 	\brief		This file is an example about page
23
+ * 				Put some comments here
24
+ */
25
+// Dolibarr environment
26
+$res = @include("../../main.inc.php"); // From htdocs directory
27
+if (! $res) {
28
+    $res = @include("../../../main.inc.php"); // From "custom" directory
29
+}
30
+
31
+
32
+// Libraries
33
+require_once DOL_DOCUMENT_ROOT . "/core/lib/admin.lib.php";
34
+require_once '../lib/mymodule.lib.php';
35
+
36
+dol_include_once('/mymodule/lib/php-markdown/markdown.php');
37
+
38
+
39
+//require_once "../class/myclass.class.php";
40
+// Translations
41
+$langs->load("mymodule@mymodule");
42
+
43
+// Access control
44
+if (! $user->admin) {
45
+    accessforbidden();
46
+}
47
+
48
+// Parameters
49
+$action = GETPOST('action', 'alpha');
50
+
51
+/*
52
+ * Actions
53
+ */
54
+
55
+/*
56
+ * View
57
+ */
58
+$page_name = "MyModuleAbout";
59
+llxHeader('', $langs->trans($page_name));
60
+
61
+// Subheader
62
+$linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php">'
63
+    . $langs->trans("BackToModuleList") . '</a>';
64
+print_fiche_titre($langs->trans($page_name), $linkback);
65
+
66
+// Configuration header
67
+$head = mymoduleAdminPrepareHead();
68
+dol_fiche_head(
69
+    $head,
70
+    'about',
71
+    $langs->trans("Module10000Name"),
72
+    0,
73
+    'mymodule@mymodule'
74
+);
75
+
76
+// About page goes here
77
+echo $langs->trans("MyModuleAboutPage");
78
+
79
+echo '<br>';
80
+
81
+$buffer = file_get_contents(dol_buildpath('/mymodule/README.md', 0));
82
+echo Markdown($buffer);
83
+
84
+echo '<br>',
85
+'<a href="' . dol_buildpath('/mymodule/COPYING', 1) . '">',
86
+'<img src="' . dol_buildpath('/mymodule/img/gplv3.png', 1) . '"/>',
87
+'</a>';
88
+
89
+llxFooter();
90
+
91
+$db->close();

+ 77
- 0
admin/admin_mymodule.php View File

@@ -0,0 +1,77 @@
1
+<?php
2
+/* <one line to give the program's name and a brief idea of what it does.>
3
+ * Copyright (C) <year>  <name of author>
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+
19
+/**
20
+ * 	\file		admin/mymodule.php
21
+ * 	\ingroup	mymodule
22
+ * 	\brief		This file is an example module setup page
23
+ * 				Put some comments here
24
+ */
25
+// Dolibarr environment
26
+$res = @include("../../main.inc.php"); // From htdocs directory
27
+if (! $res) {
28
+    $res = @include("../../../main.inc.php"); // From "custom" directory
29
+}
30
+
31
+
32
+// Libraries
33
+require_once DOL_DOCUMENT_ROOT . "/core/lib/admin.lib.php";
34
+require_once '../lib/mymodule.lib.php';
35
+//require_once "../class/myclass.class.php";
36
+// Translations
37
+$langs->load("mymodule@mymodule");
38
+
39
+// Access control
40
+if (! $user->admin) {
41
+    accessforbidden();
42
+}
43
+
44
+// Parameters
45
+$action = GETPOST('action', 'alpha');
46
+
47
+/*
48
+ * Actions
49
+ */
50
+
51
+/*
52
+ * View
53
+ */
54
+$page_name = "MyModuleSetup";
55
+llxHeader('', $langs->trans($page_name));
56
+
57
+// Subheader
58
+$linkback = '<a href="' . DOL_URL_ROOT . '/admin/modules.php">'
59
+    . $langs->trans("BackToModuleList") . '</a>';
60
+print_fiche_titre($langs->trans($page_name), $linkback);
61
+
62
+// Configuration header
63
+$head = mymoduleAdminPrepareHead();
64
+dol_fiche_head(
65
+    $head,
66
+    'settings',
67
+    $langs->trans("Module10000Name"),
68
+    0,
69
+    "mymodule@mymodule"
70
+);
71
+
72
+// Setup page goes here
73
+echo $langs->trans("MyModuleSetupPage");
74
+
75
+llxFooter();
76
+
77
+$db->close();

+ 7
- 0
build/.gitignore View File

@@ -0,0 +1,7 @@
1
+nbproject
2
+default.properties
3
+.buildpath
4
+.gitmodules
5
+doxygen_warnings.log
6
+/.project
7
+.DS_Store

+ 1636
- 0
build/doxygen/mymodule.doxyfile View File

@@ -0,0 +1,1636 @@
1
+# Doxyfile 1.7.3
2
+
3
+# This file describes the settings to be used by the documentation system
4
+# doxygen (www.doxygen.org) for a project
5
+#
6
+# All text after a hash (#) is considered a comment and will be ignored
7
+# The format is:
8
+#       TAG = value [value, ...]
9
+# For lists items can also be appended using:
10
+#       TAG += value [value, ...]
11
+# Values that contain spaces should be placed between quotes (" ")
12
+
13
+#---------------------------------------------------------------------------
14
+# Project related configuration options
15
+#---------------------------------------------------------------------------
16
+
17
+# This tag specifies the encoding used for all characters in the config file
18
+# that follow. The default is UTF-8 which is also the encoding used for all
19
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
20
+# iconv built into libc) for the transcoding. See
21
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
22
+
23
+DOXYFILE_ENCODING = UTF-8
24
+
25
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
26
+# by quotes) that should identify the project.
27
+
28
+PROJECT_NAME = mymodule
29
+
30
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
31
+# This could be handy for archiving the generated documentation or
32
+# if some version control system is used.
33
+
34
+PROJECT_NUMBER = development
35
+
36
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
37
+# base path where the generated documentation will be put.
38
+# If a relative path is entered, it will be relative to the location
39
+# where doxygen was started. If left blank the current directory will be used.
40
+
41
+OUTPUT_DIRECTORY = ../../build
42
+
43
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
44
+# 4096 sub-directories (in 2 levels) under the output directory of each output
45
+# format and will distribute the generated files over these directories.
46
+# Enabling this option can be useful when feeding doxygen a huge amount of
47
+# source files, where putting all generated files in the same directory would
48
+# otherwise cause performance problems for the file system.
49
+
50
+CREATE_SUBDIRS = YES
51
+
52
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
53
+# documentation generated by doxygen is written. Doxygen will use this
54
+# information to generate all constant output in the proper language.
55
+# The default language is English, other supported languages are:
56
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
57
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
58
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
59
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
60
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
61
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
62
+
63
+OUTPUT_LANGUAGE = English
64
+
65
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
66
+# include brief member descriptions after the members that are listed in
67
+# the file and class documentation (similar to JavaDoc).
68
+# Set to NO to disable this.
69
+
70
+BRIEF_MEMBER_DESC = YES
71
+
72
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
73
+# the brief description of a member or function before the detailed description.
74
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
75
+# brief descriptions will be completely suppressed.
76
+
77
+REPEAT_BRIEF = YES
78
+
79
+# This tag implements a quasi-intelligent brief description abbreviator
80
+# that is used to form the text in various listings. Each string
81
+# in this list, if found as the leading text of the brief description, will be
82
+# stripped from the text and the result after processing the whole list, is
83
+# used as the annotated text. Otherwise, the brief description is used as-is.
84
+# If left blank, the following values are used ("$name" is automatically
85
+# replaced with the name of the entity): "The $name class" "The $name widget"
86
+# "The $name file" "is" "provides" "specifies" "contains"
87
+# "represents" "a" "an" "the"
88
+
89
+ABBREVIATE_BRIEF = 
90
+
91
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
92
+# Doxygen will generate a detailed section even if there is only a brief
93
+# description.
94
+
95
+ALWAYS_DETAILED_SEC = NO
96
+
97
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
98
+# inherited members of a class in the documentation of that class as if those
99
+# members were ordinary class members. Constructors, destructors and assignment
100
+# operators of the base classes will not be shown.
101
+
102
+INLINE_INHERITED_MEMB = NO
103
+
104
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
105
+# path before files name in the file list and in the header files. If set
106
+# to NO the shortest path that makes the file name unique will be used.
107
+
108
+FULL_PATH_NAMES = YES
109
+
110
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
111
+# can be used to strip a user-defined part of the path. Stripping is
112
+# only done if one of the specified strings matches the left-hand part of
113
+# the path. The tag can be used to show relative paths in the file list.
114
+# If left blank the directory from which doxygen is run is used as the
115
+# path to strip.
116
+
117
+STRIP_FROM_PATH = "../.."
118
+
119
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
120
+# the path mentioned in the documentation of a class, which tells
121
+# the reader which header file to include in order to use a class.
122
+# If left blank only the name of the header file containing the class
123
+# definition is used. Otherwise one should specify the include paths that
124
+# are normally passed to the compiler using the -I flag.
125
+
126
+STRIP_FROM_INC_PATH = 
127
+
128
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
129
+# (but less readable) file names. This can be useful is your file systems
130
+# doesn't support long names like on DOS, Mac, or CD-ROM.
131
+
132
+SHORT_NAMES = NO
133
+
134
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
135
+# will interpret the first line (until the first dot) of a JavaDoc-style
136
+# comment as the brief description. If set to NO, the JavaDoc
137
+# comments will behave just like regular Qt-style comments
138
+# (thus requiring an explicit @brief command for a brief description.)
139
+
140
+JAVADOC_AUTOBRIEF = YES
141
+
142
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
143
+# interpret the first line (until the first dot) of a Qt-style
144
+# comment as the brief description. If set to NO, the comments
145
+# will behave just like regular Qt-style comments (thus requiring
146
+# an explicit \brief command for a brief description.)
147
+
148
+QT_AUTOBRIEF = NO
149
+
150
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
151
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
152
+# comments) as a brief description. This used to be the default behaviour.
153
+# The new default is to treat a multi-line C++ comment block as a detailed
154
+# description. Set this tag to YES if you prefer the old behaviour instead.
155
+
156
+MULTILINE_CPP_IS_BRIEF = NO
157
+
158
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
159
+# member inherits the documentation from any documented member that it
160
+# re-implements.
161
+
162
+INHERIT_DOCS = YES
163
+
164
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
165
+# a new page for each member. If set to NO, the documentation of a member will
166
+# be part of the file/class/namespace that contains it.
167
+
168
+SEPARATE_MEMBER_PAGES = NO
169
+
170
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
171
+# Doxygen uses this value to replace tabs by spaces in code fragments.
172
+
173
+TAB_SIZE = 2
174
+
175
+# This tag can be used to specify a number of aliases that acts
176
+# as commands in the documentation. An alias has the form "name=value".
177
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
178
+# put the command \sideeffect (or @sideeffect) in the documentation, which
179
+# will result in a user-defined paragraph with heading "Side Effects:".
180
+# You can put \n's in the value part of an alias to insert newlines.
181
+
182
+ALIASES = 
183
+
184
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
185
+# sources only. Doxygen will then generate output that is more tailored for C.
186
+# For instance, some of the names that are used will be different. The list
187
+# of all members will be omitted, etc.
188
+
189
+OPTIMIZE_OUTPUT_FOR_C = NO
190
+
191
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
192
+# sources only. Doxygen will then generate output that is more tailored for
193
+# Java. For instance, namespaces will be presented as packages, qualified
194
+# scopes will look different, etc.
195
+
196
+OPTIMIZE_OUTPUT_JAVA = NO
197
+
198
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
199
+# sources only. Doxygen will then generate output that is more tailored for
200
+# Fortran.
201
+
202
+OPTIMIZE_FOR_FORTRAN = NO
203
+
204
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
205
+# sources. Doxygen will then generate output that is tailored for
206
+# VHDL.
207
+
208
+OPTIMIZE_OUTPUT_VHDL = NO
209
+
210
+# Doxygen selects the parser to use depending on the extension of the files it
211
+# parses. With this tag you can assign which parser to use for a given extension.
212
+# Doxygen has a built-in mapping, but you can override or extend it using this
213
+# tag. The format is ext=language, where ext is a file extension, and language
214
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
215
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
216
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
217
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
218
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
219
+
220
+EXTENSION_MAPPING = 
221
+
222
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
223
+# to include (a tag file for) the STL sources as input, then you should
224
+# set this tag to YES in order to let doxygen match functions declarations and
225
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
226
+# func(std::string) {}). This also make the inheritance and collaboration
227
+# diagrams that involve STL classes more complete and accurate.
228
+
229
+BUILTIN_STL_SUPPORT = NO
230
+
231
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
232
+# enable parsing support.
233
+
234
+CPP_CLI_SUPPORT = NO
235
+
236
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
237
+# Doxygen will parse them like normal C++ but will assume all classes use public
238
+# instead of private inheritance when no explicit protection keyword is present.
239
+
240
+SIP_SUPPORT = NO
241
+
242
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
243
+# and setter methods for a property. Setting this option to YES (the default)
244
+# will make doxygen to replace the get and set methods by a property in the
245
+# documentation. This will only work if the methods are indeed getting or
246
+# setting a simple type. If this is not the case, or you want to show the
247
+# methods anyway, you should set this option to NO.
248
+
249
+IDL_PROPERTY_SUPPORT = YES
250
+
251
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
252
+# tag is set to YES, then doxygen will reuse the documentation of the first
253
+# member in the group (if any) for the other members of the group. By default
254
+# all members of a group must be documented explicitly.
255
+
256
+DISTRIBUTE_GROUP_DOC = NO
257
+
258
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
259
+# the same type (for instance a group of public functions) to be put as a
260
+# subgroup of that type (e.g. under the Public Functions section). Set it to
261
+# NO to prevent subgrouping. Alternatively, this can be done per class using
262
+# the \nosubgrouping command.
263
+
264
+SUBGROUPING = YES
265
+
266
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
267
+# is documented as struct, union, or enum with the name of the typedef. So
268
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
269
+# with name TypeT. When disabled the typedef will appear as a member of a file,
270
+# namespace, or class. And the struct will be named TypeS. This can typically
271
+# be useful for C code in case the coding convention dictates that all compound
272
+# types are typedef'ed and only the typedef is referenced, never the tag name.
273
+
274
+TYPEDEF_HIDES_STRUCT = NO
275
+
276
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
277
+# determine which symbols to keep in memory and which to flush to disk.
278
+# When the cache is full, less often used symbols will be written to disk.
279
+# For small to medium size projects (<1000 input files) the default value is
280
+# probably good enough. For larger projects a too small cache size can cause
281
+# doxygen to be busy swapping symbols to and from disk most of the time
282
+# causing a significant performance penality.
283
+# If the system has enough physical memory increasing the cache will improve the
284
+# performance by keeping more symbols in memory. Note that the value works on
285
+# a logarithmic scale so increasing the size by one will rougly double the
286
+# memory usage. The cache size is given by this formula:
287
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
288
+# corresponding to a cache size of 2^16 = 65536 symbols
289
+
290
+SYMBOL_CACHE_SIZE = 0
291
+
292
+#---------------------------------------------------------------------------
293
+# Build related configuration options
294
+#---------------------------------------------------------------------------
295
+
296
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
297
+# documentation are documented, even if no documentation was available.
298
+# Private class members and static file members will be hidden unless
299
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
300
+
301
+EXTRACT_ALL = NO
302
+
303
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
304
+# will be included in the documentation.
305
+
306
+EXTRACT_PRIVATE = YES
307
+
308
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
309
+# will be included in the documentation.
310
+
311
+EXTRACT_STATIC = YES
312
+
313
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
314
+# defined locally in source files will be included in the documentation.
315
+# If set to NO only classes defined in header files are included.
316
+
317
+EXTRACT_LOCAL_CLASSES = YES
318
+
319
+# This flag is only useful for Objective-C code. When set to YES local
320
+# methods, which are defined in the implementation section but not in
321
+# the interface are included in the documentation.
322
+# If set to NO (the default) only methods in the interface are included.
323
+
324
+EXTRACT_LOCAL_METHODS = NO
325
+
326
+# If this flag is set to YES, the members of anonymous namespaces will be
327
+# extracted and appear in the documentation as a namespace called
328
+# 'anonymous_namespace{file}', where file will be replaced with the base
329
+# name of the file that contains the anonymous namespace. By default
330
+# anonymous namespace are hidden.
331
+
332
+EXTRACT_ANON_NSPACES = YES
333
+
334
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
335
+# undocumented members of documented classes, files or namespaces.
336
+# If set to NO (the default) these members will be included in the
337
+# various overviews, but no documentation section is generated.
338
+# This option has no effect if EXTRACT_ALL is enabled.
339
+
340
+HIDE_UNDOC_MEMBERS = YES
341
+
342
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
343
+# undocumented classes that are normally visible in the class hierarchy.
344
+# If set to NO (the default) these classes will be included in the various
345
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
346
+
347
+HIDE_UNDOC_CLASSES = NO
348
+
349
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
350
+# friend (class|struct|union) declarations.
351
+# If set to NO (the default) these declarations will be included in the
352
+# documentation.
353
+
354
+HIDE_FRIEND_COMPOUNDS = NO
355
+
356
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
357
+# documentation blocks found inside the body of a function.
358
+# If set to NO (the default) these blocks will be appended to the
359
+# function's detailed documentation block.
360
+
361
+HIDE_IN_BODY_DOCS = NO
362
+
363
+# The INTERNAL_DOCS tag determines if documentation
364
+# that is typed after a \internal command is included. If the tag is set
365
+# to NO (the default) then the documentation will be excluded.
366
+# Set it to YES to include the internal documentation.
367
+
368
+INTERNAL_DOCS = NO
369
+
370
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
371
+# file names in lower-case letters. If set to YES upper-case letters are also
372
+# allowed. This is useful if you have classes or files whose names only differ
373
+# in case and if your file system supports case sensitive file names. Windows
374
+# and Mac users are advised to set this option to NO.
375
+
376
+CASE_SENSE_NAMES = NO
377
+
378
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
379
+# will show members with their full class and namespace scopes in the
380
+# documentation. If set to YES the scope will be hidden.
381
+
382
+HIDE_SCOPE_NAMES = NO
383
+
384
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
385
+# will put a list of the files that are included by a file in the documentation
386
+# of that file.
387
+
388
+SHOW_INCLUDE_FILES = YES
389
+
390
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
391
+# will list include files with double quotes in the documentation
392
+# rather than with sharp brackets.
393
+
394
+FORCE_LOCAL_INCLUDES = NO
395
+
396
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
397
+# is inserted in the documentation for inline members.
398
+
399
+INLINE_INFO = YES
400
+
401
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
402
+# will sort the (detailed) documentation of file and class members
403
+# alphabetically by member name. If set to NO the members will appear in
404
+# declaration order.
405
+
406
+SORT_MEMBER_DOCS = YES
407
+
408
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
409
+# brief documentation of file, namespace and class members alphabetically
410
+# by member name. If set to NO (the default) the members will appear in
411
+# declaration order.
412
+
413
+SORT_BRIEF_DOCS = NO
414
+
415
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
416
+# will sort the (brief and detailed) documentation of class members so that
417
+# constructors and destructors are listed first. If set to NO (the default)
418
+# the constructors will appear in the respective orders defined by
419
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
420
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
421
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
422
+
423
+SORT_MEMBERS_CTORS_1ST = NO
424
+
425
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
426
+# hierarchy of group names into alphabetical order. If set to NO (the default)
427
+# the group names will appear in their defined order.
428
+
429
+SORT_GROUP_NAMES = NO
430
+
431
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
432
+# sorted by fully-qualified names, including namespaces. If set to
433
+# NO (the default), the class list will be sorted only by class name,
434
+# not including the namespace part.
435
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
436
+# Note: This option applies only to the class list, not to the
437
+# alphabetical list.
438
+
439
+SORT_BY_SCOPE_NAME = NO
440
+
441
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
442
+# disable (NO) the todo list. This list is created by putting \todo
443
+# commands in the documentation.
444
+
445
+GENERATE_TODOLIST = YES
446
+
447
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
448
+# disable (NO) the test list. This list is created by putting \test
449
+# commands in the documentation.
450
+
451
+GENERATE_TESTLIST = YES
452
+
453
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
454
+# disable (NO) the bug list. This list is created by putting \bug
455
+# commands in the documentation.
456
+
457
+GENERATE_BUGLIST = YES
458
+
459
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
460
+# disable (NO) the deprecated list. This list is created by putting
461
+# \deprecated commands in the documentation.
462
+
463
+GENERATE_DEPRECATEDLIST = YES
464
+
465
+# The ENABLED_SECTIONS tag can be used to enable conditional
466
+# documentation sections, marked by \if sectionname ... \endif.
467
+
468
+ENABLED_SECTIONS = 
469
+
470
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
471
+# the initial value of a variable or define consists of for it to appear in
472
+# the documentation. If the initializer consists of more lines than specified
473
+# here it will be hidden. Use a value of 0 to hide initializers completely.
474
+# The appearance of the initializer of individual variables and defines in the
475
+# documentation can be controlled using \showinitializer or \hideinitializer
476
+# command in the documentation regardless of this setting.
477
+
478
+MAX_INITIALIZER_LINES = 30
479
+
480
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
481
+# at the bottom of the documentation of classes and structs. If set to YES the
482
+# list will mention the files that were used to generate the documentation.
483
+
484
+SHOW_USED_FILES = YES
485
+
486
+# If the sources in your project are distributed over multiple directories
487
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
488
+# in the documentation. The default is NO.
489
+
490
+SHOW_DIRECTORIES = YES
491
+
492
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
493
+# This will remove the Files entry from the Quick Index and from the
494
+# Folder Tree View (if specified). The default is YES.
495
+
496
+SHOW_FILES = YES
497
+
498
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
499
+# Namespaces page.
500
+# This will remove the Namespaces entry from the Quick Index
501
+# and from the Folder Tree View (if specified). The default is YES.
502
+
503
+SHOW_NAMESPACES = NO
504
+
505
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
506
+# doxygen should invoke to get the current version for each file (typically from
507
+# the version control system). Doxygen will invoke the program by executing (via
508
+# popen()) the command <command> <input-file>, where <command> is the value of
509
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
510
+# provided by doxygen. Whatever the program writes to standard output
511
+# is used as the file version. See the manual for examples.
512
+
513
+#FILE_VERSION_FILTER = dolibarr-doxygen-getversion.pl
514
+FILE_VERSION_FILTER = 
515
+
516
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
517
+# by doxygen. The layout file controls the global structure of the generated
518
+# output files in an output format independent way. The create the layout file
519
+# that represents doxygen's defaults, run doxygen with the -l option.
520
+# You can optionally specify a file name after the option, if omitted
521
+# DoxygenLayout.xml will be used as the name of the layout file.
522
+
523
+LAYOUT_FILE = 
524
+
525
+#---------------------------------------------------------------------------
526
+# configuration options related to warning and progress messages
527
+#---------------------------------------------------------------------------
528
+
529
+# The QUIET tag can be used to turn on/off the messages that are generated
530
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
531
+
532
+QUIET = NO
533
+
534
+# The WARNINGS tag can be used to turn on/off the warning messages that are
535
+# generated by doxygen. Possible values are YES and NO. If left blank
536
+# NO is used.
537
+
538
+WARNINGS = YES
539
+
540
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
541
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
542
+# automatically be disabled.
543
+
544
+WARN_IF_UNDOCUMENTED = NO
545
+
546
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
547
+# potential errors in the documentation, such as not documenting some
548
+# parameters in a documented function, or documenting parameters that
549
+# don't exist or using markup commands wrongly.
550
+
551
+WARN_IF_DOC_ERROR = YES
552
+
553
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
554
+# functions that are documented, but have no documentation for their parameters
555
+# or return value. If set to NO (the default) doxygen will only warn about
556
+# wrong or incomplete parameter documentation, but not about the absence of
557
+# documentation.
558
+
559
+WARN_NO_PARAMDOC = YES
560
+
561
+# The WARN_FORMAT tag determines the format of the warning messages that
562
+# doxygen can produce. The string should contain the $file, $line, and $text
563
+# tags, which will be replaced by the file and line number from which the
564
+# warning originated and the warning text. Optionally the format may contain
565
+# $version, which will be replaced by the version of the file (if it could
566
+# be obtained via FILE_VERSION_FILTER)
567
+
568
+WARN_FORMAT = "$file:$line: $text"
569
+
570
+# The WARN_LOGFILE tag can be used to specify a file to which warning
571
+# and error messages should be written. If left blank the output is written
572
+# to stderr.
573
+
574
+WARN_LOGFILE = doxygen_warnings.log
575
+
576
+#---------------------------------------------------------------------------
577
+# configuration options related to the input files
578
+#---------------------------------------------------------------------------
579
+
580
+# The INPUT tag can be used to specify the files and/or directories that contain
581
+# documented source files. You may enter file names like "myfile.cpp" or
582
+# directories like "/usr/src/myproject". Separate the files or directories
583
+# with spaces.
584
+
585
+INPUT = ../../htdocs ../../scripts
586
+
587
+# This tag can be used to specify the character encoding of the source files
588
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
589
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
590
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
591
+# the list of possible encodings.
592
+
593
+INPUT_ENCODING = UTF-8
594
+
595
+# If the value of the INPUT tag contains directories, you can use the
596
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
597
+# and *.h) to filter out the source-files in the directories. If left
598
+# blank the following patterns are tested:
599
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
600
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
601
+
602
+FILE_PATTERNS = *.php *.pl
603
+
604
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
605
+# should be searched for input files as well. Possible values are YES and NO.
606
+# If left blank NO is used.
607
+
608
+RECURSIVE = YES
609
+
610
+# The EXCLUDE tag can be used to specify files and/or directories that should
611
+# excluded from the INPUT source files. This way you can easily exclude a
612
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
613
+
614
+EXCLUDE = ../../build ../../dev ../../doc
615
+
616
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
617
+# directories that are symbolic links (a Unix filesystem feature) are excluded
618
+# from the input.
619
+
620
+EXCLUDE_SYMLINKS = YES
621
+
622
+# If the value of the INPUT tag contains directories, you can use the
623
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
624
+# certain files from those directories. Note that the wildcards are matched
625
+# against the file with absolute path, so to exclude all test directories
626
+# for example use the pattern */test/*
627
+
628
+EXCLUDE_PATTERNS = */CVS/* *google* *pibarcode*
629
+
630
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
631
+# (namespaces, classes, functions, etc.) that should be excluded from the
632
+# output. The symbol name can be a fully qualified name, a word, or if the
633
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
634
+# AClass::ANamespace, ANamespace::*Test
635
+
636
+EXCLUDE_SYMBOLS = 
637
+
638
+# The EXAMPLE_PATH tag can be used to specify one or more files or
639
+# directories that contain example code fragments that are included (see
640
+# the \include command).
641
+
642
+EXAMPLE_PATH = ../../dev/skeletons
643
+
644
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
645
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
646
+# and *.h) to filter out the source-files in the directories. If left
647
+# blank all files are included.
648
+
649
+EXAMPLE_PATTERNS = *.php
650
+
651
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
652
+# searched for input files to be used with the \include or \dontinclude
653
+# commands irrespective of the value of the RECURSIVE tag.
654
+# Possible values are YES and NO. If left blank NO is used.
655
+
656
+EXAMPLE_RECURSIVE = NO
657
+
658
+# The IMAGE_PATH tag can be used to specify one or more files or
659
+# directories that contain image that are included in the documentation (see
660
+# the \image command).
661
+
662
+IMAGE_PATH = ../../doc/images
663
+
664
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
665
+# invoke to filter for each input file. Doxygen will invoke the filter program
666
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
667
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
668
+# input file. Doxygen will then use the output that the filter program writes
669
+# to standard output.
670
+# If FILTER_PATTERNS is specified, this tag will be
671
+# ignored.
672
+
673
+# Works on Linux only
674
+#INPUT_FILTER           = ../dolibarr-doxygen-filter.pl
675
+#INPUT_FILTER           = "perl ../dolibarr-doxygen-filter.pl"
676
+INPUT_FILTER = 
677
+
678
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
679
+# basis.
680
+# Doxygen will compare the file name with each pattern and apply the
681
+# filter if there is a match.
682
+# The filters are a list of the form:
683
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
684
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
685
+# is applied to all files.
686
+
687
+FILTER_PATTERNS = 
688
+
689
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
690
+# INPUT_FILTER) will be used to filter the input files when producing source
691
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
692
+
693
+FILTER_SOURCE_FILES = NO
694
+
695
+#---------------------------------------------------------------------------
696
+# configuration options related to source browsing
697
+#---------------------------------------------------------------------------
698
+
699
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
700
+# be generated. Documented entities will be cross-referenced with these sources.
701
+# Note: To get rid of all source code in the generated output, make sure also
702
+# VERBATIM_HEADERS is set to NO.
703
+
704
+SOURCE_BROWSER = YES
705
+
706
+# Setting the INLINE_SOURCES tag to YES will include the body
707
+# of functions and classes directly in the documentation.
708
+
709
+INLINE_SOURCES = NO
710
+
711
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
712
+# doxygen to hide any special comment blocks from generated source code
713
+# fragments. Normal C and C++ comments will always remain visible.
714
+
715
+STRIP_CODE_COMMENTS = YES
716
+
717
+# If the REFERENCED_BY_RELATION tag is set to YES
718
+# then for each documented function all documented
719
+# functions referencing it will be listed.
720
+
721
+REFERENCED_BY_RELATION = YES
722
+
723
+# If the REFERENCES_RELATION tag is set to YES
724
+# then for each documented function all documented entities
725
+# called/used by that function will be listed.
726
+
727
+REFERENCES_RELATION = YES
728
+
729
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
730
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
731
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
732
+# link to the source code.
733
+# Otherwise they will link to the documentation.
734
+
735
+REFERENCES_LINK_SOURCE = YES
736
+
737
+# If the USE_HTAGS tag is set to YES then the references to source code
738
+# will point to the HTML generated by the htags(1) tool instead of doxygen
739
+# built-in source browser. The htags tool is part of GNU's global source
740
+# tagging system (see http://www.gnu.org/software/global/global.html). You
741
+# will need version 4.8.6 or higher.
742
+
743
+USE_HTAGS = NO
744
+
745
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
746
+# will generate a verbatim copy of the header file for each class for
747
+# which an include is specified. Set to NO to disable this.
748
+
749
+VERBATIM_HEADERS = YES
750
+
751
+#---------------------------------------------------------------------------
752
+# configuration options related to the alphabetical class index
753
+#---------------------------------------------------------------------------
754
+
755
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
756
+# of all compounds will be generated. Enable this if the project
757
+# contains a lot of classes, structs, unions or interfaces.
758
+
759
+ALPHABETICAL_INDEX = YES
760
+
761
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
762
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
763
+# in which this list will be split (can be a number in the range [1..20])
764
+
765
+COLS_IN_ALPHA_INDEX = 5
766
+
767
+# In case all classes in a project start with a common prefix, all
768
+# classes will be put under the same header in the alphabetical index.
769
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
770
+# should be ignored while generating the index headers.
771
+
772
+IGNORE_PREFIX = 
773
+
774
+#---------------------------------------------------------------------------
775
+# configuration options related to the HTML output
776
+#---------------------------------------------------------------------------
777
+
778
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
779
+# generate HTML output.
780
+
781
+GENERATE_HTML = YES
782
+
783
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
784
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
785
+# put in front of it. If left blank `html' will be used as the default path.
786
+
787
+HTML_OUTPUT = html
788
+
789
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
790
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
791
+# doxygen will generate files with .html extension.
792
+
793
+HTML_FILE_EXTENSION = .html
794
+
795
+# The HTML_HEADER tag can be used to specify a personal HTML header for
796
+# each generated HTML page. If it is left blank doxygen will generate a
797
+# standard header.
798
+
799
+# Does not work with 1.7.3
800
+#HTML_HEADER = doxygen_header.html
801
+
802
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
803
+# each generated HTML page. If it is left blank doxygen will generate a
804
+# standard footer.
805
+
806
+# Does not work with 1.7.3
807
+#HTML_FOOTER = doxygen_footer.html
808
+
809
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
810
+# style sheet that is used by each HTML page. It can be used to
811
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
812
+# will generate a default style sheet. Note that doxygen will try to copy
813
+# the style sheet file to the HTML output directory, so don't put your own
814
+# stylesheet in the HTML output directory as well, or it will be erased!
815
+
816
+HTML_STYLESHEET = 
817
+
818
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
819
+# Doxygen will adjust the colors in the stylesheet and background images
820
+# according to this color. Hue is specified as an angle on a colorwheel,
821
+# see http://en.wikipedia.org/wiki/Hue for more information.
822
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
823
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
824
+# The allowed range is 0 to 359.
825
+
826
+HTML_COLORSTYLE_HUE = 220
827
+
828
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
829
+# the colors in the HTML output. For a value of 0 the output will use
830
+# grayscales only. A value of 255 will produce the most vivid colors.
831
+
832
+HTML_COLORSTYLE_SAT = 100
833
+
834
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
835
+# the luminance component of the colors in the HTML output. Values below
836
+# 100 gradually make the output lighter, whereas values above 100 make
837
+# the output darker. The value divided by 100 is the actual gamma applied,
838
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
839
+# and 100 does not change the gamma.
840
+
841
+HTML_COLORSTYLE_GAMMA = 80
842
+
843
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
844
+# page will contain the date and time when the page was generated. Setting
845
+# this to NO can help when comparing the output of multiple runs.
846
+
847
+HTML_TIMESTAMP = YES
848
+
849
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
850
+# files or namespaces will be aligned in HTML using tables. If set to
851
+# NO a bullet list will be used.
852
+
853
+HTML_ALIGN_MEMBERS = YES
854
+
855
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
856
+# documentation will contain sections that can be hidden and shown after the
857
+# page has loaded. For this to work a browser that supports
858
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
859
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
860
+
861
+HTML_DYNAMIC_SECTIONS = YES
862
+
863
+# If the GENERATE_DOCSET tag is set to YES, additional index files
864
+# will be generated that can be used as input for Apple's Xcode 3
865
+# integrated development environment, introduced with OSX 10.5 (Leopard).
866
+# To create a documentation set, doxygen will generate a Makefile in the
867
+# HTML output directory. Running make will produce the docset in that
868
+# directory and running "make install" will install the docset in
869
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
870
+# it at startup.
871
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
872
+# for more information.
873
+
874
+GENERATE_DOCSET = NO
875
+
876
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
877
+# feed. A documentation feed provides an umbrella under which multiple
878
+# documentation sets from a single provider (such as a company or product suite)
879
+# can be grouped.
880
+
881
+DOCSET_FEEDNAME = "Doxygen generated docs"
882
+
883
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
884
+# should uniquely identify the documentation set bundle. This should be a
885
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
886
+# will append .docset to the name.
887
+
888
+DOCSET_BUNDLE_ID = org.doxygen.Project
889
+
890
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
891
+# the documentation publisher. This should be a reverse domain-name style
892
+# string, e.g. com.mycompany.MyDocSet.documentation.
893
+
894
+DOCSET_PUBLISHER_ID = org.dolibarr.doc
895
+
896
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
897
+
898
+DOCSET_PUBLISHER_NAME = Dolibarr team
899
+
900
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
901
+# will be generated that can be used as input for tools like the
902
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
903
+# of the generated HTML documentation.
904
+
905
+GENERATE_HTMLHELP = NO
906
+
907
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
908
+# be used to specify the file name of the resulting .chm file. You
909
+# can add a path in front of the file if the result should not be
910
+# written to the html output directory.
911
+
912
+CHM_FILE = 
913
+
914
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
915
+# be used to specify the location (absolute path including file name) of
916
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
917
+# the HTML help compiler on the generated index.hhp.
918
+
919
+HHC_LOCATION = 
920
+
921
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
922
+# controls if a separate .chi index file is generated (YES) or that
923
+# it should be included in the master .chm file (NO).
924
+
925
+GENERATE_CHI = NO
926
+
927
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
928
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
929
+# content.
930
+
931
+CHM_INDEX_ENCODING = 
932
+
933
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
934
+# controls whether a binary table of contents is generated (YES) or a
935
+# normal table of contents (NO) in the .chm file.
936
+
937
+BINARY_TOC = NO
938
+
939
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
940
+# to the contents of the HTML help documentation and to the tree view.
941
+
942
+TOC_EXPAND = NO
943
+
944
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
945
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
946
+# that can be used as input for Qt's qhelpgenerator to generate a
947
+# Qt Compressed Help (.qch) of the generated HTML documentation.
948
+
949
+GENERATE_QHP = NO
950
+
951
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
952
+# be used to specify the file name of the resulting .qch file.
953
+# The path specified is relative to the HTML output folder.
954
+
955
+QCH_FILE = 
956
+
957
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
958
+# Qt Help Project output. For more information please see
959
+# http://doc.trolltech.com/qthelpproject.html#namespace
960
+
961
+QHP_NAMESPACE = org.doxygen.Project
962
+
963
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
964
+# Qt Help Project output. For more information please see
965
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
966
+
967
+QHP_VIRTUAL_FOLDER = doc
968
+
969
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
970
+# add. For more information please see
971
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
972
+
973
+QHP_CUST_FILTER_NAME = 
974
+
975
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
976
+# custom filter to add. For more information please see
977
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
978
+# Qt Help Project / Custom Filters</a>.
979
+
980
+QHP_CUST_FILTER_ATTRS = 
981
+
982
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
983
+# project's
984
+# filter section matches.
985
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
986
+# Qt Help Project / Filter Attributes</a>.
987
+
988
+QHP_SECT_FILTER_ATTRS = 
989
+
990
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
991
+# be used to specify the location of Qt's qhelpgenerator.
992
+# If non-empty doxygen will try to run qhelpgenerator on the generated
993
+# .qhp file.
994
+
995
+QHG_LOCATION = 
996
+
997
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
998
+#  will be generated, which together with the HTML files, form an Eclipse help
999
+# plugin. To install this plugin and make it available under the help contents
1000
+# menu in Eclipse, the contents of the directory containing the HTML and XML
1001
+# files needs to be copied into the plugins directory of eclipse. The name of
1002
+# the directory within the plugins directory should be the same as
1003
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
1004
+# the help appears.
1005
+
1006
+GENERATE_ECLIPSEHELP = YES
1007
+
1008
+# A unique identifier for the eclipse help plugin. When installing the plugin
1009
+# the directory name containing the HTML and XML files should also have
1010
+# this name.
1011
+
1012
+ECLIPSE_DOC_ID = org.doxygen.Project
1013
+
1014
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
1015
+# top of each HTML page. The value NO (the default) enables the index and
1016
+# the value YES disables it.
1017
+
1018
+DISABLE_INDEX = NO
1019
+
1020
+# This tag can be used to set the number of enum values (range [1..20])
1021
+# that doxygen will group on one line in the generated HTML documentation.
1022
+
1023
+ENUM_VALUES_PER_LINE = 4
1024
+
1025
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
1026
+# structure should be generated to display hierarchical information.
1027
+# If the tag value is set to YES, a side panel will be generated
1028
+# containing a tree-like index structure (just like the one that
1029
+# is generated for HTML Help). For this to work a browser that supports
1030
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
1031
+# Windows users are probably better off using the HTML help feature.
1032
+
1033
+GENERATE_TREEVIEW = NO
1034
+
1035
+# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
1036
+# and Class Hierarchy pages using a tree view instead of an ordered list.
1037
+
1038
+USE_INLINE_TREES = NO
1039
+
1040
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
1041
+# used to set the initial width (in pixels) of the frame in which the tree
1042
+# is shown.
1043
+
1044
+TREEVIEW_WIDTH = 250
1045
+
1046
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
1047
+# links to external symbols imported via tag files in a separate window.
1048
+
1049
+EXT_LINKS_IN_WINDOW = NO
1050
+
1051
+# Use this tag to change the font size of Latex formulas included
1052
+# as images in the HTML documentation. The default is 10. Note that
1053
+# when you change the font size after a successful doxygen run you need
1054
+# to manually remove any form_*.png images from the HTML output directory
1055
+# to force them to be regenerated.
1056
+
1057
+FORMULA_FONTSIZE = 10
1058
+
1059
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
1060
+# generated for formulas are transparent PNGs. Transparent PNGs are
1061
+# not supported properly for IE 6.0, but are supported on all modern browsers.
1062
+# Note that when changing this option you need to delete any form_*.png files
1063
+# in the HTML output before the changes have effect.
1064
+
1065
+FORMULA_TRANSPARENT = YES
1066
+
1067
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
1068
+# for the HTML output. The underlying search engine uses javascript
1069
+# and DHTML and should work on any modern browser. Note that when using
1070
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
1071
+# (GENERATE_DOCSET) there is already a search function so this one should
1072
+# typically be disabled. For large projects the javascript based search engine
1073
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
1074
+
1075
+SEARCHENGINE = NO
1076
+
1077
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
1078
+# implemented using a PHP enabled web server instead of at the web client
1079
+# using Javascript. Doxygen will generate the search PHP script and index
1080
+# file to put on the web server. The advantage of the server
1081
+# based approach is that it scales better to large projects and allows
1082
+# full text search. The disadvances is that it is more difficult to setup
1083
+# and does not have live searching capabilities.
1084
+
1085
+SERVER_BASED_SEARCH = NO
1086
+
1087
+#---------------------------------------------------------------------------
1088
+# configuration options related to the LaTeX output
1089
+#---------------------------------------------------------------------------
1090
+
1091
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
1092
+# generate Latex output.
1093
+
1094
+GENERATE_LATEX = NO
1095
+
1096
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
1097
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1098
+# put in front of it. If left blank `latex' will be used as the default path.
1099
+
1100
+LATEX_OUTPUT = latex
1101
+
1102
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
1103
+# invoked. If left blank `latex' will be used as the default command name.
1104
+# Note that when enabling USE_PDFLATEX this option is only used for
1105
+# generating bitmaps for formulas in the HTML output, but not in the
1106
+# Makefile that is written to the output directory.
1107
+
1108
+LATEX_CMD_NAME = latex
1109
+
1110
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
1111
+# generate index for LaTeX. If left blank `makeindex' will be used as the
1112
+# default command name.
1113
+
1114
+MAKEINDEX_CMD_NAME = makeindex
1115
+
1116
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
1117
+# LaTeX documents. This may be useful for small projects and may help to
1118
+# save some trees in general.
1119
+
1120
+COMPACT_LATEX = NO
1121
+
1122
+# The PAPER_TYPE tag can be used to set the paper type that is used
1123
+# by the printer. Possible values are: a4, a4wide, letter, legal and
1124
+# executive. If left blank a4wide will be used.
1125
+
1126
+PAPER_TYPE = a4
1127
+
1128
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
1129
+# packages that should be included in the LaTeX output.
1130
+
1131
+EXTRA_PACKAGES = 
1132
+
1133
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
1134
+# the generated latex document. The header should contain everything until
1135
+# the first chapter. If it is left blank doxygen will generate a
1136
+# standard header. Notice: only use this tag if you know what you are doing!
1137
+
1138
+LATEX_HEADER = 
1139
+
1140
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
1141
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
1142
+# contain links (just like the HTML output) instead of page references
1143
+# This makes the output suitable for online browsing using a pdf viewer.
1144
+
1145
+PDF_HYPERLINKS = YES
1146
+
1147
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
1148
+# plain latex in the generated Makefile. Set this option to YES to get a
1149
+# higher quality PDF documentation.
1150
+
1151
+USE_PDFLATEX = YES
1152
+
1153
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
1154
+# command to the generated LaTeX files. This will instruct LaTeX to keep
1155
+# running if errors occur, instead of asking the user for help.
1156
+# This option is also used when generating formulas in HTML.
1157
+
1158
+LATEX_BATCHMODE = NO
1159
+
1160
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
1161
+# include the index chapters (such as File Index, Compound Index, etc.)
1162
+# in the output.
1163
+
1164
+LATEX_HIDE_INDICES = NO
1165
+
1166
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
1167
+# source code with syntax highlighting in the LaTeX output.
1168
+# Note that which sources are shown also depends on other settings
1169
+# such as SOURCE_BROWSER.
1170
+
1171
+LATEX_SOURCE_CODE = NO
1172
+
1173
+#---------------------------------------------------------------------------
1174
+# configuration options related to the RTF output
1175
+#---------------------------------------------------------------------------
1176
+
1177
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
1178
+# The RTF output is optimized for Word 97 and may not look very pretty with
1179
+# other RTF readers or editors.
1180
+
1181
+GENERATE_RTF = NO
1182
+
1183
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
1184
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1185
+# put in front of it. If left blank `rtf' will be used as the default path.
1186
+
1187
+RTF_OUTPUT = rtf
1188
+
1189
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
1190
+# RTF documents. This may be useful for small projects and may help to
1191
+# save some trees in general.
1192
+
1193
+COMPACT_RTF = NO
1194
+
1195
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
1196
+# will contain hyperlink fields. The RTF file will
1197
+# contain links (just like the HTML output) instead of page references.
1198
+# This makes the output suitable for online browsing using WORD or other
1199
+# programs which support those fields.
1200
+# Note: wordpad (write) and others do not support links.
1201
+
1202
+RTF_HYPERLINKS = NO
1203
+
1204
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
1205
+# config file, i.e. a series of assignments. You only have to provide
1206
+# replacements, missing definitions are set to their default value.
1207
+
1208
+RTF_STYLESHEET_FILE = 
1209
+
1210
+# Set optional variables used in the generation of an rtf document.
1211
+# Syntax is similar to doxygen's config file.
1212
+
1213
+RTF_EXTENSIONS_FILE = 
1214
+
1215
+#---------------------------------------------------------------------------
1216
+# configuration options related to the man page output
1217
+#---------------------------------------------------------------------------
1218
+
1219
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
1220
+# generate man pages
1221
+
1222
+GENERATE_MAN = NO
1223
+
1224
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
1225
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1226
+# put in front of it. If left blank `man' will be used as the default path.
1227
+
1228
+MAN_OUTPUT = man
1229
+
1230
+# The MAN_EXTENSION tag determines the extension that is added to
1231
+# the generated man pages (default is the subroutine's section .3)
1232
+
1233
+MAN_EXTENSION = .3
1234
+
1235
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
1236
+# then it will generate one additional man file for each entity
1237
+# documented in the real man page(s). These additional files
1238
+# only source the real man page, but without them the man command
1239
+# would be unable to find the correct page. The default is NO.
1240
+
1241
+MAN_LINKS = NO
1242
+
1243
+#---------------------------------------------------------------------------
1244
+# configuration options related to the XML output
1245
+#---------------------------------------------------------------------------
1246
+
1247
+# If the GENERATE_XML tag is set to YES Doxygen will
1248
+# generate an XML file that captures the structure of
1249
+# the code including all documentation.
1250
+
1251
+GENERATE_XML = NO
1252
+
1253
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
1254
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
1255
+# put in front of it. If left blank `xml' will be used as the default path.
1256
+
1257
+XML_OUTPUT = xml
1258
+
1259
+# The XML_SCHEMA tag can be used to specify an XML schema,
1260
+# which can be used by a validating XML parser to check the
1261
+# syntax of the XML files.
1262
+
1263
+XML_SCHEMA = 
1264
+
1265
+# The XML_DTD tag can be used to specify an XML DTD,
1266
+# which can be used by a validating XML parser to check the
1267
+# syntax of the XML files.
1268
+
1269
+XML_DTD = 
1270
+
1271
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
1272
+# dump the program listings (including syntax highlighting
1273
+# and cross-referencing information) to the XML output. Note that
1274
+# enabling this will significantly increase the size of the XML output.
1275
+
1276
+XML_PROGRAMLISTING = YES
1277
+
1278
+#---------------------------------------------------------------------------
1279
+# configuration options for the AutoGen Definitions output
1280
+#---------------------------------------------------------------------------
1281
+
1282
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
1283
+# generate an AutoGen Definitions (see autogen.sf.net) file
1284
+# that captures the structure of the code including all
1285
+# documentation. Note that this feature is still experimental
1286
+# and incomplete at the moment.
1287
+
1288
+GENERATE_AUTOGEN_DEF = NO
1289
+
1290
+#---------------------------------------------------------------------------
1291
+# configuration options related to the Perl module output
1292
+#---------------------------------------------------------------------------
1293
+
1294
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
1295
+# generate a Perl module file that captures the structure of
1296
+# the code including all documentation. Note that this
1297
+# feature is still experimental and incomplete at the
1298
+# moment.
1299
+
1300
+GENERATE_PERLMOD = NO
1301
+
1302
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
1303
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
1304
+# to generate PDF and DVI output from the Perl module output.
1305
+
1306
+PERLMOD_LATEX = NO
1307
+
1308
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
1309
+# nicely formatted so it can be parsed by a human reader.
1310
+# This is useful
1311
+# if you want to understand what is going on.
1312
+# On the other hand, if this
1313
+# tag is set to NO the size of the Perl module output will be much smaller
1314
+# and Perl will parse it just the same.
1315
+
1316
+PERLMOD_PRETTY = YES
1317
+
1318
+# The names of the make variables in the generated doxyrules.make file
1319
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
1320
+# This is useful so different doxyrules.make files included by the same
1321
+# Makefile don't overwrite each other's variables.
1322
+
1323
+PERLMOD_MAKEVAR_PREFIX = 
1324
+
1325
+#---------------------------------------------------------------------------
1326
+# Configuration options related to the preprocessor
1327
+#---------------------------------------------------------------------------
1328
+
1329
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
1330
+# evaluate all C-preprocessor directives found in the sources and include
1331
+# files.
1332
+
1333
+ENABLE_PREPROCESSING = NO
1334
+
1335
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
1336
+# names in the source code. If set to NO (the default) only conditional
1337
+# compilation will be performed. Macro expansion can be done in a controlled
1338
+# way by setting EXPAND_ONLY_PREDEF to YES.
1339
+
1340
+MACRO_EXPANSION = NO
1341
+
1342
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
1343
+# then the macro expansion is limited to the macros specified with the
1344
+# PREDEFINED and EXPAND_AS_DEFINED tags.
1345
+
1346
+EXPAND_ONLY_PREDEF = YES
1347
+
1348
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
1349
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
1350
+
1351
+SEARCH_INCLUDES = YES
1352
+
1353
+# The INCLUDE_PATH tag can be used to specify one or more directories that
1354
+# contain include files that are not input files but should be processed by
1355
+# the preprocessor.
1356
+
1357
+INCLUDE_PATH = 
1358
+
1359
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
1360
+# patterns (like *.h and *.hpp) to filter out the header-files in the
1361
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
1362
+# be used.
1363
+
1364
+INCLUDE_FILE_PATTERNS = 
1365
+
1366
+# The PREDEFINED tag can be used to specify one or more macro names that
1367
+# are defined before the preprocessor is started (similar to the -D option of
1368
+# gcc). The argument of the tag is a list of macros of the form: name
1369
+# or name=definition (no spaces). If the definition and the = are
1370
+# omitted =1 is assumed. To prevent a macro definition from being
1371
+# undefined via #undef or recursively expanded use the := operator
1372
+# instead of the = operator.
1373
+
1374
+PREDEFINED = 
1375
+
1376
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
1377
+# this tag can be used to specify a list of macro names that should be expanded.
1378
+# The macro definition that is found in the sources will be used.
1379
+# Use the PREDEFINED tag if you want to use a different macro definition.
1380
+
1381
+EXPAND_AS_DEFINED = 
1382
+
1383
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
1384
+# doxygen's preprocessor will remove all function-like macros that are alone
1385
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
1386
+# function macros are typically used for boiler-plate code, and will confuse
1387
+# the parser if not removed.
1388
+
1389
+SKIP_FUNCTION_MACROS = YES
1390
+
1391
+#---------------------------------------------------------------------------
1392
+# Configuration::additions related to external references
1393
+#---------------------------------------------------------------------------
1394
+
1395
+# The TAGFILES option can be used to specify one or more tagfiles.
1396
+# Optionally an initial location of the external documentation
1397
+# can be added for each tagfile. The format of a tag file without
1398
+# this location is as follows:
1399
+#
1400
+# TAGFILES = file1 file2 ...
1401
+# Adding location for the tag files is done as follows:
1402
+#
1403
+# TAGFILES = file1=loc1 "file2 = loc2" ...
1404
+# where "loc1" and "loc2" can be relative or absolute paths or
1405
+# URLs. If a location is present for each tag, the installdox tool
1406
+# does not have to be run to correct the links.
1407
+# Note that each tag file must have a unique name
1408
+# (where the name does NOT include the path)
1409
+# If a tag file is not located in the directory in which doxygen
1410
+# is run, you must also specify the path to the tagfile here.
1411
+
1412
+TAGFILES = 
1413
+
1414
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
1415
+# a tag file that is based on the input files it reads.
1416
+
1417
+GENERATE_TAGFILE = 
1418
+
1419
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
1420
+# in the class index. If set to NO only the inherited external classes
1421
+# will be listed.
1422
+
1423
+ALLEXTERNALS = NO
1424
+
1425
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
1426
+# in the modules index. If set to NO, only the current project's groups will
1427
+# be listed.
1428
+
1429
+EXTERNAL_GROUPS = YES
1430
+
1431
+# The PERL_PATH should be the absolute path and name of the perl script
1432
+# interpreter (i.e. the result of `which perl').
1433
+
1434
+PERL_PATH = /usr/bin/perl
1435
+
1436
+#---------------------------------------------------------------------------
1437
+# Configuration options related to the dot tool
1438
+#---------------------------------------------------------------------------
1439
+
1440
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
1441
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
1442
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
1443
+# this option is superseded by the HAVE_DOT option below. This is only a
1444
+# fallback. It is recommended to install and use dot, since it yields more
1445
+# powerful graphs.
1446
+
1447
+CLASS_DIAGRAMS = NO
1448
+
1449
+# You can define message sequence charts within doxygen comments using the \msc
1450
+# command. Doxygen will then run the mscgen tool (see
1451
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
1452
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
1453
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
1454
+# default search path.
1455
+
1456
+MSCGEN_PATH = 
1457
+
1458
+# If set to YES, the inheritance and collaboration graphs will hide
1459
+# inheritance and usage relations if the target is undocumented
1460
+# or is not a class.
1461
+
1462
+HIDE_UNDOC_RELATIONS = NO
1463
+
1464
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
1465
+# available from the path. This tool is part of Graphviz, a graph visualization
1466
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
1467
+# have no effect if this option is set to NO (the default)
1468
+
1469
+HAVE_DOT = YES
1470
+
1471
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
1472
+# allowed to run in parallel. When set to 0 (the default) doxygen will
1473
+# base this on the number of processors available in the system. You can set it
1474
+# explicitly to a value larger than 0 to get control over the balance
1475
+# between CPU load and processing speed.
1476
+
1477
+DOT_NUM_THREADS = 0
1478
+
1479
+# By default doxygen will write a font called FreeSans.ttf to the output
1480
+# directory and reference it in all dot files that doxygen generates. This
1481
+# font does not include all possible unicode characters however, so when you need
1482
+# these (or just want a differently looking font) you can specify the font name
1483
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
1484
+# which can be done by putting it in a standard location or by setting the
1485
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
1486
+# containing the font.
1487
+
1488
+DOT_FONTNAME = FreeSans.ttf
1489
+
1490
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
1491
+# The default size is 10pt.
1492
+
1493
+DOT_FONTSIZE = 10
1494
+
1495
+# By default doxygen will tell dot to use the output directory to look for the
1496
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
1497
+# different font using DOT_FONTNAME you can set the path where dot
1498
+# can find it using this tag.
1499
+
1500
+DOT_FONTPATH = 
1501
+
1502
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
1503
+# will generate a graph for each documented class showing the direct and
1504
+# indirect inheritance relations. Setting this tag to YES will force the
1505
+# the CLASS_DIAGRAMS tag to NO.
1506
+
1507
+CLASS_GRAPH = YES
1508
+
1509
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
1510
+# will generate a graph for each documented class showing the direct and
1511
+# indirect implementation dependencies (inheritance, containment, and
1512
+# class references variables) of the class with other documented classes.
1513
+
1514
+COLLABORATION_GRAPH = YES
1515
+
1516
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
1517
+# will generate a graph for groups, showing the direct groups dependencies
1518
+
1519
+GROUP_GRAPHS = NO
1520
+
1521
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
1522
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
1523
+# Language.
1524
+
1525
+UML_LOOK = NO
1526
+
1527
+# If set to YES, the inheritance and collaboration graphs will show the
1528
+# relations between templates and their instances.
1529
+
1530
+TEMPLATE_RELATIONS = NO
1531
+
1532
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
1533
+# tags are set to YES then doxygen will generate a graph for each documented
1534
+# file showing the direct and indirect include dependencies of the file with
1535
+# other documented files.
1536
+
1537
+INCLUDE_GRAPH = YES
1538
+
1539
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
1540
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
1541
+# documented header file showing the documented files that directly or
1542
+# indirectly include this file.
1543
+
1544
+INCLUDED_BY_GRAPH = YES
1545
+
1546
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
1547
+# doxygen will generate a call dependency graph for every global function
1548
+# or class method. Note that enabling this option will significantly increase
1549
+# the time of a run. So in most cases it will be better to enable call graphs
1550
+# for selected functions only using the \callgraph command.
1551
+
1552
+CALL_GRAPH = NO
1553
+
1554
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
1555
+# doxygen will generate a caller dependency graph for every global function
1556
+# or class method. Note that enabling this option will significantly increase
1557
+# the time of a run. So in most cases it will be better to enable caller
1558
+# graphs for selected functions only using the \callergraph command.
1559
+
1560
+CALLER_GRAPH = NO
1561
+
1562
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
1563
+# will graphical hierarchy of all classes instead of a textual one.
1564
+
1565
+GRAPHICAL_HIERARCHY = YES
1566
+
1567
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
1568
+# then doxygen will show the dependencies a directory has on other directories
1569
+# in a graphical way. The dependency relations are determined by the #include
1570
+# relations between the files in the directories.
1571
+
1572
+DIRECTORY_GRAPH = YES
1573
+
1574
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
1575
+# generated by dot. Possible values are png, jpg, or gif
1576
+# If left blank png will be used.
1577
+
1578
+DOT_IMAGE_FORMAT = png
1579
+
1580
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
1581
+# found. If left blank, it is assumed the dot tool can be found in the path.
1582
+
1583
+DOT_PATH = 
1584
+
1585
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
1586
+# contain dot files that are included in the documentation (see the
1587
+# \dotfile command).
1588
+
1589
+DOTFILE_DIRS = 
1590
+
1591
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
1592
+# nodes that will be shown in the graph. If the number of nodes in a graph
1593
+# becomes larger than this value, doxygen will truncate the graph, which is
1594
+# visualized by representing a node as a red box. Note that doxygen if the
1595
+# number of direct children of the root node in a graph is already larger than
1596
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
1597
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
1598
+
1599
+DOT_GRAPH_MAX_NODES = 1024
1600
+
1601
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
1602
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
1603
+# from the root by following a path via at most 3 edges will be shown. Nodes
1604
+# that lay further from the root node will be omitted. Note that setting this
1605
+# option to 1 or 2 may greatly reduce the computation time needed for large
1606
+# code bases. Also note that the size of a graph can be further restricted by
1607
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
1608
+
1609
+MAX_DOT_GRAPH_DEPTH = 0
1610
+
1611
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
1612
+# background. This is disabled by default, because dot on Windows does not
1613
+# seem to support this out of the box. Warning: Depending on the platform used,
1614
+# enabling this option may lead to badly anti-aliased labels on the edges of
1615
+# a graph (i.e. they become hard to read).
1616
+
1617
+DOT_TRANSPARENT = YES
1618
+
1619
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
1620
+# files in one run (i.e. multiple -o and -T options on the command line). This
1621
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
1622
+# support this, this feature is disabled by default.
1623
+
1624
+DOT_MULTI_TARGETS = NO
1625
+
1626
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
1627
+# generate a legend page explaining the meaning of the various boxes and
1628
+# arrows in the dot generated graphs.
1629
+
1630
+GENERATE_LEGEND = YES
1631
+
1632
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
1633
+# remove the intermediate dot files that are used to generate
1634
+# the various graphs.
1635
+
1636
+DOT_CLEANUP = YES

+ 31
- 0
build/makepack-mymodule.conf View File

@@ -0,0 +1,31 @@
1
+# Your module name here
2
+#
3
+# Goal:    Goal of module
4
+# Version: <version>
5
+# Author:  Copyright <year> - <name of author>
6
+# Licence: GPLv3
7
+# Install: Just unpack content of module package in Dolibarr directory.
8
+# Setup:   Go on Dolibarr setup - modules to enable module.
9
+#
10
+# Files in module
11
+index.php
12
+mypage.php
13
+admin/mysetuppage.php
14
+class/myclass.class.php
15
+core/modules/modMyModule.class.php
16
+core/triggers/interface_99_modMyModule_Mytrigger.class.php
17
+css/mycss.css.php
18
+docs/index.php
19
+img/gplv3.png
20
+img/object_mymodule.png
21
+includes/boxes/mybox.php
22
+js/myjs.js
23
+langs/en_US/mymodule.lang
24
+langs/fr_FR/mymodule.lang
25
+lib/mymodule.lib.php
26
+scripts/myscript.php
27
+sql/data.sql
28
+sql/llx_mytable.key.sql
29
+sql/llx_mytable.sql
30
+themes/mytheme/index.php
31
+tpl/mytemplate.tpl.php

+ 351
- 0
class/myclass.class.php View File

@@ -0,0 +1,351 @@
1
+<?php
2
+/* <one line to give the program's name and a brief idea of what it does.>
3
+ * Copyright (C) <year>  <name of author>
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
+ */
18
+
19
+/**
20
+ * 	\file		class/myclass.class.php
21
+ * 	\ingroup	mymodule
22
+ * 	\brief		This file is an example CRUD class file (Create/Read/Update/Delete)
23
+ * 				Put some comments here
24
+ */
25
+// Put here all includes required by your class file
26
+//require_once DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php";
27
+//require_once DOL_DOCUMENT_ROOT."/societe/class/societe.class.php";
28
+//require_once DOL_DOCUMENT_ROOT."/product/class/product.class.php";
29
+
30
+/**
31
+ * Put your class' description here
32
+ */
33
+class SkeletonClass // extends CommonObject
34
+{
35
+
36
+    private $db; //!< To store db handler
37
+    public $error; //!< To return error code (or message)
38
+    public $errors = array(); //!< To return several error codes (or messages)