The Plugins Conformance Report is automatically generated by a script to show the degree Plugins adhere to the official Plugins API (TWiki::Func and callbacks). The report is run against the sources in the Subversion repository.
. The report does not account for that; that is, some plugins may conform even though they fail one or more tests.
The goal of the analysis is to determine conformance to standards.
Symbol | Calls | Callers |
---|
TWiki::securityFilter | 9 | IncludeIndexPlugin LoginNameAliasesPlugin QuickSearchPlugin TWikiReleaseTrackerPlugin TopicVarsPlugin VotePlugin |
TWiki::wikiName | 7 | NotificationPlugin |
TWiki::webName | 7 | AlbumOfSnapsPlugin IrcLogPlugin PageStatsPlugin QuickSearchPlugin SearchToTablePlugin WysiwygPlugin |
TWiki::sharedSandbox | 6 | BibtexPlugin DirectedGraphPlugin EasyTimelinePlugin GnuPlotPlugin NatSkinPlugin PloticusPlugin |
TWiki::pubUrlPath | 6 | NavbarPlugin |
TWiki::handleIncludeFile | 5 | EFetchPlugin PeerPlugin TodaysVisitorsPlugin |
TWiki::Form | 5 | ControlsPlugin EditContrib GenerateSearchPlugin PreferencesPlugin |
TWiki::userToWikiName | 5 | NotificationPlugin PeerPlugin SearchToTablePlugin |
TWiki::normalizeFileName | 5 | ImageGalleryPlugin VotePlugin |
TWiki::RELEASE | 5 | IfDefinedPlugin ImageGalleryPlugin NatSkinPlugin RedDotPlugin UserInfoPlugin |
TWiki::Prefs::formatAsFlag | 4 | LoginNameAliasesPlugin ThreadedDiscussionPlugin |
TWiki::addScript | 4 | FormFieldsPlugin |
TWiki::cmdQuote | 4 | QuickSearchPlugin SearchToTablePlugin |
TWiki::OopsException | 4 | AntiWikiSpamPlugin CommentPlugin EditContrib EditTablePlugin |
TWiki::Store::saveTopic | 3 | BatchUploadPlugin EditInTablePlugin NotificationPlugin |
TWiki::topicName | 3 | AlbumOfSnapsPlugin IrcLogPlugin PageStatsPlugin |
TWiki::urlDecode | 3 | DBCachePlugin ExtendedSelectPlugin |
TWiki::handleNativeUrlEncode | 3 | FileListPlugin |
TWiki::User | 3 | FuncUsersContrib |
TWiki::UI::run | 3 | SchedulerContrib TWikiPluginInstallerContrib |
TWiki::fgrepCmd | 3 | GenPDFAddOn LatexModePlugin QuickSearchPlugin |
TWiki::Store::getRevisionInfo | 3 | NatSkinPlugin RevisionLinkPlugin |
TWiki::Prefs::getPreferencesValue | 3 | EditContrib MaxImageSizePlugin |
TWiki::initialize | 3 | EditContrib GenPDFAddOn GenPDFLatexAddOn |
TWiki::AccessControlException | 3 | ChecklistPlugin MailInContrib |
TWiki::mainWebname | 3 | ApprovalPlugin PeerPlugin |
TWiki::wikiToUserList | 2 | PeerPlugin |
TWiki::formatTime | 2 | FileListPlugin PeerPlugin |
TWiki::wikiversion | 2 | IfDefinedPlugin NatSkinPlugin |
TWiki::entityDecode | 2 | EditContrib |
TWiki::urlEncode | 2 | DefaultPlugin |
TWiki::entityEncode | 2 | EditContrib |
TWiki::useLocale | 2 | EncryptedPagesPlugin FindElsewherePlugin |
TWiki::logDir | 2 | TopicReadersPlugin |
TWiki::Cache::invalidateEntry | 2 | VotePlugin |
TWiki::wikiToUserName | 2 | PeerPlugin |
TWiki::UI::oops | 2 | BatchUploadPlugin EditContrib |
TWiki::UI::webExists | 2 | GenPDFLatexAddOn |
TWiki::Store::getRevisionNumber | 2 | NatSkinPlugin PeerPlugin |
TWiki::Store::writeLog | 2 | BlackListPlugin EditContrib |
TWiki::Render::encodeSpecialChars | 2 | EditContrib |
TWiki::handleIncludeUrl | 2 | MovableTypePlugin |
TWiki::numberOfRevisions | 2 | NatSkinPlugin |
TWiki::getTWikiLibDir | 2 | ChartPlugin VotePlugin |
TWiki::Access::checkAccessPermission | 2 | PeerPlugin SearchToTablePlugin |
TWiki::egrepCmd | 2 | QuickSearchPlugin SearchToTablePlugin |
TWiki::Store::readTemplate | 2 | GenPDFLatexAddOn |
TWiki::pubDir | 2 | DiskUsagePlugin |
TWiki::Store::getRevisionInfoFromMeta | 2 | NatSkinPlugin SearchToTablePlugin |
TWiki::UI::Preview::preview | 2 | EditContrib |
TWiki::logFilename | 2 | TodaysVisitorsPlugin UserInfoPlugin |
TWiki::Render::decodeSpecialChars | 2 | EditContrib |
TWiki::Form::getFormDef | 2 | EditContrib EditTablerowPlugin |
TWiki::getEmailOfUser | 2 | ImmediateNotifyPlugin NotificationPlugin |
TWiki::mixedAlphaNum | 1 | BatchUploadPlugin |
TWiki::defaultUrlHost | 1 | ImageGalleryPlugin |
TWiki::handleUrlParam | 1 | EditContrib |
TWiki::User::CheckUserPasswd | 1 | NatSkinPlugin |
TWiki::Search::searchWeb | 1 | FormPivotPlugin |
TWiki::Store::readTemplateTopic | 1 | BatchUploadPlugin |
TWiki::handleSearchWeb | 1 | ControlsPlugin |
TWiki::UI::Upload::updateAttachment | 1 | BatchUploadPlugin |
TWiki::Store::getAllWebs | 1 | WebDAVPlugin |
TWiki::htmldocCmd | 1 | GenPDFAddOn |
TWiki::templateDir | 1 | TWikiDrawSvgPlugin |
TWiki::Form::_getPossibleFieldValues | 1 | ControlsPlugin |
TWiki::Prefs::Parser | 1 | LoginNameAliasesPlugin |
TWiki::UI::Statistics::statistics | 1 | SchedulerContrib |
TWiki::wikiUsersTopicname | 1 | UserInfoPlugin |
TWiki::getOopsUrl | 1 | EditContrib |
TWiki::writeWarning | 1 | MailInContrib |
TWiki::isoMonth | 1 | TodaysVisitorsPlugin |
TWiki::Client::expireDeadSessions | 1 | SchedulerContrib |
TWiki::Access::htpasswdExistUser | 1 | NatSkinPlugin |
TWiki::superAdminGroup | 1 | GlobalReplacePlugin |
TWiki::Form::chooseFormButton | 1 | EditContrib |
TWiki::wikiPrefsTopicname | 1 | WebDAVPlugin |
TWiki::User::UserPasswordExists | 1 | NatSkinPlugin |
TWiki::Store::readTopMeta | 1 | UpdateInfoPlugin |
TWiki::Store::getRevisionNumberX | 1 | RevisionLinkPlugin |
TWiki::Form::getFormDefinition | 1 | FormPivotPlugin |
TWiki::warningFilename | 1 | DiskUsagePlugin |
TWiki::userToWikiList | 1 | LoginNameAliasesPlugin |
TWiki::getEmailNotifyList | 1 | NotifyOnChildModificationTopic |
TWiki::isWikiName | 1 | ProjectPlannerPlugin |
TWiki::Access::htpasswdCheckPasswd | 1 | NatSkinPlugin |
TWiki::Store::getWebTopic | 1 | SablotronPlugin |
TWiki::webPrefsTopicname | 1 | WebDAVPlugin |
TWiki::urlHost | 1 | PeerPlugin |
TWiki::writeDebug | 1 | TWikiShellContrib |
TWiki::useLoginNameAliasesPlugin | 1 | LoginNameAliasesPlugin |
TWiki::Store | 1 | MultiLangPlugin |
TWiki::wikiUserName | 1 | SearchToTablePlugin |
TWiki::Form::fieldVars2Meta | 1 | EditContrib |
TWiki::getPubDir | 1 | EmbedBibPlugin |
TWiki::Rhinos | 1 | BuildContrib |
TWiki::uploadFilter | 1 | BatchUploadPlugin |
TWiki::Client::clearSessionValue | 1 | RedDotPlugin |
TWiki::Prefs | 1 | PublishContrib |
TWiki::doSecureInclude | 1 | IncludeIndexPlugin |
TWiki::mimeTypesFilename | 1 | ImageGalleryPlugin |
TWiki::User::AddUserPassword | 1 | FakeBasicAuthRegPlugin |
TWiki::Prefs::getPrefsFromTopic | 1 | NatSkinPlugin |
TWiki::Attach::filenameToIcon | 1 | FileListPlugin |
TWiki::noSpamPadding | 1 | NatSkinPlugin |
TWiki::debugFilename | 1 | DiskUsagePlugin |
TWiki::isValidWikiWord | 1 | XpTrackerPlugin |
TWiki::Access::htpasswdReadPasswd | 1 | NatSkinPlugin |
TWiki::Store::saveFile | 1 | NavbarPlugin |
TWiki::scriptUrlPath | 1 | DatabasePlugin |
TWiki::doLogTopicEdit | 1 | EditContrib |
Module | Symbol | File (calls) |
---|
AlbumOfSnapsPlugin | TWiki::webName | lib/TWiki/Plugins/AlbumOfSnapsPlugin.pm (1)
|
TWiki::topicName | lib/TWiki/Plugins/AlbumOfSnapsPlugin.pm (1)
|
AntiWikiSpamPlugin | TWiki::OopsException | lib/TWiki/Plugins/AntiWikiSpamPlugin.pm (1)
|
ApprovalPlugin | TWiki::mainWebname | lib/TWiki/Plugins/ApprovalPlugin.pm (1)
|
BatchUploadPlugin | TWiki::Store::saveTopic | lib/TWiki/Plugins/BatchUploadPlugin.pm (1)
|
TWiki::UI::oops | lib/TWiki/Plugins/BatchUploadPlugin.pm (1)
|
TWiki::uploadFilter | lib/TWiki/Plugins/BatchUploadPlugin.pm (1)
|
TWiki::UI::Upload::updateAttachment | lib/TWiki/Plugins/BatchUploadPlugin.pm (1)
|
TWiki::mixedAlphaNum | lib/TWiki/Plugins/BatchUploadPlugin.pm (1)
|
TWiki::Store::readTemplateTopic | lib/TWiki/Plugins/BatchUploadPlugin.pm (1)
|
BibtexPlugin | TWiki::sharedSandbox | lib/TWiki/Plugins/BibtexPlugin.pm (1)
|
BlackListPlugin | TWiki::Store::writeLog | lib/TWiki/Plugins/BlackListPlugin.pm (1)
|
BuildContrib | TWiki::Rhinos | lib/TWiki/Contrib/Build.pm (1)
|
ChartPlugin | TWiki::getTWikiLibDir | lib/TWiki/Plugins/ChartPlugin.pm (1)
|
ChecklistPlugin | TWiki::AccessControlException | lib/TWiki/Plugins/ChecklistPlugin.pm (2)
|
CommentPlugin | TWiki::OopsException | lib/TWiki/Plugins/CommentPlugin/Comment.pm (1)
|
ControlsPlugin | TWiki::Form | lib/TWiki/Plugins/ControlsPlugin.pm (1)
|
TWiki::handleSearchWeb | lib/TWiki/Plugins/ControlsPlugin.pm (1)
|
TWiki::Form::_getPossibleFieldValues | lib/TWiki/Plugins/ControlsPlugin.pm (1)
|
DBCachePlugin | TWiki::urlDecode | lib/TWiki/Plugins/DBCachePlugin/WebDB.pm (2)
|
DatabasePlugin | TWiki::scriptUrlPath | lib/TWiki/Plugins/DatabasePlugin.pm (1)
|
DefaultPlugin | TWiki::urlEncode | lib/TWiki/Plugins/DefaultPlugin.pm (2)
|
DirectedGraphPlugin | TWiki::sharedSandbox | lib/TWiki/Plugins/DirectedGraphPlugin.pm (1)
|
DiskUsagePlugin | TWiki::pubDir | lib/TWiki/Plugins/DiskUsagePlugin.pm (2)
|
TWiki::warningFilename | lib/TWiki/Plugins/DiskUsagePlugin.pm (1)
|
TWiki::debugFilename | lib/TWiki/Plugins/DiskUsagePlugin.pm (1)
|
EFetchPlugin | TWiki::handleIncludeFile | lib/TWiki/Plugins/EFetchPlugin.pm (2)
|
EasyTimelinePlugin | TWiki::sharedSandbox | lib/TWiki/Plugins/EasyTimelinePlugin.pm (1)
|
EditContrib | TWiki::Form | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::OopsException | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::initialize | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::Prefs::getPreferencesValue | lib/TWiki/Contrib/EditContrib.pm (2)
|
TWiki::UI::oops | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::Store::writeLog | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::Render::encodeSpecialChars | lib/TWiki/Contrib/EditContrib.pm (2)
|
TWiki::entityDecode | lib/TWiki/Contrib/EditContrib.pm (2)
|
TWiki::UI::Preview::preview | lib/TWiki/Contrib/EditContrib.pm (2)
|
TWiki::entityEncode | lib/TWiki/Contrib/EditContrib.pm (2)
|
TWiki::Render::decodeSpecialChars | lib/TWiki/Contrib/EditContrib.pm (2)
|
TWiki::Form::getFormDef | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::Form::fieldVars2Meta | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::handleUrlParam | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::getOopsUrl | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::Form::chooseFormButton | lib/TWiki/Contrib/EditContrib.pm (1)
|
TWiki::doLogTopicEdit | lib/TWiki/Contrib/EditContrib.pm (1)
|
EditInTablePlugin | TWiki::Store::saveTopic | lib/TWiki/Plugins/EditInTablePlugin.pm (1)
|
EditTablePlugin | TWiki::OopsException | lib/TWiki/Plugins/EditTablePlugin/Core.pm (1)
|
EditTablerowPlugin | TWiki::Form::getFormDef | lib/TWiki/Plugins/EditTablerowPlugin.pm (1)
|
EmbedBibPlugin | TWiki::getPubDir | lib/TWiki/Plugins/EmbedBibPlugin.pm (1)
|
EncryptedPagesPlugin | TWiki::useLocale | lib/TWiki/Plugins/EncryptedPagesPlugin.pm (1)
|
ExtendedSelectPlugin | TWiki::urlDecode | lib/TWiki/Plugins/ExtendedSelectPlugin.pm (1)
|
FakeBasicAuthRegPlugin | TWiki::User::AddUserPassword | lib/TWiki/Plugins/FakeBasicAuthRegPlugin.pm (1)
|
FileListPlugin | TWiki::handleNativeUrlEncode | lib/TWiki/Plugins/FileListPlugin.pm (3)
|
TWiki::formatTime | lib/TWiki/Plugins/FileListPlugin.pm (1)
|
TWiki::Attach::filenameToIcon | lib/TWiki/Plugins/FileListPlugin.pm (1)
|
FindElsewherePlugin | TWiki::useLocale | lib/TWiki/Plugins/FindElsewherePlugin.pm (1)
|
FormFieldsPlugin | TWiki::addScript | lib/TWiki/Plugins/FormFieldsPlugin.pm (4)
|
FormPivotPlugin | TWiki::Form::getFormDefinition | lib/TWiki/Plugins/FormPivotPlugin.pm (1)
|
TWiki::Search::searchWeb | lib/TWiki/Plugins/FormPivotPlugin.pm (1)
|
FuncUsersContrib | TWiki::User | lib/TWiki/Contrib/FuncUsersContrib.pm (3)
|
GenPDFAddOn | TWiki::initialize | lib/TWiki/Contrib/GenPDF.pm (1)
|
TWiki::fgrepCmd | lib/TWiki/Contrib/GenPDF.pm (1)
|
TWiki::htmldocCmd | lib/TWiki/Contrib/GenPDF.pm (1)
|
GenPDFLatexAddOn | TWiki::initialize | lib/TWiki/Contrib/GenPDFLatex.pm (1)
|
TWiki::UI::webExists | lib/TWiki/Contrib/GenPDFLatex.pm (2)
|
TWiki::Store::readTemplate | lib/TWiki/Contrib/GenPDFLatex.pm (2)
|
GenerateSearchPlugin | TWiki::Form | lib/TWiki/Plugins/GenerateSearchPlugin.pm (2)
|
GlobalReplacePlugin | TWiki::superAdminGroup | lib/TWiki/Plugins/GlobalReplacePlugin.pm (1)
|
GnuPlotPlugin | TWiki::sharedSandbox | lib/TWiki/Plugins/GnuPlotPlugin/Plot.pm (1)
|
IfDefinedPlugin | TWiki::RELEASE | lib/TWiki/Plugins/IfDefinedPlugin.pm (1)
|
TWiki::wikiversion | lib/TWiki/Plugins/IfDefinedPlugin.pm (1)
|
ImageGalleryPlugin | TWiki::normalizeFileName | lib/TWiki/Plugins/ImageGalleryPlugin/Core.pm (2)
|
TWiki::RELEASE | lib/TWiki/Plugins/ImageGalleryPlugin/Core.pm (1)
|
TWiki::defaultUrlHost | lib/TWiki/Plugins/ImageGalleryPlugin/Core.pm (1)
|
TWiki::mimeTypesFilename | lib/TWiki/Plugins/ImageGalleryPlugin/Core.pm (1)
|
ImmediateNotifyPlugin | TWiki::getEmailOfUser | lib/TWiki/Plugins/ImmediateNotifyPlugin/SMTP.pm (1)
|
IncludeIndexPlugin | TWiki::securityFilter | lib/TWiki/Plugins/IncludeIndexPlugin.pm (2)
|
TWiki::doSecureInclude | lib/TWiki/Plugins/IncludeIndexPlugin.pm (1)
|
IrcLogPlugin | TWiki::webName | lib/TWiki/Plugins/IrcLogPlugin.pm (1)
|
TWiki::topicName | lib/TWiki/Plugins/IrcLogPlugin.pm (1)
|
LatexModePlugin | TWiki::fgrepCmd | lib/TWiki/Plugins/LatexModePlugin.pm (1)
|
LoginNameAliasesPlugin | TWiki::securityFilter | lib/TWiki/Plugins/LoginNameAliasesPlugin.pm (1)
|
TWiki::Prefs::formatAsFlag | lib/TWiki/Plugins/LoginNameAliasesPlugin.pm (1)
|
TWiki::userToWikiList | lib/TWiki/Plugins/LoginNameAliasesPlugin.pm (1)
|
TWiki::Prefs::Parser | lib/TWiki/Plugins/LoginNameAliasesPlugin.pm (1)
|
TWiki::useLoginNameAliasesPlugin | lib/TWiki/Plugins/LoginNameAliasesPlugin.pm (1)
|
MailInContrib | TWiki::AccessControlException | lib/TWiki/Contrib/MailInContrib.pm (1)
|
TWiki::writeWarning | lib/TWiki/Contrib/MailInContrib.pm (1)
|
MaxImageSizePlugin | TWiki::Prefs::getPreferencesValue | lib/TWiki/Plugins/MaxImageSizePlugin.pm (1)
|
MovableTypePlugin | TWiki::handleIncludeUrl | lib/TWiki/Plugins/MovableTypePlugin.pm (2)
|
MultiLangPlugin | TWiki::Store | lib/TWiki/Plugins/MultiLangPlugin.pm (1)
|
NatSkinPlugin | TWiki::sharedSandbox | lib/TWiki/Plugins/NatSkinPlugin/Search.pm (1)
|
TWiki::RELEASE | lib/TWiki/Plugins/NatSkinPlugin.pm (1)
|
TWiki::Store::getRevisionInfo | lib/TWiki/Plugins/NatSkinPlugin.pm (2)
|
TWiki::Store::getRevisionInfoFromMeta | lib/TWiki/Plugins/NatSkinPlugin/Search.pm (1)
|
TWiki::Store::getRevisionNumber | lib/TWiki/Plugins/NatSkinPlugin.pm (1)
|
TWiki::wikiversion | lib/TWiki/Plugins/NatSkinPlugin.pm (1)
|
TWiki::numberOfRevisions | lib/TWiki/Plugins/NatSkinPlugin.pm (2)
|
TWiki::Prefs::getPrefsFromTopic | lib/TWiki/Plugins/NatSkinPlugin/Auth.pm (1)
|
TWiki::Access::htpasswdCheckPasswd | lib/TWiki/Plugins/NatSkinPlugin/Auth.pm (1)
|
TWiki::User::UserPasswordExists | lib/TWiki/Plugins/NatSkinPlugin/Auth.pm (1)
|
TWiki::noSpamPadding | lib/TWiki/Plugins/NatSkinPlugin/Search.pm (1)
|
TWiki::User::CheckUserPasswd | lib/TWiki/Plugins/NatSkinPlugin/Auth.pm (1)
|
TWiki::Access::htpasswdReadPasswd | lib/TWiki/Plugins/NatSkinPlugin/Auth.pm (1)
|
TWiki::Access::htpasswdExistUser | lib/TWiki/Plugins/NatSkinPlugin/Auth.pm (1)
|
NavbarPlugin | TWiki::pubUrlPath | lib/TWiki/Plugins/NavbarPlugin.pm (6)
|
TWiki::Store::saveFile | lib/TWiki/Plugins/NavbarPlugin.pm (1)
|
NotificationPlugin | TWiki::wikiName | lib/TWiki/Plugins/NotificationPlugin.pm (7)
|
TWiki::userToWikiName | lib/TWiki/Plugins/NotificationPlugin.pm (1)
|
TWiki::Store::saveTopic | lib/TWiki/Plugins/NotificationPlugin.pm (1)
|
TWiki::getEmailOfUser | lib/TWiki/Plugins/NotificationPlugin.pm (1)
|
NotifyOnChildModificationTopic | TWiki::getEmailNotifyList | lib/TWiki/Plugins/NotifyOnChildModificationPlugin.pm (1)
|
PageStatsPlugin | TWiki::webName | lib/TWiki/Plugins/PageStatsPlugin.pm (1)
|
TWiki::topicName | lib/TWiki/Plugins/PageStatsPlugin.pm (1)
|
PeerPlugin | TWiki::handleIncludeFile | lib/TWiki/Plugins/PeerPlugin.pm (1)
|
TWiki::userToWikiName | lib/TWiki/Plugins/PeerPlugin.pm (3)
|
TWiki::mainWebname | lib/TWiki/Plugins/PeerPlugin.pm (2)
|
TWiki::Access::checkAccessPermission | lib/TWiki/Plugins/PeerPlugin.pm (1)
|
TWiki::wikiToUserName | lib/TWiki/Plugins/PeerPlugin.pm (2)
|
TWiki::wikiToUserList | lib/TWiki/Plugins/PeerPlugin.pm (2)
|
TWiki::formatTime | lib/TWiki/Plugins/PeerPlugin.pm (1)
|
TWiki::Store::getRevisionNumber | lib/TWiki/Plugins/PeerPlugin.pm (1)
|
TWiki::urlHost | lib/TWiki/Plugins/PeerPlugin.pm (1)
|
PloticusPlugin | TWiki::sharedSandbox | lib/TWiki/Plugins/PloticusPlugin/Plot.pm (1)
|
PreferencesPlugin | TWiki::Form | lib/TWiki/Plugins/PreferencesPlugin.pm (1)
|
ProjectPlannerPlugin | TWiki::isWikiName | lib/TWiki/Plugins/ProjectPlannerPlugin.pm (1)
|
PublishContrib | TWiki::Prefs | lib/TWiki/Contrib/Publish.pm (1)
|
QuickSearchPlugin | TWiki::securityFilter | lib/TWiki/Plugins/QuickSearchPlugin.pm (1)
|
TWiki::webName | lib/TWiki/Plugins/QuickSearchPlugin.pm (2)
|
TWiki::cmdQuote | lib/TWiki/Plugins/QuickSearchPlugin.pm (2)
|
TWiki::fgrepCmd | lib/TWiki/Plugins/QuickSearchPlugin.pm (1)
|
TWiki::egrepCmd | lib/TWiki/Plugins/QuickSearchPlugin.pm (1)
|
RedDotPlugin | TWiki::RELEASE | lib/TWiki/Plugins/RedDotPlugin.pm (1)
|
TWiki::Client::clearSessionValue | lib/TWiki/Plugins/RedDotPlugin.pm (1)
|
RevisionLinkPlugin | TWiki::Store::getRevisionInfo | lib/TWiki/Plugins/RevisionLinkPlugin.pm (1)
|
TWiki::Store::getRevisionNumberX | lib/TWiki/Plugins/RevisionLinkPlugin.pm (1)
|
SablotronPlugin | TWiki::Store::getWebTopic | lib/TWiki/Plugins/SablotronPlugin.pm (1)
|
SchedulerContrib | TWiki::UI::run | lib/TWiki/Contrib/SchedulerContrib/Scheduler.pm (2)
|
TWiki::UI::Statistics::statistics | lib/TWiki/Contrib/SchedulerContrib/Scheduler.pm (1)
|
TWiki::Client::expireDeadSessions | lib/TWiki/Contrib/SchedulerContrib/Scheduler.pm (1)
|
SearchToTablePlugin | TWiki::webName | lib/TWiki/Plugins/SearchToTablePlugin.pm (1)
|
TWiki::userToWikiName | lib/TWiki/Plugins/SearchToTablePlugin.pm (1)
|
TWiki::cmdQuote | lib/TWiki/Plugins/SearchToTablePlugin.pm (2)
|
TWiki::Access::checkAccessPermission | lib/TWiki/Plugins/SearchToTablePlugin.pm (1)
|
TWiki::Store::getRevisionInfoFromMeta | lib/TWiki/Plugins/SearchToTablePlugin.pm (1)
|
TWiki::egrepCmd | lib/TWiki/Plugins/SearchToTablePlugin.pm (1)
|
TWiki::wikiUserName | lib/TWiki/Plugins/SearchToTablePlugin.pm (1)
|
TWikiDrawSvgPlugin | TWiki::templateDir | lib/TWiki/Plugins/TWikiDrawSvgPlugin.pm (1)
|
TWikiPluginInstallerContrib | TWiki::UI::run | lib/TWiki/UI/Install.pm (1)
|
TWikiReleaseTrackerPlugin | TWiki::securityFilter | lib/TWiki/Plugins/TWikiReleaseTrackerPlugin.pm (1)
|
TWikiShellContrib | TWiki::writeDebug | lib/TWiki/Contrib/TWikiShellContrib/Common.pm (1)
|
ThreadedDiscussionPlugin | TWiki::Prefs::formatAsFlag | lib/TWiki/Plugins/ThreadedDiscussionPlugin.pm (3)
|
TodaysVisitorsPlugin | TWiki::handleIncludeFile | lib/TWiki/Plugins/TodaysVisitorsPlugin.pm (2)
|
TWiki::logFilename | lib/TWiki/Plugins/TodaysVisitorsPlugin.pm (1)
|
TWiki::isoMonth | lib/TWiki/Plugins/TodaysVisitorsPlugin.pm (1)
|
TopicReadersPlugin | TWiki::logDir | lib/TWiki/Plugins/TopicReadersPlugin.pm (2)
|
TopicVarsPlugin | TWiki::securityFilter | lib/TWiki/Plugins/TopicVarsPlugin.pm (2)
|
UpdateInfoPlugin | TWiki::Store::readTopMeta | lib/TWiki/Plugins/UpdateInfoPlugin.pm (1)
|
UserInfoPlugin | TWiki::RELEASE | lib/TWiki/Plugins/UserInfoPlugin/Core.pm (1)
|
TWiki::logFilename | lib/TWiki/Plugins/UserInfoPlugin/Core.pm (1)
|
TWiki::wikiUsersTopicname | lib/TWiki/Plugins/UserInfoPlugin/Core.pm (1)
|
VotePlugin | TWiki::securityFilter | lib/TWiki/Plugins/VotePlugin/Core.pm (2)
|
TWiki::normalizeFileName | lib/TWiki/Plugins/VotePlugin/Core.pm (3)
|
TWiki::getTWikiLibDir | lib/TWiki/Plugins/VotePlugin/Core.pm (1)
|
TWiki::Cache::invalidateEntry | lib/TWiki/Plugins/VotePlugin/Core.pm (2)
|
WebDAVPlugin | TWiki::webPrefsTopicname | lib/TWiki/Plugins/WebDAVPlugin/Permissions.pm (1)
|
TWiki::Store::getAllWebs | lib/TWiki/Plugins/WebDAVPlugin/Permissions.pm (1)
|
TWiki::wikiPrefsTopicname | lib/TWiki/Plugins/WebDAVPlugin/Permissions.pm (1)
|
WysiwygPlugin | TWiki::webName | lib/TWiki/Plugins/WysiwygPlugin.pm (1)
|
XpTrackerPlugin | TWiki::isValidWikiWord | lib/TWiki/Plugins/XpTrackerPlugin.pm (1)
|
Questionable code is code that may read or write topics or webs directly, or may pose a security threat.
Module | File | Code Fragment |
---|
ActionTrackerPlugin | lib/TWiki/Plugins/ActionTrackerPlugin/Action.pm |
$lastUID = <FH>;
open( FH, ">$lockFile" ) or die "Locking $lockFile: $!";
open( FH, "<$uidRegister" ) or die "Reading $uidRegister: $!"; open( FH, ">$uidRegister" ) or die "Writing $uidRegister: $!";
|
AlbumOfSnapsPlugin | lib/TWiki/Plugins/AlbumOfSnapsPlugin.pm |
open (OUTFILE, ">archive_files");
foreach $dirname (`find -type d -maxdepth 1`) # get names of all the directories.
foreach $archive_file (`find -name \"*.tgz\" -maxdepth 1`) # get all .tgz files.
@dir = `find -type d`;
$name = `ls -td */ | head -n 1`;
foreach $archive_file (`find -name \"*.tar\" -maxdepth 1`) # get all .tar file.
@dir = `find -type d`;
$name = `ls -td */ | head -n 1`;
foreach $archive_file (`find -name \"*.zip\" -maxdepth 1`) # get all .zip file.
@dir = `find -type d`;
$name = `ls -td */ | head -n 1`;
`chmod u+x archive_files`;
`./archive_files`;
`chmod 777 * `;
`rm archive_files`;
|
BarcodePlugin | lib/TWiki/Plugins/BarcodePlugin.pm |
open(PNG, "> $dir/$filename") or return _make_error "Can't write temporary file $dir/$filename";
|
BeautifierPlugin | lib/HFile/HFile_bash.pm |
$self->{delimiters} = ["~", "!", "@", "\$", "%", "^", "*", "(", ")", "+", "=", "/", "\\", "[", "]", "{", "}", ":", ";", "\"", "<", ">", "'", "´", "`", " ", ",", " ", ".", "?"];
"`" => "4",
|
lib/HFile/HFile_verilog.pm |
"`accelerate" => "3",
"`autoexepand_vectornets" => "3",
"`celldefine" => "3",
"`default_nettype" => "3",
"`define" => "3",
"`else" => "3",
"`endcelldefine" => "3",
"`endif" => "3",
"`endprotect" => "3",
"`endprotected" => "3",
"`expand_vectornets" => "3",
"`ifdef" => "3",
"`include" => "3",
"`noaccelerate" => "3",
"`noexpand_vectornets" => "3",
"`noremove_gatenames" => "3",
"`noremove_netnames" => "3",
"`nounconnected_drive" => "3",
"`protect" => "3",
"`protected" => "3",
"`remove_gatenames" => "3",
"`remove_netnames" => "3",
"`resetall" => "3",
"`timescale" => "3",
"`unconnected_drive" => "3",
|
lib/Beautifier/Magic.pm |
open(FILEIN, $filename) or return;
|
BibtexPlugin | lib/TWiki/Plugins/BibtexPlugin.pm |
open(T,">$tmpbib");
open(T,">$auxfile");
open(F,"$auxfile");
open(F,">$citefile");
open (BIBFILE, ">$tempBibfile");
|
BuildContrib | lib/TWiki/Contrib/BuildContrib/BaseBuild.pm |
while ($line = <PF>) {
unless($file && open(PF, '<'.$file)) {
|
lib/TWiki/Contrib/Build.pm |
while (my $line = <PF>) {
$this->{$stage} = ;
while ( ( $reply = ) !~ /^[yn]/i ) {
$reply = ;
my $text = ;
my $text = ;
$knownUser = ; chomp($knownUser);
$knownPass = ; chomp($knownPass);
$knownUser = ;
$knownPass = ;
while( my $line = ) {
while( my $line = ) {
$post .= ;
open(PF, '<'.$deps) || if ($file && open(PF, '<'.$file)) { open(IF, '<'.$from) || die 'No source topic '.$from.' for filter'; open(OF, '>'.$to) || die 'No dest topic '.$to.' for filter';
open(IF, '<'.$from) || die 'No source topic '.$from.' for filter'; open(OF, '>'.$to) || die 'Bad dest topic '.$to.' for filter:'.$!;
if( open(F, '<'.$ENV{HOME}.'/.buildcontriblogin')) { if( open(F, '>'.$ENV{HOME}.'/.buildcontriblogin')) {
open(PMFILE,"<$pmfile") || die $!; open(F, '<'.$manifest) || die 'Could not open existing '.$manifest; open(IN, "<$f") or die "Could not open $f: $!"; open(OUT, ">$f") || die "Could not open $f for write: $!";
$buildpldir = `dirname $0`; chop($buildpldir);
my $log = `svn info $files`;
$this->makepath(`dirname $to`);
$this->makepath(`dirname $to`);
print `export TWIKI_HOME=$this->{tmpDir}; export TWIKI_LIBS=$libs; cd $basedir/$module; perl build.pl handsoff_install`;
my $dir = `dirname $d`;
my $log = join("\n", grep { !/^\?/ } split(/\n/, `$cmd`));
$log = `$cmd`;
$log = `$cmd`;
|
ChartPlugin | lib/TWiki/Plugins/ChartPlugin/Chart.pm |
open(IMAGE, ">$dir/$filename") or return "Can't create file '$dir/$filename: $!";
|
CounterPlugin | lib/TWiki/Plugins/CounterPlugin.pm |
$Count = <FILE>;
open(FILE, '>', $CounterFile) || die "Can't open $DataFile file";
|
DakarContrib | lib/TWiki/Contrib/DakarContrib.pm |
$this->{REAL_SAFE_PIPE_OPEN} = 1; # supports open(FH, '-|")
open (STDERR, '>'.File::Spec->devnull()) || die "Oh dear";
open(STDOUT, ">&=".fileno( $writeHandle )) or die;
open (STDERR, '>'.File::Spec->devnull());
open( OLDERR, '>&STDERR' ) || die "Can't steal STDERR: $!";
open( STDERR, '>'.File::Spec->devnull());
open( STDERR, '>&OLDERR' ) || die "Can't restore STDERR: $!";
$TWiki::cfg{NameFilter} = qr/[\s\*?~^\$@%`"'&;|<>\x00-\x1f]/;
$data = `$cmd`;
|
DirectedGraphPlugin | lib/TWiki/Plugins/DirectedGraphPlugin.pm |
open OUTFILE, ">$tmpFile" or return "<noc>DirectedGraph Error: could not create file";
if (open TMP, "$image") {
if (open TMP, "$cmapx") {
|
DiskUsagePlugin | lib/TWiki/Plugins/DiskUsagePlugin.pm |
my @lines = `$cmd`;
@lines = `$cmd`;
my @lines = `$cmd`;
|
EasyTimelinePlugin | lib/TWiki/Plugins/EasyTimelinePlugin.pm |
opendir( DIR, $dir );
my @errLines = <ERRFILE>;
if ( open TMP, "$image" ) {
open OUTFILE, ">$tmpFile.txt"
open( ERRFILE, "$tmpFile.err" );
open( MAP, "${dir}/graph${hash_code}.map" )
|
EmbedBibPlugin | lib/TWiki/Plugins/EmbedBibPlugin.pm |
open(TMPFILE, ">$tmpBibFile") or return "EMBEDBIB Error: fatal error";
return `$bibtoolcommand`;
my $tmpOut = `$bibtoolcommand`;
return `$bibtex2htmlPath $tmpBibFile $bibtex2htmlArgs `;
|
ExifMetaDataPlugin | lib/TWiki/Plugins/ExifMetaDataPlugin.pm |
open(IN, $afile);
|
GaugePlugin | lib/TWiki/Plugins/GaugePlugin.pm |
open(IMAGE, ">$dir/$filename") || return _make_error "Can't create '$dir/$filename': $!";
open(IMAGE, ">$dir/$filename") || return _make_error "Can't create '$dir/$filename': $!";
|
GenPDFAddOn | lib/TWiki/Contrib/GenPDF.pm |
opendir(DIR, ".") or die "$!";
|
GenPDFLatexAddOn | lib/TWiki/Contrib/GenPDFLatex.pm |
opendir(D,$WDIR) || print STDERR "genpdflatex: Can't open $WDIR: $!\n";
open(F,$tmpzip);
open(F,">$latexfile");
open(F,"$pdffile");
open(F,"$p/ls-R") or next;
open(F,">$htmlstore/LMP.html");
`chmod a+rwx $WDIR` if ($debug);
$ret = `$pdflatex -interaction=nonstopmode $texrel`;
my @paths = split(/:/,`$base/kpsepath tex`);
|
GnuPlotPlugin | lib/TWiki/Plugins/GnuPlotPlugin/Plot.pm |
my @errLines = <ERRFILE>;
open (ERRFILE, $errFile);
open (INFILE, $gnuFile) or return newFile();
open (OUTFILE, ">", $gnuTmpFile) or die;
|
lib/TWiki/Plugins/GnuPlotPlugin/PlotSettings.pm |
open (INFILE, $gnuFile) or return newFile();
open (OUTFILE, ">", $gnuFile) or die "Cannot create new Gnuplot file!";
|
HiddenTextPlugin | lib/TWiki/Plugins/HiddenTextPlugin.pm |
my $storage = <TMPFILE>;
open TMPFILE, ">$filename";
open TMPFILE, "$filename";
|
IrcLogPlugin | lib/TWiki/Plugins/IrcLogPlugin.pm |
$text = `wget -O - "$href"`;
|
LatexModePlugin | lib/TWiki/Plugins/LatexModePlugin.pm |
opendir(D,$path);
opendir(D,$LATEXWDIR);
return; } unless open( MATHOUT, ">$LATEXFILENAME" );
my $resp = `$GREP -A 3 -i "!" $LATEXLOG`;
|
LdapPlugin | lib/TWiki/Plugins/LdapPlugin.pm |
open (FILE, ">$dir/$jpegPhotoFile");
|
LocalCityTimePlugin | lib/TWiki/Plugins/LocalCityTimePlugin.pm |
$text = `$dateCmd $dateParam`;
|
LoginNameAliasesPlugin | lib/TWiki/Plugins/LoginNameAliasesPlugin.pm |
unless (open(ALIASPLUGINLOG, ">>$logfile")) {
|
MailInContrib | lib/TWiki/Contrib/MailInContrib.pm |
open( TF, ">$tmpfile" ) || return 'Could not write '.$tmpfile;
|
MailReminderPlugin | lib/TWiki/Plugins/MailReminderPlugin.pm |
open (CONFIG, "$file_path/calender_config_file"); # open configuration file.
|
MathModePlugin | lib/TWiki/Plugins/MathModePlugin.pm |
open( MATHOUT, ">$LATEXFILENAME" );
|
MrdIdPlugin | lib/TWiki/Plugins/MrdIdPlugin.pm |
$ids = <FH>;
open(FH, ">$lockFile") or die "Locking $lockFile: $!";
open(FH, "<$uidRegister") or die "Reading $uidRegister: $!"; open(FH, ">$uidRegister") or die "Writing $uidRegister: $!";
|
MsOfficeAttachmentsAsHTMLPlugin | lib/TWiki/Plugins/MsOfficeAttachmentsAsHTMLPlugin.pm |
my $x = `$cmd 2>&1`;
my $x = `$cmd 2>`;
$x = `$cmd2 2>`;
|
NatSkinPlugin | lib/TWiki/Plugins/NatSkinPlugin.pm |
if (opendir(DIR, $cssDir)) {
|
lib/TWiki/Plugins/NatSkinPlugin/Search.pm |
opendir(DIR, $webDir) || die "can't opendir $webDir: $!";
opendir(DIR, $webDir) || die "can't opendir $webDir: $!";
$specialCharPattern = qr/([^\\])([\$\@\%\&\#\'\`\/])/o;
|
NotificationPlugin | lib/TWiki/Plugins/NotificationPlugin.pm |
if ( opendir( DIR, &TWiki::Func::getDataDir()."/".&TWiki::Func::getMainWebname() ) ) {
|
PageStatsPlugin | lib/TWiki/Plugins/PageStatsPlugin.pm |
my @pagestats = `grep $web\\.$topic $dd/log*.txt | grep -E \\(view\\|save\\)`;
|
PerlDocPlugin | lib/TWiki/Plugins/PerlDocPlugin.pm |
1 while( s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e );
|
PerlSamplePlugin | lib/TWiki/Plugins/PerlSamplePlugin.pm |
open SAVEOUT, ">&STDOUT";
open STDOUT, ">perl_stdout.tmp";
open STDOUT, ">&SAVEOUT";
open SAVEOUT, "perl_stdout.tmp";
|
PhantomPlugin | lib/TWiki/Plugins/PhantomPlugin.pm |
my $pre = $`;
|
PhotoarchivePlugin | lib/TWiki/Plugins/PhotoarchivePlugin.pm |
$pref_width = <FH>; # read first line which is the saved image width
$pref_height = ; # read 2nd line which is the saved image height
$pref_width = ; # read first line which is the saved image width
$pref_height = ; # read 2nd line which is the saved image height
$pref_width = ; # read first line which is the saved image width
$pref_height = ; # read 2nd line which is the saved image height
$pref_width = ; # read first line which is the saved image width
$pref_height = ; # read 2nd line which is the saved image height
if ( open(FH, "$attachment_dir"."_"."$pluginName"."_"."descriptedprefs") )
if ( open(FH, "> $attachment_dir"."_"."$pluginName"."_"."descriptedprefs") )
if ( open(FH, "$attachment_dir"."_"."$pluginName"."_"."detailedprefs") )
if ( open(FH, "> $attachment_dir"."_"."$pluginName"."_"."detailedprefs") )
if ( open(FH, "$attachment_dir"."_"."$pluginName"."_"."thumbsprefs") )
if ( open(FH, "> $attachment_dir"."_"."$pluginName"."_"."thumbsprefs") )
if ( open(FH, "$rnd_dir"."_"."$pluginName"."_"."rndprefs") )
if ( open(FH, "> $rnd_dir"."_"."$pluginName"."_"."rndprefs") )
|
PloticusPlugin | lib/TWiki/Plugins/PloticusPlugin/PlotSettings.pm |
open (INFILE, $ploticusFile) or return newFile();
open (OUTFILE, ">", $ploticusFile) or die "Cannot create new Ploticusplot file!";
|
lib/TWiki/Plugins/PloticusPlugin/Plot.pm |
my @errLines = <ERRFILE>;
open (ERRFILE, $errFile);
open (INFILE, $ploticusFile) or return newFile();
open (OUTFILE, ">", $ploticusTmpFile) or die;
|
PluginsInstaller | lib/TWiki/Contrib/PluginInstaller/Installer.pm |
opendir DIR,$dir;
|
lib/TWiki/Contrib/PluginInstaller/PrepareInstall.pm |
chomp ($configPath = <STDIN>) ;
chomp ($params = ) ;
|
lib/TWiki/Contrib/PluginInstaller/HandleData.pm |
open FILE,"< $filename";
my $rcsOutput=`$cmd`;
|
ProjectPlannerPlugin | lib/TWiki/Plugins/ProjectPlannerPlugin.pm |
opendir(WEB,TWiki::Func::getDataDir()."/".$web);
|
PublishContrib | lib/TWiki/Contrib/Publish.pm |
while (my $line = <F>) {
open(F, "$TWikiPubDir/$rsrcName") ||
|
lib/TWiki/Contrib/PublishContrib/file.pm |
open(F, ">$this->{path}/$f") || die "Cannot write $f: $!";
|
lib/TWiki/Contrib/PublishContrib/tgz.pm |
open(R, "<$from") || die "Failed to open $from: $!";
|
QuickSearchPlugin | lib/TWiki/Plugins/QuickSearchPlugin.pm |
opendir DIR, TWiki::Func::getDataDir();
$tempVal = `$cmd`;
|
SchedulerContrib | lib/TWiki/Contrib/SchedulerContrib/Scheduler.pm |
open (LOG, ">>".$ENV{'HOME'}."/SchedulerContrib.log") || die "$!";
die "No bin dir in `pwd`\n";
chdir "bin" || die "Could not cd to bin from `pwd`";
my $pwd = `pwd`;
|
SearchToTablePlugin | lib/TWiki/Plugins/SearchToTablePlugin.pm |
$tempVal = `$cmd`;
|
SlashFilenamePlugin | lib/TWiki/Plugins/SlashFilenamePlugin.pm |
$FileChars .= '`$,[]+';
|
SnmpCommandPlugin | lib/TWiki/Plugins/SnmpCommandPlugin.pm |
@snmp_output = <SNMPOUTPUT>;
@snmp_output = ;
@snmp_output = ;
@snmp_output = ;
open (SNMPOUTPUT, "$commandline 2>&1 |");
open (SNMPOUTPUT, "$commandline 2>&1 |");
open (SNMPOUTPUT, "$commandline 2>&1 |");
open (SNMPOUTPUT, "$commandline 2>&1 |");
|
SourceHighlightPlugin | lib/TWiki/Plugins/SourceHighlightPlugin.pm |
my @lines = <CMD>;
eval { open( TMP, "> $tmp_file" ) || die $! };
eval { open( CMD, "$this_cmd < $tmp_file |" ) || die $! };
|
TWikiDrawPlugin | lib/TWiki/Plugins/TWikiDrawPlugin.pm |
$editmess =~ s/['"]/`/g;
|
TWikiInstallerContrib | lib/TWiki/Contrib/TWikiInstallerContrib.pm |
my $bin = <BIN>;
open( BIN, '<', $destFile ) or warn "unable to change perl path for $destFile: $!", next; open( BIN, '>', $destFile ) or warn "unable to change perl path for $destFile: $!", next;
chomp( my @a = grep { !/^\.$/ } `cd $self->{extractedDir}; find .` );
|
TWikiPluginInstallerContrib | lib/TWiki/UI/Install.pm |
open( MODULE, '>', $moduleFilename ) or die $!;
|
TWikiReleaseTrackerPlugin | lib/TWiki/Plugins/TWikiReleaseTrackerPlugin.pm |
$res = `$cmd 2>&1`;
|
lib/TWiki/Plugins/TWikiReleaseTrackerPlugin/Commands.pm |
my $ans = `$cmd`;
my $ans = `$command`;
|
TWikiShellContrib | lib/TWiki/Contrib/TWikiShellContrib/Common.pm |
chomp ($value = <STDIN>);
|
lib/TWiki/Contrib/CommandSet/Package.pm |
if( opendir( DIR, "$srcDir/$dir" ) ) {
my @lines=<INBASE>;
open INBASE,"<$file";
|
lib/TWiki/Contrib/TWikiShellContrib/Config.pm |
open CONFIG,">".$self->{configFileName};
|
lib/TWiki/Contrib/CommandSet/Apache/Httpd.pm |
my @lines=<INBASE>;
open OUTBASE,">$apacheCfgFile";
open OUTBASE,">$apacheCfgFile";
open INBASE,"<$file";
|
lib/TWiki/Contrib/TWikiShellContrib/DirHandling.pm |
opendir DIR,$dir;
|
lib/TWiki/Contrib/CommandSet/Plugin/Develop.pm |
open MANIFEST,">$config->{TWIKI}{root}/$plugin.MF";
|
lib/TWiki/Contrib/TWikiShellContrib/Standard.pm |
open FILE,">$file";
`ln -s cli twikishell`;
|
lib/TWiki/Contrib/TWikiShellContrib/TWikiShell.pm |
if( opendir( DIR, "$libDir/$prefixPath" ) ) {
|
lib/TWiki/Contrib/CommandSet/Plugin/Create.pm |
my @content=<IN>;
open IN,"<$inFile"; open OUT,">$outFile";
|
TagCloudPlugin | lib/TWiki/Plugins/TagCloudPlugin/Core.pm |
$theTerms =~ s/[\*\.=\[\]\(\);\\\/\~\-\+_'`!}{"\$]/ /go;
|
TopicCreatePlugin | lib/TWiki/Plugins/TopicCreatePlugin/Func.pm |
`$mkdirCmd $pubDir/$topicWeb/$topicName`;
`$cpCmd $pubDir/$templateWeb/$template/* $pubDir/$topicWeb/$topicName/`;
`$mkdirCmd $pubDir/$toWeb/$toTopic`;
`$cpCmd $pubDir/$fromWeb/$fromTopic/$fromFile $pubDir/$toWeb/$toTopic/$toFile`;
`$cpCmd $pubDir/$fromWeb/$fromTopic/$fromFile,v $pubDir/$toWeb/$toTopic/$toFile,v`;
|
TopicReadersPlugin | lib/TWiki/Plugins/TopicReadersPlugin.pm |
opendir( DIR, "$TWiki::logDir" );
open (FILE, "<$filename");
|
VotePlugin | lib/TWiki/Plugins/VotePlugin/Core.pm |
while (my $line = <VOTES>) {
if (open(VOTES, "<$votesFile")) { open(VOTES, ">>$votesFile") || die "cannot append $votesFile";
|
XmlQueryPlugin | lib/TWiki/Plugins/XmlQueryPlugin.pm |
open (FH, ">$xmlfile")
|
XmlXslPlugin | lib/TWiki/Plugins/XmlXslPlugin.pm |
open (STUFF, $_[0]) or die "Cannot open $stuff for read :$!";
|
XpTrackerPlugin | lib/TWiki/Plugins/XpTrackerPlugin.pm |
opendir(WEB,TWiki::Func::getDataDir()."/".$web);
|
Conformance is degree to which module conforms with published interfaces. Low number
Directive | Module(s) |
---|
ACTIONS | ActionTrackerPlugin |
ACTIONS_AS_HTML | ActionTrackerPlugin |
ACTIONS_AS_STRING | ActionTrackerPlugin |
ADVERT | AdvertsPlugin |
ADVERTRIJS | AdvertsPlugin |
AGENT | AgentPlugin |
ALBUMOFSNAPS_PLUGIN | AlbumOfSnapsPlugin |
ATTACHURL | RenderListPlugin, SlideShowPlugin, ThreadedDiscussionPlugin, TreeBrowserPlugin |
AUTHOR | MailerContrib, NatSkinPlugin |
BIBABSTRACT | BibtexPlugin |
BIBERRORS | BibtexPlugin |
BIBFORM | BibtexPlugin |
BIBKEYWORDS | BibtexPlugin |
BIBTEX | BibtexPlugin |
BIBTEXRESULT | BibtexPlugin |
BIBTOPIC | BibtexPlugin |
BIBTOTAL | BibtexPlugin |
BR | SlideShowPlugin |
CALENDAR | CalendarPlugin |
CANCELSCRIPT | ActionTrackerPlugin |
CATEGORY_SEARCH | CategoryPlugin |
CATEGORY_TEMPLATE | CategoryPlugin |
CHANGES | ActionTrackerPlugin |
CHANGES_AS_HTML | ActionTrackerPlugin |
CHANGES_AS_STRING | ActionTrackerPlugin |
CHECKLIST | ChecklistPlugin |
CHECKLISTSTART | ChecklistPlugin |
CLI | ChecklistPlugin |
CMD | EditContrib |
COMMENT | PluginsInstaller |
CONTRIBUTORS | ContributorsPlugin |
CONTROLS | PowerEditPlugin |
COUNTER_PLUGIN | CounterPlugin |
CURRENTLANGUAGE | TopicTranslationsPlugin |
CURREV | NatSkinPlugin |
CURRREV | CompareRevisionsAddOn, PublishContrib |
DATE | ActionTrackerPlugin, TodaysVisitorsPlugin, TopicCreatePlugin, UserInfoPlugin |
DEFAULTITEMS | TigerSkinPlugin |
DEFAULTLANGUAGE | TopicTranslationsPlugin |
DISABLED | CommentPlugin |
DISCUSSIONDELETE | ThreadedDiscussionPlugin |
DISKUSAGE | DiskUsagePlugin |
DRAWING | TWikiDrawPlugin |
DRAWINGSVG | TWikiDrawSvgPlugin |
EBH | ActionTrackerPlugin |
EBW | ActionTrackerPlugin |
EDITFIELDS | ActionTrackerPlugin |
EDITTEXT | TWikiDrawPlugin |
EMAILFROM | ActionTrackerPlugin, ImmediateNotifyPlugin |
EMAILTO | ActionTrackerPlugin, ImmediateNotifyPlugin, MailerContrib |
EXIFMETADATA | ExifMetaDataPlugin |
F | TWikiDrawPlugin |
FILELIST | FileListPlugin |
FILENAME | PluginsInstaller |
FLOWCHART | FlowchartPlugin |
FLOWCHART_BR | FlowchartPlugin |
FLOWCHART_START | FlowchartPlugin |
FLOWCHART_STOP | FlowchartPlugin |
FORMBUTTON | NatSkinPlugin |
FORMFIELDS | EditContrib |
FORMTEMPLATE | EditContrib |
FUNDRAISINGMESSAGE | FundraisingPlugin |
GETSKINSTYLE | NatSkinPlugin |
GLOBAL_CATEGORIES_WEB | CategoryPlugin |
GOOGLE_SEARCH_PLUGIN | GoogleSearchPlugin |
GPGLISTVIEW | GpgkeyPlugin |
GREP | QuickSearchPlugin |
GUID_ID | GuidPlugin |
HIDDENFIELDS | ActionTrackerPlugin |
HISTORY | HistoryPlugin |
HISTORY_MAXREV | HistoryPlugin |
HISTORY_NREV | HistoryPlugin |
HISTORY_REV1 | HistoryPlugin |
HISTORY_REV2 | HistoryPlugin |
HOLIDAYLIST | HolidaylistPlugin |
HOVER | TWikiDrawPlugin |
HTML_TEXT | MailerContrib |
IMAGEGALLERY | ImageGalleryPlugin |
INCLUDINGTOPIC | DBCachePlugin |
INCLUDINGWEB | DBCachePlugin |
KNOWNSTYLES | NatSkinPlugin |
KNOWNVARIATIONS | NatSkinPlugin |
LASTDATE | MailerContrib |
LDAPPASSWORDCHANGER | LDAPPasswordChangerPlugin |
LEFT | FormFieldsPlugin |
LEFTMENU | TigerSkinPlugin |
LISTICONHEIGHT | PeerPlugin |
LISTICONPREFIX | PeerPlugin |
LISTICONWIDTH | PeerPlugin |
LOCALCITYTIME | LocalCityTimePlugin |
LOGO | TigerSkinPlugin |
LOGSIZES | DiskUsagePlugin |
MAILREMINDER_PLUGIN | MailReminderPlugin |
MAINWEB | ApprovalPlugin, DirectedGraphWebMapPlugin, RenderListPlugin, ThreadedDiscussionPlugin, TreeBrowserPlugin, WorkflowPlugin |
MAPNAME | TWikiDrawPlugin |
MAXREV | CompareRevisionsAddOn, PublishContrib |
MESSAGE | CommentPlugin |
MLP_DATADIRFORM | MultiLangPlugin |
MLP_SCRIPTPATHFORM | MultiLangPlugin |
MLP_SCRIPTURLFORM | MultiLangPlugin |
MLP_VIEWURLFORM | MultiLangPlugin |
NAME | FormFieldsPlugin |
NATLOGON | NatSkinPlugin |
NATLOGOUT | NatSkinPlugin |
NATMAXREV | NatSkinPlugin |
NATREVISIONS | NatSkinPlugin |
NEXTTOPIC | NavPlugin |
NOP | TopicCreatePlugin |
NTOPICS | NatSkinPlugin, QuickSearchPlugin |
OPTIONS | FormFieldsPlugin |
PARAM1 | GenerateSearchPlugin, TWikiDrawSvgPlugin |
PARAM2 | GenerateSearchPlugin, TWikiDrawSvgPlugin |
PARAM3 | GenerateSearchPlugin, TWikiDrawSvgPlugin |
PARAM4 | TWikiDrawSvgPlugin |
PHOTOARCHIVEPLUGIN | PhotoarchivePlugin |
PHOTOARCHIVEPLUGINRANDOM | PhotoarchivePlugin |
PLAIN_TEXT | MailerContrib |
PLUGIN | TWikiShellContrib |
POLLRESULTS | PollPlugin |
POSTEXT | EditContrib |
POSTEXTFIELD | EditContrib |
PPALLPLANS | ProjectPlannerPlugin |
PPALLPROJECTS | ProjectPlannerPlugin |
PRCOMMENT | PeerPlugin |
PRDATETIME | PeerPlugin |
PRDOFORM | PeerPlugin |
PRETEXT | EditContrib |
PRETEXTFIELD | EditContrib |
PREVREV | NatSkinPlugin |
PREVTOPIC | NavPlugin |
PREXTURL | PeerPlugin |
PRFORMURL | PeerPlugin |
PROBJECT | PeerPlugin |
PRQUALITY | PeerPlugin |
PRRELEVANCE | PeerPlugin |
PRREVIEWER | PeerPlugin |
PRREVINFO | PeerPlugin |
PRTEXTCOLOR | PeerPlugin |
PRTITLECOLOR | PeerPlugin |
PRTOPIC | PeerPlugin |
PRTOPICREV | PeerPlugin |
PRURL | PeerPlugin |
PRUSERVIEW | PeerPlugin |
PRWEB | PeerPlugin |
PUBURL | RenderListPlugin, ThreadedDiscussionPlugin, TreeBrowserPlugin |
QUOTA | DiskUsagePlugin |
RANDOM | AdvertsPlugin |
RANDOMTOPIC | RandomTopicPlugin |
READERCOUNT | TopicReadersPlugin |
READERDATE | TopicReadersPlugin |
READERNAME | TopicReadersPlugin |
READERS | TopicReadersPlugin |
READERSSINCE | TopicReadersPlugin |
REDDOT | RedDotPlugin |
REVCOMMENT | RevCommentPlugin |
REVINFO1 | CompareRevisionsAddOn |
REVINFO2 | CompareRevisionsAddOn |
REVISION | MailerContrib, NatSkinPlugin |
REVISIONS | CompareRevisionsAddOn |
REVTITLE | PublishContrib |
REVTITLE1 | CompareRevisionsAddOn |
REVTITLE2 | CompareRevisionsAddOn |
RIGHT | FormFieldsPlugin |
ROLLUP | RollupPlugin |
SEARCHSTRING | NatSkinPlugin |
SECTIONEDITBOXHEIGHT | EditContrib |
SECTIONEDITBOXSTYLE | EditContrib |
SECTIONEDITBOXWIDTH | EditContrib |
SECURITY | SecurityPlugin |
SELECTED | FormFieldsPlugin |
SERVERURLBASE | AdvertsPlugin |
SHOWALL | TigerSkinPlugin |
SHOWVIEW | TigerSkinPlugin |
SINCE | ActionTrackerPlugin |
SIZE | FormFieldsPlugin |
SLIDECOMMENT | SlideShowPlugin |
SLIDEMAX | SlideShowPlugin |
SLIDENAV | SlideShowPlugin |
SLIDENAVALL | SlideShowPlugin |
SLIDENAVBAR | SlideNavPlugin |
SLIDENAVFIRST | SlideShowPlugin |
SLIDENAVINDEX | SlideNavPlugin |
SLIDENAVLAST | SlideShowPlugin |
SLIDENAVNEXT | SlideShowPlugin |
SLIDENAVPREV | SlideShowPlugin |
SLIDENUM | SlideShowPlugin |
SLIDETEXT | SlideShowPlugin |
SLIDETITLE | SlideShowPlugin |
SMILIES | SmiliesPlugin |
SNMPCOMMAND | SnmpCommandPlugin |
SOURCE | XmlXslPlugin |
STARTALIASAREA | AliasPlugin, BlogPlugin, NatSkinPlugin |
STARTBIBTEX | BibtexPlugin |
STARTHIDDEN | HiddenTextPlugin, HideInEditModePlugin |
STOPALIASAREA | AliasPlugin, BlogPlugin, NatSkinPlugin |
STOPINCLUDE | BibtexPlugin, CalendarPlugin, DBCachePlugin, EditTablePlugin, HolidaylistPlugin, IncludeIndexPlugin, MailReminderPlugin, RandomQuotePlugin, SlideShowPlugin, ToolTipPlugin |
STOPPUBLISH | PublishWebPlugin |
STRIP | MacrosPlugin |
SUBJECT | ActionTrackerPlugin, MailInContrib |
SUBMITCMDNAME | ActionTrackerPlugin |
SUBMITCMDOPT | ActionTrackerPlugin |
SUBMITCOMMAND | ActionTrackerPlugin |
SUBMITSCRIPT | ActionTrackerPlugin |
SWITCHES | QuickSearchPlugin |
TEXT | ActionTrackerPlugin, EditContrib, GenPDFLatexAddOn, MailInContrib, PowerEditPlugin, PublishContrib, PublishWebPlugin |
TEXTDETAIL | EditContrib |
TEXTHEAD | MailerContrib, NatSkinPlugin |
TGPOPUP | TouchGraphPlugin |
TIGERLOGON | TigerSkinPlugin |
TIGERREVS | TigerSkinPlugin |
TIME | MailerContrib, NatSkinPlugin |
TOCTOPIC | NavPlugin |
TODAYSVISITORS | TodaysVisitorsPlugin |
TOOLTIP | ToolTipPlugin |
TOPIC | NatSkinPlugin, SlideShowPlugin, TopicCreatePlugin, XpTrackerPlugin |
TOPICMAP | DirectedGraphWebMapPlugin |
TOPICNAME | ImmediateNotifyPlugin, MailerContrib, NatSkinPlugin, QuickSearchPlugin |
TOPICPARENT | EditContrib, NotifyOnChildModificationTopic |
TRANSLATIONCHECK | MultiLangPlugin |
TRANSLATIONS | MultiLangPlugin |
TREEVIEW | TreePlugin |
TWIKIDRAW | TWikiDrawPlugin |
TWIKIWEB | ApprovalPlugin, DirectedGraphWebMapPlugin, RenderListPlugin, ThreadedDiscussionPlugin, TreeBrowserPlugin, WorkflowPlugin |
UID | ActionTrackerPlugin |
URL | MailerContrib |
USER | ImmediateNotifyPlugin |
USERACTIONS | NatSkinPlugin |
USERNAME | PluginsInstaller |
VALUE | FormFieldsPlugin |
VERSIONLINK | VersionLinkPlugin |
WEB | ImmediateNotifyPlugin, NatSkinPlugin, QuickSearchPlugin, RenderListPlugin, SlideShowPlugin, ThreadedDiscussionPlugin, TopicCreatePlugin, TreeBrowserPlugin |
WEBBGCOLOR | QuickSearchPlugin |
WEBCONTENTTYPE | PhantomPlugin |
WEBLINK | NatSkinPlugin |
WEBMAP | DirectedGraphWebMapPlugin |
WHAT | AdvertsPlugin |
WIKIRELEASENAME | NatSkinPlugin |
WIKISPAMWORD | BlackListPlugin |
WIKITOOLNAME | NatSkinPlugin |
WIKIUSERNAME | ActionTrackerPlugin, TopicCreatePlugin |
XPSHOWALLITERATIONS | XpTrackerPlugin |
XPSHOWALLPROJECTS | XpTrackerPlugin |
XPSHOWALLTEAMS | XpTrackerPlugin |
XPSHOWCOLOURS | XpTrackerPlugin |
dot | EditTablePlugin |
textsectionend | TextSectionPlugin |
The script that generates the PluginsConformanceReport is in the Subversion repository, in tools/conformance_analyser.pl. You can easily run it on all plugins or just a selected subset.
I think it would be to decide which directory TWiki or Plugins is to be used for bundling and to blacklist everything that does not conform. Where you install them is another matter, but for consistency (i.e. & sanity's sake) we should have 1 place in the distributions.
currently do not conform with the majority.
Crawford. What do you think of generating a topic per plugin, so that plugin authors and users can be directly test the goodness of a plugin? I guess you'd need a new web but I am sure that if Peter gets around to reading this topic he would agree that this would be a good thing.
Somehow I missed this topic before. All I can say is Wow!! This is great data for understanding how to expand TWiki::Func etc. Great work!!!
There seems to be a problem with this list: It generates much more hits for non-conformity function calls than are actually in the plugins. Probably the script just greps the source code of a plugin for a
. However, if you use the
(E.g. my
API).
Good point; I'll have a look. I
it is smarter than that, but you are probably right.
Crawford, can we point to a work around to eliminate deprecated handlers. I believe we can easily get rid of those in the plugins, but it would be good to give plugin authors a pointer to where we discussed alternative realizations of those calls...
Good point.
.
The following plugins are among those that have their data files in the Plugins rather than TWiki web:
This report is great. Another area that could be tested is urlparams: plugins might use the same urlparam names and thus clash when used together.
Note that while this script is great, it doesn't handle inline version conditionals. Personally, I don't find it a problem, because I think inline version conditionals are a bad idea and won't use plugins that do it, but it does mean that those trying to decide whether to use a plugin has to read the code of any plugin that shows violations to determine whether the plugin actually complies with
.
Another flaw of this survey is that if a plugin tries to support previous platforms it will score badly albeit its conformance is virtually better.
That's what Meredith just said. Unfortunately there are so many different ways to write version conditionals, it is really hard to separate that out. the obvious solution is to use some sort of marks e.g.
but that requires cooperation from plugins authors, and so far getting cooperation from many plugin authors has proven difficult. Note that the analyser already ignores any lines with
anywhere in them.
This shows one reason why having different modules for different versions is a good idea, rather than intermingling the code. The Dakar module, if totally conformant, would pass perfectly.
I wouldn't stand the redundancy just to pass this conformance test.
I added a note on top to read the report with a grain of salt.
would be a good addition.
Micha, I haven't looked at your code, but putting conditional code into a subroutine and having different versions of the subroutine for each version that you support can make the main body more readable
allow an extension to pass a conformance test.