Bugzilla – Attachment 139029 Details for
Bug 15326
Add CMS feature
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 15326: Using AdditionalContents for custom pages on OPAC
Bug-15326-Using-AdditionalContents-for-custom-page.patch (text/plain), 22.62 KB, created by
ByWater Sandboxes
on 2022-08-11 20:42:58 UTC
(
hide
)
Description:
Bug 15326: Using AdditionalContents for custom pages on OPAC
Filename:
MIME Type:
Creator:
ByWater Sandboxes
Created:
2022-08-11 20:42:58 UTC
Size:
22.62 KB
patch
obsolete
>From 47bfdb2bc7fb53a55580ac74d6512011ed52211e Mon Sep 17 00:00:00 2001 >From: Aleisha Amohia <aleishaamohia@hotmail.com> >Date: Fri, 17 Dec 2021 02:06:51 +0000 >Subject: [PATCH] Bug 15326: Using AdditionalContents for custom pages on OPAC > >This page utilises the Additional Contents feature to add custom pages >to the staff client and the OPAC in the user's desired language. > >To test: >1. Apply patch and restart services >2. In the staff client, go to Tools, then go to the new 'Pages' page >3. Add a new page to display on both the staff client and OPAC. >4. Confirm the URLs in the Page URL column work as expected. >5. Confirm that any pages made for the staff client only do not show in >the OPAC, and that any pages made for the OPAC only do not show in the >staff client. >6. Confirm that pages do not show on the OPAC main page where news items >show. Confirm news items show on the OPAC main page as expected. > >Sponsored-by: Chartered Accountants Australia and New Zealand > >Signed-off-by: Thibault Kero <thibault.keromnes@univ-paris8.fr> > >Signed-off-by: Lisette Scheer <lisettePalouse+Koha@gmail.com> > >Signed-off-by: Lisette Scheer <lisettePalouse+Koha@gmail.com> >--- > .../prog/en/includes/tools-menu.inc | 1 + > .../en/modules/tools/additional-contents.tt | 70 +++++++++++++----- > .../prog/en/modules/tools/page.tt | 62 ++++++++++++++++ > .../prog/en/modules/tools/tools-home.tt | 3 + > koha-tmpl/intranet-tmpl/prog/js/tools-menu.js | 2 + > .../bootstrap/en/modules/opac-main.tt | 2 + > .../bootstrap/en/modules/opac-page.tt | 73 +++++++++++++++++++ > opac/opac-page.pl | 48 ++++++++++++ > tools/page.pl | 47 ++++++++++++ > 9 files changed, 289 insertions(+), 19 deletions(-) > create mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/tools/page.tt > create mode 100644 koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-page.tt > create mode 100755 opac/opac-page.pl > create mode 100755 tools/page.pl > >diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc >index a31ef9a51d..0cc705c6f4 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc >+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc >@@ -110,6 +110,7 @@ > [% IF ( CAN_user_tools_edit_additional_contents ) %] > <li><a href="/cgi-bin/koha/tools/additional-contents.pl?category=news">News</a></li> > <li><a href="/cgi-bin/koha/tools/additional-contents.pl?category=html_customizations">HTML customizations</a></li> >+ <li><a href="/cgi-bin/koha/tools/additional-contents.pl?category=pages">Pages</a></li> > [% END %] > [% IF ( CAN_user_tools_schedule_tasks ) %] > <li><a href="/cgi-bin/koha/tools/scheduler.pl">Task scheduler</a></li> >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/additional-contents.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/additional-contents.tt >index f996ec72ad..e5e82bb2e6 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/additional-contents.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/additional-contents.tt >@@ -24,6 +24,12 @@ > .syspref-link::before { > content: " | "; > } >+ .customisation-link::before { >+ content: " | "; >+ } >+ .customisation-link:first-child::before { >+ content: none; >+ } > </style> > </head> > >@@ -44,6 +50,8 @@ > <li> > [% IF category == 'news' %] > <a href="/cgi-bin/koha/tools/additional-contents.pl?category=news">News</a> >+ [% ELSIF category == 'pages' %] >+ <a href="/cgi-bin/koha/tools/additional-contents.pl?category=pages">Pages</a> > [% ELSE %] > <a href="/cgi-bin/koha/tools/additional-contents.pl?category=html_customizations">HTML customizations</a> > [% END %] >@@ -55,7 +63,7 @@ > [% ELSE %] > <span>Add additional content</span> > [% END %] >- ([% IF category == 'news' %]<span>News</span>[% ELSE %]<span>HTML customizations</span>[% END %]) >+ ([% IF category == 'news' %]<span>News</span>[% ELSIF category == 'pages' %]<span>Pages</span>[% ELSE %]<span>HTML customizations</span>[% END %]) > </a> > </li> > [% ELSE %] >@@ -63,6 +71,8 @@ > <a href="#" aria-current="page"> > [% IF category == 'news' %] > News >+ [% ELSIF category == 'pages' %] >+ Pages > [% ELSE %] > HTML customizations > [% END %] >@@ -165,7 +175,7 @@ > [% IF additional_content %] > <h1>Modify an additional content</h1> > [% ELSE %] >- <h1>New additional content ([% IF category == 'news' %]News[% ELSE %]HTML customizations[% END %])</h1> >+ <h1>New additional content ([% IF category == 'news' %]News[% ELSIF category == 'pages' %]Pages[% ELSE %]HTML customizations[% END %])</h1> > [% END %] > > <div id="toolbar" class="btn-toolbar"> >@@ -180,6 +190,8 @@ > </div> > [% IF category == 'news' %] > <a class="btn btn-default cancel" href="/cgi-bin/koha/tools/additional-contents.pl"><i class="fa fa-remove"></i> Cancel</a> >+ [% ELSIF category == 'pages' %] >+ <a class="btn btn-default cancel" href="/cgi-bin/koha/tools/additional-contents.pl?category=pages"><i class="fa fa-remove"></i> Cancel</a> > [% ELSE %] > <a class="btn btn-default cancel" href="/cgi-bin/koha/tools/additional-contents.pl?category=html_customizations"><i class="fa fa-remove"></i> Cancel</a> > [% END %] >@@ -308,16 +320,17 @@ > </div> > </div> > >- <h2>Additional contents ([% IF category == 'news' %]News[% ELSE %]HTML customizations[% END %])</h2> >- [% IF category == 'news' %] >- See <a href="/cgi-bin/koha/tools/additional-contents.pl?category=html_customizations">HTML customizations</a> >- [% ELSE %] >- See <a href="/cgi-bin/koha/tools/additional-contents.pl?category=news">News</a> >- [% END %] >- [% IF ( CAN_user_parameters_manage_sysprefs ) %] >- <a class="syspref-link" href='/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=OPACUserJS'>OPACUserJS</a> >- <a class="syspref-link" href='/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=OPACUserCSS'>OPACUserCSS</a> >- [% END %] >+ <h2>Additional contents ([% IF category == 'news' %]News[% ELSIF category == 'pages' %]Pages[% ELSE %]HTML customizations[% END %])</h2> >+ <span id="additional_contents_links"> >+ See >+ <a class="customisation-link" href="/cgi-bin/koha/tools/additional-contents.pl?category=news">News</a> >+ <a class="customisation-link" href="/cgi-bin/koha/tools/additional-contents.pl?category=html_customizations">HTML customizations</a> >+ <a class="customisation-link" href="/cgi-bin/koha/tools/additional-contents.pl?category=pages">Pages</a> >+ [% IF ( CAN_user_parameters_manage_sysprefs ) %] >+ <a class="syspref-link" href='/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=OPACUserJS'>OPACUserJS</a> >+ <a class="syspref-link" href='/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=OPACUserCSS'>OPACUserCSS</a> >+ [% END %] >+ </span> > > [% IF additional_contents.count %] > <form id="del_form" method="post" action="/cgi-bin/koha/tools/additional-contents.pl"> >@@ -332,7 +345,12 @@ > <th>Expiration date</th> > <th class="anti-the">Title</th> > <th>Author</th> >- <th class="anti-the">News</th> >+ [% IF category == 'pages' %] >+ <th>Page URL</th> >+ <th class="anti-the">Page</th> >+ [% ELSE %] >+ <th class="anti-the">News</th> >+ [% END %] > <th class="NoSort noExport">Actions</th> > </tr> > </thead> >@@ -343,7 +361,7 @@ > <input type="checkbox" name="ids" value="[% c.idnew | html %]" /> > </td> > <td> >- [% IF c.category == 'news' %] >+ [% IF c.category == 'news' || c.category == 'pages' %] > [% IF c.location == 'staff_and_opac' %]<span>All</span> > [% ELSIF c.location == 'staff_only' %]<span>Librarian interface</span> > [% ELSIF c.location == 'opac_only' %]<span>OPAC</span> >@@ -365,6 +383,18 @@ > <td data-order="[% c.expirationdate | html %]">[% c.expirationdate | $KohaDates %] [% IF ( c.is_expired ) %](<span class="expired">expired</span>)[% END %]</td> > <td>[% c.title | html %]</td> > <td>[% IF ( c.author) %][% INCLUDE 'patron-title.inc' patron=c.author %][% END %]</td> >+ [% IF category == 'pages' %] >+ <td class="actions"> >+ [% IF c.location == 'opac_only' %] >+ <strong>OPAC</strong>: <a target="_blank" href="[% Koha.Preference('OPACBaseURL') | url %]/cgi-bin/koha/opac-page.pl?page_id=[% c.idnew | uri %]" title="View on OPAC">[% Koha.Preference('OPACBaseURL') | url %]/cgi-bin/koha/opac-page.pl?page_id=[% c.idnew | uri %]</a> >+ [% ELSIF c.location == 'staff_only' %] >+ <strong>Librarian interface</strong>: <a href="/cgi-bin/koha/tools/page.pl?page_id=[% c.idnew | uri %]" title="View on librarian interface">[% Koha.Preference('staffClientBaseURL') | url %]/cgi-bin/koha/tools/page.pl?page_id=[% c.idnew | uri %]</a> >+ [% ELSIF c.location == 'staff_and_opac' %] >+ <strong>OPAC</strong>: <a target="_blank" href="[% Koha.Preference('OPACBaseURL') | url %]/cgi-bin/koha/opac-page.pl?page_id=[% c.idnew | uri %]" title="View on OPAC">[% Koha.Preference('OPACBaseURL') | url %]/cgi-bin/koha/opac-page.pl?page_id=[% c.idnew | uri %]</a><br> >+ <strong>Librarian interface</strong>: <a href="/cgi-bin/koha/tools/page.pl?page_id=[% c.idnew | uri %]" title="View on librarian interface">[% Koha.Preference('staffClientBaseURL') | url %]/cgi-bin/koha/tools/page.pl?page_id=[% c.idnew | uri %]</a> >+ [% END %] >+ </td> >+ [% END %] > <td> > <div class="btn-group"> > <a class="preview_news btn btn-default btn-xs" data-number="[% loop.count | html %]"><i class="fa fa-eye" aria-hidden="true"></i> Preview content</a> >@@ -422,7 +452,7 @@ > [% END %] > > [% BLOCK locations_options %] >- [% IF category == 'news' %] >+ [% IF category == 'news' || category == 'pages' %] > [% IF location == "staff_and_opac" %] > <option value="staff_and_opac" selected="selected">Librarian and OPAC interfaces</option> > [% ELSE %] >@@ -441,10 +471,12 @@ > <option value="opac_only">OPAC</option> > [% END %] > >- [% IF location == "slip" %] >- <option value="slip" selected="selected">Slip</option> >- [% ELSE %] >- <option value="slip">Slip</option> >+ [% UNLESS category == 'pages' %] >+ [% IF location == "slip" %] >+ <option value="slip" selected="selected">Slip</option> >+ [% ELSE %] >+ <option value="slip">Slip</option> >+ [% END %] > [% END %] > [% ELSE %] > [% FOREACH l IN [ 'OpacNavRight', 'opacheader', 'OpacCustomSearch', 'OpacMainUserBlock', 'opaccredits', 'OpacLoginInstructions', 'OpacNav', 'OpacNavBottom', 'OpacSuggestionInstructions', 'ArticleRequestsDisclaimerText', 'OpacMoreSearches', 'OpacMySummaryNote' ] %] >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/page.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/page.tt >new file mode 100644 >index 0000000000..93d5d7d2eb >--- /dev/null >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/page.tt >@@ -0,0 +1,62 @@ >+[% USE raw %] >+[% USE Asset %] >+[% SET footerjs = 1 %] >+[% INCLUDE 'doc-head-open.inc' %] >+<title>[% IF page %][% page.title | html %][% ELSE %]Page error[% END %] › Tools › Koha</title> >+[% INCLUDE 'doc-head-close.inc' %] >+</head> >+ >+<body id="tools_page_[% page.idnew | html %]" class="tools"> >+ [% INCLUDE 'header.inc' %] >+ [% INCLUDE 'cat-search.inc' %] >+ >+ <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb"> >+ <ol> >+ <li> >+ <a href="/cgi-bin/koha/mainpage.pl">Home</a> >+ </li> >+ <li> >+ <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> >+ </li> >+ <li> >+ <a href="#" aria-current="page">[% IF page %][% page.title | html %][% ELSE %]Page error[% END %]</a> >+ </li> >+ </ol> >+ </nav> >+ >+ <div class="main container-fluid"> >+ <div class="row"> >+ <div class="col-sm-10 col-sm-push-2"> >+ <main> >+ >+ [% IF page %] >+ >+ <h1>[% page.title | html %]</h1> >+ >+ <div class="page"> >+ [% page.content | $raw %] >+ </div> >+ >+ [% ELSE %] >+ >+ <div class="dialog alert"> >+ This page does not exist. >+ </div> >+ >+ [% END %] >+ >+ </main> >+ </div> <!-- /.col-sm-10.col-sm-push-2 --> >+ >+ <div class="col-sm-2 col-sm-pull-10"> >+ <aside> >+ [% INCLUDE 'tools-menu.inc' %] >+ </aside> >+ </div> <!-- /.col-sm-2.col-sm-pull-10 --> >+ </div> <!-- /.row --> >+ >+[% MACRO jsinclude BLOCK %] >+ [% Asset.js("js/tools-menu.js") | $raw %] >+[% END %] >+ >+[% INCLUDE 'intranet-bottom.inc' %] >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt >index 7efa6aba1c..2ebca53c9e 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt >@@ -121,6 +121,9 @@ > > <dt><a href="/cgi-bin/koha/tools/additional-contents.pl?category=html_customizations">HTML customizations</a></dt> > <dd>Write HTML customizations</dd> >+ >+ <dt><a href="/cgi-bin/koha/tools/additional-contents.pl?category=pages">Pages</a></dt> >+ <dd>Write custom pages</dd> > [% END %] > > [% IF ( CAN_user_tools_schedule_tasks ) %] >diff --git a/koha-tmpl/intranet-tmpl/prog/js/tools-menu.js b/koha-tmpl/intranet-tmpl/prog/js/tools-menu.js >index 8fad270f87..fa8c1a6e2d 100644 >--- a/koha-tmpl/intranet-tmpl/prog/js/tools-menu.js >+++ b/koha-tmpl/intranet-tmpl/prog/js/tools-menu.js >@@ -18,5 +18,7 @@ > $('#navmenulist a[href$="/cgi-bin/koha/tools/stockrotation.pl"]').addClass("current"); > } else if (path.indexOf("plugins") >= 0 ) { > $('#navmenulist a[href$="/cgi-bin/koha/plugins/plugins-home.pl?method=tool"]').addClass("current"); >+ } else if (path.indexOf("page.pl") >= 0 ) { >+ $('#navmenulist a[href$="/cgi-bin/koha/tools/additional-contents.pl?category=pages"]').addClass("current"); > } > }); >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt >index 8850ee7927..3d7f3f4125 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-main.tt >@@ -100,6 +100,7 @@ > <div id="news" class="newscontainer"> > [% SET show_author = Koha.Preference('NewsAuthorDisplay') == 'opac' || Koha.Preference('NewsAuthorDisplay') == 'both' %] > [% FOREACH koha_new IN koha_news %] >+ [% IF koha_new.category == 'news' %] > <div class="newsitem"> > <h4 class="newsheader"> > [% IF ( news_item ) %] >@@ -120,6 +121,7 @@ > </div> > </div> > [% END %] >+ [% END %] > > [% UNLESS news_item %] > <div id="rssnews-container"> >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-page.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-page.tt >new file mode 100644 >index 0000000000..7e9a74a0a2 >--- /dev/null >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-page.tt >@@ -0,0 +1,73 @@ >+[% USE raw %] >+[% USE Koha %] >+[% USE AdditionalContents %] >+[% PROCESS 'i18n.inc' %] >+[% SET OpacNav = AdditionalContents.get( location => "OpacNav", lang => lang, library => logged_in_user.branchcode, blocktitle => 0 ) %] >+[% SET OpacNavBottom = AdditionalContents.get( location => "OpacNavBottom", lang => lang, library => logged_in_user.branchcode, blocktitle => 0 ) %] >+[% INCLUDE 'doc-head-open.inc' %] >+<title>[% IF page %][% page.title | html %][% ELSE %]Page error[% END %] › [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title> >+[% INCLUDE 'doc-head-close.inc' %] >+[% BLOCK cssinclude %][% END %] >+</head> >+[% INCLUDE 'bodytag.inc' bodyid='opac-page-' _ page.idnew %] >+[% INCLUDE 'masthead.inc' %] >+ >+<div class="main"> >+ <nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumbs"> >+ <ol class="breadcrumb"> >+ <li class="breadcrumb-item"> >+ <a href="/cgi-bin/koha/opac-main.pl">Home</a> >+ </li> >+ [% IF page %] >+ <li class="breadcrumb-item active"> >+ <a href="#" aria-current="page">[% page.title | html %]</a> >+ </li> >+ [% ELSE %] >+ <li class="breadcrumb-item active"> >+ <a href="#" aria-current="page">Page error</a> >+ </li> >+ [% END %] >+ </ol> >+ </nav> <!-- /#breadcrumbs --> >+ >+ <div class="container-fluid"> >+ <div class="row"> >+ [% IF ( OpacNav || OpacNavBottom ) %] >+ <div class="col-12 col-lg-2 order-3 order-lg-1"> >+ <div id="navigation"> >+ [% IF ( OpacNav || OpacNavBottom ) %] >+ <hr> >+ [% INCLUDE 'navigation.inc' %] >+ [% END %] >+ </div> >+ </div> >+ <div class="col-12 col-lg-10 order-md-1 maincontent"> >+ [% ELSE %] >+ <div class="col order-md-1 maincontent"> >+ [% END %] >+ <div id="page_[% page.idnew | html %]" class="maincontent"> >+ >+ [% IF page %] >+ >+ <h1>[% page.title | html %]</h1> >+ >+ <div class="page_content"> >+ [% page.content | $raw %] >+ </div> >+ >+ [% ELSE %] >+ >+ <div class="alert alert-error"> >+ This page does not exist. >+ </div> >+ >+ [% END %] >+ >+ </div> <!-- / .col 6/8 --> >+ >+ </div> <!-- /.container-fluid --> >+ </div> <!-- /.row --> >+</div> <!-- /.main --> >+ >+[% INCLUDE 'opac-bottom.inc' %] >+[% BLOCK jsinclude %][% END %] >diff --git a/opac/opac-page.pl b/opac/opac-page.pl >new file mode 100755 >index 0000000000..d58057e4ec >--- /dev/null >+++ b/opac/opac-page.pl >@@ -0,0 +1,48 @@ >+#!/usr/bin/perl >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use CGI qw ( -utf8 ); >+use C4::Auth qw( get_template_and_user ); >+use C4::Output qw( output_html_with_http_headers ); >+use Koha::AdditionalContents; >+ >+my $query = CGI->new(); >+ >+my ( $template, $borrowernumber, $cookie ) = get_template_and_user( >+ { >+ template_name => "opac-page.tt", >+ query => $query, >+ type => "opac", >+ authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ), >+ } >+); >+ >+my $page_id = $query->param('page_id'); >+my $page; >+ >+if (defined $page_id){ >+ $page = Koha::AdditionalContents->search({ idnew => $page_id, location => ['opac_only', 'staff_and_opac'] }); >+ if ( $page->count > 0){ >+ $template->param( page => $page->next ); >+ } else { >+ $template->param( page_error => 1 ); >+ } >+} >+ >+output_html_with_http_headers $query, $cookie, $template->output; >diff --git a/tools/page.pl b/tools/page.pl >new file mode 100755 >index 0000000000..3933e1ea69 >--- /dev/null >+++ b/tools/page.pl >@@ -0,0 +1,47 @@ >+#!/usr/bin/perl >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use CGI qw ( -utf8 ); >+use C4::Auth qw( get_template_and_user ); >+use C4::Output qw( output_html_with_http_headers ); >+use Koha::AdditionalContents; >+ >+my $query = CGI->new; >+my ( $template, $loggedinuser, $cookie ) = get_template_and_user( >+ { >+ template_name => "tools/page.tt", >+ query => $query, >+ type => "intranet", >+ flagsrequired => { tools => '*' }, >+ } >+); >+ >+my $page_id = $query->param('page_id'); >+my $page; >+ >+if (defined $page_id){ >+ $page = Koha::AdditionalContents->search({ idnew => $page_id, location => ['staff_only', 'staff_and_opac'] }); >+ if ( $page->count > 0){ >+ $template->param( page => $page->next ); >+ } else { >+ $template->param( page_error => 1 ); >+ } >+} >+ >+output_html_with_http_headers $query, $cookie, $template->output; >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 15326
:
45621
|
58272
|
58607
|
58608
|
58609
|
58787
|
63904
|
63905
|
64241
|
64941
|
64942
|
66255
|
70866
|
70867
|
70868
|
70869
|
70870
|
70871
|
76387
|
76388
|
76389
|
76390
|
76391
|
76392
|
78232
|
78233
|
78234
|
78235
|
78236
|
78237
|
78238
|
78240
|
79269
|
83318
|
83319
|
83320
|
83321
|
83322
|
83323
|
83324
|
83325
|
83326
|
83404
|
83405
|
83406
|
83407
|
83408
|
83409
|
83410
|
83411
|
83412
|
84682
|
84683
|
84684
|
84685
|
84686
|
84687
|
84688
|
84689
|
84690
|
84691
|
87494
|
87495
|
87496
|
87497
|
87498
|
87499
|
87500
|
87501
|
87502
|
87503
|
87608
|
87609
|
87610
|
87617
|
96084
|
96085
|
96086
|
96087
|
96088
|
96089
|
96090
|
96091
|
96092
|
96093
|
96094
|
96095
|
96096
|
96097
|
96098
|
97237
|
101565
|
101566
|
101567
|
101568
|
101569
|
101570
|
101571
|
101572
|
101573
|
101574
|
101575
|
101576
|
101577
|
101578
|
101579
|
101580
|
128341
|
128342
|
128343
|
128344
|
128345
|
128346
|
128347
|
128348
|
128349
|
128350
|
128351
|
128352
|
128353
|
128354
|
128355
|
128356
|
128357
|
128585
|
128642
|
136432
|
136757
|
136768
|
138489
|
138493
|
139028
|
139029
|
139030
|
139031
|
139111
|
139123
|
139124
|
139125
|
139172
|
139173
|
139174