@@ -25,50 +25,50 @@ discard block |
||
25 | 25 | * @see OLE, Spreadsheet_Excel_Writer |
26 | 26 | */ |
27 | 27 | |
28 | -define('SPREADSHEET_EXCEL_READER_BIFF8', 0x600); |
|
29 | -define('SPREADSHEET_EXCEL_READER_BIFF7', 0x500); |
|
30 | -define('SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS', 0x5); |
|
31 | -define('SPREADSHEET_EXCEL_READER_WORKSHEET', 0x10); |
|
32 | - |
|
33 | -define('SPREADSHEET_EXCEL_READER_TYPE_BOF', 0x809); |
|
34 | -define('SPREADSHEET_EXCEL_READER_TYPE_EOF', 0x0a); |
|
35 | -define('SPREADSHEET_EXCEL_READER_TYPE_BOUNDSHEET', 0x85); |
|
36 | -define('SPREADSHEET_EXCEL_READER_TYPE_DIMENSION', 0x200); |
|
37 | -define('SPREADSHEET_EXCEL_READER_TYPE_ROW', 0x208); |
|
38 | -define('SPREADSHEET_EXCEL_READER_TYPE_DBCELL', 0xd7); |
|
39 | -define('SPREADSHEET_EXCEL_READER_TYPE_FILEPASS', 0x2f); |
|
40 | -define('SPREADSHEET_EXCEL_READER_TYPE_NOTE', 0x1c); |
|
41 | -define('SPREADSHEET_EXCEL_READER_TYPE_TXO', 0x1b6); |
|
42 | -define('SPREADSHEET_EXCEL_READER_TYPE_RK', 0x7e); |
|
43 | -define('SPREADSHEET_EXCEL_READER_TYPE_RK2', 0x27e); |
|
44 | -define('SPREADSHEET_EXCEL_READER_TYPE_MULRK', 0xbd); |
|
45 | -define('SPREADSHEET_EXCEL_READER_TYPE_MULBLANK', 0xbe); |
|
46 | -define('SPREADSHEET_EXCEL_READER_TYPE_INDEX', 0x20b); |
|
47 | -define('SPREADSHEET_EXCEL_READER_TYPE_SST', 0xfc); |
|
48 | -define('SPREADSHEET_EXCEL_READER_TYPE_EXTSST', 0xff); |
|
49 | -define('SPREADSHEET_EXCEL_READER_TYPE_CONTINUE', 0x3c); |
|
50 | -define('SPREADSHEET_EXCEL_READER_TYPE_LABEL', 0x204); |
|
51 | -define('SPREADSHEET_EXCEL_READER_TYPE_LABELSST', 0xfd); |
|
52 | -define('SPREADSHEET_EXCEL_READER_TYPE_NUMBER', 0x203); |
|
53 | -define('SPREADSHEET_EXCEL_READER_TYPE_NAME', 0x18); |
|
54 | -define('SPREADSHEET_EXCEL_READER_TYPE_ARRAY', 0x221); |
|
55 | -define('SPREADSHEET_EXCEL_READER_TYPE_STRING', 0x207); |
|
56 | -define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA', 0x406); |
|
57 | -define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA2', 0x6); |
|
58 | -define('SPREADSHEET_EXCEL_READER_TYPE_FORMAT', 0x41e); |
|
59 | -define('SPREADSHEET_EXCEL_READER_TYPE_XF', 0xe0); |
|
60 | -define('SPREADSHEET_EXCEL_READER_TYPE_BOOLERR', 0x205); |
|
61 | -define('SPREADSHEET_EXCEL_READER_TYPE_UNKNOWN', 0xffff); |
|
28 | +define('SPREADSHEET_EXCEL_READER_BIFF8', 0x600); |
|
29 | +define('SPREADSHEET_EXCEL_READER_BIFF7', 0x500); |
|
30 | +define('SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS', 0x5); |
|
31 | +define('SPREADSHEET_EXCEL_READER_WORKSHEET', 0x10); |
|
32 | + |
|
33 | +define('SPREADSHEET_EXCEL_READER_TYPE_BOF', 0x809); |
|
34 | +define('SPREADSHEET_EXCEL_READER_TYPE_EOF', 0x0a); |
|
35 | +define('SPREADSHEET_EXCEL_READER_TYPE_BOUNDSHEET', 0x85); |
|
36 | +define('SPREADSHEET_EXCEL_READER_TYPE_DIMENSION', 0x200); |
|
37 | +define('SPREADSHEET_EXCEL_READER_TYPE_ROW', 0x208); |
|
38 | +define('SPREADSHEET_EXCEL_READER_TYPE_DBCELL', 0xd7); |
|
39 | +define('SPREADSHEET_EXCEL_READER_TYPE_FILEPASS', 0x2f); |
|
40 | +define('SPREADSHEET_EXCEL_READER_TYPE_NOTE', 0x1c); |
|
41 | +define('SPREADSHEET_EXCEL_READER_TYPE_TXO', 0x1b6); |
|
42 | +define('SPREADSHEET_EXCEL_READER_TYPE_RK', 0x7e); |
|
43 | +define('SPREADSHEET_EXCEL_READER_TYPE_RK2', 0x27e); |
|
44 | +define('SPREADSHEET_EXCEL_READER_TYPE_MULRK', 0xbd); |
|
45 | +define('SPREADSHEET_EXCEL_READER_TYPE_MULBLANK', 0xbe); |
|
46 | +define('SPREADSHEET_EXCEL_READER_TYPE_INDEX', 0x20b); |
|
47 | +define('SPREADSHEET_EXCEL_READER_TYPE_SST', 0xfc); |
|
48 | +define('SPREADSHEET_EXCEL_READER_TYPE_EXTSST', 0xff); |
|
49 | +define('SPREADSHEET_EXCEL_READER_TYPE_CONTINUE', 0x3c); |
|
50 | +define('SPREADSHEET_EXCEL_READER_TYPE_LABEL', 0x204); |
|
51 | +define('SPREADSHEET_EXCEL_READER_TYPE_LABELSST', 0xfd); |
|
52 | +define('SPREADSHEET_EXCEL_READER_TYPE_NUMBER', 0x203); |
|
53 | +define('SPREADSHEET_EXCEL_READER_TYPE_NAME', 0x18); |
|
54 | +define('SPREADSHEET_EXCEL_READER_TYPE_ARRAY', 0x221); |
|
55 | +define('SPREADSHEET_EXCEL_READER_TYPE_STRING', 0x207); |
|
56 | +define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA', 0x406); |
|
57 | +define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA2', 0x6); |
|
58 | +define('SPREADSHEET_EXCEL_READER_TYPE_FORMAT', 0x41e); |
|
59 | +define('SPREADSHEET_EXCEL_READER_TYPE_XF', 0xe0); |
|
60 | +define('SPREADSHEET_EXCEL_READER_TYPE_BOOLERR', 0x205); |
|
61 | +define('SPREADSHEET_EXCEL_READER_TYPE_UNKNOWN', 0xffff); |
|
62 | 62 | define('SPREADSHEET_EXCEL_READER_TYPE_NINETEENFOUR', 0x22); |
63 | -define('SPREADSHEET_EXCEL_READER_TYPE_MERGEDCELLS', 0xE5); |
|
63 | +define('SPREADSHEET_EXCEL_READER_TYPE_MERGEDCELLS', 0xE5); |
|
64 | 64 | |
65 | -define('SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS' , 25569); |
|
65 | +define('SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS', 25569); |
|
66 | 66 | define('SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904', 24107); |
67 | -define('SPREADSHEET_EXCEL_READER_MSINADAY', 86400); |
|
67 | +define('SPREADSHEET_EXCEL_READER_MSINADAY', 86400); |
|
68 | 68 | //define('SPREADSHEET_EXCEL_READER_MSINADAY', 24 * 60 * 60); |
69 | 69 | |
70 | 70 | //define('SPREADSHEET_EXCEL_READER_DEF_NUM_FORMAT', "%.2f"); |
71 | -define('SPREADSHEET_EXCEL_READER_DEF_NUM_FORMAT', "%s"); |
|
71 | +define('SPREADSHEET_EXCEL_READER_DEF_NUM_FORMAT', "%s"); |
|
72 | 72 | |
73 | 73 | |
74 | 74 | /* |
@@ -201,7 +201,7 @@ discard block |
||
201 | 201 | * @var array |
202 | 202 | * @access public |
203 | 203 | */ |
204 | - var $dateFormats = array ( |
|
204 | + var $dateFormats = array( |
|
205 | 205 | 0xe => "d/m/Y", |
206 | 206 | 0xf => "d-M-Y", |
207 | 207 | 0x10 => "d-M", |
@@ -222,26 +222,26 @@ discard block |
||
222 | 222 | * @access public |
223 | 223 | */ |
224 | 224 | var $numberFormats = array( |
225 | - 0x1 => "%1.0f", // "0" |
|
226 | - 0x2 => "%1.2f", // "0.00", |
|
227 | - 0x3 => "%1.0f", //"#,##0", |
|
228 | - 0x4 => "%1.2f", //"#,##0.00", |
|
229 | - 0x5 => "%1.0f", /*"$#,##0;($#,##0)",*/ |
|
230 | - 0x6 => '$%1.0f', /*"$#,##0;($#,##0)",*/ |
|
231 | - 0x7 => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
232 | - 0x8 => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
233 | - 0x9 => '%1.0f%%', // "0%" |
|
234 | - 0xa => '%1.2f%%', // "0.00%" |
|
235 | - 0xb => '%1.2f', // 0.00E00", |
|
236 | - 0x25 => '%1.0f', // "#,##0;(#,##0)", |
|
237 | - 0x26 => '%1.0f', //"#,##0;(#,##0)", |
|
238 | - 0x27 => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
239 | - 0x28 => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
240 | - 0x29 => '%1.0f', //"#,##0;(#,##0)", |
|
241 | - 0x2a => '$%1.0f', //"$#,##0;($#,##0)", |
|
242 | - 0x2b => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
243 | - 0x2c => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
244 | - 0x30 => '%1.0f'); //"##0.0E0"; |
|
225 | + 0x1 => "%1.0f", // "0" |
|
226 | + 0x2 => "%1.2f", // "0.00", |
|
227 | + 0x3 => "%1.0f", //"#,##0", |
|
228 | + 0x4 => "%1.2f", //"#,##0.00", |
|
229 | + 0x5 => "%1.0f", /*"$#,##0;($#,##0)",*/ |
|
230 | + 0x6 => '$%1.0f', /*"$#,##0;($#,##0)",*/ |
|
231 | + 0x7 => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
232 | + 0x8 => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
233 | + 0x9 => '%1.0f%%', // "0%" |
|
234 | + 0xa => '%1.2f%%', // "0.00%" |
|
235 | + 0xb => '%1.2f', // 0.00E00", |
|
236 | + 0x25 => '%1.0f', // "#,##0;(#,##0)", |
|
237 | + 0x26 => '%1.0f', //"#,##0;(#,##0)", |
|
238 | + 0x27 => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
239 | + 0x28 => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
240 | + 0x29 => '%1.0f', //"#,##0;(#,##0)", |
|
241 | + 0x2a => '$%1.0f', //"$#,##0;($#,##0)", |
|
242 | + 0x2b => '%1.2f', //"#,##0.00;(#,##0.00)", |
|
243 | + 0x2c => '$%1.2f', //"$#,##0.00;($#,##0.00)", |
|
244 | + 0x30 => '%1.0f'); //"##0.0E0"; |
|
245 | 245 | |
246 | 246 | // }}} |
247 | 247 | // {{{ Spreadsheet_Excel_Reader() |
@@ -290,8 +290,7 @@ discard block |
||
290 | 290 | $this->_encoderFunction = function_exists('iconv') ? 'iconv' : ''; |
291 | 291 | } elseif ($encoder == 'mb') { |
292 | 292 | $this->_encoderFunction = function_exists('mb_convert_encoding') ? |
293 | - 'mb_convert_encoding' : |
|
294 | - ''; |
|
293 | + 'mb_convert_encoding' : ''; |
|
295 | 294 | } |
296 | 295 | } |
297 | 296 | |
@@ -376,9 +375,9 @@ discard block |
||
376 | 375 | $res = $this->_ole->read($sFileName); |
377 | 376 | |
378 | 377 | // oops, something goes wrong (Darko Miljanovic) |
379 | - if($res === false) { |
|
378 | + if ($res === false) { |
|
380 | 379 | // check error code |
381 | - if($this->_ole->error == 1) { |
|
380 | + if ($this->_ole->error == 1) { |
|
382 | 381 | // bad file |
383 | 382 | //die('The filename ' . $sFileName . ' is not readable'); |
384 | 383 | Display::display_header(''); |
@@ -437,11 +436,11 @@ discard block |
||
437 | 436 | { |
438 | 437 | $pos = 0; |
439 | 438 | |
440 | - $code = ord($this->data[$pos]) | ord($this->data[$pos+1])<<8; |
|
441 | - $length = ord($this->data[$pos+2]) | ord($this->data[$pos+3])<<8; |
|
439 | + $code = ord($this->data[$pos]) | ord($this->data[$pos + 1]) << 8; |
|
440 | + $length = ord($this->data[$pos + 2]) | ord($this->data[$pos + 3]) << 8; |
|
442 | 441 | |
443 | - $version = ord($this->data[$pos + 4]) | ord($this->data[$pos + 5])<<8; |
|
444 | - $substreamType = ord($this->data[$pos + 6]) | ord($this->data[$pos + 7])<<8; |
|
442 | + $version = ord($this->data[$pos + 4]) | ord($this->data[$pos + 5]) << 8; |
|
443 | + $substreamType = ord($this->data[$pos + 6]) | ord($this->data[$pos + 7]) << 8; |
|
445 | 444 | //echo "Start parse code=".base_convert($code,10,16)." version=".base_convert($version,10,16)." substreamType=".base_convert($substreamType,10,16).""."\n"; |
446 | 445 | |
447 | 446 | if (($version != SPREADSHEET_EXCEL_READER_BIFF8) && |
@@ -449,15 +448,15 @@ discard block |
||
449 | 448 | return false; |
450 | 449 | } |
451 | 450 | |
452 | - if ($substreamType != SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS){ |
|
451 | + if ($substreamType != SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS) { |
|
453 | 452 | return false; |
454 | 453 | } |
455 | 454 | |
456 | 455 | //print_r($rec); |
457 | 456 | $pos += $length + 4; |
458 | 457 | |
459 | - $code = ord($this->data[$pos]) | ord($this->data[$pos+1])<<8; |
|
460 | - $length = ord($this->data[$pos+2]) | ord($this->data[$pos+3])<<8; |
|
458 | + $code = ord($this->data[$pos]) | ord($this->data[$pos + 1]) << 8; |
|
459 | + $length = ord($this->data[$pos + 2]) | ord($this->data[$pos + 3]) << 8; |
|
461 | 460 | |
462 | 461 | while ($code != SPREADSHEET_EXCEL_READER_TYPE_EOF) { |
463 | 462 | switch ($code) { |
@@ -465,33 +464,33 @@ discard block |
||
465 | 464 | //echo "Type_SST\n"; |
466 | 465 | $spos = $pos + 4; |
467 | 466 | $limitpos = $spos + $length; |
468 | - $uniqueStrings = $this->_GetInt4d($this->data, $spos+4); |
|
467 | + $uniqueStrings = $this->_GetInt4d($this->data, $spos + 4); |
|
469 | 468 | $spos += 8; |
470 | 469 | for ($i = 0; $i < $uniqueStrings; $i++) { |
471 | 470 | // Read in the number of characters |
472 | 471 | if ($spos == $limitpos) { |
473 | - $opcode = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
474 | - $conlength = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
472 | + $opcode = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
473 | + $conlength = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
475 | 474 | if ($opcode != 0x3c) { |
476 | 475 | return -1; |
477 | 476 | } |
478 | 477 | $spos += 4; |
479 | 478 | $limitpos = $spos + $conlength; |
480 | 479 | } |
481 | - $numChars = ord($this->data[$spos]) | (ord($this->data[$spos+1]) << 8); |
|
480 | + $numChars = ord($this->data[$spos]) | (ord($this->data[$spos + 1]) << 8); |
|
482 | 481 | //echo "i = $i pos = $pos numChars = $numChars "; |
483 | 482 | $spos += 2; |
484 | 483 | $optionFlags = ord($this->data[$spos]); |
485 | 484 | $spos++; |
486 | - $asciiEncoding = (($optionFlags & 0x01) == 0) ; |
|
487 | - $extendedString = ( ($optionFlags & 0x04) != 0); |
|
485 | + $asciiEncoding = (($optionFlags & 0x01) == 0); |
|
486 | + $extendedString = (($optionFlags & 0x04) != 0); |
|
488 | 487 | |
489 | 488 | // See if string contains formatting information |
490 | - $richString = ( ($optionFlags & 0x08) != 0); |
|
489 | + $richString = (($optionFlags & 0x08) != 0); |
|
491 | 490 | |
492 | 491 | if ($richString) { |
493 | 492 | // Read in the crun |
494 | - $formattingRuns = ord($this->data[$spos]) | (ord($this->data[$spos+1]) << 8); |
|
493 | + $formattingRuns = ord($this->data[$spos]) | (ord($this->data[$spos + 1]) << 8); |
|
495 | 494 | $spos += 2; |
496 | 495 | } |
497 | 496 | |
@@ -501,20 +500,20 @@ discard block |
||
501 | 500 | $spos += 4; |
502 | 501 | } |
503 | 502 | |
504 | - $len = ($asciiEncoding)? $numChars : $numChars*2; |
|
503 | + $len = ($asciiEncoding) ? $numChars : $numChars * 2; |
|
505 | 504 | if ($spos + $len < $limitpos) { |
506 | 505 | $retstr = substr($this->data, $spos, $len); |
507 | 506 | $spos += $len; |
508 | - }else{ |
|
507 | + } else { |
|
509 | 508 | // found countinue |
510 | 509 | $retstr = substr($this->data, $spos, $limitpos - $spos); |
511 | 510 | $bytesRead = $limitpos - $spos; |
512 | 511 | $charsLeft = $numChars - (($asciiEncoding) ? $bytesRead : ($bytesRead / 2)); |
513 | 512 | $spos = $limitpos; |
514 | 513 | |
515 | - while ($charsLeft > 0){ |
|
516 | - $opcode = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
517 | - $conlength = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
514 | + while ($charsLeft > 0) { |
|
515 | + $opcode = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
516 | + $conlength = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
518 | 517 | if ($opcode != 0x3c) { |
519 | 518 | return -1; |
520 | 519 | } |
@@ -527,10 +526,10 @@ discard block |
||
527 | 526 | $retstr .= substr($this->data, $spos, $len); |
528 | 527 | $charsLeft -= $len; |
529 | 528 | $asciiEncoding = true; |
530 | - }elseif (!$asciiEncoding && ($option != 0)){ |
|
529 | + }elseif (!$asciiEncoding && ($option != 0)) { |
|
531 | 530 | $len = min($charsLeft * 2, $limitpos - $spos); // min($charsLeft, $conlength); |
532 | 531 | $retstr .= substr($this->data, $spos, $len); |
533 | - $charsLeft -= $len/2; |
|
532 | + $charsLeft -= $len / 2; |
|
534 | 533 | $asciiEncoding = false; |
535 | 534 | }elseif (!$asciiEncoding && ($option == 0)) { |
536 | 535 | // Bummer - the string starts off as Unicode, but after the |
@@ -541,7 +540,7 @@ discard block |
||
541 | 540 | } |
542 | 541 | $charsLeft -= $len; |
543 | 542 | $asciiEncoding = false; |
544 | - }else{ |
|
543 | + } else { |
|
545 | 544 | $newstr = ''; |
546 | 545 | for ($j = 0; $j < strlen($retstr); $j++) { |
547 | 546 | $newstr = $retstr[$j].chr(0); |
@@ -549,7 +548,7 @@ discard block |
||
549 | 548 | $retstr = $newstr; |
550 | 549 | $len = min($charsLeft * 2, $limitpos - $spos); // min($charsLeft, $conlength); |
551 | 550 | $retstr .= substr($this->data, $spos, $len); |
552 | - $charsLeft -= $len/2; |
|
551 | + $charsLeft -= $len / 2; |
|
553 | 552 | $asciiEncoding = false; |
554 | 553 | //echo "Izavrat\n"; |
555 | 554 | } |
@@ -561,7 +560,7 @@ discard block |
||
561 | 560 | //$retstr = ($asciiEncoding) ? $retstr : $this->_encodeUTF16($retstr); |
562 | 561 | $retstr = ($asciiEncoding) ? $this->_encodeUTF16($retstr, true) : $this->_encodeUTF16($retstr); |
563 | 562 | // echo "Str $i = $retstr\n"; |
564 | - if ($richString){ |
|
563 | + if ($richString) { |
|
565 | 564 | $spos += 4 * $formattingRuns; |
566 | 565 | } |
567 | 566 | |
@@ -572,7 +571,7 @@ discard block |
||
572 | 571 | //if ($retstr == 'Derby'){ |
573 | 572 | // echo "bb\n"; |
574 | 573 | //} |
575 | - $this->sst[]=$retstr; |
|
574 | + $this->sst[] = $retstr; |
|
576 | 575 | } |
577 | 576 | /*$continueRecords = array(); |
578 | 577 | while ($this->getNextCode() == Type_CONTINUE) { |
@@ -592,18 +591,18 @@ discard block |
||
592 | 591 | //echo "Type_NAME\n"; |
593 | 592 | break; |
594 | 593 | case SPREADSHEET_EXCEL_READER_TYPE_FORMAT: |
595 | - $indexCode = ord($this->data[$pos+4]) | ord($this->data[$pos+5]) << 8; |
|
594 | + $indexCode = ord($this->data[$pos + 4]) | ord($this->data[$pos + 5]) << 8; |
|
596 | 595 | |
597 | 596 | if ($version == SPREADSHEET_EXCEL_READER_BIFF8) { |
598 | - $numchars = ord($this->data[$pos+6]) | ord($this->data[$pos+7]) << 8; |
|
599 | - if (ord($this->data[$pos+8]) == 0){ |
|
600 | - $formatString = substr($this->data, $pos+9, $numchars); |
|
597 | + $numchars = ord($this->data[$pos + 6]) | ord($this->data[$pos + 7]) << 8; |
|
598 | + if (ord($this->data[$pos + 8]) == 0) { |
|
599 | + $formatString = substr($this->data, $pos + 9, $numchars); |
|
601 | 600 | } else { |
602 | - $formatString = substr($this->data, $pos+9, $numchars*2); |
|
601 | + $formatString = substr($this->data, $pos + 9, $numchars * 2); |
|
603 | 602 | } |
604 | 603 | } else { |
605 | - $numchars = ord($this->data[$pos+6]); |
|
606 | - $formatString = substr($this->data, $pos+7, $numchars*2); |
|
604 | + $numchars = ord($this->data[$pos + 6]); |
|
605 | + $formatString = substr($this->data, $pos + 7, $numchars * 2); |
|
607 | 606 | } |
608 | 607 | |
609 | 608 | $this->formatRecords[$indexCode] = $formatString; |
@@ -611,7 +610,7 @@ discard block |
||
611 | 610 | break; |
612 | 611 | case SPREADSHEET_EXCEL_READER_TYPE_XF: |
613 | 612 | //global $dateFormats, $numberFormats; |
614 | - $indexCode = ord($this->data[$pos+6]) | ord($this->data[$pos+7]) << 8; |
|
613 | + $indexCode = ord($this->data[$pos + 6]) | ord($this->data[$pos + 7]) << 8; |
|
615 | 614 | //echo "\nType.XF ".count($this->formatRecords['xfrecords'])." $indexCode "; |
616 | 615 | if (array_key_exists($indexCode, $this->dateFormats)) { |
617 | 616 | //echo "isdate ".$dateFormats[$indexCode]; |
@@ -625,9 +624,9 @@ discard block |
||
625 | 624 | 'type' => 'number', |
626 | 625 | 'format' => $this->numberFormats[$indexCode] |
627 | 626 | ); |
628 | - }else{ |
|
627 | + } else { |
|
629 | 628 | $isdate = FALSE; |
630 | - if ($indexCode > 0){ |
|
629 | + if ($indexCode > 0) { |
|
631 | 630 | if (isset($this->formatRecords[$indexCode])) |
632 | 631 | $formatstr = $this->formatRecords[$indexCode]; |
633 | 632 | //echo '.other.'; |
@@ -641,12 +640,12 @@ discard block |
||
641 | 640 | } |
642 | 641 | } |
643 | 642 | |
644 | - if ($isdate){ |
|
643 | + if ($isdate) { |
|
645 | 644 | $this->formatRecords['xfrecords'][] = array( |
646 | 645 | 'type' => 'date', |
647 | 646 | 'format' => $formatstr, |
648 | 647 | ); |
649 | - }else{ |
|
648 | + } else { |
|
650 | 649 | $this->formatRecords['xfrecords'][] = array( |
651 | 650 | 'type' => 'other', |
652 | 651 | 'format' => '', |
@@ -658,24 +657,24 @@ discard block |
||
658 | 657 | break; |
659 | 658 | case SPREADSHEET_EXCEL_READER_TYPE_NINETEENFOUR: |
660 | 659 | //echo "Type.NINETEENFOUR\n"; |
661 | - $this->nineteenFour = (ord($this->data[$pos+4]) == 1); |
|
660 | + $this->nineteenFour = (ord($this->data[$pos + 4]) == 1); |
|
662 | 661 | break; |
663 | 662 | case SPREADSHEET_EXCEL_READER_TYPE_BOUNDSHEET: |
664 | 663 | //echo "Type.BOUNDSHEET\n"; |
665 | - $rec_offset = $this->_GetInt4d($this->data, $pos+4); |
|
666 | - $rec_typeFlag = ord($this->data[$pos+8]); |
|
667 | - $rec_visibilityFlag = ord($this->data[$pos+9]); |
|
668 | - $rec_length = ord($this->data[$pos+10]); |
|
669 | - |
|
670 | - if ($version == SPREADSHEET_EXCEL_READER_BIFF8){ |
|
671 | - $chartype = ord($this->data[$pos+11]); |
|
672 | - if ($chartype == 0){ |
|
673 | - $rec_name = substr($this->data, $pos+12, $rec_length); |
|
664 | + $rec_offset = $this->_GetInt4d($this->data, $pos + 4); |
|
665 | + $rec_typeFlag = ord($this->data[$pos + 8]); |
|
666 | + $rec_visibilityFlag = ord($this->data[$pos + 9]); |
|
667 | + $rec_length = ord($this->data[$pos + 10]); |
|
668 | + |
|
669 | + if ($version == SPREADSHEET_EXCEL_READER_BIFF8) { |
|
670 | + $chartype = ord($this->data[$pos + 11]); |
|
671 | + if ($chartype == 0) { |
|
672 | + $rec_name = substr($this->data, $pos + 12, $rec_length); |
|
674 | 673 | } else { |
675 | - $rec_name = $this->_encodeUTF16(substr($this->data, $pos+12, $rec_length*2)); |
|
674 | + $rec_name = $this->_encodeUTF16(substr($this->data, $pos + 12, $rec_length * 2)); |
|
676 | 675 | } |
677 | - }elseif ($version == SPREADSHEET_EXCEL_READER_BIFF7){ |
|
678 | - $rec_name = substr($this->data, $pos+11, $rec_length); |
|
676 | + }elseif ($version == SPREADSHEET_EXCEL_READER_BIFF7) { |
|
677 | + $rec_name = substr($this->data, $pos + 11, $rec_length); |
|
679 | 678 | } |
680 | 679 | $this->boundsheets[] = array('name'=>$rec_name, |
681 | 680 | 'offset'=>$rec_offset); |
@@ -686,14 +685,14 @@ discard block |
||
686 | 685 | |
687 | 686 | //echo "Code = ".base_convert($r['code'],10,16)."\n"; |
688 | 687 | $pos += $length + 4; |
689 | - $code = ord($this->data[$pos]) | ord($this->data[$pos+1])<<8; |
|
690 | - $length = ord($this->data[$pos+2]) | ord($this->data[$pos+3])<<8; |
|
688 | + $code = ord($this->data[$pos]) | ord($this->data[$pos + 1]) << 8; |
|
689 | + $length = ord($this->data[$pos + 2]) | ord($this->data[$pos + 3]) << 8; |
|
691 | 690 | |
692 | 691 | //$r = &$this->nextRecord(); |
693 | 692 | //echo "1 Code = ".base_convert($r['code'],10,16)."\n"; |
694 | 693 | } |
695 | 694 | |
696 | - foreach ($this->boundsheets as $key=>$val){ |
|
695 | + foreach ($this->boundsheets as $key=>$val) { |
|
697 | 696 | $this->sn = $key; |
698 | 697 | $this->_parsesheet($val['offset']); |
699 | 698 | } |
@@ -712,30 +711,30 @@ discard block |
||
712 | 711 | { |
713 | 712 | $cont = true; |
714 | 713 | // read BOF |
715 | - $code = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
716 | - $length = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
714 | + $code = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
715 | + $length = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
717 | 716 | |
718 | - $version = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5])<<8; |
|
719 | - $substreamType = ord($this->data[$spos + 6]) | ord($this->data[$spos + 7])<<8; |
|
717 | + $version = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5]) << 8; |
|
718 | + $substreamType = ord($this->data[$spos + 6]) | ord($this->data[$spos + 7]) << 8; |
|
720 | 719 | |
721 | 720 | if (($version != SPREADSHEET_EXCEL_READER_BIFF8) && ($version != SPREADSHEET_EXCEL_READER_BIFF7)) { |
722 | 721 | return -1; |
723 | 722 | } |
724 | 723 | |
725 | - if ($substreamType != SPREADSHEET_EXCEL_READER_WORKSHEET){ |
|
724 | + if ($substreamType != SPREADSHEET_EXCEL_READER_WORKSHEET) { |
|
726 | 725 | return -2; |
727 | 726 | } |
728 | 727 | //echo "Start parse code=".base_convert($code,10,16)." version=".base_convert($version,10,16)." substreamType=".base_convert($substreamType,10,16).""."\n"; |
729 | 728 | $spos += $length + 4; |
730 | 729 | //var_dump($this->formatRecords); |
731 | 730 | //echo "code $code $length"; |
732 | - while($cont) { |
|
731 | + while ($cont) { |
|
733 | 732 | //echo "mem= ".memory_get_usage()."\n"; |
734 | 733 | // $r = &$this->file->nextRecord(); |
735 | 734 | $lowcode = ord($this->data[$spos]); |
736 | 735 | if ($lowcode == SPREADSHEET_EXCEL_READER_TYPE_EOF) break; |
737 | - $code = $lowcode | ord($this->data[$spos+1])<<8; |
|
738 | - $length = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
736 | + $code = $lowcode | ord($this->data[$spos + 1]) << 8; |
|
737 | + $length = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
739 | 738 | $spos += 4; |
740 | 739 | $this->sheets[$this->sn]['maxrow'] = $this->_rowoffset - 1; |
741 | 740 | $this->sheets[$this->sn]['maxcol'] = $this->_coloffset - 1; |
@@ -746,29 +745,29 @@ discard block |
||
746 | 745 | case SPREADSHEET_EXCEL_READER_TYPE_DIMENSION: |
747 | 746 | //echo 'Type_DIMENSION '; |
748 | 747 | if (!isset($this->numRows)) { |
749 | - if (($length == 10) || ($version == SPREADSHEET_EXCEL_READER_BIFF7)){ |
|
750 | - $this->sheets[$this->sn]['numRows'] = ord($this->data[$spos+2]) | ord($this->data[$spos+3]) << 8; |
|
751 | - $this->sheets[$this->sn]['numCols'] = ord($this->data[$spos+6]) | ord($this->data[$spos+7]) << 8; |
|
748 | + if (($length == 10) || ($version == SPREADSHEET_EXCEL_READER_BIFF7)) { |
|
749 | + $this->sheets[$this->sn]['numRows'] = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
750 | + $this->sheets[$this->sn]['numCols'] = ord($this->data[$spos + 6]) | ord($this->data[$spos + 7]) << 8; |
|
752 | 751 | } else { |
753 | - $this->sheets[$this->sn]['numRows'] = ord($this->data[$spos+4]) | ord($this->data[$spos+5]) << 8; |
|
754 | - $this->sheets[$this->sn]['numCols'] = ord($this->data[$spos+10]) | ord($this->data[$spos+11]) << 8; |
|
752 | + $this->sheets[$this->sn]['numRows'] = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5]) << 8; |
|
753 | + $this->sheets[$this->sn]['numCols'] = ord($this->data[$spos + 10]) | ord($this->data[$spos + 11]) << 8; |
|
755 | 754 | } |
756 | 755 | } |
757 | 756 | //echo 'numRows '.$this->numRows.' '.$this->numCols."\n"; |
758 | 757 | break; |
759 | 758 | case SPREADSHEET_EXCEL_READER_TYPE_MERGEDCELLS: |
760 | - $cellRanges = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
759 | + $cellRanges = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
761 | 760 | for ($i = 0; $i < $cellRanges; $i++) { |
762 | - $fr = ord($this->data[$spos + 8*$i + 2]) | ord($this->data[$spos + 8*$i + 3])<<8; |
|
763 | - $lr = ord($this->data[$spos + 8*$i + 4]) | ord($this->data[$spos + 8*$i + 5])<<8; |
|
764 | - $fc = ord($this->data[$spos + 8*$i + 6]) | ord($this->data[$spos + 8*$i + 7])<<8; |
|
765 | - $lc = ord($this->data[$spos + 8*$i + 8]) | ord($this->data[$spos + 8*$i + 9])<<8; |
|
761 | + $fr = ord($this->data[$spos + 8 * $i + 2]) | ord($this->data[$spos + 8 * $i + 3]) << 8; |
|
762 | + $lr = ord($this->data[$spos + 8 * $i + 4]) | ord($this->data[$spos + 8 * $i + 5]) << 8; |
|
763 | + $fc = ord($this->data[$spos + 8 * $i + 6]) | ord($this->data[$spos + 8 * $i + 7]) << 8; |
|
764 | + $lc = ord($this->data[$spos + 8 * $i + 8]) | ord($this->data[$spos + 8 * $i + 9]) << 8; |
|
766 | 765 | //$this->sheets[$this->sn]['mergedCells'][] = array($fr + 1, $fc + 1, $lr + 1, $lc + 1); |
767 | 766 | if ($lr - $fr > 0) { |
768 | - $this->sheets[$this->sn]['cellsInfo'][$fr+1][$fc+1]['rowspan'] = $lr - $fr + 1; |
|
767 | + $this->sheets[$this->sn]['cellsInfo'][$fr + 1][$fc + 1]['rowspan'] = $lr - $fr + 1; |
|
769 | 768 | } |
770 | 769 | if ($lc - $fc > 0) { |
771 | - $this->sheets[$this->sn]['cellsInfo'][$fr+1][$fc+1]['colspan'] = $lc - $fc + 1; |
|
770 | + $this->sheets[$this->sn]['cellsInfo'][$fr + 1][$fc + 1]['colspan'] = $lc - $fc + 1; |
|
772 | 771 | } |
773 | 772 | } |
774 | 773 | //echo "Merged Cells $cellRanges $lr $fr $lc $fc\n"; |
@@ -776,16 +775,16 @@ discard block |
||
776 | 775 | case SPREADSHEET_EXCEL_READER_TYPE_RK: |
777 | 776 | case SPREADSHEET_EXCEL_READER_TYPE_RK2: |
778 | 777 | //echo 'SPREADSHEET_EXCEL_READER_TYPE_RK'."\n"; |
779 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
780 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
778 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
779 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
781 | 780 | $rknum = $this->_GetInt4d($this->data, $spos + 6); |
782 | 781 | $numValue = $this->_GetIEEE754($rknum); |
783 | 782 | //echo $numValue." "; |
784 | 783 | if ($this->isDate($spos)) { |
785 | 784 | list($string, $raw) = $this->createDate($numValue); |
786 | - }else{ |
|
785 | + } else { |
|
787 | 786 | $raw = $numValue; |
788 | - if (isset($this->_columnsFormat[$column + 1])){ |
|
787 | + if (isset($this->_columnsFormat[$column + 1])) { |
|
789 | 788 | $this->curformat = $this->_columnsFormat[$column + 1]; |
790 | 789 | } |
791 | 790 | $string = sprintf($this->curformat, $numValue * $this->multiplier); |
@@ -795,27 +794,27 @@ discard block |
||
795 | 794 | //echo "Type_RK $row $column $string $raw {$this->curformat}\n"; |
796 | 795 | break; |
797 | 796 | case SPREADSHEET_EXCEL_READER_TYPE_LABELSST: |
798 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
799 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
800 | - $xfindex = ord($this->data[$spos+4]) | ord($this->data[$spos+5])<<8; |
|
801 | - $index = $this->_GetInt4d($this->data, $spos + 6); |
|
797 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
798 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
799 | + $xfindex = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5]) << 8; |
|
800 | + $index = $this->_GetInt4d($this->data, $spos + 6); |
|
802 | 801 | //var_dump($this->sst); |
803 | 802 | $this->addcell($row, $column, $this->sst[$index]); |
804 | 803 | //echo "LabelSST $row $column $string\n"; |
805 | 804 | break; |
806 | 805 | case SPREADSHEET_EXCEL_READER_TYPE_MULRK: |
807 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
808 | - $colFirst = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
809 | - $colLast = ord($this->data[$spos + $length - 2]) | ord($this->data[$spos + $length - 1])<<8; |
|
806 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
807 | + $colFirst = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
808 | + $colLast = ord($this->data[$spos + $length - 2]) | ord($this->data[$spos + $length - 1]) << 8; |
|
810 | 809 | $columns = $colLast - $colFirst + 1; |
811 | - $tmppos = $spos+4; |
|
810 | + $tmppos = $spos + 4; |
|
812 | 811 | for ($i = 0; $i < $columns; $i++) { |
813 | 812 | $numValue = $this->_GetIEEE754($this->_GetInt4d($this->data, $tmppos + 2)); |
814 | - if ($this->isDate($tmppos-4)) { |
|
813 | + if ($this->isDate($tmppos - 4)) { |
|
815 | 814 | list($string, $raw) = $this->createDate($numValue); |
816 | - }else{ |
|
815 | + } else { |
|
817 | 816 | $raw = $numValue; |
818 | - if (isset($this->_columnsFormat[$colFirst + $i + 1])){ |
|
817 | + if (isset($this->_columnsFormat[$colFirst + $i + 1])) { |
|
819 | 818 | $this->curformat = $this->_columnsFormat[$colFirst + $i + 1]; |
820 | 819 | } |
821 | 820 | $string = sprintf($this->curformat, $numValue * $this->multiplier); |
@@ -831,15 +830,15 @@ discard block |
||
831 | 830 | |
832 | 831 | break; |
833 | 832 | case SPREADSHEET_EXCEL_READER_TYPE_NUMBER: |
834 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
835 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
833 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
834 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
836 | 835 | $tmp = unpack("ddouble", substr($this->data, $spos + 6, 8)); // It machine machine dependent |
837 | 836 | if ($this->isDate($spos)) { |
838 | 837 | list($string, $raw) = $this->createDate($tmp['double']); |
839 | 838 | // $this->addcell(DateRecord($r, 1)); |
840 | - }else{ |
|
839 | + } else { |
|
841 | 840 | //$raw = $tmp['']; |
842 | - if (isset($this->_columnsFormat[$column + 1])){ |
|
841 | + if (isset($this->_columnsFormat[$column + 1])) { |
|
843 | 842 | $this->curformat = $this->_columnsFormat[$column + 1]; |
844 | 843 | } |
845 | 844 | $raw = $this->createNumber($spos); |
@@ -852,16 +851,16 @@ discard block |
||
852 | 851 | break; |
853 | 852 | case SPREADSHEET_EXCEL_READER_TYPE_FORMULA: |
854 | 853 | case SPREADSHEET_EXCEL_READER_TYPE_FORMULA2: |
855 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
856 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
857 | - if ((ord($this->data[$spos+6])==0) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) { |
|
854 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
855 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
856 | + if ((ord($this->data[$spos + 6]) == 0) && (ord($this->data[$spos + 12]) == 255) && (ord($this->data[$spos + 13]) == 255)) { |
|
858 | 857 | //String formula. Result follows in a STRING record |
859 | 858 | //echo "FORMULA $row $column Formula with a string<br>\n"; |
860 | - } elseif ((ord($this->data[$spos+6])==1) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) { |
|
859 | + } elseif ((ord($this->data[$spos + 6]) == 1) && (ord($this->data[$spos + 12]) == 255) && (ord($this->data[$spos + 13]) == 255)) { |
|
861 | 860 | //Boolean formula. Result is in +2; 0=false,1=true |
862 | - } elseif ((ord($this->data[$spos+6])==2) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) { |
|
861 | + } elseif ((ord($this->data[$spos + 6]) == 2) && (ord($this->data[$spos + 12]) == 255) && (ord($this->data[$spos + 13]) == 255)) { |
|
863 | 862 | //Error formula. Error code is in +2; |
864 | - } elseif ((ord($this->data[$spos+6])==3) && (ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) { |
|
863 | + } elseif ((ord($this->data[$spos + 6]) == 3) && (ord($this->data[$spos + 12]) == 255) && (ord($this->data[$spos + 13]) == 255)) { |
|
865 | 864 | //Formula result is a null string. |
866 | 865 | } else { |
867 | 866 | // result is a number, so first 14 bytes are just like a _NUMBER record |
@@ -869,9 +868,9 @@ discard block |
||
869 | 868 | if ($this->isDate($spos)) { |
870 | 869 | list($string, $raw) = $this->createDate($tmp['double']); |
871 | 870 | // $this->addcell(DateRecord($r, 1)); |
872 | - }else{ |
|
871 | + } else { |
|
873 | 872 | //$raw = $tmp['']; |
874 | - if (isset($this->_columnsFormat[$column + 1])){ |
|
873 | + if (isset($this->_columnsFormat[$column + 1])) { |
|
875 | 874 | $this->curformat = $this->_columnsFormat[$column + 1]; |
876 | 875 | } |
877 | 876 | $raw = $this->createNumber($spos); |
@@ -884,9 +883,9 @@ discard block |
||
884 | 883 | } |
885 | 884 | break; |
886 | 885 | case SPREADSHEET_EXCEL_READER_TYPE_BOOLERR: |
887 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
888 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
889 | - $string = ord($this->data[$spos+6]); |
|
886 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
887 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
888 | + $string = ord($this->data[$spos + 6]); |
|
890 | 889 | $this->addcell($row, $column, $string); |
891 | 890 | //echo 'Type_BOOLERR '."\n"; |
892 | 891 | break; |
@@ -895,9 +894,9 @@ discard block |
||
895 | 894 | case SPREADSHEET_EXCEL_READER_TYPE_MULBLANK: |
896 | 895 | break; |
897 | 896 | case SPREADSHEET_EXCEL_READER_TYPE_LABEL: |
898 | - $row = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8; |
|
899 | - $column = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8; |
|
900 | - $this->addcell($row, $column, substr($this->data, $spos + 8, ord($this->data[$spos + 6]) | ord($this->data[$spos + 7])<<8)); |
|
897 | + $row = ord($this->data[$spos]) | ord($this->data[$spos + 1]) << 8; |
|
898 | + $column = ord($this->data[$spos + 2]) | ord($this->data[$spos + 3]) << 8; |
|
899 | + $this->addcell($row, $column, substr($this->data, $spos + 8, ord($this->data[$spos + 6]) | ord($this->data[$spos + 7]) << 8)); |
|
901 | 900 | |
902 | 901 | // $this->addcell(LabelRecord($r)); |
903 | 902 | break; |
@@ -929,7 +928,7 @@ discard block |
||
929 | 928 | function isDate($spos) |
930 | 929 | { |
931 | 930 | //$xfindex = GetInt2d(, 4); |
932 | - $xfindex = ord($this->data[$spos+4]) | ord($this->data[$spos+5]) << 8; |
|
931 | + $xfindex = ord($this->data[$spos + 4]) | ord($this->data[$spos + 5]) << 8; |
|
933 | 932 | //echo 'check is date '.$xfindex.' '.$this->formatRecords['xfrecords'][$xfindex]['type']."\n"; |
934 | 933 | //var_dump($this->formatRecords['xfrecords'][$xfindex]); |
935 | 934 | if ($this->formatRecords['xfrecords'][$xfindex]['type'] == 'date') { |
@@ -940,10 +939,10 @@ discard block |
||
940 | 939 | if ($this->formatRecords['xfrecords'][$xfindex]['type'] == 'number') { |
941 | 940 | $this->curformat = $this->formatRecords['xfrecords'][$xfindex]['format']; |
942 | 941 | $this->rectype = 'number'; |
943 | - if (($xfindex == 0x9) || ($xfindex == 0xa)){ |
|
942 | + if (($xfindex == 0x9) || ($xfindex == 0xa)) { |
|
944 | 943 | $this->multiplier = 100; |
945 | 944 | } |
946 | - }else{ |
|
945 | + } else { |
|
947 | 946 | $this->curformat = $this->_defaultFormat; |
948 | 947 | $this->rectype = 'unknown'; |
949 | 948 | } |
@@ -968,15 +967,15 @@ discard block |
||
968 | 967 | { |
969 | 968 | if ($numValue > 1) { |
970 | 969 | $utcDays = $numValue - ($this->nineteenFour ? SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904 : SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS); |
971 | - $utcValue = round(($utcDays+1) * SPREADSHEET_EXCEL_READER_MSINADAY); |
|
972 | - $string = date ($this->curformat, $utcValue); |
|
970 | + $utcValue = round(($utcDays + 1) * SPREADSHEET_EXCEL_READER_MSINADAY); |
|
971 | + $string = date($this->curformat, $utcValue); |
|
973 | 972 | $raw = $utcValue; |
974 | 973 | } else { |
975 | 974 | $raw = $numValue; |
976 | 975 | $hours = floor($numValue * 24); |
977 | 976 | $mins = floor($numValue * 24 * 60) - $hours * 60; |
978 | 977 | $secs = floor($numValue * SPREADSHEET_EXCEL_READER_MSINADAY) - $hours * 60 * 60 - $mins * 60; |
979 | - $string = date ($this->curformat, mktime($hours, $mins, $secs)); |
|
978 | + $string = date($this->curformat, mktime($hours, $mins, $secs)); |
|
980 | 979 | } |
981 | 980 | |
982 | 981 | return array($string, $raw); |
@@ -988,15 +987,15 @@ discard block |
||
988 | 987 | $rknumlow = $this->_GetInt4d($this->data, $spos + 6); |
989 | 988 | //for ($i=0; $i<8; $i++) { echo ord($this->data[$i+$spos+6]) . " "; } echo "<br>"; |
990 | 989 | $sign = ($rknumhigh & 0x80000000) >> 31; |
991 | - $exp = ($rknumhigh & 0x7ff00000) >> 20; |
|
990 | + $exp = ($rknumhigh & 0x7ff00000) >> 20; |
|
992 | 991 | $mantissa = (0x100000 | ($rknumhigh & 0x000fffff)); |
993 | 992 | $mantissalow1 = ($rknumlow & 0x80000000) >> 31; |
994 | 993 | $mantissalow2 = ($rknumlow & 0x7fffffff); |
995 | - $value = $mantissa / pow( 2 , (20- ($exp - 1023))); |
|
996 | - if ($mantissalow1 != 0) $value += 1 / pow (2 , (21 - ($exp - 1023))); |
|
997 | - $value += $mantissalow2 / pow (2 , (52 - ($exp - 1023))); |
|
994 | + $value = $mantissa / pow(2, (20 - ($exp - 1023))); |
|
995 | + if ($mantissalow1 != 0) $value += 1 / pow(2, (21 - ($exp - 1023))); |
|
996 | + $value += $mantissalow2 / pow(2, (52 - ($exp - 1023))); |
|
998 | 997 | //echo "Sign = $sign, Exp = $exp, mantissahighx = $mantissa, mantissalow1 = $mantissalow1, mantissalow2 = $mantissalow2<br>\n"; |
999 | - if ($sign) {$value = -1 * $value;} |
|
998 | + if ($sign) {$value = -1 * $value; } |
|
1000 | 999 | return $value; |
1001 | 1000 | } |
1002 | 1001 | |
@@ -1036,8 +1035,8 @@ discard block |
||
1036 | 1035 | $sign = ($rknum & 0x80000000) >> 31; |
1037 | 1036 | $exp = ($rknum & 0x7ff00000) >> 20; |
1038 | 1037 | $mantissa = (0x100000 | ($rknum & 0x000ffffc)); |
1039 | - $value = $mantissa / pow( 2 , (20- ($exp - 1023))); |
|
1040 | - if ($sign) {$value = -1 * $value;} |
|
1038 | + $value = $mantissa / pow(2, (20 - ($exp - 1023))); |
|
1039 | + if ($sign) {$value = -1 * $value; } |
|
1041 | 1040 | //end of changes by mmp |
1042 | 1041 | |
1043 | 1042 | } |
@@ -1058,7 +1057,7 @@ discard block |
||
1058 | 1057 | $string = api_convert_encoding($string, $this->_defaultEncoding, $from); |
1059 | 1058 | return $string; |
1060 | 1059 | } |
1061 | - $string = api_convert_encoding($string, $this->_defaultEncoding, 'UTF-16LE'); |
|
1060 | + $string = api_convert_encoding($string, $this->_defaultEncoding, 'UTF-16LE'); |
|
1062 | 1061 | return $string; |
1063 | 1062 | /* |
1064 | 1063 | * Default behaviour |
@@ -1076,10 +1075,10 @@ discard block |
||
1076 | 1075 | |
1077 | 1076 | function _GetInt4d($data, $pos) |
1078 | 1077 | { |
1079 | - $value = ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24); |
|
1080 | - if ($value>=4294967294) |
|
1078 | + $value = ord($data[$pos]) | (ord($data[$pos + 1]) << 8) | (ord($data[$pos + 2]) << 16) | (ord($data[$pos + 3]) << 24); |
|
1079 | + if ($value >= 4294967294) |
|
1081 | 1080 | { |
1082 | - $value=-2; |
|
1081 | + $value = -2; |
|
1083 | 1082 | } |
1084 | 1083 | return $value; |
1085 | 1084 | } |