diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm index ac5dea603..ca357a7e5 100644 --- a/lib/WebGUI.pm +++ b/lib/WebGUI.pm @@ -84,13 +84,7 @@ sub _processOperations { my $op = $session{form}{op}; my $opNumber = shift || 1; if ($op) { - if ($op =~ /^[A-Za-z]+$/) { - $cmd = "WebGUI::Operation::www_".$op; - $output = eval($cmd); - WebGUI::ErrorHandler::security("call a non-existent operation: $op. Root cause: ".$@) if($@); - } else { - WebGUI::ErrorHandler::security("execute an invalid operation: ".$op); - } + $output = WebGUI::Operation::execute($op); } $opNumber++; if ($output eq "" && exists $session{form}{"op".$opNumber}) { diff --git a/lib/WebGUI/Operation.pm b/lib/WebGUI/Operation.pm index 37c11d9f5..434653922 100644 --- a/lib/WebGUI/Operation.pm +++ b/lib/WebGUI/Operation.pm @@ -11,30 +11,247 @@ package WebGUI::Operation; #------------------------------------------------------------------- use strict; -use WebGUI::Operation::Auth; -use WebGUI::Operation::Admin; -use WebGUI::Operation::Clipboard; -use WebGUI::Operation::Collateral; -use WebGUI::Operation::DatabaseLink; -use WebGUI::Operation::Group; -use WebGUI::Operation::Help; -use WebGUI::Operation::MessageLog; -use WebGUI::Operation::Package; -use WebGUI::Operation::Page; -use WebGUI::Operation::Profile; -use WebGUI::Operation::ProfileSettings; -use WebGUI::Operation::Replacements; -use WebGUI::Operation::Root; -use WebGUI::Operation::Scratch; -use WebGUI::Operation::Settings; -use WebGUI::Operation::Statistics; -use WebGUI::Operation::Style; -use WebGUI::Operation::Template; -use WebGUI::Operation::Theme; -use WebGUI::Operation::Trash; -use WebGUI::Operation::User; -use WebGUI::Operation::WebGUI; -use WebGUI::Operation::Navigation; -use WebGUI::Operation::MetaData; +use WebGUI::ErrorHandler; + +=head1 NAME + +Package WebGUI::Operation + +=head1 DESCRIPTION + +This package is provides dynamic loading capabilities for the WebGUI operations. + +BAfter adding a new operation, the operation / package name must be added to WebGUI::Operation::getOperations. + +=head1 SYNOPSIS + + use WebGUI::Operation; + $html = WebGUI::Operation::execute("switchAdminOn"); + $hashRef = WebGUI::Operation::getOperations(); + +=head1 METHODS + +These functions are available from this package: + +=cut + +#------------------------------------------------------------------- + +=head2 execute ( name ) + +Loads the corresponding module for operation and executes the operation. +Returns html in most cases. + +=head3 name + +The name of the operation to execute. + +=cut + +sub execute { + my $op = shift; + my ($output, $cmd); + my $operation = getOperations(); + if ($operation->{$op}) { + # Load the module + $cmd = 'use '.$operation->{$op}; + eval ($cmd); + WebGUI::ErrorHandler::fatalError("Couldn't compile operation: ".$operation->{$op}.". Root cause: ".$@) if ($@); + # Call the method + $cmd = $operation->{$op} . '::www_'.$op; + $output = eval($cmd); + WebGUI::ErrorHandler::fatalError("Couldn't execute operation : ".$cmd.". Root cause: ".$@) if ($@); + } else { + WebGUI::ErrorHandler::security("execute an invalid operation: ".$op); + } + return $output; +} + +#------------------------------------------------------------------- + +=head2 getOperations ( ) + +Returns a hash reference containing operation and package names. + +=cut + +sub getOperations { + return { + 'switchOffAdmin' => 'WebGUI::Operation::Admin', + 'switchOnAdmin' => 'WebGUI::Operation::Admin', + 'auth' => 'WebGUI::Operation::Auth', + 'displayLogin' => 'WebGUI::Operation::Auth', + 'login' => 'WebGUI::Operation::Auth', + 'displayAccount' => 'WebGUI::Operation::Auth', + 'createAccount' => 'WebGUI::Operation::Auth', + 'deactivateAccount' => 'WebGUI::Operation::Auth', + 'logout' => 'WebGUI::Operation::Auth', + 'recoverPassword' => 'WebGUI::Operation::Auth', + 'init' => 'WebGUI::Operation::Auth', + 'deleteClipboardItem' => 'WebGUI::Operation::Clipboard', + 'deleteClipboardItemConfirm' => 'WebGUI::Operation::Clipboard', + 'emptyClipboard' => 'WebGUI::Operation::Clipboard', + 'emptyClipboardConfirm' => 'WebGUI::Operation::Clipboard', + 'manageClipboard' => 'WebGUI::Operation::Clipboard', + 'editCollateral' => 'WebGUI::Operation::Collateral', + 'editCollateralSave' => 'WebGUI::Operation::Collateral', + 'deleteCollateral' => 'WebGUI::Operation::Collateral', + 'deleteCollateralConfirm' => 'WebGUI::Operation::Collateral', + 'listCollateral' => 'WebGUI::Operation::Collateral', + 'deleteCollateralFile' => 'WebGUI::Operation::Collateral', + 'editCollateralFolder' => 'WebGUI::Operation::Collateral', + 'editCollateralFolderSave' => 'WebGUI::Operation::Collateral', + 'deleteCollateralFolder' => 'WebGUI::Operation::Collateral', + 'deleteCollateralFolderConfirm' => 'WebGUI::Operation::Collateral', + 'emptyCollateralFolder' => 'WebGUI::Operation::Collateral', + 'emptyCollateralFolderConfirm' => 'WebGUI::Operation::Collateral', + 'htmlArealistCollateral' => 'WebGUI::Operation::Collateral', + 'htmlAreaviewCollateral' => 'WebGUI::Operation::Collateral', + 'htmlAreaUpload' => 'WebGUI::Operation::Collateral', + 'htmlAreaDelete' => 'WebGUI::Operation::Collateral', + 'htmlAreaCreateFolder' => 'WebGUI::Operation::Collateral', + 'copyDatabaseLink' => 'WebGUI::Operation::DatabaseLink', + 'deleteDatabaseLink' => 'WebGUI::Operation::DatabaseLink', + 'deleteDatabaseLinkConfirm' => 'WebGUI::Operation::DatabaseLink', + 'editDatabaseLink' => 'WebGUI::Operation::DatabaseLink', + 'editDatabaseLinkSave' => 'WebGUI::Operation::DatabaseLink', + 'listDatabaseLinks' => 'WebGUI::Operation::DatabaseLink', + 'manageUsersInGroup' => 'WebGUI::Operation::Group', + 'deleteGroup' => 'WebGUI::Operation::Group', + 'deleteGroupConfirm' => 'WebGUI::Operation::Group', + 'editGroup' => 'WebGUI::Operation::Group', + 'editGroupSave' => 'WebGUI::Operation::Group', + 'listGroups' => 'WebGUI::Operation::Group', + 'emailGroup' => 'WebGUI::Operation::Group', + 'emailGroupSend' => 'WebGUI::Operation::Group', + 'manageGroupsInGroup' => 'WebGUI::Operation::Group', + 'addGroupsToGroupSave' => 'WebGUI::Operation::Group', + 'deleteGroupGrouping' => 'WebGUI::Operation::Group', + 'autoAddToGroup' => 'WebGUI::Operation::Group', + 'autoDeleteFromGroup' => 'WebGUI::Operation::Group', + 'listGroupsSecondary' => 'WebGUI::Operation::Group', + 'manageUsersInGroupSecondary' => 'WebGUI::Operation::Group', + 'addUsersToGroupSave' => 'WebGUI::Operation::Group', + 'addUsersToGroupSecondarySave' => 'WebGUI::Operation::Group', + 'deleteGroupingSecondary' => 'WebGUI::Operation::Group', + 'viewHelp' => 'WebGUI::Operation::Help', + 'viewHelpIndex' => 'WebGUI::Operation::Help', + 'viewMessageLog' => 'WebGUI::Operation::MessageLog', + 'viewMessageLogMessage' => 'WebGUI::Operation::MessageLog', + 'editMetaDataField' => 'WebGUI::Operation::MetaData', + 'manageMetaData' => 'WebGUI::Operation::MetaData', + 'editMetaDataFieldSave' => 'WebGUI::Operation::MetaData', + 'deleteMetaDataField' => 'WebGUI::Operation::MetaData', + 'deleteMetaDataFieldConfirm' => 'WebGUI::Operation::MetaData', + 'saveMetaDataSettings' => 'WebGUI::Operation::MetaData', + 'listNavigation' => 'WebGUI::Operation::Navigation', + 'editNavigation' => 'WebGUI::Operation::Navigation', + 'editNavigationSave' => 'WebGUI::Operation::Navigation', + 'copyNavigation' => 'WebGUI::Operation::Navigation', + 'deleteNavigation' => 'WebGUI::Operation::Navigation', + 'deployPackage' => 'WebGUI::Operation::Package', + 'viewPageTree' => 'WebGUI::Operation::Page', + 'movePageUp' => 'WebGUI::Operation::Page', + 'movePageDown' => 'WebGUI::Operation::Page', + 'cutPage' => 'WebGUI::Operation::Page', + 'deletePage' => 'WebGUI::Operation::Page', + 'deletePageConfirm' => 'WebGUI::Operation::Page', + 'editPage' => 'WebGUI::Operation::Page', + 'editPageSave' => 'WebGUI::Operation::Page', + 'exportPage' => 'WebGUI::Operation::Page', + 'exportPageStatus' => 'WebGUI::Operation::Page', + 'pastePage' => 'WebGUI::Operation::Page', + 'moveTreePageUp' => 'WebGUI::Operation::Page', + 'rearrangeWobjects' => 'WebGUI::Operation::Page', + 'moveTreePageDown' => 'WebGUI::Operation::Page', + 'moveTreePageLeft' => 'WebGUI::Operation::Page', + 'moveTreePageRight' => 'WebGUI::Operation::Page', + 'editProfile' => 'WebGUI::Operation::Profile', + 'editProfileSave' => 'WebGUI::Operation::Profile', + 'viewProfile' => 'WebGUI::Operation::Profile', + 'deleteProfileCategoryConfirm' => 'WebGUI::Operation::ProfileSettings', + 'deleteProfileFieldConfirm' => 'WebGUI::Operation::ProfileSettings', + 'editProfileCategorySave' => 'WebGUI::Operation::ProfileSettings', + 'editProfileFieldSave' => 'WebGUI::Operation::ProfileSettings', + 'deleteProfileCategory' => 'WebGUI::Operation::ProfileSettings', + 'deleteProfileField' => 'WebGUI::Operation::ProfileSettings', + 'editProfileCategory' => 'WebGUI::Operation::ProfileSettings', + 'editProfileField' => 'WebGUI::Operation::ProfileSettings', + 'moveProfileCategoryDown' => 'WebGUI::Operation::ProfileSettings', + 'moveProfileCategoryUp' => 'WebGUI::Operation::ProfileSettings', + 'moveProfileFieldDown' => 'WebGUI::Operation::ProfileSettings', + 'moveProfileFieldUp' => 'WebGUI::Operation::ProfileSettings', + 'editProfileSettings' => 'WebGUI::Operation::ProfileSettings', + 'deleteReplacement' => 'WebGUI::Operation::Replacements', + 'editReplacement' => 'WebGUI::Operation::Replacements', + 'editReplacementSave' => 'WebGUI::Operation::Replacements', + 'listReplacements' => 'WebGUI::Operation::Replacements', + 'listRoots' => 'WebGUI::Operation::Root', + 'setScratch' => 'WebGUI::Operation::Scratch', + 'deleteScratch' => 'WebGUI::Operation::Scratch', + 'saveSettings' => 'WebGUI::Operation::Settings', + 'editUserSettings' => 'WebGUI::Operation::Settings', + 'editCompanyInformation' => 'WebGUI::Operation::Settings', + 'editPrivilegeSettings' => 'WebGUI::Operation::Settings', + 'editMessagingSettings' => 'WebGUI::Operation::Settings', + 'editMiscSettings' => 'WebGUI::Operation::Settings', + 'editContentSettings' => 'WebGUI::Operation::Settings', + 'manageSettings' => 'WebGUI::Operation::Settings', + 'viewPageReport' => 'WebGUI::Operation::Statistics', + 'viewStatistics' => 'WebGUI::Operation::Statistics', + 'viewTrafficReport' => 'WebGUI::Operation::Statistics', + 'killSession' => 'WebGUI::Operation::Statistics', + 'viewLoginHistory' => 'WebGUI::Operation::Statistics', + 'viewActiveSessions' => 'WebGUI::Operation::Statistics', + 'makePrintable' => 'WebGUI::Operation::Style', + 'setPersonalStyle' => 'WebGUI::Operation::Style', + 'unsetPersonalStyle' => 'WebGUI::Operation::Style', + 'copyTemplate' => 'WebGUI::Operation::Template', + 'deleteTemplate' => 'WebGUI::Operation::Template', + 'deleteTemplateConfirm' => 'WebGUI::Operation::Template', + 'editTemplate' => 'WebGUI::Operation::Template', + 'editTemplateSave' => 'WebGUI::Operation::Template', + 'listTemplates' => 'WebGUI::Operation::Template', + 'viewTheme' => 'WebGUI::Operation::Theme', + 'deleteThemeComponent' => 'WebGUI::Operation::Theme', + 'deleteThemeComponentConfirm' => 'WebGUI::Operation::Theme', + 'importTheme' => 'WebGUI::Operation::Theme', + 'importThemeValidate' => 'WebGUI::Operation::Theme', + 'importThemeSave' => 'WebGUI::Operation::Theme', + 'exportTheme' => 'WebGUI::Operation::Theme', + 'addThemeComponent' => 'WebGUI::Operation::Theme', + 'addThemeComponentSave' => 'WebGUI::Operation::Theme', + 'deleteTheme' => 'WebGUI::Operation::Theme', + 'deleteThemeConfirm' => 'WebGUI::Operation::Theme', + 'editTheme' => 'WebGUI::Operation::Theme', + 'editThemeSave' => 'WebGUI::Operation::Theme', + 'listThemes' => 'WebGUI::Operation::Theme', + 'cutTrashItem' => 'WebGUI::Operation::Trash', + 'deleteTrashItem' => 'WebGUI::Operation::Trash', + 'deleteTrashItemConfirm' => 'WebGUI::Operation::Trash', + 'emptyTrash' => 'WebGUI::Operation::Trash', + 'emptyTrashConfirm' => 'WebGUI::Operation::Trash', + 'manageTrash' => 'WebGUI::Operation::Trash', + 'editUserKarma' => 'WebGUI::Operation::User', + 'editUserKarmaSave' => 'WebGUI::Operation::User', + 'editUserGroup' => 'WebGUI::Operation::User', + 'editUserProfile' => 'WebGUI::Operation::User', + 'editUserProfileSave' => 'WebGUI::Operation::User', + 'addUserToGroupSave' => 'WebGUI::Operation::User', + 'deleteGrouping' => 'WebGUI::Operation::User', + 'editGrouping' => 'WebGUI::Operation::User', + 'editGroupingSave' => 'WebGUI::Operation::User', + 'becomeUser' => 'WebGUI::Operation::User', + 'addUser' => 'WebGUI::Operation::User', + 'addUserSave' => 'WebGUI::Operation::User', + 'deleteUser' => 'WebGUI::Operation::User', + 'deleteUserConfirm' => 'WebGUI::Operation::User', + 'editUser' => 'WebGUI::Operation::User', + 'editUserSave' => 'WebGUI::Operation::User', + 'listUsers' => 'WebGUI::Operation::User', + 'theWg' => 'WebGUI::Operation::WebGUI', + 'genesis' => 'WebGUI::Operation::WebGUI' + }; +} 1; diff --git a/lib/WebGUI/Operation/Admin.pm b/lib/WebGUI/Operation/Admin.pm index 812d4ad00..e614c45f6 100644 --- a/lib/WebGUI/Operation/Admin.pm +++ b/lib/WebGUI/Operation/Admin.pm @@ -10,15 +10,11 @@ package WebGUI::Operation::Admin; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use WebGUI::Grouping; use WebGUI::Session; use WebGUI::SQL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_switchOffAdmin &www_switchOnAdmin); - #------------------------------------------------------------------- sub www_switchOffAdmin { return "" unless (WebGUI::Grouping::isInGroup(12)); diff --git a/lib/WebGUI/Operation/Auth.pm b/lib/WebGUI/Operation/Auth.pm index 1c6d7ada4..a10c1f3fd 100644 --- a/lib/WebGUI/Operation/Auth.pm +++ b/lib/WebGUI/Operation/Auth.pm @@ -13,7 +13,6 @@ package WebGUI::Operation::Auth; # and calling methods in the Auth Module. This method also has some core # logic that defines how Authentication should happen -use Exporter; use strict qw(vars subs); use URI; use WebGUI::ErrorHandler; @@ -23,8 +22,6 @@ use WebGUI::URL; use WebGUI::User; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_auth &www_displayLogin &www_login &www_displayAccount &www_createAccount &www_deactivateAccount &www_logout &www_recoverPassword &www_init); #------------------------------------------------------------------- =head2 getInstance ( ) diff --git a/lib/WebGUI/Operation/Clipboard.pm b/lib/WebGUI/Operation/Clipboard.pm index 2117082a8..d46c1ad32 100644 --- a/lib/WebGUI/Operation/Clipboard.pm +++ b/lib/WebGUI/Operation/Clipboard.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Clipboard; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use WebGUI::DateTime; use WebGUI::Grouping; @@ -27,10 +26,6 @@ use WebGUI::TabForm; use WebGUI::URL; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_deleteClipboardItem &www_deleteClipboardItemConfirm - &www_emptyClipboard &www_emptyClipboardConfirm &www_manageClipboard); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/Collateral.pm b/lib/WebGUI/Operation/Collateral.pm index 07606f356..64a0af80d 100644 --- a/lib/WebGUI/Operation/Collateral.pm +++ b/lib/WebGUI/Operation/Collateral.pm @@ -17,7 +17,6 @@ my $hasImageMagick=1; eval " use Image::Magick; "; $hasImageMagick=0 if $@; -use Exporter; use strict; use WebGUI::Collateral; use WebGUI::CollateralFolder; @@ -36,14 +35,6 @@ use Tie::IxHash; use WebGUI::URL; use WebGUI::HTML; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_editCollateral &www_editCollateralSave &www_deleteCollateral - &www_deleteCollateralConfirm &www_listCollateral - &www_deleteCollateralFile &www_editCollateralFolder &www_editCollateralFolderSave &www_deleteCollateralFolder - &www_deleteCollateralFolderConfirm &www_emptyCollateralFolder &www_emptyCollateralFolderConfirm - &www_htmlArealistCollateral &www_htmlAreaviewCollateral &www_htmlAreaUpload - &www_htmlAreaDelete &www_htmlAreaCreateFolder); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/DatabaseLink.pm b/lib/WebGUI/Operation/DatabaseLink.pm index c135717d1..e6833514a 100644 --- a/lib/WebGUI/Operation/DatabaseLink.pm +++ b/lib/WebGUI/Operation/DatabaseLink.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::DatabaseLink; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use Tie::CPHash; use WebGUI::DatabaseLink; @@ -25,10 +24,6 @@ use WebGUI::Session; use WebGUI::SQL; use WebGUI::URL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_copyDatabaseLink &www_deleteDatabaseLink &www_deleteDatabaseLinkConfirm - &www_editDatabaseLink &www_editDatabaseLinkSave &www_listDatabaseLinks); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/Group.pm b/lib/WebGUI/Operation/Group.pm index 062e51233..9a3d69c67 100644 --- a/lib/WebGUI/Operation/Group.pm +++ b/lib/WebGUI/Operation/Group.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Group; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use Tie::CPHash; use WebGUI::DatabaseLink; @@ -32,14 +31,6 @@ use WebGUI::SQL; use WebGUI::URL; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_manageUsersInGroup &www_deleteGroup &www_deleteGroupConfirm &www_editGroup - &www_editGroupSave &www_listGroups &www_emailGroup &www_emailGroupSend &www_manageGroupsInGroup - &www_addGroupsToGroupSave &www_deleteGroupGrouping &www_autoAddToGroup &www_autoDeleteFromGroup - &www_listGroupsSecondary &www_manageUsersInGroupSecondary &www_addUsersToGroupSave &www_addUsersToGroupSecondarySave - &www_deleteGroupingSecondary); - - #------------------------------------------------------------------- sub _hasSecondaryPrivilege { return 0 unless (WebGUI::Grouping::isInGroup(11)); diff --git a/lib/WebGUI/Operation/Help.pm b/lib/WebGUI/Operation/Help.pm index bbbaf7e45..af858b404 100644 --- a/lib/WebGUI/Operation/Help.pm +++ b/lib/WebGUI/Operation/Help.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Help; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use Tie::IxHash; use WebGUI::International; @@ -19,9 +18,6 @@ use WebGUI::Session; use WebGUI::URL; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_viewHelp &www_viewHelpIndex); - #------------------------------------------------------------------- sub _get { my $id = shift; diff --git a/lib/WebGUI/Operation/MessageLog.pm b/lib/WebGUI/Operation/MessageLog.pm index bfb1956b5..28c356a94 100644 --- a/lib/WebGUI/Operation/MessageLog.pm +++ b/lib/WebGUI/Operation/MessageLog.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::MessageLog; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict qw(vars subs); use URI; use WebGUI::DateTime; @@ -26,9 +25,6 @@ use WebGUI::User; use WebGUI::Utility; use WebGUI::Operation::Shared; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_viewMessageLog &www_viewMessageLogMessage); - #------------------------------------------------------------------- sub _status { return {"notice"=>WebGUI::International::get(551),"pending"=>WebGUI::International::get(552),"completed"=>WebGUI::International::get(350)}; diff --git a/lib/WebGUI/Operation/MetaData.pm b/lib/WebGUI/Operation/MetaData.pm index 226c27701..64376bc96 100644 --- a/lib/WebGUI/Operation/MetaData.pm +++ b/lib/WebGUI/Operation/MetaData.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::MetaData; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use Tie::IxHash; use WebGUI::Icon; @@ -25,10 +24,6 @@ use WebGUI::SQL; use WebGUI::URL; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_editMetaDataField &www_manageMetaData &www_editMetaDataFieldSave &www_deleteMetaDataField - &www_deleteMetaDataFieldConfirm &www_saveMetaDataSettings); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/Navigation.pm b/lib/WebGUI/Operation/Navigation.pm index c21855845..ade93579f 100644 --- a/lib/WebGUI/Operation/Navigation.pm +++ b/lib/WebGUI/Operation/Navigation.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Navigation; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use Tie::IxHash; use Tie::CPHash; @@ -24,6 +23,7 @@ use WebGUI::International; use WebGUI::Macro; use WebGUI::Navigation; use WebGUI::Operation::Shared; +use WebGUI::Paginator; use WebGUI::Privilege; use WebGUI::Session; use WebGUI::SQL; @@ -32,10 +32,6 @@ use WebGUI::Utility; use WebGUI::TabForm; use WebGUI::Cache; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_listNavigation &www_editNavigation &www_editNavigationSave &www_copyNavigation - &www_deleteNavigation www_deleteNavigationConfirm www_previewNavigation); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/Package.pm b/lib/WebGUI/Operation/Package.pm index a6294c498..381146edb 100644 --- a/lib/WebGUI/Operation/Package.pm +++ b/lib/WebGUI/Operation/Package.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Package; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict qw(vars subs); use WebGUI::Icon; use WebGUI::Id; @@ -20,9 +19,6 @@ use WebGUI::Session; use WebGUI::SQL; use WebGUI::URL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_deployPackage ); - #------------------------------------------------------------------- sub _duplicateWobjects { my (%properties); diff --git a/lib/WebGUI/Operation/Page.pm b/lib/WebGUI/Operation/Page.pm index db995acfe..42ec6e7c9 100644 --- a/lib/WebGUI/Operation/Page.pm +++ b/lib/WebGUI/Operation/Page.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Page; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use File::Path; use WebGUI::DateTime; @@ -29,13 +28,6 @@ use WebGUI::URL; use WebGUI::Utility; use WebGUI::Export; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_viewPageTree &www_movePageUp &www_movePageDown - &www_cutPage &www_deletePage &www_deletePageConfirm &www_editPage - &www_editPageSave &www_exportPage &www_exportPageStatus www_exportPageGenerate - &www_pastePage &www_moveTreePageUp &www_rearrangeWobjects &www_moveTreePageDown - &www_moveTreePageLeft &www_moveTreePageRight); - #------------------------------------------------------------------- =head2 _changeWobjectPrivileges ( page ) diff --git a/lib/WebGUI/Operation/Profile.pm b/lib/WebGUI/Operation/Profile.pm index 72b8dcab6..ec6fb6745 100644 --- a/lib/WebGUI/Operation/Profile.pm +++ b/lib/WebGUI/Operation/Profile.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Profile; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict qw(vars subs); use URI; use WebGUI::Operation::Auth; @@ -30,9 +29,6 @@ use WebGUI::URL; use WebGUI::User; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_editProfile &www_editProfileSave &www_viewProfile); - #------------------------------------------------------------------- # Builds Extra form requirements for anonymous registration. sub getRequiredProfileFields { diff --git a/lib/WebGUI/Operation/ProfileSettings.pm b/lib/WebGUI/Operation/ProfileSettings.pm index 54aadc42e..d0fd3e217 100644 --- a/lib/WebGUI/Operation/ProfileSettings.pm +++ b/lib/WebGUI/Operation/ProfileSettings.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::ProfileSettings; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use Tie::CPHash; use Tie::IxHash; @@ -24,9 +23,6 @@ use WebGUI::Privilege; use WebGUI::Session; use WebGUI::SQL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_deleteProfileCategoryConfirm &www_deleteProfileFieldConfirm &www_editProfileCategorySave &www_editProfileFieldSave &www_deleteProfileCategory &www_deleteProfileField &www_editProfileCategory &www_editProfileField &www_moveProfileCategoryDown &www_moveProfileCategoryUp &www_moveProfileFieldDown &www_moveProfileFieldUp &www_editProfileSettings); - #------------------------------------------------------------------- sub _reorderCategories { my ($sth, $i, $id); diff --git a/lib/WebGUI/Operation/Replacements.pm b/lib/WebGUI/Operation/Replacements.pm index cd1c9f76c..984dd7938 100644 --- a/lib/WebGUI/Operation/Replacements.pm +++ b/lib/WebGUI/Operation/Replacements.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Replacements; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use WebGUI::Grouping; use WebGUI::Icon; @@ -21,9 +20,6 @@ use WebGUI::Privilege; use WebGUI::Session; use WebGUI::SQL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_deleteReplacement &www_editReplacement &www_editReplacementSave &www_listReplacements); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/Root.pm b/lib/WebGUI/Operation/Root.pm index fe92cfdd3..45cec077a 100644 --- a/lib/WebGUI/Operation/Root.pm +++ b/lib/WebGUI/Operation/Root.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Root; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use Tie::CPHash; use WebGUI::Grouping; @@ -23,9 +22,6 @@ use WebGUI::Session; use WebGUI::SQL; use WebGUI::URL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_listRoots); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/Scratch.pm b/lib/WebGUI/Operation/Scratch.pm index fd00cb875..e22a94325 100644 --- a/lib/WebGUI/Operation/Scratch.pm +++ b/lib/WebGUI/Operation/Scratch.pm @@ -10,13 +10,9 @@ package WebGUI::Operation::Scratch; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use WebGUI::Session; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_setScratch &www_deleteScratch); - #------------------------------------------------------------------- sub www_deleteScratch { WebGUI::Session::deleteScratch("www_".$session{form}{scratchName}); diff --git a/lib/WebGUI/Operation/Settings.pm b/lib/WebGUI/Operation/Settings.pm index 5d0309925..2ce63db1d 100644 --- a/lib/WebGUI/Operation/Settings.pm +++ b/lib/WebGUI/Operation/Settings.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Settings; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict qw(vars subs); use WebGUI::DateTime; use WebGUI::Grouping; @@ -24,11 +23,6 @@ use WebGUI::Style; use WebGUI::SQL; use WebGUI::URL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_saveSettings &www_editUserSettings &www_editCompanyInformation - &www_editPrivilegeSettings &www_editMessagingSettings &www_editMiscSettings - &www_editContentSettings &www_manageSettings); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/Statistics.pm b/lib/WebGUI/Operation/Statistics.pm index 61f85f6da..ceae56984 100644 --- a/lib/WebGUI/Operation/Statistics.pm +++ b/lib/WebGUI/Operation/Statistics.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Statistics; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use WebGUI::Cache; use WebGUI::DateTime; @@ -23,10 +22,6 @@ use WebGUI::Privilege; use WebGUI::Session; use WebGUI::SQL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_viewPageReport &www_viewStatistics &www_viewTrafficReport &www_killSession - &www_viewLoginHistory &www_viewActiveSessions); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/Style.pm b/lib/WebGUI/Operation/Style.pm index ad6b98f05..4c90552ef 100644 --- a/lib/WebGUI/Operation/Style.pm +++ b/lib/WebGUI/Operation/Style.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Style; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use WebGUI::Grouping; use WebGUI::Paginator; @@ -18,9 +17,6 @@ use WebGUI::Privilege; use WebGUI::Session; use WebGUI::URL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_makePrintable &www_setPersonalStyle &www_unsetPersonalStyle); - #------------------------------------------------------------------- sub www_makePrintable { if ($session{form}{styleId} ne "") { diff --git a/lib/WebGUI/Operation/Template.pm b/lib/WebGUI/Operation/Template.pm index efbeb5146..c9889ca4c 100644 --- a/lib/WebGUI/Operation/Template.pm +++ b/lib/WebGUI/Operation/Template.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Template; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use Tie::CPHash; use WebGUI::Grouping; @@ -27,9 +26,6 @@ use WebGUI::Template; use WebGUI::URL; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_copyTemplate &www_deleteTemplate &www_deleteTemplateConfirm &www_editTemplate &www_editTemplateSave &www_listTemplates); - #------------------------------------------------------------------- sub _submenu { my (%menu); diff --git a/lib/WebGUI/Operation/Theme.pm b/lib/WebGUI/Operation/Theme.pm index 5fbbac435..06ff273c1 100644 --- a/lib/WebGUI/Operation/Theme.pm +++ b/lib/WebGUI/Operation/Theme.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Theme; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use Tie::IxHash; use Tie::CPHash; @@ -31,9 +30,6 @@ use WebGUI::SQL; use WebGUI::URL; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_viewTheme &www_deleteThemeComponent &www_deleteThemeComponentConfirm &www_importTheme &www_importThemeValidate &www_importThemeSave &www_exportTheme &www_addThemeComponent &www_addThemeComponentSave &www_deleteTheme &www_deleteThemeConfirm &www_editTheme &www_editThemeSave &www_listThemes); - #------------------------------------------------------------------- sub _getComponentTypes { my %components; diff --git a/lib/WebGUI/Operation/Trash.pm b/lib/WebGUI/Operation/Trash.pm index 4e7a38cf6..d8ddd3116 100644 --- a/lib/WebGUI/Operation/Trash.pm +++ b/lib/WebGUI/Operation/Trash.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::Trash; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict qw(vars subs); use Tie::CPHash; use WebGUI::DateTime; @@ -23,10 +22,6 @@ use WebGUI::Session; use WebGUI::SQL; use WebGUI::URL; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_cutTrashItem &www_deleteTrashItem &www_deleteTrashItemConfirm - &www_emptyTrash &www_emptyTrashConfirm &www_manageTrash); - #------------------------------------------------------------------- sub _purgeUserTrash { my (%properties, $base, $extended, $b, $wobjectId, $namespace, $w, $cmd, $userId, $bufferId, $page, $currentPage, $currentWobjectPage); diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm index 3ac20c51b..fbb61d45c 100644 --- a/lib/WebGUI/Operation/User.pm +++ b/lib/WebGUI/Operation/User.pm @@ -10,7 +10,6 @@ package WebGUI::Operation::User; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict qw(vars subs); use Tie::CPHash; use Tie::IxHash; @@ -32,9 +31,6 @@ use WebGUI::URL; use WebGUI::User; use WebGUI::Utility; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_editUserKarma &www_editUserKarmaSave &www_editUserGroup &www_editUserProfile &www_editUserProfileSave &www_addUserToGroupSave &www_deleteGrouping &www_editGrouping &www_editGroupingSave &www_becomeUser &www_addUser &www_addUserSave &www_deleteUser &www_deleteUserConfirm &www_editUser &www_editUserSave &www_listUsers); - #------------------------------------------------------------------- sub _submenu { diff --git a/lib/WebGUI/Operation/WebGUI.pm b/lib/WebGUI/Operation/WebGUI.pm index 942a11651..ce370eeab 100644 --- a/lib/WebGUI/Operation/WebGUI.pm +++ b/lib/WebGUI/Operation/WebGUI.pm @@ -10,13 +10,9 @@ package WebGUI::Operation::WebGUI; # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- -use Exporter; use strict; use WebGUI::Session; -our @ISA = qw(Exporter); -our @EXPORT = qw(&www_theWg &www_genesis); - #------------------------------------------------------------------- sub www_genesis { $session{page}{useEmptyStyle} = 1; diff --git a/sbin/preload.perl b/sbin/preload.perl index 1e6921f36..5efcb853c 100644 --- a/sbin/preload.perl +++ b/sbin/preload.perl @@ -162,33 +162,6 @@ use WebGUI::i18n::English::WebGUIProfile (); use WebGUI::i18n::English::WobjectProxy (); use WebGUI::i18n::English::WSClient (); -# operations -use WebGUI::Operation::Auth (); -use WebGUI::Operation::Admin (); -use WebGUI::Operation::Clipboard (); -use WebGUI::Operation::Collateral (); -use WebGUI::Operation::DatabaseLink (); -use WebGUI::Operation::Group (); -use WebGUI::Operation::Help (); -use WebGUI::Operation::MessageLog (); -use WebGUI::Operation::Navigation (); -use WebGUI::Operation::Package (); -use WebGUI::Operation::Page (); -use WebGUI::Operation::Profile (); -use WebGUI::Operation::ProfileSettings (); -use WebGUI::Operation::Replacements (); -use WebGUI::Operation::Root (); -use WebGUI::Operation::Scratch (); -use WebGUI::Operation::Settings (); -use WebGUI::Operation::Shared (); -use WebGUI::Operation::Statistics (); -use WebGUI::Operation::Style (); -use WebGUI::Operation::Template (); -use WebGUI::Operation::Theme (); -use WebGUI::Operation::Trash (); -use WebGUI::Operation::User (); -use WebGUI::Operation::WebGUI (); - # you can significantly reduce your memory usage by preloading the plugins used on your sites, only the most commonly used ones are preloaded by default # wobjects