Commit Graph

4204 Commits

Author SHA1 Message Date
oleibman 3051663273 Security Patch Control Characters in Protocol 2025-01-23 23:21:28 -08:00
oleibman c9040d92ec Upgrade mitoteam/jpgraph 2025-01-15 22:45:28 -08:00
oleibman b9da9aaeca Tweak One Test
Fluke failure in CI push.
2025-01-15 01:47:54 -08:00
oleibman 089ffdfc04 Backported Security Patch 1.29.8 2025-01-11 19:16:27 -08:00
oleibman be65fbe6a2 Change hash code for worksheet branch release1291 (#4306)
* Change hash code for worksheet

Backport of [PR #4207](https://github.com/PHPOffice/PhpSpreadsheet/pull/4207)

* Retitling Cloned Worksheets

Backport of PR #4302

* Make Test Php7.4 Compatible
2025-01-08 14:36:22 -08:00
oleibman 51635f6e83 Remove Scrutinizer and Coverage from release1291 (#4304)
* Remove Scrutinizer and Coverage from release1291

Don't need them for backport releases.

* Add readthedocs.yaml

Unsure why it's needed.
2025-01-06 17:57:43 -08:00
oleibman 893ea4f146 Update License 2025-01-04 21:39:12 -08:00
oleibman 54238bd6af Upgrade tcpdf to 6.8.0 2024-12-27 16:19:47 -08:00
oleibman 02c8625411 Backport Html Writer Security Patches 1.29.7 2024-12-26 21:10:37 -08:00
oleibman a50ebfe118 Backport Security Patches for Samples 2024-12-25 19:29:51 -08:00
oleibman a78ceaa96b Add German Language Pack 2024-12-23 09:15:09 -08:00
oleibman 320f690e12 Install Locale to Avoid Some Skipped Tests 2024-12-23 09:01:02 -08:00
oleibman dfc2fe68cc Restore Accidentally Disabled Test 2024-12-15 14:33:53 -08:00
oleibman f6ee1f29d2 Additional Context Options for http(s) Images
Backport of PR #4276.
2024-12-13 15:25:09 -08:00
oleibman 08597725b8 Tweak to .gitattributes 1.29.6 2024-12-07 21:49:00 -08:00
oleibman bb4b75d1a6 Upgrade Dompdf, Tcpdf, Composer Package 2024-12-07 21:36:03 -08:00
oleibman 345b63a10a Fix Minor Break Handling Drawings
Backport of #4241. Some security batches caused a minor break in Drawings, forcing `setWorksheet` to come after `setPath`. Although the problem is easily fixed in user code, this was not an intended change. Some slight recoding restores the earlier functionality where the order of calls was not important, without sacrificing the security gains.
2024-11-25 20:14:44 -08:00
oleibman 77206da762 Another Try to Suppress github-pages 2024-11-22 22:45:34 -08:00
oleibman 727cb704d5 Ignore Settings::libXmlLoaderOptions
Backport of PR #4233.
1.29.5
2024-11-21 21:57:44 -08:00
oleibman c5f0f501a1 Upgrade PhpUnit
To a version which knows Php8.4 deprecates E_STRICT.
2024-11-14 14:26:49 -08:00
oleibman bdffbdb717 Upgrade Symfony/Process
Current version (used only in dev) has a security advisory. May as well fix it.
2024-11-12 19:09:15 -08:00
oleibman 2106f0a61f Update GitHub Pages Only for Master Branch 2024-11-12 07:02:43 -08:00
oleibman bedd300acd Change Github Actions Version
Apparently checkout and cache use deprecated v3. Use current v4 instead.
2024-11-10 09:47:18 -08:00
oleibman 7ca7e325dc Fix Changelog - Wrong Tag Was Applied 1.29.4 2024-11-10 08:26:22 -08:00
oleibman 31d7f7962e Backport Security Patch 2024-11-10 01:24:59 -08:00
oleibman 15e028fd93 Backport PR #4189 Csv Method 2024-10-14 22:00:52 -07:00
oleibman 3a5a818d7d Update Changelog 1.29.2 2024-09-29 00:04:47 -07:00
oleibman f0219ff04b Restore 2 Disabled Tests 2024-09-24 17:43:22 -07:00
oleibman d95bc290be Backport Security Patch 2024-09-24 05:49:02 -07:00
oleibman 9c90ed6b23 Used Named Parameter but Still Need to Support Php7.4 2024-09-14 05:48:58 -07:00
oleibman 8b9b378ecd Html Writer Validate Hyperlink Protocols 2024-09-14 05:27:25 -07:00
oleibman fa657fd99b More Tests 2024-09-13 10:10:29 -07:00
oleibman ec0d4af574 AMORDEGRC and Csv Reader
Backports of PR #4162 and PR #4164 intended for 3.0.0.
2024-09-07 21:47:30 -07:00
oleibman 8edc294862 Make Csv Reader Consistent With Other Branches
Very minor tweaks.
2024-09-06 01:50:15 -07:00
oleibman e69cfb954b Used Php8 Construct But Still Need to Support 7.4 2024-09-05 22:47:21 -07:00
oleibman 7551a9f3c7 Preparation for Php8.4
Backport changes applied to master some time ago.
2024-09-05 22:04:02 -07:00
oleibman fb42a103f1 Validate POST Input in Sample 45
Errors will result if input is not numeric.
2024-09-05 13:12:53 -07:00
oleibman 59ee38f748 Unit Tests Skip Nightly Add 8.3 1.29.1 2024-09-02 17:55:32 -07:00
oleibman 00cd98ff93 WebService Test Requires Int Not String 2024-09-02 17:44:42 -07:00
oleibman e27b17e06f Don't Use Phpunit 10 2024-09-02 17:32:14 -07:00
oleibman 7d6cb09f6e Backport Security Patches
2 security patches already applied in Release 2 need to be backported for Release 1.
2024-09-02 04:53:55 -07:00
MarkBaker fde2ccf55e Minor update the change log 1.29.0 2023-06-15 00:48:31 +02:00
oleibman 570660f12a Column Widths, Especially for ODS (#3610)
Fix #3609. Reporter created a spreadsheet with non-adjacent columns having non-default widths. Ods Writer needs to generate entries for the missing columns with default width.

The fix was fairly simple. Testing it was not. Ods Reader basically ignores all styles; they are complicated, declared in (at least) 2 places (content.xml and styles.xml). This change deals only with the problem as reported, in which the missing declarations should be in content.xml. If someone reports a real-world example of this involving styles.xml, I can look at that then. In the meantime, this toehold might serve as a template for adding other style processing to Ods Reader.

Looking at other formats, processing of column widths was also missing from Html Reader, and is now added. Note that this will work only with inline Css declarations on the `col` tags, which can be generated by Html Writer using `setUseInlineCss(true)`. This creates a much larger file than one created without inline CSS.

A general problem became evident when studying the code. Worksheet `columnDimensions` is an unsorted array. This is not a problem per se, but it can easily lead to unexpected results from a `getColumnDimensions` call. The code is changed to sort the array before returning it in `getColumnDimensions`.

One existing test failed as a result of this change. It errorneously tested `getHighestColumn` instead of `getHighestDataColumn`, which caused a problem because the final column declaration included a `number-columns-repeated` attribute. The new result for `getHighestColumn` is correct, and the test is changed to use `getHighestDataColumn` instead, which was certainly its intent.
2023-06-13 17:06:05 -07:00
oleibman eba7271134 Changelog Updates 20230609 (#3612)
Added a few changes not documented since last update.
2023-06-09 10:30:56 -07:00
oleibman a1d960ba81 Improvements for Data Validation (#3605)
Fix #3592. Fix #3594. The original issue asked that Data Validation be added for Xml spreadsheets. However, doing so exposed some other Data Validation problems, which are corrected along with the Xml portion.

The main other problem is that the code for `Cell\DataValidator::isValid` covered almost no possibilities. It is expanded to include all possibilities, except for Custom Types, which I will continue to think about. Many tests are added.

An obscure problem is that Xlsx Reader does not quite work properly when the Data Validation cells are beyond the high-used column or row. We use the high-used values because it is completely impractical to set all the cells in a range when an entire column or row is selected. This change causes the leftmost top cell in a range to be explicitly allocated, affecting the high-used values. It is not 100% effective, but it will be much more difficult to get into the problem situation, which I will continue to think about.

Although our expectation is that we will not see any Xml Spreadsheets using non-standard namespacing, much of the Xml Reader code is changed to use proper namespace techniques. A few areas which just had nothing to do with this change continue to use less robust techniques; I plan to address those soon after implementing this change.

One of the Data Validation types is for time of day. Testing revealed that `Shared\Date::convertIsoDate` was insufficiently robust when determining whether its input consisted of a time of day without date. It is now more robust.
2023-06-08 12:34:00 -07:00
jpachta e258918a81 Update reading-files.md (#3607)
Fixed typo in code examples in name of variable `$columnAddress` that was wrongly shortened to `$column`. Long version of the variable name $columnAddress is used in the corresponding samples scripts so now the docs match the samples.
2023-06-07 22:09:12 -07:00
oleibman a2edbf8776 Unzipped Gnumeric File (#3591)
* Unzipped Gnumeric File

A Gnumeric file is normally a gzipped Xml file. However, the Gnumeric application will also read an unzipped Xml file. Allow PhpSpreadsheet to do the same.

* Scrutinizer (legitimate)

Fix minor problem.
2023-06-03 07:53:54 -07:00
oleibman a0a9b2be21 HyperlinkBase Property, and Html Handling of Properties (#3589)
* HyperlinkBase Property, and Html Handling of Properties

Fix #3573. The original issue concerned non-support of Document Properties in Xml spreadsheets. However, most of the Properties mentioned there were already supported. But the investigation revealed some gaps in Html coverage.

HyperlinkBase is the one property mentioned in the issue that was not supported for Xml, nor indeed for any other format. All the other document properties are 'meta'; but HyperlinkBase is functional - if you supply a relative address for a link, Excel will use HyperlinkBase, if supplied, to convert to an absolute address. (Default is directory where spreadsheet is located.) Here's a summary of how this PR will handle this property for various formats:
- Support is added for Xlsx read and write.
- Support is added for Xml read (there is no Xml writer). Ironically, Excel messes up this processing when reading an Xml spreadsheet; however, PhpSpreadsheet will get it right.
- HyperlinkBase is supported for Xls, but I have no idea how to read or write this property. For now, when writing hyperlinked cells, PhpSpreadsheet will be changed to convert any relative addresses that it can detect to absolute references by adding HyperlinkBase to the relative address. In a similar vein, Xls supports custom properties, but PhpSpreadsheet does not know how to read or write those.
- Gnumeric has no equivalent property, so nothing needs to be done to its reader. Since we don't have a Gnumeric writer, that's not really a problem for us.
- Odt has no equivalent property, so nothing needs to be done to its reader. The Odt writer does not have any special logic for hyperlinks, so, at least for now, will remain unchanged.
- Csv has no equivalent property, so nothing needs to be done to its reader. The Csv writer does not have any special logic for hyperlinks, so, at least for now, will remain unchanged.
- Html allows for an equivalent `base` tag in the head section. Support for this is added to Html reader and writer.

Html Writer was only handling 8 of the 11 'core' properties. Support is added for `created`, `modified`, and `lastModifiedBy`. Custom properties were not supported at all, and now are.

Html Reader did not support any properties. It will now support all of them.

* Scrutinizer

Remove one dead reference.
2023-06-02 23:25:38 -07:00
oleibman 3aab263580 Upgrade mitoteam/jpgraph (#3603)
They have made some changes at my request, the major effect of which is that it will now work with 33_Chart_create_bar_stacked. This is a departure for them in that they have changed the functionality of jpgraph, not merely made sure that it is compatible with new Php releases.
2023-06-01 22:17:30 -07:00
oleibman 9b9e30c582 Upgrade php-cs-fixer (#3602)
Dependabot wanted to do this, but the changes to php-cs-fixer caused it to report errors in 7 modules, all due to spacing in comments. I hate this, but who asked me? Just fix them.
2023-06-01 19:25:09 -07:00