MediaWiki  1.23.14
importImages.php File Reference

Import one or more images from the local file system into the wiki without using the web-based interface. More...

Go to the source code of this file.

Functions

 showUsage ( $reason=false)
 

Variables

 $comment = 'Importing file'
 
if(isset( $options['comment-file'])) elseif(isset( $options['comment'])) $commentExt = isset( $options['comment-ext'] ) ? $options['comment-ext'] : false
 
 $count = count( $files )
 
if(count( $args)==0) $dir = $args[0]
 
 $extensions
 
 $files = findFiles( $dir, $extensions, isset( $options['search-recursively'] ) )
 
 $from = @$options['from']
 
 $license = isset( $options['license'] ) ? $options['license'] : ''
 
if( $sleep) $limit = @$options['limit']
 
 $optionsWithArgs
 
 $processed = $added = $ignored = $skipped = $overwritten = $failed = 0
 
 $sleep = @$options['sleep']
 
 $summary = isset( $options['summary'] ) ? $options['summary'] : ''
 
if( $limit) $timestamp = isset( $options['timestamp'] ) ? $options['timestamp'] : false
 
 $user
 
if(isset( $options['protect']) &&isset( $options['unprotect'])) if(isset( $options['protect']) && $options['protect']==1) global $wgFileExtensions
 
