172 lines
4.8 KiB
Perl
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;
|