PluginProbe
Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder / 6.2.4
Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder v6.2.4
6.2.14 6.2.13 6.2.12 6.2.10 6.2.11 6.2.9 6.2.8 6.2.7 6.2.6 6.2.5 6.2.4 6.2.3 6.2.2 3.6.22 3.6.31 3.6.40 3.6.41 3.6.42 3.6.50 3.6.51 3.6.60 3.6.61 3.6.62 3.6.64 3.6.65 All 196 releases
fluentform / app / Services / Spout / Writer / Common / Helper / CellHelper.php

CellHelper.php in Fluent Forms – Customizable Contact Forms, Survey, Quiz, & Conversational Form Builder 6.2.4, at app/Services/Spout/Writer/Common/Helper/CellHelper.php

92 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Box\Spout\Writer\Common\Helper;
4
5 /**
6 * Class CellHelper
7 * This class provides helper functions when working with cells
8 *
9 * @package Box\Spout\Writer\Common\Helper
10 */
11 class CellHelper
12 {
13 /** @var array Cache containing the mapping column index => cell index */
14 private static $columnIndexToCellIndexCache = [];
15
16 /**
17 * Returns the cell index (base 26) associated to the base 10 column index.
18 * Excel uses A to Z letters for column indexing, where A is the 1st column,
19 * Z is the 26th and AA is the 27th.
20 * The mapping is zero based, so that 0 maps to A, B maps to 1, Z to 25 and AA to 26.
21 *
22 * @param int $columnIndex The Excel column index (0, 42, ...)
23 * @return string The associated cell index ('A', 'BC', ...)
24 */
25 public static function getCellIndexFromColumnIndex($columnIndex)
26 {
27 $originalColumnIndex = $columnIndex;
28
29 // Using isset here because it is way faster than array_key_exists...
30 if (!isset(self::$columnIndexToCellIndexCache[$originalColumnIndex])) {
31 $cellIndex = '';
32 $capitalAAsciiValue = ord('A');
33
34 do {
35 $modulus = $columnIndex % 26;
36 $cellIndex = chr($capitalAAsciiValue + $modulus) . $cellIndex;
37
38 // substracting 1 because it's zero-based
39 $columnIndex = intval($columnIndex / 26) - 1;
40
41 } while ($columnIndex >= 0);
42
43 self::$columnIndexToCellIndexCache[$originalColumnIndex] = $cellIndex;
44 }
45
46 return self::$columnIndexToCellIndexCache[$originalColumnIndex];
47 }
48
49 /**
50 * @param $value
51 * @return bool Whether the given value is considered "empty"
52 */
53 public static function isEmpty($value)
54 {
55 return ($value === null || $value === '');
56 }
57
58 /**
59 * @param $value
60 * @return bool Whether the given value is a non empty string
61 */
62 public static function isNonEmptyString($value)
63 {
64 return (gettype($value) === 'string' && $value !== '');
65 }
66
67 /**
68 * Returns whether the given value is numeric.
69 * A numeric value is from type "integer" or "double" ("float" is not returned by gettype).
70 *
71 * @param $value
72 * @return bool Whether the given value is numeric
73 */
74 public static function isNumeric($value)
75 {
76 $valueType = gettype($value);
77 return ($valueType === 'integer' || $valueType === 'double');
78 }
79
80 /**
81 * Returns whether the given value is boolean.
82 * "true"/"false" and 0/1 are not booleans.
83 *
84 * @param $value
85 * @return bool Whether the given value is boolean
86 */
87 public static function isBoolean($value)
88 {
89 return gettype($value) === 'boolean';
90 }
91 }
92