# Selima Website Content Management System # ListFunc.pm: The subroutines for the lists. # Copyright (c) 2006-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: 2006-11-17 package Selima::ListFunc; use 5.008; use strict; use warnings; use base qw(Exporter); use vars qw(@EXPORT @EXPORT_OK); BEGIN { @EXPORT = qw(list_type); @EXPORT_OK = @EXPORT; # Prototype declaration sub list_type(;$); } use Selima::Cache qw(:listfunc); use Selima::FormFunc; # list_type: Return the list name sub list_type(;$) { local ($_, %_); my $type; $type = $_[0]; # Set the form type return ($ListFunc_listtype = $type) if defined $type; # Return the cache return $ListFunc_listtype if defined $ListFunc_listtype; # Obtain the current form $_ = curform; # Form type specified in arguments return ($ListFunc_listtype = $_->param("list")) if defined $_->param("list"); # No form source is found return ($ListFunc_listtype = -1); } return 1;