View | Details | Raw Unified | Return to bug 5888
Collapse All | Expand All

(-)a/C4/Biblio.pm (-2 / +10 lines)
Lines 1660-1665 sub GetMarcSubjects { Link Here
1660
1660
1661
        # if there is an authority link, build the link with an= subfield9
1661
        # if there is an authority link, build the link with an= subfield9
1662
        my $found9 = 0;
1662
        my $found9 = 0;
1663
        my $authoritylink;
1663
        for my $subject_subfield (@subfields) {
1664
        for my $subject_subfield (@subfields) {
1664
1665
1665
            # don't load unimarc subfields 3,4,5
1666
            # don't load unimarc subfields 3,4,5
Lines 1677-1682 sub GetMarcSubjects { Link Here
1677
            }
1678
            }
1678
            if ( $code eq 9 ) {
1679
            if ( $code eq 9 ) {
1679
                $found9 = 1;
1680
                $found9 = 1;
1681
                $authoritylink = $linkvalue;
1680
                @link_loop = ( { 'limit' => 'an', link => "$linkvalue" } );
1682
                @link_loop = ( { 'limit' => 'an', link => "$linkvalue" } );
1681
            }
1683
            }
1682
            if ( not $found9 ) {
1684
            if ( not $found9 ) {
Lines 1693-1699 sub GetMarcSubjects { Link Here
1693
            $counter++;
1695
            $counter++;
1694
        }
1696
        }
1695
1697
1696
        push @marcsubjects, { MARCSUBJECT_SUBFIELDS_LOOP => \@subfields_loop };
1698
        push @marcsubjects, {
1699
            MARCSUBJECT_SUBFIELDS_LOOP => \@subfields_loop,
1700
            authoritylink => $authoritylink,
1701
        };
1697
1702
1698
    }
1703
    }
1699
    return \@marcsubjects;
1704
    return \@marcsubjects;
Lines 1776-1782 sub GetMarcAuthors { Link Here
1776
              unless ( $authors_subfield->[0] eq '9' || $authors_subfield->[0] eq '0');
1781
              unless ( $authors_subfield->[0] eq '9' || $authors_subfield->[0] eq '0');
1777
            $count_auth++;
1782
            $count_auth++;
1778
        }
1783
        }
1779
        push @marcauthors, { MARCAUTHOR_SUBFIELDS_LOOP => \@subfields_loop };
1784
        push @marcauthors, {
1785
            MARCAUTHOR_SUBFIELDS_LOOP => \@subfields_loop,
1786
            authoritylink => $subfield9,
1787
        };
1780
    }
1788
    }
1781
    return \@marcauthors;
1789
    return \@marcauthors;
1782
}
1790
}
(-)a/koha-tmpl/opac-tmpl/prog/en/css/opac.css (+30 lines)
Lines 2135-2140 a.p1:active { Link Here
2135
div.ft {
2135
div.ft {
2136
	clear : both;
2136
	clear : both;
2137
}
2137
}
2138
2139
.authorSearch {
2140
    position: absolute;
2141
    display: none;
2142
    z-index: 2;
2143
    background-color: white;
2144
    border: 1px solid black;
2145
    padding: 4px;
2146
}
2147
.authorSearch li {
2148
    list-style-type: none;
2149
}
2150
.authorSearch ul {
2151
    padding-left: 0px;
2152
}
2153
.subjectSearch {
2154
    position: absolute;
2155
    display: none;
2156
    z-index: 2;
2157
    background-color: white;
2158
    border: 1px solid black;
2159
    padding: 4px;
2160
}
2161
.subjectSearch li {
2162
    list-style-type: none;
2163
}
2164
.subjectSearch ul {
2165
    padding-left: 0px;
2166
}
2167
2138
#basket td ul li {
2168
#basket td ul li {
2139
	font-size:90%;
2169
	font-size:90%;
2140
	list-style:disc outside url("../../images/item-bullet.gif");
2170
	list-style:disc outside url("../../images/item-bullet.gif");
(-)a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt (-11 / +172 lines)
Lines 269-274 YAHOO.util.Event.onContentReady("furtherm", function () { Link Here
269
 });
269
 });
