120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
self::toODS(... array_slice(func_get_args(), 1));
}
}
static protected function rowToArray($row, ?callable $row_map_callback)
{
if (null !== $row_map_callback) {
$row = call_user_func($row_map_callback, $row);
}
if (is_object($row) && $row instanceof Entity) {
$row = $row->asArray();
}
elseif (is_object($row)) {
$row = (array) $row;
}
foreach ($row as $key => &$v) {
if (is_object($v)&& $v instanceof \DateTimeInterface) {
$v = $v->format('d/m/Y');
}
elseif (is_object($v) || is_array($v)) {
throw new \UnexpectedValueException(sprintf('Unexpected value for "%s": %s', $key, gettype($v)));
}
}
return $row;
}
|
|
|
<
<
<
|
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
self::toODS(... array_slice(func_get_args(), 1));
}
}
static protected function rowToArray($row, ?callable $row_map_callback)
{
if (null !== $row_map_callback) {
call_user_func_array($row_map_callback, [&$row]);
}
if (is_object($row) && $row instanceof Entity) {
$row = $row->asArray();
}
elseif (is_object($row)) {
$row = (array) $row;
}
foreach ($row as $key => &$v) {
if ((is_object($v) && !($v instanceof \DateTimeInterface)) || is_array($v)) {
throw new \UnexpectedValueException(sprintf('Unexpected value for "%s": %s', $key, gettype($v)));
}
}
return $row;
}
|
156
157
158
159
160
161
162
163
164
165
166
167
168
169
|
if ($header)
{
fputs($fp, self::row($header));
}
foreach ($iterator as $row)
{
$row = self::rowToArray($row, $row_map_callback);
if (!$header)
{
fputs($fp, self::row(array_keys($row)));
$header = true;
}
|
>
>
>
>
>
>
|
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
if ($header)
{
fputs($fp, self::row($header));
}
foreach ($iterator as $row)
{
foreach ($row as $key => &$v) {
if (is_object($v)&& $v instanceof \DateTimeInterface) {
$v = $v->format('d/m/Y');
}
}
$row = self::rowToArray($row, $row_map_callback);
if (!$header)
{
fputs($fp, self::row(array_keys($row)));
$header = true;
}
|