if(! $user instanceof User$wgUser = $user
 
if(isset( $options['check-userblock'])) else
 

Detailed Description

Import one or more images from the local file system into the wiki without using the web-based interface.

"Smart import" additions:

  • aim: preserve the essential metadata (user, description) when importing medias from an existing wiki
  • process:
    • interface with the source wiki, don't use bare files only (see –source-wiki-url).
    • fetch metadata from source wiki for each file to import.
    • commit the fetched metadata to the destination wiki while submitting.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. http://www.gnu.org/copyleft/gpl.html

Author
Rob Church robch.nosp@m.ur@g.nosp@m.mail..nosp@m.com
Mij mij@b.nosp@m.itch.nosp@m.x.it

Definition in file importImages.php.

Function Documentation

◆ showUsage()

showUsage (   $reason = false)

Definition at line 328 of file importImages.php.

References anything, are, data, directory, example, file, from, is(), list, name, of, options(), php, source, sysop(), URL, used, wiki, and will.

Variable Documentation

◆ $comment

$comment = 'Importing file'

Definition at line 107 of file importImages.php.

Referenced by BackupDumperLoggerTest\addLogEntry(), RecentChangeTest\assertIRCComment(), BackupDumperLoggerTest\assertLogItem(), Orphans\checkOrphans(), Linker\commentBlock(), ApiFeedWatchlist\createFeedItem(), ApiTestCaseUpload\deleteFileByTitle(), UserCache\doQuery(), GenderCache\doQuery(), WikiPage\doQuickEdit(), WikiPage\doQuickEditContent(), ApiImageRotate\execute(), ApiQueryRevisions\extractRowInfo(), Linker\formatAutocomments(), Linker\formatAutocommentsCallback(), Linker\formatComment(), FeedUtils\formatDiffRow(), SpecialUndelete\formatFileRow(), Linker\formatLinksInComment(), Linker\formatLinksInCommentCallback(), SpecialMergeHistory\formatRevisionRow(), SpecialUndelete\formatRevisionRow(), DeletedContribsPager\formatRow(), SpecialNewpages\formatRow(), ContribsPager\formatRow(), LogFormatter\getComment(), RevDel_RevisionItem\getHTML(), RevisionItem\getHTML(), RevDel_LogItem\getHTML(), ApiQueryImageInfo\getInfo(), SpecialUpload\getInitialPageText(), LogFormatter\getIRCActionComment(), IRCColourfulRCFeedFormatter\getLine(), GIFMetadataExtractor\getMetadata(), UploadFromUrl\insertJob(), SearchEngineTest\insertPage(), LogEventsList\logLine(), SpecialMergeHistory\merge(), Title\moveTo(), Title\moveToInternal(), RecentChange\notifyEdit(), RecentChange\notifyNew(), RevertFileAction\onSubmit(), UploadFromChunks\performUpload(), UploadFromStash\performUpload(), UploadFromUrl\performUpload(), OldLocalFile\recordOldUpload(), LocalFile\recordUpload2(), ImportReporter\reportPage(), RevDel_List\setVisibility(), SpecialRevisionDelete\submit(), LanguageTest\testGetParentLanguage(), LanguageTest\testIsSupportedLanguage(), LogFormatterTest\testLogComment(), testNormals(), CLDRPluralRuleEvaluatorTest\testValidRules(), PageArchive\undelete(), PageArchive\undeleteRevisions(), LocalFile\upload(), OldLocalFile\uploadOld(), and XmlDumpWriter\writeUpload().

◆ $commentExt

if (isset($options[ 'comment-file'])) elseif (isset($options[ 'comment'])) $commentExt = isset( $options['comment-ext'] ) ? $options['comment-ext'] : false

Definition at line 118 of file importImages.php.

◆ $count

$count = count( $files )

Definition at line 126 of file importImages.php.

◆ $dir

if (count($args)==0) $dir = $args[0]

Definition at line 49 of file importImages.php.

Referenced by GitInfo\__construct(), IndexPager\__construct(), FSFileBackendList\__construct(), FileBackendStoreShardListIterator\__construct(), lessc\addImportDir(), OutputPage\addStyle(), ApiQueryBase\addTimestampWhereRange(), ApiQueryBase\addWhereRange(), EnhancedChangesList\arrow(), FileCacheBase\cachePath(), JobQueueDB\claimRandom(), FileRepo\cleanDir(), SqliteInstaller\dataDirOKmaybeCreate(), UploadFromUrlTestSuite\deleteDirs(), FileBackendStore\directoryExists(), Installer\dirIsExecutable(), FileBackendStore\doClean(), FSFileBackend\doCleanInternal(), SwiftFileBackend\doCleanInternal(), FSFileBackend\doDirectoryExists(), SwiftFileBackend\doDirectoryExists(), TestFileOpPerformance\doPerfTest(), FileBackendStore\doPrepare(), FSFileBackend\doPrepareInternal(), FileBackendStore\doPublish(), FSFileBackend\doPublishInternal(), FileBackendStore\doSecure(), FSFileBackend\doSecureInternal(), FileBackendTest\doTestRecursiveClean(), Installer\envCheckUploadsDirectory(), CountMessages\execute(), ApiQueryDeletedrevs\execute(), SpecialExport\execute(), ApiQueryFilearchive\execute(), PruneFileCache\execute(), UploadStashCleanup\execute(), ApiQueryAllUsers\execute(), FindHooks\execute(), Exif\exifGPStoNumber(), findFiles(), lessc\findImport(), WebInstallerOutput\getCSS(), FileBackendStore\getDirectoryList(), MemoryFileBackend\getDirectoryListInternal(), FSFileBackend\getDirectoryListInternal(), SwiftFileBackend\getDirectoryListInternal(), SwiftFileBackend\getDirListPageInternal(), FileBackendStore\getFileList(), FSFileBackend\getFileListInternal(), SwiftFileBackend\getFileListInternal(), SwiftFileBackend\getFileListPageInternal(), SpecialVersion\getGitHeadSha1(), SqliteInstaller\getLocalSettings(), SpecialRandomInCategory\getQueryInfo(), RandomImageGenerator\getRandomFilenames(), FSFileBackendList\getRelPath(), SpecialVersion\getSvnInfo(), SpecialVersion\getSvnRevision(), ForeignAPIFile\getThumbnails(), LocalFile\getThumbnails(), FileRepo\initDirectory(), FSFileBackendList\initIterator(), SqliteInstaller\needsUpgrade(), SqliteInstaller\openConnection(), lessc_parser\parseChunk(), ImageCleanup\pokeFile(), PruneFileCache\prune_directory(), LocalFile\purgeOldThumbnails(), LocalFile\purgeThumbList(), ForeignAPIFile\purgeThumbnails(), LocalFile\purgeThumbnails(), FileRepo\quickCleanDir(), ResourceLoaderFileModule\readStyleFile(), LocalisationCache\recache(), ApiQueryAllCategories\run(), ApiQueryCategoryMembers\run(), ApiQueryPagesWithProp\run(), ApiQueryAllPages\run(), WikiImporter\setImageBasePath(), SqliteInstaller\setupDatabase(), UploadFromUrlTestSuite\setupUploadDir(), Article\showCssOrJsPage(), LogEventsList\showLogExtract(), EnhancedChangesList\sideArrow(), SqliteInstaller\submitConnectForm(), CdbTest\testCdb(), lessc\tryImport(), RandomImageGenerator\writeImages(), and MessageWriter\writeMessagesArray().

◆ $extensions

$extensions
Initial value:
= isset( $options['extensions'] )
? explode( ',', strtolower( $options['extensions'] ) )

Definition at line 62 of file importImages.php.

Referenced by SpecialVersion\execute(), SpecialVersion\getExtensionCredits(), UploadStash\getExtensionForPath(), MediaHandler\getThumbType(), and SpecialUpload\processVerificationError().

◆ $files

$files = findFiles( $dir, $extensions, isset( $options['search-recursively'] ) )

Definition at line 67 of file importImages.php.

Referenced by ExtensionsTestSuite\__construct(), AutoLoaderTest\checkAutoLoadConf(), TextPassDumperTest\checkpointHelper(), Sqlite\checkSqlSyntax(), SqliteMaintenance\checkSyntax(), FileRepo\cleanupBatch(), LocalFileMoveBatch\cleanupSource(), UploadFromUrlTestSuite\deleteFiles(), FileBackendTest\doTestDoQuickOperations(), FileBackendTest\doTestGetDirectoryList(), FileBackendTest\doTestGetFileList(), JSParseHelper\execute(), PatchSql\execute(), ForeignAPIRepo\fileExistsBatch(), FileRepo\fileExistsBatch(), RepoGroup\findBySha1s(), FileRepo\findBySha1s(), findFiles(), LocalRepo\findFilesByPrefix(), ResourceLoaderFileModule\getAllStyleFiles(), SwiftFileBackend\getFileListPageInternal(), MWDebug\getFilesIncluded(), CSSMin\getLocalFileReferences(), ResourceLoaderFileModule\getModifiedTime(), ResourceLoaderFileModule\getScript(), ResourceLoaderFileModule\getScriptFiles(), ForeignAPIFile\getThumbnails(), LocalFile\getThumbnails(), MWCryptRand\initialRandomState(), ResourcesTest\provideMediaStylesheets(), ResourcesTest\provideResourceFiles(), LocalFile\purgeOldThumbnails(), LocalFile\purgeThumbList(), ForeignAPIFile\purgeThumbnails(), LocalFile\purgeThumbnails(), MergeMessageFileList\readFile(), ResourceLoaderFileModule\readStyleFiles(), LocalFileDeleteBatch\removeNonexistentFiles(), LocalFileRestoreBatch\removeNonexistentFiles(), LocalFileMoveBatch\removeNonexistentFiles(), LocalFileRestoreBatch\removeNonexistentFromCleanup(), ApiQueryDuplicateFiles\run(), SpecialUndelete\showHistory(), and SpecialUploadStash\showUploads().

◆ $from

$from = @$options['from']

Definition at line 90 of file importImages.php.

Referenced by CategoryPager\__construct(), DoubleReplacer\__construct(), CategoryPage\closeShowCategory(), WikiPage\commitRollback(), ReassignEdits\doReassignEdits(), SiteConfiguration\doReplace(), ApiQueryDeletedrevs\execute(), ApiQueryFilearchive\execute(), ReassignEdits\execute(), ApiQueryAllUsers\execute(), SpecialPrefixindex\execute(), ConvertLinks\execute(), SpecialCategories\execute(), SpecialAllpages\execute(), SpecialWatchlist\fetchOptionsFromRequest(), WikiFilePage\followRedirect(), BrokenRedirectsPage\formatResult(), FormatJsonTest\getEncodeTestCases(), WikiFilePage\getRedirectTarget(), ApiPageSet\getRedirectTargets(), ConverterRule\getRulesDesc(), CategoryPager\getStartForm(), Fallback\iconv(), WikiPage\loadFromRow(), User\loadFromSession(), WikiPage\loadPageData(), SpecialAllpages\namespaceForm(), SpecialPrefixindex\namespacePrefixForm(), WikiPage\newFromID(), WikiPage\newFromRow(), ConverterRule\parseRules(), lessc_parser\peek(), ApiQueryBacklinks\prepareSecondQuery(), UserDupes\reassignEdits(), File\redirectedFrom(), ReplacementArray\removeArray(), ReplacementArray\removePair(), ApiQueryLangBacklinks\run(), ApiQueryIWBacklinks\run(), ApiQueryAllCategories\run(), ApiQueryCategoryMembers\run(), ApiQueryPagesWithProp\run(), ApiQueryAllPages\run(), ApiQueryAllImages\run(), ApiQueryAllLinks\run(), DatabaseBase\selectSQLText(), UserMailer\send(), User\sendMail(), ReplacementArray\setPair(), Article\setRedirectedFrom(), SpecialAllpages\showChunk(), SpecialWhatLinksHere\showIndirectLinks(), SpecialPrefixindex\showPrefixChunk(), SpecialAllpages\showToplevel(), SpecialEmailUser\submit(), FormatJsonTest\testEncodeAllOk(), FormatJsonTest\testEncodeDefault(), FormatJsonTest\testEncodeUtf8(), and FormatJsonTest\testEncodeXmlMeta().

◆ $license

$license = isset( $options['license'] ) ? $options['license'] : ''

Definition at line 123 of file importImages.php.

Referenced by SpecialUpload\getInitialPageText(), and LocalFile\recordUpload().

◆ $limit

if ($sleep) $limit = @$options['limit']

Definition at line 99 of file importImages.php.

Referenced by Maintenance\adjustMemoryLimit(), IndexPager\buildQueryInfo(), ImageListPager\combineResult(), Title\countAuthorsBetween(), PrefixSearch\defaultSearchBackend(), DBFileJournal\doGetChangeEntries(), SpecialRecentChangesLinked\doMainQuery(), Article\doUpdateRestrictions(), WikiPage\doUpdateRestrictions(), Installer\envCheckMemory(), ApiQueryDeletedrevs\execute(), SpecialExport\execute(), ApiQueryFilearchive\execute(), ApiFeedContributions\execute(), CleanupRemovedModules\execute(), UpdateSpecialPages\execute(), ApiQueryContributions\execute(), ApiQueryLogEvents\execute(), ApiQueryPagePropNames\execute(), ApiQueryAllUsers\execute(), ApiOpenSearch\execute(), ApiQueryRevisions\execute(), IndexPager\extractResultInfo(), HistoryAction\feed(), SpecialNewpages\feed(), HistoryAction\fetchRevisions(), WikiDiff3\find_middle_snake(), LocalRepo\findFilesByPrefix(), WikiDiff3\findMostProgress(), WikiPage\flattenRestrictions(), Title\getAuthorsBetween(), FileJournal\getChangeEntries(), SwiftFileBackend\getDirListPageInternal(), SwiftFileBackend\getFileListPageInternal(), LocalFile\getHistory(), IndexPager\getLimitLinks(), WebRequest\getLimitOffset(), TablePager\getLimitSelectList(), HashRing\getLocations(), Category\getMembers(), DifferenceEngine\getMultiNotice(), ActiveUsersPager\getPageHeader(), SpecialWhatLinksHere\getPrevNext(), Title\getSubpages(), ImagePage\imageLinks(), DifferenceEngine\intermediateEditsMsg(), DatabaseMssql\limitResult(), DatabaseBase\limitResult(), Preprocessor_DOM\memCheck(), Maintenance\memoryLimit(), Language\numLink(), SwiftFileBackend\objectListing(), SpecialRecentChanges\outputChangesList(), PurgeChangedPages\pageableSortedRows(), SwiftFileBackendDirList\pageFromList(), SwiftFileBackendFileList\pageFromList(), User\pingLimiter(), ApiQueryRandom\prepareQuery(), WikiPage\protectDescription(), WikiPage\protectDescriptionLog(), ImagePage\queryImageLinks(), AllmessagesTablePager\reallyDoQuery(), ImageListPager\reallyDoQuery(), IndexPager\reallyDoQuery(), MagicWord\replace(), ApiQueryPrefixSearch\run(), ApiQueryExtLinksUsage\run(), ApiQueryCategoryMembers\run(), ApiQueryPagesWithProp\run(), ApiQuerySearch\run(), ApiQueryAllPages\run(), ApiQueryAllImages\run(), ApiQueryAllLinks\run(), PrefixSearch\search(), PrefixSearch\searchBackend(), PrefixSearch\searchWithVariants(), IndexPager\setLimit(), ApiResult\setParsedLimit(), SpecialWhatLinksHere\showIndirectLinks(), PrefixSearch\specialSearch(), SyncFileBackend\syncBackends(), PrefixSearch\titleSearch(), Article\updateRestrictions(), WikiPage\updateRestrictions(), Title\updateTitleProtection(), Language\viewPrevNext(), and wfThumbIsAttemptThrottled().

◆ $optionsWithArgs

$optionsWithArgs
Initial value:
'extensions', 'comment', 'comment-file', 'comment-ext', 'summary', 'user',
'license', 'sleep', 'limit', 'from', 'source-wiki-url', 'timestamp',
)