270
//]]>
270
//]]>
271
</script>
271
</script>
272
273
<script type="text/JavaScript" language="JavaScript">
274
    function showAuthors(element, value){
275
        check("#authorsList", value);
276
        makeAuthorRequest();
277
        var left = element.offsetLeft || 0;
278
        var top = element.offsetTop || 0;
279
        $('.authorSearch').css('display', 'block');
280
        $('.authorSearch').css('left', left);
281
        $('.authorSearch').css('top', top + 15);
282
    }
283
284
    function hideMenu(elem) {
285
        $(elem).css('display', 'none');
286
    }
287
288
    function check(elem, value) {
289
        $(elem).find("li").each(function (){
290
            if ($(this).find("input").val() == value) {
291
                $(this).find("input").attr("checked", true);
292
            } else {
293
                $(this).find("input").attr("checked", false);
294
            }
295
        });
296
    }
297
298
    function checkAll(checkbox, elem) {
299
        var check = $(checkbox).attr('checked') ? true : false;
300
        $(elem).find("li").each(function (){
301
            $(this).find("input").attr("checked", check);
302
        });
303
        elem == "#authorsList" ? makeAuthorRequest() : makeSubjectRequest();
304
    }
305
306
    function makeAuthorRequest(){
307
        var request = "/cgi-bin/koha/opac-search.pl?q=";
308
        var alreadyFound = false;
309
310
        $("#authorsList").find("li").each(function () {
311
            if ($(this).find("input").attr("checked")
312
            && $(this).find("input").attr("name") == "checkbox") {
313
                value = $(this).find("input").val();
314
                if (alreadyFound) {
315
                    request += " and " + value;
316
                } else {
317
                    request += value;
318
                    alreadyFound = true;
319
                }
320
            }
321
        });
322
323
        if (alreadyFound) {
324
            $("#validAuthorSearch").attr("href", request);
325
        }else {
326
            $("#validAuthorSearch").removeAttr("href");
327
        }
328
329
    }
330
331
    //Subjects
332
    function showSubjects(element, value){
333
        check("#subjectsList", value);
334
        makeSubjectRequest();
335
        var left = element.offsetLeft || 0;
336
        var top = element.offsetTop || 0;
337
        $('.subjectSearch').css('display', 'block');
338
        $('.subjectSearch').css('left', left);
339
        $('.subjectSearch').css('top', top + 15);
340
    }
341
342
    function makeSubjectRequest() {
343
        var request = "/cgi-bin/koha/opac-search.pl?q=";
344
        var alreadyFound = false;
345
        $("#subjectsList").find("li").each(function (){
346
            if ($(this).find("input").attr("checked")
347
            && $(this).find("input").attr("name") == "checkbox") {
348
                value = $(this).find("input").val();
349
                if (alreadyFound) {
350
                    request += " and " + value;
351
                } else {
352
                    request += value;
353
                    alreadyFound = true;
354
                }
355
            }
356
        });
357
358
        alreadyFound
359
            ? $("#validSubjectSearch").attr("href", request)
360
            : $("#validSubjectSearch").removeAttr("href");
361
    }
362
</script>
363
272
[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<style type="text/css">
364
[% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<style type="text/css">
273
    #addtagl { display: none; }
365
    #addtagl { display: none; }
274
</style>[% END %][% END %][% END %]
366
</style>[% END %][% END %][% END %]
Lines 336-347 YAHOO.util.Event.onContentReady("furtherm", function () { Link Here
336
    </span>
428
    </span>
337
429
338
    [% IF ( MARCAUTHORS ) %]
430
    [% IF ( MARCAUTHORS ) %]
339
    <span class="results_summary"><span class="label">Authors:</span>
431
    <span class="results_summary">
432
        <span class="label">Authors:</span>
433
        <div class="authorSearch" id="authorSearch">
434
            <span><b>Select the item(s) to search :</b></span>
435
            <ul id="authorsList">
436
                <li><input type="checkbox" onchange="checkAll(this, '#authorsList')"> <b>all</b></li>
437
                <li><hr /></li>
340
                [% FOREACH MARCAUTHOR IN MARCAUTHORS %]
438
                [% FOREACH MARCAUTHOR IN MARCAUTHORS %]
341
                [% FOREACH MARCAUTHOR_SUBFIELDS_LOO IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %][% MARCAUTHOR_SUBFIELDS_LOO.separator %]<a title="‡[% MARCAUTHOR_SUBFIELDS_LOO.code %] [% MARCAUTHOR_SUBFIELDS_LOO.value %]" href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN MARCAUTHOR_SUBFIELDS_LOO.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]">[% MARCAUTHOR_SUBFIELDS_LOO.value %]</a>[% END %] 
439
                    <li>
342
        [% UNLESS ( loop.last ) %]|
440
                        [% IF (MARCAUTHOR.authoritylink) %]
343
[% END %]
441
                            <input type="checkbox" name="checkbox"
442
                                onclick="makeAuthorRequest()"
443
                                value="an:[% MARCAUTHOR.authoritylink %]" />
444
                        [% ELSE %]
445
                            <input type="checkbox" name="checkbox"
446
                                onclick="makeAuthorRequest()"
447
                                value="au,wrdl:[% FOREACH SUBFIELD IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %][% SUBFIELD.value |url %][% UNLESS (loop.last) %]+[% END %][% END %]" />
448
                        [% END %]
449
450
                        [% FOREACH SUBFIELD IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %]
451
                            [% SUBFIELD.value %]
452
                        [% END %]
453
                    </li>
344
                [% END %]
454
                [% END %]
455
            </ul>
456
            <hr />
457
            <a href="#" onclick="hideMenu('.authorSearch'); return false">Cancel</a>
458
            &nbsp;|&nbsp;
459
            <a id="validAuthorSearch">Search</a>
460
        </div>
461
        [% FOREACH MARCAUTHOR IN MARCAUTHORS %]
462
            [% FOREACH SUBFIELD IN MARCAUTHOR.MARCAUTHOR_SUBFIELDS_LOOP %]
463
                <a title="‡[% SUBFIELD.code %] [% SUBFIELD.value %]"
464
                    onclick="showAuthors(this, '[% FOREACH link IN SUBFIELD.link_loop %][% link.operator |url %][% link.limit |url %]:[% link.link |url %][% END %]'); return false;"
465
                    href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link IN SUBFIELD.link_loop %][% link.operator |url %][% link.limit |url %]:[% link.link |url %][% END %]">[% SUBFIELD.value %]</a>
466
                [% UNLESS (loop.last) %][% SUBFIELD.separator %][% END %]
467
            [% END %]
468
            [% IF (MARCAUTHOR.authoritylink) %]
469
                <a href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% MARCAUTHOR.authoritylink %]"><img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png"></a>
470
            [% END %]
471
            [% UNLESS ( loop.last ) %]|[% END %]
472
        [% END %]
345
    </span>
473
    </span>
346
    [% END %]
474
    [% END %]
347
475
Lines 395-406 YAHOO.util.Event.onContentReady("furtherm", function () { Link Here
395
    [% END %]
523
    [% END %]
396
524
397
    [% IF ( MARCSUBJCTS ) %]
525
    [% IF ( MARCSUBJCTS ) %]
398
            <span class="results_summary"><span class="label">Subject(s):</span> 
526
        <span class="results_summary">
399
                [% FOREACH MARCSUBJCT IN MARCSUBJCTS %]
527
            <span class="label">Subject(s):</span>
400
                    [% FOREACH MARCSUBJECT_SUBFIELDS_LOO IN MARCSUBJCT.MARCSUBJECT_SUBFIELDS_LOOP %]
528
            <div class="subjectSearch" >
401
                        [% MARCSUBJECT_SUBFIELDS_LOO.separator %]<a title="$[% MARCSUBJECT_SUBFIELDS_LOO.code %] [% MARCSUBJECT_SUBFIELDS_LOO.value %]" href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN MARCSUBJECT_SUBFIELDS_LOO.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]">[% MARCSUBJECT_SUBFIELDS_LOO.value %]</a>[% END %]
529
                <span><b>Select the item(s) to search :</b></span>
402
        [% IF ( loop.last ) %][% ELSE %]|[% END %]
530
                <ul id="subjectsList">
403
                [% END %]</span>
531
                    <li>
532
                        <input id="all" type="checkbox"
533
                            onchange="checkAll(this, '#subjectsList')" />
534
                        <b>all</b>
535
                    </li>
536
                    <li><hr /></li>
537
                    [% FOREACH MARCSUBJCT IN MARCSUBJCTS %]
538
                        [% FOREACH SUBFIELD IN MARCSUBJCT.MARCSUBJECT_SUBFIELDS_LOOP %]
539
                            <li>
540
                                <input type="checkbox" onclick="makeSubjectRequest()"
541
                                    name="checkbox" id="checkbox"
542
                                    code="[% SUBFIELD.value |url %]"
543
                                    value="[% IF (searchbyauthority) %]an:[% FOREACH link IN SUBFIELD.link_loop %][% link.link |url %][% END %][% ELSE %]su,wrdl:[% SUBFIELD.value |url %][% END %]" />
544
                                    [% SUBFIELD.value %]
545
                            </li>
546
                        [% END %]
547
                        <li><hr /></li>
548
                    [% END %]
549
                </ul>
550
                <a href="#"
551
                onclick="hideMenu('.subjectSearch'); return false">Cancel</a>
552
                &nbsp;|&nbsp;
553
                <a id="validSubjectSearch">Search</a>
554
            </div>
555
            [% FOREACH MARCSUBJCT IN MARCSUBJCTS %]
556
                [% FOREACH SUBFIELD IN MARCSUBJCT.MARCSUBJECT_SUBFIELDS_LOOP %]
557
                    [% SUBFIELD.separator %]
558
                    <a title="$[% SUBFIELD.code %] [% SUBFIELD.value %]" href="/cgi-bin/koha/opac-search.pl?q=[% FOREACH link_loo IN SUBFIELD.link_loop %][% link_loo.operator |url %][% link_loo.limit |url %]:[% link_loo.link |url %][% END %]" onclick="showSubjects(this, '[% IF (searchbyauthority) %]an:[% FOREACH link IN SUBFIELD.link_loop %][% link.link |url %][% END %][% ELSE %]su,wrdl:[% SUBFIELD.value |url %][% END %]'); return false;">[% SUBFIELD.value %]</a>
559
                [% END %]
560
                [% IF (MARCSUBJCT.authoritylink) %]
561
                    <a href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% MARCSUBJCT.subjectlink %]"><img style="vertical-align:middle" height="15" width="15" src="/opac-tmpl/prog/images/filefind.png" /></a>
562
                [% END %]
563
                [% UNLESS ( loop.last ) %] | [% END %]
564
            [% END %]
565
        </span>
404
    [% ELSE %]
566
    [% ELSE %]
405
    [% IF ( subjects ) %]<span class="results_summary"><span class="label">Subject(s):</span> [% FOREACH subject IN subjects %]<a href="/cgi-bin/koha/opac-search.pl?q=su:[% subject.subject |url %]">[% subject.subject %]</a> | [% END %]</span>[% END %]
567
    [% IF ( subjects ) %]<span class="results_summary"><span class="label">Subject(s):</span> [% FOREACH subject IN subjects %]<a href="/cgi-bin/koha/opac-search.pl?q=su:[% subject.subject |url %]">[% subject.subject %]</a> | [% END %]</span>[% END %]
406
    [% END %]
568
    [% END %]
407
- 

Return to bug 5888