This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | namespace SEOstats\Services; |
||
3 | |||
4 | /** |
||
5 | * SEOstats extension for Social-Media data. |
||
6 | * |
||
7 | * @package SEOstats |
||
8 | * @author Stephan Schmitz <[email protected]> |
||
9 | * @copyright Copyright (c) 2010 - present Stephan Schmitz |
||
10 | * @license http://eyecatchup.mit-license.org/ MIT License |
||
11 | * @updated 2014/01/19 |
||
12 | */ |
||
13 | |||
14 | use SEOstats\SEOstats as SEOstats; |
||
15 | use SEOstats\Config as Config; |
||
16 | use SEOstats\Helper as Helper; |
||
17 | |||
18 | class Social extends SEOstats |
||
19 | { |
||
20 | /** |
||
21 | * For backward compatibility |
||
22 | * @deprecated |
||
23 | */ |
||
24 | public static function getGoogleShares($url = false) { |
||
25 | return self::getGooglePlusShares($url); |
||
0 ignored issues
–
show
|
|||
26 | } |
||
27 | /** |
||
28 | * Returns the total count of +1s for $url on Google+. |
||
29 | * |
||
30 | * @access public |
||
31 | * @param url string The URL to check. |
||
32 | * @return integer Returns the total count of Plus Ones for a URL. |
||
33 | */ |
||
34 | public static function getGooglePlusShares($url = false) |
||
35 | { |
||
36 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getGooglePlusShares() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 36 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
37 | $dataUrl = sprintf(Config\Services::GOOGLE_PLUSONE_URL, urlencode($url)); |
||
38 | $html = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getGooglePlusShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
39 | @preg_match_all('/window\.__SSR\s\=\s\{c:\s(\d+?)\./', $html, $match, PREG_SET_ORDER); |
||
0 ignored issues
–
show
It seems like you do not handle an error condition here. This can introduce security issues, and is generally not recommended.
If you suppress an error, we recommend checking for the error condition explicitly: // For example instead of
@mkdir($dir);
// Better use
if (@mkdir($dir) === false) {
throw new \RuntimeException('The directory '.$dir.' could not be created.');
}
![]() |
|||
40 | |||
41 | return (1 === sizeof($match) && 2 === sizeof($match[0])) ? intval($match[0][1]) : parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getGooglePlusShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
42 | } |
||
43 | |||
44 | /** |
||
45 | * Returns an array of interaction counts (shares, likes, comments, clicks) for $url on Facebook. |
||
46 | * |
||
47 | * @access public |
||
48 | * @link http://developers.facebook.com/docs/reference/fql/link_stat/ |
||
49 | * @param url string The URL to check. |
||
50 | * @return array Returns an array of total counts for 1. all Facebook interactions, |
||
51 | * 2. FB shares, 3. FB likes, 4. FB comments and 5. outgoing clicks for a URL. |
||
52 | */ |
||
53 | View Code Duplication | public static function getFacebookShares($url = false) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
54 | { |
||
55 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getFacebookShares() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 55 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
56 | $fql = sprintf('SELECT total_count, share_count, like_count, comment_count, commentsbox_count, click_count FROM link_stat WHERE url="%s"', $url); |
||
57 | $dataUrl = sprintf(Config\Services::FB_LINKSTATS_URL, rawurlencode($fql)); |
||
58 | |||
59 | $jsonData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getFacebookShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
60 | $phpArray = Helper\Json::decode($jsonData, true); |
||
61 | |||
62 | return isset($phpArray[0]) ? $phpArray[0] : parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getFacebookShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
63 | } |
||
64 | |||
65 | /** |
||
66 | * Returns the total count of mentions of $url on Twitter. |
||
67 | * |
||
68 | * @access public |
||
69 | * @param url string The URL to check. |
||
70 | * @return integer Returns the total count of Twitter mentions for a URL. |
||
71 | * @link https://dev.twitter.com/discussions/5653#comment-11514 |
||
72 | */ |
||
73 | View Code Duplication | public static function getTwitterShares($url = false) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
74 | { |
||
75 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getTwitterShares() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 75 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
76 | $dataUrl = sprintf(Config\Services::TWEETCOUNT_URL, urlencode($url)); |
||
77 | |||
78 | $jsonData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getTwitterShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
79 | $phpArray = Helper\Json::decode($jsonData, true); |
||
80 | |||
81 | return isset($phpArray['count']) ? intval($phpArray['count']) : parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getTwitterShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
82 | } |
||
83 | |||
84 | /** |
||
85 | * Returns the total count of shares for $url via Delicious. |
||
86 | * |
||
87 | * @access public |
||
88 | * @param url string The URL to check. |
||
89 | * @return integer Returns the total count of URL shares. |
||
90 | */ |
||
91 | View Code Duplication | public static function getDeliciousShares($url = false) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
92 | { |
||
93 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getDeliciousShares() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 93 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
94 | $dataUrl = sprintf(Config\Services::DELICIOUS_INFO_URL, urlencode($url)); |
||
95 | |||
96 | $jsonData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getDeliciousShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
97 | $phpArray = Helper\Json::decode($jsonData, true); |
||
98 | |||
99 | return isset($phpArray[0]['total_posts']) ? intval($phpArray[0]['total_posts']) : parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getDeliciousShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
100 | } |
||
101 | |||
102 | /** |
||
103 | * Returns the Top10 tags for $url from Delicious. |
||
104 | * |
||
105 | * @access public |
||
106 | * @param url string The URL to check. |
||
107 | * @return array Returns the top ten delicious tags for a URL (if exist; else an empty array). |
||
108 | */ |
||
109 | public static function getDeliciousTopTags($url = false) |
||
110 | { |
||
111 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getDeliciousTopTags() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 111 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
112 | $dataUrl = sprintf(Config\Services::DELICIOUS_INFO_URL, urlencode($url)); |
||
113 | |||
114 | $jsonData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getDeliciousTopTags() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
115 | $phpArray = Helper\Json::decode($jsonData, true); |
||
116 | |||
117 | $ret = array(); |
||
118 | if (isset($phpArray[0]['top_tags']) && 0 < sizeof($phpArray[0]['top_tags'])) { |
||
119 | foreach($phpArray[0]['top_tags'] as $k => $v) { |
||
120 | $ret[] = $k; |
||
121 | } |
||
122 | } |
||
123 | return $ret; |
||
124 | } |
||
125 | |||
126 | /** |
||
127 | * Returns the total count of shares for $url via Digg. |
||
128 | * |
||
129 | * @access public |
||
130 | * @param url string The URL to check. |
||
131 | * @return integer Returns the total count of URL shares. |
||
132 | */ |
||
133 | View Code Duplication | public static function getDiggShares($url = false) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
134 | { |
||
135 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getDiggShares() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 135 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
136 | $dataUrl = sprintf(Config\Services::DIGG_INFO_URL, urlencode($url)); |
||
137 | |||
138 | $jsonData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getDiggShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
139 | $phpArray = Helper\Json::decode(substr($jsonData, 2, -2), true); |
||
140 | |||
141 | return isset($phpArray['diggs']) ? intval($phpArray['diggs']) : parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getDiggShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
142 | } |
||
143 | |||
144 | /** |
||
145 | * Returns the total count of shares for $url via LinkedIn. |
||
146 | * |
||
147 | * @access public |
||
148 | * @param url string The URL to check. |
||
149 | * @return integer Returns the total count of URL shares. |
||
150 | */ |
||
151 | View Code Duplication | public static function getLinkedInShares($url = false) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
152 | { |
||
153 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getLinkedInShares() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 153 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
154 | $dataUrl = sprintf(Config\Services::LINKEDIN_INFO_URL, urlencode($url)); |
||
155 | |||
156 | $jsonData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getLinkedInShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
157 | $phpArray = Helper\Json::decode(substr($jsonData, 2, -2), true); |
||
158 | |||
159 | return isset($phpArray['count']) ? intval($phpArray['count']) : parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getLinkedInShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
160 | } |
||
161 | |||
162 | /** |
||
163 | * Returns the total count of shares for $url via Pinterest. |
||
164 | * |
||
165 | * @access public |
||
166 | * @param url string The URL to check. |
||
167 | * @return integer Returns the total count of URL shares. |
||
168 | */ |
||
169 | View Code Duplication | public static function getPinterestShares($url = false) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
170 | { |
||
171 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getPinterestShares() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 171 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
172 | $dataUrl = sprintf(Config\Services::PINTEREST_INFO_URL, urlencode($url)); |
||
173 | |||
174 | $jsonData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getPinterestShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
175 | $phpArray = Helper\Json::decode(substr($jsonData, 2, -1), true); |
||
176 | |||
177 | return isset($phpArray['count']) ? intval($phpArray['count']) : parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getPinterestShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
178 | } |
||
179 | |||
180 | /** |
||
181 | * Returns the total count of shares for $url via StumpleUpon. |
||
182 | * |
||
183 | * @access public |
||
184 | * @param url string The URL to check. |
||
185 | * @return integer Returns the total count of URL shares. |
||
186 | */ |
||
187 | public static function getStumbleUponShares($url = false) |
||
188 | { |
||
189 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getStumbleUponShares() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 189 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
190 | $dataUrl = sprintf(Config\Services::STUMBLEUPON_INFO_URL, urlencode($url)); |
||
191 | |||
192 | $jsonData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getStumbleUponShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
193 | $phpArray = Helper\Json::decode($jsonData, true); |
||
194 | |||
195 | return isset($phpArray['result']['in_index']) && true == $phpArray['result']['in_index'] |
||
196 | ? intval($phpArray['result']['views']) : parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getStumbleUponShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
197 | } |
||
198 | |||
199 | /** |
||
200 | * Returns the total count of shares for $url via VKontakte. |
||
201 | * |
||
202 | * @access public |
||
203 | * @param url string The URL to check. |
||
204 | * @return integer Returns the total count of URL shares. |
||
205 | */ |
||
206 | View Code Duplication | public static function getVKontakteShares($url = false) |
|
0 ignored issues
–
show
This method seems to be duplicated in your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
207 | { |
||
208 | $url = parent::getUrl($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getUrl() instead of getVKontakteShares() ). Are you sure this is correct? If so, you might want to change this to $this->getUrl() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parent::getUrl($url) on line 208 can also be of type string ; however, SEOstats\SEOstats::getUrl() does only seem to accept boolean , maybe add an additional type check?
If a method or function can return multiple different values and unless you are sure that you only can receive a single value in this context, we recommend to add an additional type check: /**
* @return array|string
*/
function returnsDifferentValues($x) {
if ($x) {
return 'foo';
}
return array();
}
$x = returnsDifferentValues($y);
if (is_array($x)) {
// $x is an array.
}
If this a common case that PHP Analyzer should handle natively, please let us know by opening an issue. ![]() |
|||
209 | $dataUrl = sprintf(Config\Services::VKONTAKTE_INFO_URL, urlencode($url)); |
||
210 | |||
211 | $htmlData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getVKontakteShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
212 | @preg_match_all('#^VK\.Share\.count\(1, (\d+)\);$#si', $htmlData, $matches); |
||
0 ignored issues
–
show
It seems like you do not handle an error condition here. This can introduce security issues, and is generally not recommended.
If you suppress an error, we recommend checking for the error condition explicitly: // For example instead of
@mkdir($dir);
// Better use
if (@mkdir($dir) === false) {
throw new \RuntimeException('The directory '.$dir.' could not be created.');
}
![]() |
|||
213 | |||
214 | return isset($matches[1][0]) ? intval($matches[1][0]) : parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getVKontakteShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
215 | } |
||
216 | |||
217 | /** |
||
218 | * Returns an array of interaction counts (shares, comments, clicks, reach) for host of $url on Xing. |
||
219 | * |
||
220 | * @access public |
||
221 | * @param url string The URL to check. |
||
222 | * @return array Returns URL shares, comments, clicks and 'reach'. |
||
223 | * @link https://blog.xing.com/2012/01/xing-share-button/ Return values explained (German) |
||
224 | */ |
||
225 | public static function getXingShares($url = false) |
||
226 | { |
||
227 | $host = parent::getHost($url); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
getHost() instead of getXingShares() ). Are you sure this is correct? If so, you might want to change this to $this->getHost() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() It seems like
$url defined by parameter $url on line 225 can also be of type string ; however, SEOstats\SEOstats::getHost() does only seem to accept boolean , maybe add an additional type check?
This check looks at variables that have been passed in as parameters and are passed out again to other methods. If the outgoing method call has stricter type requirements than the method itself, an issue is raised. An additional type check may prevent trouble. ![]() |
|||
228 | $dataUrl = sprintf(Config\Services::XING_SHAREBUTTON_URL, urlencode($host)); |
||
229 | |||
230 | $htmlData = parent::_getPage($dataUrl); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
_getPage() instead of getXingShares() ). Are you sure this is correct? If so, you might want to change this to $this->_getPage() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
231 | @preg_match_all('/\r?\n(\d+)\r?\n/s', $htmlData, $matches); |
||
0 ignored issues
–
show
It seems like you do not handle an error condition here. This can introduce security issues, and is generally not recommended.
If you suppress an error, we recommend checking for the error condition explicitly: // For example instead of
@mkdir($dir);
// Better use
if (@mkdir($dir) === false) {
throw new \RuntimeException('The directory '.$dir.' could not be created.');
}
![]() |
|||
232 | |||
233 | if (isset($matches[1]) && 4 == sizeof($matches[1])) { |
||
234 | return array( |
||
235 | 'shares' => intval($matches[1][0]), |
||
236 | 'comments' => intval($matches[1][1]), |
||
237 | 'clicks' => intval($matches[1][2]), |
||
238 | 'reach' => intval($matches[1][3]), |
||
239 | ); |
||
240 | } |
||
241 | |||
242 | return parent::noDataDefaultValue(); |
||
0 ignored issues
–
show
It seems like you call parent on a different method (
noDataDefaultValue() instead of getXingShares() ). Are you sure this is correct? If so, you might want to change this to $this->noDataDefaultValue() .
This check looks for a call to a parent method whose name is different than the method from which it is called. Consider the following code: class Daddy
{
protected function getFirstName()
{
return "Eidur";
}
protected function getSurName()
{
return "Gudjohnsen";
}
}
class Son
{
public function getFirstName()
{
return parent::getSurname();
}
}
The ![]() |
|||
243 | } |
||
244 | } |
||
245 |
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: