Commit Graph

244 Commits

Author SHA1 Message Date
Paolo Agostinetto
9767112b23 Settings: deleted libxml_disable_entity_loader() calls (#113)
Settings: deleted libxml_disable_entity_loader() calls since they're not necessary.
Prevent setLibXmlLoaderOptions() and getLibXmlLoaderOptions() to call the libxml_disable_entity_loader() function which alter the global state of libxml.
See the discussion here https://github.com/PHPOffice/PhpSpreadsheet/issues/74
2017-03-12 22:00:46 +09:00
Adrien Crivelli
b669d48f2f
Un-deprecate getCalculatedValue()
Those were deprecated a long time ago in 59932b0cac
but their replacement seems to have never been added. 5 years later the
best solution is to un-deprecate them and if someday their replacement are
actually added, then we can re-deprecate them properly.

Closes #22
2017-03-11 12:16:07 +09:00
Adrien Crivelli
ea5663bc00
Drop support for PclZip
Over the years PclZip became a maintenance problem. It's code base
is old and the official project seems to have died out. ZipArchive
is now more commonly available and offer an easier and more complete
API. So PclZip was dropped in order to focus our efforts on what matters.

Closes #18
2017-03-11 11:48:46 +09:00
ankitm123
f99eb8dbba Cloned worksheet updates were reflected on original (MemoryDrawing)
We need to make note of two things:

- The old code was trying to clone an objectArray, and hence was performing a shallow copy of memoryDrawing objects (the __clone magic function was not getting invoked).
Instead, if one loops over the objectArray, and then clones the individual memory drawing objects, then the __clone function for the MemoryDrawing object is invoked.

- The __clone function for memory drawing was using the clone keyword which does not deal with circular references (Since memoryDrawing object had references to worksheet object, it was encountering an infinite loop). However, serializing and unserializing objects deals with circular references pretty well. 

Fixes #92 
Closes #106
2017-03-06 22:58:19 +09:00
Adrien Crivelli
5fce89e76b Merge pull request #108 from redokun/fix-105
Ods writer: add support for basic text styling (Fix #105)
2017-03-06 11:39:50 +09:00
Christian Schmidt
3560f11935
Replace mbStrReplace() with str_replace()
By design, UTF-8 allows any byte-oriented substring searching algorithm,
since the sequence of bytes for a character cannot occur anywhere else
([source](https://en.wikipedia.org/wiki/UTF-8#Advantages_3)).

So `str_replace()` also works for UTF-8-encoded strings, assuming that
the input strings are valid UTF-8 strings. The previous implementation
of mbStrReplace() did nothing to detect invalid strings.

Also, `str_replace()` does not support [Unicode equivalence](https://en.wikipedia.org/wiki/Unicode_equivalence),
but nor do the other `mb_string` functions, and nor does `=SUBSTITUTE()` in Excel
(tested on Excel for Mac version 15.19.1, Excel 2016 for Windows and LibreOffice 5.1).

Closes #109
2017-03-06 11:33:06 +09:00
Paolo Agostinetto
93b5337bda Writer\Ods\Content: Fix CS 2017-03-04 17:18:18 +01:00
Paolo Agostinetto
4efda2a512 Ods\Writer\Content: added support for xr styles (bold, italic, font family, font size, underline, bg color) 2017-03-04 17:18:18 +01:00
Paolo Agostinetto
e60897ae5f Writer\Ods\Content: all variable names to camelcase 2017-03-04 17:18:18 +01:00
Paolo Agostinetto
8600e63123 Writer\Ods\Content: added docblock and removed unnecessary method parameter 2017-03-04 17:18:18 +01:00
Paolo Agostinetto
13bf3d4361 Writer\Ods\Content: making use of the "use" statement rather than explicit namespaces 2017-03-04 17:18:18 +01:00
Adrien Crivelli
0d1ff5b95f
Better exception message for new Excel functions
Closes https://github.com/PHPOffice/PHPExcel/issues/1136
2017-02-28 10:50:22 +09:00
Adrien Crivelli
f7e1aa3c41 Merge pull request #98 from redokun/fix-85
Ods reader: various fixes and unit tests added (bug #85)
2017-02-25 16:51:10 +09:00
ankitm123
5df662e1a3
PHP 7.1 compatibility
Closes #96
Closes #101
Closes #102
2017-02-25 16:35:37 +09:00
Mingc
a1a03428e7 Decode comment text in xls reader (#99) (#100)
Previously, xls reader did not decode comment properly if they used UTF-8.

References:

* [The Microsoft Excel File Format](https://www.openoffice.org/sc/excelfileformat.pdf): From BIFF8 on, strings are always stored using UTF-16LE text encoding. The character array is a sequence of 16-bit values. Additionally it is possible to use a compressed format, which omits the high bytes of all characters, if they are all zero
* [Apache POI](http://grepcode.com/file/repo1.maven.org/maven2/org.apache.poi/poi/3.7/org/apache/poi/util/StringUtil.java#StringUtil.readUnicodeString%28org.apache.poi.util.LittleEndianInput%29): is16BitFlag
2017-02-23 11:42:52 +09:00
Paolo Agostinetto
529617c77d Fixed CS errors 2017-02-20 22:14:07 +01:00
Paolo Agostinetto
f3c62b615e Merge remote-tracking branch 'upstream/develop' into fix-85 2017-02-20 21:13:03 +01:00
Paolo Agostinetto
9785f926c1 php-cs run: fixed code style for new/changed files 2017-02-20 21:05:25 +01:00
Paolo Agostinetto
c954eddf57 Ods reader: fix sheet count and added a test for sheet names 2017-02-20 21:02:04 +01:00
Paolo Agostinetto
b50ca6e27c Ods reader: added/fixed PHPDoc and classes without namespace 2017-02-20 21:00:42 +01:00
Paolo Agostinetto
4cf7beef31 Ods reader: few readability tweaks 2017-02-18 21:10:06 +01:00
Paolo Agostinetto
1667056515 IReadFilter interface: fixed docblocks 2017-02-18 21:02:33 +01:00
Paolo Agostinetto
6d6353c0f1 Ods reader: fix reading of cells with hyperlinks 2017-02-18 20:59:14 +01:00
Paolo Agostinetto
e46c298fe1 Ods reader: method loadIntoExisting() now uses DOMDocument to parse content 2017-02-18 20:38:10 +01:00
Adrien Crivelli
7b90bb9394
Drop checks for mbstring existence
Since mbstring is now a hard dependency enforced by composer, it is
no longer necessary to check for its presence and implement fallbacks.
2017-02-16 11:56:22 +09:00
Adrien Crivelli
1a52e23f08
Remove obsolete math polyfills 2017-02-16 11:15:22 +09:00
Adrien Crivelli
4ae95e5f7c
Drop obsolete method check existence 2017-02-16 11:01:35 +09:00
Adrien Crivelli
ce8ba1fa66
Drop obsolete PHP 5.2 specific code 2017-02-16 10:42:54 +09:00
Alex Milde
47d7260c43 Ignore images with missing data when reading xlsx
Ignore images with missing data when reading xlsx

Fixes #94, closes #95
2017-02-16 09:42:07 +09:00
Roland Häder
99e5a8e919
Use isset() instead of in_array() for increased performance and code simplification
Closes #82

Signed-off-by: Roland Häder <roland@mxchange.org>
2017-02-14 23:06:35 +09:00
Adrien Crivelli
6e247c30d9
Drop support for SQLite 2 because it does not exist in PHP 5.6+ anymore 2017-02-14 12:53:20 +09:00
Zharikov Viktor
de5a04e4cb
Avoid adding an unnecessary extra cell at the end of table when writing to HTML
Fixes #91, and closes #84
2017-02-14 11:57:29 +09:00
Tony Brix
149f9e649b fill color will change startColor and endColor (#90) 2017-02-10 21:03:17 +09:00
Adrien Crivelli
fe73b2d402
Drop PHPSPREADSHEET_ROOT constant 2017-01-23 15:35:10 +09:00
Adrien Crivelli
8dddf56c2e
Use proper syntax for variadic functions
This simplify code, increase readability and improve the function
signature for API users.
2017-01-23 15:01:20 +09:00
Adrien Crivelli
152d39bd42
Unalign docblock
Because alignment was all broken and becaues it doesn't improve much
the code readability, but potentially create more complicated diff, we
prefer to unlaign all docblocks.
2017-01-23 11:25:02 +09:00
Adrien Crivelli
031af1e9d2
Standardize writers and readers name to be the format most common extension in CamelCase 2017-01-22 17:39:23 +09:00
Adrien Crivelli
1cdc8531b8
Rename writer PDF to Pdf for consistency 2017-01-22 00:58:48 +09:00
Adrien Crivelli
035281f04c
Basic test covering of all PDF writers
Third party PDF libraries must now be installed via composer and naturally
via composer autoloading mechanism. Because of that it is not necessary
to specify their path on disk. The usage is simplified and it allows us
to include them in our unit tests.

This also means that from now on PhpSpreadsheet must use composer autoloader
mechanism. The internal autoloading implementation was dropped.
2017-01-22 00:49:44 +09:00
titanrat
66f37218c9 Fix mpdf writer to work with MPDF 6.1.3 (#76)
Fix old namespace. New writer tested with MPDF 6.1.3
2017-01-19 18:26:27 +09:00
Сергей Симонян
2aa7707826 Use use sections instead of fully qualified class names (#69) 2017-01-10 02:09:39 +09:00
Adrien Crivelli
1b0b609c30
Remove dead code 2017-01-05 12:29:30 +09:00
Adrien Crivelli
ec928d393f
Fix indentation as suggested by Scrunitizer 2017-01-05 12:26:20 +09:00
Adrien Crivelli
e9d03cc6d3
Apply Scrutinzer patches for spacing 2017-01-05 12:14:44 +09:00
Adrien Crivelli
c8a69dfb54
Fix comment #65 2017-01-05 11:11:18 +09:00
Roland Häder
3723bb825b Added Row::getWorksheet() to expose row's bounded worksheet #59, #60 2017-01-05 11:05:49 +09:00
Christian Schmidt
61408fc691 Properly format non-integer font sizes (#66)
The OOXML spec defines the font sizes (the `sz` element) as a double, so the value needs to be wrapped in `PHPExcel_Shared_String::FormatNumber()` to avoid breaking in non-English locales.
2017-01-04 17:27:42 +09:00
Adrien Crivelli
0c75d64817
Remove unused variables 2016-12-26 14:36:47 +09:00
Adrien Crivelli
8ce610eb59
Use correct declared debugLog 2016-12-26 13:59:31 +09:00
Adrien Crivelli
56245d558e
Use ::class notation as much as possible
```
               *             ,
                           _/^\_
                          <     >
         *                 /.-.\         *
                  *        `/&\`                   *
                          ,@.*;@,
                         /_o.I %_\    *
            *           (`'--:o(_@;
                       /`;--.,__ `')             *
                      ;@`o % O,*`'`&\
                *    (`'--)_@ ;o %'()\      *
                     /`;--._`''--._O'@;
                    /&*,()~o`;-.,_ `""`)
         *          /`,@ ;+& () o*`;-';\
                   (`""--.,_0 +% @' &()\
                   /-.,_    ``''--....-'`)  *
              *    /@%;o`:;'--,.__   __.'\
                  ;*,&(); @ % &^;~`"`o;@();         *
                  /(); o^~; & ().o@*&`;&%O\
            jgs   `"="==""==,,,.,="=="==="`
               __.----.(\-''#####---...___...-----._
             '`         \)_`"""""`
                     .--' ')
                   o(  )_-\
                     `"""` `
```
2016-12-26 13:21:12 +09:00