Umherirrender has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/349753 )

Change subject: Fix bad newlines
......................................................................

Fix bad newlines

Removed \r from files

Change-Id: Id465281a21cc0a98153eed94cbd72fadfb3b28a0
---
M MsCatSelect.css
M MsCatSelect.i18n.php
M MsCatSelect.js
M MsCatSelect.php
M README.md
5 files changed, 515 insertions(+), 515 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MsCatSelect 
refs/changes/53/349753/1

diff --git a/MsCatSelect.css b/MsCatSelect.css
index 9763616..2789e3a 100755
--- a/MsCatSelect.css
+++ b/MsCatSelect.css
@@ -1,138 +1,138 @@
-#MsCatSelect {
-       width: 98%;
-       padding: .5em;
-       background: #ddd;
-       margin: 5px 0px;
-       clear: both;
-}
-
-#MsCatSelect div.row {
-       vertical-align: middle;
-       padding: 5px;
-}
-
-#MsCatSelect .row2 {
-       clear: both;
-}
-
-#MsCatSelect .row1 .subcat {
-       float: left;
-}
-
-#MsCatSelect .label {
-       font-weight: bold;
-       margin-right: 10px;
-}
-
-#MsCatSelect .maincat {
-       float: left;
-}
-
-#MsCatSelect .chzn-container {
-       float: left;
-}
-
-#MsCatSelect .row1 select {
-       float: left;
-}
-
-#MsCatSelect .chzn-container-single .chzn-single span {
-       text-overflow: clip;
-}
-
-#MsCatSelect .addcat {
-       background: #d8d8d8; /* Old browsers */
-       background: -moz-linear-gradient(top, #d8d8d8 20%, #d3d3d3 50%, #bfbfbf 
52%, #cecece 100%); /* FF3.6+ */
-       background: -webkit-gradient(linear, left top, left bottom, 
color-stop(20%,#d8d8d8), color-stop(50%,#d3d3d3), color-stop(52%,#bfbfbf), 
color-stop(100%,#cecece)); /* Chrome,Safari4+ */
-       background: -webkit-linear-gradient(top, #d8d8d8 20%,#d3d3d3 
50%,#bfbfbf 52%,#cecece 100%); /* Chrome10+,Safari5.1+ */
-       background: -o-linear-gradient(top, #d8d8d8 20%,#d3d3d3 50%,#bfbfbf 
52%,#cecece 100%); /* Opera 11.10+ */
-       background: -ms-linear-gradient(top, #d8d8d8 20%,#d3d3d3 50%,#bfbfbf 
52%,#cecece 100%); /* IE10+ */
-       background: linear-gradient(to bottom, #d8d8d8 20%,#d3d3d3 50%,#bfbfbf 
52%,#cecece 100%); /* W3C */
-       filter: progid:DXImageTransform.Microsoft.gradient( 
startColorstr='#d8d8d8', endColorstr='#cecece',GradientType=0 ); /* IE6-9 */
-       -webkit-border-radius: 5px;
-       -moz-border-radius: 5px;
-       border-radius: 5px;
-       -moz-background-clip: padding;
-       -webkit-background-clip: padding-box;
-       background-clip: padding-box;
-       border: 1px solid #aaaaaa;
-       -webkit-box-shadow: 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
-       -moz-box-shadow: 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
-       box-shadow: 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
-       display: inline-block;
-       position: relative;
-       height: 20px;
-       line-height: 22px;
-       padding: 1px 8px 2px 8px;
-       color: #444444;
-       text-decoration: none;
-       margin-left: 10px;
-       cursor: pointer;
-}
-
-#MsCatSelect .row1 .addcat {
-       float: left;
-}
-
-#MsCatSelect .addcat:hover {
-       color: #000000;
-       border: 1px solid #5897FB;
-}
-
-#MsCatSelect .node, #MsCatSelect .no-node {
-       background: url('images/node.png') no-repeat 8px 5px;
-       padding: 12px 15px;
-       float: left;
-}
-
-#MsCatSelect .no-node {
-       background: url('images/node-no.png') no-repeat 8px 5px;
-}
-
-#MsCatSelect .subcat-dd select {
-       background: transparent;
-       border: 0;
-}
-
-#MsCatSelect .row2 input {
-       padding: 3px; 
-       outline: none; 
-       background: #eeeeee; /* Old browsers */
-       background: -moz-linear-gradient(top, #eeeeee 0%, #ffffff 23%); /* 
FF3.6+ */
-       background: -webkit-gradient(linear, left top, left bottom, 
color-stop(0%,#eeeeee), color-stop(23%,#ffffff)); /* Chrome,Safari4+ */
-       background: -webkit-linear-gradient(top, #eeeeee 0%,#ffffff 23%); /* 
Chrome10+,Safari5.1+ */
-       background: -o-linear-gradient(top, #eeeeee 0%,#ffffff 23%); /* Opera 
11.10+ */
-       background: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 23%); /* IE10+ 
*/
-       background: linear-gradient(to bottom, #eeeeee 0%,#ffffff 23%); /* W3C 
*/
-       filter: progid:DXImageTransform.Microsoft.gradient( 
startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
-       -webkit-border-radius: 3px; 
-       -moz-border-radius: 3px; 
-       border-radius: 3px; 
-       border: 1px solid #aaaaaa;
-}
-
-#MsCatSelect .untercat-hinw {
-       margin-left: 10px;
-       color: #aaaaaa;
-}
-
-#MsCatSelect .row3 .label {
-       margin-bottom: 8px;
-       display: block;
-}
-
-#WarnNoCat {
-       padding: .5em 0em;
-       color: red;
-       font-size: 1.35em;
-}
-
-#MsCatSelect #mscs-added .img-sortkey {
-       background: url('images/sortkey.png') no-repeat 0px 0px;
-       height: 5px;
-       width: 10px;
-       padding: 0px 6px 0px 6px;
-       position: relative; 
-       left: 4px;
-       cursor: pointer;
+#MsCatSelect {
+       width: 98%;
+       padding: .5em;
+       background: #ddd;
+       margin: 5px 0px;
+       clear: both;
+}
+
+#MsCatSelect div.row {
+       vertical-align: middle;
+       padding: 5px;
+}
+
+#MsCatSelect .row2 {
+       clear: both;
+}
+
+#MsCatSelect .row1 .subcat {
+       float: left;
+}
+
+#MsCatSelect .label {
+       font-weight: bold;
+       margin-right: 10px;
+}
+
+#MsCatSelect .maincat {
+       float: left;
+}
+
+#MsCatSelect .chzn-container {
+       float: left;
+}
+
+#MsCatSelect .row1 select {
+       float: left;
+}
+
+#MsCatSelect .chzn-container-single .chzn-single span {
+       text-overflow: clip;
+}
+
+#MsCatSelect .addcat {
+       background: #d8d8d8; /* Old browsers */
+       background: -moz-linear-gradient(top, #d8d8d8 20%, #d3d3d3 50%, #bfbfbf 
52%, #cecece 100%); /* FF3.6+ */
+       background: -webkit-gradient(linear, left top, left bottom, 
color-stop(20%,#d8d8d8), color-stop(50%,#d3d3d3), color-stop(52%,#bfbfbf), 
color-stop(100%,#cecece)); /* Chrome,Safari4+ */
+       background: -webkit-linear-gradient(top, #d8d8d8 20%,#d3d3d3 
50%,#bfbfbf 52%,#cecece 100%); /* Chrome10+,Safari5.1+ */
+       background: -o-linear-gradient(top, #d8d8d8 20%,#d3d3d3 50%,#bfbfbf 
52%,#cecece 100%); /* Opera 11.10+ */
+       background: -ms-linear-gradient(top, #d8d8d8 20%,#d3d3d3 50%,#bfbfbf 
52%,#cecece 100%); /* IE10+ */
+       background: linear-gradient(to bottom, #d8d8d8 20%,#d3d3d3 50%,#bfbfbf 
52%,#cecece 100%); /* W3C */
+       filter: progid:DXImageTransform.Microsoft.gradient( 
startColorstr='#d8d8d8', endColorstr='#cecece',GradientType=0 ); /* IE6-9 */
+       -webkit-border-radius: 5px;
+       -moz-border-radius: 5px;
+       border-radius: 5px;
+       -moz-background-clip: padding;
+       -webkit-background-clip: padding-box;
+       background-clip: padding-box;
+       border: 1px solid #aaaaaa;
+       -webkit-box-shadow: 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
+       -moz-box-shadow: 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
+       box-shadow: 0 0 3px #ffffff inset, 0 1px 1px rgba(0,0,0,0.1);
+       display: inline-block;
+       position: relative;
+       height: 20px;
+       line-height: 22px;
+       padding: 1px 8px 2px 8px;
+       color: #444444;
+       text-decoration: none;
+       margin-left: 10px;
+       cursor: pointer;
+}
+
+#MsCatSelect .row1 .addcat {
+       float: left;
+}
+
+#MsCatSelect .addcat:hover {
+       color: #000000;
+       border: 1px solid #5897FB;
+}
+
+#MsCatSelect .node, #MsCatSelect .no-node {
+       background: url('images/node.png') no-repeat 8px 5px;
+       padding: 12px 15px;
+       float: left;
+}
+
+#MsCatSelect .no-node {
+       background: url('images/node-no.png') no-repeat 8px 5px;
+}
+
+#MsCatSelect .subcat-dd select {
+       background: transparent;
+       border: 0;
+}
+
+#MsCatSelect .row2 input {
+       padding: 3px; 
+       outline: none; 
+       background: #eeeeee; /* Old browsers */
+       background: -moz-linear-gradient(top, #eeeeee 0%, #ffffff 23%); /* 
FF3.6+ */
+       background: -webkit-gradient(linear, left top, left bottom, 
color-stop(0%,#eeeeee), color-stop(23%,#ffffff)); /* Chrome,Safari4+ */
+       background: -webkit-linear-gradient(top, #eeeeee 0%,#ffffff 23%); /* 
Chrome10+,Safari5.1+ */
+       background: -o-linear-gradient(top, #eeeeee 0%,#ffffff 23%); /* Opera 
11.10+ */
+       background: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 23%); /* IE10+ 
*/
+       background: linear-gradient(to bottom, #eeeeee 0%,#ffffff 23%); /* W3C 
*/
+       filter: progid:DXImageTransform.Microsoft.gradient( 
startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
+       -webkit-border-radius: 3px; 
+       -moz-border-radius: 3px; 
+       border-radius: 3px; 
+       border: 1px solid #aaaaaa;
+}
+
+#MsCatSelect .untercat-hinw {
+       margin-left: 10px;
+       color: #aaaaaa;
+}
+
+#MsCatSelect .row3 .label {
+       margin-bottom: 8px;
+       display: block;
+}
+
+#WarnNoCat {
+       padding: .5em 0em;
+       color: red;
+       font-size: 1.35em;
+}
+
+#MsCatSelect #mscs-added .img-sortkey {
+       background: url('images/sortkey.png') no-repeat 0px 0px;
+       height: 5px;
+       width: 10px;
+       padding: 0px 6px 0px 6px;
+       position: relative; 
+       left: 4px;
+       cursor: pointer;
 }
\ No newline at end of file
diff --git a/MsCatSelect.i18n.php b/MsCatSelect.i18n.php
index 01ae099..54b6441 100755
--- a/MsCatSelect.i18n.php
+++ b/MsCatSelect.i18n.php
@@ -1,35 +1,35 @@
-<?php
-/**
- * This is a backwards-compatibility shim, generated by:
- * 
https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
- *
- * Beginning with MediaWiki 1.23, translation strings are stored in json files,
- * and the EXTENSION.i18n.php file only exists to provide compatibility with
- * older releases of MediaWiki. For more information about this migration, see:
- * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
- *
- * This shim maintains compatibility back to MediaWiki 1.17.
- */
-$messages = array();
-if ( !function_exists( 'wfJsonI18nShim9fab6f3c40c10f09' ) ) {
-       function wfJsonI18nShim9fab6f3c40c10f09( $cache, $code, &$cachedData ) {
-               $codeSequence = array_merge( array( $code ), 
$cachedData['fallbackSequence'] );
-               foreach ( $codeSequence as $csCode ) {
-                       $fileName = dirname( __FILE__ ) . 
"/extensions/MsCatSelect/i18n/$csCode.json";
-                       if ( is_readable( $fileName ) ) {
-                               $data = FormatJson::decode( file_get_contents( 
$fileName ), true );
-                               foreach ( array_keys( $data ) as $key ) {
-                                       if ( $key === '' || $key[0] === '@' ) {
-                                               unset( $data[$key] );
-                                       }
-                               }
-                               $cachedData['messages'] = array_merge( $data, 
$cachedData['messages'] );
-                       }
-
-                       $cachedData['deps'][] = new FileDependency( $fileName );
-               }
-               return true;
-       }
-
-       $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 
'wfJsonI18nShim9fab6f3c40c10f09';
+<?php
+/**
+ * This is a backwards-compatibility shim, generated by:
+ * 
https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
+ *
+ * Beginning with MediaWiki 1.23, translation strings are stored in json files,
+ * and the EXTENSION.i18n.php file only exists to provide compatibility with
+ * older releases of MediaWiki. For more information about this migration, see:
+ * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
+ *
+ * This shim maintains compatibility back to MediaWiki 1.17.
+ */
+$messages = array();
+if ( !function_exists( 'wfJsonI18nShim9fab6f3c40c10f09' ) ) {
+       function wfJsonI18nShim9fab6f3c40c10f09( $cache, $code, &$cachedData ) {
+               $codeSequence = array_merge( array( $code ), 
$cachedData['fallbackSequence'] );
+               foreach ( $codeSequence as $csCode ) {
+                       $fileName = dirname( __FILE__ ) . 
"/extensions/MsCatSelect/i18n/$csCode.json";
+                       if ( is_readable( $fileName ) ) {
+                               $data = FormatJson::decode( file_get_contents( 
$fileName ), true );
+                               foreach ( array_keys( $data ) as $key ) {
+                                       if ( $key === '' || $key[0] === '@' ) {
+                                               unset( $data[$key] );
+                                       }
+                               }
+                               $cachedData['messages'] = array_merge( $data, 
$cachedData['messages'] );
+                       }
+
+                       $cachedData['deps'][] = new FileDependency( $fileName );
+               }
+               return true;
+       }
+
+       $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = 
'wfJsonI18nShim9fab6f3c40c10f09';
 }
\ No newline at end of file
diff --git a/MsCatSelect.js b/MsCatSelect.js
index e4cd039..7230404 100755
--- a/MsCatSelect.js
+++ b/MsCatSelect.js
@@ -1,264 +1,264 @@
-mediaWiki.api = new mediaWiki.Api();
-var selectedCat = '';
-var latestDropDown = '';
-var chosenDropDown = true;
-
-function mscsGetUncategorizedCats( dd ) {
-       mediaWiki.api.get({
-               'format': 'json',
-               'action': 'query',
-               'list': 'querypage',
-               'qppage': 'Uncategorizedcategories',
-               'qplimit': 500
-    }).done( function( data ) {
-               mediaWiki.log( data );
-               if ( data && data.query && data.query.querypage ) {
-                       // Success!
-                       jQuery.each( data.query.querypage.results, function( 
index, val ) {
-                               jQuery( '<option/>', { value: index + 1, text: 
val.value.replace( /_/g, ' ' ) } ).appendTo( dd );
-                       });
-                       if ( chosenDropDown ) {
-                               dd.chosen( { disableSearchThreshold: 6 } );
-                               jQuery( '#mscs_dd_0_chzn' ).width( dd.width() + 
20 );
-                       }
-               } else if ( data && data.error ) {
-                       mediaWiki.log( 'Error: API returned error code "' + 
data.error.code + '": ' + data.error.info );
-               } else {
-                       mediaWiki.log( 'Error: Unknown result from API.' );
-               }
-       });
-}
-
-function mscsGetSubcats( maincat, ebene, container ) {
-       mediaWiki.api.get({
-               'format': 'json',
-        'action': 'query',
-        'list': 'categorymembers',
-        'cmtitle': 'Category:' + maincat,
-        'cmtype': 'subcat',
-        'cmlimit': 'max'
-       }).done( function( data ) {
-               mediaWiki.log( data );
-               if ( data && data.query && data.query.categorymembers ) {
-                       // Success!
-                       if ( data.query.categorymembers.length > 0 ) {
-                               jQuery( '<div/>' ).attr( 'class', 'node' 
).prependTo( container );
-                               var dd = mscsCreateDropDown( selectedCat, ebene 
+ 1 ).appendTo( container );
-                               jQuery( '<div/>' ).attr( 'id', 'mscs_subcat_' + 
( ebene + 1 ) ).attr( 'class', 'subcat' ).appendTo( container );
-
-                               jQuery.each( data.query.categorymembers, 
function( index, val ) {
-                                       var listElement = val.title.split( ':', 
2 );
-                                       jQuery( '<option/>', { value: index + 
1, text: listElement[1] } ).appendTo( dd );
-                               });
-                               if ( chosenDropDown ) {
-                                       dd.chosen({ disableSearchThreshold: 6 
});
-                                       jQuery( '#mscs_dd_' + ( ebene + 1 ) + 
'_chzn' ).width( dd.width() + 20 );
-                               }
-                       } else { //no subcats
-                               jQuery( '<div/>' ).attr( 'class', 'no-node' 
).prependTo( jQuery( '#mscs_subcat_' + ebene ) );
-                       }
-               } else if ( data && data.error ) {
-                       mediaWiki.log( 'Error: API returned error code "' + 
data.error.code + '": ' + data.error.info );
-               } else {
-                       mediaWiki.log( 'Error: Unknown result from API.' );
-               }
-       });
-}
-
-function mscsCreateDropDown( maincat, ebene ) {
-       var dd = jQuery( '<select/>' ).attr( 'id', 'mscs_dd_' + ebene ).change( 
function () {
-               var container = jQuery( '#mscs_subcat_' + ebene ).empty();
-
-               if ( jQuery( this ).val() !== '0' ) { //not ---
-                       selectedCat = jQuery( 'option:selected', this ).text();
-                       mscsGetSubcats( selectedCat, ebene, container );
-               } else if ( ebene === 0 ) { //--- and nothing
-                       selectedCat = ''; //Fall back to the previous category, 
if any
-               } else {
-                       selectedCat = jQuery( '#MsCatSelect 
option:selected:eq(' + ( ebene - 1 ) + ')' ).text();
-               }
-       });
-
-       jQuery( '<option/>', { value: '0', text: '---' } ).appendTo( dd );
-
-       if ( ebene === 0 && maincat === '' ) { //first dd
-               if ( mscsVars.MainCategories === null ) {
-                       mscsGetUncategorizedCats( dd );
-               } else {
-                       jQuery.each( mscsVars.MainCategories, function( 
ddIndex, ddValue ) {
-                               jQuery( '<option/>', { value: ddIndex + 1, 
text: ddValue } ).appendTo( dd );
-                       });
-               }
-       }       
-       return dd;
-}
-
-function mscsAddCat( newCat, newSortkey ) {
-       if ( newCat !== '---' && jQuery( '#mscs-added .mscs_entry[category="' + 
newCat + '"]' ).length === 0 ) {
-
-               if ( newSortkey === '' ) {
-                       newSortkey = wgTitle; // Standard sortkey is the page 
title
-               }
-
-        var entry = jQuery( '<div/>' ).attr({
-                       'class': 'mscs_entry',
-                       'category': newCat,
-                       'sortkey': newSortkey
-        }).text( newCat ).appendTo( jQuery( '#mscs-added' ) );
-
-        jQuery( '<input/>' ).attr({
-                       'class': 'mscs_checkbox',
-                       'type': 'checkbox',
-                       'name': 'SelectCategoryList[]',
-                       'value': newCat + '|' + newSortkey,
-                       'checked': true
-        }).prependTo( entry );
-
-               jQuery( '<span/>' ).attr( 'class', 'img-sortkey' ).attr( 
'title', newSortkey ).click( function() {
-                       var userInput = prompt( unescape( mediaWiki.msg( 
'mscs-sortkey' ) ), jQuery( this ).attr( 'title' ) );
-                       if ( userInput !== '' && userInput !== null && 
userInput !== newSortkey ) {
-                               var sortkey = userInput;
-                               mediaWiki.log( sortkey );
-                               entry.attr( 'sortkey', sortkey );
-                               entry.children( '.mscs_checkbox' ).attr( 
'value', newCat + '|' + sortkey ); 
-                               jQuery( this ).attr( 'title', sortkey );
-                       }
-               }).appendTo( entry );
-       }
-}
-
-function mscsGetPageCats( pageId ) {
-       //api.php?action=query&titles=Albert%20Einstein&prop=categories
-       mediaWiki.api.get({
-               'format': 'json',
-               'action': 'query',
-               'titles': mediaWiki.config.get( 'wgPageName' ),
-               'prop': 'categories',
-               'clprop': 'sortkey'
-       }).done( function( data ) {
-               mediaWiki.log( data );
-               if ( data && data.query && data.query.pages && 
data.query.pages[ pageId ] ) {
-                       // Success!
-                       if ( data.query.pages[ pageId ].categories ) {
-                               
mediaWiki.log(data.query.pages[pageId].categories[0].title);
-                               jQuery.each( data.query.pages[ pageId 
].categories, function( index, value ) {
-                                       var titles = value.title.split( ':', 2 
);
-                                       mscsAddCat( titles[1], 
value.sortkeyprefix );
-                               });
-                       } else {
-                               mediaWiki.log( 'No subcategories' );
-                       }
-           } else if ( data && data.error ) {
-               mediaWiki.log( 'Error: API returned error code "' + 
data.error.code + '": ' + data.error.info );
-           } else {
-               mediaWiki.log( 'Error: Unknown result from API.' );
-           }
-       });
-}
-
-function mscsCreateNewCat( newCat, oldCat ) {
-       var catContent, catTitle;
-
-       if ( oldCat === '' ) {
-               catContent = '';
-       } else {
-               catContent = '[[' + mediaWiki.config.get( 
'wgFormattedNamespaces' )[14] + ':' + oldCat + ']]';
-       }
-
-       catTitle = mediaWiki.config.get( 'wgFormattedNamespaces' )[14] + ':' + 
newCat;
-
-       mediaWiki.api.post({
-               'action': 'edit',
-               'title': catTitle,
-               'section': 'new',
-               //'summary': 'MsCatSelect',
-               'text': catContent,
-               'token': mediaWiki.user.tokens.get( 'editToken' ),
-               'createonly': true,
-               'format': 'json'
-       }).done( function( data ) {
-               mediaWiki.log( data );
-               if ( data && data.edit && data.edit.result === 'Success' ) {
-                       alert( mediaWiki.msg( 'mscs-created' ) );
-                       jQuery( '#MsCatSelect #newCatInput' ).val( '' );
-
-                       var createdCat = data.edit.title.split( ':', 2 ); 
//mediaWiki macht ersten Buchstaben groß
-                       //mediaWiki.log( latestDropDown );
-                       var ddNext = jQuery( '#mscs_dd_' + ( latestDropDown + 1 
) );
-
-                       jQuery( '<option/>', { value: 99, text: createdCat[1] } 
).appendTo( ddNext );
-                       jQuery( '#mscs_subcat_' + latestDropDown + ' .node' 
).removeClass( 'no-node' );
-                       if ( chosenDropDown ) {
-                               ddNext.chosen(); //wenn dropdown noch nicht 
existiert
-                               ddNext.trigger( 'liszt:updated' );
-                       }
-                       mscsAddCat( createdCat[1], '' );
-               } else if ( data && data.error ) {
-                       mediaWiki.log( 'Error: API returned error code "' + 
data.error.code + '": ' + data.error.info );
-                       if ( data.error.code === 'articleexists' ) {
-                               alert( data.error.info );
-                               jQuery( '#MsCatSelect #newCatInput' ).val( '' );
-                       }
-               } else {
-                       mediaWiki.log( 'Error: Unknown result from API.' );
-               }
-       });
-}
-
-function mscsCreateArea() {
-
-       var mscsDiv = jQuery( '<div/>' ).attr( 'id', 'MsCatSelect' 
).insertBefore( '.editButtons' ); 
-
-       var row1 = jQuery( '<div/>' ).attr( 'class', 'row row1' ).appendTo( 
mscsDiv );
-       var row2 = jQuery( '<div/>' ).attr( 'class', 'row row2' ).appendTo( 
mscsDiv );
-       var row3 = jQuery( '<div/>' ).attr( 'class', 'row row3' ).appendTo( 
mscsDiv );
-
-       jQuery( '<span/>' ).attr( 'class','label maincat' ).text( 
mediaWiki.msg( 'mscs-title' ) ).appendTo( row1 );
-
-       mscsCreateDropDown( '', 0 ).appendTo( row1 );
-
-       if ( mscsVars.MainCategories !== null && chosenDropDown ) {
-               jQuery( '#mscs_dd_0' ).chosen();
-               //jQuery( '.chzn-container' ).css( 'width', '+=10' );
-        //jQuery( '.chzn-drop' ).css( 'width', '+=10' );
-       }
-
-       jQuery( '<div/>' ).attr( 'id', 'mscs_subcat_0' ).attr( 'class', 
'subcat' ).appendTo( row1 );
-
-       jQuery( '<div/>' ).attr( 'id', 'mscs_add' ).attr( 'class', 'addcat' 
).click( function() {
-               mscsAddCat( selectedCat, '' );
-       }).text( mediaWiki.msg( 'mscs-add' ) ).appendTo( row1 );
-
-       jQuery( '<span/>' ).attr( 'class', 'label' ).text( mediaWiki.msg( 
'mscs-untercat' ) ).appendTo( row2 );
-       var newCatInput = jQuery( '<input/>' ).attr( 'class', 'input' ).attr( 
'type', 'text' ).attr( 'id', 'newCatInput' ).attr( 'size', '30' ).appendTo( 
row2 );
-       jQuery( '<div/>' ).attr( 'id', 'mscs_add_untercat' ).attr( 'class', 
'addcat' ).click( function() {
-
-               mscsCreateNewCat( newCatInput.val(), selectedCat );
-
-       }).text( mediaWiki.msg( 'mscs-go' ) ).appendTo( row2 );
-
-       jQuery( '<span/>' ).attr( 'class', 'untercat-hinw' ).text( '(' + 
mediaWiki.msg( 'mscs-untercat-hinw' ) + ')' ).appendTo( row2 );
-       jQuery( '<span/>' ).attr( 'class', 'label' ).text( mediaWiki.msg( 
'mscs-cats' ) ).appendTo( row3 ); 
-       jQuery( '<div/>' ).attr( 'id', 'mscs-added' ).appendTo( row3 );
-
-       mscsGetPageCats( mediaWiki.config.get( 'wgArticleId' ) );
-}
-
-function mscsCheckCategories() {
-       if ( mscsVars.WarnNoCategories === true &&
-                jQuery( '#mscs-added input[type="checkbox"]:checked' ).length 
=== 0 &&
-                jQuery.inArray( mw.config.get( 'wgNamespaceNumber' ), 
mscsVars.WarnNoCategoriesException ) === -1 &&
-                jQuery.inArray( mw.config.get( 'wgRelevantPageName' ), 
mscsVars.WarnNoCategoriesException ) === -1
-       ) {
-               return confirm( mediaWiki.msg( 'mscs-warnnocat' ) );
-       }
-       return true;
-}
-
-jQuery( function () {
-       chosenDropDown = true ? mscsVars.UseNiceDropdown : false;
-
-       mscsCreateArea();
-
-       jQuery( '#editform' ).submit( mscsCheckCategories );
+mediaWiki.api = new mediaWiki.Api();
+var selectedCat = '';
+var latestDropDown = '';
+var chosenDropDown = true;
+
+function mscsGetUncategorizedCats( dd ) {
+       mediaWiki.api.get({
+               'format': 'json',
+               'action': 'query',
+               'list': 'querypage',
+               'qppage': 'Uncategorizedcategories',
+               'qplimit': 500
+    }).done( function( data ) {
+               mediaWiki.log( data );
+               if ( data && data.query && data.query.querypage ) {
+                       // Success!
+                       jQuery.each( data.query.querypage.results, function( 
index, val ) {
+                               jQuery( '<option/>', { value: index + 1, text: 
val.value.replace( /_/g, ' ' ) } ).appendTo( dd );
+                       });
+                       if ( chosenDropDown ) {
+                               dd.chosen( { disableSearchThreshold: 6 } );
+                               jQuery( '#mscs_dd_0_chzn' ).width( dd.width() + 
20 );
+                       }
+               } else if ( data && data.error ) {
+                       mediaWiki.log( 'Error: API returned error code "' + 
data.error.code + '": ' + data.error.info );
+               } else {
+                       mediaWiki.log( 'Error: Unknown result from API.' );
+               }
+       });
+}
+
+function mscsGetSubcats( maincat, ebene, container ) {
+       mediaWiki.api.get({
+               'format': 'json',
+        'action': 'query',
+        'list': 'categorymembers',
+        'cmtitle': 'Category:' + maincat,
+        'cmtype': 'subcat',
+        'cmlimit': 'max'
+       }).done( function( data ) {
+               mediaWiki.log( data );
+               if ( data && data.query && data.query.categorymembers ) {
+                       // Success!
+                       if ( data.query.categorymembers.length > 0 ) {
+                               jQuery( '<div/>' ).attr( 'class', 'node' 
).prependTo( container );
+                               var dd = mscsCreateDropDown( selectedCat, ebene 
+ 1 ).appendTo( container );
+                               jQuery( '<div/>' ).attr( 'id', 'mscs_subcat_' + 
( ebene + 1 ) ).attr( 'class', 'subcat' ).appendTo( container );
+
+                               jQuery.each( data.query.categorymembers, 
function( index, val ) {
+                                       var listElement = val.title.split( ':', 
2 );
+                                       jQuery( '<option/>', { value: index + 
1, text: listElement[1] } ).appendTo( dd );
+                               });
+                               if ( chosenDropDown ) {
+                                       dd.chosen({ disableSearchThreshold: 6 
});
+                                       jQuery( '#mscs_dd_' + ( ebene + 1 ) + 
'_chzn' ).width( dd.width() + 20 );
+                               }
+                       } else { //no subcats
+                               jQuery( '<div/>' ).attr( 'class', 'no-node' 
).prependTo( jQuery( '#mscs_subcat_' + ebene ) );
+                       }
+               } else if ( data && data.error ) {
+                       mediaWiki.log( 'Error: API returned error code "' + 
data.error.code + '": ' + data.error.info );
+               } else {
+                       mediaWiki.log( 'Error: Unknown result from API.' );
+               }
+       });
+}
+
+function mscsCreateDropDown( maincat, ebene ) {
+       var dd = jQuery( '<select/>' ).attr( 'id', 'mscs_dd_' + ebene ).change( 
function () {
+               var container = jQuery( '#mscs_subcat_' + ebene ).empty();
+
+               if ( jQuery( this ).val() !== '0' ) { //not ---
+                       selectedCat = jQuery( 'option:selected', this ).text();
+                       mscsGetSubcats( selectedCat, ebene, container );
+               } else if ( ebene === 0 ) { //--- and nothing
+                       selectedCat = ''; //Fall back to the previous category, 
if any
+               } else {
+                       selectedCat = jQuery( '#MsCatSelect 
option:selected:eq(' + ( ebene - 1 ) + ')' ).text();
+               }
+       });
+
+       jQuery( '<option/>', { value: '0', text: '---' } ).appendTo( dd );
+
+       if ( ebene === 0 && maincat === '' ) { //first dd
+               if ( mscsVars.MainCategories === null ) {
+                       mscsGetUncategorizedCats( dd );
+               } else {
+                       jQuery.each( mscsVars.MainCategories, function( 
ddIndex, ddValue ) {
+                               jQuery( '<option/>', { value: ddIndex + 1, 
text: ddValue } ).appendTo( dd );
+                       });
+               }
+       }       
+       return dd;
+}
+
+function mscsAddCat( newCat, newSortkey ) {
+       if ( newCat !== '---' && jQuery( '#mscs-added .mscs_entry[category="' + 
newCat + '"]' ).length === 0 ) {
+
+               if ( newSortkey === '' ) {
+                       newSortkey = wgTitle; // Standard sortkey is the page 
title
+               }
+
+        var entry = jQuery( '<div/>' ).attr({
+                       'class': 'mscs_entry',
+                       'category': newCat,
+                       'sortkey': newSortkey
+        }).text( newCat ).appendTo( jQuery( '#mscs-added' ) );
+
+        jQuery( '<input/>' ).attr({
+                       'class': 'mscs_checkbox',
+                       'type': 'checkbox',
+                       'name': 'SelectCategoryList[]',
+                       'value': newCat + '|' + newSortkey,
+                       'checked': true
+        }).prependTo( entry );
+
+               jQuery( '<span/>' ).attr( 'class', 'img-sortkey' ).attr( 
'title', newSortkey ).click( function() {
+                       var userInput = prompt( unescape( mediaWiki.msg( 
'mscs-sortkey' ) ), jQuery( this ).attr( 'title' ) );
+                       if ( userInput !== '' && userInput !== null && 
userInput !== newSortkey ) {
+                               var sortkey = userInput;
+                               mediaWiki.log( sortkey );
+                               entry.attr( 'sortkey', sortkey );
+                               entry.children( '.mscs_checkbox' ).attr( 
'value', newCat + '|' + sortkey ); 
+                               jQuery( this ).attr( 'title', sortkey );
+                       }
+               }).appendTo( entry );
+       }
+}
+
+function mscsGetPageCats( pageId ) {
+       //api.php?action=query&titles=Albert%20Einstein&prop=categories
+       mediaWiki.api.get({
+               'format': 'json',
+               'action': 'query',
+               'titles': mediaWiki.config.get( 'wgPageName' ),
+               'prop': 'categories',
+               'clprop': 'sortkey'
+       }).done( function( data ) {
+               mediaWiki.log( data );
+               if ( data && data.query && data.query.pages && 
data.query.pages[ pageId ] ) {
+                       // Success!
+                       if ( data.query.pages[ pageId ].categories ) {
+                               
mediaWiki.log(data.query.pages[pageId].categories[0].title);
+                               jQuery.each( data.query.pages[ pageId 
].categories, function( index, value ) {
+                                       var titles = value.title.split( ':', 2 
);
+                                       mscsAddCat( titles[1], 
value.sortkeyprefix );
+                               });
+                       } else {
+                               mediaWiki.log( 'No subcategories' );
+                       }
+           } else if ( data && data.error ) {
+               mediaWiki.log( 'Error: API returned error code "' + 
data.error.code + '": ' + data.error.info );
+           } else {
+               mediaWiki.log( 'Error: Unknown result from API.' );
+           }
+       });
+}
+
+function mscsCreateNewCat( newCat, oldCat ) {
+       var catContent, catTitle;
+
+       if ( oldCat === '' ) {
+               catContent = '';
+       } else {
+               catContent = '[[' + mediaWiki.config.get( 
'wgFormattedNamespaces' )[14] + ':' + oldCat + ']]';
+       }
+
+       catTitle = mediaWiki.config.get( 'wgFormattedNamespaces' )[14] + ':' + 
newCat;
+
+       mediaWiki.api.post({
+               'action': 'edit',
+               'title': catTitle,
+               'section': 'new',
+               //'summary': 'MsCatSelect',
+               'text': catContent,
+               'token': mediaWiki.user.tokens.get( 'editToken' ),
+               'createonly': true,
+               'format': 'json'
+       }).done( function( data ) {
+               mediaWiki.log( data );
+               if ( data && data.edit && data.edit.result === 'Success' ) {
+                       alert( mediaWiki.msg( 'mscs-created' ) );
+                       jQuery( '#MsCatSelect #newCatInput' ).val( '' );
+
+                       var createdCat = data.edit.title.split( ':', 2 ); 
//mediaWiki macht ersten Buchstaben groß
+                       //mediaWiki.log( latestDropDown );
+                       var ddNext = jQuery( '#mscs_dd_' + ( latestDropDown + 1 
) );
+
+                       jQuery( '<option/>', { value: 99, text: createdCat[1] } 
).appendTo( ddNext );
+                       jQuery( '#mscs_subcat_' + latestDropDown + ' .node' 
).removeClass( 'no-node' );
+                       if ( chosenDropDown ) {
+                               ddNext.chosen(); //wenn dropdown noch nicht 
existiert
+                               ddNext.trigger( 'liszt:updated' );
+                       }
+                       mscsAddCat( createdCat[1], '' );
+               } else if ( data && data.error ) {
+                       mediaWiki.log( 'Error: API returned error code "' + 
data.error.code + '": ' + data.error.info );
+                       if ( data.error.code === 'articleexists' ) {
+                               alert( data.error.info );
+                               jQuery( '#MsCatSelect #newCatInput' ).val( '' );
+                       }
+               } else {
+                       mediaWiki.log( 'Error: Unknown result from API.' );
+               }
+       });
+}
+
+function mscsCreateArea() {
+
+       var mscsDiv = jQuery( '<div/>' ).attr( 'id', 'MsCatSelect' 
).insertBefore( '.editButtons' ); 
+
+       var row1 = jQuery( '<div/>' ).attr( 'class', 'row row1' ).appendTo( 
mscsDiv );
+       var row2 = jQuery( '<div/>' ).attr( 'class', 'row row2' ).appendTo( 
mscsDiv );
+       var row3 = jQuery( '<div/>' ).attr( 'class', 'row row3' ).appendTo( 
mscsDiv );
+
+       jQuery( '<span/>' ).attr( 'class','label maincat' ).text( 
mediaWiki.msg( 'mscs-title' ) ).appendTo( row1 );
+
+       mscsCreateDropDown( '', 0 ).appendTo( row1 );
+
+       if ( mscsVars.MainCategories !== null && chosenDropDown ) {
+               jQuery( '#mscs_dd_0' ).chosen();
+               //jQuery( '.chzn-container' ).css( 'width', '+=10' );
+        //jQuery( '.chzn-drop' ).css( 'width', '+=10' );
+       }
+
+       jQuery( '<div/>' ).attr( 'id', 'mscs_subcat_0' ).attr( 'class', 
'subcat' ).appendTo( row1 );
+
+       jQuery( '<div/>' ).attr( 'id', 'mscs_add' ).attr( 'class', 'addcat' 
).click( function() {
+               mscsAddCat( selectedCat, '' );
+       }).text( mediaWiki.msg( 'mscs-add' ) ).appendTo( row1 );
+
+       jQuery( '<span/>' ).attr( 'class', 'label' ).text( mediaWiki.msg( 
'mscs-untercat' ) ).appendTo( row2 );
+       var newCatInput = jQuery( '<input/>' ).attr( 'class', 'input' ).attr( 
'type', 'text' ).attr( 'id', 'newCatInput' ).attr( 'size', '30' ).appendTo( 
row2 );
+       jQuery( '<div/>' ).attr( 'id', 'mscs_add_untercat' ).attr( 'class', 
'addcat' ).click( function() {
+
+               mscsCreateNewCat( newCatInput.val(), selectedCat );
+
+       }).text( mediaWiki.msg( 'mscs-go' ) ).appendTo( row2 );
+
+       jQuery( '<span/>' ).attr( 'class', 'untercat-hinw' ).text( '(' + 
mediaWiki.msg( 'mscs-untercat-hinw' ) + ')' ).appendTo( row2 );
+       jQuery( '<span/>' ).attr( 'class', 'label' ).text( mediaWiki.msg( 
'mscs-cats' ) ).appendTo( row3 ); 
+       jQuery( '<div/>' ).attr( 'id', 'mscs-added' ).appendTo( row3 );
+
+       mscsGetPageCats( mediaWiki.config.get( 'wgArticleId' ) );
+}
+
+function mscsCheckCategories() {
+       if ( mscsVars.WarnNoCategories === true &&
+                jQuery( '#mscs-added input[type="checkbox"]:checked' ).length 
=== 0 &&
+                jQuery.inArray( mw.config.get( 'wgNamespaceNumber' ), 
mscsVars.WarnNoCategoriesException ) === -1 &&
+                jQuery.inArray( mw.config.get( 'wgRelevantPageName' ), 
mscsVars.WarnNoCategoriesException ) === -1
+       ) {
+               return confirm( mediaWiki.msg( 'mscs-warnnocat' ) );
+       }
+       return true;
+}
+
+jQuery( function () {
+       chosenDropDown = true ? mscsVars.UseNiceDropdown : false;
+
+       mscsCreateArea();
+
+       jQuery( '#editform' ).submit( mscsCheckCategories );
 });
\ No newline at end of file
diff --git a/MsCatSelect.php b/MsCatSelect.php
index 56b7989..d0e898e 100755
--- a/MsCatSelect.php
+++ b/MsCatSelect.php
@@ -1,44 +1,44 @@
-<?php
-
-$wgExtensionCredits['parserhook'][] = array(
-       'name' => 'MsCatSelect',
-       'url' => 'https://www.mediawiki.org/wiki/Extension:MsCatSelect',
-       'version' => '6.1',
-       'descriptionmsg' => 'mscs-desc',
-       'license-name' => 'GPL-2.0+',
-       'author' => array( '[mailto:[email protected] Martin Schwindl]', 
'[mailto:[email protected] Martin Keyler]', 
'[https://www.mediawiki.org/wiki/User:Luis_Felipe_Schenone Luis Felipe 
Schenone]' ),
-);
-
-$wgResourceModules['ext.MsCatSelect'] = array(
-       'scripts' => 'MsCatSelect.js',
-       'styles' => 'MsCatSelect.css',
-       'messages' => array(
-               'mscs-title',
-               'mscs-untercat',
-               'mscs-untercat-hinw',
-               'mscs-warnnocat',
-               'mscs-cats',
-               'mscs-add',
-               'mscs-go',
-               'mscs-created',
-               'mscs-sortkey'
-       ),
-       'dependencies' => 'jquery.chosen',
-       'localBasePath' => __DIR__,
-       'remoteExtPath' => 'MsCatSelect'
-);
-
-$wgExtensionMessagesFiles['MsCatSelect'] = __DIR__ . '/MsCatSelect.i18n.php';
-$wgMessagesDirs['MsCatSelect'] = __DIR__ . '/i18n';
-
-$wgAutoloadClasses['MsCatSelect'] = __DIR__ . '/MsCatSelect.body.php';
-
-$wgHooks['EditPage::showEditForm:initial'][] = 'MsCatSelect::start';
-$wgHooks['EditPage::showEditForm:initial'][] = 'MsCatSelect::showHook';
-$wgHooks['EditPage::attemptSave'][] = 'MsCatSelect::saveHook';
-
-// Default configuration
-$wgMSCS_MainCategories = null;
-$wgMSCS_UseNiceDropdown = true;
-$wgMSCS_WarnNoCategories = true;
+<?php
+
+$wgExtensionCredits['parserhook'][] = array(
+       'name' => 'MsCatSelect',
+       'url' => 'https://www.mediawiki.org/wiki/Extension:MsCatSelect',
+       'version' => '6.1',
+       'descriptionmsg' => 'mscs-desc',
+       'license-name' => 'GPL-2.0+',
+       'author' => array( '[mailto:[email protected] Martin Schwindl]', 
'[mailto:[email protected] Martin Keyler]', 
'[https://www.mediawiki.org/wiki/User:Luis_Felipe_Schenone Luis Felipe 
Schenone]' ),
+);
+
+$wgResourceModules['ext.MsCatSelect'] = array(
+       'scripts' => 'MsCatSelect.js',
+       'styles' => 'MsCatSelect.css',
+       'messages' => array(
+               'mscs-title',
+               'mscs-untercat',
+               'mscs-untercat-hinw',
+               'mscs-warnnocat',
+               'mscs-cats',
+               'mscs-add',
+               'mscs-go',
+               'mscs-created',
+               'mscs-sortkey'
+       ),
+       'dependencies' => 'jquery.chosen',
+       'localBasePath' => __DIR__,
+       'remoteExtPath' => 'MsCatSelect'
+);
+
+$wgExtensionMessagesFiles['MsCatSelect'] = __DIR__ . '/MsCatSelect.i18n.php';
+$wgMessagesDirs['MsCatSelect'] = __DIR__ . '/i18n';
+
+$wgAutoloadClasses['MsCatSelect'] = __DIR__ . '/MsCatSelect.body.php';
+
+$wgHooks['EditPage::showEditForm:initial'][] = 'MsCatSelect::start';
+$wgHooks['EditPage::showEditForm:initial'][] = 'MsCatSelect::showHook';
+$wgHooks['EditPage::attemptSave'][] = 'MsCatSelect::saveHook';
+
+// Default configuration
+$wgMSCS_MainCategories = null;
+$wgMSCS_UseNiceDropdown = true;
+$wgMSCS_WarnNoCategories = true;
 $wgMSCS_WarnNoCategoriesException = array();
\ No newline at end of file
diff --git a/README.md b/README.md
index 7738d50..1cccea3 100755
--- a/README.md
+++ b/README.md
@@ -1,39 +1,39 @@
-MsCatSelect
-===========
-MsCatSelect is a MediaWiki extension that provides a visual interface to the 
edit form for adding or removing categories to a page.
-
-Installation
-------------
-To install MsCatSelect, add the following to your LocalSettings.php:
-
-require_once "$IP/extensions/MsCatSelect/MsCatSelect.php";
-
-Usage
------
-Once the extension is installed, edit a page and scroll to the bottom to see 
the visual interface for adding or removing categories. Select the categories 
you want from the dropdown menus and save the changes to add the page to those 
categories.
-
-Configuration
--------------
-$wgMSCS_WarnNoCategories = false; // Defaults to 'true'
-
-$wgMSCS_WarnNoCategoriesException = array( NS_TALK, NS_FILE, NS_FILE_TALK ); 
// Defaults to an empty array
-
-$wgMSCS_MainCategories = array( 'Category1', 'Category2' ); // Defaults to 
'null'
-
-$wgGroupPermissions['*']['apihighlimits'] = true; // By default, regular users 
will be shown a maximum of 500 subcategories. With this set to true, all 
subcategories will be shown.
-
-Credits
--------
-* Developed and coded by Martin Schwindl ([email protected])
-* Idea, project management and bug fixing by Martin Keyler 
([email protected])
-* Updated, debugged and enhanced by Luis Felipe Schenone ([email protected])
-* Some icons by Yusuke Kamiyamane (http://p.yusukekamiyamane.com). All rights 
reserved. Licensed under a Creative Commons Attribution 3.0 License.
-
-Chosen, a Select Box Enhancer for jQuery and Protoype
-by Patrick Filler for Harvest
-Available for use under the MIT License
-Copyright (c) 2011-2013 by Harvest
-Permission is hereby granted, free of charge, to any person obtaining a copy 
of this software and associated documentation files (the "Software"), to deal 
in the Software without restriction, including without limitation the rights to 
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 
of the Software, and to permit persons to whom the Software is furnished to do 
so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in all 
copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
+MsCatSelect
+===========
+MsCatSelect is a MediaWiki extension that provides a visual interface to the 
edit form for adding or removing categories to a page.
+
+Installation
+------------
+To install MsCatSelect, add the following to your LocalSettings.php:
+
+require_once "$IP/extensions/MsCatSelect/MsCatSelect.php";
+
+Usage
+-----
+Once the extension is installed, edit a page and scroll to the bottom to see 
the visual interface for adding or removing categories. Select the categories 
you want from the dropdown menus and save the changes to add the page to those 
categories.
+
+Configuration
+-------------
+$wgMSCS_WarnNoCategories = false; // Defaults to 'true'
+
+$wgMSCS_WarnNoCategoriesException = array( NS_TALK, NS_FILE, NS_FILE_TALK ); 
// Defaults to an empty array
+
+$wgMSCS_MainCategories = array( 'Category1', 'Category2' ); // Defaults to 
'null'
+
+$wgGroupPermissions['*']['apihighlimits'] = true; // By default, regular users 
will be shown a maximum of 500 subcategories. With this set to true, all 
subcategories will be shown.
+
+Credits
+-------
+* Developed and coded by Martin Schwindl ([email protected])
+* Idea, project management and bug fixing by Martin Keyler 
([email protected])
+* Updated, debugged and enhanced by Luis Felipe Schenone ([email protected])
+* Some icons by Yusuke Kamiyamane (http://p.yusukekamiyamane.com). All rights 
reserved. Licensed under a Creative Commons Attribution 3.0 License.
+
+Chosen, a Select Box Enhancer for jQuery and Protoype
+by Patrick Filler for Harvest
+Available for use under the MIT License
+Copyright (c) 2011-2013 by Harvest
+Permission is hereby granted, free of charge, to any person obtaining a copy 
of this software and associated documentation files (the "Software"), to deal 
in the Software without restriction, including without limitation the rights to 
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 
of the Software, and to permit persons to whom the Software is furnished to do 
so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all 
copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
 http://harvesthq.github.com/chosen/
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/349753
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id465281a21cc0a98153eed94cbd72fadfb3b28a0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MsCatSelect
Gerrit-Branch: master
Gerrit-Owner: Umherirrender <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to