Newer
Older
pukiwikiplugin / tagselect.inc.php
<?php
// $Id: tagselect.inc.php, v 0.0 2017/03/21
// Copyright (C)
//   2016 Kwansei Gakuin University comp-staff
// License; GPL v2
// Showing Tagged Items

function plugin_tagselect_convert() {
	$args	= func_get_args();
	$argnum = func_num_args();
	
	$tags = "";
	foreach($args as $name) {
	  $tags .= "<input type=\"checkbox\" value=\"{$name}\" checked=\"checked\">{$name}<br>\n";
	}
	// End Of Plugin Output
	$result = <<< EOPO
<script>
function showTags() {
  var taglist = document.getElementById("php-plugin-tagselectformlist");
  var tag = "";
  for(var i = 0; i < taglist.elements.length; ++i) {
    if(taglist.elements[i].checked) {
      if(tag != "") tag = tag + "|";

      tag=tag+taglist.elements[i].value;
    }
  }

  var uls = document.getElementsByClassName("list1");

  var pat = ("^\\\\(("+tag+")\\\\)");
  var reg = new RegExp(pat);

  for (var i = 0; i < uls.length; ++i) {
    var lis = uls[i].children;
    for(var j = 0; j < lis.length; ++j) {
      var child = lis[j];
      if(child.tagName != "LI") continue;
      if(!(/^\\(/g.test(child.innerHTML))) continue;

      if(reg.test(child.innerHTML)) {
        child.style.display = "";
      }
      else {
        child.style.display = "none";
      }
    }
  }
}
</script>

<form id="php-plugin-tagselectformlist">
<p>表示するタグを選択</p>
{$tags}
<input type="button" value="表示" onclick="showTags()">
</form>
EOPO;

	return $result;
}
?>