projects
/
tweeper.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tweeper.php: make jsonToXml() a static method
[tweeper.git]
/
tweeper.php
diff --git
a/tweeper.php
b/tweeper.php
index
3e250b7
..
f475856
100644
(file)
--- a/
tweeper.php
+++ b/
tweeper.php
@@
-65,6
+65,15
@@
class Tweeper {
}
/**
}
/**
+ * Convert string to UpperCamelCase.
+ */
+ public static function toUpperCamelCase($str, $delim = ' ') {
+ $str_upper = ucwords($str, $delim);
+ $str_camel_case = str_replace($delim, '', $str_upper);
+ return $str_camel_case;
+ }
+
+ /**
* Get the contents from a URL.
*/
private static function getUrlContents($url) {
* Get the contents from a URL.
*/
private static function getUrlContents($url) {
@@
-155,7
+164,7
@@
class Tweeper {
/**
* Mimic the message from libxml.c::php_libxml_ctx_error_level()
*/
/**
* Mimic the message from libxml.c::php_libxml_ctx_error_level()
*/
- private function logXmlError($error) {
+ private
static
function logXmlError($error) {
$output = "";
switch ($error->level) {
$output = "";
switch ($error->level) {
@@
-196,7
+205,7
@@
class Tweeper {
return NULL;
}
return NULL;
}
- $stylesheet_contents =
$this->
getUrlContents($stylesheet);
+ $stylesheet_contents =
Tweeper::
getUrlContents($stylesheet);
$xslDoc = new DOMDocument();
$xslDoc->loadXML($stylesheet_contents);
$xslDoc = new DOMDocument();
$xslDoc->loadXML($stylesheet_contents);
@@
-212,7
+221,7
@@
class Tweeper {
/**
* Convert json to xml.
*/
/**
* Convert json to xml.
*/
- private function jsonToXml($json, $root_node_name) {
+ private
static
function jsonToXml($json, $root_node_name) {
// Apparently the ObjectNormalizer used afterwards is not able to handle
// the stdClass object created by json_decode() with the default setting
// $assoc = false; so use $assoc = true.
// Apparently the ObjectNormalizer used afterwards is not able to handle
// the stdClass object created by json_decode() with the default setting
// $assoc = false; so use $assoc = true.
@@
-243,7
+252,7
@@
class Tweeper {
/**
* Convert the Instagram content to XML.
*/
/**
* Convert the Instagram content to XML.
*/
- private function get
_xml_instagram_c
om($html) {
+ private function get
XmlInstagramC
om($html) {
// Extract the json data from the html code.
$json_match_expr = '/window._sharedData = (.*);/';
$ret = preg_match($json_match_expr, $html, $matches);
// Extract the json data from the html code.
$json_match_expr = '/window._sharedData = (.*);/';
$ret = preg_match($json_match_expr, $html, $matches);
@@
-252,13
+261,13
@@
class Tweeper {
return NULL;
}
return NULL;
}
- return
$this->
jsonToXml($matches[1], 'instagram');
+ return
Tweeper::
jsonToXml($matches[1], 'instagram');
}
/**
* Make the Facebook HTML processable.
*/
}
/**
* Make the Facebook HTML processable.
*/
- private function preprocess
_html_facebook_c
om($html) {
+ private function preprocess
HtmlFacebookC
om($html) {
$html = str_replace('<!--', '', $html);
$html = str_replace('-->', '', $html);
return $html;
$html = str_replace('<!--', '', $html);
$html = str_replace('-->', '', $html);
return $html;
@@
-274,7
+283,7
@@
class Tweeper {
$xml_errors_value = libxml_use_internal_errors(TRUE);
// If there is a host-specific method to get the xml data, use it!
$xml_errors_value = libxml_use_internal_errors(TRUE);
// If there is a host-specific method to get the xml data, use it!
- $get_xml_host_method = 'get
_xml_' . str_replace(".", "_", $host
);
+ $get_xml_host_method = 'get
Xml' . Tweeper::toUpperCamelCase($host, '.'
);
if (method_exists($this, $get_xml_host_method)) {
$xml_data = call_user_func_array(array($this, $get_xml_host_method), array($html));
$xmlDoc->loadXML($xml_data);
if (method_exists($this, $get_xml_host_method)) {
$xml_data = call_user_func_array(array($this, $get_xml_host_method), array($html));
$xmlDoc->loadXML($xml_data);
@@
-284,7
+293,7
@@
class Tweeper {
}
foreach (libxml_get_errors() as $xml_error) {
}
foreach (libxml_get_errors() as $xml_error) {
-
$this->
logXmlError($xml_error);
+
Tweeper::
logXmlError($xml_error);
}
libxml_clear_errors();
libxml_use_internal_errors($xml_errors_value);
}
libxml_clear_errors();
libxml_use_internal_errors($xml_errors_value);
@@
-310,12
+319,12
@@
class Tweeper {
return NULL;
}
return NULL;
}
- $html =
$this->
getUrlContents($src_url);
+ $html =
Tweeper::
getUrlContents($src_url);
if (FALSE === $html) {
return NULL;
}
if (FALSE === $html) {
return NULL;
}
- $preprocess_html_host_method = 'preprocess
_html_' . str_replace(".", "_", $host
);
+ $preprocess_html_host_method = 'preprocess
Html' . Tweeper::toUpperCamelCase($host, '.'
);
if (method_exists($this, $preprocess_html_host_method)) {
$html = call_user_func_array(array($this, $preprocess_html_host_method), array($html));
}
if (method_exists($this, $preprocess_html_host_method)) {
$html = call_user_func_array(array($this, $preprocess_html_host_method), array($html));
}
@@
-413,15
+422,15
@@
function parse_options_query_string() {
if (is_cli()) {
$options = parse_options_cli($argv, $argc);
if (is_cli()) {
$options = parse_options_cli($argv, $argc);
- $
ERROR_STREAM
= fopen('php://stderr', 'w');
+ $
error_stream
= fopen('php://stderr', 'w');
}
else {
$options = parse_options_query_string();
}
else {
$options = parse_options_query_string();
- $
ERROR_STREAM
= fopen('php://output', 'w');
+ $
error_stream
= fopen('php://output', 'w');
}
if (!isset($options['src_url'])) {
}
if (!isset($options['src_url'])) {
- fwrite($
ERROR_STREAM
, usage(is_cli() ? $argv : NULL));
+ fwrite($
error_stream
, usage(is_cli() ? $argv : NULL));
exit(1);
}
exit(1);
}