Definition at line 34 of file importImages.php.

◆ $processed

$processed = $added = $ignored = $skipped = $overwritten = $failed = 0

◆ $sleep

$sleep = @$options['sleep']

Definition at line 93 of file importImages.php.

Referenced by DeleteImageCache\execute(), and BagOStuff\lock().

◆ $summary

◆ $timestamp

if ($limit) $timestamp = isset( $options['timestamp'] ) ? $options['timestamp'] : false

Definition at line 104 of file importImages.php.

Referenced by Block\__construct(), ParserOutput\addImage(), ImageBuilder\addMissingImage(), LocalFileMoveBatch\addOlds(), ProtectionForm\buildForm(), FileCacheBase\cacheTimestamp(), AjaxResponse\checkLastModified(), OutputPage\checkLastModified(), RevisionDeleter\checkRevisionExistence(), SwiftFileBackend\convertSwiftDate(), ApiFeedWatchlist\createFeedItem(), Xml\dateMenu(), SqlBagOStuff\deleteObjectsExpiringBefore(), Block\doAutoblock(), JobQueue\doDeduplicateRootJob(), JobQueueRedis\doDeduplicateRootJob(), JobQueueDB\doDeduplicateRootJob(), SpecialWatchlist\doHeader(), JobQueueRedis\doIsRootJobOldDuplicate(), JobQueue\doIsRootJobOldDuplicate(), RevDel_FileList\doPostCommitUpdates(), RevDel_FileList\doQuery(), ApiSetNotificationTimestamp\execute(), FixUserRegistration\execute(), FixTimestamps\execute(), ApiQueryAllUsers\execute(), LocalFileRestoreBatch\execute(), NextJobDB\executeReadyPeriodicTasks(), JobQueueGroup\executeReadyPeriodicTasks(), User\expirePassword(), EditPageTest\forceRevisionDate(), ApiEditPageTest\forceRevisionDate(), FeedUtils\formatDiff(), FeedUtils\formatDiffRow(), CreditsAction\getAuthor(), Block\getAutoblockExpiry(), NewUsersLogFormatter\getComment(), ReverseChronologicalPager\getDateCond(), RCCacheEntryFactoryTest\getDefaultAttributes(), ResourceLoaderModule\getDefinitionMtime(), RevertFileAction\getFormFields(), ResourceLoaderModule\getHashMtime(), User\getNewMessageLinks(), PageArchive\getPreviousRevision(), BenchmarkParse\getRevIdForTime(), PageArchive\getRevision(), DifferenceEngine\getRevisionHeader(), FSFile\getTimestamp(), Revision\getTimestampFromId(), Preferences\getTimezoneOptions(), FileCacheBase\isCacheGood(), Block\isExpired(), RecentChange\isInRCLifespan(), Skin\lastModified(), Revision\loadFromTimestamp(), BagOStuff\lock(), MediaWiki\main(), RCCacheEntryFactoryTest\makeDeletedEditRecentChange(), RCCacheEntryFactoryTest\makeEditRecentChange(), RCCacheEntryFactoryTest\makeLogRecentChange(), OutputPage\makeResourceLoaderLink(), RecentChange\newLogEntry(), RecentChange\notifyEdit(), RecentChange\notifyLog(), RecentChange\notifyNew(), SpecialLockdb\onSubmit(), RevertFileAction\onSuccess(), SpecialRecentChanges\optionsPanel(), IPTC\parse(), ZipDirectoryReader\readCentralDirectory(), ApiQueryRecentChanges\run(), WikiPage\setCachedLastEditTime(), User\setEmailAuthenticationTimestamp(), OutputPage\setLastModified(), Article\setOldSubtitle(), OutputPage\setRevisionTimestamp(), ParserOutput\setTimestamp(), SpecialSearch\showHit(), SpecialUndelete\showRevision(), RunJobs\syncBackoffs(), MWTimestampTest\testConstructWithNoTimestamp(), MWTimestampTest\testInvalidOutput(), MWTimestampTest\testToString(), MWTimestampTest\testValidOutput(), MWTimestampTest\testValidParse(), File\transform(), LinksUpdate\updateLinksTimestamp(), User\validateCache(), and XmlDumpWriter\writeTimestamp().

