Files
selima-perl/lib/perl5/Selima.pm
2026-03-10 21:31:43 +08:00

172 lines
4.8 KiB
Perl

# Selima Website Content Management System
# Selima.pm: Selima Website Content Management System
# Copyright (c) 2003-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 <imacat@mail.imacat.idv.tw>
# First written: 2003-04-23
package Selima;
use 5.008;
use strict;
use warnings;
use base qw(Exporter);
use vars qw($VERSION @EXPORT @EXPORT_OK);
$VERSION = "3.10";
@EXPORT = qw();
# Import the subroutines
use Selima::A2HTML;
push @EXPORT, @Selima::A2HTML::EXPORT;
use Selima::AbsURI;
push @EXPORT, @Selima::AbsURI::EXPORT;
use Selima::Accounting;
push @EXPORT, @Selima::Accounting::EXPORT;
use Selima::AddGet;
push @EXPORT, @Selima::AddGet::EXPORT;
use Selima::AltLang;
push @EXPORT, @Selima::AltLang::EXPORT;
use Selima::Array;
push @EXPORT, @Selima::Array::EXPORT;
use Selima::Cache qw();
push @EXPORT, @Selima::Cache::EXPORT;
use Selima::CallForm;
push @EXPORT, @Selima::CallForm::EXPORT;
use Selima::ChkFunc;
push @EXPORT, @Selima::ChkFunc::EXPORT;
use Selima::ChkPriv;
push @EXPORT, @Selima::ChkPriv::EXPORT;
use Selima::ChkWrite;
push @EXPORT, @Selima::ChkWrite::EXPORT;
use Selima::CommText;
push @EXPORT, @Selima::CommText::EXPORT;
use Selima::CopyYear;
push @EXPORT, @Selima::CopyYear::EXPORT;
use Selima::Country;
push @EXPORT, @Selima::Country::EXPORT;
use Selima::DataVars qw(:all);
push @EXPORT, @Selima::DataVars::EXPORT_OK;
use Selima::DBILogin;
push @EXPORT, @Selima::DBILogin::EXPORT;
use Selima::DecForm;
push @EXPORT, @Selima::DecForm::EXPORT;
use Selima::EchoForm;
push @EXPORT, @Selima::EchoForm::EXPORT;
use Selima::Encrypt;
push @EXPORT, @Selima::Encrypt::EXPORT;
use Selima::ErrMsg;
push @EXPORT, @Selima::ErrMsg::EXPORT;
use Selima::FetchRec;
push @EXPORT, @Selima::FetchRec::EXPORT;
use Selima::FormFunc;
push @EXPORT, @Selima::FormFunc::EXPORT;
use Selima::Format;
push @EXPORT, @Selima::Format::EXPORT;
use Selima::GeoIP;
push @EXPORT, @Selima::GeoIP::EXPORT;
use Selima::GetLang;
push @EXPORT, @Selima::GetLang::EXPORT;
use Selima::Guest;
push @EXPORT, @Selima::Guest::EXPORT;
use Selima::Guestbook;
push @EXPORT, @Selima::Guestbook::EXPORT;
use Selima::HTTP;
push @EXPORT, @Selima::HTTP::EXPORT;
use Selima::HTTPS;
push @EXPORT, @Selima::HTTPS::EXPORT;
use Selima::Init;
push @EXPORT, @Selima::Init::EXPORT;
use Selima::Links;
push @EXPORT, @Selima::Links::EXPORT;
use Selima::ListFunc;
push @EXPORT, @Selima::ListFunc::EXPORT;
use Selima::ListPref;
push @EXPORT, @Selima::ListPref::EXPORT;
use Selima::LnInfo;
push @EXPORT, @Selima::LnInfo::EXPORT;
use Selima::Logging;
push @EXPORT, @Selima::Logging::EXPORT;
use Selima::LogIn;
push @EXPORT, @Selima::LogIn::EXPORT;
use Selima::LogOut;
push @EXPORT, @Selima::LogOut::EXPORT;
use Selima::LastModf;
push @EXPORT, @Selima::LastModf::EXPORT;
use Selima::MarkAbbr;
push @EXPORT, @Selima::MarkAbbr::EXPORT;
use Selima::MkAllDir;
push @EXPORT, @Selima::MkAllDir::EXPORT;
use Selima::MungAddr;
push @EXPORT, @Selima::MungAddr::EXPORT;
use Selima::NewSN;
push @EXPORT, @Selima::NewSN::EXPORT;
use Selima::PageFunc;
push @EXPORT, @Selima::Page::EXPORT;
use Selima::Page2Rel;
push @EXPORT, @Selima::Page2Rel::EXPORT;
use Selima::Passwd;
push @EXPORT, @Selima::Passwd::EXPORT;
use Selima::Picture;
push @EXPORT, @Selima::Picture::EXPORT;
use Selima::Preview;
push @EXPORT, @Selima::Preview::EXPORT;
use Selima::Query;
push @EXPORT, @Selima::Query::EXPORT;
use Selima::RelURI;
push @EXPORT, @Selima::RelURI::EXPORT;
use Selima::RemoHost;
push @EXPORT, @Selima::RemoHost::EXPORT;
use Selima::ReqURI;
push @EXPORT, @Selima::ReqURI::EXPORT;
use Selima::ScptPriv;
push @EXPORT, @Selima::ScptPriv::EXPORT;
use Selima::SetL10N;
push @EXPORT, @Selima::SetL10N::EXPORT;
use Selima::Server;
push @EXPORT, @Selima::Server::EXPORT;
use Selima::ShortCut;
push @EXPORT, @Selima::ShortCut::EXPORT;
use Selima::Unauth;
push @EXPORT, @Selima::Unauth::EXPORT;
use Selima::Unicode;
push @EXPORT, @Selima::Unicode::EXPORT;
use Selima::UserName;
push @EXPORT, @Selima::UserName::EXPORT;
use Selima::UserPref;
push @EXPORT, @Selima::UserPref::EXPORT;
use Selima::XFileIO;
push @EXPORT, @Selima::XFileIO::EXPORT;
# Pre-load :flock symbles
use Fcntl qw(:flock);
push @EXPORT, qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN);
@EXPORT_OK = @EXPORT;
# Load the classes
use Selima::AddCol;
use Selima::L10N;
use Selima::List;
use Selima::Checker;
use Selima::DBI;
use Selima::Destroy;
use Selima::Form;
use Selima::Mail;
use Selima::Page;
use Selima::Processor;
use Selima::Session;
return 1;