diff --git a/LinkTitles.body.php b/LinkTitles.body.php index eb826a2..5d712ac 100755 --- a/LinkTitles.body.php +++ b/LinkTitles.body.php @@ -140,18 +140,34 @@ // by length from shortest to longest. // Only titles from 'normal' pages (namespace uid = 0) // are returned. + // Since the db may be sqlite, we need a try..catch structure + // because sqlite does not support the CHAR_LENGTH function. $dbr = wfGetDB( DB_SLAVE ); - $res = $dbr->select( - 'page', - 'page_title', - array( - 'page_namespace = 0', - 'CHAR_LENGTH(page_title) >= ' . $wgLinkTitlesMinimumTitleLength, - 'page_title NOT IN ' . $black_list, - ), - __METHOD__, - array( 'ORDER BY' => 'CHAR_LENGTH(page_title) ' . $sort_order ) - ); + try { + $res = $dbr->select( + 'page', + 'page_title', + array( + 'page_namespace = 0', + 'CHAR_LENGTH(page_title) >= ' . $wgLinkTitlesMinimumTitleLength, + 'page_title NOT IN ' . $black_list, + ), + __METHOD__, + array( 'ORDER BY' => 'CHAR_LENGTH(page_title) ' . $sort_order ) + ); + } catch (Exception $e) { + $res = $dbr->select( + 'page', + 'page_title', + array( + 'page_namespace = 0', + 'LENGTH(page_title) >= ' . $wgLinkTitlesMinimumTitleLength, + 'page_title NOT IN ' . $black_list, + ), + __METHOD__, + array( 'ORDER BY' => 'LENGTH(page_title) ' . $sort_order ) + ); + } // Iterate through the page titles foreach( $res as $row ) { diff --git a/LinkTitles.php b/LinkTitles.php index 48e7053..f906c8e 100755 --- a/LinkTitles.php +++ b/LinkTitles.php @@ -49,7 +49,7 @@ 'name' => 'LinkTitles', 'author' => '[https://www.mediawiki.org/wiki/User:Bovender Daniel Kraus]', 'url' => 'https://www.mediawiki.org/wiki/Extension:LinkTitles', - 'version' => '2.2.0', + 'version' => '2.2.1', 'descriptionmsg' => 'linktitles-desc' ); diff --git a/NEWS b/NEWS index 988ac56..6be9591 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +LinkTitles 2.2.1: 2013-07-22 +* Make the extension work with sqlite databases. + LinkTitles 2.2.0: 2013-04-16 * Fix case-sensitive linking when $wgCapitalLinks is false. diff --git a/release/LinkTitles-2.2.1.tar.gz b/release/LinkTitles-2.2.1.tar.gz new file mode 100644 index 0000000..db82d6c Binary files /dev/null and b/release/LinkTitles-2.2.1.tar.gz differ