Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (2)
vlc/releases/3.0.0: bold some highlights
· 0eec4430
Simon Latapie
authored
Feb 09, 2018
0eec4430
Revert "Replace ereg* by preg functions"
· c57522cb
Simon Latapie
authored
Feb 09, 2018
This reverts commit
717fbc7e
.
c57522cb
Hide whitespace changes
Inline
Side-by-side
www.videolan.org/include/magpierss/rss_parse.inc
View file @
c57522cb
<?php
<?php
/**
* Project: MagpieRSS: a simple RSS integration tool
* File: rss_parse.inc - parse an RSS or Atom feed
* return as a simple object.
*
* Handles RSS 0.9x, RSS 2.0, RSS 1.0, and Atom 0.3
*
* The lastest version of MagpieRSS can be obtained from:
* http://magpierss.sourceforge.net
*
* For questions, help, comments, discussion, etc., please join the
* Magpie mailing list:
* magpierss-general@lists.sourceforge.net
*
* @author Kellan Elliott-McCrea <kellan@protest.net>
* @version 0.7a
* @license GPL
*
*/
/**
* Project: MagpieRSS: a simple RSS integration tool
* File: rss_parse.inc - parse an RSS or Atom feed
* return as a simple object.
*
* Handles RSS 0.9x, RSS 2.0, RSS 1.0, and Atom 0.3
*
* The lastest version of MagpieRSS can be obtained from:
* http://magpierss.sourceforge.net
*
* For questions, help, comments, discussion, etc., please join the
* Magpie mailing list:
* magpierss-general@lists.sourceforge.net
*
* @author Kellan Elliott-McCrea <kellan@protest.net>
* @version 0.7a
* @license GPL
*
*/
define
(
'RSS'
,
'RSS'
);
define
(
'ATOM'
,
'Atom'
);
define
(
'RSS'
,
'RSS'
);
define
(
'ATOM'
,
'Atom'
);
require_once
(
MAGPIE_DIR
.
'rss_utils.inc'
);
require_once
(
MAGPIE_DIR
.
'rss_utils.inc'
);
/**
* Hybrid parser, and object, takes RSS as a string and returns a simple object.
*
* see: rss_fetch.inc for a simpler interface with integrated caching support
*
*/
class
MagpieRSS
{
var
$parser
;
var
$current_item
=
array
();
// item currently being parsed
var
$items
=
array
();
// collection of parsed items
var
$channel
=
array
();
// hash of channel fields
var
$textinput
=
array
();
var
$image
=
array
();
var
$feed_type
;
var
$feed_version
;
var
$encoding
=
''
;
// output encoding of parsed rss
var
$_source_encoding
=
''
;
// only set if we have to parse xml prolog
var
$ERROR
=
""
;
var
$WARNING
=
""
;
// define some constants
var
$_CONTENT_CONSTRUCTS
=
array
(
'content'
,
'summary'
,
'info'
,
'title'
,
'tagline'
,
'copyright'
);
var
$_KNOWN_ENCODINGS
=
array
(
'UTF-8'
,
'US-ASCII'
,
'ISO-8859-1'
);
/**
* Hybrid parser, and object, takes RSS as a string and returns a simple object.
*
* see: rss_fetch.inc for a simpler interface with integrated caching support
*
*/
class
MagpieRSS
{
var
$parser
;
var
$current_item
=
array
();
// item currently being parsed
var
$items
=
array
();
// collection of parsed items
var
$channel
=
array
();
// hash of channel fields
var
$textinput
=
array
();
var
$image
=
array
();
var
$feed_type
;
var
$feed_version
;
var
$encoding
=
''
;
// output encoding of parsed rss
var
$_source_encoding
=
''
;
// only set if we have to parse xml prolog
var
$ERROR
=
""
;
var
$WARNING
=
""
;
// define some constants
var
$_CONTENT_CONSTRUCTS
=
array
(
'content'
,
'summary'
,
'info'
,
'title'
,
'tagline'
,
'copyright'
);
var
$_KNOWN_ENCODINGS
=
array
(
'UTF-8'
,
'US-ASCII'
,
'ISO-8859-1'
);
// parser variables, useless if you're not a parser, treat as private
var
$stack
=
array
();
// parser stack
var
$inchannel
=
false
;
var
$initem
=
false
;
var
$incontent
=
false
;
// if in Atom <content mode="xml"> field
var
$intextinput
=
false
;
var
$inimage
=
false
;
var
$current_namespace
=
false
;
// parser variables, useless if you're not a parser, treat as private
var
$stack
=
array
();
// parser stack
var
$inchannel
=
false
;
var
$initem
=
false
;
var
$incontent
=
false
;
// if in Atom <content mode="xml"> field
var
$intextinput
=
false
;
var
$inimage
=
false
;
var
$current_namespace
=
false
;
/**
* Set up XML parser, parse source, and return populated RSS object..
*
* @param string $source string containing the RSS to be parsed
*
* NOTE: Probably a good idea to leave the encoding options alone unless
* you know what you're doing as PHP's character set support is
* a little weird.
*
* NOTE: A lot of this is unnecessary but harmless with PHP5
*
*
* @param string $output_encoding output the parsed RSS in this character
* set defaults to ISO-8859-1 as this is PHP's
* default.
*
* NOTE: might be changed to UTF-8 in future
* versions.
*
* @param string $input_encoding the character set of the incoming RSS source.
* Leave blank and Magpie will try to figure it
* out.
*
*
* @param bool $detect_encoding if false Magpie won't attempt to detect
* source encoding. (caveat emptor)
*
*/
function
MagpieRSS
(
$source
,
$output_encoding
=
'ISO-8859-1'
,
$input_encoding
=
null
,
$detect_encoding
=
true
)
{
# if PHP xml isn't compiled in, die
#
if (!function_exists('xml_parser_create')) {
$this
->
error
(
"Failed to load PHP's XML Extension. "
.
"http://www.php.net/manual/en/ref.xml.php"
,
E_USER_ERROR
);
}
list
(
$parser
,
$source
)
=
$this
->
create_parser
(
$source
,
$output_encoding
,
$input_encoding
,
$detect_encoding
);
if
(
!
is_resource
(
$parser
))
{
$this
->
error
(
"Failed to create an instance of PHP's XML parser. "
.
"http://www.php.net/manual/en/ref.xml.php"
,
E_USER_ERROR
);
}
/**
* Set up XML parser, parse source, and return populated RSS object..
*
* @param string $source string containing the RSS to be parsed
*
* NOTE: Probably a good idea to leave the encoding options alone unless
* you know what you're doing as PHP's character set support is
* a little weird.
*
* NOTE: A lot of this is unnecessary but harmless with PHP5
*
*
* @param string $output_encoding output the parsed RSS in this character
* set defaults to ISO-8859-1 as this is PHP's
* default.
*
* NOTE: might be changed to UTF-8 in future
* versions.
*
* @param string $input_encoding the character set of the incoming RSS source.
* Leave blank and Magpie will try to figure it
* out.
*
*
* @param bool $detect_encoding if false Magpie won't attempt to detect
* source encoding. (caveat emptor)
*
*/
function
MagpieRSS
(
$source
,
$output_encoding
=
'ISO-8859-1'
,
$input_encoding
=
null
,
$detect_encoding
=
true
)
{
# if PHP xml isn't compiled in, die
#
if (!function_exists('xml_parser_create')) {
$this
->
error
(
"Failed to load PHP's XML Extension. "
.
"http://www.php.net/manual/en/ref.xml.php"
,
E_USER_ERROR
);
}
list
(
$parser
,
$source
)
=
$this
->
create_parser
(
$source
,
$output_encoding
,
$input_encoding
,
$detect_encoding
);
if
(
!
is_resource
(
$parser
))
{
$this
->
error
(
"Failed to create an instance of PHP's XML parser. "
.
"http://www.php.net/manual/en/ref.xml.php"
,
E_USER_ERROR
);
}
$this
->
parser
=
$parser
;
# pass in parser, and a reference to this object
# setup handlers
#
xml_set_object( $this->parser, $this );
xml_set_element_handler
(
$this
->
parser
,
'feed_start_element'
,
'feed_end_element'
);
xml_set_character_data_handler
(
$this
->
parser
,
'feed_cdata'
);
$status
=
xml_parse
(
$this
->
parser
,
$source
);
if
(
!
$status
)
{
$errorcode
=
xml_get_error_code
(
$this
->
parser
);
if
(
$errorcode
!=
XML_ERROR_NONE
)
{
$xml_error
=
xml_error_string
(
$errorcode
);
$error_line
=
xml_get_current_line_number
(
$this
->
parser
);
$error_col
=
xml_get_current_column_number
(
$this
->
parser
);
$errormsg
=
"
$xml_error
at line
$error_line
, column
$error_col
"
;
$this
->
parser
=
$parser
;
# pass in parser, and a reference to this object
# setup handlers
#
xml_set_object( $this->parser, $this );
xml_set_element_handler
(
$this
->
parser
,
'feed_start_element'
,
'feed_end_element'
);
xml_set_character_data_handler
(
$this
->
parser
,
'feed_cdata'
);
$status
=
xml_parse
(
$this
->
parser
,
$source
);
if
(
!
$status
)
{
$errorcode
=
xml_get_error_code
(
$this
->
parser
);
if
(
$errorcode
!=
XML_ERROR_NONE
)
{
$xml_error
=
xml_error_string
(
$errorcode
);
$error_line
=
xml_get_current_line_number
(
$this
->
parser
);
$error_col
=
xml_get_current_column_number
(
$this
->
parser
);
$errormsg
=
"
$xml_error
at line
$error_line
, column
$error_col
"
;
$this
->
error
(
$errormsg
);
}
}
xml_parser_free
(
$this
->
parser
);
$this
->
error
(
$errormsg
);
}
}
xml_parser_free
(
$this
->
parser
);
$this
->
normalize
();
}
function
feed_start_element
(
$p
,
$element
,
&
$attrs
)
{
$el
=
$element
=
strtolower
(
$element
);
$attrs
=
array_change_key_case
(
$attrs
,
CASE_LOWER
);
// check for a namespace, and split if found
$ns
=
false
;
if
(
strpos
(
$element
,
':'
)
)
{
list
(
$ns
,
$el
)
=
preg_
split
(
':'
,
$element
,
2
);
}
$this
->
normalize
();
}
function
feed_start_element
(
$p
,
$element
,
&
$attrs
)
{
$el
=
$element
=
strtolower
(
$element
);
$attrs
=
array_change_key_case
(
$attrs
,
CASE_LOWER
);
// check for a namespace, and split if found
$ns
=
false
;
if
(
strpos
(
$element
,
':'
)
)
{
list
(
$ns
,
$el
)
=
split
(
':'
,
$element
,
2
);
}
if
(
$ns
and
$ns
!=
'rdf'
)
{
$this
->
current_namespace
=
$ns
;
}
...
...
www.videolan.org/include/news.php
View file @
c57522cb
...
...
@@ -40,13 +40,13 @@
while
(
!
feof
(
$file
)
)
{
$line
=
p
reg_replace
(
"
\n
"
,
""
,
fgets
(
$file
,
4096
));
$line
=
e
reg_replace
(
"
\n
"
,
""
,
fgets
(
$file
,
4096
));
// Comments are allowed
if
(
!
p
reg
_match
(
"^ *#"
,
$line
)
&&
!
p
reg
_match
(
"^ *$"
,
$line
)
)
if
(
!
e
reg
(
"^ *#"
,
$line
)
&&
!
e
reg
(
"^ *$"
,
$line
)
)
{
// Topics start with "|"
if
(
p
reg
_match
(
"^ *\|"
,
$line
)
&&
$msg
)
if
(
e
reg
(
"^ *\|"
,
$line
)
&&
$msg
)
{
$ex
=
explode
(
"|"
,
$msg
);
$date
=
$ex
[
1
];
...
...
www.videolan.org/news-rss.php
View file @
c57522cb
...
...
@@ -25,13 +25,13 @@
while
(
!
feof
(
$file
)
)
{
$line
=
p
reg_replace
(
"
\n
"
,
""
,
fgets
(
$file
,
4096
));
$line
=
e
reg_replace
(
"
\n
"
,
""
,
fgets
(
$file
,
4096
));
// Comments are allowed
if
(
!
p
reg
_match
(
"^ *#"
,
$line
)
&&
!
p
reg
_match
(
"^ *$"
,
$line
)
)
if
(
!
e
reg
(
"^ *#"
,
$line
)
&&
!
e
reg
(
"^ *$"
,
$line
)
)
{
// Topics start with "|"
if
(
p
reg
_match
(
"^ *\|"
,
$line
)
&&
$msg
)
if
(
e
reg
(
"^ *\|"
,
$line
)
&&
$msg
)
{
$ex
=
explode
(
"|"
,
$msg
);
$date
=
$ex
[
1
];
...
...
www.videolan.org/videolan/team/index.php
View file @
c57522cb
...
...
@@ -33,10 +33,10 @@ part with '@'. </p>
global
$count
,
$file
;
if
(
$count
>=
count
(
$file
)
)
return
(
''
);
$line
=
p
reg_replace
(
"
\n
"
,
''
,
$file
[
$count
]);
$line
=
e
reg_replace
(
"
\n
"
,
''
,
$file
[
$count
]);
$count
++
;
if
(
p
reg
_match
(
'^[ #]+'
,
$line
)
)
return
(
''
);
if
(
e
reg
(
'^[ #]+'
,
$line
)
)
return
(
''
);
return
htmlspecialchars
(
$line
);
}
...
...
@@ -103,7 +103,7 @@ part with '@'. </p>
$handle
=
opendir
(
'.'
);
while
(
false
!=
(
$f
=
readdir
(
$handle
)))
{
if
(
p
reg
_match
(
"AUTHORS.vlc"
,
$f
))
{
if
(
e
reg
(
"AUTHORS.vlc"
,
$f
))
{
$file
=
file
(
$f
);
foreach
(
$file
as
$line
)
{
?>
<p>
<?php
...
...
@@ -111,7 +111,7 @@ part with '@'. </p>
?>
</p>
<?php
}
}
else
if
(
p
reg
_match
(
"AUTHORS"
,
$f
))
{
else
if
(
e
reg
(
"AUTHORS"
,
$f
))
{
parselist
(
substr
(
$f
,
8
));
}
}
...
...
www.videolan.org/vlc/releases/3.0.0.php
View file @
c57522cb
...
...
@@ -204,17 +204,17 @@
<div
class=
"col-sm-6"
>
<ul>
<li
style=
"padding-bottom: 8px;"
>
VLC 3.0 "Vetinari" is a new major update of VLC.
</li>
<li>
VLC 3.0 activates hardware decoding by default, to get
<a
href=
"https://vimeo.com/254723528"
>
4K and 8K playback!
</a></li>
<li>
It supports 10bits and
HDR
</li>
<li>
VLC supports 360 video and 3D audio, up to Ambisoncics 3rd order
</li>
<li>
VLC 3.0 activates
<b>
hardware decoding
</b>
by default, to get
<a
href=
"https://vimeo.com/254723528"
>
4K and 8K playback!
</a></li>
<li>
It supports
<b>
10bits
</b>
and
<b>
HDR
</b>
</li>
<li>
VLC supports
<b>
360 video
</b>
and
<b>
3D audio
</b>
, up to Ambisoncics 3rd order
</li>
</ul>
</div>
<div
class=
"col-sm-6"
>
<ul>
<li>
Allows passthrough for HD audio codecs
</li>
<li>
Can stream to Chromecast devices, even in formats not supported natively
</li>
<li>
Can play Blu-Ray Java menus: BD-J
</li>
<li>
VLC supports browsing of local network drives and NAS
</li>
<li>
Allows
<b>
audio
passthrough
</b>
for HD audio codecs
</li>
<li>
Can stream to
<b>
Chromecast
</b>
devices, even in formats not supported natively
</li>
<li>
Can play
<b>
Blu-Ray Java menus
</b>
: BD-J
</li>
<li>
VLC supports browsing of
<b>
local network
</b>
drives and NAS
</li>
<div
class=
"feat-margin-left extra-info-link2 padding-top pull-right"
>
Read the
<a
href=
"/developers/vlc-branch/NEWS"
/>
Changelog
</a>
.
</div>
</ul>
</div>
...
...