<<

NAME

    C4::Koha - Perl Module containing convenience functions for Koha scripts

SYNOPSIS

  use C4::Koha;

DESCRIPTION

    Koha.pm provides many functions for Koha scripts.

FUNCTIONS

slashifyDate

  $slash_date = &slashifyDate($dash_date);

    Takes a string of the form "DD-MM-YYYY" (or anything separated by
    dashes), converts it to the form "YYYY/MM/DD", and returns the result.

DisplayISBN

    my $string = DisplayISBN( $isbn );

GetItemTypes

  $itemtypes = &GetItemTypes();

Returns information about existing itemtypes.

build a HTML select with the following code :

in PERL SCRIPT

    my $itemtypes = GetItemTypes;
    my @itemtypesloop;
    foreach my $thisitemtype (sort keys %$itemtypes) {
        my $selected = 1 if $thisitemtype eq $itemtype;
        my %row =(value => $thisitemtype,
                    selected => $selected,
                    description => $itemtypes->{$thisitemtype}->{'description'},
                );
        push @itemtypesloop, \%row;
    }
    $template->param(itemtypeloop => \@itemtypesloop);

in TEMPLATE

    <form action='<!-- TMPL_VAR name="script_name" -->' method=post>
        <select name="itemtype">
            <option value="">Default</option>
        <!-- TMPL_LOOP name="itemtypeloop" -->
            <option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="description" --></option>
        <!-- /TMPL_LOOP -->
        </select>
        <input type=text name=searchfield value="<!-- TMPL_VAR name="searchfield" -->">
        <input type="submit" value="OK" class="button">
    </form>

getauthtypes

  $authtypes = &getauthtypes();

Returns information about existing authtypes.

build a HTML select with the following code :

in PERL SCRIPT

my $authtypes = getauthtypes; my @authtypesloop; foreach my $thisauthtype (keys %$authtypes) { my $selected = 1 if $thisauthtype eq $authtype; my %row =(value => $thisauthtype, selected => $selected, authtypetext => $authtypes->{$thisauthtype}->{'authtypetext'}, ); push @authtypesloop, \%row; } $template->param(itemtypeloop => \@itemtypesloop);

in TEMPLATE

<form action='<!-- TMPL_VAR name="script_name" -->' method=post> <select name="authtype"> <!-- TMPL_LOOP name="authtypeloop" --> <option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="authtypetext" --></option> <!-- /TMPL_LOOP --> </select> <input type=text name=searchfield value="<!-- TMPL_VAR name="searchfield" -->"> <input type="submit" value="OK" class="button"> </form>

getframework

  $frameworks = &getframework();

Returns information about existing frameworks

build a HTML select with the following code :

in PERL SCRIPT

my $frameworks = frameworks(); my @frameworkloop; foreach my $thisframework (keys %$frameworks) { my $selected = 1 if $thisframework eq $frameworkcode; my %row =(value => $thisframework, selected => $selected, description => $frameworks->{$thisframework}->{'frameworktext'}, ); push @frameworksloop, \%row; } $template->param(frameworkloop => \@frameworksloop);

in TEMPLATE

<form action='<!-- TMPL_VAR name="script_name" -->' method=post> <select name="frameworkcode"> <option value="">Default</option> <!-- TMPL_LOOP name="frameworkloop" --> <option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="frameworktext" --></option> <!-- /TMPL_LOOP --> </select> <input type=text name=searchfield value="<!-- TMPL_VAR name="searchfield" -->"> <input type="submit" value="OK" class="button"> </form>

getframeworkinfo

  $frameworkinfo = &getframeworkinfo($frameworkcode);

Returns information about an frameworkcode.

getitemtypeinfo

  $itemtype = &getitemtype($itemtype);

Returns information about an itemtype.

getitemtypeimagedir

4
  my $directory = getitemtypeimagedir( 'opac' );

pass in 'opac' or 'intranet'. Defaults to 'opac'.

returns the full path to the appropriate directory containing images.

_getImagesFromDirectory

  Find all of the image files in a directory in the filesystem

  parameters:
    a directory name

  returns: a list of images in that directory.

  Notes: this does not traverse into subdirectories. See
      _getSubdirectoryNames for help with that.
    Images are assumed to be files with .gif or .png file extensions.
    The image names returned do not have the directory name on them.

