]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - includes/changes/ChangesListStringOptionsFilter.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / includes / changes / ChangesListStringOptionsFilter.php
diff --git a/includes/changes/ChangesListStringOptionsFilter.php b/includes/changes/ChangesListStringOptionsFilter.php
new file mode 100644 (file)
index 0000000..930ba12
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * An individual filter in a ChangesListStringOptionsFilterGroup.
+ *
+ * This filter type will only be displayed on the structured UI currently.
+ *
+ * @since 1.29
+ */
+class ChangesListStringOptionsFilter extends ChangesListFilter {
+       /**
+        * @inheritDoc
+        */
+       public function displaysOnUnstructuredUi() {
+               return false;
+       }
+
+       /**
+        * @inheritDoc
+        */
+       public function isSelected( FormOptions $opts ) {
+               $option = $opts[ $this->getGroup()->getName() ];
+               if ( $option === ChangesListStringOptionsFilterGroup::ALL ) {
+                       return true;
+               }
+
+               $values = explode( ChangesListStringOptionsFilterGroup::SEPARATOR, $option );
+               return in_array( $this->getName(), $values );
+       }
+}