4 [% USE AuthorisedValues %]
7 [% USE TablesSettings %]
9 [% INCLUDE 'doc-head-open.inc' %]
12 Results › [% END %]
14 Logs › Tools › Koha
16 [% INCLUDE 'doc-head-close.inc' %]
17 [% Asset.css("css/humanmsg.css") | $raw %]
20 fieldset.rows label.viewlog {
35 background-color: #E6F0F2;
36 margin: .5em -.5em -.5em -.5em;
45 background-color: #e6ffe6;
48 background-color: #ffe6e6;
62 <body id="tools_viewlog" class="tools">
63 [% INCLUDE 'header.inc' %]
64 [% INCLUDE 'cat-search.inc' %]
66 [% BLOCK translate_log_module %]
68 [% CASE 'AUTH' %]<span>Authentication</span>[% UNLESS Koha.Preference('AuthFailureLog') || Koha.Preference('AuthScuccessLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
69 [% CASE 'CATALOGUING' %]<span>Catalog</span>[% UNLESS Koha.Preference('CataloguingLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
71 [% CASE 'AUTHORITIES' %]<span>Authorities</span>[% UNLESS Koha.Preference('AuthoritiesLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
73 [% CASE 'MEMBERS' %]<span>Patrons</span>[% UNLESS Koha.Preference('BorrowersLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
75 [% CASE 'ACQUISITIONS' %]<span>Acquisitions</span>[% UNLESS Koha.Preference('AcquisitionLog') %]<i class="fa fa-warning" title="Log not enabled"></i>[% END %]
77 [% CASE 'SERIAL' %]<span>Serials</span>[% UNLESS Koha.Preference('SubscriptionLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
79 [% CASE 'HOLDS' %]<span>Holds</span>[% UNLESS Koha.Preference('HoldsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
81 [% CASE 'ILL' %]<span>Interlibrary loans</span>[% UNLESS Koha.Preference('IllLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
83 [% CASE 'CIRCULATION' %]<span>Circulation</span>[% UNLESS Koha.Preference('IssueLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
85 [% CASE 'CLAIMS' %]<span>Claims</span>[% UNLESS Koha.Preference('ClaimsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
87 [% CASE 'FINES' %]<span>Fines</span>[% UNLESS Koha.Preference('FinesLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
89 [% CASE 'SYSTEMPREFERENCE' %]<span>System prefs</span>
91 [% CASE 'CRONJOBS' %]<span>Cron jobs</span>[% UNLESS Koha.Preference('CronjobLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
93 [% CASE 'REPORTS' %]<span>Reports</span>[% UNLESS Koha.Preference('ReportsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
95 [% CASE 'SEARCHENGINE' %]<span>Search engine</span>
97 [% CASE 'NOTICES' %]<span>Notices</span>[% UNLESS Koha.Preference('NoticesLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
98 [% CASE 'NEWS' %]<span>News</span>[% UNLESS Koha.Preference('NewsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
99 [% CASE 'RECALLS' %]<span>Recalls</span>[% UNLESS Koha.Preference('RecallsLog') %] <i class="fa fa-warning" title="Log not enabled"></i>[% END %]
101 [% CASE %][% module | html %]
105 [% BLOCK translate_log_action %]
107 [% CASE 'ADD' %]<span>Add</span>
108 [% CASE 'DELETE' %]<span>Delete</span>
109 [% CASE 'MODIFY' %]<span>Modify</span>
110 [% CASE 'ISSUE' %]<span>Checkout</span>
111 [% CASE 'RETURN' %]<span>Return</span>
112 [% CASE 'CREATE' %]<span>Create</span>
113 [% CASE 'CANCEL' %]<span>Cancel</span>
114 [% CASE 'FILL' %]<span>Fill</span>
115 [% CASE 'RESUME' %]<span>Resume</span>
116 [% CASE 'SUSPEND' %]<span>Suspend</span>
117 [% CASE 'RENEW' %]<span>Renew</span>
118 [% CASE 'RENEWAL' %]<span>Renew</span>
119 [% CASE 'CHANGE PASS' %]<span>Change password</span>
120 [% CASE 'ADDCIRCMESSAGE' %]<span>Add circulation message</span>
121 [% CASE 'DELCIRCMESSAGE' %]<span>Delete circulation message</span>
122 [% CASE 'STATUS_CHANGE' %]<span>Change ILL request status</span>
123 [% CASE 'PATRON_NOTICE' %]<span>ILL notice sent to patron</span>
124 [% CASE 'ADD_BASKET' %]<span>Create an acquisitions basket</span>
125 [% CASE 'MODIFY_BASKET' %]<span>Modify an acquisitions basket</span>
126 [% CASE 'MODIFY_BASKET_HEADER' %]<span>Modify an acquisitions basket header</span>
127 [% CASE 'MODIFY_BASKET_USERS' %]<span>Modify an acquisitions basket's users</span>
128 [% CASE 'CLOSE_BASKET' %]<span>Close an acquisitions basket</span>
129 [% CASE 'APPROVE_BASKET' %]<span>Approve an acquisitions basket</span>
130 [% CASE 'REOPEN_BASKET' %]<span>Reopen an acquisitions basket</span>
131 [% CASE 'CANCEL_ORDER' %]<span>Cancel an order</span>
132 [% CASE 'CREATE_ORDER' %]<span>Create an order</span>
133 [% CASE 'MODIFY_ORDER' %]<span>Modify an order</span>
134 [% CASE 'CREATE_INVOICE_ADJUSTMENT' %]<span>Create an invoice adjustment</span>
135 [% CASE 'UPDATE_INVOICE_ADJUSTMENT' %]<span>Modify an invoice adjustment</span>
136 [% CASE 'DELETE_INVOICE_ADJUSTMENT' %]<span>Delete an invoice adjustment</span>
137 [% CASE 'RECEIVE_ORDER' %]<span>Receive an order</span>
138 [% CASE 'MODIFY_BUDGET' %]<span>Modify a budget</span>
139 [% CASE 'CREATE_FUND' %]<span>Create a fund</span>
140 [% CASE 'MODIFY_FUND' %]<span>Modify a fund</span>
141 [% CASE 'DELETE_FUND' %]<span>Delete a fund</span>
142 [% CASE 'Run' %]<span>Run</span>
143 [% CASE 'EDIT_MAPPINGS' %]<span>Edit mappings</span>
144 [% CASE 'RESET_MAPPINGS' %]<span>Reset mappings</span>
145 [% CASE 'SERIAL CLAIM' %]<span>Serial claim</span>
146 [% CASE 'ACQUISITION CLAIM' %]<span>Acquisition claim</span>
147 [% CASE 'ACQUISITION ORDER' %]<span>Acquisition order</span>
148 [% CASE 'OVERDUE' %]<span>Overdue</span>
149 [% CASE 'EXPIRE' %]<span>Expire</span>
150 [% CASE %][% action | html %]
154 [% BLOCK translate_log_interface %]
155 [% SWITCH log_interface.upper %]
156 [% CASE 'INTRANET' %]<span>Intranet</span>
157 [% CASE 'OPAC' %]<span>OPAC</span>
158 [% CASE 'SIP' %]<span>SIP</span>
159 [% CASE 'COMMANDLINE' %]<span>Command-line</span>
160 [% CASE 'API' %]<span>REST API</span>
161 [% CASE 'CRON' %]<span>Cron job</span>
162 [% CASE 'UPGRADE' %]<span>Upgrade</span>
163 [% CASE %]<span>[% log_interface | html %]</span>
167 <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
170 <a href="/cgi-bin/koha/mainpage.pl">Home</a>
173 <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>
177 <a href="/cgi-bin/koha/tools/viewlog.pl">Logs</a>
180 <a href="#" aria-current="page">
186 <a href="#" aria-current="page">
194 <div class="main container-fluid">
196 <div class="col-sm-10 col-sm-push-2">
199 <h1>Browse system logs</h1>
200 <form method="post" action="/cgi-bin/koha/tools/viewlog.pl">
202 <input type="hidden" name="do_it" value="[% do_it | html %]" />
204 <input type="hidden" name="src" value="[% src | html %]" />
205 <fieldset class="rows">
208 <label for="user">Librarian:</label>
209 <input type="text" name="user" id="user" value="[% user | html %]" />
211 [% UNLESS src == "circ" %]
213 <label>Modules:</label>
214 <div class="log_modules">
215 [% IF modules.size == 0 %]
216 <label for="moduleALL" class="viewlog"><input type="checkbox" id="moduleALL" name="modules" value="" checked="checked"> All</label>
218 <label for="moduleALL" class="viewlog"><input type="checkbox" id="moduleALL" name="modules" value=""> All</label>
220 [% FOREACH modx IN [ 'AUTH' 'CATALOGUING' 'AUTHORITIES' 'MEMBERS' 'ACQUISITIONS' 'SERIAL' 'HOLDS' 'ILL' 'CIRCULATION' 'CLAIMS' 'FINES' 'SYSTEMPREFERENCE' 'CRONJOBS', 'REPORTS', 'SEARCHENGINE', 'NOTICES', 'NEWS', 'RECALLS' ] %]
221 [% IF modules.grep(modx).size %]
222 <label for="module[% modx | html %]" class="viewlog"><input type="checkbox" id="module[% modx | html %]" name="modules" value="[% modx | html %]" checked="checked"> [% PROCESS translate_log_module module=modx %]</label>
224 <label for="module[% modx | html %]" class="viewlog"><input type="checkbox" id="module[% modx | html %]" name="modules" value="[% modx | html %]"> [% PROCESS translate_log_module module=modx %]</label>
230 <input type="hidden" name="modules" value="MEMBERS" />
231 <input type="hidden" name="modules" value="CIRCULATION" />
234 <label>Actions:</label>
235 <div class="log_modules">
236 [% IF actions.length == 0 %]
237 <label for="actionALL" class="viewlog"><input type="checkbox" id="actionALL" name="actions" value="" checked="checked"> All</label>
239 <label for="actionALL" class="viewlog"><input type="checkbox" id="actionALL" name="actions" value=""> All</label>
242 [% FOREACH actx IN [ 'ADD' 'DELETE' 'MODIFY' 'ISSUE' 'RETURN' 'RENEW' 'CREATE' 'CANCEL' 'FILL' 'SUSPEND' 'RESUME' 'ADDCIRCMESSAGE' 'DELCIRCMESSAGE' 'STATUS_CHANGE' 'PATRON_NOTICE' 'CHANGE PASS' 'Run' 'EDIT_MAPPINGS' 'RESET_MAPPINGS' 'ADD_BASKET' 'MODIFY_BASKET' 'MODIFY_BASKET_HEADER' 'MODIFY_BASKET_USERS' 'CLOSE_BASKET' 'APPROVE_BASKET' 'REOPEN_BASKET' 'CANCEL_ORDER' 'CREATE_ORDER' 'MODIFY_ORDER' 'CREATE_INVOICE_ADJUSTMENT' 'UPDATE_INVOICE_ADJUSTMENT' 'DELETE_INVOICE_ADJUSTMENT' 'RECEIVE_ORDER' 'MODIFY_BUDGET' 'MODIFY_FUND' 'CREATE_FUND' 'DELETE_FUND' 'OVERDUE' 'EXPIRE' ] %]
243 [% IF actions.grep(actx).size %]
244 <label for="action[% actx| replace('\s+', '_') | html %]" class="viewlog"><input type="checkbox" id="action[% actx | replace('\s+', '_') | html %]" name="actions" value="[% actx | html %]" checked="checked"> [% PROCESS translate_log_action action=actx %]</label>
246 <label for="action[% actx| replace('\s+', '_') | html %]" class="viewlog"><input type="checkbox" id="action[% actx | replace('\s+', '_') | html %]" name="actions" value="[% actx | html %]"> [% PROCESS translate_log_action action=actx %]</label>
252 [% IF src == 'circ' %]
253 <label for="object">Borrowernumber: </label>
254 <input type="text" id="object" name="object" value="[% object | html %]" readonly="readonly" title="This field cannot be modified from the circulation module." />
256 <label for="object">Object: </label>
257 <input type="text" id="object" name="object" value="[% object | html %]" />
261 <label for="info">Info:</label>
262 <input type="text" id="info" name="info" value="[% info | html %]" />
265 <label>Interface:</label>
266 [% IF interfaces.size == 0 %]
267 <label for="interfaceALL" class="viewlog"><input type="checkbox" id="interfaceALL" name="interfaces" value="" checked="checked"> All</label>
269 <label for="interfaceALL" class="viewlog"><input type="checkbox" id="interfaceALL" name="interfaces" value=""> All</label>
272 [% FOREACH interf IN [ 'INTRANET' 'OPAC' 'SIP' 'COMMANDLINE' 'API' 'CRON' ] %]
273 [% IF interfaces.grep(interf).size %]
274 <label for="interface[% interf | html %]" class="viewlog"><input type="checkbox" id="interface[% interf | html %]" name="interfaces" value="[% interf | html %]" checked="checked"> [% PROCESS translate_log_interface log_interface=interf %]</label>
276 <label for="interface[% interf | html %]" class="viewlog"><input type="checkbox" id="interface[% interf | html %]" name="interfaces" value="[% interf | html %]"> [% PROCESS translate_log_interface log_interface=interf %]</label>
281 <label for="from"> Display from: </label> <input type="text" size="10" id="from" name="from" value="[% datefrom | html %]" class="flatpickr" data-date_to="to" />
282 <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
285 <label for="to">Display to: </label> <input size="10" id="to" name="to" type="text" value="[% dateto | html %]" class="flatpickr" />
286 <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
290 <fieldset class="rows">
291 <legend>Output</legend>
294 <label for="screen" >To screen in the browser:</label> <input id="screen" type="radio" checked="checked" name="output" value="screen" />
297 <label for="file">To a file:</label>
298 <input id="file" type="radio" name="output" value="file" />
299 <label class="inline" for="basename">Named:</label>
300 <input type="text" name="basename" id="basename" value="Export" />
302 <label for="MIME" class="inline">Into an application:</label>
303 [% CGIextChoice | html %]
304 [% CGIsepChoice | html %]
306 <input type="hidden" name="report_name" value="[% report_name | html %]" />
310 <fieldset class="action">
311 <input type="submit" value="Submit" />
312 <input type="hidden" name="do_it" value="1" />
318 <div id="toolbar" class="btn-toolbar">
319 <a href="#" id="select_none" class="btn btn-link disabled"><i class="fa fa-remove"></i> Check none</a>
320 <button class="btn btn-link disabled compare_link"><i class="fa fa-columns"></i> Compare selected</button>
335 [% FOREACH loopro IN looprow %]
337 <td data-order="[% loopro.timestamp | html %]">[% loopro.timestamp | $KohaDates with_hours=1 %]</td>
339 [% IF loopro.librarian %]
340 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.librarian.borrowernumber | uri %]" title="display detail for this librarian."> [% IF ( loopro.librarian.firstname ) || ( loopro.librarian.surname ) %][% loopro.librarian.firstname | html %] [% loopro.librarian.surname | html %] ([% loopro.librarian.borrowernumber | html %]) [% ELSE %][% loopro.librarian.borrowernumber | html %][% END %]</a>
342 [% loopro.user | html %]
345 <td>[% PROCESS translate_log_module module=loopro.module %]</td>
346 <td>[% PROCESS translate_log_action action=loopro.action %]</td>
348 [% IF ( loopro.module == 'MEMBERS' ) || ( loopro.module == 'CIRCULATION' ) || ( loopro.module == 'FINES' ) %]
349 [% IF loopro.patron %]
350 <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% loopro.object | uri %]" title="Display member details."> [% IF ( loopro.object ) %][% IF ( loopro.patron.firstname ) || ( loopro.patron.surname ) %][% loopro.patron.firstname | html %] [% loopro.patron.surname | html %] ([% loopro.object | html %]) [% ELSE %]<span>Member</span> [% loopro.object | html %][% END %][% END %] </a>
352 [% loopro.object | html %]
354 [% ELSIF ( loopro.module == 'CATALOGUING' ) %]
355 [% IF ( loopro.info.substr(0, 4) == 'item' ) %]
356 <a href="/cgi-bin/koha/catalogue/moredetail.pl?item=[% loopro.object | uri %]&biblionumber=[% loopro.biblionumber | uri %]&bi=[% loopro.biblioitemnumber | uri %]#item[% loopro.object | uri %]">Item [% loopro.object | html %]</a> from
357 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.biblionumber | uri %]" title="Display detail for this biblio">Biblio [% loopro.biblionumber | html %]</a>
358 [% ELSIF ( loopro.info.substr(0, 6) == 'biblio' ) %]
359 <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.object | uri %]" title="Display detail for this biblio">Biblio [% loopro.object | html %]</a>
361 [% loopro.object | html %]
363 [% ELSIF ( loopro.module == 'SERIAL' ) %]
364 <a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% loopro.object | uri %]">Subscription [% loopro.object | html %] </a>
365 [% ELSIF ( loopro.module == 'AUTHORITIES' ) %]
366 <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% loopro.object | uri %]" title="Display detail for this authority">Authority [% loopro.object | html %]</a>
367 [% ELSIF ( loopro.module == 'NOTICES' ) %]
368 [% IF ( loopro.notice ) %]
369 <a href="/cgi-bin/koha/tools/letter.pl?op=add_form&branchcode=[% loopro.notice.branchcode | uri %]&module=[% loopro.notice.module | uri %]&code=[% loopro.notice.code | uri %]#lang_[% loopro.notice.lang | uri %]">Notice [% loopro.notice.title | html %] ([% loopro.notice.code | html %])</a>
371 [% loopro.object | html %]
373 [% ELSIF ( loopro.module == 'RECALLS' ) %]
374 [% IF loopro.recall.item_level %]
375 Item-level recall on <a href="/cgi-bin/koha/catalogue/moredetail.pl?item=[% loopro.recall.item_id | uri %]&biblionumber=[% loopro.recall.biblio_id | uri %]&bi=[% loopro.recall.item.biblioitemnumber | uri %]">item</a>
377 Biblio-level recall on <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loopro.recall.biblio_id | uri %]">biblio</a>
379 [% ELSIF ( loopro.module == 'ACQUISITIONS' && loopro.action == 'ACQUISITION ORDER' && loopro.object ) %]
380 [% IF ( CAN_user_acquisition_order_manage ) %]
381 Basket <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loopro.object | uri %]">[% loopro.object | html %]</a>
383 Basket [% loopro.object | html %]
386 [% loopro.object | html %]
390 [% IF ( loopro.module == 'CIRCULATION' ) %]
391 <a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% loopro.info | uri %]&biblionumber=[% loopro.biblionumber | uri %]&bi=[% loopro.biblioitemnumber | uri %]#item[% loopro.info | uri %]" title="Display detail for this item">Item [% loopro.barcode | html %]</a>
393 [% IF loopro.module == "SYSTEMPREFERENCE" || loopro.module == "REPORTS" || loopro.module == "NEWS" %]
394 <div class="loginfo" id="loginfo[% loopro.action_id | html %]">[% loopro.info | trim | html %]</div>
395 <div class="compare_info" id="compare_info[% loopro.action_id | html %]">
396 <label><input type="checkbox" name="diff" id="action_id[% loopro.action_id | html %]" data-actionid="[% loopro.action_id | html %]" data-filter="[% FOREACH info IN loopro.info.split(' \| ') %][% IF loop.first %][% info | html %][% END %][% END %]" class="compare" /> Compare</label>
398 [% ELSIF loopro.module == "NOTICES" %]
399 <div class="loginfo" id="loginfo[% loopro.action_id | html %]">[% loopro.info | trim | html %]</div>
400 <div class="compare_info" id="compare_info[% loopro.action_id | html %]">
401 <label><input type="checkbox" name="diff" id="action_id[% loopro.action_id | html %]" data-actionid="[% loopro.action_id | html %]" data-filter="[% IF loopro.notice %][% loopro.notice.title | html %][% ELSE %][% loopro.object | html %][% END %]" class="compare" /> Compare</label>
404 <div class="loginfo" id="loginfo[% loopro.action_id | html %]">
405 [% loopro.info | html %]
410 <td>[% PROCESS translate_log_interface log_interface=loopro.interface %]</td>
416 <div class="dialog alert">
418 [% IF ( CATALOGUING ) %]
419 for <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% object | url %]">Bibliographic record [% object | html %]</a>
422 for <a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% object | url %]">[% INCLUDE 'patron-title.inc' %]</a>
431 </div> <!-- /.col-sm-10.col-sm-push-2 -->
433 <div class="col-sm-2 col-sm-pull-10">
435 [% IF ( circulation ) %]
436 [% INCLUDE 'circ-menu.inc' %]
438 [% IF ( CATALOGUING ) %]
439 [% INCLUDE 'biblio-view-menu.inc' %]
441 [% INCLUDE 'tools-menu.inc' %]
445 </div> <!-- /.col-sm-2.col-sm-pull-10 -->
446 </div> <!-- /.row -->
448 <div class="modal" id="compareInfo" tabindex="-1" role="dialog" aria-labelledby="compareInfoLabel">
449 <div class="modal-dialog modal-lg" role="document">
450 <div class="modal-content">
451 <div class="modal-header">
452 <button type="button" class="closebtn" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
453 <h4 class="modal-title" id="compareInfoLabel">Compare preference values</h4>
455 <div class="modal-body">
457 <div class="compare_pane col-sm-6" id="col1">
458 <h5>Older version</h5>
461 <div class="compare_pane col-sm-6" id="col2">
462 <h5>Newer version</h5>
466 </div> <!-- /.modal-body -->
467 <div class="modal-footer">
468 <button type="button" class="btn btn-default deny" data-dismiss="modal">Close</button>
470 </div> <!-- /.modal-content -->
471 </div> <!-- /.modal-dialog -->
472 </div> <!-- /#compareInfo -->
474 [% MACRO jsinclude BLOCK %]
475 [% INCLUDE 'calendar.inc' %]
476 [% INCLUDE 'datatables.inc' %]
477 [% INCLUDE 'columns_settings.inc' %]
478 [% Asset.js("lib/jquery/plugins/humanmsg.js") | $raw %]
479 [% Asset.js("js/tools-menu.js") | $raw %]
480 [% Asset.js("lib/hc-sticky.js") | $raw %]
481 [% IF ( circulation ) %]
482 [% INCLUDE 'str/members-menu.inc' %]
483 [% Asset.js("js/members-menu.js") | $raw %]
485 [% Asset.js("lib/jsdiff/jsdiff.min.js") | $raw %]
487 var table_settings = [% TablesSettings.GetTableSettings('tools', 'logviewer', 'logst', 'json') | $raw %];
489 [% Asset.js("js/viewlog.js") | $raw %]
492 [% INCLUDE 'intranet-bottom.inc' %]