◆ $user

$user
Initial value:
= isset( $options['user'] )
: User::newFromName( 'Maintenance script' )

Definition at line 70 of file importImages.php.

◆ $wgFileExtensions

if (isset($options[ 'protect']) &&isset($options[ 'unprotect'])) if (isset($options[ 'protect']) &&$options[ 'protect']==1) global $wgFileExtensions

Definition at line 56 of file importImages.php.

◆ $wgUser

if (! $user instanceof User) $wgUser = $user

Definition at line 76 of file importImages.php.

◆ else

if ($count > 0) else
Initial value:
{
$checkUserBlock = false

Definition at line 85 of file importImages.php.

User\newFromName
static newFromName( $name, $validate='valid')
Static factory method for creation from username.
Definition: User.php:389
array
the array() calling protocol came about after MediaWiki 1.4rc1.
List of Api Query prop modules.
$options
null means default in associative array with keys and values unescaped Should be merged with default with a value of false meaning to suppress the attribute in associative array with keys and values unescaped & $options
Definition: hooks.txt:1530
$wgFileExtensions
if(isset( $options['protect']) &&isset( $options['unprotect'])) if(isset( $options['protect']) && $options['protect']==1) global $wgFileExtensions
Definition: importImages.php:56
User
The User object encapsulates all of the user-specific settings (user_id, name, rights,...
Definition: User.php:59