Bug 9066: VirtualShelves db access not Plack+MariaDB compatible

The $dbh database handle in C4::VirtualShelves was declared at the
module level, which means under Plack it is initialized only once, when
the server first starts. With the default MySQL configuration this is
not a problem, since the MySQL connection does not time out, but the
MariaDB default configuration does time out, resulting in every page
that calls any sub in C4::VirtualShelves failing after a certain period.
This patch eliminates the module-level $dbh variable and replaces it
with $dbh handles in each subroutine that requires it.

To test:
Confirm that Virtual Shelves functionality still works as expected. The
problem is not reproducible when using Apache or Plack+MySQL, but if
everything works after the patch has been applied, the changes are safe.

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 9085 - Installer will not run with DEBUG set

This is due to raising all db errors combined with the fact that attempts
to make selections from a non-existent systempreferences table raises db errors.

The installer should run even with DEBUG set, otherwise dropping and recreating
a development database becomes somewhat of a chore. This patch adds code to
check for the existence of the systempreferece table. If the table exists, then
RaiseError is enabled on the database handle. Otherwise it is disabled to allow
the installer to run without throwing an error.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
The installer can now be run both with and without DEBUG set.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9085' into 3.12-master
Bug 9046: FIX wrong test on an arrayref instead of an array

EmbedItemsInMarcBiblio does not embed items when the itemnumbers param
is given. That breaks the export tools (used from commandline).

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 9107: Remove the obsolete DidYouMeanFromAuthorities syspref

Even though the DidYouMeanFromAuthorities syspref was replaced by a "Did
You Mean?" configuration page, the syspref was showing up in the
syspref editor on the Searching tab.

Signed-off-by: Melia Meggs <melia@test.bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 9107: remove the syspref from the database, as well

The syspref has been introduced during 3.9, so only a few libraries
should have it, but for consistency it must be removed.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 9107: Increment version number

Database update for bug 9107 has been given version 3.09.00.066
Merge branch 'bug_9107' into 3.12-master
Bug 9058 - Norwegian default for CalendarFirstDayOfWeek

Sets a sensible default for CalendarFirstDayOfWeek in
installer/data/mysql/nb-NO/1-Obligatorisk/system_preferences.sql

To test:
- Do a complete web install in Norwegian
  OR
- Load installer/data/mysql/nb-NO/1-Obligatorisk/system_preferences.sql
  into MySQL from the command line
- Check that CalendarFirstDayOfWeek is set to 'Monday' and that
  calendars display Monday as the first day of the week.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9058' into 3.12-master
Bug 8750 - Chronological terms authorities not correctly indexed (trivial fix)

Patch re-done so it applies, had that double-utf8 problem

There was no entry in authority's record.abs for indexing chronological
terms. They couldn't be searched and (obviously) linked.

I've added those entries using the index names defined in
authorities/etc/bib1.att

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Passed-QA-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Bug 8880 - Uninitialized variables trigger error log entries

Simply by logging in, clicking Circulation, clicking the
'Check out' link, error log entries were generated.

This patch ensures $findborrower, $barcode, and $print are all
initialized by adding "|| q{}" onto their initializations.
This reduces the silent error log entries generated.

As this patch would overlap with bug 8826 in the initialization
of hashes to prevent other error logs, those changes are in this
patch. Applying this patch without having applied the patch for
bug 8826.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_8880' into 3.12-master
Bug 8997: Unnecessary call to getAllLanguages

In C4/Language, getTranslatedLanguages calls getAllLanguage, passes it
to _build_languages_arrayref, that does nothing of it. Removing this
dead code will clean & reduce SQL overhead

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
I tried switching between languages and enabling and disabling
languages, and could not see any change with the patch applied.

Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_8997' into 3.12-master
Bug 7368: Removing occurrences of dependant= feature in javascript open calls

The window feature dependant= should have been written as dependent=
Note that this feature is ignored in most/current browsers.
Since the feature was misspelled, removing it will not change any
behavior or hurt anybody.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Passed-QA-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_7368' into 3.12-master
Bug 9046: Followup FIX perl v5.10 raises an error if itemnumbers if undefined

If the itemnumbers parameter is undef, perl raises an error :
"Can't use an undefined value as an ARRAY reference"

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Merge branch 'bug_9046' into 3.12-master
Bug 7932 [Revised] Twitter share doesn't work with socialnetworks

The only way I can get this to work consistently is to use
Twitter's own code as documented here:

https://dev.twitter.com/docs/tweet-button

This requires that we use the tweet button generated by Twitter
rather than the smaller image we were using before. Using the
documented options for generating a custom button produced the
same inconsistent behavior this patch attempts to fix.

Because of the change of appearance I moved the Twitter button
to last in line so that similarly-sized buttons were grouped. I
also changed the configuration of the Google+ button to exclude
the count, saving some horizontal space.

Revision removes explicit declaration of share URL. I think when
testing this previously I assumed it was required when in fact
the share URL wasn't working because it was a localhost address.

Localhost addresses are apparently rejected by Twitter. Testers
beware.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Passed-QA-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>