eb7e930eea
This feature will add the option of displaying a select quote for the day on the OPAC homepage. It will include the addition of a QOTD editor in the tools section of the staff interface which will allow the addition, editing, and deletion of quotes. A single system preference will enable/disable the display of the QOTD on the OPAC homepage. A new granular permission will also be added to conrol user access to the QOTD editor tool. Possible extentions to this would be code to allow alternate quote selection algorithms to be added to vary how the currently displayed quote is selected from the table of quotes. This patch is a squash of the following work: --Adding quotes table to kohastructure.sql and updatedatabase.pl Note: This patch is intended for a MySQL based installation only. That means that it includes backticks because that is what is required at this point in history to install Koha correctly on a MySQL based installation. Feel free to port this over to the Pg stuff in the data/Pg directory. --Adding system preference to control display of QOTD on OPAC main page --Adding sample quote data These quotes are taken from various US presidents. I'm not sure these are applicable to the rest of the world, so I'm leaving it to translators and others to add sample quote data for other languages. --Adding edit_quotes user permissions --Squash with other db related patches in this series --Adding quotes editor pages to tools --Adding QOTD editor link to tools homepage --Integration of DataTables into QOTD Editor --Impleminting jEditable into the quote editor --Adding delete and add option to editor --Fixing OPAC display so the QOTD div does not show if no quote is returned --Also removing useless code from tools/quotes.pl --Adding spans around QOTD foo in opac-main.tt --Also fixing quote selection logic to accomodate the possibility of a single quote in the db a litte better. --Changing timestamp column header to a more user-friendly 'Last Displayed' --Fixing bug in quote selection logic. This bug caused a situation where when the table had only a single quote with an id greater than 1 in it, no quote would be selected. --Fixing up sorting in the quote editor table. --jcamins --Adding span element to quote separator --jcamins --Overriding the default empty table message supplied by datatables-strings.inc --Adds missing page heading --Adds beginning of click-for-help elements. --Refactors delete functionality to allow selecting of quotes to delete, enabling multi-delete. --Refactors saving added quote functionality so that striking <Enter> saves the new quote. --Refactors canceling aded quote functionality so that striking <Esc> cancels the new quote. --Removing debug console.log statements --Implementng the YUI button widget/toolbar used on other pages. --Adds a 5px radius to all YUI buttons to bring them into conformity with the general trend toward rounded corners --Fixes capitalization in quote editor --Implements improvements suggested by jcamins and oleonard --Adds DataTables Plugin dataTables.fnReloadAjax.js Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com> Signed-off-by: Mason James <mtj@kohaaloha.com>
68 lines
2.4 KiB
Perl
Executable file
68 lines
2.4 KiB
Perl
Executable file
#!/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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place,
|
|
# Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
|
|
use strict;
|
|
use warnings;
|
|
use CGI;
|
|
use C4::Auth; # get_template_and_user
|
|
use C4::Output;
|
|
use C4::NewsChannels; # get_opac_news
|
|
use C4::Languages qw(getTranslatedLanguages accept_language);
|
|
use C4::Koha qw( GetDailyQuote );
|
|
|
|
my $input = new CGI;
|
|
my $dbh = C4::Context->dbh;
|
|
|
|
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
|
|
{
|
|
template_name => "opac-main.tmpl",
|
|
type => "opac",
|
|
query => $input,
|
|
authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 ),
|
|
flagsrequired => { borrow => 1 },
|
|
}
|
|
);
|
|
|
|
my $casAuthentication = C4::Context->preference('casAuthentication');
|
|
$template->param(
|
|
casAuthentication => $casAuthentication,
|
|
);
|
|
|
|
|
|
# display news
|
|
# use cookie setting for language, bug default to syspref if it's not set
|
|
my ($theme, $news_lang) = C4::Templates::themelanguage(C4::Context->config('opachtdocs'),'opac-main.tt','opac',$input);
|
|
|
|
my $all_koha_news = &GetNewsToDisplay($news_lang);
|
|
my $koha_news_count = scalar @$all_koha_news;
|
|
|
|
my $quote = GetDailyQuote(); # other options are to pass in an exact quote id or select a random quote each pass... see perldoc C4::Koha
|
|
|
|
$template->param(
|
|
koha_news => $all_koha_news,
|
|
koha_news_count => $koha_news_count,
|
|
display_daily_quote => C4::Context->preference('QuoteOfTheDay'),
|
|
daily_quote => $quote,
|
|
);
|
|
|
|
# If GoogleIndicTransliteration system preference is On Set paramter to load Google's javascript in OPAC search screens
|
|
if (C4::Context->preference('GoogleIndicTransliteration')) {
|
|
$template->param('GoogleIndicTransliteration' => 1);
|
|
}
|
|
|
|
output_html_with_http_headers $input, $cookie, $template->output;
|