ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
scan_shipped_case_duplicates.php File Reference

Go to the source code of this file.

Variables

 $ilias_root = dirname(__DIR__, 5)
 Lists every identifier of the shipped lang/ilias_*.lang files that occurs in one module in spellings that differ only in upper/lower case (e.g. More...
 
 $fold
 
 $occurrences = []
 
 $files = glob($ilias_root . '/lang/ilias_*.lang') ?: []
 
foreach($files as $file) $duplicates = []
 
 $callers_of
 

Variable Documentation

◆ $callers_of

$callers_of
Initial value:
= static function (string $identifier) use ($ilias_root): array {
$callers = [];
foreach (["txt('" . $identifier . "'", 'txt("' . $identifier . '"'] as $pattern) {
$output = [];
exec(sprintf(
'git -C %s grep -n -F %s -- %s 2>/dev/null',
escapeshellarg($ilias_root),
escapeshellarg($pattern),
escapeshellarg('components')
), $output);
foreach ($output as $hit) {
$callers[] = implode(':', array_slice(explode(':', $hit), 0, 2));
}
}
return array_values(array_unique($callers));
}
$ilias_root
Lists every identifier of the shipped lang/ilias_*.lang files that occurs in one module in spellings ...

Definition at line 75 of file scan_shipped_case_duplicates.php.

◆ $duplicates

foreach ( $files as $file) $duplicates = []

Definition at line 65 of file scan_shipped_case_duplicates.php.

◆ $files

$files = glob($ilias_root . '/lang/ilias_*.lang') ?: []

Definition at line 48 of file scan_shipped_case_duplicates.php.

Referenced by ilSCORMResourceGUI\__construct(), ilUploadFiles\_checkUploadFile(), ilExport\_getLastExportFileDate(), ilExport\_getLastExportFileInformation(), ilUploadFiles\_getUploadFiles(), ilCourseFile\_readFilesByCourse(), ilPCFileListGUI\addFileItem(), ilForumThreadFormGUI\addFileUploadInput(), ilExcCriteriaFile\addToPeerReviewForm(), StartFileFallbackTest\archive(), ILIAS\Exercise\Assignment\PropertyAndActionBuilderUI\buildFiles(), ILIAS\Exercise\Assignment\PropertyAndActionBuilderUI\buildSubmissionFeedback(), ILIAS\Language\ComponentTranslation\LanguageFileDirectoryManager\check(), ilSetupLanguageTest\cleanupTempDir(), ilDclPropertyFormGUI\cleanupTempFiles(), ilDownloadFilesBackgroundTask\collectFiles(), ilAppointmentPresentationCourseGUI\collectPropertiesAndActions(), ilAppointmentPresentationExerciseGUI\collectPropertiesAndActions(), ilAssFileUploadUploadsExporter\collectUploadedFiles(), ilMailAttachmentGUI\confirmDeleteAttachments(), ilObjSurveyQuestionPoolGUI\confirmDeleteExportFileObject(), ilObjUserFolderGUI\confirmDeleteExportFileObject(), ilAdvancedMDSettingsGUI\confirmDeleteFiles(), ilQuestionPageParser\copyFileItems(), ILIAS\Language\ComponentTranslation\ShippedTranslationsBuild\copyLocale(), assLongMenu\createArrayFromFile(), MigrateMailAttachmentsToIRSSUnitTest\createDirectory(), ilFileUtils\delDir(), ilIndividualAssessmentFileStorage\deleteAllFilesBut(), ilMailAttachmentGUI\deleteAttachmentsCommand(), ilDatabaseDumpedToDirectoryObjective\deleteDirRecursive(), ilFileSystemDirectoryCopiedRecursivelyObjective\deleteDirRecursive(), ilExportZipBuiltObjective\deleteDirRecursive(), ilObjSurveyQuestionPoolGUI\deleteExportFileObject(), ilObjUserFolderGUI\deleteExportFileObject(), ilAdvancedMDSettingsGUI\deleteFiles(), ilContentStyleImageGUI\deleteImage(), ilForum\deletePostFiles(), assFileUpload\deletePreviewFileUploads(), ilFileSystemDirectoriesCreatedObjective\deleteRecursive(), ILIAS\Setup\CLI\ImportFileUnzippedFileObjective\deleteRecursive(), ilObjSurveyQuestionPoolGUI\downloadExportFileObject(), ilObjUserFolderGUI\downloadExportFileObject(), ilAdvancedMDSettingsGUI\downloadFile(), ilExSubmissionGUI\downloadFileObject(), ILIAS\Portfolio\Export\PortfolioHtmlExport\exportHtml(), ilFileSystemGUI\extCommand(), ConvertModuleToPoToolTest\files(), ILIAS\Language\ComponentTranslation\MigratedLanguageFileSync\findShippedModuleFiles(), ILIAS\Language\ComponentTranslation\MigratedLanguageFilePaths\findShippedPoFiles(), ilExAssignment\fixInstructionFileOrdering(), ilSystemStyleBaseFS\getAllContentOfFolder(), ilExerciseGSToolProvider\getAssignmentInfo(), ilFileDataMail\getAttachmentListing(), ilFileDataMail\getAttachmentPathAndFilenameByMd5Hash(), ilFileUtils\getDir(), ilTestExportOptionARC\getExportFiles(), ilPCFileList\getFileList(), ILIAS\AdvancedMetaData\Setup\RecordFilesMigration\getFiles(), ilAppointmentBookingPoolFileHandler\getFiles(), ilAppointmentCourseFileHandler\getFiles(), ilAppointmentExerciseFileHandler\getFiles(), ilAppointmentSessionFileHandler\getFiles(), ilExcCriteriaFile\getFiles(), ILIAS\Filesystem\Util\Archive\Unzip\getFiles(), ILIAS\Style\Content\StandardGUIRequest\getFiles(), ILIAS\Exercise\TutorFeedbackFile\TutorFeedbackZipRepository\getFiles(), ILIAS\Exercise\TutorFeedbackFile\TutorFeedbackFileManager\getFiles(), ilExportImportDirectory\getFilesFor(), ilFileDataForumDraftsRCImplementation\getFilesOfPost(), ilFileDataForumRCImplementation\getFilesOfPost(), ilObjectGUI\getFileToImportFromImportFormData(), ilExcCriteriaFile\getHTML(), ImportUploadHandlerGUI\getInfoResult(), ilMDVocabularyUploadHandlerGUI\getInfoResult(), ilPCTabs\getJavascriptFiles(), ilPageObject\getLastUpdateOfIncludedElements(), ilObjSAHSLearningModule\getManifestFromContainer(), ilFileDataCourse\getMemberExportFiles(), ilFSStorageCourse\getMemberExportFiles(), ilFSStorageGroup\getMemberExportFiles(), ilFSStoragePRG\getMemberExportFiles(), ilObjMediaObject\getMultiSrtFiles(), ilMobMultiSrtUpload\getMultiSrtFiles(), assFileUploadGUI\getPreview(), ILIAS\Exercise\TutorFeedbackFile\MultiFeedbackConfirmationRetrieval\getSelectedFiles(), assFileUploadGUI\getSolutionOutput(), assFileUploadGUI\getTestOutput(), ilObjFileBasedLMGUI\getUploadFiles(), ilObjSAHSLearningModuleGUI\getUploadFiles(), ilFileDataMail\getUserPoolFilesData(), ILIAS\COPage\Setup\EditorAssetVersionObjective\getVersionFromSource(), ilCOPageExporter\getXmlExportHeadDependencies(), assKprimChoice\handleFileUploads(), ILIAS\Mail\Mime\Presentation\Asset\SkinnedMailAssets\imagesIn(), ilMDVocabulariesGUI\importVocabulary(), ilObjCourseGUI\infoScreen(), ilCourseInfoFileTableDataRetrieval\init(), ilObjSAHSLearningModuleGUI\initCreateForm(), ilObjSessionGUI\initForm(), ilObjLanguageExtGUISaveObjectTest\isolateLanguageCaches(), ilFileSystemGUI\listFiles(), ILIAS\Language\ComponentTranslation\ShippedTranslationsBuild\listFiles(), ilObjSCORMLearningModuleGUI\newModuleVersion(), ILIAS\File\Activities\DownloadContainerAsZip\pack(), ilUserExportFileTableGUI\parse(), ILIAS\Filesystem\Util\LegacyZipTest\pathToArray(), ILIAS\File\Activities\DownloadContainerAsZip\perform(), ILIAS\File\Activities\ListFiles\perform(), ILIAS\Test\Settings\Templates\PersonalSettingsImportAction\perform(), ilIndividualAssessmentFileStorage\readDir(), ILIAS\Language\ComponentTranslation\ShippedTranslationsBuild\readManifest(), ILIAS\FileServices\Download\CollectFilesJob\recurseFolder(), ILIAS\Filesystem\Util\LegacyZipTest\recurseRmdir(), ILIAS\Filesystem\Util\UnzipTest\recurseRmdir(), ILIAS\Filesystem\Util\ZipTest\recurseRmdir(), ilHTLMMigration\recursiveRmDir(), ilMobMigration\recursiveRmDir(), ilSAHSMigration\recursiveRmDir(), ilObjLanguageExtGUISaveObjectTest\restoreLanguageCaches(), ilFileSystemCleanTempDirCron\run(), ilLoggerCronCleanErrorFiles\run(), ilCollectWorkspaceFilesJob\run(), ILIAS\FileServices\Download\CollectFilesJob\run(), ilExerciseManagementGUI\saveMultiFeedback(), ilFileXMLParser\setFileContents(), ilMailAttachmentGUI\showAttachmentsCommand(), ilAdvancedMDSettingsGUI\showFiles(), ShippedPoMergerTest\snapshot(), ILIAS\Language\ComponentTranslation\ShippedTranslationsBuild\sourceParts(), ConvertModuleToPoToolTest\testAFailedRunNeverTouchesALangFileNorWritesAnything(), ILIAS\Language\Tests\ComponentTranslation\Catalog\TranslationCatalogPoTest\testEveryShippedTosFileRoundTripsByteIdentically(), MigratedLanguageFilePathsTest\testFindShippedPoFilesListsOnlyFilesMatchingThePatternKeyedByLangKeySorted(), MigratedLanguageFilePathsTest\testFindShippedPoFilesWithThePlainPrefixPattern(), ilPluginLanguageTest\testGetAvailableLangFilesListsBothLangAndPoFiles(), ILIAS\FileUpload\FileUploadImplTest\testHasUploadsWithMultipleUploadedFile(), StartFileFallbackTest\testMigrationDeterminesStartFile(), ilPluginLanguageTest\testPoWinsOverLangForTheSameLanguage(), ILIAS\Filesystem\Util\ZipTest\testZipDoesNotAllowPathsOutsideZip(), ILIAS\Filesystem\Util\ZipTest\testZipKeepsPathsInsideZip(), ILIAS\File\Activities\DownloadContainerAsZipTest\unpack(), ilObjFileGUI\uploadFiles(), ilSCORMResourceGUI\view(), ILIAS\FileUpload\Activities\FileParameter\withAcceptedMimeTypes(), ILIAS\FileUpload\Activities\FileParameter\withMaxFileSize(), ILIAS\FileUpload\Activities\FileParameter\withNames(), and assKprimChoiceGUI\writeAnswerSpecificPostData().

◆ $fold

$fold
Initial value:
= static function (string $text): string {
$lower = mb_strtolower($text);
$ascii = function_exists('iconv') ? @iconv('UTF-8', 'ASCII//TRANSLIT', $lower) : false;
return is_string($ascii) && $ascii !== '' ? strtolower($ascii) : $lower;
}
$text
Definition: xapiexit.php:21

Definition at line 39 of file scan_shipped_case_duplicates.php.

Referenced by ilObjStyleSheetGUI\copyStyleObject(), ilContentStyleSettingsGUI\import(), and ilObjStyleSheetGUI\importStyleObject().

◆ $ilias_root

$ilias_root = dirname(__DIR__, 5)

Lists every identifier of the shipped lang/ilias_*.lang files that occurs in one module in spellings that differ only in upper/lower case (e.g.

style#:#Style and style#:#style), as a Markdown report on stdout: file:line, module, spellings, and the callers of each spelling (git grep for ‘txt(’<identifier>')/txt("<identifier>")`).

Such a pair collides in lng_data, whose primary key (module, identifier, lang_key) compares case-insensitively (utf8mb3_general_ci): the database holds one row, PHP two keys, see README.md. The collation also folds accents, so identifiers are compared lower-cased and transliterated to ASCII (iconv, if available) - an approximation.

Usage (ILIAS root): php components/ILIAS/Language/tools/po-migration/scan_shipped_case_duplicates.php

Declares no named classes or functions, to stay out of Composer's classmap (as convert_module_to_po.php). Read-only.

Definition at line 36 of file scan_shipped_case_duplicates.php.

Referenced by ilTemplate\getTemplatePath(), and ILIAS\Language\ComponentTranslation\ComponentLanguageFileDirectoryTest\testGetPathReturnsTheSameValueOnRepeatedCallsAndMatchesTheUncachedComputation().

◆ $occurrences

$occurrences = []

Definition at line 47 of file scan_shipped_case_duplicates.php.