_getSubdirectoryNames

  Find all of the directories in a directory in the filesystem

  parameters:
    a directory name

  returns: a list of subdirectories in that directory.

  Notes: this does not traverse into subdirectories. Only the first
      level of subdirectories are returned.
    The directory names returned don't have the parent directory name
      on them.

getImageSets

  returns: a listref of hashrefs. Each hash represents another collection of images.
           { imagesetname => 'npl', # the name of the image set (npl is the original one)
             images => listref of image hashrefs
           }

    each image is represented by a hashref like this:
      { KohaImage     => 'npl/image.gif',
        StaffImageUrl => '/intranet-tmpl/prog/img/itemtypeimg/npl/image.gif',
        OpacImageURL  => '/opac-tmpl/prog/itemtypeimg/npl/image.gif'
        checked       => 0 or 1: was this the image passed to this method?
                         Note: I'd like to remove this somehow.
      }

GetPrinters

  $printers = &GetPrinters();
  @queues = keys %$printers;

Returns information about existing printer queues.

$printers is a reference-to-hash whose keys are the print queues defined in the printers table of the Koha database. The values are references-to-hash, whose keys are the fields in the printers table.

GetPrinter

$printer = GetPrinter( $query, $printers );

getnbpages

Returns the number of pages to display in a pagination bar, given the number of items and the number of items per page.

getallthemes

  (@themes) = &getallthemes('opac');
  (@themes) = &getallthemes('intranet');

Returns an array of all available themes.

get_infos_of

Return a href where a key is associated to a href. You give a query, the name of the key among the fields returned by the query. If you also give as third argument the name of the value, the function returns a href of scalar. The optional 4th argument is an arrayref of items passed to the execute() call. It is designed to bind parameters to any placeholders in your SQL.

  my $query = '
SELECT itemnumber,
       notforloan,
       barcode
  FROM items
';

  # generic href of any information on the item, href of href.
  my $iteminfos_of = get_infos_of($query, 'itemnumber');
  print $iteminfos_of->{$itemnumber}{barcode};

  # specific information, href of scalar
  my $barcode_of_item = get_infos_of($query, 'itemnumber', 'barcode');
  print $barcode_of_item->{$itemnumber};

get_notforloan_label_of

  my $notforloan_label_of = get_notforloan_label_of();

Each authorised value of notforloan (information available in items and itemtypes) is link to a single label.

Returns a href where keys are authorised values and values are corresponding labels.

  foreach my $authorised_value (keys %{$notforloan_label_of}) {
    printf(
        "authorised_value: %s => %s\n",
        $authorised_value,
        $notforloan_label_of->{$authorised_value}
    );
  }

displayServers

my $servers = displayServers();

my $servers = displayServers( $position );

my $servers = displayServers( $position, $type );

displayServers returns a listref of hashrefs, each containing information about available z3950 servers. Each hashref has a format like:

    {
      'checked'    => 'checked',
      'encoding'   => 'MARC-8'
      'icon'       => undef,
      'id'         => 'LIBRARY OF CONGRESS',
      'label'      => '',
      'name'       => 'server',
      'opensearch' => '',
      'value'      => 'z3950.loc.gov:7090/',
      'zed'        => 1,
    },

GetAuthValCode

$authvalcode = GetAuthValCode($kohafield,$frameworkcode);

GetAuthorisedValues

$authvalues = GetAuthorisedValues([$category], [$selected]);

This function returns all authorised values from the'authosied_value' table in a reference to array of hashrefs.

$category returns authorised values for just one category (optional).

GetAuthorisedValueCategories

$auth_categories = GetAuthorisedValueCategories();

Return an arrayref of all of the available authorised value categories.

GetKohaAuthorisedValues

        Takes $kohafield, $fwcode as parameters.
        Returns hashref of Code => description
        Returns undef 
          if no authorised value category is defined for the kohafield.

GetManagedTagSubfields

$res = GetManagedTagSubfields();

Returns a reference to a big hash of hash, with the Marc structure fro the given frameworkcode

NOTE: This function is used only by the (incomplete) bulk editing feature. Since that feature currently does not deal with items and biblioitems changes correctly, those tags are specifically excluded from the list prepared by this function.

For future reference, if a bulk item editing feature is implemented at some point, it needs some design thought -- for example, circulation status fields should not be changed willy-nilly.

display_marc_indicators

# field is a MARC::Field object my $display_form = C4::Koha::display_marc_indicators($field);

Generate a display form of the indicators of a variable MARC field, replacing any blanks with '#'.

AUTHOR

Koha Team

<<