Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1431994
Mapped.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
Mapped.php
View Options
<?php
/**
* Parser output with source map
*
* @private
*/
class
Less_Output_Mapped
extends
Less_Output
{
/**
* The source map generator
*
* @var Less_SourceMap_Generator
*/
protected
$generator
;
/**
* Current line
*
* @var int
*/
protected
$lineNumber
=
0
;
/**
* Current column
*
* @var int
*/
protected
$column
=
0
;
/**
* Array of contents map (file and its content)
*
* @var array
*/
protected
$contentsMap
=
[];
/**
* Constructor
*
* @param array $contentsMap Array of filename to contents map
* @param Less_SourceMap_Generator $generator
*/
public
function
__construct
(
array
$contentsMap
,
$generator
)
{
$this
->
contentsMap
=
$contentsMap
;
$this
->
generator
=
$generator
;
}
/**
* Adds a chunk to the stack
* The $index for less.php may be different from less.js since less.php does not chunkify inputs
*
* @param string $chunk
* @param array|null $fileInfo
* @param int $index
* @param bool|null $mapLines
*/
public
function
add
(
$chunk
,
$fileInfo
=
null
,
$index
=
0
,
$mapLines
=
null
)
{
// ignore adding empty strings
if
(
$chunk
===
''
)
{
return
;
}
$sourceLines
=
[];
$sourceColumns
=
' '
;
if
(
$fileInfo
)
{
$url
=
$fileInfo
[
'currentUri'
];
if
(
isset
(
$this
->
contentsMap
[
$url
]
)
)
{
$inputSource
=
substr
(
$this
->
contentsMap
[
$url
],
0
,
$index
);
$sourceLines
=
explode
(
"
\n
"
,
$inputSource
);
$sourceColumns
=
end
(
$sourceLines
);
}
else
{
throw
new
Exception
(
'Filename '
.
$url
.
' not in contentsMap'
);
}
}
$lines
=
explode
(
"
\n
"
,
$chunk
);
$columns
=
end
(
$lines
);
if
(
$fileInfo
)
{
if
(
!
$mapLines
)
{
$this
->
generator
->
addMapping
(
$this
->
lineNumber
+
1
,
// generated_line
$this
->
column
,
// generated_column
count
(
$sourceLines
),
// original_line
strlen
(
$sourceColumns
),
// original_column
$fileInfo
);
}
else
{
for
(
$i
=
0
,
$count
=
count
(
$lines
);
$i
<
$count
;
$i
++
)
{
$this
->
generator
->
addMapping
(
$this
->
lineNumber
+
$i
+
1
,
// generated_line
$i
===
0
?
$this
->
column
:
0
,
// generated_column
count
(
$sourceLines
)
+
$i
,
// original_line
$i
===
0
?
strlen
(
$sourceColumns
)
:
0
,
// original_column
$fileInfo
);
}
}
}
if
(
count
(
$lines
)
===
1
)
{
$this
->
column
+=
strlen
(
$columns
);
}
else
{
$this
->
lineNumber
+=
count
(
$lines
)
-
1
;
$this
->
column
=
strlen
(
$columns
);
}
// add only chunk
parent
::
add
(
$chunk
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 21:19 (1 d, 15 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
08/b1/f6b31061b1a9cb8d17b38e697a52
Default Alt Text
Mapped.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment