# Selima Website Content Management System # Links.pm: The related-link list. # Copyright (c) 2004-2018 imacat. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Author: imacat # First written: 2004-10-24 package Selima::List::Links; use 5.008; use strict; use warnings; use base qw(Selima::List); use Selima::ShortCut; # new: Initialize the handler sub new : method { local ($_, %_); my ($self, $class); ($class, @_) = @_; $_[1] = "links" if !defined $_[1]; $self = $class->SUPER::new(@_); # The page title $self->{"title"} = $self->{"is_called_form"}? C_("Select a Related Link"): C_("Manage Related Links"); # The default sort order $self->{"DEFAULT_SORTBY"} = "title"; # Columns that should display its brief instead push @{$self->{"COLS_BRIEF"}}, qw(dsc); # Column labels $self->col_labels( "title_2ln" => C_("2nd language title"), "_imgsrc" => C_("Link icon"), "addr" => C_("Address"), "tel" => C_("Tel."), "fax" => C_("Fax."), ); return $self; } # html_newlink: Display a link to add a new item sub html_newlink : method { # Run the parent method return $_[0]->SUPER::html_newlink(C_("Add a new related link.")); } # html_search: Display the search box sub html_search : method { # Run the parent method return $_[0]->SUPER::html_search(C_("Search for a related link:")); } # liststat_message: Return the current list statistics message sub liststat_message : method { local ($_, %_); my $self; $self = $_[0]; # No record to list if ($self->{"total"} == 0) { # Inherit the empty list statistics message return $self->SUPER::liststat_message; # Fit in one page } elsif ($self->{"total"} <= $self->{"pagesize"}) { # Result comes from a query if (defined $self->{"query"}) { return C_("Your query found [*,_1,related link].", $self->{"total"}); # List result } else { return C_("[*,_1,related link].", $self->{"total"}); } # More than one page } else { # Result comes from a query if (defined $self->{"query"}) { return C_("Your query found [*,_1,related link], listing [#,_2] to [#,_3].", $self->{"total"}, $self->{"startno"}+1, $self->{"endno"}+1); # List result } else { return C_("[*,_1,related link], listing [#,_2] to [#,_3].", $self->{"total"}, $self->{"startno"}+1, $self->{"endno"}+1); } } } return 1;