4 Belongs to mpi_bugreports; provides bug status change buttons.
7 $ewiki_plugins["mpi"]["bugreportstate"] = "ewiki_mpi_bugreportstate";
10 #-- show submit buttons or change associated pages (from backlinks)
11 function ewiki_mpi_bugreportstate($action, $args, &$iii, &$s)
16 $values = array("open", "closed", "done", "frozen", "answered");
17 foreach ($args as $i=>$name) if (is_int($i)) {
18 if (preg_match("/^\w+$/", $name) && !in_array($name, $values)) {
22 $rxvals = implode("|", $values);
25 if (($new = $_REQUEST["brs_change"]) && in_array($new, $values)) {
27 $pages = ewiki_get_backlinks($ewiki_id);
30 #-- change assoc pages
31 foreach ($pages as $id) {
32 $data = ewiki_db::GET($id);
33 if (preg_match("/\n\|.*stat(e|us).*\|.*($rxvals)/", $data["content"])
34 or preg_match("/\n\|.*($rxvals).*\|.*$ewiki_id/", $data["content"])) {
35 $data["content"] = preg_replace(
36 "/(\n\|.*stat(?:e|us).*\|.*?)[_*]*(?:$rxvals)[_*]*/",
40 $data["content"] = preg_replace(
41 "/(\n\|.*?)[_*]*(?:$rxvals)[_*]*(.*?\|.*$ewiki_id)/",
45 ewiki_db::UPDATE($data);
47 ewiki_db::WRITE($data);
51 $o = "<p>(status changed)</p>";
52 $iii[0][0] = preg_replace("/($rxvals)/", "$new", $iii[0][0]);
58 $url = ewiki_script("", $ewiki_id);
60 <form action="$url#added" method="POST" enctype="multipart/form-data">
61 <input type="submit" name="brs_change" value="open">
62 <input type="submit" name="brs_change" value="closed">
63 <input type="submit" name="brs_change" value="frozen">