Fix for PHP < 5.2.3
[lhc/web/wiklou.git] / includes / api / ApiQueryExternalLinks.php
index 7ea757a..2c41313 100644 (file)
@@ -30,8 +30,8 @@ if (!defined('MEDIAWIKI')) {
 
 /**
  * A query module to list all external URLs found on a given set of pages.
- * 
- * @addtogroup API
+ *
+ * @ingroup API
  */
 class ApiQueryExternalLinks extends ApiQueryBase {
 
@@ -40,20 +40,22 @@ class ApiQueryExternalLinks extends ApiQueryBase {
        }
 
        public function execute() {
+               if ( $this->getPageSet()->getGoodTitleCount() == 0 )
+                       return;
 
                $this->addFields(array (
                        'el_from',
                        'el_to'
                ));
-               
+
                $this->addTables('externallinks');
                $this->addWhereFld('el_from', array_keys($this->getPageSet()->getGoodTitles()));
 
                $db = $this->getDB();
                $res = $this->select(__METHOD__);
-                       
+
                $data = array();
-               $lastId = 0;    // database has no ID 0 
+               $lastId = 0;    // database has no ID 0
                while ($row = $db->fetchObject($res)) {
                        if ($lastId != $row->el_from) {
                                if($lastId != 0) {
@@ -62,7 +64,7 @@ class ApiQueryExternalLinks extends ApiQueryBase {
                                }
                                $lastId = $row->el_from;
                        }
-                       
+
                        $entry = array();
                        ApiResult :: setContent($entry, $row->el_to);
                        $data[] = $entry;
@@ -75,15 +77,7 @@ class ApiQueryExternalLinks extends ApiQueryBase {
                $db->freeResult($res);
        }
 
-       private function addPageSubItems($pageId, $data) {
-               $result = $this->getResult();
-               $result->setIndexedTagName($data, 'el');
-               $result->addValue(array ('query', 'pages', intval($pageId)),
-                       'extlinks',
-                       $data);
-       }
-
-       protected function getDescription() {
+       public function getDescription() {
                return 'Returns all external urls (not interwikies) from the given page(s)';
        }
 
@@ -98,4 +92,3 @@ class ApiQueryExternalLinks extends ApiQueryBase {
                return __CLASS__ . ': $Id$';
        }
 }
-