Bläddra i källkod

Merge pull request #84 from remicollet/issue-lib080

fix for libxlsxwriter 0.8.0
viest 6 år sedan
förälder
incheckning
acfc62cb28
5 ändrade filer med 21 tillägg och 9 borttagningar
  1. 11 0
      config.m4
  2. 0 4
      kernel/excel.c
  3. 0 4
      kernel/format.c
  4. 4 0
      kernel/include.h
  5. 6 1
      kernel/write.c

+ 11 - 0
config.m4

@@ -68,12 +68,23 @@ if test "$PHP_XLSWRITER" != "no"; then
             ],[
                 -L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
             ])
+            PHP_CHECK_LIBRARY(xlsxwriter, lxw_chartsheet_new,
+            [
+                AC_DEFINE(HAVE_LXW_CHARTSHEET_NEW, 1, [ lxw_chartsheet_new available in 0.8.0 ])
+            ],[
+            ],[
+                -L$XLSXWRITER_DIR/$PHP_LIBDIR -lm
+            ])
         fi
         AC_DEFINE(HAVE_LIBXLSXWRITER, 1, [ use system libxlsxwriter ])
     else
         AC_MSG_RESULT([use the bundled library])
         xls_writer_sources="$xls_writer_sources $libxlsxwriter_sources"
         PHP_ADD_INCLUDE([$srcdir/library/include])
+
+        dnl uncomment when bunled lib will be updated
+        dnl AC_DEFINE(HAVE_LXW_VERSION, 1, [ lxw_version available in 0.7.9 ])
+        dnl AC_DEFINE(HAVE_LXW_CHARTSHEET_NEW, 1, [ lxw_chartsheet_new available in 0.8.0 ])
     fi
 
     if test -z "$PHP_DEBUG"; then

+ 0 - 4
kernel/excel.c

@@ -10,10 +10,6 @@
   +----------------------------------------------------------------------+
 */
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
 #include "include.h"
 
 zend_class_entry *vtiful_xls_ce;

+ 0 - 4
kernel/format.c

@@ -10,10 +10,6 @@
   +----------------------------------------------------------------------+
 */
 
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
 #include "include.h"
 #include "ext/standard/php_var.h"
 

+ 4 - 0
kernel/include.h

@@ -13,6 +13,10 @@
 #ifndef PHP_XLS_WRITER_INCLUDE_H
 #define PHP_XLS_WRITER_INCLUDE_H
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <php.h>
 
 #include "zend_exceptions.h"

+ 6 - 1
kernel/write.c

@@ -367,8 +367,13 @@ _prepare_drawings(lxw_workbook *self)
 
         STAILQ_FOREACH(image_options, worksheet->chart_data, list_pointers) {
             chart_ref_id++;
+#ifdef HAVE_LXW_CHARTSHEET_NEW
+            lxw_worksheet_prepare_chart(worksheet, chart_ref_id, drawing_id,
+                                        image_options, 0);
+#else
             lxw_worksheet_prepare_chart(worksheet, chart_ref_id, drawing_id,
                                         image_options);
+#endif
             if (image_options->chart)
                 STAILQ_INSERT_TAIL(self->ordered_charts, image_options->chart,
                                    ordered_list_pointers);
@@ -755,4 +760,4 @@ _populate_range(lxw_workbook *self, lxw_series_range *range)
 {
     _populate_range_dimensions(self, range);
     _populate_range_data_cache(self, range);
-}
+}