More work on wiki csv forms, a=chris
More work on wiki csv forms, a=chris
diff --git a/src/css/search.css b/src/css/search.css
index 9be5756f4..ea6acbc06 100755
--- a/src/css/search.css
+++ b/src/css/search.css
@@ -4390,6 +4390,34 @@ table.wikitable > caption
{
font-weight:bold;
}
+.csv-form-field
+{
+ margin-bottom: 10px;
+ margin-top: 10px;
+
+}
+.csv-form-field input[type=checkbox]
+{
+ margin: 5px;
+ position: relative;
+ top: -2px;
+}
+.html-ltr .csv-form-field label
+{
+ padding-right: 5px;
+}
+.html-rtl .csv-form-field label
+{
+ padding-left: 5px;
+}
+.csv-star
+{
+ color: gray;
+ font-size: 20pt;
+ padding: 3px;
+ position: relative;
+ top: 5px;
+}
.rel-type-current
{
border:2px solid black;
diff --git a/src/library/WikiParser.php b/src/library/WikiParser.php
index d410c35d9..d9224bf8b 100644
--- a/src/library/WikiParser.php
+++ b/src/library/WikiParser.php
@@ -194,48 +194,78 @@ class WikiParser implements CrawlConstants
["/{{username}}/si",
"<input type='hidden' name='username' value='[{username}]' />"],
["/{{image-captcha\|(.+?)}}/si", "<div class='csv-captcha'>".
- "<label for='captcha-id'>$1</label> [{image-captcha}]".
- "<input id='captcha-id' type='text' name='user_captcha_text'/>".
- "*</div><input type='hidden' name='CSVFORM[user_captcha_text]'.
+ "[{image-captcha}]<br /><input id='captcha-id' ".
+ "type='text' name='user_captcha_text' placeholder='$1'/>".
+ "<span class='csv-star'>*</span></div><input type='hidden' ".
+ "name='CSVFORM[user_captcha_text]'.
value='textfield' />"],
["/{{textfield\|(.+?)\|(.+?)}}/si",
- "<label for='$2-id'>$1</label> <input id='$2-id' ".
- "type='text' name='$2' value='[{csv-$2}]'>".
- "<input type='hidden' name='CSVFORM[$2]' value='textfield' />"],
+ "<div class='csv-form-field'><label for='$2-id'>$1</label>" .
+ "<input id='$2-id' type='text' name='$2' value='[{csv-$2}]'>" .
+ "<input type='hidden' name='CSVFORM[$2]' value='textfield' />" .
+ "</div>"],
["/{{r(?:equired)?-textfield\|(.+?)\|(.+?)}}/si",
- "<label for='$2-id'>$1</label> <input id='$2-id' ".
- "type='text' name='$2' value='[{csv-$2}]'>".
+ "<div class='csv-form-field'><label for='$2-id'>$1</label>".
+ "<input id='$2-id' type='text' name='$2' value='[{csv-$2}]'>".
"<input type='hidden' name='CSVFORM[$2]' ".
- "value='textfield' /><span clas='csv-star'>*</span>"],
+ "value='textfield' /><span class='csv-star'>*</span></div>"],
["/{{textarea\|(.+?)\|(.+?)}}/si",
- "<label for='$2-id'>$1</label><br /><textarea id='$2-id' ".
- "name='$2' class='short-text-area'>[{csv-$2}]</textarea>" .
- "<input type='hidden' name='CSVFORM[$2]' value='textarea' />"],
+ "<div class='csv-form-field'><label for='$2-id'>$1</label>".
+ "<br /><textarea id='$2-id' name='$2' ".
+ "class='short-text-area'>[{csv-$2}]</textarea>" .
+ "<input type='hidden' name='CSVFORM[$2]' value='textarea' />".
+ "</div>"],
['/{{r(?:equired)?-textarea\|(.+?)\|(.+?)}}/si',
- "<label for='$2-id'>$1</label><textarea id='$2-id' ".
- "name='$2' class='short-text-area'>[{csv-$2}]</textarea>" .
+ "<div class='csv-form-field'><label for='$2-id'>$1</label>".
+ "<textarea id='$2-id' name='$2' ".
+ "class='short-text-area'>[{csv-$2}]</textarea>" .
"<input type='hidden' name='RCSVFORM[$2]' value='textarea' />".
- "<span clas='csv-star'>*</span>"],
+ "<span class='csv-star'>*</span></div>"],
["/{{checkbox\|(.+?)\|(.+?)}}/si",
- "<label for='$2-id'>$1</label> <input id='$2-id' ".
+ "<div class='csv-form-field'><label for='$2-id'>$1</label>".
+ "<input id='$2-id' type='checkbox' name='$2' ".
+ "[{csv-checked-$2}] /><input type='hidden' ".
+ "name='CSVFORM[$2]' value='checkbox' /></div>"],
+ ["/{{lcheckbox\|(.+?)\|(.+?)}}/si",
+ "<div class='csv-form-field'><input id='$2-id' ".
"type='checkbox' name='$2' [{csv-checked-$2}] />".
- "<input type='hidden' name='CSVFORM[$2]' value='checkbox' />"],
+ "<label for='$2-id'>$1</label><input type='hidden' ".
+ "name='CSVFORM[$2]' value='checkbox' /></div>"],
["/{{r(?:equired)?-checkbox\|(.+?)\|(.+?)}}/si",
- "<label for='$2-id'>$1</label> <input id='$2-id' ".
- "type='checkbox' name='$2' [{csv-checked-$2}] />".
+ "<div class='csv-form-field'><label for='$2-id'>$1</label>" .
+ "<input id='$2-id' type='checkbox' name='$2' " .
+ "[{csv-checked-$2}] /><input type='hidden' ".
+ "name='RCSVFORM[$2]' value='checkbox' /></div>"],
+ ["/{{r(?:equired)?-lcheckbox\|(.+?)\|(.+?)}}/si",
+ "<input id='$2-id' type='checkbox' name='$2' ".
+ "[{csv-checked-$2}] /><label for='$2-id'>$1</label> ".
"<input type='hidden' name='RCSVFORM[$2]' value='checkbox' />"],
["/{{radio\|(.+?)\|(.+?)\|(.+?)}}/si",
- "<label for='$2-$3-id'>$1</label> <input id='$2-$3-id' ".
+ "<div class='csv-form-field'><label for='$2-$3-id'>$1</label>".
+ "<input id='$2-$3-id' type='radio' name='$2' value='$3' ".
+ "[{csv-checked-$2}] /><input type='hidden' name='CSVFORM[$2]' ".
+ "value='radio' /></div>"],
+ ["/{{lradio\|(.+?)\|(.+?)\|(.+?)}}/si",
+ "<div class='csv-form-field'><input id='$2-$3-id' ".
"type='radio' name='$2' value='$3' [{csv-checked-$2}] />".
- "<input type='hidden' name='CSVFORM[$2]' value='radio' />"],
+ "<label for='$2-$3-id'>$1</label><input type='hidden' ".
+ "name='CSVFORM[$2]' value='radio' /></div>"],
["/{{r(?:equired)?-radio\|(.+?)\|(.+?)\|(.+?)}}/si",
- "<label for='$2-$3-id'>$1</label> <input id='$2-$3-id' ".
+ "<div class='csv-form-field'><label for='$2-$3-id'>$1</label>".
+ "<input id='$2-$3-id' type='radio' name='$2' value='$3' ".
+ "[{csv-checked-$2}] /><input type='hidden' ".
+ "name='RCSVFORM[$2]' value='radio' /><span ".
+ "class='csv-star'>*</span></div>"],
+ ["/{{r(?:equired)?-lradio\|(.+?)\|(.+?)\|(.+?)}}/si",
+ "<div class='csv-form-field'><input id='$2-$3-id' ".
"type='radio' name='$2' value='$3' [{csv-checked-$2}] />".
- "<input type='hidden' name='RCSVFORM[$2]' value='radio' />".
- "<span clas='csv-star'>*</span>"],
+ "<label for='$2-$3-id'>$1</label><input type='hidden' ".
+ "name='RCSVFORM[$2]' value='radio' /><span ".
+ "class='csv-star'>*</span></div>"],
["/{{submit\|(.+?)\|(.+?)}}/si",
- "<input id='$2-id' type='submit' name='$1' value='$2' >".
- "<input type='hidden' name='CSVFORM[$2]' value='submit' />"],
+ "<div class='csv-form-field'><input id='$2-id' type='submit' ".
+ "name='$1' value='$2' ><input type='hidden' ".
+ "name='CSVFORM[$2]' value='submit' /></div>"],
['/'.$not_paragraph.'{{\s*class\s*\=\s*'.
""([$class_or_id]+)"\s+(".$not_braces .")}}/",
"$esc<span class=\"$1\" >\t\n$2$esc</span>\t"],