Changeset 3393564
- Timestamp:
- 11/11/2025 10:52:06 AM (5 months ago)
- Location:
- easysecure-import-export-courses-learndash/trunk
- Files:
-
- 220 added
- 5 edited
-
composer.json (modified) (1 diff)
-
composer.lock (modified) (4 diffs)
-
export/export.php (modified) (11 diffs)
-
import/import.php (modified) (11 diffs)
-
readme.txt (modified) (2 diffs)
-
vendor (added)
-
vendor/autoload.php (added)
-
vendor/composer (added)
-
vendor/composer/ClassLoader.php (added)
-
vendor/composer/InstalledVersions.php (added)
-
vendor/composer/LICENSE (added)
-
vendor/composer/autoload_classmap.php (added)
-
vendor/composer/autoload_namespaces.php (added)
-
vendor/composer/autoload_psr4.php (added)
-
vendor/composer/autoload_real.php (added)
-
vendor/composer/autoload_static.php (added)
-
vendor/composer/installed.json (added)
-
vendor/composer/installed.php (added)
-
vendor/openspout (added)
-
vendor/openspout/openspout (added)
-
vendor/openspout/openspout/.github (added)
-
vendor/openspout/openspout/.github/FUNDING.yml (added)
-
vendor/openspout/openspout/.github/workflows (added)
-
vendor/openspout/openspout/.github/workflows/ci.yml (added)
-
vendor/openspout/openspout/.php-cs-fixer.dist.php (added)
-
vendor/openspout/openspout/LICENSE (added)
-
vendor/openspout/openspout/LICENSE-for-cc42c1d (added)
-
vendor/openspout/openspout/README.md (added)
-
vendor/openspout/openspout/UPGRADE-3.0.md (added)
-
vendor/openspout/openspout/composer.json (added)
-
vendor/openspout/openspout/phpstan.neon (added)
-
vendor/openspout/openspout/src (added)
-
vendor/openspout/openspout/src/Spout (added)
-
vendor/openspout/openspout/src/Spout/Autoloader (added)
-
vendor/openspout/openspout/src/Spout/Autoloader/Psr4Autoloader.php (added)
-
vendor/openspout/openspout/src/Spout/Autoloader/autoload.php (added)
-
vendor/openspout/openspout/src/Spout/Common (added)
-
vendor/openspout/openspout/src/Spout/Common/Creator (added)
-
vendor/openspout/openspout/src/Spout/Common/Creator/HelperFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Entity (added)
-
vendor/openspout/openspout/src/Spout/Common/Entity/Cell.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Entity/Row.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Entity/Style (added)
-
vendor/openspout/openspout/src/Spout/Common/Entity/Style/Border.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Entity/Style/BorderPart.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Entity/Style/CellAlignment.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Entity/Style/Color.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Entity/Style/Style.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Exception (added)
-
vendor/openspout/openspout/src/Spout/Common/Exception/EncodingConversionException.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Exception/IOException.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Exception/InvalidArgumentException.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Exception/InvalidColorException.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Exception/SpoutException.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Exception/UnsupportedTypeException.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/CellTypeHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/EncodingHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/Escaper (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/Escaper/CSV.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/Escaper/EscaperInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/Escaper/ODS.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/Escaper/XLSX.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/FileSystemHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/FileSystemHelperInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/GlobalFunctionsHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Helper/StringHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Manager (added)
-
vendor/openspout/openspout/src/Spout/Common/Manager/OptionsManagerAbstract.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Manager/OptionsManagerInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Common/Type.php (added)
-
vendor/openspout/openspout/src/Spout/Reader (added)
-
vendor/openspout/openspout/src/Spout/Reader/CSV (added)
-
vendor/openspout/openspout/src/Spout/Reader/CSV/Creator (added)
-
vendor/openspout/openspout/src/Spout/Reader/CSV/Creator/InternalEntityFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/CSV/Manager (added)
-
vendor/openspout/openspout/src/Spout/Reader/CSV/Manager/OptionsManager.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/CSV/Reader.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/CSV/RowIterator.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/CSV/Sheet.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/CSV/SheetIterator.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common/Creator (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common/Creator/InternalEntityFactoryInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common/Creator/ReaderEntityFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common/Creator/ReaderFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common/Entity (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common/Entity/Options.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common/Manager (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common/Manager/RowManager.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Common/XMLProcessor.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Exception (added)
-
vendor/openspout/openspout/src/Spout/Reader/Exception/InvalidValueException.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Exception/IteratorNotRewindableException.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Exception/NoSheetsFoundException.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Exception/ReaderException.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Exception/ReaderNotOpenedException.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Exception/SharedStringNotFoundException.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Exception/XMLProcessingException.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/IteratorInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Creator (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Creator/HelperFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Creator/InternalEntityFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Creator/ManagerFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Helper (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Helper/CellValueFormatter.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Helper/SettingsHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Manager (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Manager/OptionsManager.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Reader.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/RowIterator.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/Sheet.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ODS/SheetIterator.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ReaderAbstract.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/ReaderInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/SheetInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Wrapper (added)
-
vendor/openspout/openspout/src/Spout/Reader/Wrapper/XMLInternalErrorsHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/Wrapper/XMLReader.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Creator (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Creator/HelperFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Creator/InternalEntityFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Creator/ManagerFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Helper (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Helper/CellHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Helper/CellValueFormatter.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Helper/DateFormatHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/OptionsManager.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/SharedStringsCaching (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/SharedStringsCaching/CachingStrategyFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/SharedStringsCaching/CachingStrategyInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/SharedStringsCaching/FileBasedStrategy.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/SharedStringsCaching/InMemoryStrategy.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/SharedStringsManager.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/SheetManager.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/StyleManager.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Manager/WorkbookRelationshipsManager.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Reader.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/RowIterator.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/Sheet.php (added)
-
vendor/openspout/openspout/src/Spout/Reader/XLSX/SheetIterator.php (added)
-
vendor/openspout/openspout/src/Spout/Writer (added)
-
vendor/openspout/openspout/src/Spout/Writer/CSV (added)
-
vendor/openspout/openspout/src/Spout/Writer/CSV/Manager (added)
-
vendor/openspout/openspout/src/Spout/Writer/CSV/Manager/OptionsManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/CSV/Writer.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Creator (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Creator/InternalEntityFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Creator/ManagerFactoryInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Creator/Style (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Creator/Style/BorderBuilder.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Creator/Style/StyleBuilder.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Creator/WriterEntityFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Creator/WriterFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Entity (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Entity/Options.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Entity/Sheet.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Entity/Workbook.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Entity/Worksheet.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Helper (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Helper/CellHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Helper/FileSystemWithRootFolderHelperInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Helper/ZipHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/CellManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/RegisteredStyle.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/RowManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/SheetManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/Style (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/Style/PossiblyUpdatedStyle.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/Style/StyleManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/Style/StyleManagerInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/Style/StyleMerger.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/Style/StyleRegistry.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/WorkbookManagerAbstract.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/WorkbookManagerInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Common/Manager/WorksheetManagerInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception/Border (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception/Border/InvalidNameException.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception/Border/InvalidStyleException.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception/Border/InvalidWidthException.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception/InvalidSheetNameException.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception/SheetNotFoundException.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception/WriterAlreadyOpenedException.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception/WriterException.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/Exception/WriterNotOpenedException.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Creator (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Creator/HelperFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Creator/ManagerFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Helper (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Helper/BorderHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Helper/FileSystemHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Manager (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Manager/OptionsManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Manager/Style (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Manager/Style/StyleManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Manager/Style/StyleRegistry.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Manager/WorkbookManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Manager/WorksheetManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/ODS/Writer.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/WriterAbstract.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/WriterInterface.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/WriterMultiSheetsAbstract.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Creator (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Creator/HelperFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Creator/ManagerFactory.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Helper (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Helper/BorderHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Helper/FileSystemHelper.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Manager (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Manager/OptionsManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Manager/SharedStringsManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Manager/Style (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Manager/Style/StyleManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Manager/Style/StyleRegistry.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Manager/WorkbookManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Manager/WorksheetManager.php (added)
-
vendor/openspout/openspout/src/Spout/Writer/XLSX/Writer.php (added)
Legend:
- Unmodified
- Added
- Removed
-
easysecure-import-export-courses-learndash/trunk/composer.json
r3393421 r3393564 1 1 { 2 2 "name": "yourname/easysecure-import-export", 3 "require": {4 "openspout/openspout": "4.32.0"5 },6 3 "config": { 7 4 "platform": { 8 "php": "8. 3.0"5 "php": "8.2.0" 9 6 } 7 }, 8 "require": { 9 "openspout/openspout": "3.4" 10 10 } 11 11 } -
easysecure-import-export-courses-learndash/trunk/composer.lock
r3393421 r3393564 5 5 "This file is @generated automatically" 6 6 ], 7 "content-hash": " 16b6497ee3154a430a89a5d2b5e2e752",7 "content-hash": "3d63527334299fe9d7661b101df95c90", 8 8 "packages": [ 9 9 { 10 10 "name": "openspout/openspout", 11 "version": "v 4.32.0",11 "version": "v3.4.0", 12 12 "source": { 13 13 "type": "git", 14 14 "url": "https://github.com/openspout/openspout.git", 15 "reference": " 41f045c1f632e1474e15d4c7bc3abcb4a153563d"15 "reference": "06b28c080bf811562d0552c87726ae0fcdac53f8" 16 16 }, 17 17 "dist": { 18 18 "type": "zip", 19 "url": "https://api.github.com/repos/openspout/openspout/zipball/ 41f045c1f632e1474e15d4c7bc3abcb4a153563d",20 "reference": " 41f045c1f632e1474e15d4c7bc3abcb4a153563d",19 "url": "https://api.github.com/repos/openspout/openspout/zipball/06b28c080bf811562d0552c87726ae0fcdac53f8", 20 "reference": "06b28c080bf811562d0552c87726ae0fcdac53f8", 21 21 "shasum": "" 22 22 }, 23 23 "require": { 24 24 "ext-dom": "*", 25 "ext-fileinfo": "*",26 "ext-filter": "*",27 "ext-libxml": "*",28 25 "ext-xmlreader": "*", 29 26 "ext-zip": "*", 30 "php": "~ 8.3.0 || ~8.4.0 || ~8.5.0"27 "php": "~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0" 31 28 }, 32 29 "require-dev": { 33 "ext-zlib": "*", 34 "friendsofphp/php-cs-fixer": "^3.86.0", 35 "infection/infection": "^0.31.2", 36 "phpbench/phpbench": "^1.4.1", 37 "phpstan/phpstan": "^2.1.22", 38 "phpstan/phpstan-phpunit": "^2.0.7", 39 "phpstan/phpstan-strict-rules": "^2.0.6", 40 "phpunit/phpunit": "^12.3.7" 30 "friendsofphp/php-cs-fixer": "^3", 31 "phpstan/phpstan": "^1", 32 "phpunit/phpunit": "^9" 41 33 }, 42 34 "suggest": { 43 "ext-iconv": "To handle non UTF-8 CSV files (if \"php- mbstring\" is not already installed or is too limited)",44 "ext- mbstring": "To handle non UTF-8 CSV files (if \"iconv\" is not already installed)"35 "ext-iconv": "To handle non UTF-8 CSV files (if \"php-intl\" is not already installed or is too limited)", 36 "ext-intl": "To handle non UTF-8 CSV files (if \"iconv\" is not already installed)" 45 37 }, 46 38 "type": "library", … … 52 44 "autoload": { 53 45 "psr-4": { 54 "OpenSpout\\": "src/ "46 "OpenSpout\\": "src/Spout" 55 47 } 56 48 }, … … 86 78 "support": { 87 79 "issues": "https://github.com/openspout/openspout/issues", 88 "source": "https://github.com/openspout/openspout/tree/v 4.32.0"80 "source": "https://github.com/openspout/openspout/tree/v3.4.0" 89 81 }, 90 82 "funding": [ 91 83 { 92 "url": "https://paypal.me/filippotessarotto", 93 "type": "custom" 94 }, 95 { 96 "url": "https://github.com/Slamdunk", 84 "url": "https://github.com/adrilo", 97 85 "type": "github" 98 86 } 99 87 ], 100 "time": "202 5-09-03T16:03:54+00:00"88 "time": "2022-03-02T07:23:00+00:00" 101 89 } 102 90 ], … … 110 98 "platform-dev": {}, 111 99 "platform-overrides": { 112 "php": "8. 3.0"100 "php": "8.2.0" 113 101 }, 114 102 "plugin-api-version": "2.6.0" -
easysecure-import-export-courses-learndash/trunk/export/export.php
r3393421 r3393564 7 7 require_once plugin_dir_path(__FILE__) . '../vendor/autoload.php'; 8 8 9 use OpenSpout\Writer\XLSX\Writer; 9 use OpenSpout\Writer\Common\Creator\WriterEntityFactory; 10 use OpenSpout\Writer\XLSX\Writer as XLSXWriter; 10 11 use OpenSpout\Writer\CSV\Writer as CSVWriter; 11 use OpenSpout\Common\Entity\Row;12 12 13 13 global $wpdb; … … 46 46 47 47 // --- Create writer --- 48 if ($format === 'csv') { 49 $writer = new CSVWriter(); 48 49 50 // XLSX 51 if ($format === 'csv') { 52 $writer = WriterEntityFactory::createCSVWriter(); 50 53 $filename = 'selected-courses-' . time() . '.csv'; 51 54 header("Content-Type: text/csv"); 52 55 } else { 53 $writer = newWriter();56 $writer = WriterEntityFactory::createXLSXWriter(); 54 57 $filename = 'selected-courses-' . time() . '.xlsx'; 55 58 header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); … … 60 63 ob_end_clean(); 61 64 65 header("Content-Disposition: attachment; filename=\"{$filename}\""); 66 header("Cache-Control: max-age=0"); 67 ob_end_clean(); 68 62 69 // Open writer to browser 63 70 $writer->openToBrowser($filename); … … 72 79 if (!empty($coursedata)) { 73 80 foreach ($coursedata as $rowData) { 74 $writer->addRow(Row::fromValues($rowData)); 81 $row = WriterEntityFactory::createRowFromArray($rowData); 82 $writer->addRow($row); 75 83 } 76 84 } … … 82 90 if (!empty($lessondata)) { 83 91 foreach ($lessondata as $rowData) { 84 $writer->addRow(Row::fromValues($rowData)); 92 $row = WriterEntityFactory::createRowFromArray($rowData); 93 $writer->addRow($row); 85 94 } 86 95 } … … 93 102 if (!empty($topicdata)) { 94 103 foreach ($topicdata as $rowData) { 95 $writer->addRow(Row::fromValues($rowData)); 104 $row = WriterEntityFactory::createRowFromArray($rowData); 105 $writer->addRow($row); 96 106 } 97 107 } … … 105 115 function handle_multiple_courses_export_action($redirect_to, $action, $post_ids) 106 116 { 107 if ($action !== 'export_selected_courses') { 108 return $redirect_to; 109 } 110 111 if (!current_user_can('manage_options')) { 112 wp_die(esc_html__('Unauthorized access', 'easysecure-import-export-courses-learndash')); 113 } 114 115 if (empty($post_ids)) { 116 wp_die(esc_html__('No courses selected for export.', 'easysecure-import-export-courses-learndash')); 117 } 118 117 if ($action !== 'export_selected_courses') return $redirect_to; 118 119 if (!current_user_can('manage_options')) wp_die('Unauthorized access'); 120 if (empty($post_ids)) wp_die('No courses selected for export.'); 119 121 if (!isset($_REQUEST['_wpnonce']) || !wp_verify_nonce(sanitize_text_field(wp_unslash($_REQUEST['_wpnonce'])), 'bulk-posts')) { 120 wp_die(esc_html__('Security check failed.', 'easysecure-import-export-courses-learndash')); 121 } 122 123 // Determine export format 122 wp_die('Security check failed.'); 123 } 124 124 125 $format = 'xlsx'; 125 if (isset($_GET['format'])) { 126 $format_sanitized = sanitize_text_field(wp_unslash($_GET['format'])); 127 if (in_array($format_sanitized, ['csv', 'xlsx'], true)) { 128 $format = $format_sanitized; 129 } 130 } 131 132 // Collect all course data 126 if (isset($_GET['format']) && in_array(sanitize_text_field(wp_unslash($_GET['format'])), ['csv','xlsx'], true)) { 127 $format = sanitize_text_field(wp_unslash($_GET['format'])); 128 } 129 133 130 $coursedata = []; 134 131 $lessondata = []; 135 $topicdata = [];132 $topicdata = []; 136 133 137 134 foreach ($post_ids as $course_id) { … … 143 140 // --- Prepare Writer --- 144 141 if ($format === 'csv') { 145 $writer = new \OpenSpout\Writer\CSV\Writer();142 $writer = WriterEntityFactory::createCSVWriter(); 146 143 $filename = 'selected-courses-' . time() . '.csv'; 147 144 header("Content-Type: text/csv"); 148 145 } else { 149 $writer = new \OpenSpout\Writer\XLSX\Writer();146 $writer = WriterEntityFactory::createXLSXWriter(); // ✅ Correct v3.4.0 way 150 147 $filename = 'selected-courses-' . time() . '.xlsx'; 151 148 header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); … … 159 156 160 157 // --- Courses Sheet --- 161 if ($format === 'xlsx') { 162 $writer->getCurrentSheet()->setName('Courses'); 163 } 164 165 foreach ($coursedata as $rowData) { 166 $writer->addRow(\OpenSpout\Common\Entity\Row::fromValues($rowData)); 167 } 158 if ($format === 'xlsx') $writer->getCurrentSheet()->setName('Courses'); 159 foreach ($coursedata as $rowData) $writer->addRow(WriterEntityFactory::createRowFromArray($rowData)); 168 160 169 161 // --- Lessons Sheet --- … … 171 163 $writer->addNewSheetAndMakeItCurrent(); 172 164 $writer->getCurrentSheet()->setName('Lessons'); 173 foreach ($lessondata as $rowData) { 174 $writer->addRow(\OpenSpout\Common\Entity\Row::fromValues($rowData)); 175 } 165 foreach ($lessondata as $rowData) $writer->addRow(WriterEntityFactory::createRowFromArray($rowData)); 176 166 } 177 167 … … 180 170 $writer->addNewSheetAndMakeItCurrent(); 181 171 $writer->getCurrentSheet()->setName('Topics'); 182 foreach ($topicdata as $rowData) { 183 $writer->addRow(\OpenSpout\Common\Entity\Row::fromValues($rowData)); 184 } 172 foreach ($topicdata as $rowData) $writer->addRow(WriterEntityFactory::createRowFromArray($rowData)); 185 173 } 186 174 -
easysecure-import-export-courses-learndash/trunk/import/import.php
r3393421 r3393564 11 11 { 12 12 global $wpdb, $wp_filesystem; 13 14 if (empty($wp_filesystem)) {15 require_once ABSPATH . 'wp-admin/includes/file.php';16 WP_Filesystem();17 }18 13 19 14 // Verify nonce before processing … … 37 32 } 38 33 39 // Move file to uploads dir using WordPress API40 if (!function_exists('WP_Filesystem')) {41 require_once ABSPATH . 'wp-admin/includes/file.php';42 }43 34 $uploaded_file = wp_handle_upload( 44 35 $_FILES['csv_file'], … … 233 224 global $wp_filesystem; 234 225 if (empty($wp_filesystem)) { 235 require_once ABSPATH . 'wp-admin/includes/file.php';236 226 WP_Filesystem(); 237 227 } … … 264 254 $attachment_id = wp_insert_attachment($attachment, $material_full_path); 265 255 if (!is_wp_error($attachment_id)) { 266 // Only load these if the functions are not already available267 if (!function_exists('wp_generate_attachment_metadata')) {268 require_once ABSPATH . 'wp-admin/includes/image.php';269 }270 if (!function_exists('media_handle_upload')) {271 require_once ABSPATH . 'wp-admin/includes/media.php';272 }273 if (!function_exists('WP_Filesystem')) {274 require_once ABSPATH . 'wp-admin/includes/file.php';275 }276 256 277 257 $attachment_metadata = wp_generate_attachment_metadata($attachment_id, $material_full_path); … … 395 375 wp_reset_postdata(); 396 376 397 398 377 $associated_course_ids = []; 399 378 foreach ($associated_courses as $course_title) { … … 438 417 global $wp_filesystem; 439 418 if (empty($wp_filesystem)) { 440 require_once ABSPATH . 'wp-admin/includes/file.php';441 419 WP_Filesystem(); 442 420 } … … 467 445 $attachment_id = wp_insert_attachment($attachment, $material_full_path); 468 446 if (!is_wp_error($attachment_id)) { 469 // Only load these if the functions are not already available470 if (!function_exists('wp_generate_attachment_metadata')) {471 require_once ABSPATH . 'wp-admin/includes/image.php';472 }473 if (!function_exists('media_handle_upload')) {474 require_once ABSPATH . 'wp-admin/includes/media.php';475 }476 if (!function_exists('WP_Filesystem')) {477 require_once ABSPATH . 'wp-admin/includes/file.php';478 }479 480 447 481 448 $attachment_metadata = wp_generate_attachment_metadata($attachment_id, $material_full_path); … … 795 762 global $wp_filesystem; 796 763 if (empty($wp_filesystem)) { 797 require_once ABSPATH . 'wp-admin/includes/file.php';798 764 WP_Filesystem(); 799 765 } … … 822 788 $attachment_id = wp_insert_attachment($attachment, $material_full_path); 823 789 if (!is_wp_error($attachment_id)) { 824 if (!function_exists('wp_generate_attachment_metadata')) {825 require_once ABSPATH . 'wp-admin/includes/image.php';826 }827 if (!function_exists('media_handle_upload')) {828 require_once ABSPATH . 'wp-admin/includes/media.php';829 }830 if (!function_exists('WP_Filesystem')) {831 require_once ABSPATH . 'wp-admin/includes/file.php';832 }833 834 790 835 791 $attach_meta = wp_generate_attachment_metadata($attachment_id, $material_full_path); … … 932 888 function import_featured_image($post_id, $image_url) 933 889 { 934 if (!function_exists('wp_generate_attachment_metadata')) {935 require_once ABSPATH . 'wp-admin/includes/image.php';936 }937 if (!function_exists('media_handle_upload')) {938 require_once ABSPATH . 'wp-admin/includes/media.php';939 }940 if (!function_exists('WP_Filesystem')) {941 require_once ABSPATH . 'wp-admin/includes/file.php';942 }943 944 890 945 891 $upload_dir = wp_upload_dir(); … … 992 938 { 993 939 global $wp_filesystem; 994 if (empty($wp_filesystem)) {995 require_once ABSPATH . 'wp-admin/includes/file.php';996 WP_Filesystem();997 }998 940 999 941 if (preg_match_all('/<img.*?src=["\'](.*?)(?=["\'])|mp4=["\'](.*?\.(?:mp4|mov|avi|wmv|webm))(?=["\'])|<a.*?href=["\'](.*?\.(?:mp4|pdf|gif|mov|avi|wmv|webm))(?=["\'])/i', $content, $matches)) { -
easysecure-import-export-courses-learndash/trunk/readme.txt
r3393421 r3393564 10 10 Text Domain: easysecure-import-export-courses-learndash 11 11 12 A simple plugin to import and export LearnDash courses, lessons, topics , quizzes, and questions.12 A simple plugin to import and export LearnDash courses, lessons, topics. 13 13 14 14 == Description == 15 16 **LearnDash Course Import & Export – Bulk Upload via CSV is the easiest way to manage LearnDash content in bulk. This plugin lets you import and export LearnDash courses, lessons, and topics using simple and pre-formatted CSV files. Whether you're migrating from another LMS or just want to manage content faster, this tool saves hours of manual work. 15 LearnDash Course Import & Export – Bulk Upload via CSV is the easiest way to manage LearnDash content in bulk. This plugin lets you import and export LearnDash courses, lessons, and topics using simple and pre-formatted CSV files. Whether you're migrating from another LMS or just want to manage content faster, this tool saves hours of manual work. 17 16 18 17 You can bulk upload structured content or export single courses for backup or reuse — all with clean CSV files. A downloadable sample CSV is included to make formatting easy. 19 18 20 19 == Installation == 21 22 20 1. Firstly install and activate Learndash plugin. 23 21 2. Upload the `easysecure-import-export-courses-learndash` folder to the `/wp-content/plugins/` directory. … … 37 35 38 36 == Changelog == 39 40 37 = 1.0 = 41 38 * Initial release. 42 * Added support for importing and exporting LearnDash courses, lessons, topics , quizzes, and questions.39 * Added support for importing and exporting LearnDash courses, lessons, topics. 43 40 * Bulk export feature added. 44 41 45 42 == Upgrade Notice == 46 47 43 = 1.0 = 48 44 Initial release of the plugin.
Note: See TracChangeset
for help on using the changeset viewer.