|
Lines 41-47
BEGIN {
Link Here
|
| 41 |
@ISA = qw(Exporter); |
41 |
@ISA = qw(Exporter); |
| 42 |
@EXPORT = qw( |
42 |
@EXPORT = qw( |
| 43 |
&GetPrinters &GetPrinter |
43 |
&GetPrinters &GetPrinter |
| 44 |
&GetItemTypes &getitemtypeinfo |
44 |
&getitemtypeinfo |
| 45 |
&GetItemTypesCategorized |
45 |
&GetItemTypesCategorized |
| 46 |
&getallthemes |
46 |
&getallthemes |
| 47 |
&getFacets |
47 |
&getFacets |
|
Lines 85-174
Koha.pm provides many functions for Koha scripts.
Link Here
|
| 85 |
|
85 |
|
| 86 |
=cut |
86 |
=cut |
| 87 |
|
87 |
|
| 88 |
=head2 GetItemTypes |
|
|
| 89 |
|
| 90 |
$itemtypes = &GetItemTypes( style => $style ); |
| 91 |
|
| 92 |
Returns information about existing itemtypes. |
| 93 |
|
| 94 |
Params: |
| 95 |
style: either 'array' or 'hash', defaults to 'hash'. |
| 96 |
'array' returns an arrayref, |
| 97 |
'hash' return a hashref with the itemtype value as the key |
| 98 |
|
| 99 |
build a HTML select with the following code : |
| 100 |
|
| 101 |
=head3 in PERL SCRIPT |
| 102 |
|
| 103 |
my $itemtypes = GetItemTypes; |
| 104 |
my @itemtypesloop; |
| 105 |
foreach my $thisitemtype (sort keys %$itemtypes) { |
| 106 |
my $selected = 1 if $thisitemtype eq $itemtype; |
| 107 |
my %row =(value => $thisitemtype, |
| 108 |
selected => $selected, |
| 109 |
description => $itemtypes->{$thisitemtype}->{'description'}, |
| 110 |
); |
| 111 |
push @itemtypesloop, \%row; |
| 112 |
} |
| 113 |
$template->param(itemtypeloop => \@itemtypesloop); |
| 114 |
|
| 115 |
=head3 in TEMPLATE |
| 116 |
|
| 117 |
<form action='<!-- TMPL_VAR name="script_name" -->' method=post> |
| 118 |
<select name="itemtype"> |
| 119 |
<option value="">Default</option> |
| 120 |
<!-- TMPL_LOOP name="itemtypeloop" --> |
| 121 |
<option value="<!-- TMPL_VAR name="value" -->" <!-- TMPL_IF name="selected" -->selected<!-- /TMPL_IF -->><!-- TMPL_VAR name="description" --></option> |
| 122 |
<!-- /TMPL_LOOP --> |
| 123 |
</select> |
| 124 |
<input type=text name=searchfield value="<!-- TMPL_VAR name="searchfield" -->"> |
| 125 |
<input type="submit" value="OK" class="button"> |
| 126 |
</form> |
| 127 |
|
| 128 |
=cut |
| 129 |
|
| 130 |
sub GetItemTypes { |
| 131 |
my ( %params ) = @_; |
| 132 |
my $style = defined( $params{'style'} ) ? $params{'style'} : 'hash'; |
| 133 |
|
| 134 |
require C4::Languages; |
| 135 |
my $language = C4::Languages::getlanguage(); |
| 136 |
# returns a reference to a hash of references to itemtypes... |
| 137 |
my $dbh = C4::Context->dbh; |
| 138 |
my $query = q| |
| 139 |
SELECT |
| 140 |
itemtypes.itemtype, |
| 141 |
itemtypes.description, |
| 142 |
itemtypes.rentalcharge, |
| 143 |
itemtypes.notforloan, |
| 144 |
itemtypes.imageurl, |
| 145 |
itemtypes.summary, |
| 146 |
itemtypes.checkinmsg, |
| 147 |
itemtypes.checkinmsgtype, |
| 148 |
itemtypes.sip_media_type, |
| 149 |
itemtypes.hideinopac, |
| 150 |
itemtypes.searchcategory, |
| 151 |
COALESCE( localization.translation, itemtypes.description ) AS translated_description |
| 152 |
FROM itemtypes |
| 153 |
LEFT JOIN localization ON itemtypes.itemtype = localization.code |
| 154 |
AND localization.entity = 'itemtypes' |
| 155 |
AND localization.lang = ? |
| 156 |
ORDER BY itemtype |
| 157 |
|; |
| 158 |
my $sth = $dbh->prepare($query); |
| 159 |
$sth->execute( $language ); |
| 160 |
|
| 161 |
if ( $style eq 'hash' ) { |
| 162 |
my %itemtypes; |
| 163 |
while ( my $IT = $sth->fetchrow_hashref ) { |
| 164 |
$itemtypes{ $IT->{'itemtype'} } = $IT; |
| 165 |
} |
| 166 |
return ( \%itemtypes ); |
| 167 |
} else { |
| 168 |
return [ sort { lc $a->{translated_description} cmp lc $b->{translated_description} } @{ $sth->fetchall_arrayref( {} ) } ]; |
| 169 |
} |
| 170 |
} |
| 171 |
|
| 172 |
=head2 GetItemTypesCategorized |
88 |
=head2 GetItemTypesCategorized |
| 173 |
|
89 |
|
| 174 |
$categories = GetItemTypesCategorized(); |
90 |
$categories = GetItemTypesCategorized(); |