https://cm2.liecourt.com/api.php?action=feedcontributions&user=Maintenance+script&feedformat=atom
cm2.liecourt.com - User contributions [en]
2024-03-28T12:17:53Z
User contributions
MediaWiki 1.31.14
https://cm2.liecourt.com/index.php?title=Template:Home&diff=4525
Template:Home
2022-08-25T10:08:26Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Home''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Home }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
.banner-gradient {<br />
position: absolute;<br />
background-image: linear-gradient(257.36deg, rgba(153, 0, 0, 0.43) -0.72%, rgba(0, 102, 153, 0.73) 95.12%), url({{filepath:Home banner.png}});<br />
top: 0;<br />
left: 0;<br />
width: 100%;<br />
height: 100%;<br />
z-index:-1;<br />
background-size: cover;<br />
background-position: center;<br />
}<br />
.banner img {<br />
width: 100%;<br />
height:auto;<br />
}<br />
.btn-green {<br />
background: #339966;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius:30px;<br />
font-weight: 600;<br />
}<br />
.body-container {<br />
padding: 4em 0;<br />
}<br />
.banner-body h1{<br />
padding-top: 0;<br />
color: white;<br />
font-family: times new roman;<br />
font-size: 68px;<br />
font-style: italic;<br />
font-weight: 900;<br />
border: none;<br />
<br />
}<br />
.banner-body h2{<br />
font-weight: 600;<br />
font-size: 26px;<br />
color: white;<br />
border: none;<br />
<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
</style>}}</div><br />
<div class="body-container mt-4 mb-4 text-center">[[File:Logo.png|link=|300x300px]]<br />
We are serious about bringing truth to lies in Digital Media.<br />
<div class="home-search mb-4"><div id="simpleSearch" class="right-inner-addon"><br />
</div> </div><br />
{{#widget:link|href={{fullurl:Introduction}}|text=Introduction|type=a}}<br />
</div><br />
<div class="banner><div class="banner-gradient"></div><!--<br />
--><div class="banner-body body-container text-white"><h2>The Daily Lie Catcher:</h2><!--<br />
--><h1>Corona virus hazards</h1><!--<br />
--><p>Today try lies about coronavirus hazards. Remember lies of omission are lies. Also justifying a lie with a lie is a lie (nothing but the truth!). Dig in!</p><!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Prosecute_a_case}}}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Special:UserLogin}}}} }}<!--<br />
--></div><!--<br />
--><!--<br />
<br />
--></div><div class="body-container">{{#if:{{{Daily lie|}}}|<h1>The daily Lie catcher</h1>{{#vardefine:@daily|{{#ask:[[{{#show:{{{Daily lie|}}}|?Workflow|link=none}}]]|?Modification date|?Lie|?Description|sort=Modification date|limit=1|format=array}} }}<h3>{{#time:d M Y|{{#explode:{{#var:@daily}}|<PROP>|1}} }}</h3><h2>{{#explode:{{#var:@daily}}|<PROP>|2}}</h2><p>{{#explode:{{#var:@daily}}|<PROP>|3}}</p>{{#widget:link|type=a|text=Visit suit page|href={{fullurl:{{{Daily lie|}}} }} }}|<br />
<h1>{{{Lie heading|}}}</h1><br />
<h3>{{{Lie date|}}}</h3><!-- <br />
--><h2>{{{Lie title|}}}</h2><!-- <br />
--><p>{{{Lie text|}}}</p><!-- <br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Visit suit page|href={{{Lie link|}}}|{{#widget:link|type=a|text=Please login to see suit page|href={{fullurl:Special:UserLogin}} }} }}<br />
}} }}</div><br />
<!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Edit_case&diff=4526
Edit case
2022-08-25T10:08:26Z
<p>Maintenance script: Fill database</p>
<hr />
<div>{{#if:{{#urlget:id}}|<br />
{{#vardefine:allowed|{{#ifeq:{{#show:Workflow/{{#urldecode:{{#urlget:id}} }}|?Filed by}}|User:{{CURRENTLOGGEDUSER}}|yes}}{{#ifsysop:yes}} }}<br />
{{#if:{{#var:allowed}}|<br />
{{#vardefine:@info|{{#ask:[[Workflow/{{#urldecode:{{#urlget:id}} }}]]|?Lie|?Markup|?Topic|?Description|?Locations|?Accusation|?uuid|?Meeting|link=none|format=array}} }}<br />
<br />
<br />
<br />
<br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#case-form input, #case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
select:not([multiple]) {<br />
padding: 0 1.5em;<br />
background-color: #f2f2f2;<br />
border-radius: 30px;<br />
-webkit-appearance: none;<br />
-moz-appearance: none;<br />
background-position: right 50%;<br />
background-position-x: right;<br />
background-position-y: 50%;<br />
background-repeat: no-repeat;<br />
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);<br />
line-height: 1;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#case-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
textarea{<br />
min-height:200px;<br />
}<br />
[contentEditable=true]:empty:not(:focus):before{<br />
content:attr(data-placeholder);<br />
color:grey;<br />
}<br />
</style>}}<br />
<br />
</div><br />
<br />
<wsform action="addToWiki" id="case-form" class="box" enctype="multipart/form-data" mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}} }}" ><!-- mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}}|msg=casestarted}}" --><br />
{{#vardefine:pid|{{PAGEID:Workflow/{{#urldecode:{{#urlget:id}} }} }} }}<br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Lie" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Topic" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Description" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Accusation" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Markup" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Locations" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Meeting" /><br />
<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2={{#tag:wsfield||type=text|class=form-control mt-2|name=Lie|placeholder=Short phrase|value={{#explode:{{#var:@info}}|<PROP>|1}} }}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3><br />
|2={{#tag:wsfield||type=text|class=form-control mt-2|name=Topic|value={{#explode:{{#var:@info}}|<PROP>|3}} }}<br />
}} <br />
<br />
<h1>The Lie and Context</h1><!-- <br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Accusation with Evidence</h3><br />
|2={{#tag:wsfield|{{#explode:{{#var:@info}}|<PROP>|6}}|placeholder=Text with links to evidence|type=textarea|class=form-control mt-2|name=Accusation}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-mark dark-blue" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark " onclick="unformat()">{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup|text={{#explode:{{#var:@info}}|<PROP>|2}} }}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2={{#arraymap:{{#explode:{{#var:@info}}|<PROP>|5}}|,|@@@|{{#tag:wsfield||type=text|class=form-control mt-2|name=Locations[]|value=@@@ }}|}}<br />
<br />
<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class="">{{#tag:wsfield||type=text|class=form-control mt-2|name=Meeting|placeholder=Skype/Zoom/...|value={{#explode:{{#var:@info}}|<PROP>|8}} }}</div><br />
}} <br />
<br />
<div ><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="case-img-wrapper"><!--<br />
-->{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#explode:{{#var:@info}}|<PROP>|7}}]]|link=none}}|,|@@@|<span class="btn position-relative img-thumbnail m-1" data-removefile="@@@"> <span class=" position-absolute bg-white p-1">{{fa|times }}</span>[[@@@|link=|70px]]</span>|}}<!--<br />
<br />
-->{{#Widget:Multi upload|edit=true|id={{#explode:{{#var:@info}}|<PROP>|7}} }}</div><br />
<small class="muted">* file selction will be uploaded on submitting</small><br />
}}</div><br />
<!--{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}--><!-- <br />
--><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<wsfield type="textarea" name="Markup" id="real-field" class="d-none" /><br />
<wsfield type="button" class="btn btn-green float-right" id="upload-button" onclick="uploadFiles()">Change case</wsfield><br />
<wsfield type="submit" id="real-submit" class="d-none" value="niks" /><br />
}}<!-- <br />
--><br />
</wsform><br />
{{#tag:html|<script><br />
var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
for(i = 0; i < addMore.length; ++i){<br />
addMore[i].addEventListener('click', addMoreInputs, false);<br />
}<br />
//var newDeceit = document.querySelector('.add-more.lies').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.facts').closest('.col-md-8').querySelector('.original').innerHTML;<br />
var newLocation = document.querySelector('.add-more.locations').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('lies')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
if(this.classList.contains('locations')){<br />
newDiv.innerHTML = newLocation;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
}<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function submitRealField(){<br />
document.getElementById('real-field').value = document.getElementById('fake-field').innerHTML;<br />
setTimeout(function(){<br />
document.getElementById('real-submit').click()<br />
}, 500)<br />
}<br />
<br />
<br />
<br />
<br />
</script>}}<br />
}} }}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Verdict_results&diff=4522
Template:Verdict results
2022-08-25T10:08:25Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Verdict results''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Verdict results }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
{{#vardefine:verdictsarray|{{#ask:{{#if:{{{Verdict|}}}|[[{{{Verdict|}}}]]|[[Class::Verdict]][[Case ID::{{{id|}}}]]{{#if:{{{Context|}}}|[[Context::{{{Context|}}}]]|[[Context::None]] }} }}<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|?Name<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$$$<br />
}}}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|4}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|4}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|5}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|5}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|6}} </div><!-- <br />
<br />
-->{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{#explode:@@@|<PROP>|0}}]]|?=|?Modification date|Format=array|link=none}}|,|###|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=vi attachment mt-2 |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:###|<PROP>|0}}]] Uploaded on: {{#explode:###|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}}</div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Whole Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|7}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|7}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|8}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|8}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|9}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it nothing but the Factual and Whole Truth (Adding other Truths and Lies to the Context)?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|10}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|10}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|11}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|11}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|12}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is the Deceit Intended?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|16}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|16}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|17}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|17}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|18}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Social Acceptability for the lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|22}}|Acceptable|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|22}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|23}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|23}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|24}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Label for the Lie needed to Improve the Social Acceptability?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:@@@|<PROP>|25}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|26}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|26}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|27}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Workflow&diff=4523
Template:Workflow
2022-08-25T10:08:25Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Workflow''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Workflow<br />
|Case ID=<br />
|Type=<br />
|Stage=<br />
|Filed by=<br />
|Lie=<br />
|Topic=<br />
|Description=<br />
|Lies=<br />
|Facts=<br />
|Locations=<br />
|Judge=<br />
|Juror amount=<br />
|Jurors=<br />
|Suit date=<br />
|Plaintiff verdict=<br />
|Reason for judge decline=<br />
|Random judge=<br />
|Random juror=<br />
|Declined judge=<br />
|Declined juror= <br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly>__NOTOC__ __NOTITLE__<!--<br />
-->{{#if:{{{Filed by|}}}|{{#set:Class=Workflow<br />
|Case ID={{{Case ID|}}}<br />
|uuid={{{uuid|}}}<br />
|Type={{{Type|}}}<br />
|Stage={{{Stage|}}}<br />
|Filed by={{{Filed by|}}}<br />
|Lie={{{Lie|}}}<br />
|Topic={{{Topic|}}}<br />
|Accusation={{{Accusation|}}}<br />
|Description={{{Description|}}}<br />
|Markup={{{Markup|}}}<br />
|Locations={{{Locations|}}}<br />
|Judge={{{Judge|}}}<br />
|Meeting={{{Meeting|}}}<br />
|Juror amount={{{Juror amount|}}}<br />
|Jurors={{{Jurors|}}}|+sep=,<br />
|Suit date={{{Suit date|}}}<br />
|Meeting date={{{Meeting date|}}}<br />
|Settlement date={{{Settlement date|}}}<br />
|Plaintiff verdict={{{Plaintiff verdict|No}}}<br />
|Reason for judge decline={{{Reason for judge decline|}}}<br />
|Random judge={{{Random judge|}}}<br />
|Random juror={{{Random juror|}}}|+sep=,<br />
|Declined judge={{{Declined judge|}}}|+sep=,<br />
|Declined juror={{{Declined juror|}}}|+sep=,<br />
|Class case IDs={{{Class case IDs|}}}|+sep=,<br />
|Class request={{{Class request|}}}<br />
|Class title={{{Class title|}}}<br />
|Change={{{Change|none}}}<br />
|Slot={{{Slot|}}}<br />
|Slot month={{#explode:{{{Slot|}}}|-|1}}<br />
|Slot day={{#explode:{{#explode:{{{Slot|}}}|/|0}}|-|2}}<br />
|Slot year={{#explode:{{{Slot|}}}|-|0}}<br />
|Change seen by={{{Change seen by|none}}}|+sep=,<br />
|Settled seen by={{{Settled seen by|none}}}|+sep=,<br />
}} }}<!--<br />
--><h1>{{{Lie|}}}</h1> {{#ask:[[Class::Suit]][[Case ID::{{{Case ID|}}}]]}}<br />
<br />
{{#switch:{{{Stage|}}}<br />
|Waiting for Plaintiff verdict=<div class="d-flex flow-index"><div>Case is proposed</div><div class="active">Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs judge=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div class="active">Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Judge accepted=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div class="active">Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs jurors=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div class="active">Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|In progress=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div class="active">Suit in progress</div><div>Settled</div></div> <br />
|Settled=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div class="active">Settled</div></div><br />
}}<br />
{{#if:{{{Type|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Type</b><br />
|2={{{Type|}}}<br />
}}<br />
}}<br />
{{#if:{{{Reason for judge decline|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Reason for judge decline</b><br />
|2={{{Reason for judge decline|}}}<br />
}}<br />
}}<br />
{{#if:{{{Case ID|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Case ID</b><br />
|2={{{Case ID|}}}<br />
}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Lie title</b><br />
|2={{{Lie|}}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Status</b><br />
|2={{{Stage|}}}<br />
}}<br />
<br />
{{#if:{{{Judge|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Judge</b><br />
|2={{{Judge|}}}<br />
}}<br />
|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Invited judge</b><br />
|2=<wsform action="addToWiki"><br />
{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Random judge}}<br />
{{#arraydefine:$judges|{{#ask: [[User group::icol-user]][[Class::Member]][[Role::Judge]] |limit=9999|link=none|format=plainlist}} }}<br />
{{#arraydefine:$judges-selected|{{{Random judge|}}} }}<br />
<wstoken id="tokener52" name="Random judge" multiple="multiple" placeholder="Type a minimal of 3 characters" class="form-control" ><br />
{{#arraymap:{{#arrayprint:$judges}}|,|__JUDGE__|{{#tag:wsfield|{{PAGENAME:__JUDGE__}}|type=option|value=__JUDGE__|selected={{#if:{{#arraysearch:$judges-selected|__JUDGE__}}|selected}} }}|}}<br />
</wstoken><br />
<wsfield type="submit" class="btn btn-green" value="Save" /></wsform>}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors needed</b><br />
|2=<wsform action="addToWiki">{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Juror amount}}<wsfield type="number" name="Juror amount" value="{{{Juror amount|}}}" /><wsfield type="submit" value="Save" /></wsform><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors accepted invite</b><br />
|2={{#arraydefine:@jurrors|{{{Jurors|}}} }}{{#arraysize:@jurrors}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Accepted Jurors</b><br />
|2={{{Jurors|}}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Invited Jurors</b><br />
|2=<wsform action="addToWiki"><br />
{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Random juror }}<br />
{{#arraydefine:$jurors|{{#ask: [[User group::icol-user]][[Class::Member]][[Role::Juror]] |limit=9999|link=none|format=plainlist}} }}<br />
{{#arraydefine:$jurors-selected|{{{Random juror|}}} }}<br />
<wstoken id="tokener2" name="Random juror[]" multiple="multiple" placeholder="Type a minimal of 3 characters" class="form-control" ><br />
{{#arraymap:{{#arrayprint:$jurors}}|,|__JUROR__|{{#tag:wsfield|{{PAGENAME:__JUROR__}}|type=option|value=__JUROR__|selected={{#if:{{#arraysearch:$jurors-selected|__JUROR__}}|selected}} }}|}}<br />
</wstoken><wsfield type="submit" class="btn btn-green" value="Save" /></wsform>}}<br />
<br />
<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Plaintiff</b><br />
|2={{{Filed by|}}}<br />
}}{{DISPLAYTITLE:{{{Lie|}}} {{#ifeq:{{#var:@type}}|Class|(Class)}} - Workflow }}<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Ws-navmenu&diff=4524
MediaWiki:Ws-navmenu
2022-08-25T10:08:25Z
<p>Maintenance script: Fill database</p>
<hr />
<div>{{WSNavMenu | Input=Main Page*{{Fa|home}} Home<br />
<br />
{{#ifsysop:Members*Members}}<br />
<br />
{{#if:{{CURRENTLOGGEDUSER}}|Suits*Suits}}<br />
<br />
<br />
Prosecute_a_case*Start a case<br />
<br />
{{#ifsysop:Workflow*Workflow}}<br />
<br />
{{#ifsysop:Tools<br />
User data*User data<br />
MediaWiki:ws-navmenu*NavMenu<br />
MediaWiki:ws-header*Header<br />
MediaWiki:ws-footer*Footer<br />
Landing pages*Landing pages<br />
Suits to show*Suits to show<br />
File:Logo.png*Logo<br />
Wiki:Tasks*{{Fa|life-ring}} Tasks<br />
}}<br />
<br />
{{#if:{{CURRENTLOGGEDUSER}}|{{#ifexist:User:{{CURRENTLOGGEDUSER}}|User:{{CURRENTLOGGEDUSER}}|Create profile}}*{{Fa|user}} Profile}}<br />
<br />
{{#ifingroup:sudo|<br />
Special:Sudo*{{Fa|exchange-alt}} Change user<br />
}}<br />
}}{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
|Hide=Yes<br />
}}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.js&diff=4520
MediaWiki:Common.js
2022-08-25T10:08:24Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* Any JavaScript here will be loaded for all users on every page load. <script>*/<br />
<br />
<br />
<br />
$(document).ready(function () {<br />
<br />
createPageTogglers = document.querySelectorAll('[data-creatpage]');<br />
<br />
if(createPageTogglers && createPageTogglers.length > 0){<br />
<br />
createPageTogglers.forEach(function(el){<br />
<br />
el.addEventListener(<br />
"click",<br />
function () {<br />
createPage( )<br />
})<br />
})<br />
<br />
}<br />
<br />
})<br />
<br />
console.log('uyfuyfuy' );<br />
var createPage = function (current_namespace, current_pagename) {<br />
console.log("working");<br />
<br />
var hiddenInput = document.querySelector('#time-slot-field');<br />
<br />
mw.loader.using(["oojs-ui-windows", 'mediawiki.widgets.DateInputWidget']).then(function () {<br />
// Example: Using getSetupProcess() to configure a window with data passed<br />
// at the time the window is opened.<br />
<br />
// Make a subclass of ProcessDialog<br />
function PageCreateDialog(config) {<br />
PageCreateDialog.super.call(this, config);<br />
}<br />
OO.inheritClass(PageCreateDialog, OO.ui.ProcessDialog);<br />
<br />
// Specify a name for .addWindows()<br />
PageCreateDialog.static.name = "createPageDialog";<br />
PageCreateDialog.static.title = "Select a Time Slot";<br />
// Specify the static configurations: title and action set<br />
PageCreateDialog.static.actions = [<br />
{<br />
flags: "primary",<br />
label: "Continue",<br />
action: "open",<br />
},<br />
{<br />
flags: "safe",<br />
label: "Cancel",<br />
},<br />
];<br />
<br />
// Customize the initialize() function to add content and layouts:<br />
PageCreateDialog.prototype.initialize = function () {<br />
var dialol = this;<br />
PageCreateDialog.super.prototype.initialize.call(this);<br />
this.panel = new OO.ui.PanelLayout({<br />
padded: true,<br />
expanded: false,<br />
});<br />
this.content = new OO.ui.FieldsetLayout();<br />
<br />
<br />
var date = new Date();<br />
<br />
// month = date.getMonth() + 1;<br />
<br />
this.urlInput = new mw.widgets.DateInputWidget({<br />
value: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()<br />
});<br />
<br />
this.field = new OO.ui.FieldLayout(this.urlInput, {<br />
label: "Day",<br />
align: "top",<br />
});<br />
<br />
var times = [];<br />
for (var i = 10; i < 22; i++) {<br />
var hour = i;<br />
var pm = 'AM';<br />
if (i > 12) {<br />
hour = i - 12;<br />
pm = 'PM';<br />
}<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':00' + ' - ' + hour + ':15 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':15' + ' - ' + hour + ':30 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':30' + ' - ' + hour + ':45 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':45' + ' - ' + (hour + 1) + ':00 ' + pm<br />
})<br />
);<br />
}<br />
<br />
this.slotSelect = new OO.ui.ButtonSelectWidget( {<br />
items:<br />
times<br />
} );<br />
<br />
this.slotsWrapper = new OO.ui.FieldLayout( new OO.ui.Widget( {<br />
content: [<br />
new OO.ui.HorizontalLayout( {<br />
items: [<br />
this.slotSelect<br />
]<br />
})<br />
]<br />
}), {<br />
label: "Time",<br />
align: "top",<br />
});<br />
<br />
<br />
<br />
<br />
this.content.addItems([this.field, this.slotsWrapper]);<br />
this.panel.$element.append(this.content.$element);<br />
this.$body.append(this.panel.$element);<br />
var that = this;<br />
this.urlInput.on( 'change', function () {<br />
// The value will always be a valid date or empty string, malformed input is ignored<br />
<br />
that.updateSlots();<br />
<br />
} );<br />
<br />
};<br />
<br />
<br />
PageCreateDialog.prototype.updateSlots = function () {<br />
<br />
var that = this;<br />
var date = that.urlInput.getValue().split('-');<br />
<br />
<br />
var month = date[1];<br />
var year = date[0];<br />
var day = date[2];<br />
<br />
<br />
<br />
<br />
that.slotSelect.items.forEach(function(item){<br />
item.setDisabled(false);<br />
})<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Slot month::' + month + ']][[Slot day::' + day + ']][[Slot year::' + year + ']]|?Slot|limit=500',<br />
formatversion: 2,<br />
format: 'json'<br />
}<br />
var api = new mw.Api;<br />
api.post(params).done(function(data){<br />
if (data.query.results) {<br />
console.log(data.query.results)<br />
Object.entries(data.query.results).forEach(function(slot){<br />
var date = slot[1].printouts.Slot[0].fulltext || slot[1].printouts.Slot[0];<br />
var time = date.split('/')[1];<br />
var item = that.slotSelect.getItemFromLabel(time);<br />
if(item){<br />
item.setDisabled(true);<br />
}<br />
})<br />
// ["Workflow/90"].printouts.Slot[0]<br />
}<br />
})<br />
// ask query function here, and disbale results<br />
// selectItemByLabel(label).setDisabled(true);<br />
<br />
<br />
<br />
<br />
};<br />
// Specify any additional functionality required by the window (disable opening an empty URL, in this case)<br />
<br />
// Specify the dialog height (or don't to use the automatically generated height).<br />
PageCreateDialog.prototype.getBodyHeight = function () {<br />
// Note that "expanded: false" must be set in the panel's configuration for this to work.<br />
// When working with a stack layout, you can use:<br />
// return this.panels.getCurrentItem().$element.outerHeight( true );<br />
return this.panel.$element.outerHeight(true) + 200;<br />
};<br />
<br />
// Use getSetupProcess() to set up the window with data passed to it at the time<br />
// of opening (e.g., url: 'http://www.mediawiki.org', in this example).<br />
PageCreateDialog.prototype.getSetupProcess = function (data) {<br />
data = data || {};<br />
var nuthis = this;<br />
return PageCreateDialog.super.prototype.getSetupProcess<br />
.call(this, data)<br />
.next(function () {<br />
// Set up contents based on data<br />
var val = hiddenInput.value;<br />
if (val) {<br />
var split = val.split('/');<br />
nuthis.urlInput.setValue(split[0]);<br />
nuthis.slotSelect.selectItemByLabel(split[1])<br />
}<br />
nuthis.updateSlots();<br />
<br />
}, this);<br />
};<br />
var boiler = "";<br />
// Specify processes to handle the actions.<br />
PageCreateDialog.prototype.getActionProcess = function (action) {<br />
var nuthis = this;<br />
if (action === "open") {<br />
// Create a new process to handle the action<br />
return new OO.ui.Process(function () {<br />
<br />
var day = nuthis.urlInput.getValue();<br />
var time = nuthis.slotSelect.findSelectedItem().label;<br />
<br />
console.log(day, time)<br />
hiddenInput.value = day + '/' + time;<br />
var button = document.querySelector('#time-slot-button');<br />
button.innerText = day + ' • ' + time;<br />
return 800;<br />
}).next(function(){<br />
nuthis.close({action: action});<br />
return true;<br />
})<br />
}<br />
// Fallback to parent handler<br />
return PageCreateDialog.super.prototype.getActionProcess.call(this, action);<br />
};<br />
<br />
// Use the getTeardownProcess() method to perform actions whenever the dialog is closed.<br />
// This method provides access to data passed into the window's close() method<br />
// or the window manager's closeWindow() method.<br />
PageCreateDialog.prototype.getTeardownProcess = function (data) {<br />
return PageCreateDialog.super.prototype.getTeardownProcess<br />
.call(this, data)<br />
.first(function () {<br />
// Perform any cleanup as needed<br />
}, this);<br />
};<br />
<br />
// Create and append a window manager.<br />
var windowManager = new OO.ui.WindowManager();<br />
$(document.body).append(windowManager.$element);<br />
<br />
// Create a new process dialog window.<br />
var createPageDialog = new PageCreateDialog();<br />
<br />
// Add the window to window manager using the addWindows() method.<br />
windowManager.addWindows([createPageDialog]);<br />
<br />
// Open the window!<br />
windowManager.openWindow(createPageDialog);<br />
});<br />
};<br />
<br />
<br />
<br />
/***<br />
* REMOVE FILE<br />
*<br />
**/<br />
<br />
document.querySelectorAll('[data-removefile]').forEach(function(el){<br />
el.addEventListener('click', function(){<br />
console.log(el.dataset.removefile)<br />
<br />
var r = confirm("Are you sure?");<br />
if (r == true) {<br />
var params = {<br />
action: 'delete',<br />
title: el.dataset.removefile,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data );<br />
el.remove();<br />
} );<br />
}<br />
})<br />
})<br />
<br />
<br />
/**<br />
* POLLING FOR USER PAGES<br />
**/<br />
<br />
var pollWrapper = document.querySelector('[data-poll]');<br />
<br />
var fps = 30;<br />
var now;<br />
var then;<br />
var interval = 100000/fps;<br />
var delta;<br />
<br />
function poll(now) {<br />
if (!then) { then = now; }<br />
requestAnimationFrame(poll);<br />
delta = now - then;<br />
<br />
if (delta > interval) {<br />
then = now - (delta % interval);<br />
<br />
<br />
if(pollWrapper.dataset.poll == 'Messages'){<br />
goPolling()<br />
}else{<br />
workflowPolling()<br />
}<br />
}<br />
}<br />
<br />
<br />
<br />
if(pollWrapper){<br />
poll();<br />
}<br />
<br />
<br />
<br />
<br />
<br />
var polledWorkflows = false;<br />
<br />
function workflowPolling(){<br />
var params = {<br />
action: 'ask',<br />
query: '[[Workflow::' + pollWrapper.dataset.workflow + ']]|?Modification date',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var flows = Object.entries(data.query.results).map(function(entrie){<br />
return entrie[1].printouts['Modification date'][0].timestamp<br />
})<br />
if(polledWorkflows && flows.sort().join() != polledWorkflows.sort().join()){<br />
console.log('found something new', flows);<br />
console.log('polled', polledWorkflows);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledWorkflows = flows<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
var polledJurors = false;<br />
<br />
function goPolling(){<br />
var user = mw.config.values.wgRelevantUserName;<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Class::Workflow]][[Random juror::User:' + user + ']] OR [[Random judge::User:' + user + ']]',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var newKeys = Object.keys(data.query.results);<br />
if(polledJurors && newKeys.sort().join() != polledJurors.sort().join()){<br />
console.log('found something new', newKeys);<br />
console.log('polled', polledJurors);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledJurors = newKeys;<br />
}<br />
})<br />
}<br />
<br />
function reloadSection(){<br />
<br />
var template = pollWrapper.dataset.poll;<br />
var paramters = pollWrapper.dataset.parameters.replaceAll('^', '|')<br />
var params = {<br />
action: 'parse',<br />
text: '{{' + template + '|' + paramters + '|Fullpagename=' + mw.config.values.wgPageName.replaceAll('_', ' ') + '}}',<br />
contentmodel: 'wikitext',<br />
wrapoutputclass: '',<br />
disableeditsection: true,<br />
disablelimitreport: true,<br />
disabletoc: true,<br />
formatversion: 2,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.parse){<br />
if(template == 'Messages'){<br />
$(pollWrapper).html(data.parse.text)<br />
} else {<br />
$('#mw-content-text').html(data.parse.text)<br />
}<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
<br />
<br />
function logmeout(){<br />
<br />
var params = {<br />
action: 'logout',<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data, 'we logged you out' );<br />
window.location = mw.config.values.wgServer + '/index.php/Main_Page';<br />
} );<br />
<br />
}<br />
<br />
<br />
<br />
$( document ).ready(function() {<br />
<br />
<br />
if ($('.WSShowOnSelect') ) {<br />
WsShowOnSelect();<br />
}<br />
<br />
$('body.action-edit #wpTextbox1, body.action-submit #wpTextbox1').keydown(function(event) {<br />
var x = event.keyCode;<br />
if (x == 13 ) {<br />
if(!event.shiftKey){<br />
var insert = document.execCommand('insertText', false, '<!-- \n -->');<br />
if(insert){<br />
event.preventDefault();<br />
$('#wpTextbox1').focus()<br />
insert<br />
}<br />
}<br />
}<br />
})<br />
<br />
<br />
<br />
<br />
// Start of esc save<br />
<br />
<br />
<br />
$('body.action-edit, body.action-submit').keydown(function() {<br />
var x = event.keyCode;<br />
if (x == 27) {<br />
$.ajax({<br />
url :'/api.php?action=query&meta=tokens&format=json',<br />
type: 'GET',<br />
dataType: 'json',<br />
success : function(result){<br />
var token = result.query.tokens.csrftoken;<br />
<br />
$("input[name='wpEditToken']").attr("value", token );<br />
<br />
saveEdit();<br />
<br />
}<br />
});<br />
}else{<br />
mw.confirmCloseWindow();<br />
$('#wpSave, #wpPreview, #wpDiff').on('click', function(){<br />
$( window ).off( 'beforeunload' );<br />
})<br />
}<br />
<br />
})<br />
<br />
if($('body').hasClass('action-submit')){<br />
$('#top').prepend('<button class="btn btn-success enable-live-mode">Enable live mode</button>');<br />
$(document).on('click','.enable-live-mode', function(){<br />
if($(this).hasClass('btn-success')){<br />
liveMode();<br />
$(this).removeClass('btn-success');<br />
$(this).text('Live mode is on');<br />
}else{<br />
$(this).addClass('btn-success');<br />
$('body.action-submit textarea').off("change keyup paste");<br />
$(this).text('Enable live mode');<br />
}<br />
<br />
});<br />
}<br />
});<br />
<br />
window.saveEdit = function() {<br />
$.ajax({<br />
url : $('form.mw-editform').attr('action'),<br />
type : 'POST',<br />
data :$('form.mw-editform').serialize(),<br />
success : function(html) {<br />
$( window ).off( 'beforeunload' );<br />
mw.notify( 'Saved' );<br />
if($('body').hasClass('action-submit')){<br />
var parser = new DOMParser();<br />
var doc = parser.parseFromString(html, "text/html");<br />
var elem = doc.querySelectorAll('.mw-content-ltr')[0];<br />
$('.mw-content-ltr').html(elem);<br />
}<br />
}<br />
})<br />
};<br />
<br />
window.liveMode = function() {<br />
var oldVal = "";<br />
$('body.action-submit textarea').on("change keyup paste", function() {<br />
var currentVal = $(this).val();<br />
if(currentVal == oldVal) {<br />
return; //check to prevent multiple simultaneous triggers<br />
}<br />
<br />
oldVal = currentVal;<br />
var text = encodeURIComponent($('textarea').val());<br />
<br />
$.ajax({<br />
url: '/api.php?action=parse&format=json&formatversion=2&title=New&text='+text+'&pst=&prop=text%7Cmodules%7Cjsconfigvars&preview=true&disableeditsection=true&uselang=en',<br />
dataType: 'json',<br />
success: function (x) {<br />
$('#wikiPreview').html(x.parse.text);<br />
}<br />
});<br />
});<br />
};<br />
/* End of Esc Save */<br />
<br />
<br />
/***** WSForm: loading Select2 ****/<br />
$( document ).ready(function() {<br />
if ($('select[data-inputtype="ws-select2"]')[0]) {<br />
mw.loader.load('/extensions/WSForm/select2.min.css', 'text/css');<br />
$.getScript('/extensions/WSForm/select2.min.js').done(function() {<br />
$('select[data-inputtype="ws-select2"]').each(function() {<br />
var selectid = $(this).attr('id');<br />
var selectoptionsid = 'select2options-' + selectid;<br />
var select2config = $("input#" + selectoptionsid).val();<br />
var F = new Function(select2config);<br />
return (F());<br />
});<br />
});<br />
}<br />
});<br />
/* End of WSForm: Select2 */<br />
<br />
(function($) {<br />
$.fn.autogrow = function() {<br />
return this.each(function() {<br />
var textarea = this;<br />
$.fn.autogrow.resize(textarea);<br />
$(textarea).focus(function() {<br />
textarea.interval = setInterval(function() {<br />
$.fn.autogrow.resize(textarea);<br />
}, 500);<br />
}).blur(function() {<br />
clearInterval(textarea.interval);<br />
});<br />
});<br />
};<br />
$.fn.autogrow.resize = function(textarea) {<br />
var lineHeight = parseInt($(textarea).css('line-height'), 10);<br />
var lines = textarea.value.split('\n');<br />
var columns = textarea.cols;<br />
var lineCount = 0;<br />
<br />
/**<br />
* measures the text pixel width<br />
* @param text<br />
* @returns {*|jQuery}<br />
*/<br />
function textMeasure(text) {<br />
var div = document.createElement('div');<br />
document.body.appendChild(div);<br />
$(div).css({<br />
position: 'absolute',<br />
left: -1000,<br />
top: -1000,<br />
display: 'none'<br />
});<br />
$(div).html(text);<br />
const width = $(div).outerWidth();<br />
$(div).remove();<br />
return width;<br />
}<br />
<br />
$.each(lines, function() {<br />
lineCount += Math.ceil(textMeasure(this) / ($(textarea).innerWidth() - 125)) || 1;<br />
// lineCount += Math.ceil(this.length / columns) || 1;<br />
});<br />
var height = lineHeight * (lineCount + 1);<br />
$(textarea).css('height', height);<br />
};<br />
})(jQuery);<br />
<br />
$('textarea.form-control').autogrow();<br />
<br />
<br />
/* WSSHOWONSELECT */<br />
/**<br />
* applying show on select on the page and make sure everyting will be handled as needed<br />
*/<br />
function WsShowOnSelect() {<br />
var selectArray = [];<br />
$('.WSShowOnSelect').find('[data-wssos-show]').each(function (index, elm) {<br />
if ( $(elm).is('option') ) {<br />
var isInArray = false;<br />
var selectParent = $(elm).parent()[0];<br />
for ( var i = 0; i < selectArray.length; i++ ) {<br />
if ( $(selectParent).is($(selectArray[i])) ) {<br />
isInArray = true;<br />
}<br />
}<br />
if ( !isInArray ) {<br />
selectArray.push(selectParent);<br />
handleSelect(selectParent);<br />
}<br />
} else if ( $(elm).is('input[type=radio]') ) {<br />
handleRadio(elm);<br />
} else if ( $(elm).is('input[type=checkbox]') ) {<br />
handleCheckbox(elm);<br />
} else if ( $(elm).is('button') ) {<br />
handleButton(elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the radio button changes, show what is needed<br />
* @param radioElm<br />
*/<br />
function handleRadio(radioElm) {<br />
var pre_wssos_value = $(radioElm).data('wssos-show');<br />
var pre_parent_wssos = $(radioElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(radioElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(radioElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( radioElm.checked ) {<br />
$(pre_wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(pre_wssos_elm);<br />
} else {<br />
putAllTypesNameInData(pre_wssos_elm);<br />
}<br />
$(pre_parent_wssos).find('input[type=radio][name="'+ radioElm.name +'"]').on('change', function () {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
$(parent_wssos).find('input[name="'+this.name+'"][type="radio"]').each(function(index, radiobtn) {<br />
var radio_hide_data_attr = $(radiobtn).data('wssos-show');<br />
$(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]').addClass('hidden');<br />
putAllTypesNameInData($(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]'));<br />
});<br />
<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the checkbox changes, show what is needed<br />
* @param checkElm<br />
*/<br />
function handleCheckbox(checkElm) {<br />
var pre_wssos_value = $(checkElm).data('wssos-show');<br />
var pre_parent_wssos = $(checkElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(checkElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(checkElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( checkElm.checked ) {<br />
pre_wssos_elm.removeClass('hidden');<br />
// set the dataset value of data-name-attribute back in the name attribute<br />
putAllTypesDataInName(pre_wssos_elm);<br />
<br />
// set the name value of the unchecked element in the value of data-name-attribute and remove the name attribute<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
putAllTypesNameInData(pre_unchecked_elm);<br />
}<br />
} else {<br />
// set data-name-attribute to the value of name attribute and remove the name attribute<br />
putAllTypesNameInData(pre_wssos_elm);<br />
<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
$(pre_unchecked_elm).removeClass('hidden');<br />
// set the name attribute to the value of data-name-attribute<br />
putAllTypesDataInName(pre_unchecked_elm);<br />
}<br />
}<br />
$(checkElm).on('change', function(e) {<br />
e.stopPropagation();<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
<br />
if ( $(this).has('data-wssos-show-unchecked') ) {<br />
var wssos_unchecked_value = $(this).data('wssos-show-unchecked');<br />
var wssos_unchecked_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_unchecked_value+'"]');<br />
if ( this.checked ) {<br />
wssos_unchecked_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_unchecked_elm);<br />
} else {<br />
wssos_unchecked_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_unchecked_elm);<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* handle the select box changes to show what is needed on select<br />
* @param selectElm<br />
*/<br />
function handleSelect(selectElm) {<br />
var selectVal = $(selectElm).val();<br />
$(selectElm).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(option).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected || $(option).val() === selectVal) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
<br />
$(selectElm).on('change', function () {<br />
$(this).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
});<br />
}<br />
<br />
function handleButton(btnElm) {<br />
var pre_wssos_value = $(this).data('wssos-show');<br />
var pre_parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
<br />
// set up the start and make sure the element is hidden<br />
$(pre_wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(pre_wssos_elm);<br />
// add on click listener to the button<br />
$(btnElm).on('click', function(e) {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
<br />
// possibility to hide the wanted element back if an option<br />
if ( !$(wssos_elm).hasClass('hidden') ) {<br />
$(wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
} else {<br />
$(wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* find all different types which name attribute should go to the dataset<br />
* @param elm<br />
*/<br />
function putAllTypesNameInData(elm) {<br />
putNameAttrValueInDataset($(elm).find('input,select,textarea'));<br />
putRequiredInDataset($(elm).find('input,select,textarea'));<br />
}<br />
<br />
<br />
/**<br />
* find all different types which data-attribute should go to the name-attribute<br />
* @param elm<br />
*/<br />
function putAllTypesDataInName(elm) {<br />
putDatasetValueBackInName($(elm).find('input,select,textarea'));<br />
putDatasetInRequired($(elm).find('input,select,textarea'));<br />
}<br />
<br />
/**<br />
* set the name attribute value to the dataset data-name-attribute, remove the name attribute<br />
* @param elm<br />
*/<br />
function putNameAttrValueInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).attr('name') !== '' ) {<br />
var name = $(elm).attr('name');<br />
if (name) {<br />
$(elm).attr('data-name-attribute', name);<br />
$(elm).removeAttr('name');<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* set the name attribute to the value of the data-name-attribute<br />
* @param elm<br />
*/<br />
function putDatasetValueBackInName($elm) {<br />
$.each($elm, function(index, elm) {<br />
if ( $(elm).attr('data-name-attribute') !== '' ) {<br />
var datasetName = $(elm).data('name-attribute');<br />
if (datasetName) {<br />
$(elm).attr('name', datasetName);<br />
}<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* set the required attr in the dataset data-ws-required<br />
* @param $elm<br />
*/<br />
function putRequiredInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).is(':required') ) {<br />
$(elm).attr('data-ws-required', true);<br />
$(elm).prop('required', false);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* if the element has data-ws-required the make the element required<br />
* @param $elm<br />
*/<br />
function putDatasetInRequired($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).data('ws-required') ) {<br />
$(elm).prop('required', true);<br />
}<br />
})<br />
}<br />
<br />
/* END OF WSSHOWONSELECT */<br />
$( document ).ready(function() {<br />
if( $('.redirect-link').length > 0 ) {<br />
$('.redirect-link a')[0].click();<br />
}<br />
})</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.css&diff=4521
MediaWiki:Common.css
2022-08-25T10:08:24Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* <style> */<br />
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');<br />
<br />
input.pending,<br />
button.pending,<br />
.pending {<br />
background-color: gray !important;<br />
background-image: linear-gradient(<br />
135deg,<br />
green 25%,<br />
transparent 25%,<br />
transparent 50%,<br />
green 50%,<br />
green 75%,<br />
transparent 75%<br />
,transparent<br />
) ;<br />
background-size: 1.42857143em 1.42857143em ;<br />
animation: wikisearch-input--pending-animation 650ms linear infinite;<br />
}<br />
<br />
@keyframes wikisearch-input--pending-animation {<br />
0% {<br />
background-position: -1.42857143em 0 <br />
}<br />
<br />
100% {<br />
background-position: 0 0<br />
}<br />
}<br />
<br />
/* T7729 */<br />
<br />
input.remove-juror:hover {<br />
opacity: 1;<br />
}<br />
<br />
input.remove-juror {<br />
width: 100%;<br />
height: 100%;<br />
background: #ff000042;<br />
left: 0;<br />
opacity: 0;<br />
}<br />
<br />
/***********/<br />
<br />
/*<br />
details summary::before { <br />
content:"open"; <br />
}<br />
<br />
details[open] summary::before { <br />
content:"close"; <br />
}<br />
*/<br />
.oo-ui-horizontalLayout div.oo-ui-selectWidget {<br />
display: grid;<br />
grid-template-columns: 1fr 1fr 1fr;<br />
}<br />
<br />
.oo-ui-horizontalLayout .oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget .oo-ui-buttonElement-button {<br />
width: 100%;<br />
}<br />
<br />
.case-img-wrapper img{<br />
max-width: 70px;<br />
height: auto;<br />
}<br />
<br />
<br />
.hidden {<br />
display: none;<br />
}<br />
::-webkit-scrollbar {<br />
width: 14px;<br />
height: 18px;<br />
}<br />
::-webkit-scrollbar-thumb {<br />
height: 6px;<br />
border: 4px solid rgba(0, 0, 0, 0);<br />
background-clip: padding-box;<br />
-webkit-border-radius: 7px;<br />
background-color: rgba(0, 0, 0, 0.15);<br />
-webkit-box-shadow: inset -1px -1px 0px rgba(0, 0, 0, 0.05), inset 1px 1px 0px rgba(0, 0, 0, 0.05);<br />
}<br />
::-webkit-scrollbar-button {<br />
width: 0;<br />
height: 0;<br />
display: none;<br />
}<br />
::-webkit-scrollbar-corner {<br />
background-color: transparent;<br />
}<br />
.mw-body ul, .mw-body ol {<br />
margin: 0 0 10.5px;<br />
}<br />
@media screen {<br />
.onlyprint {<br />
display:none;<br />
}<br />
}<br />
/** Search box search symbol to the right <br />
.left-inner-addon {<br />
position: relative;<br />
}<br />
.left-inner-addon input {<br />
padding-left: 30px; <br />
}<br />
.left-inner-addon i {<br />
position: absolute;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}<br />
.right-inner-addon {<br />
position: relative;<br />
}<br />
.right-inner-addon input {<br />
padding-right: 30px; <br />
}<br />
.right-inner-addon i {<br />
position: absolute;<br />
right: 0px;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}*/<br />
.select2-container {<br />
width: 100% !important;<br />
margin-bottom: 1rem !important;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
.color-blue{<br />
color:#006699;<br />
}<br />
body{<br />
position: relative;<br />
min-height: 100vh;<br />
}<br />
<br />
<br />
body > .container{<br />
max-width:none;<br />
padding: 0;<br />
font-family: 'Open Sans', sans-serif;<br />
padding-bottom: 2.5rem;<br />
}<br />
#content, .container > .mt-1, .body-container{<br />
margin:0 auto;<br />
}<br />
@media (min-width: 576px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 540px;<br />
}<br />
}<br />
@media (min-width: 768px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 720px;<br />
}<br />
}<br />
@media (min-width: 992px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 960px;<br />
}<br />
}<br />
@media (min-width: 1200px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 1140px;<br />
}<br />
}<br />
.container > .row {<br />
width: 100%;<br />
}<br />
.row-WSHeader > .col{<br />
padding:0;<br />
}<br />
.navbar{<br />
margin: 0 15px;<br />
}<br />
.container-fluid .row-wsheader {<br />
border-bottom-width: 10px;<br />
border-bottom-style: solid;<br />
border-bottom-color: #006699;<br />
padding-top: 12px;<br />
border-image-source: linear-gradient(to right, #990000 0%,#990000 20%,#006699 20%,#006699 80%, #339966 80%, #339966 100%);<br />
border-image-slice: 1;<br />
}<br />
.row-WSHeader .container-fluid{<br />
padding:0;<br />
}<br />
.row-wsheader .list-inline{<br />
margin:0;<br />
text-align: center;<br />
}<br />
div.p-navbar {<br />
background-color: #f2f2f2;<br />
}<br />
div.navbar li.nav-item a.nav-link {<br />
color: #484848;<br />
}<br />
input.form-control {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
.nav-item {<br />
padding: 0 12px;<br />
}<br />
#simpleSearch {<br />
margin-top: 24px;<br />
position: relative;<br />
}<br />
.fa-search {<br />
position: absolute;<br />
right: 22px;<br />
transform: scaleX(-1);<br />
color: #6c757d;<br />
top: 7px;<br />
}<br />
.container .mt-5:last-child {<br />
position: absolute;<br />
bottom: 0;<br />
width: 100%;<br />
height: 2.5rem;<br />
}<br />
.container .mt-5:last-child > .col {<br />
padding: 0;<br />
}<br />
.container .mt-5:last-child > .col nav{<br />
margin: 0 -15px;<br />
}<br />
.navbar-nav {<br />
margin: 0 auto;<br />
width:100%;<br />
}<br />
body.rootpage-Main_Page #content{<br />
max-width:none;<br />
padding:0;<br />
}<br />
<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
.row-formitemresponsive div:first-child {<br />
align-self: center;<br />
border-right: none;<br />
}<br />
<br />
.row-formitemresponsive{<br />
padding: 7px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive input {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
<br />
.verdict-item{<br />
padding: 7px 0;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
div .verdict-item:first-child{<br />
border-top: none;<br />
}<br />
.percentage {<br />
max-height: 40px;<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.vi{<br />
border-radius: 30px;<br />
padding: 7px 25px;<br />
background: #f2f2f2;<br />
}<br />
.truth-no{<br />
background:#990000;<br />
color:white;<br />
}<br />
.truth-yes{<br />
background:#339966;<br />
color:white;<br />
<br />
}<br />
.verdict-type {<br />
writing-mode: vertical-lr;<br />
text-orientation: mixed;<br />
transform: rotate(180deg);<br />
}<br />
.verdict-wrapper {<br />
border-left: 2px solid #bdbcbc;<br />
padding-left: 14px;<br />
margin-left: 14px;<br />
}<br />
.inner-percentage {<br />
background: #f2f2f2;<br />
padding: 0 7px;<br />
border-radius: 40px;<br />
margin: 0 -16px;<br />
}<br />
.profile-img{<br />
border: 2px solid #E2EEFE;<br />
background: #F6F9FF;<br />
border-radius: 50%;<br />
color: #006599;<br />
font-size: 439%;<br />
text-align: center;<br />
height: max-content;<br />
}<br />
canvas.jqplot-grid-canvas {<br />
display: none;<br />
}<br />
.upload-preview{<br />
font-size: 0;<br />
}<br />
.upload-preview li {<br />
list-style: none;<br />
font-size: 0;<br />
}<br />
.upload-preview img, .upload-preview svg{<br />
max-width:70px;<br />
padding: 0.25rem;<br />
background-color: #fff;<br />
border: 1px solid #dee2e6;<br />
border-radius: 0.25rem;<br />
box-shadow: 0 1px 2px rgba(0,0,0,0.075);<br />
height: auto;<br />
}<br />
div#error_file-upload {<br />
display: none;<br />
}<br />
.box {<br />
border: 2px solid #f2f2f2;<br />
padding: 12px;<br />
margin: 25px auto;<br />
border-radius: 12px;<br />
}<br />
.info-box {<br />
border: 2px solid #E2EEFE;<br />
padding: 12px;<br />
margin: 25px auto;<br />
background: #F6F9FF;<br />
border-radius: 12px;<br />
color: #006599;<br />
text-align: center;<br />
}<br />
.info-box hr{<br />
border-top: 1px solid #006599;<br />
}<br />
.info-box details[open] {<br />
background: #e2eefd;<br />
margin: 0 -12px;<br />
padding: 0 12px;<br />
}<br />
.info-row b {<br />
display: block;<br />
}<br />
<br />
.info-row {<br />
border-bottom: 2px solid #f6f9ff;<br />
text-align: left;<br />
padding-bottom: 6px;<br />
}<br />
.info-row .percnt {<br />
background: #016499;<br />
color: white;<br />
padding: 0 7px;<br />
border-radius: 12px;<br />
float: right;<br />
}<br />
.btn-half.btn-green {<br />
border-radius: 0 30px 30px 0;<br />
}<br />
<br />
.btn-half {<br />
font-size: 12px;<br />
padding: 12px 23px;<br />
}<br />
.btn-half.btn-red {<br />
border-radius: 30px 0 0 30px;<br />
}<br />
.flow-index{<br />
justify-content: stretch;<br />
}<br />
.flow-index div:after {<br />
content: "";<br />
position: absolute;<br />
width: 20px;<br />
height: 20px;<br />
background: #f6f9ff;<br />
border-top: 2px solid #e2eefe;<br />
border-right: 2px solid #e2eefe;<br />
border-top-right-radius: 6px;<br />
z-index: 99;<br />
right: -12px;<br />
top: calc(50% - 10px);<br />
transform: rotate(45deg);<br />
}<br />
<br />
.flow-index div {<br />
width: 100%;<br />
font-size: 0.8em;<br />
position: relative;<br />
border: 2px solid #E2EEFE;<br />
padding: 6px 10px;<br />
background: #F6F9FF;<br />
/* border-radius: 12px; */<br />
color: #006599;<br />
text-align: center;<br />
/* width: 12.5%; */<br />
background: #F6F9FF;<br />
margin-right: -2px;<br />
line-height: 1.2em;<br />
align-self: end;<br />
<br />
}<br />
.lie-input b{<br />
color:white;<br />
background:#990000;<br />
}<br />
<br />
.lie-input i{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
font-style: normal;<br />
}<br />
<br />
#fake-field {<br />
border-radius: 0 0px 30px 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
min-height: 200px;<br />
width: 100%;<br />
padding: 0.375rem 0.75rem;<br />
font-size: 1rem;<br />
font-weight: 400;<br />
line-height: 1.5;<br />
color: #495057;<br />
outline: none;<br />
border-top: 2px solid #6b747d;<br />
height: unset;<br />
}<br />
.btn-mark.btn {<br />
font-size: 12px;<br />
padding: 4px 21px;<br />
border-radius: 0;<br />
}<br />
div .btn-mark.btn:first-child{<br />
border-radius: 20px 0 0 0;<br />
}<br />
.truth-token{<br />
border: 2px solid #006399;<br />
width: 2em;<br />
height: 2em;<br />
border-radius: 50%;<br />
padding-top: 2px;<br />
display: inline-block;<br />
text-align: center;<br />
background: #ffffff;<br />
color: #006499;<br />
box-shadow: 1px 2px 0px #006599;<br />
margin-right: 7px;<br />
}<br />
#balance.buy {<br />
border-bottom: 2px solid;<br />
padding-bottom: 7px;<br />
margin-bottom: 7px;<br />
}<br />
.total-token-price{<br />
text-align: left;<br />
padding: 9px 0;<br />
border-bottom: 2px solid;<br />
margin-bottom: 7px;<br />
}<br />
<br />
<br />
.icon-bar {<br />
background-color: #888888;<br />
}<br />
.navbar-toggle .icon-bar + .icon-bar {<br />
margin-top: 4px;<br />
}<br />
.navbar-toggle .icon-bar {<br />
display: block;<br />
width: 22px;<br />
height: 2px;<br />
border-radius: 1px;<br />
}<br />
<br />
.home-search{<br />
max-width: 27em;<br />
margin: 0 auto;<br />
}<br />
.banner{<br />
position:relative;<br />
margin:0 -30px;<br />
}<br />
<br />
<br />
@media (max-width:800px){<br />
.row{<br />
margin-right: 0px;<br />
margin-left: 0px;<br />
}<br />
.navbar {<br />
margin: 0 ;<br />
}<br />
.banner {<br />
margin: 0 -15px;<br />
padding: 15px;<br />
}<br />
<br />
}<br />
<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
.checkinput-button input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
.chat.me:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #339966;<br />
position: absolute;<br />
right: -10px;<br />
left:unset;<br />
top: 0;<br />
transform:unset;<br />
}<br />
.chat:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #76acca;<br />
position: absolute;<br />
left: -10px;<br />
right: unset;<br />
top: 0;<br />
transform: scaleX(-1);<br />
}<br />
.chat h3 {<br />
font-size: 12px;<br />
}<br />
h3.chat-1 {<br />
color: orange;<br />
}<br />
h3.chat-2 {<br />
color: #00ff9d;<br />
}<br />
h3.chat-3 {<br />
color: #00f7ff;<br />
}<br />
h3.chat-4 {<br />
color: #c800ff;<br />
}<br />
h3.chat-Plaintiff {<br />
color: yellow;<br />
}<br />
h3.chat-Judge {<br />
color: #990000;<br />
}<br />
.chat.me {<br />
margin: 0 12px 12px 35px;<br />
background: #339966;<br />
}<br />
.chat {<br />
background: #76acca;<br />
color: white;<br />
position: relative;<br />
text-align: left;<br />
padding: 12px;<br />
border-radius: 12px;<br />
margin: 0 35px 12px 12px;<br />
}<br />
#fake-field::selection {<br />
background: #006599;<br />
color: white;<br />
}<br />
.chat h4 {<br />
font-size: 7px;<br />
color: #e2eefe;<br />
text-align: right;<br />
margin: 0;<br />
}<br />
.modal-body img {<br />
max-width: 100%;<br />
}<br />
div .checkinput-button:nth-child(2) input[type="radio"]:checked + span {<br />
background: #990000;<br />
}<br />
.sep{<br />
font-size:1.5em;<br />
padding: 0 1em;<br />
}<br />
.add-more {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor: pointer;<br />
}<br />
#case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
<br />
<br />
/* Signup edits */<br />
label[for="wpReason"], #wpReason {<br />
display: none;<br />
}<br />
<br />
.mw-createacct-benefits-container {<br />
display: none;<br />
}<br />
/* end of signup edits */<br />
<br />
/* Chrome, Safari, Edge, Opera */<br />
<br />
input#Initial-credit-card-nr::-webkit-outer-spin-button,<br />
input#Initial-credit-card-nr::-webkit-inner-spin-button {<br />
-webkit-appearance: none;<br />
margin: 0;<br />
}<br />
<br />
/* Firefox */<br />
input#Initial-credit-card-nr {<br />
-moz-appearance: textfield;<br />
}<br />
<br />
.btn-green {<br />
background-color: #339966!important;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
<br />
.btn-yellow {<br />
background-color: yellow!important;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-red {<br />
background: #990000;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-gray {<br />
background: #6a737d;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-blue {<br />
background: #f6f9ff;<br />
}<br />
.dark-blue{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
}<br />
.red{<br />
color:white;<br />
background: #990000;<br />
font-weight:bold;<br />
}<br />
.btn-square input[type="submit"] {<br />
border-radius: 0 0 5px 5px;<br />
}<br />
<br />
.btn-square {<br />
border: none;<br />
border-radius: 5px;<br />
padding: 0 0;<br />
margin: 2px;<br />
position: relative;<br />
}<br />
.flow-index .active:after {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.upload-preview{display:inline !important;}<br />
<br />
.flow-index .active {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
color: #339965;<br />
margin-left: 2px;<br />
margin-right: 0;<br />
}<br />
.flow-index div.done {<br />
color: #484848;<br />
border: 2px solid #b2b2b2;<br />
background: #f2f2f2;<br />
}<br />
.flow-index div.done:after {<br />
background: #f2f2f2;<br />
border: 2px solid #b2b2b2;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.flow-index div.done:before {<br />
/*content: "✔";*/<br />
position: absolute;<br />
font-size: 5em;<br />
font-weight: 900;<br />
left: 0.2em;<br />
top: 0;<br />
color: #716f6f69;<br />
}<br />
.user-roles {<br />
margin-top: -40px;<br />
margin-left: 20px;<br />
}<br />
.vi.ml-2{<br />
max-height: 38px;<br />
}<br />
input.remove-juror {<br />
background: unset;<br />
border: none;<br />
padding: 0;<br />
position: absolute;<br />
top: 0;<br />
right: 9px;<br />
color: white;<br />
}<br />
.modal-body iframe {<br />
width: 100%;<br />
height: 50vh;<br />
}<br />
.big-icon {<br />
font-size: 4em;<br />
}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Prosecute_a_case&diff=4519
Prosecute a case
2022-08-25T10:08:23Z
<p>Maintenance script: Fill database</p>
<hr />
<div><div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#case-form input, #case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
select:not([multiple]) {<br />
padding: 0 1.5em;<br />
background-color: #f2f2f2;<br />
border-radius: 30px;<br />
-webkit-appearance: none;<br />
-moz-appearance: none;<br />
background-position: right 50%;<br />
background-position-x: right;<br />
background-position-y: 50%;<br />
background-repeat: no-repeat;<br />
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);<br />
line-height: 1;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#case-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
textarea{<br />
min-height:200px;<br />
}<br />
[contentEditable=true]:empty:not(:focus):before{<br />
content:attr(data-placeholder);<br />
color:grey;<br />
}<br />
</style>}}<br />
<br />
</div>{{#if:{{#vardefineecho:@workflow|{{#urldecode:{{#urlget:case}} }} }}<!-- <br />
<br />
// FILL OUT VERDICT<br />
-->|<br />
<h1>Please wait ...</h1><div class="d-none">{{#arraymap:{{#ask:[[{{#var:@workflow}}]][[Filed by::User:{{CURRENTLOGGEDUSER}}]][[Plaintiff verdict::No]]|?Case ID|?Lie|?Modification date|link=none|format=array|sort=Modification date|limit=1|order=desc}}|,|@@@|<br />
<div class="info-item"><br />
Please fill in your plaintiff verdict<br />
<div class="info-row"><b>Lie</b>{{#explode:@@@|<PROP>|2}}<br />
{{#vardefine:@partpage|{{#ask:[[Class::Participant]][[User::User:{{CURRENTLOGGEDUSER}}]][[Workflow::{{#explode:@@@|<PROP>|0}}]]|link=none}} }}<br />
{{#if:{{#var:@partpage}}|<br />
{{#widget:link|type=a|text=link|href={{fullurl:{{#explode:{{#ask:[[Class::Verdict]][[User::User:{{CURRENTLOGGEDUSER}}]]|?Case ID|?Lie|?Modification date|sort=Modification date|limit=1|order=desc|link=none|format=array}}|<PROP>|0}}|Participant={{#var:@partpage}} }} }}<br />
{{#tag:html|<script >setTimeout(function(){document.querySelector('.info-row a').click()},1000)</script>}}<br />
|{{#tag:wsform| <br />
{{#tag:wscreate||mwwrite=Participant/|mwtemplate=Participant|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wscreate||mwwrite=Verdict:{{#explode:@@@|<PROP>|1}}/|mwtemplate=Verdict|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wsfield||type=hidden|name=User|value=User:{{CURRENTLOGGEDUSER}} }}<br />
{{#tag:wsfield||type=hidden|name=Role|value=Plaintiff }}<br />
{{#tag:wsfield||type=hidden|name=Case ID|value={{#explode:@@@|<PROP>|1}} }}<br />
{{#tag:wsfield||type=hidden|name=Workflow|value={{#explode:@@@|<PROP>|0}} }}<!-- <br />
--><br />
{{#tag:wsfield||type=submit|value=Create verdict|class=btn btn-green ml-4 mt-4 mb-4}}<br />
|action=addToWiki|id=form|mwreturn={{fullurl:Verdict:{{#show:{{#var:@workflow}}|?Case ID}}/2}} }}{{#tag:html|<script >setTimeout(function(){document.querySelector('input[type="submit"]').click()},3000)</script>}}|}}| }}<br />
</div></div></div><!--<br />
<br />
<br />
// PROSECUTE CASE <br />
-->|<!--<br />
<br />
<br />
--><h1>Prosecute a case</h1><!-- <br />
--><div class="row"><div class="col-12 col-lg-8">The Internet Court of Lies is meant to create a global community of people who work to provide evidence-based understanding of Fiat Lies and a means by which Social Media and other media can develop their own content curation based on results of the court.<br><br>Submit your prepared suit, to be accepted by the Court. A Judge is assigned, and if he accepts your suit, Jurors may be assigned. You, the Judge, and Jurors can now try your case by editing your suit page further. Finally, the Judge will declare your suit settled, and the suit is done<!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#vardefine:@balance|<!--{{#ttcount:}}-->1 }}</div><div class="col-12 col-lg-4"><div class="info-box mt-0 pb-4"><br />
<h2>Your TruthToken balance</h2><span class="truth-token">{{fa|gavel}}</span>× <span class="nr pb-4">{{#var:@balance}}</span><br><br>Prosecuting a case = 1 TruthToken </div></div>|{{#vardefine:@balance|0}} }}</div><br />
{{#ifexpr:{{#var:@balance}} > 0|<br />
<br />
<wsform action="addToWiki" id="case-form" class="box" enctype="multipart/form-data" ><!-- mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}}|msg=casestarted}}" --><br />
<wscreate mwwrite="Workflow/" mwtemplate="Workflow" mwoption="range:00001-99999" mwfollow="case" /><br />
<wsfield type="hidden" name="Plaintiff verdict" value="No" /><br />
<wsfield type="hidden" name="Stage" value="Waiting for Plaintiff verdict" /><br />
<wsfield type="hidden" name="Filed by" value="User:{{CURRENTLOGGEDUSER}}" /><!-- <br />
-->{{#vardefine:@id|{{Fake token|token={{#time:U|now}}{{#time:U|now}} }} }}<br />
<wsfield type="hidden" name="Case ID" value="{{#var:@id}}" /><br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3>{{#arraydefine:@topics|{{#ask:[[Class::Workflow]]|?Topic|limit=999999|link=none|pagetitle=hide|format=plainlist|headers=hide|mainlabel=-|searchlabel=}} }}{{#arrayunique:@topics}}<br />
|2=<!--<wsselect name="Topic" placeholder="Placeholder" class="form-control"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect>--><wsfield type="text" name="Topic" list="topics" class="form-control mt-2" />{{#tag:html|<datalist id="topics">{{#arraymap:{{#arrayprint:@topics}}|,|@@@|<option value="@@@">@@@</option>|}}</datalist> }}<br />
}}<br />
<h1>The Lie and Context</h1><br />
<!-- <br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Accusation with Evidence</h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Accusation" placeholder="Text with links to evidence" value="{{{Accusation|}}}" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-mark dark-blue" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark " onclick="unformat()">{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select a Time Slot" onclick="createPage()" id="time-slot-button" >Select a Time Slot</wsfield><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="">{{#widget:Multi upload|id={{#var:@id}} }}</div><br />
<small class="muted">* file selction will be uploaded on submitting</small><br />
<br />
}}<br />
<!--{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}--><!-- <br />
--><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<wsfield type="textarea" name="Markup" id="real-field" class="d-none" /><br />
<wsfield type="button" class="btn btn-green float-right" id="upload-button" onclick="uploadFiles(this)">Propose verdict*</wsfield><br />
<wsfield type="submit" id="real-submit" class="d-none" value="niks" /><br />
}}<!-- <br />
--><small>*By clicking "Propose verdict" you agree to tell the Truth, the Whole Truth, and Nothing but the Truth, in their participation in a case. If you lie as a case participant with a Fiat Lie, you risk being banned from further participation in the ICoL.</small><br />
</wsform><br />
{{#tag:html|<script><br />
var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
for(i = 0; i < addMore.length; ++i){<br />
addMore[i].addEventListener('click', addMoreInputs, false);<br />
}<br />
//var newDeceit = document.querySelector('.add-more.lies').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.facts').closest('.col-md-8').querySelector('.original').innerHTML;<br />
var newLocation = document.querySelector('.add-more.locations').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('lies')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
if(this.classList.contains('locations')){<br />
newDiv.innerHTML = newLocation;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
}<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function submitRealField(){<br />
console.log('dededd')<br />
document.getElementById('real-field').value = document.getElementById('fake-field').innerHTML;<br />
setTimeout(function(){<br />
document.getElementById('real-submit').click()<br />
}, 500)<br />
}<br />
<br />
<br />
<br />
<br />
</script>}}|<div class="m-5 alert alert-primary">0 TruthTokens, please buy TruthTokens on your profile page</div><br />
<wsform id="case-form"><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" readonly="readonly" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3><br />
|2=<wsselect name="Topic" placeholder="Placeholder" class="form-control" readonly="readonly"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Description of the lie </h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Description" placeholder="Description" value="{{{Description|}}}" readonly="readonly" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup Lie and any Thruths</h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" readonly="readonly" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-green btn-mark " readonly="readonly" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark" >{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" readonly="readonly" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select Time Slot" onclick="createPage()" /><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}} <br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="d-flex">{{#vardefine:@filename|Import-cse-{{#time: U | now}}.png}}<br />
{{#vardefine:@pagecontent|<nowiki>{{File for case|Case file=</nowiki>1234-132525-767967-3865381265853<nowiki>|Uploaded by=</nowiki>{{CURRENTLOGGEDUSER}}<nowiki>}}</nowiki>}}<br />
<wslabel for="file-upload" class="attachment">{{fa|paperclip}}<br />
<wsfield class="d-none" type="file" name="File" id="file-upload" verbose_id="hiddendiv" target="{{#var:@filename}}" pagecontent="{{#var:@pagecontent}}" readonly="readonly" /></wslabel><br />
<div class="upload-preview hidden" id="hiddendiv"></div></div><br />
<small class="muted">* file selction will be uploaded on submitting</small><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<br />
<br />
<br />
}}</wsform> }} }}<!-- ./ if urlget case enter verdict else prosecute case<br />
-->{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
|Hide=Yes<br />
}}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Home&diff=3930
Template:Home
2022-05-19T11:38:36Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Home''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Home }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
.banner-gradient {<br />
position: absolute;<br />
background-image: linear-gradient(257.36deg, rgba(153, 0, 0, 0.43) -0.72%, rgba(0, 102, 153, 0.73) 95.12%), url({{filepath:Home banner.png}});<br />
top: 0;<br />
left: 0;<br />
width: 100%;<br />
height: 100%;<br />
z-index:-1;<br />
background-size: cover;<br />
background-position: center;<br />
}<br />
.banner img {<br />
width: 100%;<br />
height:auto;<br />
}<br />
.btn-green {<br />
background: #339966;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius:30px;<br />
font-weight: 600;<br />
}<br />
.body-container {<br />
padding: 4em 0;<br />
}<br />
.banner-body h1{<br />
padding-top: 0;<br />
color: white;<br />
font-family: times new roman;<br />
font-size: 68px;<br />
font-style: italic;<br />
font-weight: 900;<br />
border: none;<br />
<br />
}<br />
.banner-body h2{<br />
font-weight: 600;<br />
font-size: 26px;<br />
color: white;<br />
border: none;<br />
<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
</style>}}</div><br />
<div class="body-container mt-4 mb-4 text-center">[[File:Logo.png|link=|300x300px]]<br />
We are serious about bringing truth to lies in Digital Media.<br />
<div class="home-search mb-4"><div id="simpleSearch" class="right-inner-addon"><br />
</div> </div><br />
{{#widget:link|href={{fullurl:Introduction}}|text=Introduction|type=a}}<br />
</div><br />
<div class="banner><div class="banner-gradient"></div><!--<br />
--><div class="banner-body body-container text-white"><h2>The Daily Lie Catcher:</h2><!--<br />
--><h1>Corona virus hazards</h1><!--<br />
--><p>Today try lies about coronavirus hazards. Remember lies of omission are lies. Also justifying a lie with a lie is a lie (nothing but the truth!). Dig in!</p><!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Prosecute_a_case}}}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Special:UserLogin}}}} }}<!--<br />
--></div><!--<br />
--><!--<br />
<br />
--></div><div class="body-container">{{#if:{{{Daily lie|}}}|<h1>The daily Lie catcher</h1>{{#vardefine:@daily|{{#ask:[[{{#show:{{{Daily lie|}}}|?Workflow|link=none}}]]|?Modification date|?Lie|?Description|sort=Modification date|limit=1|format=array}} }}<h3>{{#time:d M Y|{{#explode:{{#var:@daily}}|<PROP>|1}} }}</h3><h2>{{#explode:{{#var:@daily}}|<PROP>|2}}</h2><p>{{#explode:{{#var:@daily}}|<PROP>|3}}</p>{{#widget:link|type=a|text=Visit suit page|href={{fullurl:{{{Daily lie|}}} }} }}|<br />
<h1>{{{Lie heading|}}}</h1><br />
<h3>{{{Lie date|}}}</h3><!-- <br />
--><h2>{{{Lie title|}}}</h2><!-- <br />
--><p>{{{Lie text|}}}</p><!-- <br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Visit suit page|href={{{Lie link|}}}|{{#widget:link|type=a|text=Please login to see suit page|href={{fullurl:Special:UserLogin}} }} }}<br />
}} }}</div><br />
<!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Home&diff=3915
Template:Home
2022-05-18T16:03:42Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Home''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Home }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
.banner-gradient {<br />
position: absolute;<br />
background-image: linear-gradient(257.36deg, rgba(153, 0, 0, 0.43) -0.72%, rgba(0, 102, 153, 0.73) 95.12%), url({{filepath:Home banner.png}});<br />
top: 0;<br />
left: 0;<br />
width: 100%;<br />
height: 100%;<br />
z-index:-1;<br />
background-size: cover;<br />
background-position: center;<br />
}<br />
.banner img {<br />
width: 100%;<br />
height:auto;<br />
}<br />
.btn-green {<br />
background: #339966;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius:30px;<br />
font-weight: 600;<br />
}<br />
.body-container {<br />
padding: 4em 0;<br />
}<br />
.banner-body h1{<br />
padding-top: 0;<br />
color: white;<br />
font-family: times new roman;<br />
font-size: 68px;<br />
font-style: italic;<br />
font-weight: 900;<br />
border: none;<br />
<br />
}<br />
.banner-body h2{<br />
font-weight: 600;<br />
font-size: 26px;<br />
color: white;<br />
border: none;<br />
<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
</style>}}</div><br />
<div class="body-container mt-4 mb-4 text-center">[[File:Logo.png|link=|300x300px]]<br />
We are serious about bringing truth to lies in Digital Media.<br />
<div class="home-search mb-4"><div id="simpleSearch" class="right-inner-addon"><br />
</div> </div><br />
{{#widget:link|href={{fullurl:Introduction}}|text=Introduction|type=a}}<br />
</div><br />
<div class="banner><div class="banner-gradient"></div><!--<br />
--><div class="banner-body body-container text-white"><h2>The Daily Lie Catcher:</h2><!--<br />
--><h1>Corona virus hazards</h1><!--<br />
--><p>Today try lies about coronavirus hazards. Remember lies of omission are lies. Also justifying a lie with a lie is a lie (nothing but the truth!). Dig in!</p><!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Prosecute_a_case}}}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Special:UserLogin}}}} }}<!--<br />
--></div><!--<br />
--><!--<br />
<br />
--></div><div class="body-container">{{#if:{{{Daily lie|}}}|<h1>The daily Lie catcher</h1>{{#vardefine:@daily|{{#ask:[[{{#show:{{{Daily lie|}}}|?Workflow|link=none}}]]|?Modification date|?Lie|?Description|sort=Modification date|limit=1|format=array}} }}<h3>{{#time:d M Y|{{#explode:{{#var:@daily}}|<PROP>|1}} }}</h3><h2>{{#explode:{{#var:@daily}}|<PROP>|2}}</h2><p>{{#explode:{{#var:@daily}}|<PROP>|3}}</p>{{#widget:link|type=a|text=Visit suit page|href={{fullurl:{{{Daily lie|}}} }} }}|<br />
<h1>{{{Lie heading|}}}</h1><br />
<h3>{{{Lie date|}}}</h3><!-- <br />
--><h2>{{{Lie title|}}}</h2><!-- <br />
--><p>{{{Lie text|}}}</p><!-- <br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Visit suit page|href={{{Lie link|}}}|{{#widget:link|type=a|text=Please login to see suit page|href={{fullurl:Special:UserLogin}} }} }}<br />
}} }}</div><br />
<!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Edit_case&diff=3916
Edit case
2022-05-18T16:03:42Z
<p>Maintenance script: Fill database</p>
<hr />
<div>{{#if:{{#urlget:id}}|<br />
{{#vardefine:allowed|{{#ifeq:{{#show:Workflow/{{#urldecode:{{#urlget:id}} }}|?Filed by}}|User:{{CURRENTLOGGEDUSER}}|yes}}{{#ifsysop:yes}} }}<br />
{{#if:{{#var:allowed}}|<br />
{{#vardefine:@info|{{#ask:[[Workflow/{{#urldecode:{{#urlget:id}} }}]]|?Lie|?Markup|?Topic|?Description|?Locations|?Accusation|?uuid|?Meeting|link=none|format=array}} }}<br />
<br />
<br />
<br />
<br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#case-form input, #case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
select:not([multiple]) {<br />
padding: 0 1.5em;<br />
background-color: #f2f2f2;<br />
border-radius: 30px;<br />
-webkit-appearance: none;<br />
-moz-appearance: none;<br />
background-position: right 50%;<br />
background-position-x: right;<br />
background-position-y: 50%;<br />
background-repeat: no-repeat;<br />
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);<br />
line-height: 1;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#case-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
textarea{<br />
min-height:200px;<br />
}<br />
[contentEditable=true]:empty:not(:focus):before{<br />
content:attr(data-placeholder);<br />
color:grey;<br />
}<br />
</style>}}<br />
<br />
</div><br />
<br />
<wsform action="addToWiki" id="case-form" class="box" enctype="multipart/form-data" mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}} }}" ><!-- mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}}|msg=casestarted}}" --><br />
{{#vardefine:pid|{{PAGEID:Workflow/{{#urldecode:{{#urlget:id}} }} }} }}<br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Lie" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Topic" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Description" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Accusation" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Markup" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Locations" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Meeting" /><br />
<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2={{#tag:wsfield||type=text|class=form-control mt-2|name=Lie|placeholder=Short phrase|value={{#explode:{{#var:@info}}|<PROP>|1}} }}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3><br />
|2={{#tag:wsfield||type=text|class=form-control mt-2|name=Topic|value={{#explode:{{#var:@info}}|<PROP>|3}} }}<br />
}} <br />
<br />
<h1>The Lie and Context</h1><!-- <br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Accusation with Evidence</h3><br />
|2={{#tag:wsfield|{{#explode:{{#var:@info}}|<PROP>|6}}|placeholder=Text with links to evidence|type=textarea|class=form-control mt-2|name=Accusation}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-mark dark-blue" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark " onclick="unformat()">{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup|text={{#explode:{{#var:@info}}|<PROP>|2}} }}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2={{#arraymap:{{#explode:{{#var:@info}}|<PROP>|5}}|,|@@@|{{#tag:wsfield||type=text|class=form-control mt-2|name=Locations[]|value=@@@ }}|}}<br />
<br />
<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class="">{{#tag:wsfield||type=text|class=form-control mt-2|name=Meeting|placeholder=Skype/Zoom/...|value={{#explode:{{#var:@info}}|<PROP>|8}} }}</div><br />
}} <br />
<br />
<div ><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="case-img-wrapper"><!--<br />
-->{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#explode:{{#var:@info}}|<PROP>|7}}]]|link=none}}|,|@@@|<span class="btn position-relative img-thumbnail m-1" data-removefile="@@@"> <span class=" position-absolute bg-white p-1">{{fa|times }}</span>[[@@@|link=|70px]]</span>|}}<!--<br />
<br />
-->{{#Widget:Multi upload|edit=true|id={{#explode:{{#var:@info}}|<PROP>|7}} }}</div><br />
<small class="muted">* file selction will be uploaded on submitting</small><br />
}}</div><br />
<!--{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}--><!-- <br />
--><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<wsfield type="textarea" name="Markup" id="real-field" class="d-none" /><br />
<wsfield type="button" class="btn btn-green float-right" id="upload-button" onclick="uploadFiles()">Change case</wsfield><br />
<wsfield type="submit" id="real-submit" class="d-none" value="niks" /><br />
}}<!-- <br />
--><br />
</wsform><br />
{{#tag:html|<script><br />
var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
for(i = 0; i < addMore.length; ++i){<br />
addMore[i].addEventListener('click', addMoreInputs, false);<br />
}<br />
//var newDeceit = document.querySelector('.add-more.lies').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.facts').closest('.col-md-8').querySelector('.original').innerHTML;<br />
var newLocation = document.querySelector('.add-more.locations').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('lies')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
if(this.classList.contains('locations')){<br />
newDiv.innerHTML = newLocation;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
}<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function submitRealField(){<br />
document.getElementById('real-field').value = document.getElementById('fake-field').innerHTML;<br />
setTimeout(function(){<br />
document.getElementById('real-submit').click()<br />
}, 500)<br />
}<br />
<br />
<br />
<br />
<br />
</script>}}<br />
}} }}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Verdict_results&diff=3912
Template:Verdict results
2022-05-18T16:03:41Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Verdict results''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Verdict results }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
{{#vardefine:verdictsarray|{{#ask:{{#if:{{{Verdict|}}}|[[{{{Verdict|}}}]]|[[Class::Verdict]][[Case ID::{{{id|}}}]]{{#if:{{{Context|}}}|[[Context::{{{Context|}}}]]|[[Context::None]] }} }}<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|?Name<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$$$<br />
}}}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|4}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|4}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|5}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|5}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|6}} </div><!-- <br />
<br />
-->{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{#explode:@@@|<PROP>|0}}]]|?=|?Modification date|Format=array|link=none}}|,|###|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=vi attachment mt-2 |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:###|<PROP>|0}}]] Uploaded on: {{#explode:###|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}}</div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Whole Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|7}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|7}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|8}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|8}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|9}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it nothing but the Factual and Whole Truth (Adding other Truths and Lies to the Context)?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|10}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|10}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|11}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|11}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|12}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is the Deceit Intended?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|16}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|16}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|17}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|17}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|18}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Social Acceptability for the lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|22}}|Acceptable|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|22}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|23}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|23}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|24}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Label for the Lie needed to Improve the Social Acceptability?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:@@@|<PROP>|25}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|26}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|26}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|27}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Workflow&diff=3913
Template:Workflow
2022-05-18T16:03:41Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Workflow''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Workflow<br />
|Case ID=<br />
|Type=<br />
|Stage=<br />
|Filed by=<br />
|Lie=<br />
|Topic=<br />
|Description=<br />
|Lies=<br />
|Facts=<br />
|Locations=<br />
|Judge=<br />
|Juror amount=<br />
|Jurors=<br />
|Suit date=<br />
|Plaintiff verdict=<br />
|Reason for judge decline=<br />
|Random judge=<br />
|Random juror=<br />
|Declined judge=<br />
|Declined juror= <br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly>__NOTOC__ __NOTITLE__<!--<br />
-->{{#if:{{{Filed by|}}}|{{#set:Class=Workflow<br />
|Case ID={{{Case ID|}}}<br />
|uuid={{{uuid|}}}<br />
|Type={{{Type|}}}<br />
|Stage={{{Stage|}}}<br />
|Filed by={{{Filed by|}}}<br />
|Lie={{{Lie|}}}<br />
|Topic={{{Topic|}}}<br />
|Accusation={{{Accusation|}}}<br />
|Description={{{Description|}}}<br />
|Markup={{{Markup|}}}<br />
|Locations={{{Locations|}}}<br />
|Judge={{{Judge|}}}<br />
|Meeting={{{Meeting|}}}<br />
|Juror amount={{{Juror amount|}}}<br />
|Jurors={{{Jurors|}}}|+sep=,<br />
|Suit date={{{Suit date|}}}<br />
|Meeting date={{{Meeting date|}}}<br />
|Settlement date={{{Settlement date|}}}<br />
|Plaintiff verdict={{{Plaintiff verdict|No}}}<br />
|Reason for judge decline={{{Reason for judge decline|}}}<br />
|Random judge={{{Random judge|}}}<br />
|Random juror={{{Random juror|}}}|+sep=,<br />
|Declined judge={{{Declined judge|}}}|+sep=,<br />
|Declined juror={{{Declined juror|}}}|+sep=,<br />
|Class case IDs={{{Class case IDs|}}}|+sep=,<br />
|Class request={{{Class request|}}}<br />
|Class title={{{Class title|}}}<br />
|Change={{{Change|none}}}<br />
|Slot={{{Slot|}}}<br />
|Slot month={{#explode:{{{Slot|}}}|-|1}}<br />
|Slot day={{#explode:{{#explode:{{{Slot|}}}|/|0}}|-|2}}<br />
|Slot year={{#explode:{{{Slot|}}}|-|0}}<br />
|Change seen by={{{Change seen by|none}}}|+sep=,<br />
|Settled seen by={{{Settled seen by|none}}}|+sep=,<br />
}} }}<!--<br />
--><h1>{{{Lie|}}}</h1> {{#ask:[[Class::Suit]][[Case ID::{{{Case ID|}}}]]}}<br />
<br />
{{#switch:{{{Stage|}}}<br />
|Waiting for Plaintiff verdict=<div class="d-flex flow-index"><div>Case is proposed</div><div class="active">Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs judge=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div class="active">Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Judge accepted=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div class="active">Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs jurors=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div class="active">Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|In progress=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div class="active">Suit in progress</div><div>Settled</div></div> <br />
|Settled=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div class="active">Settled</div></div><br />
}}<br />
{{#if:{{{Type|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Type</b><br />
|2={{{Type|}}}<br />
}}<br />
}}<br />
{{#if:{{{Reason for judge decline|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Reason for judge decline</b><br />
|2={{{Reason for judge decline|}}}<br />
}}<br />
}}<br />
{{#if:{{{Case ID|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Case ID</b><br />
|2={{{Case ID|}}}<br />
}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Lie title</b><br />
|2={{{Lie|}}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Status</b><br />
|2={{{Stage|}}}<br />
}}<br />
<br />
{{#if:{{{Judge|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Judge</b><br />
|2={{{Judge|}}}<br />
}}<br />
|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Invited judge</b><br />
|2=<wsform action="addToWiki"><br />
{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Random judge}}<br />
{{#arraydefine:$judges|{{#ask: [[User group::icol-user]][[Class::Member]][[Role::Judge]] |limit=9999|link=none|format=plainlist}} }}<br />
{{#arraydefine:$judges-selected|{{{Random judge|}}} }}<br />
<wstoken id="tokener52" name="Random judge" multiple="multiple" placeholder="Type a minimal of 3 characters" class="form-control" ><br />
{{#arraymap:{{#arrayprint:$judges}}|,|__JUDGE__|{{#tag:wsfield|{{PAGENAME:__JUDGE__}}|type=option|value=__JUDGE__|selected={{#if:{{#arraysearch:$judges-selected|__JUDGE__}}|selected}} }}|}}<br />
</wstoken><br />
<wsfield type="submit" class="btn btn-green" value="Save" /></wsform>}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors needed</b><br />
|2=<wsform action="addToWiki">{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Juror amount}}<wsfield type="number" name="Juror amount" value="{{{Juror amount|}}}" /><wsfield type="submit" value="Save" /></wsform><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors accepted invite</b><br />
|2={{#arraydefine:@jurrors|{{{Jurors|}}} }}{{#arraysize:@jurrors}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Accepted Jurors</b><br />
|2={{{Jurors|}}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Invited Jurors</b><br />
|2=<wsform action="addToWiki"><br />
{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Random juror }}<br />
{{#arraydefine:$jurors|{{#ask: [[User group::icol-user]][[Class::Member]][[Role::Juror]] |limit=9999|link=none|format=plainlist}} }}<br />
{{#arraydefine:$jurors-selected|{{{Random juror|}}} }}<br />
<wstoken id="tokener2" name="Random juror[]" multiple="multiple" placeholder="Type a minimal of 3 characters" class="form-control" ><br />
{{#arraymap:{{#arrayprint:$jurors}}|,|__JUROR__|{{#tag:wsfield|{{PAGENAME:__JUROR__}}|type=option|value=__JUROR__|selected={{#if:{{#arraysearch:$jurors-selected|__JUROR__}}|selected}} }}|}}<br />
</wstoken><wsfield type="submit" class="btn btn-green" value="Save" /></wsform>}}<br />
<br />
<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Plaintiff</b><br />
|2={{{Filed by|}}}<br />
}}{{DISPLAYTITLE:{{{Lie|}}} {{#ifeq:{{#var:@type}}|Class|(Class)}} - Workflow }}<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Ws-navmenu&diff=3914
MediaWiki:Ws-navmenu
2022-05-18T16:03:41Z
<p>Maintenance script: Fill database</p>
<hr />
<div>{{WSNavMenu | Input=Main Page*{{Fa|home}} Home<br />
<br />
{{#ifsysop:Members*Members}}<br />
<br />
{{#if:{{CURRENTLOGGEDUSER}}|Suits*Suits}}<br />
<br />
<br />
Prosecute_a_case*Start a case<br />
<br />
{{#ifsysop:Workflow*Workflow}}<br />
<br />
{{#ifsysop:Tools<br />
User data*User data<br />
MediaWiki:ws-navmenu*NavMenu<br />
MediaWiki:ws-header*Header<br />
MediaWiki:ws-footer*Footer<br />
Landing pages*Landing pages<br />
Suits to show*Suits to show<br />
File:Logo.png*Logo<br />
Wiki:Tasks*{{Fa|life-ring}} Tasks<br />
}}<br />
<br />
{{#if:{{CURRENTLOGGEDUSER}}|{{#ifexist:User:{{CURRENTLOGGEDUSER}}|User:{{CURRENTLOGGEDUSER}}|Create profile}}*{{Fa|user}} Profile}}<br />
<br />
{{#ifingroup:sudo|<br />
Special:Sudo*{{Fa|exchange-alt}} Change user<br />
}}<br />
}}{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
|Hide=Yes<br />
}}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.js&diff=3910
MediaWiki:Common.js
2022-05-18T16:03:40Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* Any JavaScript here will be loaded for all users on every page load. <script>*/<br />
<br />
<br />
<br />
$(document).ready(function () {<br />
<br />
createPageTogglers = document.querySelectorAll('[data-creatpage]');<br />
<br />
if(createPageTogglers && createPageTogglers.length > 0){<br />
<br />
createPageTogglers.forEach(function(el){<br />
<br />
el.addEventListener(<br />
"click",<br />
function () {<br />
createPage( )<br />
})<br />
})<br />
<br />
}<br />
<br />
})<br />
<br />
console.log('uyfuyfuy' );<br />
var createPage = function (current_namespace, current_pagename) {<br />
console.log("working");<br />
<br />
var hiddenInput = document.querySelector('#time-slot-field');<br />
<br />
mw.loader.using(["oojs-ui-windows", 'mediawiki.widgets.DateInputWidget']).then(function () {<br />
// Example: Using getSetupProcess() to configure a window with data passed<br />
// at the time the window is opened.<br />
<br />
// Make a subclass of ProcessDialog<br />
function PageCreateDialog(config) {<br />
PageCreateDialog.super.call(this, config);<br />
}<br />
OO.inheritClass(PageCreateDialog, OO.ui.ProcessDialog);<br />
<br />
// Specify a name for .addWindows()<br />
PageCreateDialog.static.name = "createPageDialog";<br />
PageCreateDialog.static.title = "Select a Time Slot";<br />
// Specify the static configurations: title and action set<br />
PageCreateDialog.static.actions = [<br />
{<br />
flags: "primary",<br />
label: "Continue",<br />
action: "open",<br />
},<br />
{<br />
flags: "safe",<br />
label: "Cancel",<br />
},<br />
];<br />
<br />
// Customize the initialize() function to add content and layouts:<br />
PageCreateDialog.prototype.initialize = function () {<br />
var dialol = this;<br />
PageCreateDialog.super.prototype.initialize.call(this);<br />
this.panel = new OO.ui.PanelLayout({<br />
padded: true,<br />
expanded: false,<br />
});<br />
this.content = new OO.ui.FieldsetLayout();<br />
<br />
<br />
var date = new Date();<br />
<br />
// month = date.getMonth() + 1;<br />
<br />
this.urlInput = new mw.widgets.DateInputWidget({<br />
value: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()<br />
});<br />
<br />
this.field = new OO.ui.FieldLayout(this.urlInput, {<br />
label: "Day",<br />
align: "top",<br />
});<br />
<br />
var times = [];<br />
for (var i = 10; i < 22; i++) {<br />
var hour = i;<br />
var pm = 'AM';<br />
if (i > 12) {<br />
hour = i - 12;<br />
pm = 'PM';<br />
}<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':00' + ' - ' + hour + ':15 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':15' + ' - ' + hour + ':30 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':30' + ' - ' + hour + ':45 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':45' + ' - ' + (hour + 1) + ':00 ' + pm<br />
})<br />
);<br />
}<br />
<br />
this.slotSelect = new OO.ui.ButtonSelectWidget( {<br />
items:<br />
times<br />
} );<br />
<br />
this.slotsWrapper = new OO.ui.FieldLayout( new OO.ui.Widget( {<br />
content: [<br />
new OO.ui.HorizontalLayout( {<br />
items: [<br />
this.slotSelect<br />
]<br />
})<br />
]<br />
}), {<br />
label: "Time",<br />
align: "top",<br />
});<br />
<br />
<br />
<br />
<br />
this.content.addItems([this.field, this.slotsWrapper]);<br />
this.panel.$element.append(this.content.$element);<br />
this.$body.append(this.panel.$element);<br />
var that = this;<br />
this.urlInput.on( 'change', function () {<br />
// The value will always be a valid date or empty string, malformed input is ignored<br />
<br />
that.updateSlots();<br />
<br />
} );<br />
<br />
};<br />
<br />
<br />
PageCreateDialog.prototype.updateSlots = function () {<br />
<br />
var that = this;<br />
var date = that.urlInput.getValue().split('-');<br />
<br />
<br />
var month = date[1];<br />
var year = date[0];<br />
var day = date[2];<br />
<br />
<br />
<br />
<br />
that.slotSelect.items.forEach(function(item){<br />
item.setDisabled(false);<br />
})<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Slot month::' + month + ']][[Slot day::' + day + ']][[Slot year::' + year + ']]|?Slot|limit=500',<br />
formatversion: 2,<br />
format: 'json'<br />
}<br />
var api = new mw.Api;<br />
api.post(params).done(function(data){<br />
if (data.query.results) {<br />
console.log(data.query.results)<br />
Object.entries(data.query.results).forEach(function(slot){<br />
var date = slot[1].printouts.Slot[0].fulltext || slot[1].printouts.Slot[0];<br />
var time = date.split('/')[1];<br />
var item = that.slotSelect.getItemFromLabel(time);<br />
if(item){<br />
item.setDisabled(true);<br />
}<br />
})<br />
// ["Workflow/90"].printouts.Slot[0]<br />
}<br />
})<br />
// ask query function here, and disbale results<br />
// selectItemByLabel(label).setDisabled(true);<br />
<br />
<br />
<br />
<br />
};<br />
// Specify any additional functionality required by the window (disable opening an empty URL, in this case)<br />
<br />
// Specify the dialog height (or don't to use the automatically generated height).<br />
PageCreateDialog.prototype.getBodyHeight = function () {<br />
// Note that "expanded: false" must be set in the panel's configuration for this to work.<br />
// When working with a stack layout, you can use:<br />
// return this.panels.getCurrentItem().$element.outerHeight( true );<br />
return this.panel.$element.outerHeight(true) + 200;<br />
};<br />
<br />
// Use getSetupProcess() to set up the window with data passed to it at the time<br />
// of opening (e.g., url: 'http://www.mediawiki.org', in this example).<br />
PageCreateDialog.prototype.getSetupProcess = function (data) {<br />
data = data || {};<br />
var nuthis = this;<br />
return PageCreateDialog.super.prototype.getSetupProcess<br />
.call(this, data)<br />
.next(function () {<br />
// Set up contents based on data<br />
var val = hiddenInput.value;<br />
if (val) {<br />
var split = val.split('/');<br />
nuthis.urlInput.setValue(split[0]);<br />
nuthis.slotSelect.selectItemByLabel(split[1])<br />
}<br />
nuthis.updateSlots();<br />
<br />
}, this);<br />
};<br />
var boiler = "";<br />
// Specify processes to handle the actions.<br />
PageCreateDialog.prototype.getActionProcess = function (action) {<br />
var nuthis = this;<br />
if (action === "open") {<br />
// Create a new process to handle the action<br />
return new OO.ui.Process(function () {<br />
<br />
var day = nuthis.urlInput.getValue();<br />
var time = nuthis.slotSelect.findSelectedItem().label;<br />
<br />
console.log(day, time)<br />
hiddenInput.value = day + '/' + time;<br />
var button = document.querySelector('#time-slot-button');<br />
button.innerText = day + ' • ' + time;<br />
return 800;<br />
}).next(function(){<br />
nuthis.close({action: action});<br />
return true;<br />
})<br />
}<br />
// Fallback to parent handler<br />
return PageCreateDialog.super.prototype.getActionProcess.call(this, action);<br />
};<br />
<br />
// Use the getTeardownProcess() method to perform actions whenever the dialog is closed.<br />
// This method provides access to data passed into the window's close() method<br />
// or the window manager's closeWindow() method.<br />
PageCreateDialog.prototype.getTeardownProcess = function (data) {<br />
return PageCreateDialog.super.prototype.getTeardownProcess<br />
.call(this, data)<br />
.first(function () {<br />
// Perform any cleanup as needed<br />
}, this);<br />
};<br />
<br />
// Create and append a window manager.<br />
var windowManager = new OO.ui.WindowManager();<br />
$(document.body).append(windowManager.$element);<br />
<br />
// Create a new process dialog window.<br />
var createPageDialog = new PageCreateDialog();<br />
<br />
// Add the window to window manager using the addWindows() method.<br />
windowManager.addWindows([createPageDialog]);<br />
<br />
// Open the window!<br />
windowManager.openWindow(createPageDialog);<br />
});<br />
};<br />
<br />
<br />
<br />
/***<br />
* REMOVE FILE<br />
*<br />
**/<br />
<br />
document.querySelectorAll('[data-removefile]').forEach(function(el){<br />
el.addEventListener('click', function(){<br />
console.log(el.dataset.removefile)<br />
<br />
var r = confirm("Are you sure?");<br />
if (r == true) {<br />
var params = {<br />
action: 'delete',<br />
title: el.dataset.removefile,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data );<br />
el.remove();<br />
} );<br />
}<br />
})<br />
})<br />
<br />
<br />
/**<br />
* POLLING FOR USER PAGES<br />
**/<br />
<br />
var pollWrapper = document.querySelector('[data-poll]');<br />
<br />
var fps = 30;<br />
var now;<br />
var then;<br />
var interval = 100000/fps;<br />
var delta;<br />
<br />
function poll(now) {<br />
if (!then) { then = now; }<br />
requestAnimationFrame(poll);<br />
delta = now - then;<br />
<br />
if (delta > interval) {<br />
then = now - (delta % interval);<br />
<br />
<br />
if(pollWrapper.dataset.poll == 'Messages'){<br />
goPolling()<br />
}else{<br />
workflowPolling()<br />
}<br />
}<br />
}<br />
<br />
<br />
<br />
if(pollWrapper){<br />
poll();<br />
}<br />
<br />
<br />
<br />
<br />
<br />
var polledWorkflows = false;<br />
<br />
function workflowPolling(){<br />
var params = {<br />
action: 'ask',<br />
query: '[[Workflow::' + pollWrapper.dataset.workflow + ']]|?Modification date',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var flows = Object.entries(data.query.results).map(function(entrie){<br />
return entrie[1].printouts['Modification date'][0].timestamp<br />
})<br />
if(polledWorkflows && flows.sort().join() != polledWorkflows.sort().join()){<br />
console.log('found something new', flows);<br />
console.log('polled', polledWorkflows);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledWorkflows = flows<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
var polledJurors = false;<br />
<br />
function goPolling(){<br />
var user = mw.config.values.wgRelevantUserName;<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Class::Workflow]][[Random juror::User:' + user + ']] OR [[Random judge::User:' + user + ']]',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var newKeys = Object.keys(data.query.results);<br />
if(polledJurors && newKeys.sort().join() != polledJurors.sort().join()){<br />
console.log('found something new', newKeys);<br />
console.log('polled', polledJurors);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledJurors = newKeys;<br />
}<br />
})<br />
}<br />
<br />
function reloadSection(){<br />
<br />
var template = pollWrapper.dataset.poll;<br />
var paramters = pollWrapper.dataset.parameters.replaceAll('^', '|')<br />
var params = {<br />
action: 'parse',<br />
text: '{{' + template + '|' + paramters + '|Fullpagename=' + mw.config.values.wgPageName.replaceAll('_', ' ') + '}}',<br />
contentmodel: 'wikitext',<br />
wrapoutputclass: '',<br />
disableeditsection: true,<br />
disablelimitreport: true,<br />
disabletoc: true,<br />
formatversion: 2,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.parse){<br />
if(template == 'Messages'){<br />
$(pollWrapper).html(data.parse.text)<br />
} else {<br />
$('#mw-content-text').html(data.parse.text)<br />
}<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
<br />
<br />
function logmeout(){<br />
<br />
var params = {<br />
action: 'logout',<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data, 'we logged you out' );<br />
window.location = mw.config.values.wgServer + '/index.php/Main_Page';<br />
} );<br />
<br />
}<br />
<br />
<br />
<br />
$( document ).ready(function() {<br />
<br />
<br />
if ($('.WSShowOnSelect') ) {<br />
WsShowOnSelect();<br />
}<br />
<br />
$('body.action-edit #wpTextbox1, body.action-submit #wpTextbox1').keydown(function(event) {<br />
var x = event.keyCode;<br />
if (x == 13 ) {<br />
if(!event.shiftKey){<br />
var insert = document.execCommand('insertText', false, '<!-- \n -->');<br />
if(insert){<br />
event.preventDefault();<br />
$('#wpTextbox1').focus()<br />
insert<br />
}<br />
}<br />
}<br />
})<br />
<br />
<br />
<br />
<br />
// Start of esc save<br />
<br />
<br />
<br />
$('body.action-edit, body.action-submit').keydown(function() {<br />
var x = event.keyCode;<br />
if (x == 27) {<br />
$.ajax({<br />
url :'/api.php?action=query&meta=tokens&format=json',<br />
type: 'GET',<br />
dataType: 'json',<br />
success : function(result){<br />
var token = result.query.tokens.csrftoken;<br />
<br />
$("input[name='wpEditToken']").attr("value", token );<br />
<br />
saveEdit();<br />
<br />
}<br />
});<br />
}else{<br />
mw.confirmCloseWindow();<br />
$('#wpSave, #wpPreview, #wpDiff').on('click', function(){<br />
$( window ).off( 'beforeunload' );<br />
})<br />
}<br />
<br />
})<br />
<br />
if($('body').hasClass('action-submit')){<br />
$('#top').prepend('<button class="btn btn-success enable-live-mode">Enable live mode</button>');<br />
$(document).on('click','.enable-live-mode', function(){<br />
if($(this).hasClass('btn-success')){<br />
liveMode();<br />
$(this).removeClass('btn-success');<br />
$(this).text('Live mode is on');<br />
}else{<br />
$(this).addClass('btn-success');<br />
$('body.action-submit textarea').off("change keyup paste");<br />
$(this).text('Enable live mode');<br />
}<br />
<br />
});<br />
}<br />
});<br />
<br />
window.saveEdit = function() {<br />
$.ajax({<br />
url : $('form.mw-editform').attr('action'),<br />
type : 'POST',<br />
data :$('form.mw-editform').serialize(),<br />
success : function(html) {<br />
$( window ).off( 'beforeunload' );<br />
mw.notify( 'Saved' );<br />
if($('body').hasClass('action-submit')){<br />
var parser = new DOMParser();<br />
var doc = parser.parseFromString(html, "text/html");<br />
var elem = doc.querySelectorAll('.mw-content-ltr')[0];<br />
$('.mw-content-ltr').html(elem);<br />
}<br />
}<br />
})<br />
};<br />
<br />
window.liveMode = function() {<br />
var oldVal = "";<br />
$('body.action-submit textarea').on("change keyup paste", function() {<br />
var currentVal = $(this).val();<br />
if(currentVal == oldVal) {<br />
return; //check to prevent multiple simultaneous triggers<br />
}<br />
<br />
oldVal = currentVal;<br />
var text = encodeURIComponent($('textarea').val());<br />
<br />
$.ajax({<br />
url: '/api.php?action=parse&format=json&formatversion=2&title=New&text='+text+'&pst=&prop=text%7Cmodules%7Cjsconfigvars&preview=true&disableeditsection=true&uselang=en',<br />
dataType: 'json',<br />
success: function (x) {<br />
$('#wikiPreview').html(x.parse.text);<br />
}<br />
});<br />
});<br />
};<br />
/* End of Esc Save */<br />
<br />
<br />
/***** WSForm: loading Select2 ****/<br />
$( document ).ready(function() {<br />
if ($('select[data-inputtype="ws-select2"]')[0]) {<br />
mw.loader.load('/extensions/WSForm/select2.min.css', 'text/css');<br />
$.getScript('/extensions/WSForm/select2.min.js').done(function() {<br />
$('select[data-inputtype="ws-select2"]').each(function() {<br />
var selectid = $(this).attr('id');<br />
var selectoptionsid = 'select2options-' + selectid;<br />
var select2config = $("input#" + selectoptionsid).val();<br />
var F = new Function(select2config);<br />
return (F());<br />
});<br />
});<br />
}<br />
});<br />
/* End of WSForm: Select2 */<br />
<br />
(function($) {<br />
$.fn.autogrow = function() {<br />
return this.each(function() {<br />
var textarea = this;<br />
$.fn.autogrow.resize(textarea);<br />
$(textarea).focus(function() {<br />
textarea.interval = setInterval(function() {<br />
$.fn.autogrow.resize(textarea);<br />
}, 500);<br />
}).blur(function() {<br />
clearInterval(textarea.interval);<br />
});<br />
});<br />
};<br />
$.fn.autogrow.resize = function(textarea) {<br />
var lineHeight = parseInt($(textarea).css('line-height'), 10);<br />
var lines = textarea.value.split('\n');<br />
var columns = textarea.cols;<br />
var lineCount = 0;<br />
<br />
/**<br />
* measures the text pixel width<br />
* @param text<br />
* @returns {*|jQuery}<br />
*/<br />
function textMeasure(text) {<br />
var div = document.createElement('div');<br />
document.body.appendChild(div);<br />
$(div).css({<br />
position: 'absolute',<br />
left: -1000,<br />
top: -1000,<br />
display: 'none'<br />
});<br />
$(div).html(text);<br />
const width = $(div).outerWidth();<br />
$(div).remove();<br />
return width;<br />
}<br />
<br />
$.each(lines, function() {<br />
lineCount += Math.ceil(textMeasure(this) / ($(textarea).innerWidth() - 125)) || 1;<br />
// lineCount += Math.ceil(this.length / columns) || 1;<br />
});<br />
var height = lineHeight * (lineCount + 1);<br />
$(textarea).css('height', height);<br />
};<br />
})(jQuery);<br />
<br />
$('textarea.form-control').autogrow();<br />
<br />
<br />
/* WSSHOWONSELECT */<br />
/**<br />
* applying show on select on the page and make sure everyting will be handled as needed<br />
*/<br />
function WsShowOnSelect() {<br />
var selectArray = [];<br />
$('.WSShowOnSelect').find('[data-wssos-show]').each(function (index, elm) {<br />
if ( $(elm).is('option') ) {<br />
var isInArray = false;<br />
var selectParent = $(elm).parent()[0];<br />
for ( var i = 0; i < selectArray.length; i++ ) {<br />
if ( $(selectParent).is($(selectArray[i])) ) {<br />
isInArray = true;<br />
}<br />
}<br />
if ( !isInArray ) {<br />
selectArray.push(selectParent);<br />
handleSelect(selectParent);<br />
}<br />
} else if ( $(elm).is('input[type=radio]') ) {<br />
handleRadio(elm);<br />
} else if ( $(elm).is('input[type=checkbox]') ) {<br />
handleCheckbox(elm);<br />
} else if ( $(elm).is('button') ) {<br />
handleButton(elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the radio button changes, show what is needed<br />
* @param radioElm<br />
*/<br />
function handleRadio(radioElm) {<br />
var pre_wssos_value = $(radioElm).data('wssos-show');<br />
var pre_parent_wssos = $(radioElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(radioElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(radioElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( radioElm.checked ) {<br />
$(pre_wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(pre_wssos_elm);<br />
} else {<br />
putAllTypesNameInData(pre_wssos_elm);<br />
}<br />
$(pre_parent_wssos).find('input[type=radio][name="'+ radioElm.name +'"]').on('change', function () {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
$(parent_wssos).find('input[name="'+this.name+'"][type="radio"]').each(function(index, radiobtn) {<br />
var radio_hide_data_attr = $(radiobtn).data('wssos-show');<br />
$(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]').addClass('hidden');<br />
putAllTypesNameInData($(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]'));<br />
});<br />
<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the checkbox changes, show what is needed<br />
* @param checkElm<br />
*/<br />
function handleCheckbox(checkElm) {<br />
var pre_wssos_value = $(checkElm).data('wssos-show');<br />
var pre_parent_wssos = $(checkElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(checkElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(checkElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( checkElm.checked ) {<br />
pre_wssos_elm.removeClass('hidden');<br />
// set the dataset value of data-name-attribute back in the name attribute<br />
putAllTypesDataInName(pre_wssos_elm);<br />
<br />
// set the name value of the unchecked element in the value of data-name-attribute and remove the name attribute<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
putAllTypesNameInData(pre_unchecked_elm);<br />
}<br />
} else {<br />
// set data-name-attribute to the value of name attribute and remove the name attribute<br />
putAllTypesNameInData(pre_wssos_elm);<br />
<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
$(pre_unchecked_elm).removeClass('hidden');<br />
// set the name attribute to the value of data-name-attribute<br />
putAllTypesDataInName(pre_unchecked_elm);<br />
}<br />
}<br />
$(checkElm).on('change', function(e) {<br />
e.stopPropagation();<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
<br />
if ( $(this).has('data-wssos-show-unchecked') ) {<br />
var wssos_unchecked_value = $(this).data('wssos-show-unchecked');<br />
var wssos_unchecked_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_unchecked_value+'"]');<br />
if ( this.checked ) {<br />
wssos_unchecked_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_unchecked_elm);<br />
} else {<br />
wssos_unchecked_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_unchecked_elm);<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* handle the select box changes to show what is needed on select<br />
* @param selectElm<br />
*/<br />
function handleSelect(selectElm) {<br />
var selectVal = $(selectElm).val();<br />
$(selectElm).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(option).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected || $(option).val() === selectVal) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
<br />
$(selectElm).on('change', function () {<br />
$(this).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
});<br />
}<br />
<br />
function handleButton(btnElm) {<br />
var pre_wssos_value = $(this).data('wssos-show');<br />
var pre_parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
<br />
// set up the start and make sure the element is hidden<br />
$(pre_wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(pre_wssos_elm);<br />
// add on click listener to the button<br />
$(btnElm).on('click', function(e) {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
<br />
// possibility to hide the wanted element back if an option<br />
if ( !$(wssos_elm).hasClass('hidden') ) {<br />
$(wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
} else {<br />
$(wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* find all different types which name attribute should go to the dataset<br />
* @param elm<br />
*/<br />
function putAllTypesNameInData(elm) {<br />
putNameAttrValueInDataset($(elm).find('input,select,textarea'));<br />
putRequiredInDataset($(elm).find('input,select,textarea'));<br />
}<br />
<br />
<br />
/**<br />
* find all different types which data-attribute should go to the name-attribute<br />
* @param elm<br />
*/<br />
function putAllTypesDataInName(elm) {<br />
putDatasetValueBackInName($(elm).find('input,select,textarea'));<br />
putDatasetInRequired($(elm).find('input,select,textarea'));<br />
}<br />
<br />
/**<br />
* set the name attribute value to the dataset data-name-attribute, remove the name attribute<br />
* @param elm<br />
*/<br />
function putNameAttrValueInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).attr('name') !== '' ) {<br />
var name = $(elm).attr('name');<br />
if (name) {<br />
$(elm).attr('data-name-attribute', name);<br />
$(elm).removeAttr('name');<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* set the name attribute to the value of the data-name-attribute<br />
* @param elm<br />
*/<br />
function putDatasetValueBackInName($elm) {<br />
$.each($elm, function(index, elm) {<br />
if ( $(elm).attr('data-name-attribute') !== '' ) {<br />
var datasetName = $(elm).data('name-attribute');<br />
if (datasetName) {<br />
$(elm).attr('name', datasetName);<br />
}<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* set the required attr in the dataset data-ws-required<br />
* @param $elm<br />
*/<br />
function putRequiredInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).is(':required') ) {<br />
$(elm).attr('data-ws-required', true);<br />
$(elm).prop('required', false);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* if the element has data-ws-required the make the element required<br />
* @param $elm<br />
*/<br />
function putDatasetInRequired($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).data('ws-required') ) {<br />
$(elm).prop('required', true);<br />
}<br />
})<br />
}<br />
<br />
/* END OF WSSHOWONSELECT */<br />
$( document ).ready(function() {<br />
if( $('.redirect-link').length > 0 ) {<br />
$('.redirect-link a')[0].click();<br />
}<br />
})</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.css&diff=3911
MediaWiki:Common.css
2022-05-18T16:03:40Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* <style> */<br />
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');<br />
<br />
input.pending,<br />
button.pending,<br />
.pending {<br />
background-color: gray !important;<br />
background-image: linear-gradient(<br />
135deg,<br />
green 25%,<br />
transparent 25%,<br />
transparent 50%,<br />
green 50%,<br />
green 75%,<br />
transparent 75%<br />
,transparent<br />
) ;<br />
background-size: 1.42857143em 1.42857143em ;<br />
animation: wikisearch-input--pending-animation 650ms linear infinite;<br />
}<br />
<br />
@keyframes wikisearch-input--pending-animation {<br />
0% {<br />
background-position: -1.42857143em 0 <br />
}<br />
<br />
100% {<br />
background-position: 0 0<br />
}<br />
}<br />
<br />
/* T7729 */<br />
<br />
input.remove-juror:hover {<br />
opacity: 1;<br />
}<br />
<br />
input.remove-juror {<br />
width: 100%;<br />
height: 100%;<br />
background: #ff000042;<br />
left: 0;<br />
opacity: 0;<br />
}<br />
<br />
/***********/<br />
<br />
/*<br />
details summary::before { <br />
content:"open"; <br />
}<br />
<br />
details[open] summary::before { <br />
content:"close"; <br />
}<br />
*/<br />
.oo-ui-horizontalLayout div.oo-ui-selectWidget {<br />
display: grid;<br />
grid-template-columns: 1fr 1fr 1fr;<br />
}<br />
<br />
.oo-ui-horizontalLayout .oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget .oo-ui-buttonElement-button {<br />
width: 100%;<br />
}<br />
<br />
.case-img-wrapper img{<br />
max-width: 70px;<br />
height: auto;<br />
}<br />
<br />
<br />
.hidden {<br />
display: none;<br />
}<br />
::-webkit-scrollbar {<br />
width: 14px;<br />
height: 18px;<br />
}<br />
::-webkit-scrollbar-thumb {<br />
height: 6px;<br />
border: 4px solid rgba(0, 0, 0, 0);<br />
background-clip: padding-box;<br />
-webkit-border-radius: 7px;<br />
background-color: rgba(0, 0, 0, 0.15);<br />
-webkit-box-shadow: inset -1px -1px 0px rgba(0, 0, 0, 0.05), inset 1px 1px 0px rgba(0, 0, 0, 0.05);<br />
}<br />
::-webkit-scrollbar-button {<br />
width: 0;<br />
height: 0;<br />
display: none;<br />
}<br />
::-webkit-scrollbar-corner {<br />
background-color: transparent;<br />
}<br />
.mw-body ul, .mw-body ol {<br />
margin: 0 0 10.5px;<br />
}<br />
@media screen {<br />
.onlyprint {<br />
display:none;<br />
}<br />
}<br />
/** Search box search symbol to the right <br />
.left-inner-addon {<br />
position: relative;<br />
}<br />
.left-inner-addon input {<br />
padding-left: 30px; <br />
}<br />
.left-inner-addon i {<br />
position: absolute;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}<br />
.right-inner-addon {<br />
position: relative;<br />
}<br />
.right-inner-addon input {<br />
padding-right: 30px; <br />
}<br />
.right-inner-addon i {<br />
position: absolute;<br />
right: 0px;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}*/<br />
.select2-container {<br />
width: 100% !important;<br />
margin-bottom: 1rem !important;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
.color-blue{<br />
color:#006699;<br />
}<br />
body{<br />
position: relative;<br />
min-height: 100vh;<br />
}<br />
<br />
<br />
body > .container{<br />
max-width:none;<br />
padding: 0;<br />
font-family: 'Open Sans', sans-serif;<br />
padding-bottom: 2.5rem;<br />
}<br />
#content, .container > .mt-1, .body-container{<br />
margin:0 auto;<br />
}<br />
@media (min-width: 576px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 540px;<br />
}<br />
}<br />
@media (min-width: 768px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 720px;<br />
}<br />
}<br />
@media (min-width: 992px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 960px;<br />
}<br />
}<br />
@media (min-width: 1200px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 1140px;<br />
}<br />
}<br />
.container > .row {<br />
width: 100%;<br />
}<br />
.row-WSHeader > .col{<br />
padding:0;<br />
}<br />
.navbar{<br />
margin: 0 15px;<br />
}<br />
.container-fluid .row-wsheader {<br />
border-bottom-width: 10px;<br />
border-bottom-style: solid;<br />
border-bottom-color: #006699;<br />
padding-top: 12px;<br />
border-image-source: linear-gradient(to right, #990000 0%,#990000 20%,#006699 20%,#006699 80%, #339966 80%, #339966 100%);<br />
border-image-slice: 1;<br />
}<br />
.row-WSHeader .container-fluid{<br />
padding:0;<br />
}<br />
.row-wsheader .list-inline{<br />
margin:0;<br />
text-align: center;<br />
}<br />
div.p-navbar {<br />
background-color: #f2f2f2;<br />
}<br />
div.navbar li.nav-item a.nav-link {<br />
color: #484848;<br />
}<br />
input.form-control {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
.nav-item {<br />
padding: 0 12px;<br />
}<br />
#simpleSearch {<br />
margin-top: 24px;<br />
position: relative;<br />
}<br />
.fa-search {<br />
position: absolute;<br />
right: 22px;<br />
transform: scaleX(-1);<br />
color: #6c757d;<br />
top: 7px;<br />
}<br />
.container .mt-5:last-child {<br />
position: absolute;<br />
bottom: 0;<br />
width: 100%;<br />
height: 2.5rem;<br />
}<br />
.container .mt-5:last-child > .col {<br />
padding: 0;<br />
}<br />
.container .mt-5:last-child > .col nav{<br />
margin: 0 -15px;<br />
}<br />
.navbar-nav {<br />
margin: 0 auto;<br />
width:100%;<br />
}<br />
body.rootpage-Main_Page #content{<br />
max-width:none;<br />
padding:0;<br />
}<br />
<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
.row-formitemresponsive div:first-child {<br />
align-self: center;<br />
border-right: none;<br />
}<br />
<br />
.row-formitemresponsive{<br />
padding: 7px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive input {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
<br />
.verdict-item{<br />
padding: 7px 0;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
div .verdict-item:first-child{<br />
border-top: none;<br />
}<br />
.percentage {<br />
max-height: 40px;<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.vi{<br />
border-radius: 30px;<br />
padding: 7px 25px;<br />
background: #f2f2f2;<br />
}<br />
.truth-no{<br />
background:#990000;<br />
color:white;<br />
}<br />
.truth-yes{<br />
background:#339966;<br />
color:white;<br />
<br />
}<br />
.verdict-type {<br />
writing-mode: vertical-lr;<br />
text-orientation: mixed;<br />
transform: rotate(180deg);<br />
}<br />
.verdict-wrapper {<br />
border-left: 2px solid #bdbcbc;<br />
padding-left: 14px;<br />
margin-left: 14px;<br />
}<br />
.inner-percentage {<br />
background: #f2f2f2;<br />
padding: 0 7px;<br />
border-radius: 40px;<br />
margin: 0 -16px;<br />
}<br />
.profile-img{<br />
border: 2px solid #E2EEFE;<br />
background: #F6F9FF;<br />
border-radius: 50%;<br />
color: #006599;<br />
font-size: 439%;<br />
text-align: center;<br />
height: max-content;<br />
}<br />
canvas.jqplot-grid-canvas {<br />
display: none;<br />
}<br />
.upload-preview{<br />
font-size: 0;<br />
}<br />
.upload-preview li {<br />
list-style: none;<br />
font-size: 0;<br />
}<br />
.upload-preview img, .upload-preview svg{<br />
max-width:70px;<br />
padding: 0.25rem;<br />
background-color: #fff;<br />
border: 1px solid #dee2e6;<br />
border-radius: 0.25rem;<br />
box-shadow: 0 1px 2px rgba(0,0,0,0.075);<br />
height: auto;<br />
}<br />
div#error_file-upload {<br />
display: none;<br />
}<br />
.box {<br />
border: 2px solid #f2f2f2;<br />
padding: 12px;<br />
margin: 25px auto;<br />
border-radius: 12px;<br />
}<br />
.info-box {<br />
border: 2px solid #E2EEFE;<br />
padding: 12px;<br />
margin: 25px auto;<br />
background: #F6F9FF;<br />
border-radius: 12px;<br />
color: #006599;<br />
text-align: center;<br />
}<br />
.info-box hr{<br />
border-top: 1px solid #006599;<br />
}<br />
.info-box details[open] {<br />
background: #e2eefd;<br />
margin: 0 -12px;<br />
padding: 0 12px;<br />
}<br />
.info-row b {<br />
display: block;<br />
}<br />
<br />
.info-row {<br />
border-bottom: 2px solid #f6f9ff;<br />
text-align: left;<br />
padding-bottom: 6px;<br />
}<br />
.info-row .percnt {<br />
background: #016499;<br />
color: white;<br />
padding: 0 7px;<br />
border-radius: 12px;<br />
float: right;<br />
}<br />
.btn-half.btn-green {<br />
border-radius: 0 30px 30px 0;<br />
}<br />
<br />
.btn-half {<br />
font-size: 12px;<br />
padding: 12px 23px;<br />
}<br />
.btn-half.btn-red {<br />
border-radius: 30px 0 0 30px;<br />
}<br />
.flow-index{<br />
justify-content: stretch;<br />
}<br />
.flow-index div:after {<br />
content: "";<br />
position: absolute;<br />
width: 20px;<br />
height: 20px;<br />
background: #f6f9ff;<br />
border-top: 2px solid #e2eefe;<br />
border-right: 2px solid #e2eefe;<br />
border-top-right-radius: 6px;<br />
z-index: 99;<br />
right: -12px;<br />
top: calc(50% - 10px);<br />
transform: rotate(45deg);<br />
}<br />
<br />
.flow-index div {<br />
width: 100%;<br />
font-size: 0.8em;<br />
position: relative;<br />
border: 2px solid #E2EEFE;<br />
padding: 6px 10px;<br />
background: #F6F9FF;<br />
/* border-radius: 12px; */<br />
color: #006599;<br />
text-align: center;<br />
/* width: 12.5%; */<br />
background: #F6F9FF;<br />
margin-right: -2px;<br />
line-height: 1.2em;<br />
align-self: end;<br />
<br />
}<br />
.lie-input b{<br />
color:white;<br />
background:#990000;<br />
}<br />
<br />
.lie-input i{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
font-style: normal;<br />
}<br />
<br />
#fake-field {<br />
border-radius: 0 0px 30px 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
min-height: 200px;<br />
width: 100%;<br />
padding: 0.375rem 0.75rem;<br />
font-size: 1rem;<br />
font-weight: 400;<br />
line-height: 1.5;<br />
color: #495057;<br />
outline: none;<br />
border-top: 2px solid #6b747d;<br />
height: unset;<br />
}<br />
.btn-mark.btn {<br />
font-size: 12px;<br />
padding: 4px 21px;<br />
border-radius: 0;<br />
}<br />
div .btn-mark.btn:first-child{<br />
border-radius: 20px 0 0 0;<br />
}<br />
.truth-token{<br />
border: 2px solid #006399;<br />
width: 2em;<br />
height: 2em;<br />
border-radius: 50%;<br />
padding-top: 2px;<br />
display: inline-block;<br />
text-align: center;<br />
background: #ffffff;<br />
color: #006499;<br />
box-shadow: 1px 2px 0px #006599;<br />
margin-right: 7px;<br />
}<br />
#balance.buy {<br />
border-bottom: 2px solid;<br />
padding-bottom: 7px;<br />
margin-bottom: 7px;<br />
}<br />
.total-token-price{<br />
text-align: left;<br />
padding: 9px 0;<br />
border-bottom: 2px solid;<br />
margin-bottom: 7px;<br />
}<br />
<br />
<br />
.icon-bar {<br />
background-color: #888888;<br />
}<br />
.navbar-toggle .icon-bar + .icon-bar {<br />
margin-top: 4px;<br />
}<br />
.navbar-toggle .icon-bar {<br />
display: block;<br />
width: 22px;<br />
height: 2px;<br />
border-radius: 1px;<br />
}<br />
<br />
.home-search{<br />
max-width: 27em;<br />
margin: 0 auto;<br />
}<br />
.banner{<br />
position:relative;<br />
margin:0 -30px;<br />
}<br />
<br />
<br />
@media (max-width:800px){<br />
.row{<br />
margin-right: 0px;<br />
margin-left: 0px;<br />
}<br />
.navbar {<br />
margin: 0 ;<br />
}<br />
.banner {<br />
margin: 0 -15px;<br />
padding: 15px;<br />
}<br />
<br />
}<br />
<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
.checkinput-button input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
.chat.me:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #339966;<br />
position: absolute;<br />
right: -10px;<br />
left:unset;<br />
top: 0;<br />
transform:unset;<br />
}<br />
.chat:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #76acca;<br />
position: absolute;<br />
left: -10px;<br />
right: unset;<br />
top: 0;<br />
transform: scaleX(-1);<br />
}<br />
.chat h3 {<br />
font-size: 12px;<br />
}<br />
h3.chat-1 {<br />
color: orange;<br />
}<br />
h3.chat-2 {<br />
color: #00ff9d;<br />
}<br />
h3.chat-3 {<br />
color: #00f7ff;<br />
}<br />
h3.chat-4 {<br />
color: #c800ff;<br />
}<br />
h3.chat-Plaintiff {<br />
color: yellow;<br />
}<br />
h3.chat-Judge {<br />
color: #990000;<br />
}<br />
.chat.me {<br />
margin: 0 12px 12px 35px;<br />
background: #339966;<br />
}<br />
.chat {<br />
background: #76acca;<br />
color: white;<br />
position: relative;<br />
text-align: left;<br />
padding: 12px;<br />
border-radius: 12px;<br />
margin: 0 35px 12px 12px;<br />
}<br />
#fake-field::selection {<br />
background: #006599;<br />
color: white;<br />
}<br />
.chat h4 {<br />
font-size: 7px;<br />
color: #e2eefe;<br />
text-align: right;<br />
margin: 0;<br />
}<br />
.modal-body img {<br />
max-width: 100%;<br />
}<br />
div .checkinput-button:nth-child(2) input[type="radio"]:checked + span {<br />
background: #990000;<br />
}<br />
.sep{<br />
font-size:1.5em;<br />
padding: 0 1em;<br />
}<br />
.add-more {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor: pointer;<br />
}<br />
#case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
<br />
<br />
/* Signup edits */<br />
label[for="wpReason"], #wpReason {<br />
display: none;<br />
}<br />
<br />
.mw-createacct-benefits-container {<br />
display: none;<br />
}<br />
/* end of signup edits */<br />
<br />
/* Chrome, Safari, Edge, Opera */<br />
<br />
input#Initial-credit-card-nr::-webkit-outer-spin-button,<br />
input#Initial-credit-card-nr::-webkit-inner-spin-button {<br />
-webkit-appearance: none;<br />
margin: 0;<br />
}<br />
<br />
/* Firefox */<br />
input#Initial-credit-card-nr {<br />
-moz-appearance: textfield;<br />
}<br />
<br />
.btn-green {<br />
background-color: #339966!important;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
<br />
.btn-yellow {<br />
background-color: yellow!important;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-red {<br />
background: #990000;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-gray {<br />
background: #6a737d;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-blue {<br />
background: #f6f9ff;<br />
}<br />
.dark-blue{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
}<br />
.red{<br />
color:white;<br />
background: #990000;<br />
font-weight:bold;<br />
}<br />
.btn-square input[type="submit"] {<br />
border-radius: 0 0 5px 5px;<br />
}<br />
<br />
.btn-square {<br />
border: none;<br />
border-radius: 5px;<br />
padding: 0 0;<br />
margin: 2px;<br />
position: relative;<br />
}<br />
.flow-index .active:after {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.upload-preview{display:inline !important;}<br />
<br />
.flow-index .active {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
color: #339965;<br />
margin-left: 2px;<br />
margin-right: 0;<br />
}<br />
.flow-index div.done {<br />
color: #484848;<br />
border: 2px solid #b2b2b2;<br />
background: #f2f2f2;<br />
}<br />
.flow-index div.done:after {<br />
background: #f2f2f2;<br />
border: 2px solid #b2b2b2;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.flow-index div.done:before {<br />
/*content: "✔";*/<br />
position: absolute;<br />
font-size: 5em;<br />
font-weight: 900;<br />
left: 0.2em;<br />
top: 0;<br />
color: #716f6f69;<br />
}<br />
.user-roles {<br />
margin-top: -40px;<br />
margin-left: 20px;<br />
}<br />
.vi.ml-2{<br />
max-height: 38px;<br />
}<br />
input.remove-juror {<br />
background: unset;<br />
border: none;<br />
padding: 0;<br />
position: absolute;<br />
top: 0;<br />
right: 9px;<br />
color: white;<br />
}<br />
.modal-body iframe {<br />
width: 100%;<br />
height: 50vh;<br />
}<br />
.big-icon {<br />
font-size: 4em;<br />
}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Prosecute_a_case&diff=3909
Prosecute a case
2022-05-18T16:03:39Z
<p>Maintenance script: Fill database</p>
<hr />
<div><div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#case-form input, #case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
select:not([multiple]) {<br />
padding: 0 1.5em;<br />
background-color: #f2f2f2;<br />
border-radius: 30px;<br />
-webkit-appearance: none;<br />
-moz-appearance: none;<br />
background-position: right 50%;<br />
background-position-x: right;<br />
background-position-y: 50%;<br />
background-repeat: no-repeat;<br />
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);<br />
line-height: 1;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#case-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
textarea{<br />
min-height:200px;<br />
}<br />
[contentEditable=true]:empty:not(:focus):before{<br />
content:attr(data-placeholder);<br />
color:grey;<br />
}<br />
</style>}}<br />
<br />
</div>{{#if:{{#vardefineecho:@workflow|{{#urldecode:{{#urlget:case}} }} }}<!-- <br />
<br />
// FILL OUT VERDICT<br />
-->|<br />
<h1>Please wait ...</h1><div class="d-none">{{#arraymap:{{#ask:[[{{#var:@workflow}}]][[Filed by::User:{{CURRENTLOGGEDUSER}}]][[Plaintiff verdict::No]]|?Case ID|?Lie|?Modification date|link=none|format=array|sort=Modification date|limit=1|order=desc}}|,|@@@|<br />
<div class="info-item"><br />
Please fill in your plaintiff verdict<br />
<div class="info-row"><b>Lie</b>{{#explode:@@@|<PROP>|2}}<br />
{{#vardefine:@partpage|{{#ask:[[Class::Participant]][[User::User:{{CURRENTLOGGEDUSER}}]][[Workflow::{{#explode:@@@|<PROP>|0}}]]|link=none}} }}<br />
{{#if:{{#var:@partpage}}|<br />
{{#widget:link|type=a|text=link|href={{fullurl:{{#explode:{{#ask:[[Class::Verdict]][[User::User:{{CURRENTLOGGEDUSER}}]]|?Case ID|?Lie|?Modification date|sort=Modification date|limit=1|order=desc|link=none|format=array}}|<PROP>|0}}|Participant={{#var:@partpage}} }} }}<br />
{{#tag:html|<script >setTimeout(function(){document.querySelector('.info-row a').click()},1000)</script>}}<br />
|{{#tag:wsform| <br />
{{#tag:wscreate||mwwrite=Participant/|mwtemplate=Participant|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wscreate||mwwrite=Verdict:{{#explode:@@@|<PROP>|1}}/|mwtemplate=Verdict|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wsfield||type=hidden|name=User|value=User:{{CURRENTLOGGEDUSER}} }}<br />
{{#tag:wsfield||type=hidden|name=Role|value=Plaintiff }}<br />
{{#tag:wsfield||type=hidden|name=Case ID|value={{#explode:@@@|<PROP>|1}} }}<br />
{{#tag:wsfield||type=hidden|name=Workflow|value={{#explode:@@@|<PROP>|0}} }}<!-- <br />
--><br />
{{#tag:wsfield||type=submit|value=Create verdict|class=btn btn-green ml-4 mt-4 mb-4}}<br />
|action=addToWiki|id=form|mwreturn={{fullurl:Verdict:{{#show:{{#var:@workflow}}|?Case ID}}/2}} }}{{#tag:html|<script >setTimeout(function(){document.querySelector('input[type="submit"]').click()},3000)</script>}}|}}| }}<br />
</div></div></div><!--<br />
<br />
<br />
// PROSECUTE CASE <br />
-->|<!--<br />
<br />
<br />
--><h1>Prosecute a case</h1><!-- <br />
--><div class="row"><div class="col-12 col-lg-8">The Internet Court of Lies is meant to create a global community of people who work to provide evidence-based understanding of Fiat Lies and a means by which Social Media and other media can develop their own content curation based on results of the court.<br><br>Submit your prepared suit, to be accepted by the Court. A Judge is assigned, and if he accepts your suit, Jurors may be assigned. You, the Judge, and Jurors can now try your case by editing your suit page further. Finally, the Judge will declare your suit settled, and the suit is done<!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#vardefine:@balance|<!--{{#ttcount:}}-->1 }}</div><div class="col-12 col-lg-4"><div class="info-box mt-0 pb-4"><br />
<h2>Your TruthToken balance</h2><span class="truth-token">{{fa|gavel}}</span>× <span class="nr pb-4">{{#var:@balance}}</span><br><br>Prosecuting a case = 1 TruthToken </div></div>|{{#vardefine:@balance|0}} }}</div><br />
{{#ifexpr:{{#var:@balance}} > 0|<br />
<br />
<wsform action="addToWiki" id="case-form" class="box" enctype="multipart/form-data" ><!-- mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}}|msg=casestarted}}" --><br />
<wscreate mwwrite="Workflow/" mwtemplate="Workflow" mwoption="range:00001-99999" mwfollow="case" /><br />
<wsfield type="hidden" name="Plaintiff verdict" value="No" /><br />
<wsfield type="hidden" name="Stage" value="Waiting for Plaintiff verdict" /><br />
<wsfield type="hidden" name="Filed by" value="User:{{CURRENTLOGGEDUSER}}" /><!-- <br />
-->{{#vardefine:@id|{{Fake token|token={{#time:U|now}}{{#time:U|now}} }} }}<br />
<wsfield type="hidden" name="Case ID" value="{{#var:@id}}" /><br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3>{{#arraydefine:@topics|{{#ask:[[Class::Workflow]]|?Topic|limit=999999|link=none|pagetitle=hide|format=plainlist|headers=hide|mainlabel=-|searchlabel=}} }}{{#arrayunique:@topics}}<br />
|2=<!--<wsselect name="Topic" placeholder="Placeholder" class="form-control"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect>--><wsfield type="text" name="Topic" list="topics" class="form-control mt-2" />{{#tag:html|<datalist id="topics">{{#arraymap:{{#arrayprint:@topics}}|,|@@@|<option value="@@@">@@@</option>|}}</datalist> }}<br />
}}<br />
<h1>The Lie and Context</h1><br />
<!-- <br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Accusation with Evidence</h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Accusation" placeholder="Text with links to evidence" value="{{{Accusation|}}}" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-mark dark-blue" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark " onclick="unformat()">{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select a Time Slot" onclick="createPage()" id="time-slot-button" >Select a Time Slot</wsfield><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="">{{#widget:Multi upload|id={{#var:@id}} }}</div><br />
<small class="muted">* file selction will be uploaded on submitting</small><br />
<br />
}}<br />
<!--{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}--><!-- <br />
--><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<wsfield type="textarea" name="Markup" id="real-field" class="d-none" /><br />
<wsfield type="button" class="btn btn-green float-right" id="upload-button" onclick="uploadFiles(this)">Propose verdict*</wsfield><br />
<wsfield type="submit" id="real-submit" class="d-none" value="niks" /><br />
}}<!-- <br />
--><small>*By clicking "Propose verdict" you agree to tell the Truth, the Whole Truth, and Nothing but the Truth, in their participation in a case. If you lie as a case participant with a Fiat Lie, you risk being banned from further participation in the ICoL.</small><br />
</wsform><br />
{{#tag:html|<script><br />
var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
for(i = 0; i < addMore.length; ++i){<br />
addMore[i].addEventListener('click', addMoreInputs, false);<br />
}<br />
//var newDeceit = document.querySelector('.add-more.lies').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.facts').closest('.col-md-8').querySelector('.original').innerHTML;<br />
var newLocation = document.querySelector('.add-more.locations').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('lies')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
if(this.classList.contains('locations')){<br />
newDiv.innerHTML = newLocation;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
}<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function submitRealField(){<br />
console.log('dededd')<br />
document.getElementById('real-field').value = document.getElementById('fake-field').innerHTML;<br />
setTimeout(function(){<br />
document.getElementById('real-submit').click()<br />
}, 500)<br />
}<br />
<br />
<br />
<br />
<br />
</script>}}|<div class="m-5 alert alert-primary">0 TruthTokens, please buy TruthTokens on your profile page</div><br />
<wsform id="case-form"><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" readonly="readonly" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3><br />
|2=<wsselect name="Topic" placeholder="Placeholder" class="form-control" readonly="readonly"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Description of the lie </h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Description" placeholder="Description" value="{{{Description|}}}" readonly="readonly" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup Lie and any Thruths</h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" readonly="readonly" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-green btn-mark " readonly="readonly" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark" >{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" readonly="readonly" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select Time Slot" onclick="createPage()" /><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}} <br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="d-flex">{{#vardefine:@filename|Import-cse-{{#time: U | now}}.png}}<br />
{{#vardefine:@pagecontent|<nowiki>{{File for case|Case file=</nowiki>1234-132525-767967-3865381265853<nowiki>|Uploaded by=</nowiki>{{CURRENTLOGGEDUSER}}<nowiki>}}</nowiki>}}<br />
<wslabel for="file-upload" class="attachment">{{fa|paperclip}}<br />
<wsfield class="d-none" type="file" name="File" id="file-upload" verbose_id="hiddendiv" target="{{#var:@filename}}" pagecontent="{{#var:@pagecontent}}" readonly="readonly" /></wslabel><br />
<div class="upload-preview hidden" id="hiddendiv"></div></div><br />
<small class="muted">* file selction will be uploaded on submitting</small><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<br />
<br />
<br />
}}</wsform> }} }}<!-- ./ if urlget case enter verdict else prosecute case<br />
-->{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
|Hide=Yes<br />
}}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Home&diff=3500
Template:Home
2022-04-11T11:31:06Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Home''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Home }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
.banner-gradient {<br />
position: absolute;<br />
background-image: linear-gradient(257.36deg, rgba(153, 0, 0, 0.43) -0.72%, rgba(0, 102, 153, 0.73) 95.12%), url({{filepath:Home banner.png}});<br />
top: 0;<br />
left: 0;<br />
width: 100%;<br />
height: 100%;<br />
z-index:-1;<br />
background-size: cover;<br />
background-position: center;<br />
}<br />
.banner img {<br />
width: 100%;<br />
height:auto;<br />
}<br />
.btn-green {<br />
background: #339966;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius:30px;<br />
font-weight: 600;<br />
}<br />
.body-container {<br />
padding: 4em 0;<br />
}<br />
.banner-body h1{<br />
padding-top: 0;<br />
color: white;<br />
font-family: times new roman;<br />
font-size: 68px;<br />
font-style: italic;<br />
font-weight: 900;<br />
border: none;<br />
<br />
}<br />
.banner-body h2{<br />
font-weight: 600;<br />
font-size: 26px;<br />
color: white;<br />
border: none;<br />
<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
</style>}}</div><br />
<div class="body-container mt-4 mb-4 text-center">[[File:Logo.png|link=|300x300px]]<br />
We are serious about bringing truth to lies in Digital Media.<br />
<div class="home-search mb-4"><div id="simpleSearch" class="right-inner-addon"><br />
</div> </div><br />
{{#widget:link|href={{fullurl:Introduction}}|text=Introduction|type=a}}<br />
</div><br />
<div class="banner><div class="banner-gradient"></div><!--<br />
--><div class="banner-body body-container text-white"><h2>The Daily Lie Catcher:</h2><!--<br />
--><h1>Corona virus hazards</h1><!--<br />
--><p>Today try lies about coronavirus hazards. Remember lies of omission are lies. Also justifying a lie with a lie is a lie (nothing but the truth!). Dig in!</p><!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Prosecute_a_case}}}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Special:UserLogin}}}} }}<!--<br />
--></div><!--<br />
--><!--<br />
<br />
--></div><div class="body-container">{{#if:{{{Daily lie|}}}|<h1>The daily Lie catcher</h1>{{#vardefine:@daily|{{#ask:[[{{#show:{{{Daily lie|}}}|?Workflow|link=none}}]]|?Modification date|?Lie|?Description|sort=Modification date|limit=1|format=array}} }}<h3>{{#time:d M Y|{{#explode:{{#var:@daily}}|<PROP>|1}} }}</h3><h2>{{#explode:{{#var:@daily}}|<PROP>|2}}</h2><p>{{#explode:{{#var:@daily}}|<PROP>|3}}</p>{{#widget:link|type=a|text=Visit suit page|href={{fullurl:{{{Daily lie|}}} }} }}|<br />
<h1>{{{Lie heading|}}}</h1><br />
<h3>{{{Lie date|}}}</h3><!-- <br />
--><h2>{{{Lie title|}}}</h2><!-- <br />
--><p>{{{Lie text|}}}</p><!-- <br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Visit suit page|href={{{Lie link|}}}|{{#widget:link|type=a|text=Please login to see suit page|href={{fullurl:Special:UserLogin}} }} }}<br />
}} }}</div><br />
<!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Verdict_results&diff=3499
Template:Verdict results
2022-04-11T11:31:05Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Verdict results''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Verdict results }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
{{#vardefine:verdictsarray|{{#ask:{{#if:{{{Verdict|}}}|[[{{{Verdict|}}}]]|[[Class::Verdict]][[Case ID::{{{id|}}}]]{{#if:{{{Context|}}}|[[Context::{{{Context|}}}]]|[[Context::None]] }} }}<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|?Name<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$$$<br />
}}}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|4}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|4}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|5}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|5}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|6}} </div><!-- <br />
<br />
-->{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{#explode:@@@|<PROP>|0}}]]|?=|?Modification date|Format=array|link=none}}|,|###|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=vi attachment mt-2 |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:###|<PROP>|0}}]] Uploaded on: {{#explode:###|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}}</div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Whole Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|7}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|7}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|8}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|8}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|9}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it nothing but the Factual and Whole Truth (Adding other Truths and Lies to the Context)?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|10}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|10}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|11}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|11}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|12}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is the Deceit Intended?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|16}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|16}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|17}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|17}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|18}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Social Acceptability for the lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|22}}|Acceptable|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|22}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|23}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|23}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|24}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Label for the Lie needed to Improve the Social Acceptability?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$$$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:@@@|<PROP>|25}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|26}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|26}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|27}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.js&diff=3498
MediaWiki:Common.js
2022-04-11T11:31:04Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* Any JavaScript here will be loaded for all users on every page load. <script>*/<br />
<br />
<br />
<br />
$(document).ready(function () {<br />
<br />
createPageTogglers = document.querySelectorAll('[data-creatpage]');<br />
<br />
if(createPageTogglers && createPageTogglers.length > 0){<br />
<br />
createPageTogglers.forEach(function(el){<br />
<br />
el.addEventListener(<br />
"click",<br />
function () {<br />
createPage( )<br />
})<br />
})<br />
<br />
}<br />
<br />
})<br />
<br />
console.log('uyfuyfuy' );<br />
var createPage = function (current_namespace, current_pagename) {<br />
console.log("working");<br />
<br />
var hiddenInput = document.querySelector('#time-slot-field');<br />
<br />
mw.loader.using(["oojs-ui-windows", 'mediawiki.widgets.DateInputWidget']).then(function () {<br />
// Example: Using getSetupProcess() to configure a window with data passed<br />
// at the time the window is opened.<br />
<br />
// Make a subclass of ProcessDialog<br />
function PageCreateDialog(config) {<br />
PageCreateDialog.super.call(this, config);<br />
}<br />
OO.inheritClass(PageCreateDialog, OO.ui.ProcessDialog);<br />
<br />
// Specify a name for .addWindows()<br />
PageCreateDialog.static.name = "createPageDialog";<br />
PageCreateDialog.static.title = "Select a Time Slot";<br />
// Specify the static configurations: title and action set<br />
PageCreateDialog.static.actions = [<br />
{<br />
flags: "primary",<br />
label: "Continue",<br />
action: "open",<br />
},<br />
{<br />
flags: "safe",<br />
label: "Cancel",<br />
},<br />
];<br />
<br />
// Customize the initialize() function to add content and layouts:<br />
PageCreateDialog.prototype.initialize = function () {<br />
var dialol = this;<br />
PageCreateDialog.super.prototype.initialize.call(this);<br />
this.panel = new OO.ui.PanelLayout({<br />
padded: true,<br />
expanded: false,<br />
});<br />
this.content = new OO.ui.FieldsetLayout();<br />
<br />
<br />
var date = new Date();<br />
<br />
// month = date.getMonth() + 1;<br />
<br />
this.urlInput = new mw.widgets.DateInputWidget({<br />
value: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()<br />
});<br />
<br />
this.field = new OO.ui.FieldLayout(this.urlInput, {<br />
label: "Day",<br />
align: "top",<br />
});<br />
<br />
var times = [];<br />
for (var i = 10; i < 22; i++) {<br />
var hour = i;<br />
var pm = 'AM';<br />
if (i > 12) {<br />
hour = i - 12;<br />
pm = 'PM';<br />
}<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':00' + ' - ' + hour + ':15 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':15' + ' - ' + hour + ':30 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':30' + ' - ' + hour + ':45 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':45' + ' - ' + (hour + 1) + ':00 ' + pm<br />
})<br />
);<br />
}<br />
<br />
this.slotSelect = new OO.ui.ButtonSelectWidget( {<br />
items:<br />
times<br />
} );<br />
<br />
this.slotsWrapper = new OO.ui.FieldLayout( new OO.ui.Widget( {<br />
content: [<br />
new OO.ui.HorizontalLayout( {<br />
items: [<br />
this.slotSelect<br />
]<br />
})<br />
]<br />
}), {<br />
label: "Time",<br />
align: "top",<br />
});<br />
<br />
<br />
<br />
<br />
this.content.addItems([this.field, this.slotsWrapper]);<br />
this.panel.$element.append(this.content.$element);<br />
this.$body.append(this.panel.$element);<br />
var that = this;<br />
this.urlInput.on( 'change', function () {<br />
// The value will always be a valid date or empty string, malformed input is ignored<br />
<br />
that.updateSlots();<br />
<br />
} );<br />
<br />
};<br />
<br />
<br />
PageCreateDialog.prototype.updateSlots = function () {<br />
<br />
var that = this;<br />
var date = that.urlInput.getValue().split('-');<br />
<br />
<br />
var month = date[1];<br />
var year = date[0];<br />
var day = date[2];<br />
<br />
<br />
<br />
<br />
that.slotSelect.items.forEach(function(item){<br />
item.setDisabled(false);<br />
})<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Slot month::' + month + ']][[Slot day::' + day + ']][[Slot year::' + year + ']]|?Slot|limit=500',<br />
formatversion: 2,<br />
format: 'json'<br />
}<br />
var api = new mw.Api;<br />
api.post(params).done(function(data){<br />
if (data.query.results) {<br />
console.log(data.query.results)<br />
Object.entries(data.query.results).forEach(function(slot){<br />
var date = slot[1].printouts.Slot[0].fulltext || slot[1].printouts.Slot[0];<br />
var time = date.split('/')[1];<br />
var item = that.slotSelect.getItemFromLabel(time);<br />
if(item){<br />
item.setDisabled(true);<br />
}<br />
})<br />
// ["Workflow/90"].printouts.Slot[0]<br />
}<br />
})<br />
// ask query function here, and disbale results<br />
// selectItemByLabel(label).setDisabled(true);<br />
<br />
<br />
<br />
<br />
};<br />
// Specify any additional functionality required by the window (disable opening an empty URL, in this case)<br />
<br />
// Specify the dialog height (or don't to use the automatically generated height).<br />
PageCreateDialog.prototype.getBodyHeight = function () {<br />
// Note that "expanded: false" must be set in the panel's configuration for this to work.<br />
// When working with a stack layout, you can use:<br />
// return this.panels.getCurrentItem().$element.outerHeight( true );<br />
return this.panel.$element.outerHeight(true) + 200;<br />
};<br />
<br />
// Use getSetupProcess() to set up the window with data passed to it at the time<br />
// of opening (e.g., url: 'http://www.mediawiki.org', in this example).<br />
PageCreateDialog.prototype.getSetupProcess = function (data) {<br />
data = data || {};<br />
var nuthis = this;<br />
return PageCreateDialog.super.prototype.getSetupProcess<br />
.call(this, data)<br />
.next(function () {<br />
// Set up contents based on data<br />
var val = hiddenInput.value;<br />
if (val) {<br />
var split = val.split('/');<br />
nuthis.urlInput.setValue(split[0]);<br />
nuthis.slotSelect.selectItemByLabel(split[1])<br />
}<br />
nuthis.updateSlots();<br />
<br />
}, this);<br />
};<br />
var boiler = "";<br />
// Specify processes to handle the actions.<br />
PageCreateDialog.prototype.getActionProcess = function (action) {<br />
var nuthis = this;<br />
if (action === "open") {<br />
// Create a new process to handle the action<br />
return new OO.ui.Process(function () {<br />
<br />
var day = nuthis.urlInput.getValue();<br />
var time = nuthis.slotSelect.findSelectedItem().label;<br />
<br />
console.log(day, time)<br />
hiddenInput.value = day + '/' + time;<br />
var button = document.querySelector('#time-slot-button');<br />
button.innerText = day + ' • ' + time;<br />
return 800;<br />
}).next(function(){<br />
nuthis.close({action: action});<br />
return true;<br />
})<br />
}<br />
// Fallback to parent handler<br />
return PageCreateDialog.super.prototype.getActionProcess.call(this, action);<br />
};<br />
<br />
// Use the getTeardownProcess() method to perform actions whenever the dialog is closed.<br />
// This method provides access to data passed into the window's close() method<br />
// or the window manager's closeWindow() method.<br />
PageCreateDialog.prototype.getTeardownProcess = function (data) {<br />
return PageCreateDialog.super.prototype.getTeardownProcess<br />
.call(this, data)<br />
.first(function () {<br />
// Perform any cleanup as needed<br />
}, this);<br />
};<br />
<br />
// Create and append a window manager.<br />
var windowManager = new OO.ui.WindowManager();<br />
$(document.body).append(windowManager.$element);<br />
<br />
// Create a new process dialog window.<br />
var createPageDialog = new PageCreateDialog();<br />
<br />
// Add the window to window manager using the addWindows() method.<br />
windowManager.addWindows([createPageDialog]);<br />
<br />
// Open the window!<br />
windowManager.openWindow(createPageDialog);<br />
});<br />
};<br />
<br />
<br />
<br />
/***<br />
* REMOVE FILE<br />
*<br />
**/<br />
<br />
document.querySelectorAll('[data-removefile]').forEach(function(el){<br />
el.addEventListener('click', function(){<br />
console.log(el.dataset.removefile)<br />
<br />
var r = confirm("Are you sure?");<br />
if (r == true) {<br />
var params = {<br />
action: 'delete',<br />
title: el.dataset.removefile,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data );<br />
el.remove();<br />
} );<br />
}<br />
})<br />
})<br />
<br />
<br />
/**<br />
* POLLING FOR USER PAGES<br />
**/<br />
<br />
var pollWrapper = document.querySelector('[data-poll]');<br />
<br />
var fps = 30;<br />
var now;<br />
var then;<br />
var interval = 100000/fps;<br />
var delta;<br />
<br />
function poll(now) {<br />
if (!then) { then = now; }<br />
requestAnimationFrame(poll);<br />
delta = now - then;<br />
<br />
if (delta > interval) {<br />
then = now - (delta % interval);<br />
<br />
<br />
if(pollWrapper.dataset.poll == 'Messages'){<br />
goPolling()<br />
}else{<br />
workflowPolling()<br />
}<br />
}<br />
}<br />
<br />
<br />
<br />
if(pollWrapper){<br />
poll();<br />
}<br />
<br />
<br />
<br />
<br />
<br />
var polledWorkflows = false;<br />
<br />
function workflowPolling(){<br />
var params = {<br />
action: 'ask',<br />
query: '[[Workflow::' + pollWrapper.dataset.workflow + ']]|?Modification date',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var flows = Object.entries(data.query.results).map(function(entrie){<br />
return entrie[1].printouts['Modification date'][0].timestamp<br />
})<br />
if(polledWorkflows && flows.sort().join() != polledWorkflows.sort().join()){<br />
console.log('found something new', flows);<br />
console.log('polled', polledWorkflows);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledWorkflows = flows<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
var polledJurors = false;<br />
<br />
function goPolling(){<br />
var user = mw.config.values.wgRelevantUserName;<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Class::Workflow]][[Random juror::User:' + user + ']] OR [[Random judge::User:' + user + ']]',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var newKeys = Object.keys(data.query.results);<br />
if(polledJurors && newKeys.sort().join() != polledJurors.sort().join()){<br />
console.log('found something new', newKeys);<br />
console.log('polled', polledJurors);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledJurors = newKeys;<br />
}<br />
})<br />
}<br />
<br />
function reloadSection(){<br />
<br />
var template = pollWrapper.dataset.poll;<br />
var paramters = pollWrapper.dataset.parameters.replaceAll('^', '|')<br />
var params = {<br />
action: 'parse',<br />
text: '{{' + template + '|' + paramters + '|Fullpagename=' + mw.config.values.wgPageName.replaceAll('_', ' ') + '}}',<br />
contentmodel: 'wikitext',<br />
wrapoutputclass: '',<br />
disableeditsection: true,<br />
disablelimitreport: true,<br />
disabletoc: true,<br />
formatversion: 2,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.parse){<br />
if(template == 'Messages'){<br />
$(pollWrapper).html(data.parse.text)<br />
} else {<br />
$('#mw-content-text').html(data.parse.text)<br />
}<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
<br />
<br />
function logmeout(){<br />
<br />
var params = {<br />
action: 'logout',<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data, 'we logged you out' );<br />
window.location = mw.config.values.wgServer + '/index.php/Main_Page';<br />
} );<br />
<br />
}<br />
<br />
<br />
<br />
$( document ).ready(function() {<br />
<br />
<br />
if ($('.WSShowOnSelect') ) {<br />
WsShowOnSelect();<br />
}<br />
<br />
$('body.action-edit #wpTextbox1, body.action-submit #wpTextbox1').keydown(function(event) {<br />
var x = event.keyCode;<br />
if (x == 13 ) {<br />
if(!event.shiftKey){<br />
var insert = document.execCommand('insertText', false, '<!-- \n -->');<br />
if(insert){<br />
event.preventDefault();<br />
$('#wpTextbox1').focus()<br />
insert<br />
}<br />
}<br />
}<br />
})<br />
<br />
<br />
<br />
<br />
// Start of esc save<br />
<br />
<br />
<br />
$('body.action-edit, body.action-submit').keydown(function() {<br />
var x = event.keyCode;<br />
if (x == 27) {<br />
$.ajax({<br />
url :'/api.php?action=query&meta=tokens&format=json',<br />
type: 'GET',<br />
dataType: 'json',<br />
success : function(result){<br />
var token = result.query.tokens.csrftoken;<br />
<br />
$("input[name='wpEditToken']").attr("value", token );<br />
<br />
saveEdit();<br />
<br />
}<br />
});<br />
}else{<br />
mw.confirmCloseWindow();<br />
$('#wpSave, #wpPreview, #wpDiff').on('click', function(){<br />
$( window ).off( 'beforeunload' );<br />
})<br />
}<br />
<br />
})<br />
<br />
if($('body').hasClass('action-submit')){<br />
$('#top').prepend('<button class="btn btn-success enable-live-mode">Enable live mode</button>');<br />
$(document).on('click','.enable-live-mode', function(){<br />
if($(this).hasClass('btn-success')){<br />
liveMode();<br />
$(this).removeClass('btn-success');<br />
$(this).text('Live mode is on');<br />
}else{<br />
$(this).addClass('btn-success');<br />
$('body.action-submit textarea').off("change keyup paste");<br />
$(this).text('Enable live mode');<br />
}<br />
<br />
});<br />
}<br />
});<br />
<br />
window.saveEdit = function() {<br />
$.ajax({<br />
url : $('form.mw-editform').attr('action'),<br />
type : 'POST',<br />
data :$('form.mw-editform').serialize(),<br />
success : function(html) {<br />
$( window ).off( 'beforeunload' );<br />
mw.notify( 'Saved' );<br />
if($('body').hasClass('action-submit')){<br />
var parser = new DOMParser();<br />
var doc = parser.parseFromString(html, "text/html");<br />
var elem = doc.querySelectorAll('.mw-content-ltr')[0];<br />
$('.mw-content-ltr').html(elem);<br />
}<br />
}<br />
})<br />
};<br />
<br />
window.liveMode = function() {<br />
var oldVal = "";<br />
$('body.action-submit textarea').on("change keyup paste", function() {<br />
var currentVal = $(this).val();<br />
if(currentVal == oldVal) {<br />
return; //check to prevent multiple simultaneous triggers<br />
}<br />
<br />
oldVal = currentVal;<br />
var text = encodeURIComponent($('textarea').val());<br />
<br />
$.ajax({<br />
url: '/api.php?action=parse&format=json&formatversion=2&title=New&text='+text+'&pst=&prop=text%7Cmodules%7Cjsconfigvars&preview=true&disableeditsection=true&uselang=en',<br />
dataType: 'json',<br />
success: function (x) {<br />
$('#wikiPreview').html(x.parse.text);<br />
}<br />
});<br />
});<br />
};<br />
/* End of Esc Save */<br />
<br />
<br />
/***** WSForm: loading Select2 ****/<br />
$( document ).ready(function() {<br />
if ($('select[data-inputtype="ws-select2"]')[0]) {<br />
mw.loader.load('/extensions/WSForm/select2.min.css', 'text/css');<br />
$.getScript('/extensions/WSForm/select2.min.js').done(function() {<br />
$('select[data-inputtype="ws-select2"]').each(function() {<br />
var selectid = $(this).attr('id');<br />
var selectoptionsid = 'select2options-' + selectid;<br />
var select2config = $("input#" + selectoptionsid).val();<br />
var F = new Function(select2config);<br />
return (F());<br />
});<br />
});<br />
}<br />
});<br />
/* End of WSForm: Select2 */<br />
<br />
(function($) {<br />
$.fn.autogrow = function() {<br />
return this.each(function() {<br />
var textarea = this;<br />
$.fn.autogrow.resize(textarea);<br />
$(textarea).focus(function() {<br />
textarea.interval = setInterval(function() {<br />
$.fn.autogrow.resize(textarea);<br />
}, 500);<br />
}).blur(function() {<br />
clearInterval(textarea.interval);<br />
});<br />
});<br />
};<br />
$.fn.autogrow.resize = function(textarea) {<br />
var lineHeight = parseInt($(textarea).css('line-height'), 10);<br />
var lines = textarea.value.split('\n');<br />
var columns = textarea.cols;<br />
var lineCount = 0;<br />
<br />
/**<br />
* measures the text pixel width<br />
* @param text<br />
* @returns {*|jQuery}<br />
*/<br />
function textMeasure(text) {<br />
var div = document.createElement('div');<br />
document.body.appendChild(div);<br />
$(div).css({<br />
position: 'absolute',<br />
left: -1000,<br />
top: -1000,<br />
display: 'none'<br />
});<br />
$(div).html(text);<br />
const width = $(div).outerWidth();<br />
$(div).remove();<br />
return width;<br />
}<br />
<br />
$.each(lines, function() {<br />
lineCount += Math.ceil(textMeasure(this) / ($(textarea).innerWidth() - 125)) || 1;<br />
// lineCount += Math.ceil(this.length / columns) || 1;<br />
});<br />
var height = lineHeight * (lineCount + 1);<br />
$(textarea).css('height', height);<br />
};<br />
})(jQuery);<br />
<br />
$('textarea.form-control').autogrow();<br />
<br />
<br />
/* WSSHOWONSELECT */<br />
/**<br />
* applying show on select on the page and make sure everyting will be handled as needed<br />
*/<br />
function WsShowOnSelect() {<br />
var selectArray = [];<br />
$('.WSShowOnSelect').find('[data-wssos-show]').each(function (index, elm) {<br />
if ( $(elm).is('option') ) {<br />
var isInArray = false;<br />
var selectParent = $(elm).parent()[0];<br />
for ( var i = 0; i < selectArray.length; i++ ) {<br />
if ( $(selectParent).is($(selectArray[i])) ) {<br />
isInArray = true;<br />
}<br />
}<br />
if ( !isInArray ) {<br />
selectArray.push(selectParent);<br />
handleSelect(selectParent);<br />
}<br />
} else if ( $(elm).is('input[type=radio]') ) {<br />
handleRadio(elm);<br />
} else if ( $(elm).is('input[type=checkbox]') ) {<br />
handleCheckbox(elm);<br />
} else if ( $(elm).is('button') ) {<br />
handleButton(elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the radio button changes, show what is needed<br />
* @param radioElm<br />
*/<br />
function handleRadio(radioElm) {<br />
var pre_wssos_value = $(radioElm).data('wssos-show');<br />
var pre_parent_wssos = $(radioElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(radioElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(radioElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( radioElm.checked ) {<br />
$(pre_wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(pre_wssos_elm);<br />
} else {<br />
putAllTypesNameInData(pre_wssos_elm);<br />
}<br />
$(pre_parent_wssos).find('input[type=radio][name="'+ radioElm.name +'"]').on('change', function () {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
$(parent_wssos).find('input[name="'+this.name+'"][type="radio"]').each(function(index, radiobtn) {<br />
var radio_hide_data_attr = $(radiobtn).data('wssos-show');<br />
$(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]').addClass('hidden');<br />
putAllTypesNameInData($(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]'));<br />
});<br />
<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the checkbox changes, show what is needed<br />
* @param checkElm<br />
*/<br />
function handleCheckbox(checkElm) {<br />
var pre_wssos_value = $(checkElm).data('wssos-show');<br />
var pre_parent_wssos = $(checkElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(checkElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(checkElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( checkElm.checked ) {<br />
pre_wssos_elm.removeClass('hidden');<br />
// set the dataset value of data-name-attribute back in the name attribute<br />
putAllTypesDataInName(pre_wssos_elm);<br />
<br />
// set the name value of the unchecked element in the value of data-name-attribute and remove the name attribute<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
putAllTypesNameInData(pre_unchecked_elm);<br />
}<br />
} else {<br />
// set data-name-attribute to the value of name attribute and remove the name attribute<br />
putAllTypesNameInData(pre_wssos_elm);<br />
<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
$(pre_unchecked_elm).removeClass('hidden');<br />
// set the name attribute to the value of data-name-attribute<br />
putAllTypesDataInName(pre_unchecked_elm);<br />
}<br />
}<br />
$(checkElm).on('change', function(e) {<br />
e.stopPropagation();<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
<br />
if ( $(this).has('data-wssos-show-unchecked') ) {<br />
var wssos_unchecked_value = $(this).data('wssos-show-unchecked');<br />
var wssos_unchecked_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_unchecked_value+'"]');<br />
if ( this.checked ) {<br />
wssos_unchecked_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_unchecked_elm);<br />
} else {<br />
wssos_unchecked_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_unchecked_elm);<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* handle the select box changes to show what is needed on select<br />
* @param selectElm<br />
*/<br />
function handleSelect(selectElm) {<br />
var selectVal = $(selectElm).val();<br />
$(selectElm).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(option).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected || $(option).val() === selectVal) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
<br />
$(selectElm).on('change', function () {<br />
$(this).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
});<br />
}<br />
<br />
function handleButton(btnElm) {<br />
var pre_wssos_value = $(this).data('wssos-show');<br />
var pre_parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
<br />
// set up the start and make sure the element is hidden<br />
$(pre_wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(pre_wssos_elm);<br />
// add on click listener to the button<br />
$(btnElm).on('click', function(e) {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
<br />
// possibility to hide the wanted element back if an option<br />
if ( !$(wssos_elm).hasClass('hidden') ) {<br />
$(wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
} else {<br />
$(wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* find all different types which name attribute should go to the dataset<br />
* @param elm<br />
*/<br />
function putAllTypesNameInData(elm) {<br />
putNameAttrValueInDataset($(elm).find('input,select,textarea'));<br />
putRequiredInDataset($(elm).find('input,select,textarea'));<br />
}<br />
<br />
<br />
/**<br />
* find all different types which data-attribute should go to the name-attribute<br />
* @param elm<br />
*/<br />
function putAllTypesDataInName(elm) {<br />
putDatasetValueBackInName($(elm).find('input,select,textarea'));<br />
putDatasetInRequired($(elm).find('input,select,textarea'));<br />
}<br />
<br />
/**<br />
* set the name attribute value to the dataset data-name-attribute, remove the name attribute<br />
* @param elm<br />
*/<br />
function putNameAttrValueInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).attr('name') !== '' ) {<br />
var name = $(elm).attr('name');<br />
if (name) {<br />
$(elm).attr('data-name-attribute', name);<br />
$(elm).removeAttr('name');<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* set the name attribute to the value of the data-name-attribute<br />
* @param elm<br />
*/<br />
function putDatasetValueBackInName($elm) {<br />
$.each($elm, function(index, elm) {<br />
if ( $(elm).attr('data-name-attribute') !== '' ) {<br />
var datasetName = $(elm).data('name-attribute');<br />
if (datasetName) {<br />
$(elm).attr('name', datasetName);<br />
}<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* set the required attr in the dataset data-ws-required<br />
* @param $elm<br />
*/<br />
function putRequiredInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).is(':required') ) {<br />
$(elm).attr('data-ws-required', true);<br />
$(elm).prop('required', false);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* if the element has data-ws-required the make the element required<br />
* @param $elm<br />
*/<br />
function putDatasetInRequired($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).data('ws-required') ) {<br />
$(elm).prop('required', true);<br />
}<br />
})<br />
}<br />
<br />
/* END OF WSSHOWONSELECT */<br />
$( document ).ready(function() {<br />
if( $('.redirect-link').length > 0 ) {<br />
$('.redirect-link a')[0].click();<br />
}<br />
})</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Prosecute_a_case&diff=3497
Prosecute a case
2022-04-11T11:31:03Z
<p>Maintenance script: Fill database</p>
<hr />
<div><div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#case-form input, #case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
select:not([multiple]) {<br />
padding: 0 1.5em;<br />
background-color: #f2f2f2;<br />
border-radius: 30px;<br />
-webkit-appearance: none;<br />
-moz-appearance: none;<br />
background-position: right 50%;<br />
background-position-x: right;<br />
background-position-y: 50%;<br />
background-repeat: no-repeat;<br />
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);<br />
line-height: 1;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#case-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
textarea{<br />
min-height:200px;<br />
}<br />
[contentEditable=true]:empty:not(:focus):before{<br />
content:attr(data-placeholder);<br />
color:grey;<br />
}<br />
</style>}}<br />
<br />
</div>{{#if:{{#vardefineecho:@workflow|{{#urldecode:{{#urlget:case}} }} }}<!-- <br />
<br />
// FILL OUT VERDICT<br />
-->|<br />
<h1>Please wait ...</h1><div class="d-none">{{#arraymap:{{#ask:[[{{#var:@workflow}}]][[Filed by::User:{{CURRENTLOGGEDUSER}}]][[Plaintiff verdict::No]]|?Case ID|?Lie|?Modification date|link=none|format=array|sort=Modification date|limit=1|order=desc}}|,|@@@|<br />
<div class="info-item"><br />
Please fill in your plaintiff verdict<br />
<div class="info-row"><b>Lie</b>{{#explode:@@@|<PROP>|2}}<br />
{{#vardefine:@partpage|{{#ask:[[Class::Participant]][[User::User:{{CURRENTLOGGEDUSER}}]][[Workflow::{{#explode:@@@|<PROP>|0}}]]|link=none}} }}<br />
{{#if:{{#var:@partpage}}|<br />
{{#widget:link|type=a|text=link|href={{fullurl:{{#explode:{{#ask:[[Class::Verdict]][[User::User:{{CURRENTLOGGEDUSER}}]]|?Case ID|?Lie|?Modification date|sort=Modification date|limit=1|order=desc|link=none|format=array}}|<PROP>|0}}|Participant={{#var:@partpage}} }} }}<br />
{{#tag:html|<script >setTimeout(function(){document.querySelector('.info-row a').click()},1000)</script>}}<br />
|{{#tag:wsform| <br />
{{#tag:wscreate||mwwrite=Participant/|mwtemplate=Participant|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wscreate||mwwrite=Verdict:{{#explode:@@@|<PROP>|1}}/|mwtemplate=Verdict|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wsfield||type=hidden|name=User|value=User:{{CURRENTLOGGEDUSER}} }}<br />
{{#tag:wsfield||type=hidden|name=Role|value=Plaintiff }}<br />
{{#tag:wsfield||type=hidden|name=Case ID|value={{#explode:@@@|<PROP>|1}} }}<br />
{{#tag:wsfield||type=hidden|name=Workflow|value={{#explode:@@@|<PROP>|0}} }}<!-- <br />
--><br />
{{#tag:wsfield||type=submit|value=Create verdict|class=btn btn-green ml-4 mt-4 mb-4}}<br />
|action=addToWiki|id=form|mwreturn={{fullurl:Verdict:{{#show:{{#var:@workflow}}|?Case ID}}/2}} }}{{#tag:html|<script >setTimeout(function(){document.querySelector('input[type="submit"]').click()},3000)</script>}}|}}| }}<br />
</div></div></div><!--<br />
<br />
<br />
// PROSECUTE CASE <br />
-->|<!--<br />
<br />
<br />
--><h1>Prosecute a case</h1><!-- <br />
--><div class="row"><div class="col-12 col-lg-8">The Internet Court of Lies is meant to create a global community of people who work to provide evidence-based understanding of Fiat Lies and a means by which Social Media and other media can develop their own content curation based on results of the court.<br><br>Submit your prepared suit, to be accepted by the Court. A Judge is assigned, and if he accepts your suit, Jurors may be assigned. You, the Judge, and Jurors can now try your case by editing your suit page further. Finally, the Judge will declare your suit settled, and the suit is done<!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#vardefine:@balance|<!--{{#ttcount:}}-->1 }}</div><div class="col-12 col-lg-4"><div class="info-box mt-0 pb-4"><br />
<h2>Your TruthToken balance</h2><span class="truth-token">{{fa|gavel}}</span>× <span class="nr pb-4">{{#var:@balance}}</span><br><br>Prosecuting a case = 1 TruthToken </div></div>|{{#vardefine:@balance|0}} }}</div><br />
{{#ifexpr:{{#var:@balance}} > 0|<br />
<br />
<wsform action="addToWiki" id="case-form" class="box" enctype="multipart/form-data" ><!-- mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}}|msg=casestarted}}" --><br />
<wscreate mwwrite="Workflow/" mwtemplate="Workflow" mwoption="range:00001-99999" mwfollow="case" /><br />
<wsfield type="hidden" name="Plaintiff verdict" value="No" /><br />
<wsfield type="hidden" name="Stage" value="Waiting for Plaintiff verdict" /><br />
<wsfield type="hidden" name="Filed by" value="User:{{CURRENTLOGGEDUSER}}" /><!-- <br />
-->{{#vardefine:@id|{{Fake token|token={{#time:U|now}}{{#time:U|now}} }} }}<br />
<wsfield type="hidden" name="Case ID" value="{{#var:@id}}" /><br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3>{{#arraydefine:@topics|{{#ask:[[Class::Workflow]]|?Topic|limit=999999|link=none|pagetitle=hide|format=plainlist|headers=hide|mainlabel=-|searchlabel=}} }}{{#arrayunique:@topics}}<br />
|2=<!--<wsselect name="Topic" placeholder="Placeholder" class="form-control"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect>--><wsfield type="text" name="Topic" list="topics" class="form-control mt-2" />{{#tag:html|<datalist id="topics">{{#arraymap:{{#arrayprint:@topics}}|,|@@@|<option value="@@@">@@@</option>|}}</datalist> }}<br />
}}<br />
<h1>The Lie and Context</h1><br />
<!-- <br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Accusation with Evidence</h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Accusation" placeholder="Text with links to evidence" value="{{{Accusation|}}}" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-mark dark-blue" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark " onclick="unformat()">{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select a Time Slot" onclick="createPage()" id="time-slot-button" >Select a Time Slot</wsfield><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="">{{#widget:Multi upload|id={{#var:@id}} }}</div><br />
<small class="muted">* file selction will be uploaded on submitting</small><br />
<br />
}}<br />
<!--{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}--><!-- <br />
--><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<wsfield type="textarea" name="Markup" id="real-field" class="d-none" /><br />
<wsfield type="button" class="btn btn-green float-right" id="upload-button" onclick="uploadFiles(this)">Propose verdict*</wsfield><br />
<wsfield type="submit" id="real-submit" class="d-none" value="niks" /><br />
}}<!-- <br />
--><small>*By clicking "Propose verdict" you agree to tell the Truth, the Whole Truth, and Nothing but the Truth, in their participation in a case. If you lie as a case participant with a Fiat Lie, you risk being banned from further participation in the ICoL.</small><br />
</wsform><br />
{{#tag:html|<script><br />
var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
for(i = 0; i < addMore.length; ++i){<br />
addMore[i].addEventListener('click', addMoreInputs, false);<br />
}<br />
//var newDeceit = document.querySelector('.add-more.lies').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.facts').closest('.col-md-8').querySelector('.original').innerHTML;<br />
var newLocation = document.querySelector('.add-more.locations').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('lies')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
if(this.classList.contains('locations')){<br />
newDiv.innerHTML = newLocation;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
}<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function submitRealField(){<br />
console.log('dededd')<br />
document.getElementById('real-field').value = document.getElementById('fake-field').innerHTML;<br />
setTimeout(function(){<br />
document.getElementById('real-submit').click()<br />
}, 500)<br />
}<br />
<br />
<br />
<br />
<br />
</script>}}|<div class="m-5 alert alert-primary">0 TruthTokens, please buy TruthTokens on your profile page</div><br />
<wsform id="case-form"><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" readonly="readonly" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3><br />
|2=<wsselect name="Topic" placeholder="Placeholder" class="form-control" readonly="readonly"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Description of the lie </h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Description" placeholder="Description" value="{{{Description|}}}" readonly="readonly" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup Lie and any Thruths</h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" readonly="readonly" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-green btn-mark " readonly="readonly" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark" >{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" readonly="readonly" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select Time Slot" onclick="createPage()" /><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}} <br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="d-flex">{{#vardefine:@filename|Import-cse-{{#time: U | now}}.png}}<br />
{{#vardefine:@pagecontent|<nowiki>{{File for case|Case file=</nowiki>1234-132525-767967-3865381265853<nowiki>|Uploaded by=</nowiki>{{CURRENTLOGGEDUSER}}<nowiki>}}</nowiki>}}<br />
<wslabel for="file-upload" class="attachment">{{fa|paperclip}}<br />
<wsfield class="d-none" type="file" name="File" id="file-upload" verbose_id="hiddendiv" target="{{#var:@filename}}" pagecontent="{{#var:@pagecontent}}" readonly="readonly" /></wslabel><br />
<div class="upload-preview hidden" id="hiddendiv"></div></div><br />
<small class="muted">* file selction will be uploaded on submitting</small><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<br />
<br />
<br />
}}</wsform> }} }}<!-- ./ if urlget case enter verdict else prosecute case<br />
-->{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
|Hide=Yes<br />
}}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Widget:Multi_upload&diff=3055
Widget:Multi upload
2022-02-23T14:07:47Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Widget:Multi upload''' page. It should be called in the following format:<br />
<br />
<pre><br />
{{&#35;widget:Multi upload }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
<div id="imgTest" class="upload-preview"></div><br />
<br />
<label for="files" class="attachment"><i class="fa fa-paperclip"></i><input type="file" id="files" name="files[]" class="d-none" multiple /></label><script><br />
<br />
function uuidv4() {<br />
return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =><br />
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)<br />
);<br />
}<br />
<br />
var uuid = uuidv4();<br />
<br />
var filedate = Date.now();<br />
<br />
function handleFileSelect() {<br />
createPrevieuws();<br />
}<br />
<br />
function uploadFiles(evt){<br />
var files = document.getElementById('files').files;<br />
var proms = []; <br />
for(i = 0; i < files.length; ++i){<br />
file = files[i];<br />
var fileName = files[i].name;<br />
var prom = doApiCall(file, fileName);<br />
proms.push(prom)<br />
}<br />
Promise.all(proms).then(function(values) {<br />
console.log(values);<br />
console.log('done');<br />
var codeid = document.createElement('input');<br />
codeid.setAttribute('type','hidden')<br />
codeid.setAttribute('name','uuid')<br />
codeid.setAttribute('value', uuid)<br />
document.getElementById('files').closest('form').appendChild(codeid)<br />
submitRealField()<br />
});<br />
<br />
}<br />
<br />
<br />
function doApiCall(fileToUpload,fileName){<br />
return new Promise(function(resolve, reject){<br />
formdata = new FormData(); <br />
formdata.append("action", "upload");<br />
formdata.append("filename", filedate+fileName);<br />
//formdata.append("filename", fileName);<br />
formdata.append("token", mw.user.tokens.get( 'editToken' ) );<br />
formdata.append("file", fileToUpload);<br />
formdata.append("ignorewarnings", "true");<br />
formdata.append("format", "json");<br />
<br />
<br />
//as we now have created the data to send, we send it...<br />
$.ajax( { //http://stackoverflow.com/questions/6974684/how-to-send-formdata-objects-with-ajax-requests-in-jquery<br />
url: mw.util.wikiScript( 'api' ), //url to api.php <br />
contentType:false,<br />
processData:false,<br />
type:'POST',<br />
data: formdata,//the formdata object we created above<br />
success:function(data){<br />
//do what you like, console logs are just for demonstration :-)<br />
console.log("success!");<br />
console.log(data);<br />
resolve(data)<br />
// setTimeout(function(){<br />
editFilePage(fileName);<br />
// },100)<br />
},<br />
error:function(xhr,status, error){<br />
console.log(error)<br />
reject(error)<br />
}<br />
});<br />
});<br />
}<br />
<br />
function createPrevieuws(){<br />
var filesSelected = document.getElementById("files").files;<br />
if (filesSelected.length > 0) {<br />
<br />
for(i = 0; i < filesSelected.length; ++i){<br />
<br />
var fileToLoad = filesSelected[i];<br />
var fname = fileToLoad.name;<br />
console.log(fname.substr( fname.length -3 ))<br />
if(fname.substr( fname.length -3 ) === "pdf"){<br />
<br />
document.getElementById("imgTest").innerHTML = document.getElementById("imgTest").innerHTML+'<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="file-pdf" class="svg-inline--fa fa-file-pdf fa-w-12" role="img" viewBox="0 0 384 512"><path fill="currentColor" d="M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z"/></svg>';<br />
}else{<br />
<br />
var fileReader = new FileReader();<br />
<br />
fileReader.onload = function(fileLoadedEvent) {<br />
var srcData = fileLoadedEvent.target.result; // <--- data: base64<br />
<br />
var newImage = document.createElement('img');<br />
newImage.src = srcData;<br />
<br />
document.getElementById("imgTest").innerHTML = document.getElementById("imgTest").innerHTML+newImage.outerHTML;<br />
// alert("Converted Base64 version is " + document.getElementById("imgTest").innerHTML);<br />
// console.log("Converted Base64 version is " + document.getElementById("imgTest").innerHTML);<br />
}<br />
<br />
fileReader.readAsDataURL(fileToLoad);<br />
}<br />
}<br />
}<br />
}<br />
<br />
function editFilePage(file){<br />
<br />
<br />
<!--{if (isset($edit) && $edit!="")}--><br />
<br />
<br />
<br />
uuid = '<!--{$id}-->';<br />
<br />
<!--{/if}--><br />
<br />
var newWikitextEdit = '{{File for case|Case file='+uuid+'|File uploaded by=User:'+mw.user.getName()+'|type='+file.substr( file.length -3 )+'}}';<br />
<br />
<br />
var params = {<br />
action: 'edit',<br />
title: 'File:'+filedate+file,<br />
text: newWikitextEdit,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data );<br />
} );<br />
<br />
}<br />
<br />
document.getElementById('files').addEventListener('change', handleFileSelect, false); //is a <input type="file" id="files" name="files[]" multiple /><br />
<br />
<br />
</script><br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Edit_case&diff=3056
Edit case
2022-02-23T14:07:47Z
<p>Maintenance script: Fill database</p>
<hr />
<div>{{#if:{{#urlget:id}}|<br />
{{#vardefine:allowed|{{#ifeq:{{#show:Workflow/{{#urldecode:{{#urlget:id}} }}|?Filed by}}|User:{{CURRENTLOGGEDUSER}}|yes}}{{#ifsysop:yes}} }}<br />
{{#if:{{#var:allowed}}|<br />
{{#vardefine:@info|{{#ask:[[Workflow/{{#urldecode:{{#urlget:id}} }}]]|?Lie|?Markup|?Topic|?Description|?Locations|?Accusation|?uuid|?Meeting|link=none|format=array}} }}<br />
<br />
<br />
<br />
<br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#case-form input, #case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
select:not([multiple]) {<br />
padding: 0 1.5em;<br />
background-color: #f2f2f2;<br />
border-radius: 30px;<br />
-webkit-appearance: none;<br />
-moz-appearance: none;<br />
background-position: right 50%;<br />
background-position-x: right;<br />
background-position-y: 50%;<br />
background-repeat: no-repeat;<br />
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);<br />
line-height: 1;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#case-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
textarea{<br />
min-height:200px;<br />
}<br />
[contentEditable=true]:empty:not(:focus):before{<br />
content:attr(data-placeholder);<br />
color:grey;<br />
}<br />
</style>}}<br />
<br />
</div><br />
<br />
<wsform action="addToWiki" id="case-form" class="box" enctype="multipart/form-data" mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}} }}" ><!-- mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}}|msg=casestarted}}" --><br />
{{#vardefine:pid|{{PAGEID:Workflow/{{#urldecode:{{#urlget:id}} }} }} }}<br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Lie" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Topic" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Description" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Accusation" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Markup" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Locations" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Meeting" /><br />
<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2={{#tag:wsfield||type=text|class=form-control mt-2|name=Lie|placeholder=Short phrase|value={{#explode:{{#var:@info}}|<PROP>|1}} }}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3><br />
|2={{#tag:wsfield||type=text|class=form-control mt-2|name=Topic|value={{#explode:{{#var:@info}}|<PROP>|3}} }}<br />
}} <br />
<br />
<h1>The Lie and Context</h1><!-- <br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Accusation with Evidence</h3><br />
|2={{#tag:wsfield|{{#explode:{{#var:@info}}|<PROP>|6}}|placeholder=Text with links to evidence|type=textarea|class=form-control mt-2|name=Accusation}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-mark dark-blue" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark " onclick="unformat()">{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup|text={{#explode:{{#var:@info}}|<PROP>|2}} }}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2={{#arraymap:{{#explode:{{#var:@info}}|<PROP>|5}}|,|@@@|{{#tag:wsfield||type=text|class=form-control mt-2|name=Locations[]|value=@@@ }}|}}<br />
<br />
<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class="">{{#tag:wsfield||type=text|class=form-control mt-2|name=Meeting|placeholder=Skype/Zoom/...|value={{#explode:{{#var:@info}}|<PROP>|8}} }}</div><br />
}} <br />
<br />
<div ><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="case-img-wrapper"><!--<br />
-->{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#explode:{{#var:@info}}|<PROP>|7}}]]|link=none}}|,|@@@|<span class="btn position-relative img-thumbnail m-1" data-removefile="@@@"> <span class=" position-absolute bg-white p-1">{{fa|times }}</span>[[@@@|link=|70px]]</span>|}}<!--<br />
<br />
-->{{#Widget:Multi upload|edit=true|id={{#explode:{{#var:@info}}|<PROP>|7}} }}</div><br />
}}</div><br />
<!--{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}--><!-- <br />
--><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<wsfield type="textarea" name="Markup" id="real-field" class="d-none" /><br />
<wsfield type="button" class="btn btn-green float-right" id="upload-button" onclick="uploadFiles()">Change case</wsfield><br />
<wsfield type="submit" id="real-submit" class="d-none" value="niks" /><br />
}}<!-- <br />
--><br />
</wsform><br />
{{#tag:html|<script><br />
var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
for(i = 0; i < addMore.length; ++i){<br />
addMore[i].addEventListener('click', addMoreInputs, false);<br />
}<br />
//var newDeceit = document.querySelector('.add-more.lies').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.facts').closest('.col-md-8').querySelector('.original').innerHTML;<br />
var newLocation = document.querySelector('.add-more.locations').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('lies')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
if(this.classList.contains('locations')){<br />
newDiv.innerHTML = newLocation;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
}<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function submitRealField(){<br />
document.getElementById('real-field').value = document.getElementById('fake-field').innerHTML;<br />
setTimeout(function(){<br />
document.getElementById('real-submit').click()<br />
}, 500)<br />
}<br />
<br />
<br />
<br />
<br />
</script>}}<br />
}} }}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:User&diff=3051
Template:User
2022-02-23T14:07:46Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''User''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{User<br />
|User=<br />
|Roles=<br />
|Name=<br />
|Filed by=<br />
|be candidate=<br />
}}<br />
</pre><br />
<!--{{User }}--><br />
<br />
</noinclude><includeonly>{{#vardefine:@roles|{{#ifeq:{{{Be candidate|Yes}}}|Yes|{{#if:{{{Roles|}}}|{{{Roles|}}}|Juror, Judge}} }} }}<br />
<div class="d-none">__NOTITLE__ __NOTOC__{{#if:{{{Name|}}}|{{#set:Class=Member|Role={{#if:{{#ask:[[{{FULLPAGENAME}}]][[User group::sysop]]|?User group|limit=999}}| |{{#var:@roles}} }}|+sep=,|User={{{User|}}}|Name={{{Name|}}}|Email={{{Email|}}}|Volunteer={{{Volunteer|}}}|Tokens spent={{{Tokens spent|}}}|Pagename={{FULLPAGENAME}}|Online since={{{Online since|}}} }} }}<br />
</div><br />
{{#vardefine:@allowed|{{#ifeq:User:{{CURRENTLOGGEDUSER}}|{{FULLPAGENAME}}|Yes|{{#ifsysop:Yes|No}}}}}} <br />
{{#ifeq:{{#var:@allowed}}|Yes|<div class="row mt-4"><br />
<div class="col-12 col-lg-8"><br />
{{#ifeq:{{#urlget:msg}}|casestarted|<div class="alert alert-success">Case started! Please check your messages for the required actions.</div>}}<br />
<div class="tab-content box"><h2>Member information</h2><br />
<div id="info-tab" class="tab-pane fade show active" role="tabpanel" aria-labelledby="info-tab"><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Name</b><br />
|2={{{Name|}}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Email</b><br />
|2={{#vardefineecho:@email|{{#show:{{FULLPAGENAME}}|?User right}} }}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>User</b><br />
|2={{{User|}}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Roles</b><br />
|2={{#ifeq:{{{Be candidate|}}}|No|Not a candidate|{{#arraymap:{{#var:@roles}}|,|@@|@@}} {{#ifeq:{{{Volunteer|Yes}}}|(volunteer)}} }}<br />
}}<br />
{{#widget:link|text=Edit|type=a|class=btn btn-blue|id=profile-tab|datatoggle=tab|href=#info-tab-form|role=tab|aria-controls=info-tab-form|ariaselected=false}}<br />
</div><br />
<div id="info-tab-form" class="tab-pane fade" role="tabpanel" aria-labelledby="info-tab-form"><br />
{{User form<br />
|Name={{{Name|}}}<br />
|Email={{#var:@email}}<br />
|Volunteer={{{Volunteer|}}}<br />
|Roles={{#var:@roles}}<br />
|Be candidate={{{Be candidate|}}}<br />
}}<br />
</div><br />
</div><div class="box"><br />
<h2>Active in {{#vardefine:@nrcases|{{#ask:[[Class::Participant]][[User::{{FULLPAGENAME}}]]|format=count|limit=9999}} }}{{#var:@nrcases}} {{#ifeq:{{#var:@nrcases}}|1|case|cases}}</h2><br />
<br />
{{Item responsive |Cols={{#var:@cols|8-4}}<br />
|1=<b>Case</b><br />
|2=<b>Role</b><br />
}}<br />
{{#arraymap:{{#ask:[[Class::Participant]][[User::{{FULLPAGENAME}}]]|?Workflow|?Role|?Workflow.Lie|format=array|link=none|limit=9999}}|,|@@@|<br />
{{Item responsive |Cols={{#var:@cols|8-4}}<br />
|1={{#if:{{#explode:@@@|<PROP>|3}}|[[{{#explode:@@@|<PROP>|0}}|{{#explode:@@@|<PROP>|3}}]]|[[{{#explode:@@@|<PROP>|0}}]]}}<br />
|2={{#explode:@@@|<PROP>|2}}<br />
}}<br />
<br />
|}}</div><br />
</div><br />
<div class="col-12 col-lg-4"><br />
<div class="info-box"><br />
<h2>TruthTokens</h2><div id="balance"><br />
<!--<br />
-->{{#vardefine:@balance|1<!--{{#ttcount:}}--> }}<br />
<span class="truth-token">{{fa|gavel}}</span>× <span class="nr">{{#var:@balance}}</span><br />
</div><br />
</div><br />
<div class="info-box"><br />
<h2>Online status</h2><div id="online-status"><br />
<center>{{Mark online}}</center><br />
</div><br />
</div><br />
<div class="messages-wrapper" data-poll="Messages" data-parameters="Workflow={{{Workflow|}}}^Filed by={{{Filed by|}}}"><!-- <br />
messages --><br />
{{Messages<br />
|Fullpagename={{FULLPAGENAME}}<br />
|Workflow={{{Workflow|}}}<br />
|Filed by={{{Filed by|}}}<br />
}}<br />
</div><br />
</div><br />
{{#tag:html|<script><br />
function openInput(name, elem){<br />
<br />
document.getElementById(name+'-'+elem).classList.remove('d-none');<br />
document.getElementById(elem).classList.add('d-none');<br />
document.getElementById(elem).classList.remove('d-flex');<br />
<br />
}<br />
<br />
function sendTokens(){<br />
document.getElementById('send-tokens-form').classList.remove('d-none');<br />
document.getElementById('balance').classList.add('buy');<br />
document.getElementById('balance').querySelector('button').classList.add('d-none');<br />
}<br />
<br />
function buyMore(){<br />
document.getElementById('send-tokens').classList.add('d-none');<br />
document.getElementById('buy-more').classList.remove('d-none');<br />
document.getElementById('balance').classList.add('buy');<br />
document.getElementById('balance').querySelector('button').classList.add('d-none');<br />
}<br />
<br />
buymore = document.getElementById('buy-more')<br />
if(buymore){<br />
var formnumber = document.getElementById('buy-more').querySelector('.form-number');<br />
formnumber.addEventListener('change', changeNumber, false );<br />
<br />
var tokennr = parseInt(document.getElementById('balance').querySelector('.nr').innerText);<br />
var tokentotal = parseInt(document.getElementById('total-price').innerText);<br />
}<br />
function changeNumber(){<br />
<br />
<br />
<br />
if(formnumber.value > 0){<br />
//document.querySelector('#buyButton').removeAttribute('disabled');<br />
<br />
if(formnumber.value > -1){<br />
document.getElementById('balance').querySelector('.nr').innerText = tokennr + parseInt(formnumber.value);<br />
document.getElementById('total-price').innerText = tokentotal * parseInt(formnumber.value);<br />
}<br />
}else{<br />
//document.querySelector('#buyButton').setAttribute('disabled','disabled');<br />
}<br />
<br />
}<br />
<br />
function submitInput(elem){<br />
<br />
document.getElementById("submit-"+elem).click();<br />
<br />
}<br />
<br />
</script>}}<br />
|<div class="m-5 alert alert-danger">Not permitted</div>}}<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Verdict&diff=3052
Template:Verdict
2022-02-23T14:07:46Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Verdict''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Verdict<br />
|Workflow=<br />
|Case ID=<br />
|Role=<br />
|User=<br />
|Truth=<br />
|Truth percentage=<br />
|Truth text=<br />
|Whole truth=<br />
|Whole truth percentage=<br />
|Whole truth text=<br />
|Nothing But the truth=<br />
|Nothing But the truth percentage=<br />
|Nothing But the truth text=<br />
|Deceit=<br />
|Deceit percentage=<br />
|Deceit text=<br />
|Deceit intended=<br />
|Deceit intended percentage=<br />
|Deceit intended text=<br />
|Motivation=<br />
|Motivation percentage=<br />
|Motivation text=<br />
|Social acceptability=<br />
|Social acceptability percentage=<br />
|Social acceptability text=<br />
|Label=<br />
|Label percentage=<br />
|Label text=<br />
|Context= <br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly>{{#if:{{{Case ID|}}}|{{#set:Class=Verdict<br />
|Case ID={{{Case ID|}}}<br />
|Workflow={{{Workflow|}}}<br />
|Role={{{Role|}}}<br />
|User={{{User|}}}<br />
|Truth={{#replace:{{{Truth|}}}|,|.}}<br />
|Truth percentage={{{Truth percentage|}}}<br />
|Truth text={{#if:{{{Truth text|}}}|{{{Truth text|}}}|-}}<br />
|Whole truth={{#replace:{{{Whole truth|}}}|,|.}}<br />
|Whole truth percentage={{{Whole truth percentage|}}}<br />
|Whole truth text={{#replace:{{#if:{{{Whole truth text|}}}|{{{Whole truth text|}}}|-}}|,|.}}<br />
|Nothing But the truth={{{Nothing But the truth|}}}<br />
|Nothing But the truth percentage={{{Nothing But the truth percentage|}}}<br />
|Nothing But the truth text={{#if:{{{Nothing But the truth text|}}}|{{{Nothing But the truth text|}}}|-}}<br />
|Deceit={{#replace:{{{Deceit|}}}|,|.}}<br />
|Deceit percentage={{{Deceit percentage|}}}<br />
|Deceit text={{#replace:{{#if:{{{Deceit text|}}}|{{{Deceit text|}}}|-}}|,|.}}<br />
|Deceit intended={{#replace:{{{Deceit intended|}}}|,|.}}<br />
|Deceit intended percentage={{{Deceit intended percentage|}}}<br />
|Deceit intended text={{#replace:{{#if:{{{Deceit intended text|}}}|{{{Deceit intended text|}}}|}}|,|.}}<br />
|Motivation={{#replace:{{{Motivation|}}}|,|.}}<br />
|Motivation percentage={{{Motivation percentage|}}}<br />
|Motivation text={{#replace:{{#if:{{{Motivation text|}}}|{{{Motivation text|}}}|-}}|,|.}}<br />
|Social acceptability={{#replace:{{{Social acceptability|}}}|,|.}}<br />
|Social acceptability percentage={{{Social acceptability percentage|}}}<br />
|Social acceptability text={{#replace:{{#if:{{{Social acceptability text|}}}|{{{Social acceptability text|}}}|-}}|,|.}}<br />
|Label={{#replace:{{{Label|}}}|,|.}}<br />
|Label percentage={{{Label percentage|}}}<br />
|Label text={{#replace:{{#if:{{{Label text|}}}|{{{Label text|}}}|}}|,|.}}<br />
|Context={{{Context|None}}}<br />
|Name={{{Name|}}}<br />
}}<br />
|{{#set:Class=None}}<br />
}}<br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#verdict-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
border: none;<br />
display: inline-block;<br />
width: 5em;<br />
box-shadow: none;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
transition: border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;<br />
border: 1px solid #ced4da;<br />
}<br />
.percentage:focus {<br />
color: #495057;<br />
background-color: #fff;<br />
border-color: #80bdff;<br />
outline: 0;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 0 0.2rem rgba(0,123,255,0.25);<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
#verdict-form textarea {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
height: 41px;<br />
}<br />
button.btn.copy-verdict {<br />
float: right;<br />
background: #006699;<br />
color: white;<br />
}<br />
</style>}}<br />
<br />
</div><br />
{{#vardefine:@allowed|{{#ifeq:User:{{CURRENTLOGGEDUSER}}|{{{User|}}}|Yes|{{#ifsysop:Yes|No}}}}}}<br />
{{#ifeq:{{#var:@allowed}}|Yes|{{#vardefine:@stage|{{#show:{{{Workflow|}}}|?Stage|link=none}} }}<br />
{{#vardefine:@myparticipantpage|{{#ask:[[Class::Participant]] [[User::User:{{CURRENTLOGGEDUSER}}]] [[Case ID::{{{Case ID|}}}]]|link=none }} }}<!-- <br />
--><wsform action="addToWiki" id="verdict-form" mwreturn="{{#if:{{#var:@myparticipantpage}}|{{fullurl:{{#var:@myparticipantpage}} }}|{{#if:{{{Participant|}}}|{{fullurl:{{{Participant|}}} }}|{{#if:{{#urlget:Participant}}|{{fullurl:{{#urldecode:{{#urlget:Participant}} }} }}|{{fullurl:{{FULLPAGENAME}} }} }} }} }}" ><br />
<wscreate mwwrite="{{FULLPAGENAME}}" mwtemplate="Verdict" /><br />
<br />
{{#ifeq:{{#var:@stage}}|Waiting for Plaintiff verdict|<br />
<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Stage|value=Needs judge}}<br />
<br />
}}<!--<br />
--><wsfield type="hidden" name="Role" value="{{{Role|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="User" value="{{{User|}}}" /><br />
<wsfield type="hidden" name="Name" value="{{{Name|}}}" /><br />
<wsfield type="hidden" name="Context" value="{{{Context|}}}" /><br />
<h1><span>{{{Role|}}} verdict</span><span>{{{Context|}}}</span><span>Suit: {{{Case ID|}}}</span></h1>Every decision should include your 0 - 100% confidence in the decision<!-- <br />
-->{{#vardefine:verdictsarray|{{#ask:[[Class::Verdict]][[Case ID:: {{{Case ID|}}}]]{{#ifeq:{{{Role|}}}|Judge|[[Role::!Judge]]|[[Role::Plaintiff]]}}<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|?Name<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$<br />
}}}}<!--<br />
-->{{#vardefine:@decision |Enter your decision here}}<!--<br />
-->{{#vardefine:@support |Enter your additional support here}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Truth?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|4}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|4}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 43%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|5}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|6}} </div><!-- <br />
<br />
-->{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{#explode:@@@|<PROP>|0}}]]|?=|?Modification date|Format=array|link=none}}|,|###|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=vi attachment mt-2 |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:###|<PROP>|0}}]] Uploaded on: {{#explode:###|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}}</div><!-- <br />
<br />
--></div></div></div>|}} {{#tag:html|</details>}} }}<br />
<div class="d-flex">{{#widget:Check input |type=radio |name=Truth |text=yes |id=truthyes |value=yes |checked={{#ifeq:{{{Truth|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Truth |text=no |id=truthno |value=no |checked={{#ifeq:{{{Truth|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Truth percentage" placeholder="0" value="{{{Truth percentage|}}}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Truth text" placeholder="{{#var:@support}}">{{{Truth text|}}}</wsfield>{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{FULLPAGENAME}}]]|?=|?Modification date|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:@@@|<PROP>|0}}]]Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}} {{#widget:link |type=a|href=#Upload-modal |datatoggle=modal |class=attachment |text={{fa|paperclip}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=Upload-modal<br />
|ModalHeading=Upload screenshot<br />
|BodyText=<br />
{{#vardefine:@filename|Import-verdict-{{#time: U | now}}.png}}<br />
{{#vardefine:@pagecontent|<nowiki>{{File for verdict|Verdict=</nowiki>{{FULLPAGENAME}}<nowiki>|Uploaded by=</nowiki>{{CURRENTLOGGEDUSER}}<nowiki>}}</nowiki>}}<br />
<wsfield type="file" name="File" id="file-upload" verbose_id="hiddendiv" target="{{#var:@filename}}" pagecontent="{{#var:@pagecontent}}" /><br />
<div class="hidden" id="hiddendiv"></div><br />
<wsfield type="submit" class="btn btn-submit" value="Save" /><br />
|FooterText={{#widget:link |type=a|href=#Upload-modal |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
--></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Whole Truth?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|7}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|7}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|8}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|8}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|9}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Whole truth |text=yes |id=wholetruthdyes |value=yes |checked={{#ifeq:{{{Whole truth|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Whole truth |text=no |id=wholetruthno |value=no |checked={{#ifeq:{{{Whole truth|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Whole truth percentage" placeholder="0" value="{{{Whole truth percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Whole truth text" placeholder="{{#var:@support}}">{{{Whole truth text|}}}</wsfield><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it Nothing But the Truth?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|10}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|10}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|11}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|11}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|12}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Nothing But the truth |text=yes |id=nothingyes |value=yes |checked={{#ifeq:{{{Nothing But the truth|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Nothing But the truth |text=no |id=nothingno |value=no |checked={{#ifeq:{{{Nothing But the truth|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Nothing But the truth percentage" placeholder="0" value="{{{Nothing But the truth percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Nothing But the truth text" placeholder="{{#var:@support}}">{{{Nothing But the truth text|}}}</wsfield><br />
}}<br />
<br />
{{#arraydefine:@deciets|{{{Deceit text|}}} }}<br />
{{#ifexpr:{{#arraysize:@deciets}} > 1 |<br />
{{#vardefine:@decietscount|1}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}}{{#tag:html|</details>}} }}{{#arraymap:{{{Deceit text|}}}|,|@@@|<br />
{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<div class="original">|<div class="old-copy">}}<div class="d-flex"><wsfield type="textarea" class="form-control" name="Deceit[]" placeholder="{{#var:@decision}}">{{#explode:{{{Deceit|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Deceit percentage[]" placeholder="0" value="{{#explode:{{{Deceit percentage|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Deceit text[]" placeholder="{{#var:@support}}" >{{#explode:{{{Deceit text|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield>{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<!--<span class="add-more deceit">{{fa|plus}}</span>-->}}</div></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}<br />
|}}<br />
}}<br />
|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} {{#tag:html|</details>}} }}<div class="original"><div class="d-flex"><wsfield type="textarea" class="form-control" name="Deceit[]" placeholder="{{#var:@decision}}">{{{Deceit|}}}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Deceit percentage[]" placeholder="0" value="{{{Deceit percentage|}}}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Deceit text[]" placeholder="{{#var:@support}}">{{{Deceit text|}}}</wsfield><!--<span class="add-more deceit">{{fa|plus}}</span>--></div></div><br />
}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is the Deceit Intended?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|16}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|16}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|17}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|17}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|18}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Deceit intended |text=yes |id=deceitintendedyes |value=yes |checked={{#ifeq:{{{Deceit intended|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Deceit intended |text=no |id=deceitintendedno |value=no |checked={{#ifeq:{{{Deceit intended|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Deceit intended percentage" placeholder="0" value="{{{Deceit intended percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Deceit intended text" placeholder="{{#var:@support}}">{{{Deceit intended text|}}}</wsfield><br />
}}<br />
<br />
{{#arraydefine:@deciets|{{{Motivation text|}}} }}<br />
{{#ifexpr:{{#arraysize:@deciets}} > 1 |<br />
{{#vardefine:@decietscount|1}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} {{#tag:html|</details>}} }}{{#arraymap:{{{Motivation text|}}}|,|@@@|<br />
{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<div class="original">|<div class="old-copy">}}<div class="d-flex"><wsfield type="textarea" class="form-control" name="Motivation[]" placeholder="{{#var:@decision}}">{{#explode:{{{Motivation|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Motivation percentage[]" placeholder="0" value="{{#explode:{{{Motivation percentage|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Motivation text[]" placeholder="{{#var:@support}}">{{#explode:{{{Motivation text|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield>{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<!--<span class="add-more motivation">{{fa|plus}}</span>-->}}</div></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}<br />
|}}<br />
}}<br />
|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} {{#tag:html|</details>}} }}<div class="original"><div class="d-flex"><wsfield type="textarea" class="form-control" name="Motivation[]" placeholder="{{#var:@decision}}">{{{Motivation|}}}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Motivation percentage[]" placeholder="0" value="{{{Motivation percentage|}}}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Motivation text[]" placeholder="{{#var:@support}}">{{{Motivation text|}}}</wsfield><!--<span class="add-more motivation">{{fa|plus}}</span>--></div></div><br />
}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Social Acceptability for the lie?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|22}}|Acceptable|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|22}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|23}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|23}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|24}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Social acceptability |text=Acceptable |id=socialacceptabilityyes |value=Acceptable |checked={{#ifeq:{{{Social acceptability|}}}|Unacceptable||checked}} }}<br />
{{#widget:Check input |type=radio |name=Social acceptability |text=Unacceptable |id=socialacceptabilityno |value=Unacceptable |checked={{#ifeq:{{{Social acceptability|}}}|Unacceptable|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Social acceptability percentage" placeholder="0" value="{{{Social acceptability percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Social acceptability text" placeholder="{{#var:@support}}">{{{Social acceptability text|}}}</wsfield><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Label for the Lie needed to Improve the Social Acceptability?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:@@@|<PROP>|25}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|26}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|26}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|27}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex"><wsfield type="textarea" class="form-control" name="Label" placeholder="Label" >{{{Label|}}}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Label percentage" placeholder="0" value="{{{Label percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Label text" placeholder="{{#var:@support}}">{{{Label text|}}}</wsfield><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<wsfield type="submit" class="btn btn-submit" value="Save" /><br />
}}</wsform><!--<br />
<br />
<br />
-->|<div class="m-5 alert alert-danger">Not permitted</div>}}<!-- end allowed<br />
<br />
-->{{#tag:html|<script><br />
//var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
//for(i = 0; i < addMore.length; ++i){<br />
// addMore[i].addEventListener('click', addMoreInputs, false);<br />
//}<br />
//var newDeceit = document.querySelector('.add-more.deceit').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.motivation').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('deceit')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function copyVerdict(btn){<br />
<br />
var wrapper = btn.closest('.col-md-8')<br />
var verdict = btn.closest('.verdict-item')<br />
var no = verdict.querySelector('.truth-no')<br />
var yes = verdict.querySelector('.truth-yes')<br />
var check_no = wrapper.querySelector('.checkinput-button label [value="no"]')<br />
var check_yes = wrapper.querySelector('.checkinput-button label [value="yes"]')<br />
var check_accept = wrapper.querySelector('.checkinput-button label [value="Acceptable"]')<br />
var check_unaccept = wrapper.querySelector('.checkinput-button label [value="Unacceptable"]')<br />
var precentage = verdict.querySelector('.inner-percentage')<br />
var precantage_input = wrapper.querySelector('[type="number"]')<br />
var verdict_text = verdict.querySelectorAll('.bg-white')<br />
var support_input = wrapper.querySelector('[placeholder="{{#var:@support}}"]')<br />
var decision_input = wrapper.querySelector('[placeholder="{{#var:@decision}}"]')<br />
var label_input = wrapper.querySelector('[placeholder="Label"]')<br />
<br />
<br />
if(no){<br />
if(check_no){<br />
check_no.click()<br />
}<br />
}<br />
<br />
if(yes){<br />
if(check_yes){<br />
check_yes.click()<br />
}<br />
}<br />
<br />
if(no){<br />
if(check_unaccept){<br />
check_unaccept.click()<br />
}<br />
}<br />
<br />
if(yes){<br />
if(check_accept){<br />
check_accept.click()<br />
}<br />
}<br />
<br />
if(precentage){<br />
precantage_input.value = precentage.innerText.replace('%', '')<br />
}<br />
<br />
if(decision_input){<br />
decision_input.value = verdict_text[0].innerText<br />
support_input.value = verdict_text[1].innerText<br />
}else if(label_input){<br />
label_input.value = verdict_text[0].innerText<br />
support_input.value = verdict_text[1].innerText<br />
}else{<br />
support_input.value = verdict_text[0].innerText<br />
}<br />
<br />
}<br />
<br />
<br />
</script>}}<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Verdict_results&diff=3053
Template:Verdict results
2022-02-23T14:07:46Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Verdict results''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Verdict results }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
{{#vardefine:verdictsarray|{{#ask:{{#if:{{{Verdict|}}}|[[{{{Verdict|}}}]]|[[Class::Verdict]][[Case ID::{{{id|}}}]]{{#if:{{{Context|}}}|[[Context::{{{Context|}}}]]|[[Context::None]] }} }}<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|?Name<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$<br />
}}}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|4}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|4}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|5}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|5}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|6}} </div><!-- <br />
<br />
-->{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{#explode:@@@|<PROP>|0}}]]|?=|?Modification date|Format=array|link=none}}|,|###|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=vi attachment mt-2 |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:###|<PROP>|0}}]] Uploaded on: {{#explode:###|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}}</div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Whole Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|7}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|7}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|8}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|8}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|9}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it nothing but the Factual and Whole Truth (Adding other Truths and Lies to the Context)?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|10}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|10}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|11}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|11}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|12}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is the Deceit Intended?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|16}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|16}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|17}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|17}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|18}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Social Acceptability for the lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|22}}|Acceptable|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|22}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|23}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|23}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|24}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Label for the Lie needed to Improve the Social Acceptability?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:@@@|<PROP>|25}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|26}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|26}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|27}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Home&diff=3054
Template:Home
2022-02-23T14:07:46Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Home''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Home }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
.banner-gradient {<br />
position: absolute;<br />
background-image: linear-gradient(257.36deg, rgba(153, 0, 0, 0.43) -0.72%, rgba(0, 102, 153, 0.73) 95.12%), url({{filepath:Home banner.png}});<br />
top: 0;<br />
left: 0;<br />
width: 100%;<br />
height: 100%;<br />
z-index:-1;<br />
background-size: cover;<br />
background-position: center;<br />
}<br />
.banner img {<br />
width: 100%;<br />
height:auto;<br />
}<br />
.btn-green {<br />
background: #339966;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius:30px;<br />
font-weight: 600;<br />
}<br />
.body-container {<br />
padding: 4em 0;<br />
}<br />
.banner-body h1{<br />
padding-top: 0;<br />
color: white;<br />
font-family: times new roman;<br />
font-size: 68px;<br />
font-style: italic;<br />
font-weight: 900;<br />
border: none;<br />
<br />
}<br />
.banner-body h2{<br />
font-weight: 600;<br />
font-size: 26px;<br />
color: white;<br />
border: none;<br />
<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
</style>}}</div><br />
<div class="body-container mt-4 mb-4 text-center">[[File:Logo.png|link=|300x300px]]<br />
We are serious about bringing truth to lies in Digital Media.<br />
<div class="home-search mb-4"><div id="simpleSearch" class="right-inner-addon"><br />
</div> </div><br />
{{#widget:link|href=https://discord.gg/PXbe4DAAaU|text=Join Discord|type=a}}<br />
</div><br />
<div class="banner><div class="banner-gradient"></div><!--<br />
--><div class="banner-body body-container text-white"><h2>The Daily Lie Catcher:</h2><!--<br />
--><h1>Corona virus hazards</h1><!--<br />
--><p>Today try lies about coronavirus hazards. Remember lies of omission are lies. Also justifying a lie with a lie is a lie (nothing but the truth!). Dig in!</p><!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Prosecute_a_case}}}}|{{#widget:link|type=a|text=Participate|class=btn btn-green mt-4|href={{fullurl:Special:UserLogin}}}} }}<!--<br />
--></div><!--<br />
--><!--<br />
<br />
--></div><div class="body-container">{{#if:{{{Daily lie|}}}|<h1>The daily Lie catcher</h1>{{#vardefine:@daily|{{#ask:[[{{#show:{{{Daily lie|}}}|?Workflow|link=none}}]]|?Modification date|?Lie|?Description|sort=Modification date|limit=1|format=array}} }}<h3>{{#time:d M Y|{{#explode:{{#var:@daily}}|<PROP>|1}} }}</h3><h2>{{#explode:{{#var:@daily}}|<PROP>|2}}</h2><p>{{#explode:{{#var:@daily}}|<PROP>|3}}</p>{{#widget:link|type=a|text=Visit suit page|href={{fullurl:{{{Daily lie|}}} }} }}|<br />
<h1>{{{Lie heading|}}}</h1><br />
<h3>{{{Lie date|}}}</h3><!-- <br />
--><h2>{{{Lie title|}}}</h2><!-- <br />
--><p>{{{Lie text|}}}</p><!-- <br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#widget:link|type=a|text=Visit suit page|href={{{Lie link|}}}|{{#widget:link|type=a|text=Please login to see suit page|href={{fullurl:Special:UserLogin}} }} }}<br />
}} }}</div><br />
<!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><!-- <br />
--><br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.js&diff=3049
MediaWiki:Common.js
2022-02-23T14:07:45Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* Any JavaScript here will be loaded for all users on every page load. <script>*/<br />
<br />
<br />
<br />
$(document).ready(function () {<br />
<br />
createPageTogglers = document.querySelectorAll('[data-creatpage]');<br />
<br />
if(createPageTogglers && createPageTogglers.length > 0){<br />
<br />
createPageTogglers.forEach(function(el){<br />
<br />
el.addEventListener(<br />
"click",<br />
function () {<br />
createPage( )<br />
})<br />
})<br />
<br />
}<br />
<br />
})<br />
<br />
console.log('uyfuyfuy' );<br />
var createPage = function (current_namespace, current_pagename) {<br />
console.log("working");<br />
<br />
var hiddenInput = document.querySelector('#time-slot-field');<br />
<br />
mw.loader.using(["oojs-ui-windows", 'mediawiki.widgets.DateInputWidget']).then(function () {<br />
// Example: Using getSetupProcess() to configure a window with data passed<br />
// at the time the window is opened.<br />
<br />
// Make a subclass of ProcessDialog<br />
function PageCreateDialog(config) {<br />
PageCreateDialog.super.call(this, config);<br />
}<br />
OO.inheritClass(PageCreateDialog, OO.ui.ProcessDialog);<br />
<br />
// Specify a name for .addWindows()<br />
PageCreateDialog.static.name = "createPageDialog";<br />
PageCreateDialog.static.title = "Select a Time Slot";<br />
// Specify the static configurations: title and action set<br />
PageCreateDialog.static.actions = [<br />
{<br />
flags: "primary",<br />
label: "Continue",<br />
action: "open",<br />
},<br />
{<br />
flags: "safe",<br />
label: "Cancel",<br />
},<br />
];<br />
<br />
// Customize the initialize() function to add content and layouts:<br />
PageCreateDialog.prototype.initialize = function () {<br />
var dialol = this;<br />
PageCreateDialog.super.prototype.initialize.call(this);<br />
this.panel = new OO.ui.PanelLayout({<br />
padded: true,<br />
expanded: false,<br />
});<br />
this.content = new OO.ui.FieldsetLayout();<br />
<br />
<br />
var date = new Date();<br />
<br />
// month = date.getMonth() + 1;<br />
<br />
this.urlInput = new mw.widgets.DateInputWidget({<br />
value: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()<br />
});<br />
<br />
this.field = new OO.ui.FieldLayout(this.urlInput, {<br />
label: "Day",<br />
align: "top",<br />
});<br />
<br />
var times = [];<br />
for (var i = 10; i < 22; i++) {<br />
var hour = i;<br />
var pm = 'AM';<br />
if (i > 12) {<br />
hour = i - 12;<br />
pm = 'PM';<br />
}<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':00' + ' - ' + hour + ':15 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':15' + ' - ' + hour + ':30 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':30' + ' - ' + hour + ':45 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':45' + ' - ' + (hour + 1) + ':00 ' + pm<br />
})<br />
);<br />
}<br />
<br />
this.slotSelect = new OO.ui.ButtonSelectWidget( {<br />
items:<br />
times<br />
} );<br />
<br />
this.slotsWrapper = new OO.ui.FieldLayout( new OO.ui.Widget( {<br />
content: [<br />
new OO.ui.HorizontalLayout( {<br />
items: [<br />
this.slotSelect<br />
]<br />
})<br />
]<br />
}), {<br />
label: "Time",<br />
align: "top",<br />
});<br />
<br />
<br />
<br />
<br />
this.content.addItems([this.field, this.slotsWrapper]);<br />
this.panel.$element.append(this.content.$element);<br />
this.$body.append(this.panel.$element);<br />
var that = this;<br />
this.urlInput.on( 'change', function () {<br />
// The value will always be a valid date or empty string, malformed input is ignored<br />
<br />
that.updateSlots();<br />
<br />
} );<br />
<br />
};<br />
<br />
<br />
PageCreateDialog.prototype.updateSlots = function () {<br />
<br />
var that = this;<br />
var date = that.urlInput.getValue().split('-');<br />
<br />
<br />
var month = date[1];<br />
var year = date[0];<br />
var day = date[2];<br />
<br />
<br />
<br />
<br />
that.slotSelect.items.forEach(function(item){<br />
item.setDisabled(false);<br />
})<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Slot month::' + month + ']][[Slot day::' + day + ']][[Slot year::' + year + ']]|?Slot|limit=500',<br />
formatversion: 2,<br />
format: 'json'<br />
}<br />
var api = new mw.Api;<br />
api.post(params).done(function(data){<br />
if (data.query.results) {<br />
console.log(data.query.results)<br />
Object.entries(data.query.results).forEach(function(slot){<br />
var date = slot[1].printouts.Slot[0].fulltext || slot[1].printouts.Slot[0];<br />
var time = date.split('/')[1];<br />
var item = that.slotSelect.getItemFromLabel(time);<br />
if(item){<br />
item.setDisabled(true);<br />
}<br />
})<br />
// ["Workflow/90"].printouts.Slot[0]<br />
}<br />
})<br />
// ask query function here, and disbale results<br />
// selectItemByLabel(label).setDisabled(true);<br />
<br />
<br />
<br />
<br />
};<br />
// Specify any additional functionality required by the window (disable opening an empty URL, in this case)<br />
<br />
// Specify the dialog height (or don't to use the automatically generated height).<br />
PageCreateDialog.prototype.getBodyHeight = function () {<br />
// Note that "expanded: false" must be set in the panel's configuration for this to work.<br />
// When working with a stack layout, you can use:<br />
// return this.panels.getCurrentItem().$element.outerHeight( true );<br />
return this.panel.$element.outerHeight(true) + 200;<br />
};<br />
<br />
// Use getSetupProcess() to set up the window with data passed to it at the time<br />
// of opening (e.g., url: 'http://www.mediawiki.org', in this example).<br />
PageCreateDialog.prototype.getSetupProcess = function (data) {<br />
data = data || {};<br />
var nuthis = this;<br />
return PageCreateDialog.super.prototype.getSetupProcess<br />
.call(this, data)<br />
.next(function () {<br />
// Set up contents based on data<br />
var val = hiddenInput.value;<br />
if (val) {<br />
var split = val.split('/');<br />
nuthis.urlInput.setValue(split[0]);<br />
nuthis.slotSelect.selectItemByLabel(split[1])<br />
}<br />
nuthis.updateSlots();<br />
<br />
}, this);<br />
};<br />
var boiler = "";<br />
// Specify processes to handle the actions.<br />
PageCreateDialog.prototype.getActionProcess = function (action) {<br />
var nuthis = this;<br />
if (action === "open") {<br />
// Create a new process to handle the action<br />
return new OO.ui.Process(function () {<br />
<br />
var day = nuthis.urlInput.getValue();<br />
var time = nuthis.slotSelect.findSelectedItem().label;<br />
<br />
console.log(day, time)<br />
hiddenInput.value = day + '/' + time;<br />
var button = document.querySelector('#time-slot-button');<br />
button.innerText = day + ' • ' + time;<br />
return 800;<br />
}).next(function(){<br />
nuthis.close({action: action});<br />
return true;<br />
})<br />
}<br />
// Fallback to parent handler<br />
return PageCreateDialog.super.prototype.getActionProcess.call(this, action);<br />
};<br />
<br />
// Use the getTeardownProcess() method to perform actions whenever the dialog is closed.<br />
// This method provides access to data passed into the window's close() method<br />
// or the window manager's closeWindow() method.<br />
PageCreateDialog.prototype.getTeardownProcess = function (data) {<br />
return PageCreateDialog.super.prototype.getTeardownProcess<br />
.call(this, data)<br />
.first(function () {<br />
// Perform any cleanup as needed<br />
}, this);<br />
};<br />
<br />
// Create and append a window manager.<br />
var windowManager = new OO.ui.WindowManager();<br />
$(document.body).append(windowManager.$element);<br />
<br />
// Create a new process dialog window.<br />
var createPageDialog = new PageCreateDialog();<br />
<br />
// Add the window to window manager using the addWindows() method.<br />
windowManager.addWindows([createPageDialog]);<br />
<br />
// Open the window!<br />
windowManager.openWindow(createPageDialog);<br />
});<br />
};<br />
<br />
<br />
<br />
/***<br />
* REMOVE FILE<br />
*<br />
**/<br />
<br />
document.querySelectorAll('[data-removefile]').forEach(function(el){<br />
el.addEventListener('click', function(){<br />
console.log(el.dataset.removefile)<br />
<br />
var r = confirm("Are you sure?");<br />
if (r == true) {<br />
var params = {<br />
action: 'delete',<br />
title: el.dataset.removefile,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data );<br />
el.remove();<br />
} );<br />
}<br />
})<br />
})<br />
<br />
<br />
/**<br />
* POLLING FOR USER PAGES<br />
**/<br />
<br />
var pollWrapper = document.querySelector('[data-poll]');<br />
<br />
var fps = 30;<br />
var now;<br />
var then;<br />
var interval = 100000/fps;<br />
var delta;<br />
<br />
function poll(now) {<br />
if (!then) { then = now; }<br />
requestAnimationFrame(poll);<br />
delta = now - then;<br />
<br />
if (delta > interval) {<br />
then = now - (delta % interval);<br />
<br />
<br />
if(pollWrapper.dataset.poll == 'Messages'){<br />
goPolling()<br />
}else{<br />
workflowPolling()<br />
}<br />
}<br />
}<br />
<br />
<br />
<br />
if(pollWrapper){<br />
poll();<br />
}<br />
<br />
<br />
<br />
<br />
<br />
var polledWorkflows = false;<br />
<br />
function workflowPolling(){<br />
var params = {<br />
action: 'ask',<br />
query: '[[Workflow::' + pollWrapper.dataset.workflow + ']]|?Modification date',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var flows = Object.entries(data.query.results).map(function(entrie){<br />
return entrie[1].printouts['Modification date'][0].timestamp<br />
})<br />
if(polledWorkflows && flows.sort().join() != polledWorkflows.sort().join()){<br />
console.log('found something new', flows);<br />
console.log('polled', polledWorkflows);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledWorkflows = flows<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
var polledJurors = false;<br />
<br />
function goPolling(){<br />
var user = mw.config.values.wgRelevantUserName;<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Class::Workflow]][[Random juror::User:' + user + ']] OR [[Random judge::User:' + user + ']]',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var newKeys = Object.keys(data.query.results);<br />
if(polledJurors && newKeys.sort().join() != polledJurors.sort().join()){<br />
console.log('found something new', newKeys);<br />
console.log('polled', polledJurors);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledJurors = newKeys;<br />
}<br />
})<br />
}<br />
<br />
function reloadSection(){<br />
<br />
var template = pollWrapper.dataset.poll;<br />
var paramters = pollWrapper.dataset.parameters.replaceAll('^', '|')<br />
var params = {<br />
action: 'parse',<br />
text: '{{' + template + '|' + paramters + '|Fullpagename=' + mw.config.values.wgPageName.replaceAll('_', ' ') + '}}',<br />
contentmodel: 'wikitext',<br />
wrapoutputclass: '',<br />
disableeditsection: true,<br />
disablelimitreport: true,<br />
disabletoc: true,<br />
formatversion: 2,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.parse){<br />
if(template == 'Messages'){<br />
$(pollWrapper).html(data.parse.text)<br />
} else {<br />
$('#mw-content-text').html(data.parse.text)<br />
}<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
<br />
<br />
function logmeout(){<br />
<br />
var params = {<br />
action: 'logout',<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data, 'we logged you out' );<br />
window.location = mw.config.values.wgServer + '/index.php/Main_Page';<br />
} );<br />
<br />
}<br />
<br />
<br />
<br />
$( document ).ready(function() {<br />
<br />
<br />
if ($('.WSShowOnSelect') ) {<br />
WsShowOnSelect();<br />
}<br />
<br />
$('body.action-edit #wpTextbox1, body.action-submit #wpTextbox1').keydown(function(event) {<br />
var x = event.keyCode;<br />
if (x == 13 ) {<br />
if(!event.shiftKey){<br />
var insert = document.execCommand('insertText', false, '<!-- \n -->');<br />
if(insert){<br />
event.preventDefault();<br />
$('#wpTextbox1').focus()<br />
insert<br />
}<br />
}<br />
}<br />
})<br />
<br />
<br />
<br />
<br />
// Start of esc save<br />
<br />
<br />
<br />
$('body.action-edit, body.action-submit').keydown(function() {<br />
var x = event.keyCode;<br />
if (x == 27) {<br />
$.ajax({<br />
url :'/api.php?action=query&meta=tokens&format=json',<br />
type: 'GET',<br />
dataType: 'json',<br />
success : function(result){<br />
var token = result.query.tokens.csrftoken;<br />
<br />
$("input[name='wpEditToken']").attr("value", token );<br />
<br />
saveEdit();<br />
<br />
}<br />
});<br />
}else{<br />
mw.confirmCloseWindow();<br />
$('#wpSave, #wpPreview, #wpDiff').on('click', function(){<br />
$( window ).off( 'beforeunload' );<br />
})<br />
}<br />
<br />
})<br />
<br />
if($('body').hasClass('action-submit')){<br />
$('#top').prepend('<button class="btn btn-success enable-live-mode">Enable live mode</button>');<br />
$(document).on('click','.enable-live-mode', function(){<br />
if($(this).hasClass('btn-success')){<br />
liveMode();<br />
$(this).removeClass('btn-success');<br />
$(this).text('Live mode is on');<br />
}else{<br />
$(this).addClass('btn-success');<br />
$('body.action-submit textarea').off("change keyup paste");<br />
$(this).text('Enable live mode');<br />
}<br />
<br />
});<br />
}<br />
});<br />
<br />
window.saveEdit = function() {<br />
$.ajax({<br />
url : $('form.mw-editform').attr('action'),<br />
type : 'POST',<br />
data :$('form.mw-editform').serialize(),<br />
success : function(html) {<br />
$( window ).off( 'beforeunload' );<br />
mw.notify( 'Saved' );<br />
if($('body').hasClass('action-submit')){<br />
var parser = new DOMParser();<br />
var doc = parser.parseFromString(html, "text/html");<br />
var elem = doc.querySelectorAll('.mw-content-ltr')[0];<br />
$('.mw-content-ltr').html(elem);<br />
}<br />
}<br />
})<br />
};<br />
<br />
window.liveMode = function() {<br />
var oldVal = "";<br />
$('body.action-submit textarea').on("change keyup paste", function() {<br />
var currentVal = $(this).val();<br />
if(currentVal == oldVal) {<br />
return; //check to prevent multiple simultaneous triggers<br />
}<br />
<br />
oldVal = currentVal;<br />
var text = encodeURIComponent($('textarea').val());<br />
<br />
$.ajax({<br />
url: '/api.php?action=parse&format=json&formatversion=2&title=New&text='+text+'&pst=&prop=text%7Cmodules%7Cjsconfigvars&preview=true&disableeditsection=true&uselang=en',<br />
dataType: 'json',<br />
success: function (x) {<br />
$('#wikiPreview').html(x.parse.text);<br />
}<br />
});<br />
});<br />
};<br />
/* End of Esc Save */<br />
<br />
<br />
/***** WSForm: loading Select2 ****/<br />
$( document ).ready(function() {<br />
if ($('select[data-inputtype="ws-select2"]')[0]) {<br />
mw.loader.load('/extensions/WSForm/select2.min.css', 'text/css');<br />
$.getScript('/extensions/WSForm/select2.min.js').done(function() {<br />
$('select[data-inputtype="ws-select2"]').each(function() {<br />
var selectid = $(this).attr('id');<br />
var selectoptionsid = 'select2options-' + selectid;<br />
var select2config = $("input#" + selectoptionsid).val();<br />
var F = new Function(select2config);<br />
return (F());<br />
});<br />
});<br />
}<br />
});<br />
/* End of WSForm: Select2 */<br />
<br />
(function($) {<br />
$.fn.autogrow = function() {<br />
return this.each(function() {<br />
var textarea = this;<br />
$.fn.autogrow.resize(textarea);<br />
$(textarea).focus(function() {<br />
textarea.interval = setInterval(function() {<br />
$.fn.autogrow.resize(textarea);<br />
}, 500);<br />
}).blur(function() {<br />
clearInterval(textarea.interval);<br />
});<br />
});<br />
};<br />
$.fn.autogrow.resize = function(textarea) {<br />
var lineHeight = parseInt($(textarea).css('line-height'), 10);<br />
var lines = textarea.value.split('\n');<br />
var columns = textarea.cols;<br />
var lineCount = 0;<br />
<br />
/**<br />
* measures the text pixel width<br />
* @param text<br />
* @returns {*|jQuery}<br />
*/<br />
function textMeasure(text) {<br />
var div = document.createElement('div');<br />
document.body.appendChild(div);<br />
$(div).css({<br />
position: 'absolute',<br />
left: -1000,<br />
top: -1000,<br />
display: 'none'<br />
});<br />
$(div).html(text);<br />
const width = $(div).outerWidth();<br />
$(div).remove();<br />
return width;<br />
}<br />
<br />
$.each(lines, function() {<br />
lineCount += Math.ceil(textMeasure(this) / ($(textarea).innerWidth() - 125)) || 1;<br />
// lineCount += Math.ceil(this.length / columns) || 1;<br />
});<br />
var height = lineHeight * (lineCount + 1);<br />
$(textarea).css('height', height);<br />
};<br />
})(jQuery);<br />
<br />
$('textarea.form-control').autogrow();<br />
<br />
<br />
/* WSSHOWONSELECT */<br />
/**<br />
* applying show on select on the page and make sure everyting will be handled as needed<br />
*/<br />
function WsShowOnSelect() {<br />
var selectArray = [];<br />
$('.WSShowOnSelect').find('[data-wssos-show]').each(function (index, elm) {<br />
if ( $(elm).is('option') ) {<br />
var isInArray = false;<br />
var selectParent = $(elm).parent()[0];<br />
for ( var i = 0; i < selectArray.length; i++ ) {<br />
if ( $(selectParent).is($(selectArray[i])) ) {<br />
isInArray = true;<br />
}<br />
}<br />
if ( !isInArray ) {<br />
selectArray.push(selectParent);<br />
handleSelect(selectParent);<br />
}<br />
} else if ( $(elm).is('input[type=radio]') ) {<br />
handleRadio(elm);<br />
} else if ( $(elm).is('input[type=checkbox]') ) {<br />
handleCheckbox(elm);<br />
} else if ( $(elm).is('button') ) {<br />
handleButton(elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the radio button changes, show what is needed<br />
* @param radioElm<br />
*/<br />
function handleRadio(radioElm) {<br />
var pre_wssos_value = $(radioElm).data('wssos-show');<br />
var pre_parent_wssos = $(radioElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(radioElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(radioElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( radioElm.checked ) {<br />
$(pre_wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(pre_wssos_elm);<br />
} else {<br />
putAllTypesNameInData(pre_wssos_elm);<br />
}<br />
$(pre_parent_wssos).find('input[type=radio][name="'+ radioElm.name +'"]').on('change', function () {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
$(parent_wssos).find('input[name="'+this.name+'"][type="radio"]').each(function(index, radiobtn) {<br />
var radio_hide_data_attr = $(radiobtn).data('wssos-show');<br />
$(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]').addClass('hidden');<br />
putAllTypesNameInData($(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]'));<br />
});<br />
<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the checkbox changes, show what is needed<br />
* @param checkElm<br />
*/<br />
function handleCheckbox(checkElm) {<br />
var pre_wssos_value = $(checkElm).data('wssos-show');<br />
var pre_parent_wssos = $(checkElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(checkElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(checkElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( checkElm.checked ) {<br />
pre_wssos_elm.removeClass('hidden');<br />
// set the dataset value of data-name-attribute back in the name attribute<br />
putAllTypesDataInName(pre_wssos_elm);<br />
<br />
// set the name value of the unchecked element in the value of data-name-attribute and remove the name attribute<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
putAllTypesNameInData(pre_unchecked_elm);<br />
}<br />
} else {<br />
// set data-name-attribute to the value of name attribute and remove the name attribute<br />
putAllTypesNameInData(pre_wssos_elm);<br />
<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
$(pre_unchecked_elm).removeClass('hidden');<br />
// set the name attribute to the value of data-name-attribute<br />
putAllTypesDataInName(pre_unchecked_elm);<br />
}<br />
}<br />
$(checkElm).on('change', function(e) {<br />
e.stopPropagation();<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
<br />
if ( $(this).has('data-wssos-show-unchecked') ) {<br />
var wssos_unchecked_value = $(this).data('wssos-show-unchecked');<br />
var wssos_unchecked_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_unchecked_value+'"]');<br />
if ( this.checked ) {<br />
wssos_unchecked_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_unchecked_elm);<br />
} else {<br />
wssos_unchecked_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_unchecked_elm);<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* handle the select box changes to show what is needed on select<br />
* @param selectElm<br />
*/<br />
function handleSelect(selectElm) {<br />
var selectVal = $(selectElm).val();<br />
$(selectElm).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(option).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected || $(option).val() === selectVal) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
<br />
$(selectElm).on('change', function () {<br />
$(this).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
});<br />
}<br />
<br />
function handleButton(btnElm) {<br />
var pre_wssos_value = $(this).data('wssos-show');<br />
var pre_parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
<br />
// set up the start and make sure the element is hidden<br />
$(pre_wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(pre_wssos_elm);<br />
// add on click listener to the button<br />
$(btnElm).on('click', function(e) {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
<br />
// possibility to hide the wanted element back if an option<br />
if ( !$(wssos_elm).hasClass('hidden') ) {<br />
$(wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
} else {<br />
$(wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* find all different types which name attribute should go to the dataset<br />
* @param elm<br />
*/<br />
function putAllTypesNameInData(elm) {<br />
putNameAttrValueInDataset($(elm).find('input,select,textarea'));<br />
putRequiredInDataset($(elm).find('input,select,textarea'));<br />
}<br />
<br />
<br />
/**<br />
* find all different types which data-attribute should go to the name-attribute<br />
* @param elm<br />
*/<br />
function putAllTypesDataInName(elm) {<br />
putDatasetValueBackInName($(elm).find('input,select,textarea'));<br />
putDatasetInRequired($(elm).find('input,select,textarea'));<br />
}<br />
<br />
/**<br />
* set the name attribute value to the dataset data-name-attribute, remove the name attribute<br />
* @param elm<br />
*/<br />
function putNameAttrValueInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).attr('name') !== '' ) {<br />
var name = $(elm).attr('name');<br />
if (name) {<br />
$(elm).attr('data-name-attribute', name);<br />
$(elm).removeAttr('name');<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* set the name attribute to the value of the data-name-attribute<br />
* @param elm<br />
*/<br />
function putDatasetValueBackInName($elm) {<br />
$.each($elm, function(index, elm) {<br />
if ( $(elm).attr('data-name-attribute') !== '' ) {<br />
var datasetName = $(elm).data('name-attribute');<br />
if (datasetName) {<br />
$(elm).attr('name', datasetName);<br />
}<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* set the required attr in the dataset data-ws-required<br />
* @param $elm<br />
*/<br />
function putRequiredInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).is(':required') ) {<br />
$(elm).attr('data-ws-required', true);<br />
$(elm).prop('required', false);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* if the element has data-ws-required the make the element required<br />
* @param $elm<br />
*/<br />
function putDatasetInRequired($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).data('ws-required') ) {<br />
$(elm).prop('required', true);<br />
}<br />
})<br />
}<br />
<br />
/* END OF WSSHOWONSELECT */<br />
$( document ).ready(function() {<br />
if( $('.redirect-link').length > 0 ) {<br />
$('.redirect-link a')[0].click();<br />
}<br />
})</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.css&diff=3050
MediaWiki:Common.css
2022-02-23T14:07:45Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* <style> */<br />
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');<br />
/*<br />
details summary::before { <br />
content:"open"; <br />
}<br />
<br />
details[open] summary::before { <br />
content:"close"; <br />
}<br />
*/<br />
.oo-ui-horizontalLayout div.oo-ui-selectWidget {<br />
display: grid;<br />
grid-template-columns: 1fr 1fr 1fr;<br />
}<br />
<br />
.oo-ui-horizontalLayout .oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget .oo-ui-buttonElement-button {<br />
width: 100%;<br />
}<br />
<br />
.case-img-wrapper img{<br />
max-width: 70px;<br />
height: auto;<br />
}<br />
<br />
<br />
.hidden {<br />
display: none;<br />
}<br />
::-webkit-scrollbar {<br />
width: 14px;<br />
height: 18px;<br />
}<br />
::-webkit-scrollbar-thumb {<br />
height: 6px;<br />
border: 4px solid rgba(0, 0, 0, 0);<br />
background-clip: padding-box;<br />
-webkit-border-radius: 7px;<br />
background-color: rgba(0, 0, 0, 0.15);<br />
-webkit-box-shadow: inset -1px -1px 0px rgba(0, 0, 0, 0.05), inset 1px 1px 0px rgba(0, 0, 0, 0.05);<br />
}<br />
::-webkit-scrollbar-button {<br />
width: 0;<br />
height: 0;<br />
display: none;<br />
}<br />
::-webkit-scrollbar-corner {<br />
background-color: transparent;<br />
}<br />
.mw-body ul, .mw-body ol {<br />
margin: 0 0 10.5px;<br />
}<br />
@media screen {<br />
.onlyprint {<br />
display:none;<br />
}<br />
}<br />
/** Search box search symbol to the right <br />
.left-inner-addon {<br />
position: relative;<br />
}<br />
.left-inner-addon input {<br />
padding-left: 30px; <br />
}<br />
.left-inner-addon i {<br />
position: absolute;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}<br />
.right-inner-addon {<br />
position: relative;<br />
}<br />
.right-inner-addon input {<br />
padding-right: 30px; <br />
}<br />
.right-inner-addon i {<br />
position: absolute;<br />
right: 0px;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}*/<br />
.select2-container {<br />
width: 100% !important;<br />
margin-bottom: 1rem !important;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
.color-blue{<br />
color:#006699;<br />
}<br />
body{<br />
position: relative;<br />
min-height: 100vh;<br />
}<br />
<br />
<br />
body > .container{<br />
max-width:none;<br />
padding: 0;<br />
font-family: 'Open Sans', sans-serif;<br />
padding-bottom: 2.5rem;<br />
}<br />
#content, .container > .mt-1, .body-container{<br />
margin:0 auto;<br />
}<br />
@media (min-width: 576px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 540px;<br />
}<br />
}<br />
@media (min-width: 768px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 720px;<br />
}<br />
}<br />
@media (min-width: 992px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 960px;<br />
}<br />
}<br />
@media (min-width: 1200px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 1140px;<br />
}<br />
}<br />
.container > .row {<br />
width: 100%;<br />
}<br />
.row-WSHeader > .col{<br />
padding:0;<br />
}<br />
.navbar{<br />
margin: 0 15px;<br />
}<br />
.container-fluid .row-wsheader {<br />
border-bottom-width: 10px;<br />
border-bottom-style: solid;<br />
border-bottom-color: #006699;<br />
padding-top: 12px;<br />
border-image-source: linear-gradient(to right, #990000 0%,#990000 20%,#006699 20%,#006699 80%, #339966 80%, #339966 100%);<br />
border-image-slice: 1;<br />
}<br />
.row-WSHeader .container-fluid{<br />
padding:0;<br />
}<br />
.row-wsheader .list-inline{<br />
margin:0;<br />
text-align: center;<br />
}<br />
div.p-navbar {<br />
background-color: #f2f2f2;<br />
}<br />
div.navbar li.nav-item a.nav-link {<br />
color: #484848;<br />
}<br />
input.form-control {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
.nav-item {<br />
padding: 0 12px;<br />
}<br />
#simpleSearch {<br />
margin-top: 24px;<br />
position: relative;<br />
}<br />
.fa-search {<br />
position: absolute;<br />
right: 22px;<br />
transform: scaleX(-1);<br />
color: #6c757d;<br />
top: 7px;<br />
}<br />
.container .mt-5:last-child {<br />
position: absolute;<br />
bottom: 0;<br />
width: 100%;<br />
height: 2.5rem;<br />
}<br />
.container .mt-5:last-child > .col {<br />
padding: 0;<br />
}<br />
.container .mt-5:last-child > .col nav{<br />
margin: 0 -15px;<br />
}<br />
.navbar-nav {<br />
margin: 0 auto;<br />
width:100%;<br />
}<br />
body.rootpage-Main_Page #content{<br />
max-width:none;<br />
padding:0;<br />
}<br />
<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
.row-formitemresponsive div:first-child {<br />
align-self: center;<br />
border-right: none;<br />
}<br />
<br />
.row-formitemresponsive{<br />
padding: 7px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive input {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
<br />
.verdict-item{<br />
padding: 7px 0;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
div .verdict-item:first-child{<br />
border-top: none;<br />
}<br />
.percentage {<br />
max-height: 40px;<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.vi{<br />
border-radius: 30px;<br />
padding: 7px 25px;<br />
background: #f2f2f2;<br />
}<br />
.truth-no{<br />
background:#990000;<br />
color:white;<br />
}<br />
.truth-yes{<br />
background:#339966;<br />
color:white;<br />
<br />
}<br />
.verdict-type {<br />
writing-mode: vertical-lr;<br />
text-orientation: mixed;<br />
transform: rotate(180deg);<br />
}<br />
.verdict-wrapper {<br />
border-left: 2px solid #bdbcbc;<br />
padding-left: 14px;<br />
margin-left: 14px;<br />
}<br />
.inner-percentage {<br />
background: #f2f2f2;<br />
padding: 0 7px;<br />
border-radius: 40px;<br />
margin: 0 -16px;<br />
}<br />
.profile-img{<br />
border: 2px solid #E2EEFE;<br />
background: #F6F9FF;<br />
border-radius: 50%;<br />
color: #006599;<br />
font-size: 439%;<br />
text-align: center;<br />
height: max-content;<br />
}<br />
canvas.jqplot-grid-canvas {<br />
display: none;<br />
}<br />
.upload-preview{<br />
font-size: 0;<br />
}<br />
.upload-preview li {<br />
list-style: none;<br />
font-size: 0;<br />
}<br />
.upload-preview img, .upload-preview svg{<br />
max-width:70px;<br />
padding: 0.25rem;<br />
background-color: #fff;<br />
border: 1px solid #dee2e6;<br />
border-radius: 0.25rem;<br />
box-shadow: 0 1px 2px rgba(0,0,0,0.075);<br />
height: auto;<br />
}<br />
div#error_file-upload {<br />
display: none;<br />
}<br />
.box {<br />
border: 2px solid #f2f2f2;<br />
padding: 12px;<br />
margin: 25px auto;<br />
border-radius: 12px;<br />
}<br />
.info-box {<br />
border: 2px solid #E2EEFE;<br />
padding: 12px;<br />
margin: 25px auto;<br />
background: #F6F9FF;<br />
border-radius: 12px;<br />
color: #006599;<br />
text-align: center;<br />
}<br />
.info-box hr{<br />
border-top: 1px solid #006599;<br />
}<br />
.info-box details[open] {<br />
background: #e2eefd;<br />
margin: 0 -12px;<br />
padding: 0 12px;<br />
}<br />
.info-row b {<br />
display: block;<br />
}<br />
<br />
.info-row {<br />
border-bottom: 2px solid #f6f9ff;<br />
text-align: left;<br />
padding-bottom: 6px;<br />
}<br />
.info-row .percnt {<br />
background: #016499;<br />
color: white;<br />
padding: 0 7px;<br />
border-radius: 12px;<br />
float: right;<br />
}<br />
.btn-half.btn-green {<br />
border-radius: 0 30px 30px 0;<br />
}<br />
<br />
.btn-half {<br />
font-size: 12px;<br />
padding: 12px 23px;<br />
}<br />
.btn-half.btn-red {<br />
border-radius: 30px 0 0 30px;<br />
}<br />
.flow-index{<br />
justify-content: stretch;<br />
}<br />
.flow-index div:after {<br />
content: "";<br />
position: absolute;<br />
width: 20px;<br />
height: 20px;<br />
background: #f6f9ff;<br />
border-top: 2px solid #e2eefe;<br />
border-right: 2px solid #e2eefe;<br />
border-top-right-radius: 6px;<br />
z-index: 99;<br />
right: -12px;<br />
top: calc(50% - 10px);<br />
transform: rotate(45deg);<br />
}<br />
<br />
.flow-index div {<br />
width: 100%;<br />
font-size: 0.8em;<br />
position: relative;<br />
border: 2px solid #E2EEFE;<br />
padding: 6px 10px;<br />
background: #F6F9FF;<br />
/* border-radius: 12px; */<br />
color: #006599;<br />
text-align: center;<br />
/* width: 12.5%; */<br />
background: #F6F9FF;<br />
margin-right: -2px;<br />
line-height: 1.2em;<br />
align-self: end;<br />
<br />
}<br />
.lie-input b{<br />
color:white;<br />
background:#990000;<br />
}<br />
<br />
.lie-input i{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
font-style: normal;<br />
}<br />
<br />
#fake-field {<br />
border-radius: 0 0px 30px 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
min-height: 200px;<br />
width: 100%;<br />
padding: 0.375rem 0.75rem;<br />
font-size: 1rem;<br />
font-weight: 400;<br />
line-height: 1.5;<br />
color: #495057;<br />
outline: none;<br />
border-top: 2px solid #6b747d;<br />
height: unset;<br />
}<br />
.btn-mark.btn {<br />
font-size: 12px;<br />
padding: 4px 21px;<br />
border-radius: 0;<br />
}<br />
div .btn-mark.btn:first-child{<br />
border-radius: 20px 0 0 0;<br />
}<br />
.truth-token{<br />
border: 2px solid #006399;<br />
width: 2em;<br />
height: 2em;<br />
border-radius: 50%;<br />
padding-top: 2px;<br />
display: inline-block;<br />
text-align: center;<br />
background: #ffffff;<br />
color: #006499;<br />
box-shadow: 1px 2px 0px #006599;<br />
margin-right: 7px;<br />
}<br />
#balance.buy {<br />
border-bottom: 2px solid;<br />
padding-bottom: 7px;<br />
margin-bottom: 7px;<br />
}<br />
.total-token-price{<br />
text-align: left;<br />
padding: 9px 0;<br />
border-bottom: 2px solid;<br />
margin-bottom: 7px;<br />
}<br />
<br />
<br />
.icon-bar {<br />
background-color: #888888;<br />
}<br />
.navbar-toggle .icon-bar + .icon-bar {<br />
margin-top: 4px;<br />
}<br />
.navbar-toggle .icon-bar {<br />
display: block;<br />
width: 22px;<br />
height: 2px;<br />
border-radius: 1px;<br />
}<br />
<br />
.home-search{<br />
max-width: 27em;<br />
margin: 0 auto;<br />
}<br />
.banner{<br />
position:relative;<br />
margin:0 -30px;<br />
}<br />
<br />
<br />
@media (max-width:800px){<br />
.row{<br />
margin-right: 0px;<br />
margin-left: 0px;<br />
}<br />
.navbar {<br />
margin: 0 ;<br />
}<br />
.banner {<br />
margin: 0 -15px;<br />
padding: 15px;<br />
}<br />
<br />
}<br />
<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
.checkinput-button input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
.chat.me:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #339966;<br />
position: absolute;<br />
right: -10px;<br />
left:unset;<br />
top: 0;<br />
transform:unset;<br />
}<br />
.chat:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #76acca;<br />
position: absolute;<br />
left: -10px;<br />
right: unset;<br />
top: 0;<br />
transform: scaleX(-1);<br />
}<br />
.chat h3 {<br />
font-size: 12px;<br />
}<br />
h3.chat-1 {<br />
color: orange;<br />
}<br />
h3.chat-2 {<br />
color: #00ff9d;<br />
}<br />
h3.chat-3 {<br />
color: #00f7ff;<br />
}<br />
h3.chat-4 {<br />
color: #c800ff;<br />
}<br />
h3.chat-Plaintiff {<br />
color: yellow;<br />
}<br />
h3.chat-Judge {<br />
color: #990000;<br />
}<br />
.chat.me {<br />
margin: 0 12px 12px 35px;<br />
background: #339966;<br />
}<br />
.chat {<br />
background: #76acca;<br />
color: white;<br />
position: relative;<br />
text-align: left;<br />
padding: 12px;<br />
border-radius: 12px;<br />
margin: 0 35px 12px 12px;<br />
}<br />
#fake-field::selection {<br />
background: #006599;<br />
color: white;<br />
}<br />
.chat h4 {<br />
font-size: 7px;<br />
color: #e2eefe;<br />
text-align: right;<br />
margin: 0;<br />
}<br />
.modal-body img {<br />
max-width: 100%;<br />
}<br />
div .checkinput-button:nth-child(2) input[type="radio"]:checked + span {<br />
background: #990000;<br />
}<br />
.sep{<br />
font-size:1.5em;<br />
padding: 0 1em;<br />
}<br />
.add-more {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor: pointer;<br />
}<br />
#case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
<br />
<br />
/* Signup edits */<br />
label[for="wpReason"], #wpReason {<br />
display: none;<br />
}<br />
<br />
.mw-createacct-benefits-container {<br />
display: none;<br />
}<br />
/* end of signup edits */<br />
<br />
/* Chrome, Safari, Edge, Opera */<br />
<br />
input#Initial-credit-card-nr::-webkit-outer-spin-button,<br />
input#Initial-credit-card-nr::-webkit-inner-spin-button {<br />
-webkit-appearance: none;<br />
margin: 0;<br />
}<br />
<br />
/* Firefox */<br />
input#Initial-credit-card-nr {<br />
-moz-appearance: textfield;<br />
}<br />
<br />
.btn-green {<br />
background: #339966!important;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-red {<br />
background: #990000;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-gray {<br />
background: #6a737d;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-blue {<br />
background: #f6f9ff;<br />
}<br />
.dark-blue{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
}<br />
.red{<br />
color:white;<br />
background: #990000;<br />
font-weight:bold;<br />
}<br />
.btn-square input[type="submit"] {<br />
border-radius: 0 0 5px 5px;<br />
}<br />
<br />
.btn-square {<br />
border: none;<br />
border-radius: 5px;<br />
padding: 0 0;<br />
margin: 2px;<br />
position: relative;<br />
}<br />
.flow-index .active:after {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.upload-preview{display:inline !important;}<br />
<br />
.flow-index .active {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
color: #339965;<br />
margin-left: 2px;<br />
margin-right: 0;<br />
}<br />
.flow-index div.done {<br />
color: #484848;<br />
border: 2px solid #b2b2b2;<br />
background: #f2f2f2;<br />
}<br />
.flow-index div.done:after {<br />
background: #f2f2f2;<br />
border: 2px solid #b2b2b2;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.flow-index div.done:before {<br />
/*content: "✔";*/<br />
position: absolute;<br />
font-size: 5em;<br />
font-weight: 900;<br />
left: 0.2em;<br />
top: 0;<br />
color: #716f6f69;<br />
}<br />
.user-roles {<br />
margin-top: -40px;<br />
margin-left: 20px;<br />
}<br />
.vi.ml-2{<br />
max-height: 38px;<br />
}<br />
input.remove-juror {<br />
background: unset;<br />
border: none;<br />
padding: 0;<br />
position: absolute;<br />
top: 0;<br />
right: 9px;<br />
color: white;<br />
}<br />
.modal-body iframe {<br />
width: 100%;<br />
height: 50vh;<br />
}<br />
.big-icon {<br />
font-size: 4em;<br />
}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Prosecute_a_case&diff=3048
Prosecute a case
2022-02-23T14:07:44Z
<p>Maintenance script: Fill database</p>
<hr />
<div><div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#case-form input, #case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
select:not([multiple]) {<br />
padding: 0 1.5em;<br />
background-color: #f2f2f2;<br />
border-radius: 30px;<br />
-webkit-appearance: none;<br />
-moz-appearance: none;<br />
background-position: right 50%;<br />
background-position-x: right;<br />
background-position-y: 50%;<br />
background-repeat: no-repeat;<br />
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);<br />
line-height: 1;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#case-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
textarea{<br />
min-height:200px;<br />
}<br />
[contentEditable=true]:empty:not(:focus):before{<br />
content:attr(data-placeholder);<br />
color:grey;<br />
}<br />
</style>}}<br />
<br />
</div>{{#if:{{#vardefineecho:@workflow|{{#urldecode:{{#urlget:case}} }} }}<!-- <br />
<br />
// FILL OUT VERDICT<br />
-->|<br />
<h1>Please wait ...</h1><div class="d-none">{{#arraymap:{{#ask:[[{{#var:@workflow}}]][[Filed by::User:{{CURRENTLOGGEDUSER}}]][[Plaintiff verdict::No]]|?Case ID|?Lie|?Modification date|link=none|format=array|sort=Modification date|limit=1|order=desc}}|,|@@@|<br />
<div class="info-item"><br />
Please fill in your plaintiff verdict<br />
<div class="info-row"><b>Lie</b>{{#explode:@@@|<PROP>|2}}<br />
{{#vardefine:@partpage|{{#ask:[[Class::Participant]][[User::User:{{CURRENTLOGGEDUSER}}]][[Workflow::{{#explode:@@@|<PROP>|0}}]]|link=none}} }}<br />
{{#if:{{#var:@partpage}}|<br />
{{#widget:link|type=a|text=link|href={{fullurl:{{#explode:{{#ask:[[Class::Verdict]][[User::User:{{CURRENTLOGGEDUSER}}]]|?Case ID|?Lie|?Modification date|sort=Modification date|limit=1|order=desc|link=none|format=array}}|<PROP>|0}}|Participant={{#var:@partpage}} }} }}<br />
{{#tag:html|<script >setTimeout(function(){document.querySelector('.info-row a').click()},1000)</script>}}<br />
|{{#tag:wsform| <br />
{{#tag:wscreate||mwwrite=Participant/|mwtemplate=Participant|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wscreate||mwwrite=Verdict:{{#explode:@@@|<PROP>|1}}/|mwtemplate=Verdict|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wsfield||type=hidden|name=User|value=User:{{CURRENTLOGGEDUSER}} }}<br />
{{#tag:wsfield||type=hidden|name=Role|value=Plaintiff }}<br />
{{#tag:wsfield||type=hidden|name=Case ID|value={{#explode:@@@|<PROP>|1}} }}<br />
{{#tag:wsfield||type=hidden|name=Workflow|value={{#explode:@@@|<PROP>|0}} }}<!-- <br />
--><br />
{{#tag:wsfield||type=submit|value=Create verdict|class=btn btn-green ml-4 mt-4 mb-4}}<br />
|action=addToWiki|id=form|mwreturn={{fullurl:Verdict:{{#show:{{#var:@workflow}}|?Case ID}}/2}} }}{{#tag:html|<script >setTimeout(function(){document.querySelector('input[type="submit"]').click()},3000)</script>}}|}}| }}<br />
</div></div></div><!--<br />
<br />
<br />
// PROSECUTE CASE <br />
-->|<!--<br />
<br />
<br />
--><h1>Prosecute a case</h1><!-- <br />
--><div class="row"><div class="col-12 col-lg-8">The Internet Court of Lies is meant to create a global community of people who work to provide evidence-based understanding of Fiat Lies and a means by which Social Media and other media can develop their own content curation based on results of the court.<br><br>Submit your prepared suit, to be accepted by the Court. A Judge is assigned, and if he accepts your suit, Jurors may be assigned. You, the Judge, and Jurors can now try your case by editing your suit page further. Finally, the Judge will declare your suit settled, and the suit is done<!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#vardefine:@balance|<!--{{#ttcount:}}-->1 }}</div><div class="col-12 col-lg-4"><div class="info-box mt-0 pb-4"><br />
<h2>Your TruthToken balance</h2><span class="truth-token">{{fa|gavel}}</span>× <span class="nr pb-4">{{#var:@balance}}</span><br><br>Prosecuting a case = 1 TruthToken </div></div>|{{#vardefine:@balance|0}} }}</div><br />
{{#ifexpr:{{#var:@balance}} > 0|<br />
<br />
<wsform action="addToWiki" id="case-form" class="box" enctype="multipart/form-data" ><!-- mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}}|msg=casestarted}}" --><br />
<wscreate mwwrite="Workflow/" mwtemplate="Workflow" mwoption="range:00001-99999" mwfollow="case" /><br />
<wsfield type="hidden" name="Plaintiff verdict" value="No" /><br />
<wsfield type="hidden" name="Stage" value="Waiting for Plaintiff verdict" /><br />
<wsfield type="hidden" name="Filed by" value="User:{{CURRENTLOGGEDUSER}}" /><!-- <br />
-->{{#vardefine:@id|{{Fake token|token={{#time:U|now}}{{#time:U|now}} }} }}<br />
<wsfield type="hidden" name="Case ID" value="{{#var:@id}}" /><br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3>{{#arraydefine:@topics|{{#ask:[[Class::Workflow]]|?Topic|limit=999999|link=none|pagetitle=hide|format=plainlist|headers=hide|mainlabel=-|searchlabel=}} }}{{#arrayunique:@topics}}<br />
|2=<!--<wsselect name="Topic" placeholder="Placeholder" class="form-control"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect>--><wsfield type="text" list="topics" class="form-control mt-2" />{{#tag:html|<datalist id="topics">{{#arraymap:{{#arrayprint:@topics}}|,|@@@|<option value="@@@">@@@</option>|}}</datalist> }}<br />
}}<br />
<h1>The Lie and Context</h1><br />
<!-- <br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Accusation with Evidence</h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Accusation" placeholder="Text with links to evidence" value="{{{Accusation|}}}" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-mark dark-blue" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark " onclick="unformat()">{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select a Time Slot" onclick="createPage()" id="time-slot-button" >Select a Time Slot</wsfield><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="">{{#Widget:Multi upload|id={{#var:@id}} }}</div><br />
}}<br />
<!--{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}--><!-- <br />
--><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<wsfield type="textarea" name="Markup" id="real-field" class="d-none" /><br />
<wsfield type="button" class="btn btn-green float-right" id="upload-button" onclick="uploadFiles()">Propose verdict*</wsfield><br />
<wsfield type="submit" id="real-submit" class="d-none" value="niks" /><br />
}}<!-- <br />
--><small>*By clicking "Propose verdict" you agree to tell the Truth, the Whole Truth, and Nothing but the Truth, in their participation in a case. If you lie as a case participant with a Fiat Lie, you risk being banned from further participation in the ICoL.</small><br />
</wsform><br />
{{#tag:html|<script><br />
var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
for(i = 0; i < addMore.length; ++i){<br />
addMore[i].addEventListener('click', addMoreInputs, false);<br />
}<br />
//var newDeceit = document.querySelector('.add-more.lies').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.facts').closest('.col-md-8').querySelector('.original').innerHTML;<br />
var newLocation = document.querySelector('.add-more.locations').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('lies')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
if(this.classList.contains('locations')){<br />
newDiv.innerHTML = newLocation;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
}<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function submitRealField(){<br />
console.log('dededd')<br />
document.getElementById('real-field').value = document.getElementById('fake-field').innerHTML;<br />
setTimeout(function(){<br />
document.getElementById('real-submit').click()<br />
}, 500)<br />
}<br />
<br />
<br />
<br />
<br />
</script>}}|<div class="m-5 alert alert-primary">0 TruthTokens, please buy TruthTokens on your profile page</div><br />
<wsform id="case-form"><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" readonly="readonly" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3><br />
|2=<wsselect name="Topic" placeholder="Placeholder" class="form-control" readonly="readonly"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Description of the lie </h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Description" placeholder="Description" value="{{{Description|}}}" readonly="readonly" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup Lie and any Thruths</h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" readonly="readonly" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-green btn-mark " readonly="readonly" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark" >{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" readonly="readonly" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select Time Slot" onclick="createPage()" /><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}} <br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="d-flex">{{#vardefine:@filename|Import-cse-{{#time: U | now}}.png}}<br />
{{#vardefine:@pagecontent|<nowiki>{{File for case|Case file=</nowiki>1234-132525-767967-3865381265853<nowiki>|Uploaded by=</nowiki>{{CURRENTLOGGEDUSER}}<nowiki>}}</nowiki>}}<br />
<wslabel for="file-upload" class="attachment">{{fa|paperclip}}<br />
<wsfield class="d-none" type="file" name="File" id="file-upload" verbose_id="hiddendiv" target="{{#var:@filename}}" pagecontent="{{#var:@pagecontent}}" readonly="readonly" /></wslabel><br />
<div class="upload-preview hidden" id="hiddendiv"></div></div><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<br />
<br />
<br />
}}</wsform> }} }}<!-- ./ if urlget case enter verdict else prosecute case<br />
-->{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
|Hide=Yes<br />
}}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Participant&diff=3047
Template:Participant
2022-02-23T14:07:43Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Participant''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Participant<br />
|User=<br />
|Workflow=<br />
|Case ID=<br />
|Role=<br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly>{{#vardefine:@currentuser|{{#if:{{{Currentuser|}}}|{{{Currentuser|}}}|{{CURRENTLOGGEDUSER}} }} }}<!-- <br />
-->{{#vardefine:@servername|{{#if:{{{Servername|}}}|{{{Servername|}}}|{{SERVERNAME}} }} }}<!-- <br />
-->{{#vardefine:@fullpagename|{{#if:{{{Fullpagename|}}}|{{{Fullpagename|}}}|{{FULLPAGENAME}} }} }}<!-- <br />
--><div data-poll="Participant" data-workflow="{{{Workflow|}}}" data-parameters="Currentuser={{#var:@currentuser}}^Servername={{#var:@servername}}<br />
^Role={{{Role|}}}^Workflow={{{Workflow|}}}^User={{{User|}}}^Case ID={{{Case ID|}}}"></div><!-- <br />
--><div class="d-none">__NOTOC__ __NOTITLE__{{#if:{{{User|}}}|{{#set:Class=Participant|Role={{{Role|}}}|Workflow={{{Workflow|}}}|User={{{User|}}}|Case ID={{{Case ID|}}}|Name={{{Name|}}} }} }}</div><!--<br />
-->{{#vardefine:@allowed|{{#ifeq:User:{{#var:@currentuser}}|{{{User|}}}|Yes|{{#ifsysop:Yes|No}}}}}}<br />
{{#vardefine:@judge|{{#show:{{{Workflow|}}}|?Judge}} }}<br />
{{#ifeq:{{#var:@allowed}}|Yes|<h1>{{#switch:{{{Role|}}}|Judge={{fa|gavel}}|Plaintiff={{fa|book}}|Juror={{fa|balance-scale}} }}&nbsp;{{#if:{{{Name|}}}|{{{Name|}}}|{{{Role|}}} }} - {{#ask:[[Class::Suit]][[Workflow::{{{Workflow|}}}]]}}</h1><!--<br />
--><h2>Case Progress:</h2>{{#switch:{{#show:{{{Workflow|}}}|?Stage}}<br />
|Waiting for Plaintiff verdict=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="active">Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs judge=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="active">Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Judge accepted=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="active">Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs jurors=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="done">Judge accepted</div><div class="done">Case is filed</div><div class="active">Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|In progress=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="done">Judge accepted</div><div class="done">Case is filed</div><div class="done">Case needs jurors</div><div class="active">Suit in progress</div><div>Settled</div></div> <br />
|Settled=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="done">Judge accepted</div><div class="done">Case is filed</div><div class="done">Case needs jurors</div><div class="done">Suit in progress</div><div class="active">Settled</div></div><br />
}}<br />
<h2>Your checklist:</h2>{{#vardefine:@check|{{#ask:[[{{{Workflow|}}}]]|?Juror amount|?Suit date|?Settlement date|?Meeting date|format=array|link=none}} }}<br />
{{#switch:{{{Role|}}}<br />
|Plaintiff=<div class="d-flex flow-index"><div class="done">Propose a case</div><div class="done">Complete verdict<br />
</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|2}}|class="done"}}>Reevaluate verdict</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|4}}|{{#ifexpr:{{#time: U |{{#explode:{{#var:@check}}|<PROP>|4}} }} < {{#time: U | now}} |class="done"}} }}>Attend meeting</div></div><br />
|Judge=<div class="d-flex flow-index"><div class="done">Read the Plaintiff pleading and proposed verdict</div><div class="done">Accept or Reject the Plaintiff filing<br />
</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|2}}|class="done"}}>Set settlement date </div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|1}}|class="done"}}>Set the number of Jurors</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|2}}|class="done"}}>Set date for Jurors verdicts</div><div {{#vardefine:@verdict|{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::{{{User|}}}]]|link=none}} }}{{#if:{{#var:@verdict}}|class="done"}}>Complete your verdict</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|4}}|class="done"}}>Set date for meeting with Jurors and the Plaintiff</div><div {{#ifeq:{{#show:{{{Workflow|}}}|?Stage}}|Settled|class="done"}}>Complete your verdict and settle the case</div></div><br />
|Juror=<div class="d-flex flow-index"><div class="done">Read the Plaintiff pleading and proposed verdict</div><div {{#vardefine:@verdict|{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::{{{User|}}}]]|link=none}} }}{{#if:{{#var:@verdict}}|class="done"}}>Create verdict<br />
</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|4}}|{{#ifexpr:{{#time: U |{{#explode:{{#var:@check}}|<PROP>|4}} }} < {{#time: U | now}} |class="done"}} }}>Attend meeting</div></div><br />
}}<br />
<div class="row "><br />
<div class="col-12 col-lg-8 "><br />
<div class="box"><div class="d-flex justify-content-between"><h2>Case information</h2> {{#ifeq:{{{Role|}}}|Plaintiff|{{#widget:link|type=a|text=Edit|class=btn-green|href={{fullurl:edit case|id={{#replace:{{{Workflow|}}}|Workflow/| }} }} }} }}</div><!--<br />
-->{{#ifeq:{{#show:{{{Workflow}}}|?Stage }}|Settled|| {{#if:{{#var:@judge}}|<!--<br />
<br />
<br />
--> }}<!--<br />
<br />
-->{{#vardefine:@classQ|{{#show:{{{Workflow|}}}|?Class request|link=none}} }}{{#if:{{#var:@classQ}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Class request:</b><br />
|2={{#ifeq:{{#var:@classQ}}|Declined|Declined|{{#ifeq:{{#var:@classQ}}|Approved|<br />
Approved: Class page: {{#ask:[[Class::Workflow]][[Class case IDs::{{{Workflow|}}}]]|format=array|link=none}} |Pending}} }}<br />
}}<br />
}} }}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Role:</b><br />
|2={{{Role|}}}<br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Suit:</b><br />
|2={{#vardefine:@title|{{#ask:[[Class::Suit]][[Case ID::{{{Case ID|}}}]]}} }}{{#if:{{#var:@title}}|{{#var:@title}}|{{#show:{{{Workflow}}}|?Lie|link=none }} }}<br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Stage:</b><br />
|2={{#show:{{{Workflow}}}|?Stage }}<br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>The Plaintiff Accusation with Evidence :</b><br />
|2={{#show:{{{Workflow}}}|?Accusation|link=none }}<br />
}}<!--<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Marked <span class="red">lies</span> and <span class="dark-blue">truths</span> :</b><br />
|2=<div class="lie-input">{{#show:{{{Workflow}}}|?Markup|Link=none }}</div><br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Lie locations:</b><br />
|2={{#arraymap:{{#show:{{{Workflow|}}}|?Locations}}|,|@@@|<br />
{{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}} |<br>}}<br />
}}<!--<br />
<br />
-->{{#vardefine:@meeting|{{#show:{{{Workflow}}}|?Meeting|link=none }} }}<!--<br />
<br />
-->{{#if:{{#var:@meeting}}|{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Meeting link</b><br />
|2=[{{#var:@meeting}} Meeting]<br />
}} }}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Suit date</b><br />
|2={{#show:{{{Workflow}}}|?Slot|link=none }}<br />
}} <!--<br />
<br />
-->{{Item responsive |Cols=6-6<br />
|1=<b>Evidence of lie appearance:</b>{{#vardefine:@uuid|{{#show:{{{Workflow|}}}|?uuid|link=none}} }}<br />
|2={{#vardefine:@counter|0}}{{#if:{{#var:@uuid}}|{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#var:@uuid}}]]|?=|?Modification date|?Type|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{fa|file-pdf}}|{{fa|image}} }} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|Pdf|Image}}<br />
|BodyText={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{#widget:pdf|pdf={{filepath:{{#explode:{{#explode:@@@|<PROP>|0}}|:|1}} }} }}|[[{{#explode:@@@|<PROP>|0}}]]}}Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!-- <br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1 }} }}|}} }} }}<!--<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Verdicts:</b><br />
}}<!--<br />
<br />
-->{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::!{{{User|}}}]]|?Role|link=none|format=array}}|,|@@@| <br />
{{#tag:html|<details><br />
<summary>{{#explode:@@@|<PROP>|1}} verdict</summary><br />
}}<br />
{{verdict results|Verdict={{#explode:@@@|<PROP>|0}} }}<br />
{{#tag:html|</details>}}<br />
|}}</div><br />
<!--<br />
<br />
--> {{#ifeq:{{{Role|}}}|Plaintiff|{{#ifeq:{{#show:{{{Workflow}}}|?Stage }}|Needs judge|<br />
{{#vardefine:@randomjudge|{{#ask:[[User group::icol-user]][[Class::Member]][[Role::Judge]][[!{{{User|{{CURRENTLOGGEDUSER}} }}}]] [[Online since::>{{#time: r | now - 1 hour}}]]<br />
|Limit=1<br />
|format=array<br />
|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Judge]][[!{{{User|{{CURRENTLOGGEDUSER}} }}}]]|Limit=1|format=array|order=random}} }} }}<br />
{{#tag:wsform|<h2>Invite a Judge</h2><br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Stage|value=Needs judge}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Random judge|value={{#var:@randomjudge}} }}<br />
{{#tag:wsfield||type=submit|class=btn btn-green|value=Invite Judge}}<br />
|action=addToWiki|mwreturn={{fullurl:{{FULLPAGENAME}} }} }}<br />
}} }}<!--<br />
<br />
-->{{#ifeq:{{#show:{{{Workflow}}}|?Stage }}|Settled|| {{#ifeq:{{{Role|}}}|Judge|<div class="box"><h2>Case settings</h2><br />
{{Item responsive |Cols={{#var:@cols|2-10}}<br />
|1=<b>Jurors:</b><br />
|2={{#vardefine:zz|{{#ask:[[{{{Workflow|}}}]]|?Random juror|?Declined juror|?Judge|?Filed by|?Jurors|format=array|link=none}} }}<br />
{{#vardefine:@countjur|0}}{{#arraymap:{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]][[Role::Juror]]|?Role|?Name|?User|format=array|link=none}}|,|@@@|{{#if:{{#explode:@@@|<PROP>|2}}|<div class="btn btn-green btn-square">{{#explode:@@@|<PROP>|2}}<br><small>Accepted</small>{{#tag:wsform|{{#arraydefine:@random juror|{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Random juror|format=array|link=none}}|<PROP>|1}}|<MANY>}}{{#arraydefine:@user|{{#explode:@@@|<PROP>|3}} }}{{#arraydiff:new_key|@random juror|@user}}{{#arraydefine:@Jurorsarr|{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Jurors|format=array|link=none}}|<PROP>|1}}|<MANY>}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#if:{{#arrayprint:new_key}}| {{#arrayprint:new_key}}, }}{{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Declined juror|value={{#if:{{#explode:{{#var:zz}}|<PROP>|2}}|{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|###|,}}, {{#explode:@@@|<PROP>|3}}| {{#explode:@@@|<PROP>|3}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Jurors|value={{#arraydiff:jrs|@Jurorsarr|@user}}{{#arrayprint:jrs}} }}<br />
{{#tag:wsfield||type=submit|value=x|class=remove-juror}}<br />
|action=addToWiki}}</div>|<div class="btn btn-green btn-square">{{#explode:@@@|<PROP>|1}}<br><small>Accepted</small></div>}}{{#vardefine:@countjur|{{#expr:{{#var:@countjur}} + 1}} }}|}}<!-- <br />
-->{{#arraymap:{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Random juror|format=array|link=none}}|<PROP>|1}}|<MANY>|@@@|{{#ifeq:@@@|done||<div class="btn btn-gray btn-square"> Juror {{#vardefine:@countjur|{{#expr:{{#var:@countjur}} + 1}} }}{{#var:@countjur}}<br><small>Invited<!-- 1 day ago --></small><br><!--<br />
<br />
<br />
-->{{#tag:wsform|{{#arraydefine:@random juror|{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Random juror|format=array|link=none}}|<PROP>|1}}|<MANY>}}{{#arraydefine:@user|@@@ }}{{#arraydiff:new_key|@random juror|@user}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#if:{{#arrayprint:new_key}}| {{#arrayprint:new_key}}, }}{{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Declined juror|value={{#if:{{#explode:{{#var:zz}}|<PROP>|2}}|{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|###|,}}, @@@| @@@ }} }}<br />
<!--{{#tag:wsfield||type=submit|value=x|class=remove-juror}}--><br />
|action=addToWiki}}</div>}} |}}<br />
}}<!-- <br />
-->{{#vardefine:@tokenstats|<nowiki>{{subst:#ttaward:</nowiki>{{PAGENAME:{{#show:{{{Workflow}}}|?Filed by|link=none}} }}<nowiki>}}</nowiki>}}<br />
{{#ifeq:{{#show:{{{Workflow}}}|?Stage|link=none}}|Judge accepted|<br />
<wsform action="addToWiki" ><br />
<wscreate mwwrite="Case/{{{Case ID|}}}" mwtemplate="Suit" /><br />
<wsfield type="hidden" name="Title" value="{{#show:{{{Workflow|}}}|?Lie|link=none}}" /><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="vbvbv" value="{{#var:@tokenstats}}" /><br />
<h2>Suit settings</h2><br />
<p>Choose a date for the suit, choose the number of jurors needed for the suit, and file the suit. Random jurors will be ask to participate, and the plaintiff will be notified about the suit date</p><br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Stage|value=Needs jurors}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Juror amount }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Suit date }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Settlement date }}<br />
<div id="jurors">{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#show:{{{Workflow}}}|?Filed by|link=none}}]]|Limit=5|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#show:{{{Workflow}}}|?Filed by|link=none}}]]|Limit=5|format=array|order=random}} }} }}</div><!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors needed for the case</b><br />
|2={{#tag:wsfield||type=number|name=Juror amount|min=1|max=5|class=form-number form-control|value=5}}<br />
}}<small class="text-muted">Set the number of Jurors you are requesting</small><br />
<div class="clear-both"></div><!-- <br />
--><!--<br />
<br />
-->{{#ifeq:{{PAGENAME:{{#show:{{{Workflow}}}|?Filed by|link=none}} }}|{{#var:@currentuser}}|<wsfield type="button" disabled="disabled" class="btn btn-green mb-4" >Cannot create docket. You're the plaintiff.</wsfield>|<br />
<wsfield type="button" onclick="setJurors()" class="btn btn-green mb-4" >Create docket</wsfield><br />
<wsfield type="submit" value="Create docket" id="submit-docket" class="btn btn-green mb-4 d-none"/>}}<!--<br />
-->{{#tag:html|<script><br />
var oldjurrors = document.getElementById('jurors').querySelector('input').value;<br />
<br />
function setJurors(){<br />
var amount = document.querySelector('[name="Juror amount"]').value;<br />
var jur = oldjurrors.split('-^^--^^-')[1];<br />
var jurarray = jur.split(',');<br />
var newjurrors = jurarray.slice(0 , amount);<br />
document.getElementById('jurors').querySelector('input').value = oldjurrors.split('-^^--^^-')[0]+'-^^--^^-'+newjurrors;<br />
document.getElementById('submit-docket').click();<br />
}<br />
<br />
</script>}}<!--<br />
<br />
--></wsform>|<!--<br />
--><h2>Change suit settings</h2><!--<br />
--><p>Participants in this case will be informed about your changes to the suit</p><!--<br />
--><wsform action="addToWiki"> <br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Stage|value=Needs jurors}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Juror amount }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Change|value=yes }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Change seen by|value=none }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Settlement date }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Meeting date }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Suit date }}<!-- <br />
--><div id="jurrors" class="d-none">{{#vardefine:@wf|{{#ask:[[{{{Workflow}}}]]|?Random juror|?Declined juror|?Jurors|?Filed by|link=none|format=array}} }}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|1}}|<MANY>|@@@|@@@|,}}</div><br />
<div id="jurors">{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#explode:{{#var:@wf}}|<PROP>|4}}]]{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|2}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|3}}|<MANY>|@@@|[[!@@@]]|}}|Limit=5|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#explode:{{#var:@wf}}|<PROP>|4}}]]{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|2}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|3}}|<MANY>|@@@|[[!@@@]]|}}|Limit=5|format=array|order=random }} }} }}</div><br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors needed for the case</b><br />
|2={{#tag:wsfield||type=number|name=Juror amount|class=form-number form-control|value={{#show:{{{Workflow}}}|?Juror amount }}|min={{#show:{{{Workflow}}}|?Juror amount }}|max=5 }}<br />
}}<small class="text-muted">Set the number of Jurors you are requesting</small><br />
<div class="clear-both"></div><!-- <br />
--><wsfield type="button" onclick="changeJurors()" class="btn btn-green mb-4 mt-4 float-left" >Change suit</wsfield><br />
<wsfield type="submit" value="Change suit" id="change-suit" class="btn btn-green mb-4 d-none "/><br />
{{#tag:html|<script><br />
var oldjurrors = document.getElementById('jurors').querySelector('input').value;<br />
<br />
<br />
function changeJurors(){<br />
var amount = document.querySelector('[name="Juror amount"]').value;<br />
var oldamount = document.querySelector('[name="Juror amount"]').getAttribute('min');<br />
<br />
<br />
if(amount > oldamount){<br />
var pastjurrors = document.getElementById('jurrors').innerHTML;<br />
<br />
var jur = oldjurrors.split('-^^--^^-')[1];<br />
var jurarray = jur.split(',');<br />
var oldjurarray = pastjurrors.split(',');<br />
var newjurrors = jurarray.slice(0 , amount - oldamount);<br />
document.getElementById('jurors').querySelector('input').value = oldjurrors.split('-^^--^^-')[0]+'-^^--^^-'+oldjurarray.join()+','+newjurrors;<br />
document.getElementById('change-suit').click();<br />
}else{<br />
var pastjurrors = document.getElementById('jurrors').innerHTML;<br />
var oldjurarray = pastjurrors.split(',');<br />
document.getElementById('jurors').querySelector('input').value = oldjurrors.split('-^^--^^-')[0]+'-^^--^^-'+oldjurarray.join();<br />
<br />
document.getElementById('change-suit').click();<br />
<br />
}<br />
}<br />
<br />
</script>}}<br />
</wsform><br />
<wsform action="addToWiki"> <br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Stage|value=Settled}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value=done}}<br />
<wsfield type="submit" value="Mark case settled" class="btn btn-red mb-4 float-right mt-4"/><div class="clear-both"></div><br />
</wsform><br />
}}</div>}} }}<!--<br />
<br />
<br />
<br />
--><div class="box"><h2>Your verdict :</h2>{{#vardefine:@verdict|{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::{{{User|}}}]]|link=none}} }}{{#if:{{#var:@verdict}}|{{verdict results|Verdict={{#var:@verdict}} }}<br>{{#widget:link|type=a|href={{fullurl:{{#var:@verdict}}|Participant={{#var:@fullpagename}} }}|text=Edit verdict|class=btn btn-green }}|<!--<br />
--><wsform action="addToWiki">{{#ifeq:{{{Role|}}}|Juror|{{#vardefine:@verdictdate|{{#show:{{{Workflow}}}|?Suit date|link=none}} }} {{#if:{{#var:@verdictdate}}|Create your Verdict before {{#var:@verdictdate}} }}<br> }} <br />
<wscreate mwwrite="Verdict:{{{Case ID|}}}/" mwtemplate="Verdict" mwoption="range:00001-99999" mwfollow/><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="User" value="{{{User|}}}" /><br />
<wsfield type="hidden" name="Role" value="{{{Role|}}}" /><br />
<wsfield type="hidden" name="Name" value="{{{Name|}}}" /><br />
<wsfield type="hidden" name="Participant" value="{{#var:@fullpagename}}" /><br />
<wsfield type="submit" value="Create verdict" class="btn btn-green"/><br />
</wsform>}}</div></div><div class="col-12 col-lg-4"><!--<br />
-->{{#vardefine:@meetingdate|{{#show:{{{Workflow}}}|?Meeting date}} }}{{#if:{{#var:@meetingdate}}|<div class="info-box"><h2>Online meeting</h2>A online meeting with all the participants on this case is planned on <h2>{{#time:d-M-Y|{{#var:@meetingdate}} }}</h2> [[file:zoom.png|150px|link=]]</div>}}<br />
<!--<br />
--><div class="info-box"><br />
{{#tag:html|<details><br />
<summary><h2>Chat</h2>Talk with other participants on this case<hr></summary>}}<!-- <br />
-->{{#arraydefine:@chat|{{#ask:[[Class::Chat]][[Workflow::{{{Workflow|}}}]]|?Message|?Role|?User|?Modification date|?Name|format=array|limit={{#if:{{#urlget:chat}}|999|10}}|sort=Modification date|order=desc}} }}{{#arraysort:@chat|reverse}}<!-- <br />
-->{{#if:{{#urlget:chat}}||{{#ifexpr:{{#arraysize:@chat}} > 9 |{{#Widget:link|type=a|class=btn btn-green pt-1 pb-1 pr-4 pl-4|text={{fa|history}} Load older|href={{fullurl:{{#var:@fullpagename}}|chat=all}} }}<hr>}} }}<!-- <br />
-->{{#arraymap:{{#arrayprint:@chat}}|,|@@@| <br />
<div class="chat {{#ifeq:{{#explode:@@@|<PROP>|3}}|{{{User|}}}|me}} "><div class="d-flex"><h3 {{#ifeq:{{#explode:@@@|<PROP>|3}}|{{{User|}}}||class="chat-{{#if:{{#explode:@@@|<PROP>|5}}|{{#explode:{{#explode:@@@|<PROP>|5}}| |1}}|{{#explode:@@@|<PROP>|2}} }}"}}>{{#if:{{#explode:@@@|<PROP>|5}}|{{#explode:@@@|<PROP>|5}}|{{#explode:@@@|<PROP>|2}} }}</h3><h4 class="pl-2">{{#explode:@@@|<PROP>|4}}</h4></div>{{#explode:@@@|<PROP>|1}}</div><br />
|}}<br />
{{#vardefine:@mails|{{#arraymap:{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]]|?User.User right|format=array }}|,|@@@|{{#explode:@@@|<PROP>|1}} |,}} }}<br />
{{#vardefine:@link|{{#ask:[[Class::Suit]][[Workflow::{{{Workflow|}}}]]|link=none }} }}<br />
<wsform action="mail" id="case-form"> <br />
<wscreate mwwrite="Chat/" mwtemplate="Chat" mwoption="range:00001-99999" /><br />
<wsemail to="noreply@{{#var:@servername}}" from="noreply@{{#var:@servername}}" bcc="{{#var:@mails}}" subject="New chat message" template="Template:Chat mail" ><br />
</wsemail><br />
<wsfield type="hidden" name="link" value="{{#if:{{#var:@link}}|{{fullurl: {{#var:@link}} }} }}" /><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="User" value="{{{User|}}}" /><br />
<wsfield type="hidden" name="Role" value="{{{Role|}}}" /><br />
<wsfield type="hidden" name="Name" value="{{{Name|}}}" /><br />
<wsfield type="textarea" name="Message" class="form-control mt-2 mb-2" /><br />
<div class="d-flex justify-content-end"><wsfield type="submit" value="Send" class="btn btn-green"/></div><br />
</wsform><br />
<br />
</div>{{#tag:html|</details>}}<!--<br />
<br />
--></div>|<div class="m-5 alert alert-danger">Not permitted</div>}}<!-- end allowed <br />
--></includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Verdict_results&diff=2681
Template:Verdict results
2022-01-09T20:39:46Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Verdict results''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Verdict results }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
{{#vardefine:verdictsarray|{{#ask:{{#if:{{{Verdict|}}}|[[{{{Verdict|}}}]]|[[Class::Verdict]][[Case ID::{{{id|}}}]]{{#if:{{{Context|}}}|[[Context::{{{Context|}}}]]|[[Context::None]] }} }}<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|?Name<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$<br />
}}}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|4}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|4}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|5}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|5}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|6}} </div><!-- <br />
<br />
-->{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{#explode:@@@|<PROP>|0}}]]|?=|?Modification date|Format=array|link=none}}|,|###|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=vi attachment mt-2 |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:###|<PROP>|0}}]] Uploaded on: {{#explode:###|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}}</div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it the Whole Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|7}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|7}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|8}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|8}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|9}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it nothing but the Factual and Whole Truth (Adding other Truths and Lies to the Context)?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|10}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|10}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|11}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|11}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|12}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is the Deceit Intended?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|16}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|16}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|17}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|17}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|18}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Social Acceptability for the lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|22}}|Acceptable|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|22}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|23}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|23}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|24}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Label for the Lie needed to Improve the Social Acceptability?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:@@@|<PROP>|25}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|26}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|26}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|27}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.css&diff=2680
MediaWiki:Common.css
2022-01-09T20:39:45Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* <style> */<br />
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');<br />
/*<br />
details summary::before { <br />
content:"open"; <br />
}<br />
<br />
details[open] summary::before { <br />
content:"close"; <br />
}<br />
*/<br />
.oo-ui-horizontalLayout div.oo-ui-selectWidget {<br />
display: grid;<br />
grid-template-columns: 1fr 1fr 1fr;<br />
}<br />
<br />
.oo-ui-horizontalLayout .oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget .oo-ui-buttonElement-button {<br />
width: 100%;<br />
}<br />
<br />
.case-img-wrapper img{<br />
max-width: 70px;<br />
height: auto;<br />
}<br />
<br />
<br />
.hidden {<br />
display: none;<br />
}<br />
::-webkit-scrollbar {<br />
width: 14px;<br />
height: 18px;<br />
}<br />
::-webkit-scrollbar-thumb {<br />
height: 6px;<br />
border: 4px solid rgba(0, 0, 0, 0);<br />
background-clip: padding-box;<br />
-webkit-border-radius: 7px;<br />
background-color: rgba(0, 0, 0, 0.15);<br />
-webkit-box-shadow: inset -1px -1px 0px rgba(0, 0, 0, 0.05), inset 1px 1px 0px rgba(0, 0, 0, 0.05);<br />
}<br />
::-webkit-scrollbar-button {<br />
width: 0;<br />
height: 0;<br />
display: none;<br />
}<br />
::-webkit-scrollbar-corner {<br />
background-color: transparent;<br />
}<br />
.mw-body ul, .mw-body ol {<br />
margin: 0 0 10.5px;<br />
}<br />
@media screen {<br />
.onlyprint {<br />
display:none;<br />
}<br />
}<br />
/** Search box search symbol to the right <br />
.left-inner-addon {<br />
position: relative;<br />
}<br />
.left-inner-addon input {<br />
padding-left: 30px; <br />
}<br />
.left-inner-addon i {<br />
position: absolute;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}<br />
.right-inner-addon {<br />
position: relative;<br />
}<br />
.right-inner-addon input {<br />
padding-right: 30px; <br />
}<br />
.right-inner-addon i {<br />
position: absolute;<br />
right: 0px;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}*/<br />
.select2-container {<br />
width: 100% !important;<br />
margin-bottom: 1rem !important;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
.color-blue{<br />
color:#006699;<br />
}<br />
body{<br />
position: relative;<br />
min-height: 100vh;<br />
}<br />
<br />
<br />
body > .container{<br />
max-width:none;<br />
padding: 0;<br />
font-family: 'Open Sans', sans-serif;<br />
padding-bottom: 2.5rem;<br />
}<br />
#content, .container > .mt-1, .body-container{<br />
margin:0 auto;<br />
}<br />
@media (min-width: 576px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 540px;<br />
}<br />
}<br />
@media (min-width: 768px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 720px;<br />
}<br />
}<br />
@media (min-width: 992px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 960px;<br />
}<br />
}<br />
@media (min-width: 1200px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 1140px;<br />
}<br />
}<br />
.container > .row {<br />
width: 100%;<br />
}<br />
.row-WSHeader > .col{<br />
padding:0;<br />
}<br />
.navbar{<br />
margin: 0 15px;<br />
}<br />
.container-fluid .row-wsheader {<br />
border-bottom-width: 10px;<br />
border-bottom-style: solid;<br />
border-bottom-color: #006699;<br />
padding-top: 12px;<br />
border-image-source: linear-gradient(to right, #990000 0%,#990000 20%,#006699 20%,#006699 80%, #339966 80%, #339966 100%);<br />
border-image-slice: 1;<br />
}<br />
.row-WSHeader .container-fluid{<br />
padding:0;<br />
}<br />
.row-wsheader .list-inline{<br />
margin:0;<br />
text-align: center;<br />
}<br />
div.p-navbar {<br />
background-color: #f2f2f2;<br />
}<br />
div.navbar li.nav-item a.nav-link {<br />
color: #484848;<br />
}<br />
input.form-control {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
.nav-item {<br />
padding: 0 12px;<br />
}<br />
#simpleSearch {<br />
margin-top: 24px;<br />
position: relative;<br />
}<br />
.fa-search {<br />
position: absolute;<br />
right: 22px;<br />
transform: scaleX(-1);<br />
color: #6c757d;<br />
top: 7px;<br />
}<br />
.container .mt-5:last-child {<br />
position: absolute;<br />
bottom: 0;<br />
width: 100%;<br />
height: 2.5rem;<br />
}<br />
.container .mt-5:last-child > .col {<br />
padding: 0;<br />
}<br />
.container .mt-5:last-child > .col nav{<br />
margin: 0 -15px;<br />
}<br />
.navbar-nav {<br />
margin: 0 auto;<br />
width:100%;<br />
}<br />
body.rootpage-Main_Page #content{<br />
max-width:none;<br />
padding:0;<br />
}<br />
<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
.row-formitemresponsive div:first-child {<br />
align-self: center;<br />
border-right: none;<br />
}<br />
<br />
.row-formitemresponsive{<br />
padding: 7px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive input {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
<br />
.verdict-item{<br />
padding: 7px 0;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
div .verdict-item:first-child{<br />
border-top: none;<br />
}<br />
.percentage {<br />
max-height: 40px;<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.vi{<br />
border-radius: 30px;<br />
padding: 7px 25px;<br />
background: #f2f2f2;<br />
}<br />
.truth-no{<br />
background:#990000;<br />
color:white;<br />
}<br />
.truth-yes{<br />
background:#339966;<br />
color:white;<br />
<br />
}<br />
.verdict-type {<br />
writing-mode: vertical-lr;<br />
text-orientation: mixed;<br />
transform: rotate(180deg);<br />
}<br />
.verdict-wrapper {<br />
border-left: 2px solid #bdbcbc;<br />
padding-left: 14px;<br />
margin-left: 14px;<br />
}<br />
.inner-percentage {<br />
background: #f2f2f2;<br />
padding: 0 7px;<br />
border-radius: 40px;<br />
margin: 0 -16px;<br />
}<br />
.profile-img{<br />
border: 2px solid #E2EEFE;<br />
background: #F6F9FF;<br />
border-radius: 50%;<br />
color: #006599;<br />
font-size: 439%;<br />
text-align: center;<br />
height: max-content;<br />
}<br />
canvas.jqplot-grid-canvas {<br />
display: none;<br />
}<br />
.upload-preview{<br />
font-size: 0;<br />
}<br />
.upload-preview li {<br />
list-style: none;<br />
font-size: 0;<br />
}<br />
.upload-preview img, .upload-preview svg{<br />
max-width:70px;<br />
padding: 0.25rem;<br />
background-color: #fff;<br />
border: 1px solid #dee2e6;<br />
border-radius: 0.25rem;<br />
box-shadow: 0 1px 2px rgba(0,0,0,0.075);<br />
height: auto;<br />
}<br />
div#error_file-upload {<br />
display: none;<br />
}<br />
.box {<br />
border: 2px solid #f2f2f2;<br />
padding: 12px;<br />
margin: 25px auto;<br />
border-radius: 12px;<br />
}<br />
.info-box {<br />
border: 2px solid #E2EEFE;<br />
padding: 12px;<br />
margin: 25px auto;<br />
background: #F6F9FF;<br />
border-radius: 12px;<br />
color: #006599;<br />
text-align: center;<br />
}<br />
.info-box hr{<br />
border-top: 1px solid #006599;<br />
}<br />
.info-box details[open] {<br />
background: #e2eefd;<br />
margin: 0 -12px;<br />
padding: 0 12px;<br />
}<br />
.info-row b {<br />
display: block;<br />
}<br />
<br />
.info-row {<br />
border-bottom: 2px solid #f6f9ff;<br />
text-align: left;<br />
padding-bottom: 6px;<br />
}<br />
.info-row .percnt {<br />
background: #016499;<br />
color: white;<br />
padding: 0 7px;<br />
border-radius: 12px;<br />
float: right;<br />
}<br />
.btn-half.btn-green {<br />
border-radius: 0 30px 30px 0;<br />
}<br />
<br />
.btn-half {<br />
font-size: 12px;<br />
padding: 12px 23px;<br />
}<br />
.btn-half.btn-red {<br />
border-radius: 30px 0 0 30px;<br />
}<br />
.flow-index{<br />
justify-content: stretch;<br />
}<br />
.flow-index div:after {<br />
content: "";<br />
position: absolute;<br />
width: 20px;<br />
height: 20px;<br />
background: #f6f9ff;<br />
border-top: 2px solid #e2eefe;<br />
border-right: 2px solid #e2eefe;<br />
border-top-right-radius: 6px;<br />
z-index: 99;<br />
right: -12px;<br />
top: calc(50% - 10px);<br />
transform: rotate(45deg);<br />
}<br />
<br />
.flow-index div {<br />
width: 100%;<br />
font-size: 0.8em;<br />
position: relative;<br />
border: 2px solid #E2EEFE;<br />
padding: 6px 10px;<br />
background: #F6F9FF;<br />
/* border-radius: 12px; */<br />
color: #006599;<br />
text-align: center;<br />
/* width: 12.5%; */<br />
background: #F6F9FF;<br />
margin-right: -2px;<br />
line-height: 1.2em;<br />
align-self: end;<br />
<br />
}<br />
.lie-input b{<br />
color:white;<br />
background:#990000;<br />
}<br />
<br />
.lie-input i{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
font-style: normal;<br />
}<br />
<br />
#fake-field {<br />
border-radius: 0 0px 30px 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
min-height: 200px;<br />
width: 100%;<br />
padding: 0.375rem 0.75rem;<br />
font-size: 1rem;<br />
font-weight: 400;<br />
line-height: 1.5;<br />
color: #495057;<br />
outline: none;<br />
border-top: 2px solid #6b747d;<br />
height: unset;<br />
}<br />
.btn-mark.btn {<br />
font-size: 12px;<br />
padding: 4px 21px;<br />
border-radius: 0;<br />
}<br />
div .btn-mark.btn:first-child{<br />
border-radius: 20px 0 0 0;<br />
}<br />
.truth-token{<br />
border: 2px solid #006399;<br />
width: 2em;<br />
height: 2em;<br />
border-radius: 50%;<br />
padding-top: 2px;<br />
display: inline-block;<br />
text-align: center;<br />
background: #ffffff;<br />
color: #006499;<br />
box-shadow: 1px 2px 0px #006599;<br />
margin-right: 7px;<br />
}<br />
#balance.buy {<br />
border-bottom: 2px solid;<br />
padding-bottom: 7px;<br />
margin-bottom: 7px;<br />
}<br />
.total-token-price{<br />
text-align: left;<br />
padding: 9px 0;<br />
border-bottom: 2px solid;<br />
margin-bottom: 7px;<br />
}<br />
<br />
<br />
.icon-bar {<br />
background-color: #888888;<br />
}<br />
.navbar-toggle .icon-bar + .icon-bar {<br />
margin-top: 4px;<br />
}<br />
.navbar-toggle .icon-bar {<br />
display: block;<br />
width: 22px;<br />
height: 2px;<br />
border-radius: 1px;<br />
}<br />
<br />
.home-search{<br />
max-width: 27em;<br />
margin: 0 auto;<br />
}<br />
.banner{<br />
position:relative;<br />
margin:0 -30px;<br />
}<br />
<br />
<br />
@media (max-width:800px){<br />
.row{<br />
margin-right: 0px;<br />
margin-left: 0px;<br />
}<br />
.navbar {<br />
margin: 0 ;<br />
}<br />
.banner {<br />
margin: 0 -15px;<br />
padding: 15px;<br />
}<br />
<br />
}<br />
<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
.checkinput-button input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
.chat.me:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #339966;<br />
position: absolute;<br />
right: -10px;<br />
left:unset;<br />
top: 0;<br />
transform:unset;<br />
}<br />
.chat:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #76acca;<br />
position: absolute;<br />
left: -10px;<br />
right: unset;<br />
top: 0;<br />
transform: scaleX(-1);<br />
}<br />
.chat h3 {<br />
font-size: 12px;<br />
}<br />
h3.chat-1 {<br />
color: orange;<br />
}<br />
h3.chat-2 {<br />
color: #00ff9d;<br />
}<br />
h3.chat-3 {<br />
color: #00f7ff;<br />
}<br />
h3.chat-4 {<br />
color: #c800ff;<br />
}<br />
h3.chat-Plaintiff {<br />
color: yellow;<br />
}<br />
h3.chat-Judge {<br />
color: #990000;<br />
}<br />
.chat.me {<br />
margin: 0 12px 12px 35px;<br />
background: #339966;<br />
}<br />
.chat {<br />
background: #76acca;<br />
color: white;<br />
position: relative;<br />
text-align: left;<br />
padding: 12px;<br />
border-radius: 12px;<br />
margin: 0 35px 12px 12px;<br />
}<br />
#fake-field::selection {<br />
background: #006599;<br />
color: white;<br />
}<br />
.chat h4 {<br />
font-size: 7px;<br />
color: #e2eefe;<br />
text-align: right;<br />
margin: 0;<br />
}<br />
.modal-body img {<br />
max-width: 100%;<br />
}<br />
div .checkinput-button:nth-child(2) input[type="radio"]:checked + span {<br />
background: #990000;<br />
}<br />
.sep{<br />
font-size:1.5em;<br />
padding: 0 1em;<br />
}<br />
.add-more {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor: pointer;<br />
}<br />
#case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
<br />
<br />
/* Signup edits */<br />
label[for="wpReason"], #wpReason {<br />
display: none;<br />
}<br />
<br />
.mw-createacct-benefits-container {<br />
display: none;<br />
}<br />
/* end of signup edits */<br />
<br />
/* Chrome, Safari, Edge, Opera */<br />
<br />
input#Initial-credit-card-nr::-webkit-outer-spin-button,<br />
input#Initial-credit-card-nr::-webkit-inner-spin-button {<br />
-webkit-appearance: none;<br />
margin: 0;<br />
}<br />
<br />
/* Firefox */<br />
input#Initial-credit-card-nr {<br />
-moz-appearance: textfield;<br />
}<br />
<br />
.btn-green {<br />
background: #339966!important;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-red {<br />
background: #990000;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-gray {<br />
background: #6a737d;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-blue {<br />
background: #f6f9ff;<br />
}<br />
.dark-blue{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
}<br />
.red{<br />
color:white;<br />
background: #990000;<br />
font-weight:bold;<br />
}<br />
.btn-square input[type="submit"] {<br />
border-radius: 0 0 5px 5px;<br />
}<br />
<br />
.btn-square {<br />
border: none;<br />
border-radius: 5px;<br />
padding: 0 0;<br />
margin: 2px;<br />
position: relative;<br />
}<br />
.flow-index .active:after {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.upload-preview{display:inline !important;}<br />
<br />
.flow-index .active {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
color: #339965;<br />
margin-left: 2px;<br />
margin-right: 0;<br />
}<br />
.flow-index div.done {<br />
color: #484848;<br />
border: 2px solid #b2b2b2;<br />
background: #f2f2f2;<br />
}<br />
.flow-index div.done:after {<br />
background: #f2f2f2;<br />
border: 2px solid #b2b2b2;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.flow-index div.done:before {<br />
/*content: "✔";*/<br />
position: absolute;<br />
font-size: 5em;<br />
font-weight: 900;<br />
left: 0.2em;<br />
top: 0;<br />
color: #716f6f69;<br />
}<br />
.user-roles {<br />
margin-top: -40px;<br />
margin-left: 20px;<br />
}<br />
.vi.ml-2{<br />
max-height: 38px;<br />
}<br />
input.remove-juror {<br />
background: unset;<br />
border: none;<br />
padding: 0;<br />
position: absolute;<br />
top: 0;<br />
right: 9px;<br />
color: white;<br />
}<br />
.modal-body iframe {<br />
width: 100%;<br />
height: 50vh;<br />
}<br />
.big-icon {<br />
font-size: 4em;<br />
}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.js&diff=2679
MediaWiki:Common.js
2022-01-09T20:39:44Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* Any JavaScript here will be loaded for all users on every page load. <script>*/<br />
<br />
<br />
<br />
$(document).ready(function () {<br />
<br />
createPageTogglers = document.querySelectorAll('[data-creatpage]');<br />
<br />
if(createPageTogglers && createPageTogglers.length > 0){<br />
<br />
createPageTogglers.forEach(function(el){<br />
<br />
el.addEventListener(<br />
"click",<br />
function () {<br />
createPage( )<br />
})<br />
})<br />
<br />
}<br />
<br />
})<br />
<br />
console.log('uyfuyfuy' );<br />
var createPage = function (current_namespace, current_pagename) {<br />
console.log("working");<br />
<br />
var hiddenInput = document.querySelector('#time-slot-field');<br />
<br />
mw.loader.using(["oojs-ui-windows", 'mediawiki.widgets.DateInputWidget']).then(function () {<br />
// Example: Using getSetupProcess() to configure a window with data passed<br />
// at the time the window is opened.<br />
<br />
// Make a subclass of ProcessDialog<br />
function PageCreateDialog(config) {<br />
PageCreateDialog.super.call(this, config);<br />
}<br />
OO.inheritClass(PageCreateDialog, OO.ui.ProcessDialog);<br />
<br />
// Specify a name for .addWindows()<br />
PageCreateDialog.static.name = "createPageDialog";<br />
PageCreateDialog.static.title = "Select a Time Slot";<br />
// Specify the static configurations: title and action set<br />
PageCreateDialog.static.actions = [<br />
{<br />
flags: "primary",<br />
label: "Continue",<br />
action: "open",<br />
},<br />
{<br />
flags: "safe",<br />
label: "Cancel",<br />
},<br />
];<br />
<br />
// Customize the initialize() function to add content and layouts:<br />
PageCreateDialog.prototype.initialize = function () {<br />
var dialol = this;<br />
PageCreateDialog.super.prototype.initialize.call(this);<br />
this.panel = new OO.ui.PanelLayout({<br />
padded: true,<br />
expanded: false,<br />
});<br />
this.content = new OO.ui.FieldsetLayout();<br />
<br />
<br />
var date = new Date();<br />
<br />
// month = date.getMonth() + 1;<br />
<br />
this.urlInput = new mw.widgets.DateInputWidget({<br />
value: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()<br />
});<br />
<br />
this.field = new OO.ui.FieldLayout(this.urlInput, {<br />
label: "Day",<br />
align: "top",<br />
});<br />
<br />
var times = [];<br />
for (var i = 10; i < 22; i++) {<br />
var hour = i;<br />
var pm = 'AM';<br />
if (i > 12) {<br />
hour = i - 12;<br />
pm = 'PM';<br />
}<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':00' + ' - ' + hour + ':15 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':15' + ' - ' + hour + ':30 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':30' + ' - ' + hour + ':45 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':45' + ' - ' + (hour + 1) + ':00 ' + pm<br />
})<br />
);<br />
}<br />
<br />
this.slotSelect = new OO.ui.ButtonSelectWidget( {<br />
items:<br />
times<br />
} );<br />
<br />
this.slotsWrapper = new OO.ui.FieldLayout( new OO.ui.Widget( {<br />
content: [<br />
new OO.ui.HorizontalLayout( {<br />
items: [<br />
this.slotSelect<br />
]<br />
})<br />
]<br />
}), {<br />
label: "Time",<br />
align: "top",<br />
});<br />
<br />
<br />
<br />
<br />
this.content.addItems([this.field, this.slotsWrapper]);<br />
this.panel.$element.append(this.content.$element);<br />
this.$body.append(this.panel.$element);<br />
var that = this;<br />
this.urlInput.on( 'change', function () {<br />
// The value will always be a valid date or empty string, malformed input is ignored<br />
<br />
that.updateSlots();<br />
<br />
} );<br />
<br />
};<br />
<br />
<br />
PageCreateDialog.prototype.updateSlots = function () {<br />
<br />
var that = this;<br />
var date = that.urlInput.getValue().split('-');<br />
<br />
<br />
var month = date[1];<br />
var year = date[0];<br />
var day = date[2];<br />
<br />
<br />
<br />
<br />
that.slotSelect.items.forEach(function(item){<br />
item.setDisabled(false);<br />
})<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Slot month::' + month + ']][[Slot day::' + day + ']][[Slot year::' + year + ']]|?Slot|limit=500',<br />
formatversion: 2,<br />
format: 'json'<br />
}<br />
var api = new mw.Api;<br />
api.post(params).done(function(data){<br />
if (data.query.results) {<br />
console.log(data.query.results)<br />
Object.entries(data.query.results).forEach(function(slot){<br />
var date = slot[1].printouts.Slot[0].fulltext || slot[1].printouts.Slot[0];<br />
var time = date.split('/')[1];<br />
var item = that.slotSelect.getItemFromLabel(time);<br />
if(item){<br />
item.setDisabled(true);<br />
}<br />
})<br />
// ["Workflow/90"].printouts.Slot[0]<br />
}<br />
})<br />
// ask query function here, and disbale results<br />
// selectItemByLabel(label).setDisabled(true);<br />
<br />
<br />
<br />
<br />
};<br />
// Specify any additional functionality required by the window (disable opening an empty URL, in this case)<br />
<br />
// Specify the dialog height (or don't to use the automatically generated height).<br />
PageCreateDialog.prototype.getBodyHeight = function () {<br />
// Note that "expanded: false" must be set in the panel's configuration for this to work.<br />
// When working with a stack layout, you can use:<br />
// return this.panels.getCurrentItem().$element.outerHeight( true );<br />
return this.panel.$element.outerHeight(true) + 200;<br />
};<br />
<br />
// Use getSetupProcess() to set up the window with data passed to it at the time<br />
// of opening (e.g., url: 'http://www.mediawiki.org', in this example).<br />
PageCreateDialog.prototype.getSetupProcess = function (data) {<br />
data = data || {};<br />
var nuthis = this;<br />
return PageCreateDialog.super.prototype.getSetupProcess<br />
.call(this, data)<br />
.next(function () {<br />
// Set up contents based on data<br />
var val = hiddenInput.value;<br />
if (val) {<br />
var split = val.split('/');<br />
nuthis.urlInput.setValue(split[0]);<br />
nuthis.slotSelect.selectItemByLabel(split[1])<br />
}<br />
nuthis.updateSlots();<br />
<br />
}, this);<br />
};<br />
var boiler = "";<br />
// Specify processes to handle the actions.<br />
PageCreateDialog.prototype.getActionProcess = function (action) {<br />
var nuthis = this;<br />
if (action === "open") {<br />
// Create a new process to handle the action<br />
return new OO.ui.Process(function () {<br />
<br />
var day = nuthis.urlInput.getValue();<br />
var time = nuthis.slotSelect.findSelectedItem().label;<br />
<br />
console.log(day, time)<br />
hiddenInput.value = day + '/' + time;<br />
var button = document.querySelector('#time-slot-button');<br />
button.innerText = day + ' • ' + time;<br />
return 800;<br />
}).next(function(){<br />
nuthis.close({action: action});<br />
return true;<br />
})<br />
}<br />
// Fallback to parent handler<br />
return PageCreateDialog.super.prototype.getActionProcess.call(this, action);<br />
};<br />
<br />
// Use the getTeardownProcess() method to perform actions whenever the dialog is closed.<br />
// This method provides access to data passed into the window's close() method<br />
// or the window manager's closeWindow() method.<br />
PageCreateDialog.prototype.getTeardownProcess = function (data) {<br />
return PageCreateDialog.super.prototype.getTeardownProcess<br />
.call(this, data)<br />
.first(function () {<br />
// Perform any cleanup as needed<br />
}, this);<br />
};<br />
<br />
// Create and append a window manager.<br />
var windowManager = new OO.ui.WindowManager();<br />
$(document.body).append(windowManager.$element);<br />
<br />
// Create a new process dialog window.<br />
var createPageDialog = new PageCreateDialog();<br />
<br />
// Add the window to window manager using the addWindows() method.<br />
windowManager.addWindows([createPageDialog]);<br />
<br />
// Open the window!<br />
windowManager.openWindow(createPageDialog);<br />
});<br />
};<br />
<br />
<br />
<br />
/***<br />
* REMOVE FILE<br />
*<br />
**/<br />
<br />
document.querySelectorAll('[data-removefile]').forEach(function(el){<br />
el.addEventListener('click', function(){<br />
console.log(el.dataset.removefile)<br />
<br />
var r = confirm("Are you sure?");<br />
if (r == true) {<br />
var params = {<br />
action: 'delete',<br />
title: el.dataset.removefile,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data );<br />
el.remove();<br />
} );<br />
}<br />
})<br />
})<br />
<br />
<br />
/**<br />
* POLLING FOR USER PAGES<br />
**/<br />
<br />
var pollWrapper = document.querySelector('[data-poll]');<br />
<br />
var fps = 30;<br />
var now;<br />
var then;<br />
var interval = 100000/fps;<br />
var delta;<br />
<br />
function poll(now) {<br />
if (!then) { then = now; }<br />
requestAnimationFrame(poll);<br />
delta = now - then;<br />
<br />
if (delta > interval) {<br />
then = now - (delta % interval);<br />
<br />
<br />
if(pollWrapper.dataset.poll == 'Messages'){<br />
goPolling()<br />
}else{<br />
workflowPolling()<br />
}<br />
}<br />
}<br />
<br />
<br />
<br />
if(pollWrapper){<br />
poll();<br />
}<br />
<br />
<br />
<br />
<br />
<br />
var polledWorkflows = false;<br />
<br />
function workflowPolling(){<br />
var params = {<br />
action: 'ask',<br />
query: '[[Workflow::' + pollWrapper.dataset.workflow + ']]|?Modification date',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var flows = Object.entries(data.query.results).map(function(entrie){<br />
return entrie[1].printouts['Modification date'][0].timestamp<br />
})<br />
if(polledWorkflows && flows.sort().join() != polledWorkflows.sort().join()){<br />
console.log('found something new', flows);<br />
console.log('polled', polledWorkflows);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledWorkflows = flows<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
var polledJurors = false;<br />
<br />
function goPolling(){<br />
var user = mw.config.values.wgRelevantUserName;<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Class::Workflow]][[Random juror::User:' + user + ']] OR [[Random judge::User:' + user + ']]',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var newKeys = Object.keys(data.query.results);<br />
if(polledJurors && newKeys.sort().join() != polledJurors.sort().join()){<br />
console.log('found something new', newKeys);<br />
console.log('polled', polledJurors);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledJurors = newKeys;<br />
}<br />
})<br />
}<br />
<br />
function reloadSection(){<br />
<br />
var template = pollWrapper.dataset.poll;<br />
var paramters = pollWrapper.dataset.parameters.replaceAll('^', '|')<br />
var params = {<br />
action: 'parse',<br />
text: '{{' + template + '|' + paramters + '|Fullpagename=' + mw.config.values.wgPageName.replaceAll('_', ' ') + '}}',<br />
contentmodel: 'wikitext',<br />
wrapoutputclass: '',<br />
disableeditsection: true,<br />
disablelimitreport: true,<br />
disabletoc: true,<br />
formatversion: 2,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.parse){<br />
if(template == 'Messages'){<br />
$(pollWrapper).html(data.parse.text)<br />
} else {<br />
$('#mw-content-text').html(data.parse.text)<br />
}<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
<br />
<br />
function logmeout(){<br />
<br />
var params = {<br />
action: 'logout',<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data, 'we logged you out' );<br />
window.location = mw.config.values.wgServer + '/index.php/Main_Page';<br />
} );<br />
<br />
}<br />
<br />
<br />
<br />
$( document ).ready(function() {<br />
<br />
<br />
if ($('.WSShowOnSelect') ) {<br />
WsShowOnSelect();<br />
}<br />
<br />
$('body.action-edit #wpTextbox1, body.action-submit #wpTextbox1').keydown(function(event) {<br />
var x = event.keyCode;<br />
if (x == 13 ) {<br />
if(!event.shiftKey){<br />
var insert = document.execCommand('insertText', false, '<!-- \n -->');<br />
if(insert){<br />
event.preventDefault();<br />
$('#wpTextbox1').focus()<br />
insert<br />
}<br />
}<br />
}<br />
})<br />
<br />
<br />
<br />
<br />
// Start of esc save<br />
<br />
<br />
<br />
$('body.action-edit, body.action-submit').keydown(function() {<br />
var x = event.keyCode;<br />
if (x == 27) {<br />
$.ajax({<br />
url :'/api.php?action=query&meta=tokens&format=json',<br />
type: 'GET',<br />
dataType: 'json',<br />
success : function(result){<br />
var token = result.query.tokens.csrftoken;<br />
<br />
$("input[name='wpEditToken']").attr("value", token );<br />
<br />
saveEdit();<br />
<br />
}<br />
});<br />
}else{<br />
mw.confirmCloseWindow();<br />
$('#wpSave, #wpPreview, #wpDiff').on('click', function(){<br />
$( window ).off( 'beforeunload' );<br />
})<br />
}<br />
<br />
})<br />
<br />
if($('body').hasClass('action-submit')){<br />
$('#top').prepend('<button class="btn btn-success enable-live-mode">Enable live mode</button>');<br />
$(document).on('click','.enable-live-mode', function(){<br />
if($(this).hasClass('btn-success')){<br />
liveMode();<br />
$(this).removeClass('btn-success');<br />
$(this).text('Live mode is on');<br />
}else{<br />
$(this).addClass('btn-success');<br />
$('body.action-submit textarea').off("change keyup paste");<br />
$(this).text('Enable live mode');<br />
}<br />
<br />
});<br />
}<br />
});<br />
<br />
window.saveEdit = function() {<br />
$.ajax({<br />
url : $('form.mw-editform').attr('action'),<br />
type : 'POST',<br />
data :$('form.mw-editform').serialize(),<br />
success : function(html) {<br />
$( window ).off( 'beforeunload' );<br />
mw.notify( 'Saved' );<br />
if($('body').hasClass('action-submit')){<br />
var parser = new DOMParser();<br />
var doc = parser.parseFromString(html, "text/html");<br />
var elem = doc.querySelectorAll('.mw-content-ltr')[0];<br />
$('.mw-content-ltr').html(elem);<br />
}<br />
}<br />
})<br />
};<br />
<br />
window.liveMode = function() {<br />
var oldVal = "";<br />
$('body.action-submit textarea').on("change keyup paste", function() {<br />
var currentVal = $(this).val();<br />
if(currentVal == oldVal) {<br />
return; //check to prevent multiple simultaneous triggers<br />
}<br />
<br />
oldVal = currentVal;<br />
var text = encodeURIComponent($('textarea').val());<br />
<br />
$.ajax({<br />
url: '/api.php?action=parse&format=json&formatversion=2&title=New&text='+text+'&pst=&prop=text%7Cmodules%7Cjsconfigvars&preview=true&disableeditsection=true&uselang=en',<br />
dataType: 'json',<br />
success: function (x) {<br />
$('#wikiPreview').html(x.parse.text);<br />
}<br />
});<br />
});<br />
};<br />
/* End of Esc Save */<br />
<br />
<br />
/***** WSForm: loading Select2 ****/<br />
$( document ).ready(function() {<br />
if ($('select[data-inputtype="ws-select2"]')[0]) {<br />
mw.loader.load('/extensions/WSForm/select2.min.css', 'text/css');<br />
$.getScript('/extensions/WSForm/select2.min.js').done(function() {<br />
$('select[data-inputtype="ws-select2"]').each(function() {<br />
var selectid = $(this).attr('id');<br />
var selectoptionsid = 'select2options-' + selectid;<br />
var select2config = $("input#" + selectoptionsid).val();<br />
var F = new Function(select2config);<br />
return (F());<br />
});<br />
});<br />
}<br />
});<br />
/* End of WSForm: Select2 */<br />
<br />
(function($) {<br />
$.fn.autogrow = function() {<br />
return this.each(function() {<br />
var textarea = this;<br />
$.fn.autogrow.resize(textarea);<br />
$(textarea).focus(function() {<br />
textarea.interval = setInterval(function() {<br />
$.fn.autogrow.resize(textarea);<br />
}, 500);<br />
}).blur(function() {<br />
clearInterval(textarea.interval);<br />
});<br />
});<br />
};<br />
$.fn.autogrow.resize = function(textarea) {<br />
var lineHeight = parseInt($(textarea).css('line-height'), 10);<br />
var lines = textarea.value.split('\n');<br />
var columns = textarea.cols;<br />
var lineCount = 0;<br />
<br />
/**<br />
* measures the text pixel width<br />
* @param text<br />
* @returns {*|jQuery}<br />
*/<br />
function textMeasure(text) {<br />
var div = document.createElement('div');<br />
document.body.appendChild(div);<br />
$(div).css({<br />
position: 'absolute',<br />
left: -1000,<br />
top: -1000,<br />
display: 'none'<br />
});<br />
$(div).html(text);<br />
const width = $(div).outerWidth();<br />
$(div).remove();<br />
return width;<br />
}<br />
<br />
$.each(lines, function() {<br />
lineCount += Math.ceil(textMeasure(this) / ($(textarea).innerWidth() - 125)) || 1;<br />
// lineCount += Math.ceil(this.length / columns) || 1;<br />
});<br />
var height = lineHeight * (lineCount + 1);<br />
$(textarea).css('height', height);<br />
};<br />
})(jQuery);<br />
<br />
$('textarea.form-control').autogrow();<br />
<br />
<br />
/* WSSHOWONSELECT */<br />
/**<br />
* applying show on select on the page and make sure everyting will be handled as needed<br />
*/<br />
function WsShowOnSelect() {<br />
var selectArray = [];<br />
$('.WSShowOnSelect').find('[data-wssos-show]').each(function (index, elm) {<br />
if ( $(elm).is('option') ) {<br />
var isInArray = false;<br />
var selectParent = $(elm).parent()[0];<br />
for ( var i = 0; i < selectArray.length; i++ ) {<br />
if ( $(selectParent).is($(selectArray[i])) ) {<br />
isInArray = true;<br />
}<br />
}<br />
if ( !isInArray ) {<br />
selectArray.push(selectParent);<br />
handleSelect(selectParent);<br />
}<br />
} else if ( $(elm).is('input[type=radio]') ) {<br />
handleRadio(elm);<br />
} else if ( $(elm).is('input[type=checkbox]') ) {<br />
handleCheckbox(elm);<br />
} else if ( $(elm).is('button') ) {<br />
handleButton(elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the radio button changes, show what is needed<br />
* @param radioElm<br />
*/<br />
function handleRadio(radioElm) {<br />
var pre_wssos_value = $(radioElm).data('wssos-show');<br />
var pre_parent_wssos = $(radioElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(radioElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(radioElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( radioElm.checked ) {<br />
$(pre_wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(pre_wssos_elm);<br />
} else {<br />
putAllTypesNameInData(pre_wssos_elm);<br />
}<br />
$(pre_parent_wssos).find('input[type=radio][name="'+ radioElm.name +'"]').on('change', function () {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
$(parent_wssos).find('input[name="'+this.name+'"][type="radio"]').each(function(index, radiobtn) {<br />
var radio_hide_data_attr = $(radiobtn).data('wssos-show');<br />
$(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]').addClass('hidden');<br />
putAllTypesNameInData($(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]'));<br />
});<br />
<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the checkbox changes, show what is needed<br />
* @param checkElm<br />
*/<br />
function handleCheckbox(checkElm) {<br />
var pre_wssos_value = $(checkElm).data('wssos-show');<br />
var pre_parent_wssos = $(checkElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(checkElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(checkElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( checkElm.checked ) {<br />
pre_wssos_elm.removeClass('hidden');<br />
// set the dataset value of data-name-attribute back in the name attribute<br />
putAllTypesDataInName(pre_wssos_elm);<br />
<br />
// set the name value of the unchecked element in the value of data-name-attribute and remove the name attribute<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
putAllTypesNameInData(pre_unchecked_elm);<br />
}<br />
} else {<br />
// set data-name-attribute to the value of name attribute and remove the name attribute<br />
putAllTypesNameInData(pre_wssos_elm);<br />
<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
$(pre_unchecked_elm).removeClass('hidden');<br />
// set the name attribute to the value of data-name-attribute<br />
putAllTypesDataInName(pre_unchecked_elm);<br />
}<br />
}<br />
$(checkElm).on('change', function(e) {<br />
e.stopPropagation();<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
<br />
if ( $(this).has('data-wssos-show-unchecked') ) {<br />
var wssos_unchecked_value = $(this).data('wssos-show-unchecked');<br />
var wssos_unchecked_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_unchecked_value+'"]');<br />
if ( this.checked ) {<br />
wssos_unchecked_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_unchecked_elm);<br />
} else {<br />
wssos_unchecked_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_unchecked_elm);<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* handle the select box changes to show what is needed on select<br />
* @param selectElm<br />
*/<br />
function handleSelect(selectElm) {<br />
var selectVal = $(selectElm).val();<br />
$(selectElm).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(option).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected || $(option).val() === selectVal) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
<br />
$(selectElm).on('change', function () {<br />
$(this).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
});<br />
}<br />
<br />
function handleButton(btnElm) {<br />
var pre_wssos_value = $(this).data('wssos-show');<br />
var pre_parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
<br />
// set up the start and make sure the element is hidden<br />
$(pre_wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(pre_wssos_elm);<br />
// add on click listener to the button<br />
$(btnElm).on('click', function(e) {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
<br />
// possibility to hide the wanted element back if an option<br />
if ( !$(wssos_elm).hasClass('hidden') ) {<br />
$(wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
} else {<br />
$(wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* find all different types which name attribute should go to the dataset<br />
* @param elm<br />
*/<br />
function putAllTypesNameInData(elm) {<br />
putNameAttrValueInDataset($(elm).find('input,select,textarea'));<br />
putRequiredInDataset($(elm).find('input,select,textarea'));<br />
}<br />
<br />
<br />
/**<br />
* find all different types which data-attribute should go to the name-attribute<br />
* @param elm<br />
*/<br />
function putAllTypesDataInName(elm) {<br />
putDatasetValueBackInName($(elm).find('input,select,textarea'));<br />
putDatasetInRequired($(elm).find('input,select,textarea'));<br />
}<br />
<br />
/**<br />
* set the name attribute value to the dataset data-name-attribute, remove the name attribute<br />
* @param elm<br />
*/<br />
function putNameAttrValueInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).attr('name') !== '' ) {<br />
var name = $(elm).attr('name');<br />
if (name) {<br />
$(elm).attr('data-name-attribute', name);<br />
$(elm).removeAttr('name');<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* set the name attribute to the value of the data-name-attribute<br />
* @param elm<br />
*/<br />
function putDatasetValueBackInName($elm) {<br />
$.each($elm, function(index, elm) {<br />
if ( $(elm).attr('data-name-attribute') !== '' ) {<br />
var datasetName = $(elm).data('name-attribute');<br />
if (datasetName) {<br />
$(elm).attr('name', datasetName);<br />
}<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* set the required attr in the dataset data-ws-required<br />
* @param $elm<br />
*/<br />
function putRequiredInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).is(':required') ) {<br />
$(elm).attr('data-ws-required', true);<br />
$(elm).prop('required', false);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* if the element has data-ws-required the make the element required<br />
* @param $elm<br />
*/<br />
function putDatasetInRequired($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).data('ws-required') ) {<br />
$(elm).prop('required', true);<br />
}<br />
})<br />
}<br />
<br />
/* END OF WSSHOWONSELECT */<br />
$( document ).ready(function() {<br />
if( $('.redirect-link').length > 0 ) {<br />
$('.redirect-link a')[0].click();<br />
}<br />
})</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Participant&diff=2678
Template:Participant
2022-01-09T20:39:43Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Participant''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Participant<br />
|User=<br />
|Workflow=<br />
|Case ID=<br />
|Role=<br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly>{{#vardefine:@currentuser|{{#if:{{{Currentuser|}}}|{{{Currentuser|}}}|{{CURRENTLOGGEDUSER}} }} }}<!-- <br />
-->{{#vardefine:@servername|{{#if:{{{Servername|}}}|{{{Servername|}}}|{{SERVERNAME}} }} }}<!-- <br />
-->{{#vardefine:@fullpagename|{{#if:{{{Fullpagename|}}}|{{{Fullpagename|}}}|{{FULLPAGENAME}} }} }}<!-- <br />
--><div data-poll="Participant" data-workflow="{{{Workflow|}}}" data-parameters="Currentuser={{#var:@currentuser}}^Servername={{#var:@servername}}<br />
^Role={{{Role|}}}^Workflow={{{Workflow|}}}^User={{{User|}}}^Case ID={{{Case ID|}}}"></div><!-- <br />
--><div class="d-none">__NOTOC__ __NOTITLE__{{#if:{{{User|}}}|{{#set:Class=Participant|Role={{{Role|}}}|Workflow={{{Workflow|}}}|User={{{User|}}}|Case ID={{{Case ID|}}}|Name={{{Name|}}} }} }}</div><!--<br />
-->{{#vardefine:@allowed|{{#ifeq:User:{{#var:@currentuser}}|{{{User|}}}|Yes|{{#ifsysop:Yes|No}}}}}}<br />
{{#vardefine:@judge|{{#show:{{{Workflow|}}}|?Judge}} }}<br />
{{#ifeq:{{#var:@allowed}}|Yes|<h1>{{#switch:{{{Role|}}}|Judge={{fa|gavel}}|Plaintiff={{fa|book}}|Juror={{fa|balance-scale}} }}&nbsp;{{#if:{{{Name|}}}|{{{Name|}}}|{{{Role|}}} }} - {{#ask:[[Class::Suit]][[Workflow::{{{Workflow|}}}]]}}</h1><!--<br />
--><h2>Case Progress:</h2>{{#switch:{{#show:{{{Workflow|}}}|?Stage}}<br />
|Waiting for Plaintiff verdict=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="active">Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs judge=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="active">Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Judge accepted=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="active">Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs jurors=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="done">Judge accepted</div><div class="done">Case is filed</div><div class="active">Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|In progress=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="done">Judge accepted</div><div class="done">Case is filed</div><div class="done">Case needs jurors</div><div class="active">Suit in progress</div><div>Settled</div></div> <br />
|Settled=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="done">Judge accepted</div><div class="done">Case is filed</div><div class="done">Case needs jurors</div><div class="done">Suit in progress</div><div class="active">Settled</div></div><br />
}}<br />
<h2>Your checklist:</h2>{{#vardefine:@check|{{#ask:[[{{{Workflow|}}}]]|?Juror amount|?Suit date|?Settlement date|?Meeting date|format=array|link=none}} }}<br />
{{#switch:{{{Role|}}}<br />
|Plaintiff=<div class="d-flex flow-index"><div class="done">Propose a case</div><div class="done">Complete verdict<br />
</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|2}}|class="done"}}>Reevaluate verdict</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|4}}|{{#ifexpr:{{#time: U |{{#explode:{{#var:@check}}|<PROP>|4}} }} < {{#time: U | now}} |class="done"}} }}>Attend meeting</div></div><br />
|Judge=<div class="d-flex flow-index"><div class="done">Read the Plaintiff pleading and proposed verdict</div><div class="done">Accept or Reject the Plaintiff filing<br />
</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|2}}|class="done"}}>Set settlement date </div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|1}}|class="done"}}>Set the number of Jurors</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|2}}|class="done"}}>Set date for Jurors verdicts</div><div {{#vardefine:@verdict|{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::{{{User|}}}]]|link=none}} }}{{#if:{{#var:@verdict}}|class="done"}}>Complete your verdict</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|4}}|class="done"}}>Set date for meeting with Jurors and the Plaintiff</div><div {{#ifeq:{{#show:{{{Workflow|}}}|?Stage}}|Settled|class="done"}}>Complete your verdict and settle the case</div></div><br />
|Juror=<div class="d-flex flow-index"><div class="done">Read the Plaintiff pleading and proposed verdict</div><div {{#vardefine:@verdict|{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::{{{User|}}}]]|link=none}} }}{{#if:{{#var:@verdict}}|class="done"}}>Create verdict<br />
</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|4}}|{{#ifexpr:{{#time: U |{{#explode:{{#var:@check}}|<PROP>|4}} }} < {{#time: U | now}} |class="done"}} }}>Attend meeting</div></div><br />
}}<br />
<div class="row "><br />
<div class="col-12 col-lg-8 "><br />
<div class="box"><div class="d-flex justify-content-between"><h2>Case information</h2> {{#ifeq:{{{Role|}}}|Plaintiff|{{#widget:link|type=a|text=Edit|class=btn-green|href={{fullurl:edit case|id={{#replace:{{{Workflow|}}}|Workflow/| }} }} }} }}</div><!--<br />
-->{{#ifeq:{{#show:{{{Workflow}}}|?Stage }}|Settled|| {{#if:{{#var:@judge}}|<!--<br />
<br />
<br />
--> }}<!--<br />
<br />
-->{{#vardefine:@classQ|{{#show:{{{Workflow|}}}|?Class request|link=none}} }}{{#if:{{#var:@classQ}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Class request:</b><br />
|2={{#ifeq:{{#var:@classQ}}|Declined|Declined|{{#ifeq:{{#var:@classQ}}|Approved|<br />
Approved: Class page: {{#ask:[[Class::Workflow]][[Class case IDs::{{{Workflow|}}}]]|format=array|link=none}} |Pending}} }}<br />
}}<br />
}} }}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Role:</b><br />
|2={{{Role|}}}<br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Suit:</b><br />
|2={{#vardefine:@title|{{#ask:[[Class::Suit]][[Case ID::{{{Case ID|}}}]]}} }}{{#if:{{#var:@title}}|{{#var:@title}}|{{#show:{{{Workflow}}}|?Lie|link=none }} }}<br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Stage:</b><br />
|2={{#show:{{{Workflow}}}|?Stage }}<br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>The Plaintiff Accusation with Evidence :</b><br />
|2={{#show:{{{Workflow}}}|?Accusation|link=none }}<br />
}}<!--<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Marked <span class="red">lies</span> and <span class="dark-blue">truths</span> :</b><br />
|2=<div class="lie-input">{{#show:{{{Workflow}}}|?Markup|Link=none }}</div><br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Lie locations:</b><br />
|2={{#arraymap:{{#show:{{{Workflow|}}}|?Locations}}|,|@@@|<br />
{{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}} |<br>}}<br />
}}<!--<br />
<br />
-->{{#vardefine:@meeting|{{#show:{{{Workflow}}}|?Meeting|link=none }} }}<!--<br />
<br />
-->{{#if:{{#var:@meeting}}|{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Meeting link</b><br />
|2=[{{#var:@meeting}} Meeting]<br />
}} }}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Suit date</b><br />
|2={{#show:{{{Workflow}}}|?Slot|link=none }}<br />
}} <!--<br />
<br />
-->{{Item responsive |Cols=6-6<br />
|1=<b>Evidence of lie appearance:</b>{{#vardefine:@uuid|{{#show:{{{Workflow|}}}|?uuid|link=none}} }}<br />
|2={{#vardefine:@counter|0}}{{#if:{{#var:@uuid}}|{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#var:@uuid}}]]|?=|?Modification date|?Type|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{fa|file-pdf}}|{{fa|image}} }} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|Pdf|Image}}<br />
|BodyText={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{#widget:pdf|pdf={{filepath:{{#explode:{{#explode:@@@|<PROP>|0}}|:|1}} }} }}|[[{{#explode:@@@|<PROP>|0}}]]}}Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!-- <br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1 }} }}|}} }} }}<!--<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Verdicts:</b><br />
}}<!--<br />
<br />
-->{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::!{{{User|}}}]]|?Role|link=none|format=array}}|,|@@@| <br />
{{#tag:html|<details><br />
<summary>{{#explode:@@@|<PROP>|1}} verdict</summary><br />
}}<br />
{{verdict results|Verdict={{#explode:@@@|<PROP>|0}} }}<br />
{{#tag:html|</details>}}<br />
|}}</div><br />
<!--<br />
<br />
--> {{#ifeq:{{{Role|}}}|Plaintiff|{{#ifeq:{{#show:{{{Workflow}}}|?Stage }}|Needs judge|<br />
{{#vardefine:@randomjudge|{{#ask:[[User group::icol-user]][[Class::Member]][[Role::Judge]][[!{{{User|{{CURRENTLOGGEDUSER}} }}}]] [[Online since::>{{#time: r | now - 1 hour}}]]<br />
|Limit=1<br />
|format=array<br />
|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Judge]][[!{{{User|{{CURRENTLOGGEDUSER}} }}}]]|Limit=1|format=array|order=random}} }} }}<br />
{{#tag:wsform|<h2>Invite a Judge</h2><br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Stage|value=Needs judge}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Random judge|value={{#var:@randomjudge}} }}<br />
{{#tag:wsfield||type=submit|class=btn btn-green|value=Invite Judge}}<br />
|action=addToWiki|mwreturn={{fullurl:{{FULLPAGENAME}} }} }}<br />
}} }}<!--<br />
<br />
-->{{#ifeq:{{#show:{{{Workflow}}}|?Stage }}|Settled|| {{#ifeq:{{{Role|}}}|Judge|<div class="box"><h2>Case settings</h2><br />
{{Item responsive |Cols={{#var:@cols|2-10}}<br />
|1=<b>Jurors:</b><br />
|2={{#vardefine:zz|{{#ask:[[{{{Workflow|}}}]]|?Random juror|?Declined juror|?Judge|?Filed by|?Jurors|format=array|link=none}} }}<br />
{{#vardefine:@countjur|0}}{{#arraymap:{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]][[Role::Juror]]|?Role|?Name|?User|format=array|link=none}}|,|@@@|{{#if:{{#explode:@@@|<PROP>|2}}|<div class="btn btn-green btn-square">{{#explode:@@@|<PROP>|2}}<br><small>Accepted</small>{{#tag:wsform|{{#arraydefine:@random juror|{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Random juror|format=array|link=none}}|<PROP>|1}}|<MANY>}}{{#arraydefine:@user|{{#explode:@@@|<PROP>|3}} }}{{#arraydiff:new_key|@random juror|@user}}{{#arraydefine:@Jurorsarr|{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Jurors|format=array|link=none}}|<PROP>|1}}|<MANY>}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#if:{{#arrayprint:new_key}}| {{#arrayprint:new_key}}, }}{{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Declined juror|value={{#if:{{#explode:{{#var:zz}}|<PROP>|2}}|{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|###|,}}, {{#explode:@@@|<PROP>|3}}| {{#explode:@@@|<PROP>|3}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Jurors|value={{#arraydiff:jrs|@Jurorsarr|@user}}{{#arrayprint:jrs}} }}<br />
{{#tag:wsfield||type=submit|value=x|class=remove-juror}}<br />
|action=addToWiki}}</div>|<div class="btn btn-green btn-square">{{#explode:@@@|<PROP>|1}}<br><small>Accepted</small></div>}}{{#vardefine:@countjur|{{#expr:{{#var:@countjur}} + 1}} }}|}}<!-- <br />
-->{{#arraymap:{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Random juror|format=array|link=none}}|<PROP>|1}}|<MANY>|@@@|{{#ifeq:@@@|done||<div class="btn btn-gray btn-square"> Juror {{#vardefine:@countjur|{{#expr:{{#var:@countjur}} + 1}} }}{{#var:@countjur}}<br><small>Invited<!-- 1 day ago --></small><br><!--<br />
<br />
<br />
-->{{#tag:wsform|{{#arraydefine:@random juror|{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Random juror|format=array|link=none}}|<PROP>|1}}|<MANY>}}{{#arraydefine:@user|@@@ }}{{#arraydiff:new_key|@random juror|@user}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#if:{{#arrayprint:new_key}}| {{#arrayprint:new_key}}, }}{{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Declined juror|value={{#if:{{#explode:{{#var:zz}}|<PROP>|2}}|{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|###|,}}, @@@| @@@ }} }}<br />
<!--{{#tag:wsfield||type=submit|value=x|class=remove-juror}}--><br />
|action=addToWiki}}</div>}} |}}<br />
}}<!-- <br />
-->{{#vardefine:@tokenstats|<nowiki>{{subst:#ttaward:</nowiki>{{PAGENAME:{{#show:{{{Workflow}}}|?Filed by|link=none}} }}<nowiki>}}</nowiki>}}<br />
{{#ifeq:{{#show:{{{Workflow}}}|?Stage|link=none}}|Judge accepted|<br />
<wsform action="addToWiki" ><br />
<wscreate mwwrite="Case/{{{Case ID|}}}" mwtemplate="Suit" /><br />
<wsfield type="hidden" name="Title" value="{{#show:{{{Workflow|}}}|?Lie|link=none}}" /><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="vbvbv" value="{{#var:@tokenstats}}" /><br />
<h2>Suit settings</h2><br />
<p>Choose a date for the suit, choose the number of jurors needed for the suit, and file the suit. Random jurors will be ask to participate, and the plaintiff will be notified about the suit date</p><br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Stage|value=Needs jurors}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Juror amount }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Suit date }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Settlement date }}<br />
<div id="jurors">{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#show:{{{Workflow}}}|?Filed by|link=none}}]]|Limit=5|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#show:{{{Workflow}}}|?Filed by|link=none}}]]|Limit=5|format=array|order=random}} }} }}</div><!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors needed for the case</b><br />
|2={{#tag:wsfield||type=number|name=Juror amount|min=1|max=5|class=form-number form-control|value=5}}<br />
}}<small class="text-muted">Set the number of Jurors you are requesting</small><br />
<div class="clear-both"></div><!-- <br />
--><!--<br />
<br />
-->{{#ifeq:{{PAGENAME:{{#show:{{{Workflow}}}|?Filed by|link=none}} }}|{{#var:@currentuser}}|<wsfield type="button" disabled="disabled" class="btn btn-green mb-4" >Cannot create docket. You're the plaintiff.</wsfield>|<br />
<wsfield type="button" onclick="setJurors()" class="btn btn-green mb-4" >Create docket</wsfield><br />
<wsfield type="submit" value="Create docket" id="submit-docket" class="btn btn-green mb-4 d-none"/>}}<!--<br />
-->{{#tag:html|<script><br />
var oldjurrors = document.getElementById('jurors').querySelector('input').value;<br />
<br />
function setJurors(){<br />
var amount = document.querySelector('[name="Juror amount"]').value;<br />
var jur = oldjurrors.split('-^^--^^-')[1];<br />
var jurarray = jur.split(',');<br />
var newjurrors = jurarray.slice(0 , amount);<br />
document.getElementById('jurors').querySelector('input').value = oldjurrors.split('-^^--^^-')[0]+'-^^--^^-'+newjurrors;<br />
document.getElementById('submit-docket').click();<br />
}<br />
<br />
</script>}}<!--<br />
<br />
--></wsform>|<!--<br />
--><h2>Change suit settings</h2><!--<br />
--><p>Participants in this case will be informed about your changes to the suit</p><!--<br />
--><wsform action="addToWiki"> <br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Stage|value=Needs jurors}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Juror amount }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Change|value=yes }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Change seen by|value=none }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Settlement date }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Meeting date }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Suit date }}<!-- <br />
--><div id="jurrors" class="d-none">{{#vardefine:@wf|{{#ask:[[{{{Workflow}}}]]|?Random juror|?Declined juror|?Jurors|?Filed by|link=none|format=array}} }}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|1}}|<MANY>|@@@|@@@|,}}</div><br />
<div id="jurors">{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#explode:{{#var:@wf}}|<PROP>|4}}]]{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|2}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|3}}|<MANY>|@@@|[[!@@@]]|}}|Limit=5|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#explode:{{#var:@wf}}|<PROP>|4}}]]{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|2}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|3}}|<MANY>|@@@|[[!@@@]]|}}|Limit=5|format=array|order=random }} }} }}</div><br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors needed for the case</b><br />
|2={{#tag:wsfield||type=number|name=Juror amount|class=form-number form-control|value={{#show:{{{Workflow}}}|?Juror amount }}|min={{#show:{{{Workflow}}}|?Juror amount }}|max=5 }}<br />
}}<small class="text-muted">Set the number of Jurors you are requesting</small><br />
<div class="clear-both"></div><!-- <br />
--><wsfield type="button" onclick="changeJurors()" class="btn btn-green mb-4 mt-4 float-left" >Change suit</wsfield><br />
<wsfield type="submit" value="Change suit" id="change-suit" class="btn btn-green mb-4 d-none "/><br />
{{#tag:html|<script><br />
var oldjurrors = document.getElementById('jurors').querySelector('input').value;<br />
<br />
<br />
function changeJurors(){<br />
var amount = document.querySelector('[name="Juror amount"]').value;<br />
var oldamount = document.querySelector('[name="Juror amount"]').getAttribute('min');<br />
<br />
<br />
if(amount > oldamount){<br />
var pastjurrors = document.getElementById('jurrors').innerHTML;<br />
<br />
var jur = oldjurrors.split('-^^--^^-')[1];<br />
var jurarray = jur.split(',');<br />
var oldjurarray = pastjurrors.split(',');<br />
var newjurrors = jurarray.slice(0 , amount - oldamount);<br />
document.getElementById('jurors').querySelector('input').value = oldjurrors.split('-^^--^^-')[0]+'-^^--^^-'+oldjurarray.join()+','+newjurrors;<br />
document.getElementById('change-suit').click();<br />
}else{<br />
var pastjurrors = document.getElementById('jurrors').innerHTML;<br />
var oldjurarray = pastjurrors.split(',');<br />
document.getElementById('jurors').querySelector('input').value = oldjurrors.split('-^^--^^-')[0]+'-^^--^^-'+oldjurarray.join();<br />
<br />
document.getElementById('change-suit').click();<br />
<br />
}<br />
}<br />
<br />
</script>}}<br />
</wsform><br />
<wsform action="addToWiki"> <br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Stage|value=Settled}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value=done}}<br />
<wsfield type="submit" value="Mark case settled" class="btn btn-red mb-4 float-right mt-4"/><div class="clear-both"></div><br />
</wsform><br />
}}</div>}} }}<!--<br />
<br />
<br />
<br />
--><div class="box"><h2>Your verdict :</h2>{{#vardefine:@verdict|{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::{{{User|}}}]]|link=none}} }}{{#if:{{#var:@verdict}}|{{verdict results|Verdict={{#var:@verdict}} }}<br>{{#widget:link|type=a|href={{fullurl:{{#var:@verdict}}|Participant={{#var:@fullpagename}} }}|text=Edit verdict|class=btn btn-green }}|<!--<br />
--><wsform action="addToWiki">{{#ifeq:{{{Role|}}}|Juror|{{#vardefine:@verdictdate|{{#show:{{{Workflow}}}|?Suit date|link=none}} }} {{#if:{{#var:@verdictdate}}|Create your Verdict before {{#var:@verdictdate}} }}<br> }} <br />
<wscreate mwwrite="Verdict:{{{Case ID|}}}/" mwtemplate="Verdict" mwoption="range:00001-99999" mwfollow/><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="User" value="{{{User|}}}" /><br />
<wsfield type="hidden" name="Role" value="{{{Role|}}}" /><br />
<wsfield type="hidden" name="Name" value="{{{Name|}}}" /><br />
<wsfield type="hidden" name="Participant" value="{{#var:@fullpagename}}" /><br />
<wsfield type="submit" value="Create verdict" class="btn btn-green"/><br />
</wsform>}}</div></div><div class="col-12 col-lg-4"><!--<br />
-->{{#vardefine:@meetingdate|{{#show:{{{Workflow}}}|?Meeting date}} }}{{#if:{{#var:@meetingdate}}|<div class="info-box"><h2>Online meeting</h2>A online meeting with all the participants on this case is planned on <h2>{{#time:d-M-Y|{{#var:@meetingdate}} }}</h2> [[file:zoom.png|150px|link=]]</div>}}<br />
<!--<br />
--><div class="info-box"><br />
{{#tag:html|<details><br />
<summary><h2>Chat</h2>Talk with other participants on this case<hr></summary>}}<!-- <br />
-->{{#arraydefine:@chat|{{#ask:[[Class::Chat]][[Workflow::{{{Workflow|}}}]]|?Message|?Role|?User|?Modification date|?Name|format=array|limit={{#if:{{#urlget:chat}}|999|10}}|sort=Modification date|order=desc}} }}{{#arraysort:@chat|reverse}}<!-- <br />
-->{{#if:{{#urlget:chat}}||{{#ifexpr:{{#arraysize:@chat}} > 9 |{{#Widget:link|type=a|class=btn btn-green pt-1 pb-1 pr-4 pl-4|text={{fa|history}} Load older|href={{fullurl:{{#var:@fullpagename}}|chat=all}} }}<hr>}} }}<!-- <br />
-->{{#arraymap:{{#arrayprint:@chat}}|,|@@@| <br />
<div class="chat {{#ifeq:{{#explode:@@@|<PROP>|3}}|{{{User|}}}|me}} "><div class="d-flex"><h3 {{#ifeq:{{#explode:@@@|<PROP>|3}}|{{{User|}}}||class="chat-{{#if:{{#explode:@@@|<PROP>|5}}|{{#explode:{{#explode:@@@|<PROP>|5}}| |1}}|{{#explode:@@@|<PROP>|2}} }}"}}>{{#if:{{#explode:@@@|<PROP>|5}}|{{#explode:@@@|<PROP>|5}}|{{#explode:@@@|<PROP>|2}} }}</h3><h4 class="pl-2">{{#explode:@@@|<PROP>|4}}</h4></div>{{#explode:@@@|<PROP>|1}}</div><br />
|}}<br />
{{#vardefine:@mails|{{#arraymap:{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]]|?User.User right|format=array }}|,|@@@|{{#explode:@@@|<PROP>|1}} |,}} }}<br />
{{#vardefine:@link|{{#ask:[[Class::Suit]][[Workflow::{{{Workflow|}}}]]|link=none }} }}<br />
<wsform action="mail" id="case-form"> <br />
<wscreate mwwrite="Chat/" mwtemplate="Chat" mwoption="range:00001-99999" /><br />
<wsemail to="noreply@{{#var:@servername}}" from="noreply@{{#var:@servername}}" bcc="{{#var:@mails}}" subject="New chat message" template="Template:Chat mail" ><br />
</wsemail><br />
<wsfield type="hidden" name="link" value="{{#if:{{#var:@link}}|{{fullurl: {{#var:@link}} }} }}" /><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="User" value="{{{User|}}}" /><br />
<wsfield type="hidden" name="Role" value="{{{Role|}}}" /><br />
<wsfield type="hidden" name="Name" value="{{{Name|}}}" /><br />
<wsfield type="textarea" name="Message" class="form-control mt-2 mb-2" /><br />
<div class="d-flex justify-content-end"><wsfield type="submit" value="Send" class="btn btn-green"/></div><br />
</wsform><br />
<br />
</div>{{#tag:html|</details>}}<!--<br />
<br />
--></div>|<div class="m-5 alert alert-danger">Not permitted</div>}}<!-- end allowed <br />
--></includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Ws-header&diff=2502
MediaWiki:Ws-header
2021-12-08T12:09:46Z
<p>Maintenance script: Fill database</p>
<hr />
<div><div class="container-fluid" style=""><div class="row row-wsheader"><br />
<div class="col-md-4"><ul class="list-inline"><br />
<li>[[File:Logo.png|link={{int:mainpage}} |300x300px]] </li><br />
<li><br></li><br />
</ul></div><br />
<div class="col-md-4 " style="padding-top:25px;">{{#ifeq:{{PAGEID}}|1||<!--{{#widget:Searchbar}}--><br />
<div id="simpleSearch" class="right-inner-addon">{{fa|search}} <br />
<wsform action="get" mwreturn="{{fullurl:Search}}" restrictions="lifted"><wsfield type="text" class="form-control" name="query" placeholder="Search Internet Court of Lies" /></wsform><br />
</div> }}</div><br />
<div class="col-md-4 text-center d-flex" style="margin-top: 25px;justify-content: center;font-size: small;align-self: center; "><div class="btn-group" role="group"><!--<br />
-->{{Login button}} {{#if:{{CURRENTLOGGEDUSER}}|<div class="ml-4 text-left d-flex" style="align-self: center;flex-direction: column;"><h2 class="mb-0">{{CURRENTLOGGEDUSER}}</h2><!-- <br />
--> {{#arraydefine:@Plaintiffpages|{{#ask:[[Class::Participant]][[User::User:{{CURRENTLOGGEDUSER}}]][[Role::Plaintiff]]|format=array|link=none}} }}<!-- <br />
--> {{#ifexpr:{{#arraysize:@Plaintiffpages}} > 1|<div>{{fa|book}} Plaintiff in [[User:{{CURRENTLOGGEDUSER}}|{{#arraysize:@Plaintiffpages}} cases]]</div>|{{#if:{{#arrayprint:@Plaintiffpages}}|<div> {{fa|book}} Plaintiff in [[{{#arrayprint:@Plaintiffpages}}|case]]</div> }} }}<!-- <br />
--> {{#arraydefine:@Judgepages|{{#ask:[[Class::Participant]][[User::User:{{CURRENTLOGGEDUSER}}]][[Role::Judge]]|format=array|link=none}} }}<!-- <br />
--> {{#ifexpr:{{#arraysize:@Judgepages}} > 1|<div>{{fa|gavel}} Judge in [[User:{{CURRENTLOGGEDUSER}}|{{#arraysize:@Judgepages}} cases]]</div> |{{#if:{{#arrayprint:@Judgepages}}|<div>{{fa|gavel}} Judge in [[{{#arrayprint:@Judgepages}}|case]]</div> }}}}<!-- <br />
--> {{#arraydefine:@Jurorpages|{{#ask:[[Class::Participant]][[User::User:{{CURRENTLOGGEDUSER}}]][[Role::Juror]]|format=array|link=none}} }}<!-- <br />
--> {{#ifexpr:{{#arraysize:@Jurorpages}} > 1|<div>{{fa|balance-scale}} Juror in [[User:{{CURRENTLOGGEDUSER}}|{{#arraysize:@Jurorpages}} cases]]</div> |{{#if:{{#arrayprint:@Jurorpages}}|<div> {{fa|balance-scale}} Juror in [[{{#arrayprint:@Jurorpages}}|case]]</div> }}}}<!-- <br />
--></div> }}</div></div><br />
</div>{{int:ws-navmenu}}</div>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
|Hide=Yes<br />
}}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Property:Accusation&diff=2503
Property:Accusation
2021-12-08T12:09:46Z
<p>Maintenance script: Fill database</p>
<hr />
<div>{{Property<br />
|Has type=Text<br />
}}<br />
{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Verdict_results&diff=2501
Template:Verdict results
2021-12-08T12:09:45Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Verdict results''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Verdict results }}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
{{#vardefine:verdictsarray|{{#ask:{{#if:{{{Verdict|}}}|[[{{{Verdict|}}}]]|[[Class::Verdict]][[Case ID::{{{id|}}}]]{{#if:{{{Context|}}}|[[Context::{{{Context|}}}]]|[[Context::None]] }} }}<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|?Name<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$<br />
}}}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it Factually the Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|4}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|4}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|5}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|5}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|6}} </div><!-- <br />
<br />
-->{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{#explode:@@@|<PROP>|0}}]]|?=|?Modification date|Format=array|sep=@@@|link=none}}|@@@|###|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=vi attachment mt-2 |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:###|<PROP>|0}}]] Uploaded on: {{#explode:###|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}}</div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>If it is Factually True, is it the Whole Factual Truth?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|7}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|7}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|8}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|8}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|9}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it nothing but the Factual and Whole Truth (Adding other Truths and Lies to the Context)?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|10}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|10}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|11}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|11}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|12}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit? (e.g., the fact, the whole truth, the motivation, to deny a crime)</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is the Deceit Intended?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|16}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|16}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|17}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|17}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|18}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie? (e.g., to lie, to tell the truth, to mislead, to achieve power, etc.)</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Social Acceptability for the lie?</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|22}}|Acceptable|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|22}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|23}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|23}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|24}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Label for the Lie needed to Improve the Social Acceptability? (e.g., this is a factual lie, this does not tell the whole truth, this is an intentional lie, this lie has a socially unacceptable motivation).</h3><br />
|2={{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:@@@|<PROP>|25}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|26}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|26}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|27}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}} }}<br />
<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Verdict&diff=2500
Template:Verdict
2021-12-08T12:09:44Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Verdict''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Verdict<br />
|Workflow=<br />
|Case ID=<br />
|Role=<br />
|User=<br />
|Truth=<br />
|Truth percentage=<br />
|Truth text=<br />
|Whole truth=<br />
|Whole truth percentage=<br />
|Whole truth text=<br />
|Nothing But the truth=<br />
|Nothing But the truth percentage=<br />
|Nothing But the truth text=<br />
|Deceit=<br />
|Deceit percentage=<br />
|Deceit text=<br />
|Deceit intended=<br />
|Deceit intended percentage=<br />
|Deceit intended text=<br />
|Motivation=<br />
|Motivation percentage=<br />
|Motivation text=<br />
|Social acceptability=<br />
|Social acceptability percentage=<br />
|Social acceptability text=<br />
|Label=<br />
|Label percentage=<br />
|Label text=<br />
|Context= <br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly>{{#if:{{{Case ID|}}}|{{#set:Class=Verdict<br />
|Case ID={{{Case ID|}}}<br />
|Workflow={{{Workflow|}}}<br />
|Role={{{Role|}}}<br />
|User={{{User|}}}<br />
|Truth={{#replace:{{{Truth|}}}|,|.}}<br />
|Truth percentage={{{Truth percentage|}}}<br />
|Truth text={{#if:{{{Truth text|}}}|{{{Truth text|}}}|-}}<br />
|Whole truth={{#replace:{{{Whole truth|}}}|,|.}}<br />
|Whole truth percentage={{{Whole truth percentage|}}}<br />
|Whole truth text={{#replace:{{#if:{{{Whole truth text|}}}|{{{Whole truth text|}}}|-}}|,|.}}<br />
|Nothing But the truth={{{Nothing But the truth|}}}<br />
|Nothing But the truth percentage={{{Nothing But the truth percentage|}}}<br />
|Nothing But the truth text={{#if:{{{Nothing But the truth text|}}}|{{{Nothing But the truth text|}}}|-}}<br />
|Deceit={{#replace:{{{Deceit|}}}|,|.}}<br />
|Deceit percentage={{{Deceit percentage|}}}<br />
|Deceit text={{#replace:{{#if:{{{Deceit text|}}}|{{{Deceit text|}}}|-}}|,|.}}<br />
|Deceit intended={{#replace:{{{Deceit intended|}}}|,|.}}<br />
|Deceit intended percentage={{{Deceit intended percentage|}}}<br />
|Deceit intended text={{{#replace:{#if:{{{Deceit intended text|}}}|{{{Deceit intended text|}}}|}}|,|.}}<br />
|Motivation={{#replace:{{{Motivation|}}}|,|.}}<br />
|Motivation percentage={{{Motivation percentage|}}}<br />
|Motivation text={{#replace:{{#if:{{{Motivation text|}}}|{{{Motivation text|}}}|-}}|,|.}}<br />
|Social acceptability={{#replace:{{{Social acceptability|}}}|,|.}}<br />
|Social acceptability percentage={{{Social acceptability percentage|}}}<br />
|Social acceptability text={{#replace:{{#if:{{{Social acceptability text|}}}|{{{Social acceptability text|}}}|-}}|,|.}}<br />
|Label={{#replace:{{{Label|}}}|,|.}}<br />
|Label percentage={{{Label percentage|}}}<br />
|Label text={{#replace:{{#if:{{{Label text|}}}|{{{Label text|}}}|}}|,|.}}<br />
|Context={{{Context|None}}}<br />
|Name={{{Name|}}}<br />
}}<br />
|{{#set:Class=None}}<br />
}}<br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#verdict-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
border: none;<br />
display: inline-block;<br />
width: 5em;<br />
box-shadow: none;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
transition: border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;<br />
border: 1px solid #ced4da;<br />
}<br />
.percentage:focus {<br />
color: #495057;<br />
background-color: #fff;<br />
border-color: #80bdff;<br />
outline: 0;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 0 0.2rem rgba(0,123,255,0.25);<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
#verdict-form textarea {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
height: 41px;<br />
}<br />
button.btn.copy-verdict {<br />
float: right;<br />
background: #006699;<br />
color: white;<br />
}<br />
</style>}}<br />
<br />
</div><br />
{{#vardefine:@allowed|{{#ifeq:User:{{CURRENTLOGGEDUSER}}|{{{User|}}}|Yes|{{#ifsysop:Yes|No}}}}}}<br />
{{#ifeq:{{#var:@allowed}}|Yes|{{#vardefine:@stage|{{#show:{{{Workflow|}}}|?Stage|link=none}} }}<br />
{{#vardefine:@myparticipantpage|{{#ask:[[Class::Participant]] [[User::User:{{CURRENTLOGGEDUSER}}]] [[Case ID::{{{Case ID|}}}]]|link=none }} }}<!-- <br />
--><wsform action="addToWiki" id="verdict-form" mwreturn="{{#if:{{#var:@myparticipantpage}}|{{fullurl:{{#var:@myparticipantpage}} }}|{{#if:{{{Participant|}}}|{{fullurl:{{{Participant|}}} }}|{{#if:{{#urlget:Participant}}|{{fullurl:{{#urldecode:{{#urlget:Participant}} }} }}|{{fullurl:{{FULLPAGENAME}} }} }} }} }}" ><br />
<wscreate mwwrite="{{FULLPAGENAME}}" mwtemplate="Verdict" /><br />
<br />
{{#ifeq:{{#var:@stage}}|Waiting for Plaintiff verdict|<br />
<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Stage|value=Needs judge}}<br />
<br />
}}<!--<br />
--><wsfield type="hidden" name="Role" value="{{{Role|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="User" value="{{{User|}}}" /><br />
<wsfield type="hidden" name="Name" value="{{{Name|}}}" /><br />
<wsfield type="hidden" name="Context" value="{{{Context|}}}" /><br />
<h1><span>{{{Role|}}} verdict</span><span>{{{Context|}}}</span><span>Suit: {{{Case ID|}}}</span></h1>Every decision should include your 0 - 100% confidence in the decision<!-- <br />
-->{{#vardefine:verdictsarray|{{#ask:[[Class::Verdict]][[Case ID:: {{{Case ID|}}}]]{{#ifeq:{{{Role|}}}|Judge|[[Role::!Judge]]|[[Role::Plaintiff]]}}<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|?Name<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$<br />
}}}}<!--<br />
-->{{#vardefine:@decision |Enter your decision here}}<!--<br />
-->{{#vardefine:@support |Enter your additional support here}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it Factually the Truth?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|4}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|4}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 43%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|5}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|6}} </div><!-- <br />
<br />
-->{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{#explode:@@@|<PROP>|0}}]]|?=|?Modification date|Format=array|link=none}}|,|###|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=vi attachment mt-2 |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:###|<PROP>|0}}]] Uploaded on: {{#explode:###|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}}</div><!-- <br />
<br />
--></div></div></div>|}} {{#tag:html|</details>}} }}<br />
<div class="d-flex">{{#widget:Check input |type=radio |name=Truth |text=yes |id=truthyes |value=yes |checked={{#ifeq:{{{Truth|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Truth |text=no |id=truthno |value=no |checked={{#ifeq:{{{Truth|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Truth percentage" placeholder="0" value="{{{Truth percentage|}}}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Truth text" placeholder="{{#var:@support}}">{{{Truth text|}}}</wsfield>{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{FULLPAGENAME}}]]|?=|?Modification date|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:@@@|<PROP>|0}}]]Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}} {{#widget:link |type=a|href=#Upload-modal |datatoggle=modal |class=attachment |text={{fa|paperclip}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=Upload-modal<br />
|ModalHeading=Upload screenshot<br />
|BodyText=<br />
{{#vardefine:@filename|Import-verdict-{{#time: U | now}}.png}}<br />
{{#vardefine:@pagecontent|<nowiki>{{File for verdict|Verdict=</nowiki>{{FULLPAGENAME}}<nowiki>|Uploaded by=</nowiki>{{CURRENTLOGGEDUSER}}<nowiki>}}</nowiki>}}<br />
<wsfield type="file" name="File" id="file-upload" verbose_id="hiddendiv" target="{{#var:@filename}}" pagecontent="{{#var:@pagecontent}}" /><br />
<div class="hidden" id="hiddendiv"></div><br />
<wsfield type="submit" class="btn btn-submit" value="Save" /><br />
|FooterText={{#widget:link |type=a|href=#Upload-modal |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
--></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>If it is Factually True, is it the Whole Factual Truth?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|7}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|7}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|8}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|8}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|9}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Whole truth |text=yes |id=wholetruthdyes |value=yes |checked={{#ifeq:{{{Whole truth|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Whole truth |text=no |id=wholetruthno |value=no |checked={{#ifeq:{{{Whole truth|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Whole truth percentage" placeholder="0" value="{{{Whole truth percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Whole truth text" placeholder="{{#var:@support}}">{{{Whole truth text|}}}</wsfield><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it nothing but the Factual and Whole Truth (Adding other Truths and Lies to the Context)?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|10}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|10}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|11}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|11}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|12}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Nothing But the truth |text=yes |id=nothingyes |value=yes |checked={{#ifeq:{{{Nothing But the truth|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Nothing But the truth |text=no |id=nothingno |value=no |checked={{#ifeq:{{{Nothing But the truth|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Nothing But the truth percentage" placeholder="0" value="{{{Nothing But the truth percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Nothing But the truth text" placeholder="{{#var:@support}}">{{{Nothing But the truth text|}}}</wsfield><br />
}}<br />
<br />
{{#arraydefine:@deciets|{{{Deceit text|}}} }}<br />
{{#ifexpr:{{#arraysize:@deciets}} > 1 |<br />
{{#vardefine:@decietscount|1}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}}{{#tag:html|</details>}} }}{{#arraymap:{{{Deceit text|}}}|,|@@@|<br />
{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<div class="original">|<div class="old-copy">}}<div class="d-flex"><wsfield type="textarea" class="form-control" name="Deceit[]" placeholder="{{#var:@decision}}">{{#explode:{{{Deceit|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Deceit percentage[]" placeholder="0" value="{{#explode:{{{Deceit percentage|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Deceit text[]" placeholder="{{#var:@support}}" >{{#explode:{{{Deceit text|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield>{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<!--<span class="add-more deceit">{{fa|plus}}</span>-->}}</div></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}<br />
|}}<br />
}}<br />
|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit? (e.g., the fact, the whole truth, the motivation, to deny a crime)</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} {{#tag:html|</details>}} }}<div class="original"><div class="d-flex"><wsfield type="textarea" class="form-control" name="Deceit[]" placeholder="{{#var:@decision}}">{{{Deceit|}}}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Deceit percentage[]" placeholder="0" value="{{{Deceit percentage|}}}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Deceit text[]" placeholder="{{#var:@support}}">{{{Deceit text|}}}</wsfield><!--<span class="add-more deceit">{{fa|plus}}</span>--></div></div><br />
}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is the Deceit Intended?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|16}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|16}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|17}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|17}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|18}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Deceit intended |text=yes |id=deceitintendedyes |value=yes |checked={{#ifeq:{{{Deceit intended|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Deceit intended |text=no |id=deceitintendedno |value=no |checked={{#ifeq:{{{Deceit intended|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Deceit intended percentage" placeholder="0" value="{{{Deceit intended percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Deceit intended text" placeholder="{{#var:@support}}">{{{Deceit intended text|}}}</wsfield><br />
}}<br />
<br />
{{#arraydefine:@deciets|{{{Motivation text|}}} }}<br />
{{#ifexpr:{{#arraysize:@deciets}} > 1 |<br />
{{#vardefine:@decietscount|1}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} {{#tag:html|</details>}} }}{{#arraymap:{{{Motivation text|}}}|,|@@@|<br />
{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<div class="original">|<div class="old-copy">}}<div class="d-flex"><wsfield type="textarea" class="form-control" name="Motivation[]" placeholder="{{#var:@decision}}">{{#explode:{{{Motivation|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Motivation percentage[]" placeholder="0" value="{{#explode:{{{Motivation percentage|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Motivation text[]" placeholder="{{#var:@support}}">{{#explode:{{{Motivation text|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield>{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<!--<span class="add-more motivation">{{fa|plus}}</span>-->}}</div></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}<br />
|}}<br />
}}<br />
|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie? (e.g., to lie, to tell the truth, to mislead, to achieve power, etc.)</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} {{#tag:html|</details>}} }}<div class="original"><div class="d-flex"><wsfield type="textarea" class="form-control" name="Motivation[]" placeholder="{{#var:@decision}}">{{{Motivation|}}}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Motivation percentage[]" placeholder="0" value="{{{Motivation percentage|}}}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Motivation text[]" placeholder="{{#var:@support}}">{{{Motivation text|}}}</wsfield><!--<span class="add-more motivation">{{fa|plus}}</span>--></div></div><br />
}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Social Acceptability for the lie?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|22}}|Acceptable|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|22}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|23}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|23}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|24}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Social acceptability |text=Acceptable |id=socialacceptabilityyes |value=Acceptable |checked={{#ifeq:{{{Social acceptability|}}}|Unacceptable||checked}} }}<br />
{{#widget:Check input |type=radio |name=Social acceptability |text=Unacceptable |id=socialacceptabilityno |value=Unacceptable |checked={{#ifeq:{{{Social acceptability|}}}|Unacceptable|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Social acceptability percentage" placeholder="0" value="{{{Social acceptability percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Social acceptability text" placeholder="{{#var:@support}}">{{{Social acceptability text|}}}</wsfield><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Label for the Lie needed to Improve the Social Acceptability? (e.g., this is a factual lie, this does not tell the whole truth, this is an intentional lie, this lie has a socially unacceptable motivation).</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:@@@|<PROP>|25}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|26}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|26}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|27}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex"><wsfield type="textarea" class="form-control" name="Label" placeholder="Label" >{{{Label|}}}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Label percentage" placeholder="0" value="{{{Label percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Label text" placeholder="{{#var:@support}}">{{{Label text|}}}</wsfield><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<wsfield type="submit" class="btn btn-submit" value="Save" /><br />
}}</wsform><!--<br />
<br />
<br />
-->|<div class="m-5 alert alert-danger">Not permitted</div>}}<!-- end allowed<br />
<br />
-->{{#tag:html|<script><br />
//var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
//for(i = 0; i < addMore.length; ++i){<br />
// addMore[i].addEventListener('click', addMoreInputs, false);<br />
//}<br />
//var newDeceit = document.querySelector('.add-more.deceit').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.motivation').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('deceit')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function copyVerdict(btn){<br />
<br />
var wrapper = btn.closest('.col-md-8')<br />
var verdict = btn.closest('.verdict-item')<br />
var no = verdict.querySelector('.truth-no')<br />
var yes = verdict.querySelector('.truth-yes')<br />
var check_no = wrapper.querySelector('.checkinput-button label [value="no"]')<br />
var check_yes = wrapper.querySelector('.checkinput-button label [value="yes"]')<br />
var check_accept = wrapper.querySelector('.checkinput-button label [value="Acceptable"]')<br />
var check_unaccept = wrapper.querySelector('.checkinput-button label [value="Unacceptable"]')<br />
var precentage = verdict.querySelector('.inner-percentage')<br />
var precantage_input = wrapper.querySelector('[type="number"]')<br />
var verdict_text = verdict.querySelectorAll('.bg-white')<br />
var support_input = wrapper.querySelector('[placeholder="{{#var:@support}}"]')<br />
var decision_input = wrapper.querySelector('[placeholder="{{#var:@decision}}"]')<br />
var label_input = wrapper.querySelector('[placeholder="Label"]')<br />
<br />
<br />
if(no){<br />
if(check_no){<br />
check_no.click()<br />
}<br />
}<br />
<br />
if(yes){<br />
if(check_yes){<br />
check_yes.click()<br />
}<br />
}<br />
<br />
if(no){<br />
if(check_unaccept){<br />
check_unaccept.click()<br />
}<br />
}<br />
<br />
if(yes){<br />
if(check_accept){<br />
check_accept.click()<br />
}<br />
}<br />
<br />
if(precentage){<br />
precantage_input.value = precentage.innerText.replace('%', '')<br />
}<br />
<br />
if(decision_input){<br />
decision_input.value = verdict_text[0].innerText<br />
support_input.value = verdict_text[1].innerText<br />
}else if(label_input){<br />
label_input.value = verdict_text[0].innerText<br />
support_input.value = verdict_text[1].innerText<br />
}else{<br />
support_input.value = verdict_text[0].innerText<br />
}<br />
<br />
}<br />
<br />
<br />
</script>}}<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.js&diff=2482
MediaWiki:Common.js
2021-11-26T08:55:43Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* Any JavaScript here will be loaded for all users on every page load. <script>*/<br />
<br />
<br />
<br />
$(document).ready(function () {<br />
<br />
createPageTogglers = document.querySelectorAll('[data-creatpage]');<br />
<br />
if(createPageTogglers && createPageTogglers.length > 0){<br />
<br />
createPageTogglers.forEach(function(el){<br />
<br />
el.addEventListener(<br />
"click",<br />
function () {<br />
createPage( )<br />
})<br />
})<br />
<br />
}<br />
<br />
})<br />
<br />
console.log('uyfuyfuy' );<br />
var createPage = function (current_namespace, current_pagename) {<br />
console.log("working");<br />
<br />
var hiddenInput = document.querySelector('#time-slot-field');<br />
<br />
mw.loader.using(["oojs-ui-windows", 'mediawiki.widgets.DateInputWidget']).then(function () {<br />
// Example: Using getSetupProcess() to configure a window with data passed<br />
// at the time the window is opened.<br />
<br />
// Make a subclass of ProcessDialog<br />
function PageCreateDialog(config) {<br />
PageCreateDialog.super.call(this, config);<br />
}<br />
OO.inheritClass(PageCreateDialog, OO.ui.ProcessDialog);<br />
<br />
// Specify a name for .addWindows()<br />
PageCreateDialog.static.name = "createPageDialog";<br />
PageCreateDialog.static.title = "Select a Time Slot";<br />
// Specify the static configurations: title and action set<br />
PageCreateDialog.static.actions = [<br />
{<br />
flags: "primary",<br />
label: "Continue",<br />
action: "open",<br />
},<br />
{<br />
flags: "safe",<br />
label: "Cancel",<br />
},<br />
];<br />
<br />
// Customize the initialize() function to add content and layouts:<br />
PageCreateDialog.prototype.initialize = function () {<br />
var dialol = this;<br />
PageCreateDialog.super.prototype.initialize.call(this);<br />
this.panel = new OO.ui.PanelLayout({<br />
padded: true,<br />
expanded: false,<br />
});<br />
this.content = new OO.ui.FieldsetLayout();<br />
<br />
<br />
var date = new Date();<br />
<br />
// month = date.getMonth() + 1;<br />
<br />
this.urlInput = new mw.widgets.DateInputWidget({<br />
value: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()<br />
});<br />
<br />
this.field = new OO.ui.FieldLayout(this.urlInput, {<br />
label: "Day",<br />
align: "top",<br />
});<br />
<br />
var times = [];<br />
for (var i = 10; i < 22; i++) {<br />
var hour = i;<br />
var pm = 'AM';<br />
if (i > 12) {<br />
hour = i - 12;<br />
pm = 'PM';<br />
}<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':00' + ' - ' + hour + ':15 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':15' + ' - ' + hour + ':30 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':30' + ' - ' + hour + ':45 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':45' + ' - ' + (hour + 1) + ':00 ' + pm<br />
})<br />
);<br />
}<br />
<br />
this.slotSelect = new OO.ui.ButtonSelectWidget( {<br />
items: <br />
times<br />
} );<br />
<br />
this.slotsWrapper = new OO.ui.FieldLayout( new OO.ui.Widget( {<br />
content: [<br />
new OO.ui.HorizontalLayout( {<br />
items: [<br />
this.slotSelect<br />
]<br />
})<br />
]<br />
}), {<br />
label: "Time",<br />
align: "top",<br />
});<br />
<br />
<br />
<br />
<br />
this.content.addItems([this.field, this.slotsWrapper]);<br />
this.panel.$element.append(this.content.$element);<br />
this.$body.append(this.panel.$element);<br />
var that = this;<br />
this.urlInput.on( 'change', function () {<br />
// The value will always be a valid date or empty string, malformed input is ignored<br />
<br />
that.updateSlots();<br />
<br />
} );<br />
<br />
};<br />
<br />
<br />
PageCreateDialog.prototype.updateSlots = function () {<br />
<br />
var that = this;<br />
var date = that.urlInput.getValue().split('-');<br />
<br />
<br />
var month = date[1];<br />
var year = date[0];<br />
var day = date[2];<br />
<br />
<br />
<br />
<br />
that.slotSelect.items.forEach(function(item){<br />
item.setDisabled(false);<br />
})<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Slot month::' + month + ']][[Slot day::' + day + ']][[Slot year::' + year + ']]|?Slot|limit=500',<br />
formatversion: 2,<br />
format: 'json'<br />
}<br />
var api = new mw.Api;<br />
api.post(params).done(function(data){<br />
if (data.query.results) {<br />
console.log(data.query.results)<br />
Object.entries(data.query.results).forEach(function(slot){<br />
var date = slot[1].printouts.Slot[0].fulltext || slot[1].printouts.Slot[0];<br />
var time = date.split('/')[1];<br />
var item = that.slotSelect.getItemFromLabel(time);<br />
if(item){<br />
item.setDisabled(true);<br />
}<br />
})<br />
// ["Workflow/90"].printouts.Slot[0]<br />
}<br />
})<br />
// ask query function here, and disbale results<br />
// selectItemByLabel(label).setDisabled(true);<br />
<br />
<br />
<br />
<br />
};<br />
// Specify any additional functionality required by the window (disable opening an empty URL, in this case)<br />
<br />
// Specify the dialog height (or don't to use the automatically generated height).<br />
PageCreateDialog.prototype.getBodyHeight = function () {<br />
// Note that "expanded: false" must be set in the panel's configuration for this to work.<br />
// When working with a stack layout, you can use:<br />
// return this.panels.getCurrentItem().$element.outerHeight( true );<br />
return this.panel.$element.outerHeight(true) + 200;<br />
};<br />
<br />
// Use getSetupProcess() to set up the window with data passed to it at the time<br />
// of opening (e.g., url: 'http://www.mediawiki.org', in this example).<br />
PageCreateDialog.prototype.getSetupProcess = function (data) {<br />
data = data || {};<br />
var nuthis = this;<br />
return PageCreateDialog.super.prototype.getSetupProcess<br />
.call(this, data)<br />
.next(function () {<br />
// Set up contents based on data<br />
var val = hiddenInput.value;<br />
if (val) {<br />
var split = val.split('/');<br />
nuthis.urlInput.setValue(split[0]);<br />
nuthis.slotSelect.selectItemByLabel(split[1])<br />
}<br />
nuthis.updateSlots();<br />
<br />
}, this);<br />
};<br />
var boiler = "";<br />
// Specify processes to handle the actions.<br />
PageCreateDialog.prototype.getActionProcess = function (action) {<br />
var nuthis = this;<br />
if (action === "open") {<br />
// Create a new process to handle the action<br />
return new OO.ui.Process(function () {<br />
<br />
var day = nuthis.urlInput.getValue();<br />
var time = nuthis.slotSelect.findSelectedItem().label;<br />
<br />
console.log(day, time)<br />
hiddenInput.value = day + '/' + time;<br />
var button = document.querySelector('#time-slot-button');<br />
button.innerText = day + ' • ' + time;<br />
return 800;<br />
}).next(function(){<br />
nuthis.close({action: action});<br />
return true;<br />
})<br />
}<br />
// Fallback to parent handler<br />
return PageCreateDialog.super.prototype.getActionProcess.call(this, action);<br />
};<br />
<br />
// Use the getTeardownProcess() method to perform actions whenever the dialog is closed.<br />
// This method provides access to data passed into the window's close() method<br />
// or the window manager's closeWindow() method.<br />
PageCreateDialog.prototype.getTeardownProcess = function (data) {<br />
return PageCreateDialog.super.prototype.getTeardownProcess<br />
.call(this, data)<br />
.first(function () {<br />
// Perform any cleanup as needed<br />
}, this);<br />
};<br />
<br />
// Create and append a window manager.<br />
var windowManager = new OO.ui.WindowManager();<br />
$(document.body).append(windowManager.$element);<br />
<br />
// Create a new process dialog window.<br />
var createPageDialog = new PageCreateDialog();<br />
<br />
// Add the window to window manager using the addWindows() method.<br />
windowManager.addWindows([createPageDialog]);<br />
<br />
// Open the window!<br />
windowManager.openWindow(createPageDialog);<br />
});<br />
};<br />
<br />
<br />
<br />
/***<br />
* REMOVE FILE<br />
*<br />
**/<br />
<br />
document.querySelectorAll('[data-removefile]').forEach(function(el){<br />
el.addEventListener('click', function(){<br />
console.log(el.dataset.removefile)<br />
<br />
var r = confirm("Are you sure?");<br />
if (r == true) {<br />
var params = {<br />
action: 'delete',<br />
title: el.dataset.removefile,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data );<br />
el.remove();<br />
} );<br />
} <br />
})<br />
})<br />
<br />
<br />
/**<br />
* POLLING FOR USER PAGES<br />
**/<br />
<br />
var pollWrapper = document.querySelector('[data-poll]');<br />
<br />
var fps = 30;<br />
var now;<br />
var then;<br />
var interval = 100000/fps;<br />
var delta;<br />
<br />
function poll(now) {<br />
if (!then) { then = now; }<br />
requestAnimationFrame(poll);<br />
delta = now - then;<br />
<br />
if (delta > interval) {<br />
then = now - (delta % interval);<br />
<br />
<br />
if(pollWrapper.dataset.poll == 'Messages'){<br />
goPolling()<br />
}else{<br />
workflowPolling()<br />
} <br />
}<br />
}<br />
<br />
<br />
<br />
if(pollWrapper){<br />
poll();<br />
}<br />
<br />
<br />
<br />
<br />
<br />
var polledWorkflows = false;<br />
<br />
function workflowPolling(){<br />
var params = {<br />
action: 'ask',<br />
query: '[[Workflow::' + pollWrapper.dataset.workflow + ']]|?Modification date',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var flows = Object.entries(data.query.results).map(function(entrie){<br />
return entrie[1].printouts['Modification date'][0].timestamp<br />
})<br />
if(polledWorkflows && flows.sort().join() != polledWorkflows.sort().join()){<br />
console.log('found something new', flows);<br />
console.log('polled', polledWorkflows);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledWorkflows = flows<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
var polledJurors = false;<br />
<br />
function goPolling(){<br />
var user = mw.config.values.wgRelevantUserName;<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Class::Workflow]][[Random juror::User:' + user + ']] OR [[Random judge::User:' + user + ']]',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var newKeys = Object.keys(data.query.results);<br />
if(polledJurors && newKeys.sort().join() != polledJurors.sort().join()){<br />
console.log('found something new', newKeys);<br />
console.log('polled', polledJurors);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledJurors = newKeys;<br />
}<br />
})<br />
}<br />
<br />
function reloadSection(){<br />
<br />
var template = pollWrapper.dataset.poll;<br />
var paramters = pollWrapper.dataset.parameters.replaceAll('^', '|')<br />
var params = {<br />
action: 'parse',<br />
text: '{{' + template + '|' + paramters + '|Fullpagename=' + mw.config.values.wgPageName.replaceAll('_', ' ') + '}}',<br />
contentmodel: 'wikitext',<br />
wrapoutputclass: '',<br />
disableeditsection: true,<br />
disablelimitreport: true,<br />
disabletoc: true,<br />
formatversion: 2,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.parse){<br />
if(template == 'Messages'){<br />
$(pollWrapper).html(data.parse.text)<br />
} else {<br />
$('#mw-content-text').html(data.parse.text)<br />
}<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
<br />
<br />
function logmeout(){<br />
<br />
var params = {<br />
action: 'logout',<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data, 'we logged you out' );<br />
window.location = mw.config.values.wgServer + '/index.php/Main_Page';<br />
} );<br />
<br />
} <br />
<br />
<br />
<br />
$( document ).ready(function() {<br />
<br />
<br />
if ($('.WSShowOnSelect') ) {<br />
WsShowOnSelect();<br />
}<br />
<br />
$('body.action-edit #wpTextbox1, body.action-submit #wpTextbox1').keydown(function(event) {<br />
var x = event.keyCode;<br />
if (x == 13 ) {<br />
if(!event.shiftKey){<br />
var insert = document.execCommand('insertText', false, '<!-- \n -->');<br />
if(insert){<br />
event.preventDefault();<br />
$('#wpTextbox1').focus()<br />
insert<br />
}<br />
}<br />
}<br />
})<br />
<br />
<br />
<br />
<br />
// Start of esc save<br />
<br />
<br />
<br />
$('body.action-edit, body.action-submit').keydown(function() {<br />
var x = event.keyCode;<br />
if (x == 27) {<br />
$.ajax({<br />
url :'/api.php?action=query&meta=tokens&format=json',<br />
type: 'GET',<br />
dataType: 'json',<br />
success : function(result){<br />
var token = result.query.tokens.csrftoken;<br />
<br />
$("input[name='wpEditToken']").attr("value", token );<br />
<br />
saveEdit();<br />
<br />
}<br />
});<br />
}else{<br />
mw.confirmCloseWindow();<br />
$('#wpSave, #wpPreview, #wpDiff').on('click', function(){<br />
$( window ).off( 'beforeunload' );<br />
})<br />
}<br />
<br />
})<br />
<br />
if($('body').hasClass('action-submit')){<br />
$('#top').prepend('<button class="btn btn-success enable-live-mode">Enable live mode</button>');<br />
$(document).on('click','.enable-live-mode', function(){<br />
if($(this).hasClass('btn-success')){<br />
liveMode();<br />
$(this).removeClass('btn-success');<br />
$(this).text('Live mode is on');<br />
}else{<br />
$(this).addClass('btn-success');<br />
$('body.action-submit textarea').off("change keyup paste");<br />
$(this).text('Enable live mode');<br />
}<br />
<br />
});<br />
}<br />
});<br />
<br />
window.saveEdit = function() {<br />
$.ajax({<br />
url : $('form.mw-editform').attr('action'),<br />
type : 'POST',<br />
data :$('form.mw-editform').serialize(),<br />
success : function(html) {<br />
$( window ).off( 'beforeunload' );<br />
mw.notify( 'Saved' );<br />
if($('body').hasClass('action-submit')){<br />
var parser = new DOMParser();<br />
var doc = parser.parseFromString(html, "text/html");<br />
var elem = doc.querySelectorAll('.mw-content-ltr')[0];<br />
$('.mw-content-ltr').html(elem);<br />
}<br />
}<br />
})<br />
}; <br />
<br />
window.liveMode = function() {<br />
var oldVal = "";<br />
$('body.action-submit textarea').on("change keyup paste", function() {<br />
var currentVal = $(this).val();<br />
if(currentVal == oldVal) {<br />
return; //check to prevent multiple simultaneous triggers<br />
}<br />
<br />
oldVal = currentVal;<br />
var text = encodeURIComponent($('textarea').val());<br />
<br />
$.ajax({<br />
url: '/api.php?action=parse&format=json&formatversion=2&title=New&text='+text+'&pst=&prop=text%7Cmodules%7Cjsconfigvars&preview=true&disableeditsection=true&uselang=en',<br />
dataType: 'json',<br />
success: function (x) {<br />
$('#wikiPreview').html(x.parse.text);<br />
} <br />
});<br />
});<br />
};<br />
/* End of Esc Save */<br />
<br />
<br />
/***** WSForm: loading Select2 ****/<br />
$( document ).ready(function() {<br />
if ($('select[data-inputtype="ws-select2"]')[0]) {<br />
mw.loader.load('/extensions/WSForm/select2.min.css', 'text/css');<br />
$.getScript('/extensions/WSForm/select2.min.js').done(function() {<br />
$('select[data-inputtype="ws-select2"]').each(function() {<br />
var selectid = $(this).attr('id');<br />
var selectoptionsid = 'select2options-' + selectid;<br />
var select2config = $("input#" + selectoptionsid).val();<br />
var F = new Function(select2config);<br />
return (F());<br />
});<br />
});<br />
}<br />
});<br />
/* End of WSForm: Select2 */<br />
<br />
(function($) {<br />
$.fn.autogrow = function() {<br />
return this.each(function() {<br />
var textarea = this;<br />
$.fn.autogrow.resize(textarea);<br />
$(textarea).focus(function() {<br />
textarea.interval = setInterval(function() {<br />
$.fn.autogrow.resize(textarea);<br />
}, 500);<br />
}).blur(function() {<br />
clearInterval(textarea.interval);<br />
});<br />
});<br />
};<br />
$.fn.autogrow.resize = function(textarea) {<br />
var lineHeight = parseInt($(textarea).css('line-height'), 10);<br />
var lines = textarea.value.split('\n');<br />
var columns = textarea.cols;<br />
var lineCount = 0;<br />
$.each(lines, function() {<br />
lineCount += Math.ceil(this.length / columns) || 1;<br />
});<br />
var height = lineHeight * (lineCount + 1);<br />
$(textarea).css('height', height);<br />
};<br />
})(jQuery);<br />
<br />
$('textarea.form-control').autogrow();<br />
<br />
<br />
/* WSSHOWONSELECT */<br />
/**<br />
* applying show on select on the page and make sure everyting will be handled as needed<br />
*/<br />
function WsShowOnSelect() {<br />
var selectArray = [];<br />
$('.WSShowOnSelect').find('[data-wssos-show]').each(function (index, elm) {<br />
if ( $(elm).is('option') ) {<br />
var isInArray = false;<br />
var selectParent = $(elm).parent()[0];<br />
for ( var i = 0; i < selectArray.length; i++ ) {<br />
if ( $(selectParent).is($(selectArray[i])) ) {<br />
isInArray = true;<br />
}<br />
}<br />
if ( !isInArray ) {<br />
selectArray.push(selectParent);<br />
handleSelect(selectParent);<br />
}<br />
} else if ( $(elm).is('input[type=radio]') ) {<br />
handleRadio(elm);<br />
} else if ( $(elm).is('input[type=checkbox]') ) {<br />
handleCheckbox(elm);<br />
} else if ( $(elm).is('button') ) {<br />
handleButton(elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the radio button changes, show what is needed<br />
* @param radioElm<br />
*/<br />
function handleRadio(radioElm) {<br />
var pre_wssos_value = $(radioElm).data('wssos-show');<br />
var pre_parent_wssos = $(radioElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(radioElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(radioElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( radioElm.checked ) {<br />
$(pre_wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(pre_wssos_elm);<br />
} else {<br />
putAllTypesNameInData(pre_wssos_elm);<br />
}<br />
$(pre_parent_wssos).find('input[type=radio][name="'+ radioElm.name +'"]').on('change', function () {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
$(parent_wssos).find('input[name="'+this.name+'"][type="radio"]').each(function(index, radiobtn) {<br />
var radio_hide_data_attr = $(radiobtn).data('wssos-show');<br />
$(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]').addClass('hidden');<br />
putAllTypesNameInData($(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]'));<br />
});<br />
<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the checkbox changes, show what is needed<br />
* @param checkElm<br />
*/<br />
function handleCheckbox(checkElm) {<br />
var pre_wssos_value = $(checkElm).data('wssos-show');<br />
var pre_parent_wssos = $(checkElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(checkElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(checkElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( checkElm.checked ) {<br />
pre_wssos_elm.removeClass('hidden');<br />
// set the dataset value of data-name-attribute back in the name attribute<br />
putAllTypesDataInName(pre_wssos_elm);<br />
<br />
// set the name value of the unchecked element in the value of data-name-attribute and remove the name attribute<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
putAllTypesNameInData(pre_unchecked_elm);<br />
}<br />
} else {<br />
// set data-name-attribute to the value of name attribute and remove the name attribute<br />
putAllTypesNameInData(pre_wssos_elm);<br />
<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
$(pre_unchecked_elm).removeClass('hidden');<br />
// set the name attribute to the value of data-name-attribute<br />
putAllTypesDataInName(pre_unchecked_elm);<br />
}<br />
}<br />
$(checkElm).on('change', function(e) {<br />
e.stopPropagation();<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
<br />
if ( $(this).has('data-wssos-show-unchecked') ) {<br />
var wssos_unchecked_value = $(this).data('wssos-show-unchecked');<br />
var wssos_unchecked_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_unchecked_value+'"]');<br />
if ( this.checked ) {<br />
wssos_unchecked_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_unchecked_elm);<br />
} else {<br />
wssos_unchecked_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_unchecked_elm);<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* handle the select box changes to show what is needed on select<br />
* @param selectElm<br />
*/<br />
function handleSelect(selectElm) {<br />
var selectVal = $(selectElm).val();<br />
$(selectElm).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(option).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected || $(option).val() === selectVal) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
<br />
$(selectElm).on('change', function () {<br />
$(this).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
});<br />
}<br />
<br />
function handleButton(btnElm) {<br />
var pre_wssos_value = $(this).data('wssos-show');<br />
var pre_parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
<br />
// set up the start and make sure the element is hidden<br />
$(pre_wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(pre_wssos_elm);<br />
// add on click listener to the button<br />
$(btnElm).on('click', function(e) {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
<br />
// possibility to hide the wanted element back if an option<br />
if ( !$(wssos_elm).hasClass('hidden') ) {<br />
$(wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
} else {<br />
$(wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* find all different types which name attribute should go to the dataset<br />
* @param elm<br />
*/<br />
function putAllTypesNameInData(elm) {<br />
putNameAttrValueInDataset($(elm).find('input,select,textarea'));<br />
putRequiredInDataset($(elm).find('input,select,textarea'));<br />
}<br />
<br />
<br />
/**<br />
* find all different types which data-attribute should go to the name-attribute<br />
* @param elm<br />
*/<br />
function putAllTypesDataInName(elm) {<br />
putDatasetValueBackInName($(elm).find('input,select,textarea'));<br />
putDatasetInRequired($(elm).find('input,select,textarea'));<br />
}<br />
<br />
/**<br />
* set the name attribute value to the dataset data-name-attribute, remove the name attribute<br />
* @param elm<br />
*/<br />
function putNameAttrValueInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).attr('name') !== '' ) {<br />
var name = $(elm).attr('name');<br />
if (name) {<br />
$(elm).attr('data-name-attribute', name);<br />
$(elm).removeAttr('name');<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* set the name attribute to the value of the data-name-attribute<br />
* @param elm<br />
*/<br />
function putDatasetValueBackInName($elm) {<br />
$.each($elm, function(index, elm) {<br />
if ( $(elm).attr('data-name-attribute') !== '' ) {<br />
var datasetName = $(elm).data('name-attribute');<br />
if (datasetName) {<br />
$(elm).attr('name', datasetName);<br />
}<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* set the required attr in the dataset data-ws-required<br />
* @param $elm<br />
*/<br />
function putRequiredInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).is(':required') ) {<br />
$(elm).attr('data-ws-required', true);<br />
$(elm).prop('required', false);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* if the element has data-ws-required the make the element required<br />
* @param $elm<br />
*/<br />
function putDatasetInRequired($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).data('ws-required') ) {<br />
$(elm).prop('required', true);<br />
}<br />
})<br />
}<br />
<br />
/* END OF WSSHOWONSELECT */<br />
$( document ).ready(function() {<br />
if( $('.redirect-link').length > 0 ) {<br />
$('.redirect-link a')[0].click();<br />
}<br />
})</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Edit_case&diff=2423
Edit case
2021-11-22T08:43:10Z
<p>Maintenance script: Fill database</p>
<hr />
<div>{{#if:{{#urlget:id}}|<br />
{{#vardefine:allowed|{{#ifeq:{{#show:Workflow/{{#urldecode:{{#urlget:id}} }}|?Filed by}}|User:{{CURRENTLOGGEDUSER}}|yes}}{{#ifsysop:yes}} }}<br />
{{#if:{{#var:allowed}}|<br />
{{#vardefine:@info|{{#ask:[[Workflow/{{#urldecode:{{#urlget:id}} }}]]|?Lie|?Markup|?Topic|?Description|?Locations|?Accusation|?uuid|?Meeting|link=none|format=array}} }}<br />
<br />
<br />
<br />
<br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#case-form input, #case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
select:not([multiple]) {<br />
padding: 0 1.5em;<br />
background-color: #f2f2f2;<br />
border-radius: 30px;<br />
-webkit-appearance: none;<br />
-moz-appearance: none;<br />
background-position: right 50%;<br />
background-position-x: right;<br />
background-position-y: 50%;<br />
background-repeat: no-repeat;<br />
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);<br />
line-height: 1;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#case-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
textarea{<br />
min-height:200px;<br />
}<br />
[contentEditable=true]:empty:not(:focus):before{<br />
content:attr(data-placeholder);<br />
color:grey;<br />
}<br />
</style>}}<br />
<br />
</div><br />
<br />
<wsform action="addToWiki" id="case-form" class="box" enctype="multipart/form-data" mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}} }}" ><!-- mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}}|msg=casestarted}}" --><br />
{{#vardefine:pid|{{PAGEID:Workflow/{{#urldecode:{{#urlget:id}} }} }} }}<br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Lie" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Topic" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Description" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Accusation" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Markup" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Locations" /><br />
<wsedit target="{{#var:pid}}" template="Workflow" formfield="Meeting" /><br />
<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2={{#tag:wsfield||type=text|class=form-control mt-2|name=Lie|placeholder=Short phrase|value={{#explode:{{#var:@info}}|<PROP>|1}} }}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3><br />
|2={{#tag:wsfield||type=text|class=form-control mt-2|name=Topic|value={{#explode:{{#var:@info}}|<PROP>|3}} }}<br />
}} <br />
<br />
<h1>The Lie and Context</h1><!-- <br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Accusation with Evidence</h3><br />
|2={{#tag:wsfield|{{#explode:{{#var:@info}}|<PROP>|6}}|placeholder=Text with links to evidence|type=textarea|class=form-control mt-2|name=Accusation}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-mark dark-blue" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark " onclick="unformat()">{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup|text={{#explode:{{#var:@info}}|<PROP>|2}} }}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2={{#arraymap:{{#explode:{{#var:@info}}|<PROP>|5}}|,|@@@|{{#tag:wsfield||type=text|class=form-control mt-2|name=Locations[]|value=@@@ }}|}}<br />
<br />
<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class="">{{#tag:wsfield||type=text|class=form-control mt-2|name=Meeting|placeholder=Skype/Zoom/...|value={{#explode:{{#var:@info}}|<PROP>|8}} }}</div><br />
}} <br />
<br />
<div ><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="case-img-wrapper"><!--<br />
-->{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#explode:{{#var:@info}}|<PROP>|7}}]]|link=none}}|,|@@@|<span class="btn position-relative img-thumbnail m-1" data-removefile="@@@"> <span class=" position-absolute bg-white p-1">{{fa|times }}</span>[[@@@|link=|70px]]</span>|}}<!--<br />
<br />
-->{{#Widget:Multi upload|edit=true|id={{#explode:{{#var:@info}}|<PROP>|7}} }}</div><br />
}}</div><br />
<!--{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}--><!-- <br />
--><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<wsfield type="textarea" name="Markup" id="real-field" class="d-none" /><br />
<wsfield type="button" class="btn btn-green float-right" id="upload-button" onclick="uploadFiles()">Change case</wsfield><br />
<wsfield type="submit" id="real-submit" class="d-none" value="niks" /><br />
}}<!-- <br />
--><br />
</wsform><br />
{{#tag:html|<script><br />
var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
for(i = 0; i < addMore.length; ++i){<br />
addMore[i].addEventListener('click', addMoreInputs, false);<br />
}<br />
//var newDeceit = document.querySelector('.add-more.lies').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.facts').closest('.col-md-8').querySelector('.original').innerHTML;<br />
var newLocation = document.querySelector('.add-more.locations').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('lies')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
if(this.classList.contains('locations')){<br />
newDiv.innerHTML = newLocation;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
}<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function submitRealField(){<br />
document.getElementById('real-field').value = document.getElementById('fake-field').innerHTML;<br />
setTimeout(function(){<br />
document.getElementById('real-submit').click()<br />
}, 500)<br />
}<br />
<br />
<br />
<br />
<br />
</script>}}<br />
}} }}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Suit&diff=2424
Template:Suit
2021-11-22T08:43:10Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Suit''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Suit<br />
|Case ID=<br />
|Title=<br />
|Workflow=<br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
{{#if:{{{Case ID|}}}|<br />
{{#set:Class=Suit|Title={{{Title|}}}|Type={{{Type|Individual}}}|Case ID={{{Case ID|}}}|Workflow={{{Workflow|}}} }}<br />
}}<br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 {<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
.suit-info .row-formitemresponsive > div{<br />
align-self: center;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
.row-formitemresponsive{<br />
padding: 7px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.btn-green {<br />
background: #339966;<br />
color: white;<br />
border-radius:30px;<br />
padding:3px 24px;<br />
font-size:20px;<br />
}<br />
summary{<br />
list-style-image:url({{filepath:Bullet.svg}});<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
summary::-webkit-details-marker {<br />
background: url({{filepath:Bullet.svg}});<br />
color: transparent;<br />
}<br />
summary:focus {<br />
border: none;<br />
outline: none;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#verdict-form input {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
border: none;<br />
padding-left: 24px;<br />
box-shadow: none;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#verdict-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive{<br />
padding: 7px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.verdict-item{<br />
padding: 7px 0;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
div .verdict-item:first-child{<br />
border-top: none;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.vi{<br />
border-radius: 30px;<br />
padding: 7px 25px;<br />
background: #f2f2f2;<br />
}<br />
.truth-no{<br />
background:#990000;<br />
color:white;<br />
}<br />
.truth-yes{<br />
background:#339966;<br />
color:white;<br />
<br />
}<br />
.verdict-type {<br />
writing-mode: vertical-lr;<br />
text-orientation: mixed;<br />
transform: rotate(180deg);<br />
}<br />
.verdict-wrapper {<br />
border-left: 2px solid #bdbcbc;<br />
padding-left: 14px;<br />
margin-left: 14px;<br />
}<br />
.inner-percentage {<br />
background: #f2f2f2;<br />
padding: 0 7px;<br />
border-radius: 40px;<br />
margin: 0 -16px;<br />
}<br />
<br />
.flex-reverse{<br />
display: flex;<br />
flex-direction: row-reverse;<br />
}<br />
</style>}}</div><!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#vardefine:@class|{{#ask:[[Class::Workflow]][[Class case IDs::{{{Workflow|}}}]]|format=array|link=none}} }} {{#if:{{#var:@class}}|This suit is part of a class: {{#ask:[[Class::Suit]][[Workflow::{{#var:@class}}]]}}|<br />
<br />
{{#vardefine:@type|{{#show:{{{Workflow|}}}|?Type|link=none}} }}<br />
<br />
<div class="row"><div class="col-12 col-lg-8 box">{{#tag:html|<h1><span>{{{Title|}}}</span><!--<span>{{#widget:link|text=Suit history|href=#|type=a|class=btn-green}}</span>--></h1>}}<br />
<div class="suit-info">{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Case ID</b><br />
|2={{{Case ID|}}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Type</b><br />
|2={{#var:@type}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Status</b><br />
|2={{#vardefine:@workflow|{{#ask:[[{{{Workflow|}}}]]|?Stage|?Locations|?Topic|?Filed by|?Jurors|?Juror amount|?Description|?Markup|?Slot|?Settlement date|?Accusation|format=array|link=none}} }}{{#explode:{{#var:@workflow}}|<PROP>|1}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors</b><br />
|2={{#arraydefine:@jurors|{{#explode:{{#var:@workflow}}|<PROP>|5}}|<MANY>}}{{#arraysize:@jurors}} / {{#explode:{{#var:@workflow}}|<PROP>|6}} accepted<br />
}}<br />
<br />
<br></div></div><div class="col-12 col-lg-4 ">{{#if:{{CURRENTLOGGEDUSER}}|{{#if:{{#vardefineecho:@participantpage|{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]][[User::User:{{CURRENTLOGGEDUSER}}]]|link=none}} }}|<!--<br />
-->{{#vardefine:@participantrole|{{#show:{{#var:@participantpage}}|?Role|link=none}} }}<div class="info-box "><br />
<h2>{{#switch:{{#var:@participantrole}}|Juror={{Fa|balance-scale}}|Judge={{Fa|gavel}}|Plaintiff={{fa|book}} }}</h2><br />
<div ><b>[[{{#var:@participantpage}}|Your participant page]]</b></div><br />
</div>}} }}<!--<br />
<br />
--><div class="info-box "><br />
<h2>Docket</h2><br />
<div ><b>Suit date</b><br>{{#if:{{#explode:{{#var:@workflow}}|<PROP>|9}}|{{#explode:{{#var:@workflow}}|<PROP>|9}}|undecided }}</div><br />
<div ><b>Settlement date</b><br>{{#if:{{#explode:{{#var:@workflow}}|<PROP>|10}}|{{#time:d M Y|{{#explode:{{#var:@workflow}}|<PROP>|10}} }}|undecided }}</div><br />
<div ><b>Jurors needed</b><br>{{#explode:{{#var:@workflow}}|<PROP>|6}}</div><br />
</div><!-- <br />
-->{{#ifsysop:<div class="info-box "><br />
<h2>Sysop tools</h2><!-- <br />
--><div ><b>Workflow</b><br>[[{{{Workflow|}}}]]</div><!--<br />
--><div ><b>Participants</b><br>{{#arraymap:{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]]|?Role|?Name|format=array|link=none}}|,|@@@|[[{{#explode:@@@|<PROP>|0}}|{{#if:{{#explode:@@@|<PROP>|2}}|{{#explode:@@@|<PROP>|2}}|{{#explode:@@@|<PROP>|1}}}}]]|<br>}}</div><!--<br />
--></div>}}<!-- <br />
--></div></div><br />
<br />
{{#ifeq:{{#var:@type}}|Class|<br />
{{#arraydefine:@cases|{{#show:{{{Workflow|}}}|?Class case IDs|link=none}} }}<!-- <br />
--><h1>Class information</h1>{{#if:{{#ask:[[Class::Verdict]][[Workflow::{{{Workflow|}}}]][[Role::Judge]]}}|<br><!--<br />
--><ul class="nav nav-tabs"><!--<br />
--><li class="active nav-item">{{#widget:link|datatoggle=pill|href=#mainid|text=Verdicts|type=a|class=nav-link active}}</li><br />
{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<li>{{#widget:link|datatoggle=pill|href=#{{#replace:{{#explode:@@@|<PROP>|1}}| |_}}|text={{#explode:@@@|<PROP>|1}}|type=a|class=nav-link}}</li> |}}<br />
</ul><!--<br />
<br />
--><div class="tab-content"><!--<br />
--><div id="mainid" class="tab-pane active"><!--<br />
-->{{verdict results|id={{{Case ID|}}} }}<!--<br />
--></div><!--<br />
-->{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<div id="{{#explode:@@@|<PROP>|1}}" class="tab-pane fade"><!--<br />
-->{{verdict results|id={{{Case ID|}}}|Context={{#explode:@@@|<PROP>|1}}}}<!--<br />
--></div>|}}<!--<br />
--></div> }}<br />
<h1>Cases</h1><br />
<h2>This Class suit contains {{#arraysize:@cases}} cases</h2><br />
<ul class="nav nav-tabs"><br />
{{#vardefine:@casecounter|0}}<br />
{{#arraymap:{{#arrayprint:@cases}}|,|@@@|<br />
<li class="active nav-item">{{#widget:link|datatoggle=pill|href=#cases-{{#var:@casecounter}}|text={{#show:@@@|?Lie|link=none}}|type=a|class=nav-link {{#ifeq:{{#var:@casecounter}}|0|active}} }}</li><br />
{{#vardefine:@casecounter|{{#expr: {{#var:@casecounter}} + 1 }} }} |}}<br />
</ul><br />
{{#vardefine:@casecounter2|0}}<br />
<div class="tab-content"><br />
{{#arraymap:{{#arrayprint:@cases}}|,|@@@|<!--<br />
--><div id="cases-{{#var:@casecounter2}}" class="tab-pane {{#ifeq:{{#var:@casecounter2}}|0|active}}"><!--<br />
-->{{#vardefine:@workflow|{{#ask:[[@@@]]|?Lie|?Case ID|?Topic|?Filed by|?Jurors|?Juror amount|?Description|?Markup|?Locations|?Accusation|?uuid|format=array|link=none}} }}<!--<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Lie</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|1}}<br />
}}<!--<br />
--><div class="row"><br />
<div class="col-lg-12 col-12 box mt-0"><br />
<h2>The Case</h2><br />
{{Item responsive |Cols=4-8<br />
|1=<b>Lie category</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|3}}<br />
}}<br />
{{Item responsive |Cols=4-8<br />
|1=<b>The Plaintiff Accusation with Evidence</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|10}}<br />
}}<!-- <br />
-->{{Item responsive |Cols=4-8<br />
|1=<b>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span> </b><br />
|2=<div class="lie-input">{{#explode:{{#var:@workflow}}|<PROP>|8}}</div><br />
}}<br />
{{Item responsive |Cols=4-8<br />
|1=<b>Evidence screenshot</b>{{#vardefine:@uuid|{{#show:{{{Workflow|}}}|?uuid|link=none}} }}<br />
|2={{#vardefine:@counter|0}}{{#if:{{#var:@uuid}}|{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#var:@uuid}}]]|?=|?Modification date|?Type|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{fa|file-pdf}}|{{fa|image}} }} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|Pdf|Image}}<br />
|BodyText={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{#widget:pdf|pdf={{filepath:{{#explode:{{#explode:@@@|<PROP>|0}}|:|1}} }} }}|[[{{#explode:@@@|<PROP>|0}}]]}}Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} }}|}}<br />
}}<br />
</div><br />
<div class="col-12 col-lg-12 mt-0 box" ><br />
<div ><br />
<h2>Lie location</h2><br />
{{#arraymap:{{#explode:{{#var:@workflow}}|<PROP>|9}}|,|@@@|<br />
{{Item responsive |Cols=2-10<br />
|1=<b>{{fa|external-link-alt}}</b><br />
|2={{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}}<br />
}}<br />
|}}<br />
</div><br />
</div><br />
</div><br />
<!--<br />
--><br>{{#if:{{#ask:[[Class::Verdict]][[Workflow::{{#explode:{{#var:@workflow}}|<PROP>|0}}]][[Role::Judge]]}}|<br><!--<br />
--><ul class="nav nav-tabs"><!--<br />
--><li class="active nav-item">{{#widget:link|datatoggle=pill|href=#mainid|text=Verdicts|type=a|class=nav-link active}}</li><br />
{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{#explode:{{#var:@workflow}}|<PROP>|2}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<li>{{#widget:link|datatoggle=pill|href=#{{#replace:{{#explode:@@@|<PROP>|1}}| |_}}|text={{#explode:@@@|<PROP>|1}}|type=a|class=nav-link}}</li> |}}<br />
</ul><!--<br />
<br />
--><div class="tab-content"><!--<br />
--><div id="mainid" class="tab-pane active"><!--<br />
-->{{verdict results|id={{#explode:{{#var:@workflow}}|<PROP>|2}} }}<!--<br />
--></div><!--<br />
-->{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{#explode:{{#var:@workflow}}|<PROP>|2}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<div id="{{#explode:@@@|<PROP>|1}}" class="tab-pane fade"><!--<br />
-->{{verdict results|id={{#explode:{{#var:@workflow}}|<PROP>|2}}|Context={{#explode:@@@|<PROP>|1}}}}<!--<br />
--></div>|}}<!--<br />
--></div> }}<!--<br />
<br />
--></div><!--<br />
-->{{#vardefine:@casecounter2|{{#expr: {{#var:@casecounter2}} + 1 }} }}|}}<br />
</div><br />
|<br />
<div class="row"><br />
<div class="col-12 col-lg-12 box mt-0"><br />
<h2>The Case</h2><br />
{{Item responsive |Cols=4-8<br />
|1=<b>Lie Category</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|3}}<br />
}}<br />
{{Item responsive |Cols=4-8<br />
|1=<b>The Plaintiff Accusation with Evidence</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|11}}<br />
}}<!-- <br />
-->{{Item responsive |Cols=4-8<br />
|1=<b>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></b><br />
|2=<div class="lie-input">{{#explode:{{#var:@workflow}}|<PROP>|8}}</div><br />
}}<br />
{{Item responsive |Cols=4-8<br />
|1=<b>Evidence screenshot</b>{{#vardefine:@uuid|{{#show:{{{Workflow|}}}|?uuid|link=none}} }}<br />
|2={{#vardefine:@counter|0}}{{#if:{{#var:@uuid}}|{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#var:@uuid}}]]|?=|?Modification date|?Type|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{fa|file-pdf}}|{{fa|image}} }} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|Pdf|Image}}<br />
|BodyText={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{#widget:pdf|pdf={{filepath:{{#explode:{{#explode:@@@|<PROP>|0}}|:|1}} }} }}|[[{{#explode:@@@|<PROP>|0}}]]}}Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}} }}<br />
}}<br />
</div><br />
<div class="col-12 col-lg-12 box mt-0"><br />
<div class=""><br />
<h2>Lie location</h2><br />
{{#arraymap:{{#explode:{{#var:@workflow}}|<PROP>|2}}|,|@@@|<br />
{{Item responsive |Cols=2-10<br />
|1=<b>{{fa|external-link-alt}}</b><br />
|2={{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}}<br />
}}<br />
|}}<br />
</div><br />
</div><br />
</div><br />
</div><!-- <br />
-->{{#if:{{#ask:[[Class::Verdict]][[Workflow::{{{Workflow|}}}]][[Role::Judge]]}}|<div class="row"><div class="col-12 box"><h2>Settlement records</h2><br><!--<br />
--><ul class="nav nav-tabs"><!--<br />
--><li class="active nav-item">{{#widget:link|datatoggle=pill|href=#mainid|text=Verdicts|type=a|class=nav-link active}}</li><br />
{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<li>{{#widget:link|datatoggle=pill|href=#{{#replace:{{#explode:@@@|<PROP>|1}}| |_}}|text={{#explode:@@@|<PROP>|1}}|type=a|class=nav-link}}</li> |}}<br />
</ul><!--<br />
<br />
--><div class="tab-content"><!--<br />
--><div id="mainid" class="tab-pane active"><!--<br />
-->{{verdict results|id={{{Case ID|}}} }}<!--<br />
--></div><!--<br />
-->{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<div id="{{#explode:@@@|<PROP>|1}}" class="tab-pane fade"><!--<br />
-->{{verdict results|id={{{Case ID|}}}|Context={{#explode:@@@|<PROP>|1}}}}<!--<br />
--></div>|}}<!--<br />
--></div></div></div> }}<!-- <br />
-->}}<!-- end if class<br />
<br />
-->}}|<div class="m-5 alert alert-danger">Not permitted</div>}}<!--<br />
-->{{DISPLAYTITLE:{{{Title|}}} {{#ifeq:{{#var:@type}}|Class|(Class)}} }} <br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Messages&diff=2425
Template:Messages
2021-11-22T08:43:10Z
<p>Maintenance script: Fill database</p>
<hr />
<div><div class="info-box"><br />
<h2>Messages</h2><br />
{{#arraymap:{{#ask:[[Class::Workflow]][[Filed by::{{{Fullpagename|}}}]][[Stage::Settled]]|?Settled seen by|format=array|limit=9999}}|,|@@@|<br />
{{#arraydefine:@seen|{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|###|###|,}} }}<br />
{{#if:{{#arraysearch:@seen|{{{Fullpagename|}}} }}| |<br />
{{#tag:html|<details><br />
<summary>A case you filed is settled</summary>}}<br />
<div class="info-row"><b>Case ID:</b>{{#show:{{#explode:@@@|<PROP>|0}}|?Case ID|link=none}}</div><br />
<div class="info-row"><b>Suit:</b>{{#ask:[[Class::Suit]][[Workflow::{{#explode:@@@|<PROP>|0}}]]|limit=9999}}<br />
</div>{{#tag:wsform|{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Settled seen by|value={{#if:{{#explode:@@@|<PROP>|1}}|{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|###|###|,}}, {{{Fullpagename|}}}|{{{Fullpagename|}}} }} }}<br />
{{#tag:wsfield||type=submit|value=Remove message|class=btn btn-green mt-4 mb-4}}<br />
|action=addToWiki}}<br />
{{#tag:html|</details>}} }}<br />
|}}<!--<br />
<br />
-->{{#arraymap:{{#ask:[[Class::Workflow]][[Jurors::{{{Fullpagename|}}}]][[Change::!none]]|?Change seen by|?Slot|link=none|format=array|limit=9999}}|,|@@@|<!--<br />
<br />
-->{{#arraydefine:@change|{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|###|###|,}} }}<br />
{{#if:{{#arraysearch:@change|{{{Fullpagename|}}} }}| |<div class="info-item">{{#tag:html|<details><br />
<summary>A case you are jurying is changed</summary>}}<br />
<div class="info-row"><b>Case ID:</b>{{#show:{{#explode:@@@|<PROP>|0}}|?Case ID|link=none}}</div><br />
<div class="info-row"><b>Suit:</b>{{#ask:[[Class::Suit]][[Workflow::{{#explode:@@@|<PROP>|0}}]]|limit=9999}}</div><br />
<div class="info-row"><b>Suit date:</b>{{#explode:@@@|<PROP>|2}}</div><br />
{{#tag:wsform|{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Change seen by|value={{#if:{{#explode:@@@|<PROP>|1}}|{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|###|###|,}}, {{{Fullpagename|}}}|{{{Fullpagename|}}} }} }}<br />
{{#tag:wsfield||type=submit|value=Remove message|class=btn btn-green mt-4 mb-4}}<br />
|action=addToWiki}} {{#tag:html|</details>}} <br />
</div>}} |}}<!--<br />
-->{{#arraymap:{{#ask:[[Class::Workflow]][[Judge::{{{Fullpagename|}}}]][[Class request::!Declined]][[Class request::!Approved]]|?Declined judge|?Filed by|?Case ID|?Lie|?Topic|?Description|?Markup|?Facts|?Locations|?Type|?Class case IDs|?Class request|?Class title|link=none|format=array}}|,|@@@|<br />
<div class="info-item"><br />
{{#tag:html|<details><br />
<summary>A case awaits</summary>}}<br><br />
<h3>Are you sure you want to accept?</h3><br><br />
{{#ifeq:{{#explode:@@@|<PROP>|12}}|New|<br />
|{{#vardefine:@classinfo|{{#ask:[[Class::Workflow]][[{{#explode:@@@|<PROP>|12}}]]|?Declined judge|?Filed by|?Case ID|?Lie|?Topic|?Description|?Markup|?Facts|?Locations|?Type|?Class case IDs|?Class request|link=none|format=array|limit=9999}}}}<br />
<div class="info-row"><b>Lie</b>{{#explode:{{#var:@classinfo}}|<PROP>|4}}</div><br />
<div class="info-row"><b>Topic</b>{{#explode:{{#var:@classinfo}}|<PROP>|5}}</div><br />
<div class="info-row"><b>Description</b>{{#explode:{{#var:@classinfo}}|<PROP>|6}}</div><br />
<div class="info-row"><b>Marked truth and lies </b><div class="lie-input">{{#explode:{{#var:@classinfo}}|<PROP>|7}}</div></div><br />
<div class="info-row"><b>Locations</b>{{#arraymap:{{#explode:{{#var:@classinfo}}|<PROP>|9}}|,|@@@|{{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}}|<br>}}</div><br />
<div class="info-row"><b>Link</b>{{#ask:[[Class::Suit]][[Case ID::{{#explode:{{#var:@classinfo}}|<PROP>|3}}]]|format=plainlist|limit=9999}}</div><br />
}}<!-- if new --><br />
<div class="d-flex"><br />
{{#tag:wsform| <br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Class request|value=Declined}}<br />
{{#tag:wsfield||type=submit|value=Decline request|class=btn btn-red btn-half}}<br />
|action=addToWiki}}<br />
<br />
{{#ifeq:{{#explode:@@@|<PROP>|12}}|New|<br />
<br />
{{#tag:wsform|<br />
{{#tag:wscreate||mwwrite=Workflow/|mwtemplate=Workflow|mwoption=range:00001-99999 }}<br />
{{#tag:wsfield||type=hidden|name=Lie|value={{#explode:@@@|<PROP>|13}} }}<br />
{{#tag:wsfield||type=hidden|name=Type|value=Class }}<br />
{{#tag:wsfield||type=hidden|name=Filed by|value={{#explode:@@@|<PROP>|2}} }}<br />
{{#tag:wsfield||type=hidden|name=Random judge|value={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Judge]][[!{{{Fullpagename|}}}]]|Limit=1|format=array|order=random}} }}<br />
{{#tag:wsfield||type=hidden|name=Case ID|value=1234-{{#time: U | now}}-{{#time: U | now}} }}<br />
{{#tag:wsfield||type=hidden|name=Class case IDs|value={{{Workflow|}}} }}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Class request|value=Approved}}<!-- <br />
-->{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Stage|value=Settled}}<br />
{{#tag:wsfield||type=submit|value=Approve request|class=btn btn-green btn-half }}<br />
|action=addToWiki}}<br />
|{{#tag:wsform|<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Class request|value=Approved}}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Stage|value=Settled}}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:{{#var:@classinfo}}|<PROP>|0}}}}|template=Workflow|formfield=Class case IDs|value={{#if:{{#explode:{{#var:@classinfo}}|<PROP>|11}}| {{#arraymap:{{#explode:{{#var:@classinfo}}|<PROP>|11}}|<MANY>|###|###|,}} , {{#explode:@@@|<PROP>|0}} |{{#explode:@@@|<PROP>|0}} }} }}<br />
{{#tag:wsfield||type=submit|value=Approve request|class=btn btn-green btn-half }}<br />
<br />
|action=addToWiki}}<br />
}}<!-- if new --><br />
</div><br />
{{#tag:html|<br></details>}}<br />
</div><br />
<br />
<br />
|}}<!--<br />
<br />
<br />
-->{{#arraymap:{{#ask:[[Class::Workflow]][[Filed by::{{{Fullpagename|}}}]][[Plaintiff verdict::No]]|?Case ID|?Lie|link=none|format=array|limit=9999}}|,|@@@|<br />
<div class="info-item"><br />
{{#tag:html|<details><br />
<summary>Please fill in your plaintiff verdict</summary>}}<br />
<div class="info-row"><b>Lie</b>{{#explode:@@@|<PROP>|2}}</div><br />
{{#vardefine:@partpage|{{#ask:[[Class::Participant]][[User::{{{Fullpagename|}}}]][[Workflow::{{#explode:@@@|<PROP>|0}}]]|link=none|limit=9999}} }}<br />
{{#if:{{#var:@partpage}}|<br />
{{#widget:link|type=a|href={{#var:@partpage}}|class=btn btn-green mt-4 mb-4|text=Create verdict}}<br />
|{{#tag:wsform| <br />
{{#tag:wscreate||mwwrite=Participant/|mwtemplate=Participant|mwoption=range:00001-99999|mwfollow=true }}<br />
<!--{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Plaintiff verdict|value=Yes}}--><br />
{{#tag:wsfield||type=hidden|name=User|value={{{Fullpagename|}}} }}<br />
{{#tag:wsfield||type=hidden|name=Role|value=Plaintiff }}<br />
{{#tag:wsfield||type=hidden|name=Case ID|value={{#explode:@@@|<PROP>|1}} }}<br />
{{#tag:wsfield||type=hidden|name=Workflow|value={{#explode:@@@|<PROP>|0}} }}<br />
{{#tag:wsfield||type=submit|value=Create verdict|class=btn btn-green ml-4 mt-4 mb-4}}<br />
|action=addToWiki}} }}<br />
{{#tag:html|</details>}}<br />
</div><br />
|}}<br />
<br />
{{#arraymap:{{#ask:[[Class::Workflow]][[Random judge::{{{Fullpagename|}}}]]|?Declined judge|?Filed by|?Case ID|?Lie|?Topic|?Description|?Markup|?Facts|?Locations|?Type|?Class case IDs|?Reason for judge decline|?Slot|link=none|format=array|sep=$$$|limit=9999}}|$$$|@@@|<br />
<div class="info-item"><br />
{{#tag:html|<details><br />
<summary>You have been selected as a {{#ifeq:{{#explode:@@@|<PROP>|10}}|Class|Class&nbsp;}}Judge</summary>}}<br />
<div class="suit-ace"><br />
<div class="info-row"><b>Suit date</b>{{#explode:@@@|<PROP>|13}}</div><br />
</div><br />
<div class="d-none suit-ace"><br />
{{#ifeq:{{#explode:@@@|<PROP>|10}}|Class|<h2>Class cases information</h2>{{#arraymap:{{#explode:@@@|<PROP>|11}}|<MANY>|###|<div class="info-row">Case: ###</div>|}}|<h2>Case information</h2><div class="info-row"><b>Lie</b>{{#explode:@@@|<PROP>|4}}</div><br />
<div class="info-row"><b>Topic</b>{{#explode:@@@|<PROP>|5}}</div><br />
<div class="info-row"><b>Description</b>{{#explode:@@@|<PROP>|6}}</div><br />
<div class="info-row"><b>Marked truth and lies </b><div class="lie-input">{{#explode:@@@|<PROP>|7}}</div></div><br />
<div class="info-row"><b>Locations</b>{{#arraymap:{{#explode:@@@|<PROP>|9}}|,|@@@|{{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}}|<br>}}</div><br />
<div class="info-row"><b>Screenshot</b>{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#explode:@@@|<PROP>|3}}]]|?=|?Modification date|Format=array|link=none|limit=9999}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:@@@|<PROP>|0}}]]Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!-- <br />
-->|}} </div><br />
<h2>Plaintiff verdict</h2><br />
{{#vardefine:@plver|{{#ask:[[Class::Verdict]][[Context::None]][[Case ID::{{#explode:@@@|<PROP>|3}}]][[Role::Plaintiff]]<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$<br />
|limit=9999<br />
}}}}<br />
<div class="info-row"><b>Is it the Truth?</b>{{#explode:{{#var:@plver}}|<PROP>|4}} <span class="percnt">{{#explode:{{#var:@plver}}|<PROP>|5}}%</span><br>{{#explode:{{#var:@plver}}|<PROP>|6}}</div><br />
<div class="info-row"><b>Is it the Whole Truth?</b>{{#explode:{{#var:@plver}}|<PROP>|7}} <span class="percnt">{{#explode:{{#var:@plver}}|<PROP>|8}}%</span><br>{{#explode:{{#var:@plver}}|<PROP>|9}}</div><br />
<div class="info-row"><b>Is it Nothing But the Truth?</b>{{#explode:{{#var:@plver}}|<PROP>|10}} <span class="percnt">{{#explode:{{#var:@plver}}|<PROP>|11}}%</span><br>{{#explode:{{#var:@plver}}|<PROP>|12}}</div><br />
<div class="info-row"><b>What is the Deceit?</b>{{#vardefine:@dc|0}}{{#arraymap:{{#explode:{{#var:@plver}}|<PROP>|13}}|,|%%%|%%% <span class="percnt">{{#explode:{{#explode:{{#var:@plver}}|<PROP>|14}}|,|{{#var:@dc}}}}%</span><br>{{#explode:{{#explode:{{#var:@plver}}|<PROP>|15}}|,|{{#var:@dc}}}} {{#vardefine:@dc|{{#expr:{{#var:@dc}} + 1}} }}|<br>}}</div><br />
<div class="info-row"><b>Is the Deceit Intended?</b>{{#explode:{{#var:@plver}}|<PROP>|16}} <span class="percnt">{{#explode:{{#var:@plver}}|<PROP>|17}}%</span><br>{{#explode:{{#var:@plver}}|<PROP>|18}}</div><br />
<div class="info-row"><b>What is the Motivation behind the Lie?</b>{{#vardefine:@mv|0}}{{#arraymap:{{#explode:{{#var:@plver}}|<PROP>|19}}|,|%%%|%%% <span class="percnt">{{#explode:{{#explode:{{#var:@plver}}|<PROP>|20}}|,|{{#var:@mv}}}}%</span><br>{{#explode:{{#explode:{{#var:@plver}}|<PROP>|21}}|,|{{#var:@mv}}}}{{#vardefine:@mv|{{#expr:{{#var:@mv}} + 1}} }} |<br>}}</div><br />
<div class="info-row"><b>What is the Social Acceptability for the lie?</b>{{#explode:{{#var:@plver}}|<PROP>|22}} <span class="percnt">{{#explode:{{#var:@plver}}|<PROP>|23}}%</span><br>{{#explode:{{#var:@plver}}|<PROP>|24}}</div><br />
<div class="info-row"><b>What is the label for the lie needed to Improve the Social Acceptability?</b>{{#explode:{{#var:@plver}}|<PROP>|25}} <span class="percnt">{{#explode:{{#var:@plver}}|<PROP>|26}}%</span><br>{{#explode:{{#var:@plver}}|<PROP>|27}}</div>}}</div><br />
{{#if:{{#explode:@@@|<PROP>|12}}|<h2>Former selected judge declined</h2><br />
<div class="info-row"><b>Reason</b>{{#explode:@@@|<PROP>|12}}</div>}}<br />
{{#tag:wsform|<h2>Reason for decline</h2> <br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}} }}|template=Workflow|formfield=Random judge|value={{#ask:[[User group::icol-user]][[Class::Member]]{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}[[!{{#explode:@@@|<PROP>|2}}]][[!{{{Fullpagename|}}}]][[Role::Judge]]|Limit=1|searchlabel=|format=array|order=random}}}}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}} }}|template=Workflow|formfield=Declined judge|value={{#if:{{#explode:@@@|<PROP>|1}}|{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|@@@|@@@|,}}, {{{Fullpagename|}}}| {{{Fullpagename|}}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}} }}|template=Workflow|formfield=Reason for judge decline}}<br />
{{#tag:wsfield||type=textarea|placeholder=Reason|name=Reason for judge decline|class=form-control mb-4}}<br />
{{#tag:wsfield||type=submit|value=Save|class=btn btn-green}}<br />
|action=addToWiki|class=d-none pb-4|id=dec-{{#explode:{{#explode:@@@|<PROP>|0}}|/|1}} }}<br />
<div class="d-flex justify-content-center pb-4" id="{{#explode:{{#explode:@@@|<PROP>|0}}|/|1}}">{{#tag:wsfield|Decline judge role|type=button|onclick=openInput('dec','{{#explode:{{#explode:@@@|<PROP>|0}}|/|1}}')|class=btn btn-half btn-red}}{{#tag:wsfield|Accept judge role|type=button|onclick=submitInput('{{#explode:{{#explode:@@@|<PROP>|0}}|/|1}}');|class=btn btn-half btn-green}}</div><!--submitInput('{{#explode:{{#explode:@@@|<PROP>|0}}|/|1}}'--><br />
{{#tag:wsform|<br />
{{#tag:wscreate||mwwrite=Participant/|mwtemplate=Participant|mwoption=range:00001-99999|mwfollow=true}}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}} }}|template=Workflow|formfield=Stage|value=Judge accepted}}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}} }}|template=Workflow|formfield=Judge|value={{{Fullpagename|}}} }}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}} }}|template=Workflow|formfield=Random judge|value=done }}<br />
{{#tag:wsfield||type=hidden|name=User|value={{{Fullpagename|}}} }}<br />
{{#tag:wsfield||type=hidden|name=Role|value=Judge }}<br />
{{#tag:wsfield||type=hidden|name=Case ID|value={{#explode:@@@|<PROP>|3}} }}<br />
{{#tag:wsfield||type=hidden|name=Workflow|value={{#explode:@@@|<PROP>|0}} }}<br />
{{#tag:wsfield||type=submit|value=Save|class=btn btn-green mt-4|id=submit-{{#explode:{{#explode:@@@|<PROP>|0}}|/|1}}}}<br />
|action=addToWiki|class=d-none pb-4|id=acp-{{#explode:{{#explode:@@@|<PROP>|0}}|/|1}} }}</div><br />
{{#tag:html|</details>}}<br />
|}}<br />
{{#arraymap:{{#ask:[[Class::Workflow]][[Random juror::{{{Fullpagename|}}}]]|?Declined juror|?Filed by|?Case ID|?Lie|?Topic|?Description|?Markup|?Facts|?Locations|?Juror amount|?Jurors|?Judge|?Random juror|?Slot|link=none|format=array|sep=$$$|limit=9999}}|$$$|@@@|<br />
<div class="info-item"><br />
{{#tag:html|<details><br />
<summary>You have been selected as a Juror</summary>}}<br />
<h2>Case information</h2><br />
<div class="info-row"><b>Suit date</b>{{#explode:@@@|<PROP>|14}}</div><br />
<!--<div class="info-row"><b>Lie</b>{{#explode:@@@|<PROP>|4}}</div><br />
<div class="info-row"><b>Topic</b>{{#explode:@@@|<PROP>|5}}</div><br />
<div class="info-row"><b>Description</b>{{#explode:@@@|<PROP>|6}}</div><br />
<div class="info-row"><b>Marked-up Truth and Lies</b><div class="lie-input">{{#explode:@@@|<PROP>|7}}</div></div><br />
<div class="info-row"><b>Locations</b>{{#arraymap:{{#explode:@@@|<PROP>|9}}|,|@@@|{{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}}|<br>}}</div>--><br />
{{#arraydefine:@jurrors|{{#arraymap:{{#explode:@@@|<PROP>|11}}|<MANY>|@@@|@@@|,}} }}<!-- <br />
-->{{#vardefine:@nrofjurorswanted|{{#if:{{#explode:@@@|<PROP>|10}}|{{#explode:@@@|<PROP>|10}}|0}} }}<br />
<div class="d-flex justify-content-center pb-4"><br />
{{#tag:wsform| {{#arraydefine:@random juror|{{#explode:@@@|<PROP>|13}}|<MANY>}}{{#arraydefine:@user|{{{Fullpagename|}}} }}{{#arraydiff:new_key|@random juror|@user}}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Random juror|value={{#if:{{#arrayprint:new_key}}| {{#arrayprint:new_key}}, }}{{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[!{{{Fullpagename|}}}]][[Role::Juror]][[!{{#explode:@@@|<PROP>|12}}]]{{#arraymap:{{#explode:@@@|<PROP>|13}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:@@@|<PROP>|11}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}|searchlabel=|Limit={{#expr:{{#var:@nrofjurorswanted}} {{#if:{{#arrayprint:new_key}}|- {{#arraysize:new_key}}| - 0 }} }}|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[!{{{Fullpagename|}}}]][[Role::Juror]][[!{{#explode:@@@|<PROP>|12}}]]{{#arraymap:{{#explode:@@@|<PROP>|13}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:@@@|<PROP>|11}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}|searchlabel=|Limit={{#expr:{{#var:@nrofjurorswanted}} {{#if:{{#arrayprint:new_key}}|- {{#arraysize:new_key}}| - 0 }} }}|format=array|order=random}} <br />
}} }}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Declined juror|value={{#if:{{#explode:@@@|<PROP>|1}}|{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|@@@|@@@|,}}, {{{Fullpagename|}}}| {{{Fullpagename|}}} }} }}<br />
{{#ifexpr:{{#arraysize:@jurrors}} < {{#var:@nrofjurorswanted}}|<br />
{{#tag:wsfield||type=submit|value=Decline juror role|class=btn btn-red btn-half}}<br />
}}<br />
|action=addToWiki}}<br />
{{#tag:wsform|<br />
{{#tag:wscreate||mwwrite=Participant/|mwtemplate=Participant|mwoption=range:00001-99999|mwfollow=true}}<br />
{{#tag:wsfield||type=hidden|name=User|value={{{Fullpagename|}}} }}<br />
{{#tag:wsfield||type=hidden|name=Role|value=Juror }}<br />
{{#arraydefine:@countjurors|{{#explode:@@@|<PROP>|11}}|<MANY>}}<br />
{{#tag:wsfield||type=hidden|name=Name|value=Juror {{#expr:{{#if:{{#arraysize:@countjurors}}|{{#arraysize:@countjurors}}|0}} + 1}} }}<br />
{{#tag:wsfield||type=hidden|name=Workflow|value={{#explode:@@@|<PROP>|0}} }}<br />
{{#tag:wsfield||type=hidden|name=Case ID|value={{#explode:@@@|<PROP>|3}} }}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Jurors|value={{#if:{{#explode:@@@|<PROP>|11}}|{{#arraymap:{{#explode:@@@|<PROP>|11}}|<MANY>|@@@|@@@|,}}, {{{Fullpagename|}}}| {{{Fullpagename|}}} }} }}<br />
{{#ifeq:{{#arraysize:@jurrors}}|{{#expr:{{#var:@nrofjurorswanted}} - 1 }}|<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Random juror|value=done}}<br />
{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Stage|value=In progress}}|<!-- <br />
-->{{#arraydefine:@random juror|{{#explode:@@@|<PROP>|13}}|<MANY>}}{{#arraydefine:@user|{{{Fullpagename|}}} }}{{#arraydiff:new_key|@random juror|@user}}{{#tag:wsedit||target={{PAGEID:{{#explode:@@@|<PROP>|0}}}}|template=Workflow|formfield=Random juror|value={{#if:{{#arrayprint:new_key}}| {{#arrayprint:new_key}}, }}{{#vardefine:@limit|{{#expr:{{#var:@nrofjurorswanted}} {{#if:{{#arrayprint:new_key}}|- {{#arraysize:new_key}}| - 0 }}{{#if:{{#arraysize:@countjurors}}|- {{#arraysize:@countjurors}}|- 0}} }} }}{{#ifexpr:{{#var:@limit}} > 0|{{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[!{{{Fullpagename|}}}]][[!{{{Filed by|}}}]][[Role::Juror]][[!{{#explode:@@@|<PROP>|12}}]][[!{{#explode:@@@|<PROP>|13}}]]{{#arraymap:{{#explode:@@@|<PROP>|11}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}|Limit={{#var:@limit}}|searchlabel=|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[!{{{Fullpagename|}}}]][[!{{{Filed by|}}}]][[Role::Juror]][[!{{#explode:@@@|<PROP>|12}}]][[!{{#explode:@@@|<PROP>|13}}]]{{#arraymap:{{#explode:@@@|<PROP>|11}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:@@@|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}|Limit={{#var:@limit}}|searchlabel=|format=array|order=random}} }} }}<br />
}} }}<br />
{{#ifexpr:{{#arraysize:@jurrors}} < {{#var:@nrofjurorswanted}}|<br />
{{#tag:wsfield||type=submit|value=Accept juror role|class=btn btn-green btn-half }}<br />
}}<br />
|action=addToWiki}}<br />
</div><br />
{{#tag:html|</details>}}<br />
</div><br />
|}}<br />
<br />
</div><br />
</div></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.css&diff=2420
MediaWiki:Common.css
2021-11-22T08:43:09Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* <style> */<br />
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');<br />
<br />
<br />
.oo-ui-horizontalLayout div.oo-ui-selectWidget {<br />
display: grid;<br />
grid-template-columns: 1fr 1fr 1fr;<br />
}<br />
<br />
.oo-ui-horizontalLayout .oo-ui-buttonSelectWidget .oo-ui-buttonOptionWidget .oo-ui-buttonElement-button {<br />
width: 100%;<br />
}<br />
<br />
.case-img-wrapper img{<br />
max-width: 70px;<br />
height: auto;<br />
}<br />
<br />
<br />
.hidden {<br />
display: none;<br />
}<br />
::-webkit-scrollbar {<br />
width: 14px;<br />
height: 18px;<br />
}<br />
::-webkit-scrollbar-thumb {<br />
height: 6px;<br />
border: 4px solid rgba(0, 0, 0, 0);<br />
background-clip: padding-box;<br />
-webkit-border-radius: 7px;<br />
background-color: rgba(0, 0, 0, 0.15);<br />
-webkit-box-shadow: inset -1px -1px 0px rgba(0, 0, 0, 0.05), inset 1px 1px 0px rgba(0, 0, 0, 0.05);<br />
}<br />
::-webkit-scrollbar-button {<br />
width: 0;<br />
height: 0;<br />
display: none;<br />
}<br />
::-webkit-scrollbar-corner {<br />
background-color: transparent;<br />
}<br />
.mw-body ul, .mw-body ol {<br />
margin: 0 0 10.5px;<br />
}<br />
@media screen {<br />
.onlyprint {<br />
display:none;<br />
}<br />
}<br />
/** Search box search symbol to the right <br />
.left-inner-addon {<br />
position: relative;<br />
}<br />
.left-inner-addon input {<br />
padding-left: 30px; <br />
}<br />
.left-inner-addon i {<br />
position: absolute;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}<br />
.right-inner-addon {<br />
position: relative;<br />
}<br />
.right-inner-addon input {<br />
padding-right: 30px; <br />
}<br />
.right-inner-addon i {<br />
position: absolute;<br />
right: 0px;<br />
padding: 10px 12px;<br />
pointer-events: none;<br />
}*/<br />
.select2-container {<br />
width: 100% !important;<br />
margin-bottom: 1rem !important;<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
.color-blue{<br />
color:#006699;<br />
}<br />
body{<br />
position: relative;<br />
min-height: 100vh;<br />
}<br />
<br />
<br />
body > .container{<br />
max-width:none;<br />
padding: 0;<br />
font-family: 'Open Sans', sans-serif;<br />
padding-bottom: 2.5rem;<br />
}<br />
#content, .container > .mt-1, .body-container{<br />
margin:0 auto;<br />
}<br />
@media (min-width: 576px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 540px;<br />
}<br />
}<br />
@media (min-width: 768px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 720px;<br />
}<br />
}<br />
@media (min-width: 992px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 960px;<br />
}<br />
}<br />
@media (min-width: 1200px){<br />
#content, .container > .mt-1, .navbar-nav, .body-container {<br />
max-width: 1140px;<br />
}<br />
}<br />
.container > .row {<br />
width: 100%;<br />
}<br />
.row-WSHeader > .col{<br />
padding:0;<br />
}<br />
.navbar{<br />
margin: 0 15px;<br />
}<br />
.container-fluid .row-wsheader {<br />
border-bottom-width: 10px;<br />
border-bottom-style: solid;<br />
border-bottom-color: #006699;<br />
padding-top: 12px;<br />
border-image-source: linear-gradient(to right, #990000 0%,#990000 20%,#006699 20%,#006699 80%, #339966 80%, #339966 100%);<br />
border-image-slice: 1;<br />
}<br />
.row-WSHeader .container-fluid{<br />
padding:0;<br />
}<br />
.row-wsheader .list-inline{<br />
margin:0;<br />
text-align: center;<br />
}<br />
div.p-navbar {<br />
background-color: #f2f2f2;<br />
}<br />
div.navbar li.nav-item a.nav-link {<br />
color: #484848;<br />
}<br />
input.form-control {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
.nav-item {<br />
padding: 0 12px;<br />
}<br />
#simpleSearch {<br />
margin-top: 24px;<br />
position: relative;<br />
}<br />
.fa-search {<br />
position: absolute;<br />
right: 22px;<br />
transform: scaleX(-1);<br />
color: #6c757d;<br />
top: 7px;<br />
}<br />
.container .mt-5:last-child {<br />
position: absolute;<br />
bottom: 0;<br />
width: 100%;<br />
height: 2.5rem;<br />
}<br />
.container .mt-5:last-child > .col {<br />
padding: 0;<br />
}<br />
.container .mt-5:last-child > .col nav{<br />
margin: 0 -15px;<br />
}<br />
.navbar-nav {<br />
margin: 0 auto;<br />
width:100%;<br />
}<br />
body.rootpage-Main_Page #content{<br />
max-width:none;<br />
padding:0;<br />
}<br />
<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
.row-formitemresponsive div:first-child {<br />
align-self: center;<br />
border-right: none;<br />
}<br />
<br />
.row-formitemresponsive{<br />
padding: 7px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive input {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
}<br />
<br />
.verdict-item{<br />
padding: 7px 0;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
div .verdict-item:first-child{<br />
border-top: none;<br />
}<br />
.percentage {<br />
max-height: 40px;<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.vi{<br />
border-radius: 30px;<br />
padding: 7px 25px;<br />
background: #f2f2f2;<br />
}<br />
.truth-no{<br />
background:#990000;<br />
color:white;<br />
}<br />
.truth-yes{<br />
background:#339966;<br />
color:white;<br />
<br />
}<br />
.verdict-type {<br />
writing-mode: vertical-lr;<br />
text-orientation: mixed;<br />
transform: rotate(180deg);<br />
}<br />
.verdict-wrapper {<br />
border-left: 2px solid #bdbcbc;<br />
padding-left: 14px;<br />
margin-left: 14px;<br />
}<br />
.inner-percentage {<br />
background: #f2f2f2;<br />
padding: 0 7px;<br />
border-radius: 40px;<br />
margin: 0 -16px;<br />
}<br />
.profile-img{<br />
border: 2px solid #E2EEFE;<br />
background: #F6F9FF;<br />
border-radius: 50%;<br />
color: #006599;<br />
font-size: 439%;<br />
text-align: center;<br />
height: max-content;<br />
}<br />
canvas.jqplot-grid-canvas {<br />
display: none;<br />
}<br />
.upload-preview{<br />
font-size: 0;<br />
}<br />
.upload-preview li {<br />
list-style: none;<br />
font-size: 0;<br />
}<br />
.upload-preview img, .upload-preview svg{<br />
max-width:70px;<br />
padding: 0.25rem;<br />
background-color: #fff;<br />
border: 1px solid #dee2e6;<br />
border-radius: 0.25rem;<br />
box-shadow: 0 1px 2px rgba(0,0,0,0.075);<br />
height: auto;<br />
}<br />
div#error_file-upload {<br />
display: none;<br />
}<br />
.box {<br />
border: 2px solid #f2f2f2;<br />
padding: 12px;<br />
margin: 25px auto;<br />
border-radius: 12px;<br />
}<br />
.info-box {<br />
border: 2px solid #E2EEFE;<br />
padding: 12px;<br />
margin: 25px auto;<br />
background: #F6F9FF;<br />
border-radius: 12px;<br />
color: #006599;<br />
text-align: center;<br />
}<br />
.info-box hr{<br />
border-top: 1px solid #006599;<br />
}<br />
.info-box details[open] {<br />
background: #e2eefd;<br />
margin: 0 -12px;<br />
padding: 0 12px;<br />
}<br />
.info-row b {<br />
display: block;<br />
}<br />
<br />
.info-row {<br />
border-bottom: 2px solid #f6f9ff;<br />
text-align: left;<br />
padding-bottom: 6px;<br />
}<br />
.info-row .percnt {<br />
background: #016499;<br />
color: white;<br />
padding: 0 7px;<br />
border-radius: 12px;<br />
float: right;<br />
}<br />
.btn-half.btn-green {<br />
border-radius: 0 30px 30px 0;<br />
}<br />
<br />
.btn-half {<br />
font-size: 12px;<br />
padding: 12px 23px;<br />
}<br />
.btn-half.btn-red {<br />
border-radius: 30px 0 0 30px;<br />
}<br />
.flow-index{<br />
justify-content: stretch;<br />
}<br />
.flow-index div:after {<br />
content: "";<br />
position: absolute;<br />
width: 20px;<br />
height: 20px;<br />
background: #f6f9ff;<br />
border-top: 2px solid #e2eefe;<br />
border-right: 2px solid #e2eefe;<br />
border-top-right-radius: 6px;<br />
z-index: 99;<br />
right: -12px;<br />
top: calc(50% - 10px);<br />
transform: rotate(45deg);<br />
}<br />
<br />
.flow-index div {<br />
width: 100%;<br />
font-size: 0.8em;<br />
position: relative;<br />
border: 2px solid #E2EEFE;<br />
padding: 6px 10px;<br />
background: #F6F9FF;<br />
/* border-radius: 12px; */<br />
color: #006599;<br />
text-align: center;<br />
/* width: 12.5%; */<br />
background: #F6F9FF;<br />
margin-right: -2px;<br />
line-height: 1.2em;<br />
align-self: end;<br />
<br />
}<br />
.lie-input b{<br />
color:white;<br />
background:#990000;<br />
}<br />
<br />
.lie-input i{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
font-style: normal;<br />
}<br />
<br />
#fake-field {<br />
border-radius: 0 0px 30px 30px;<br />
background: #f2f2f2;<br />
/* border: none; */<br />
padding-left: 24px;<br />
/* box-shadow: none; */<br />
min-height: 200px;<br />
width: 100%;<br />
padding: 0.375rem 0.75rem;<br />
font-size: 1rem;<br />
font-weight: 400;<br />
line-height: 1.5;<br />
color: #495057;<br />
outline: none;<br />
border-top: 2px solid #6b747d;<br />
height: unset;<br />
}<br />
.btn-mark.btn {<br />
font-size: 12px;<br />
padding: 4px 21px;<br />
border-radius: 0;<br />
}<br />
div .btn-mark.btn:first-child{<br />
border-radius: 20px 0 0 0;<br />
}<br />
.truth-token{<br />
border: 2px solid #006399;<br />
width: 2em;<br />
height: 2em;<br />
border-radius: 50%;<br />
padding-top: 2px;<br />
display: inline-block;<br />
text-align: center;<br />
background: #ffffff;<br />
color: #006499;<br />
box-shadow: 1px 2px 0px #006599;<br />
margin-right: 7px;<br />
}<br />
#balance.buy {<br />
border-bottom: 2px solid;<br />
padding-bottom: 7px;<br />
margin-bottom: 7px;<br />
}<br />
.total-token-price{<br />
text-align: left;<br />
padding: 9px 0;<br />
border-bottom: 2px solid;<br />
margin-bottom: 7px;<br />
}<br />
<br />
<br />
.icon-bar {<br />
background-color: #888888;<br />
}<br />
.navbar-toggle .icon-bar + .icon-bar {<br />
margin-top: 4px;<br />
}<br />
.navbar-toggle .icon-bar {<br />
display: block;<br />
width: 22px;<br />
height: 2px;<br />
border-radius: 1px;<br />
}<br />
<br />
.home-search{<br />
max-width: 27em;<br />
margin: 0 auto;<br />
}<br />
.banner{<br />
position:relative;<br />
margin:0 -30px;<br />
}<br />
<br />
<br />
@media (max-width:800px){<br />
.row{<br />
margin-right: 0px;<br />
margin-left: 0px;<br />
}<br />
.navbar {<br />
margin: 0 ;<br />
}<br />
.banner {<br />
margin: 0 -15px;<br />
padding: 15px;<br />
}<br />
<br />
}<br />
<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
.checkinput-button input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
.chat.me:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #339966;<br />
position: absolute;<br />
right: -10px;<br />
left:unset;<br />
top: 0;<br />
transform:unset;<br />
}<br />
.chat:after {<br />
content: "";<br />
height: 0;<br />
width: 0;<br />
border-right: 20px solid transparent;<br />
border-top: 34px solid #76acca;<br />
position: absolute;<br />
left: -10px;<br />
right: unset;<br />
top: 0;<br />
transform: scaleX(-1);<br />
}<br />
.chat h3 {<br />
font-size: 12px;<br />
}<br />
h3.chat-1 {<br />
color: orange;<br />
}<br />
h3.chat-2 {<br />
color: #00ff9d;<br />
}<br />
h3.chat-3 {<br />
color: #00f7ff;<br />
}<br />
h3.chat-4 {<br />
color: #c800ff;<br />
}<br />
h3.chat-Plaintiff {<br />
color: yellow;<br />
}<br />
h3.chat-Judge {<br />
color: #990000;<br />
}<br />
.chat.me {<br />
margin: 0 12px 12px 35px;<br />
background: #339966;<br />
}<br />
.chat {<br />
background: #76acca;<br />
color: white;<br />
position: relative;<br />
text-align: left;<br />
padding: 12px;<br />
border-radius: 12px;<br />
margin: 0 35px 12px 12px;<br />
}<br />
#fake-field::selection {<br />
background: #006599;<br />
color: white;<br />
}<br />
.chat h4 {<br />
font-size: 7px;<br />
color: #e2eefe;<br />
text-align: right;<br />
margin: 0;<br />
}<br />
.modal-body img {<br />
max-width: 100%;<br />
}<br />
div .checkinput-button:nth-child(2) input[type="radio"]:checked + span {<br />
background: #990000;<br />
}<br />
.sep{<br />
font-size:1.5em;<br />
padding: 0 1em;<br />
}<br />
.add-more {<br />
max-height: 40px;<br />
border: 1px solid #ced4da;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor: pointer;<br />
}<br />
#case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
<br />
<br />
/* Signup edits */<br />
label[for="wpReason"], #wpReason {<br />
display: none;<br />
}<br />
<br />
.mw-createacct-benefits-container {<br />
display: none;<br />
}<br />
/* end of signup edits */<br />
<br />
/* Chrome, Safari, Edge, Opera */<br />
<br />
input#Initial-credit-card-nr::-webkit-outer-spin-button,<br />
input#Initial-credit-card-nr::-webkit-inner-spin-button {<br />
-webkit-appearance: none;<br />
margin: 0;<br />
}<br />
<br />
/* Firefox */<br />
input#Initial-credit-card-nr {<br />
-moz-appearance: textfield;<br />
}<br />
<br />
.btn-green {<br />
background: #339966!important;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-red {<br />
background: #990000;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-gray {<br />
background: #6a737d;<br />
color: white;<br />
padding: 9px 35px;<br />
border-radius: 30px;<br />
font-weight: 600;<br />
}<br />
.btn-blue {<br />
background: #f6f9ff;<br />
}<br />
.dark-blue{<br />
color:white;<br />
background:#006599;<br />
font-weight:bold;<br />
}<br />
.red{<br />
color:white;<br />
background: #990000;<br />
font-weight:bold;<br />
}<br />
.btn-square input[type="submit"] {<br />
border-radius: 0 0 5px 5px;<br />
}<br />
<br />
.btn-square {<br />
border: none;<br />
border-radius: 5px;<br />
padding: 0 0;<br />
margin: 2px;<br />
position: relative;<br />
}<br />
.flow-index .active:after {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.upload-preview{display:inline !important;}<br />
<br />
.flow-index .active {<br />
background: #f6fffb;<br />
border: 2px solid #b4e7cd;<br />
color: #339965;<br />
margin-left: 2px;<br />
margin-right: 0;<br />
}<br />
.flow-index div.done {<br />
color: #484848;<br />
border: 2px solid #b2b2b2;<br />
background: #f2f2f2;<br />
}<br />
.flow-index div.done:after {<br />
background: #f2f2f2;<br />
border: 2px solid #b2b2b2;<br />
border-left: none;<br />
border-bottom: none;<br />
}<br />
.flow-index div.done:before {<br />
/*content: "✔";*/<br />
position: absolute;<br />
font-size: 5em;<br />
font-weight: 900;<br />
left: 0.2em;<br />
top: 0;<br />
color: #716f6f69;<br />
}<br />
.user-roles {<br />
margin-top: -40px;<br />
margin-left: 20px;<br />
}<br />
.vi.ml-2{<br />
max-height: 38px;<br />
}<br />
input.remove-juror {<br />
background: unset;<br />
border: none;<br />
padding: 0;<br />
position: absolute;<br />
top: 0;<br />
right: 9px;<br />
color: white;<br />
}<br />
.modal-body iframe {<br />
width: 100%;<br />
height: 50vh;<br />
}<br />
.big-icon {<br />
font-size: 4em;<br />
}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Verdict&diff=2421
Template:Verdict
2021-11-22T08:43:09Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Verdict''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Verdict<br />
|Workflow=<br />
|Case ID=<br />
|Role=<br />
|User=<br />
|Truth=<br />
|Truth percentage=<br />
|Truth text=<br />
|Whole truth=<br />
|Whole truth percentage=<br />
|Whole truth text=<br />
|Nothing But the truth=<br />
|Nothing But the truth percentage=<br />
|Nothing But the truth text=<br />
|Deceit=<br />
|Deceit percentage=<br />
|Deceit text=<br />
|Deceit intended=<br />
|Deceit intended percentage=<br />
|Deceit intended text=<br />
|Motivation=<br />
|Motivation percentage=<br />
|Motivation text=<br />
|Social acceptability=<br />
|Social acceptability percentage=<br />
|Social acceptability text=<br />
|Label=<br />
|Label percentage=<br />
|Label text=<br />
|Context= <br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly>{{#if:{{{Case ID|}}}|{{#set:Class=Verdict<br />
|Case ID={{{Case ID|}}}<br />
|Workflow={{{Workflow|}}}<br />
|Role={{{Role|}}}<br />
|User={{{User|}}}<br />
|Truth={{{Truth|}}}<br />
|Truth percentage={{{Truth percentage|}}}<br />
|Truth text={{#if:{{{Truth text|}}}|{{{Truth text|}}}|-}}<br />
|Whole truth={{{Whole truth|}}}<br />
|Whole truth percentage={{{Whole truth percentage|}}}<br />
|Whole truth text={{#if:{{{Whole truth text|}}}|{{{Whole truth text|}}}|-}}<br />
|Nothing But the truth={{{Nothing But the truth|}}}<br />
|Nothing But the truth percentage={{{Nothing But the truth percentage|}}}<br />
|Nothing But the truth text={{#if:{{{Nothing But the truth text|}}}|{{{Nothing But the truth text|}}}|-}}<br />
|Deceit={{{Deceit|}}}<br />
|Deceit percentage={{{Deceit percentage|}}}<br />
|Deceit text={{#if:{{{Deceit text|}}}|{{{Deceit text|}}}|-}}<br />
|Deceit intended={{{Deceit intended|}}}<br />
|Deceit intended percentage={{{Deceit intended percentage|}}}<br />
|Deceit intended text={{#if:{{{Deceit intended text|}}}|{{{Deceit intended text|}}}|}}<br />
|Motivation={{{Motivation|}}}<br />
|Motivation percentage={{{Motivation percentage|}}}<br />
|Motivation text={{#if:{{{Motivation text|}}}|{{{Motivation text|}}}|-}}<br />
|Social acceptability={{{Social acceptability|}}}<br />
|Social acceptability percentage={{{Social acceptability percentage|}}}<br />
|Social acceptability text={{#if:{{{Social acceptability text|}}}|{{{Social acceptability text|}}}|-}}<br />
|Label={{{Label|}}}<br />
|Label percentage={{{Label percentage|}}}<br />
|Label text={{#if:{{{Label text|}}}|{{{Label text|}}}|}}<br />
|Context={{{Context|None}}}<br />
|Name={{{Name|}}}<br />
}}<br />
|{{#set:Class=None}}<br />
}}<br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#verdict-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
border: none;<br />
display: inline-block;<br />
width: 5em;<br />
box-shadow: none;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);<br />
transition: border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;<br />
border: 1px solid #ced4da;<br />
}<br />
.percentage:focus {<br />
color: #495057;<br />
background-color: #fff;<br />
border-color: #80bdff;<br />
outline: 0;<br />
box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 0 0.2rem rgba(0,123,255,0.25);<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
#verdict-form textarea {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
height: 41px;<br />
}<br />
button.btn.copy-verdict {<br />
float: right;<br />
background: #006699;<br />
color: white;<br />
}<br />
</style>}}<br />
<br />
</div><br />
{{#vardefine:@allowed|{{#ifeq:User:{{CURRENTLOGGEDUSER}}|{{{User|}}}|Yes|{{#ifsysop:Yes|No}}}}}}<br />
{{#ifeq:{{#var:@allowed}}|Yes|{{#vardefine:@stage|{{#show:{{{Workflow|}}}|?Stage|link=none}} }}<br />
{{#vardefine:@myparticipantpage|{{#ask:[[Class::Participant]] [[User::User:{{CURRENTLOGGEDUSER}}]] [[Case ID::{{{Case ID|}}}]]|link=none }} }}<!-- <br />
--><wsform action="addToWiki" id="verdict-form" mwreturn="{{#if:{{#var:@myparticipantpage}}|{{fullurl:{{#var:@myparticipantpage}} }}|{{#if:{{{Participant|}}}|{{fullurl:{{{Participant|}}} }}|{{#if:{{#urlget:Participant}}|{{fullurl:{{#urldecode:{{#urlget:Participant}} }} }}|{{fullurl:{{FULLPAGENAME}} }} }} }} }}" ><br />
<wscreate mwwrite="{{FULLPAGENAME}}" mwtemplate="Verdict" /><br />
<br />
{{#ifeq:{{#var:@stage}}|Waiting for Plaintiff verdict|<br />
<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Stage|value=Needs judge}}<br />
<br />
}}<!--<br />
--><wsfield type="hidden" name="Role" value="{{{Role|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="User" value="{{{User|}}}" /><br />
<wsfield type="hidden" name="Name" value="{{{Name|}}}" /><br />
<wsfield type="hidden" name="Context" value="{{{Context|}}}" /><br />
<h1><span>{{{Role|}}} verdict</span><span>{{{Context|}}}</span><span>Suit: {{{Case ID|}}}</span></h1>Every decision should include your 0 - 100% confidence in the decision<!-- <br />
-->{{#vardefine:verdictsarray|{{#ask:[[Class::Verdict]][[Case ID:: {{{Case ID|}}}]]{{#ifeq:{{{Role|}}}|Judge|[[Role::!Judge]]|[[Role::Plaintiff]]}}<br />
|?Case ID<br />
|?Role<br />
|?User<br />
|?Truth<br />
|?Truth percentage<br />
|?Truth text<br />
|?Whole truth<br />
|?Whole truth percentage<br />
|?Whole truth text<br />
|?Nothing But the truth<br />
|?Nothing But the truth percentage<br />
|?Nothing But the truth text<br />
|?Deceit<br />
|?Deceit percentage<br />
|?Deceit text<br />
|?Deceit intended<br />
|?Deceit intended percentage<br />
|?Deceit intended text<br />
|?Motivation<br />
|?Motivation percentage<br />
|?Motivation text<br />
|?Social acceptability<br />
|?Social acceptability percentage<br />
|?Social acceptability text<br />
|?Label<br />
|?Label percentage<br />
|?Label text<br />
|?-Verdict=File<br />
|?-Verdict.Modification date<br />
|?Name<br />
|link=none<br />
|Sort=Role<br />
|Order=desc<br />
|Format=array<br />
|Sep=$<br />
}}}}<!--<br />
-->{{#vardefine:@decision |Enter your decision here}}<!--<br />
-->{{#vardefine:@support |Enter your additional support here}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it Factually the Truth?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|4}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|4}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 {{#explode:@@@|<PROP>|5}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 43%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|5}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|6}} </div><!-- <br />
<br />
-->{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{#explode:@@@|<PROP>|0}}]]|?=|?Modification date|Format=array|link=none}}|,|###|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=vi attachment mt-2 |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:###|<PROP>|0}}]] Uploaded on: {{#explode:###|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}}</div><!-- <br />
<br />
--></div></div></div>|}} {{#tag:html|</details>}} }}<br />
<div class="d-flex">{{#widget:Check input |type=radio |name=Truth |text=yes |id=truthyes |value=yes |checked={{#ifeq:{{{Truth|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Truth |text=no |id=truthno |value=no |checked={{#ifeq:{{{Truth|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Truth percentage" placeholder="0" value="{{{Truth percentage|}}}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Truth text" placeholder="{{#var:@support}}">{{{Truth text|}}}</wsfield>{{#vardefine:@counter|0}}{{#arraymap:{{#ask:[[Class::Verdict file]][[Verdict::{{FULLPAGENAME}}]]|?=|?Modification date|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{fa|image}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading=Image<br />
|BodyText=[[{{#explode:@@@|<PROP>|0}}]]Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}} {{#widget:link |type=a|href=#Upload-modal |datatoggle=modal |class=attachment |text={{fa|paperclip}} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=Upload-modal<br />
|ModalHeading=Upload screenshot<br />
|BodyText=<br />
{{#vardefine:@filename|Import-verdict-{{#time: U | now}}.png}}<br />
{{#vardefine:@pagecontent|<nowiki>{{File for verdict|Verdict=</nowiki>{{FULLPAGENAME}}<nowiki>|Uploaded by=</nowiki>{{CURRENTLOGGEDUSER}}<nowiki>}}</nowiki>}}<br />
<wsfield type="file" name="File" id="file-upload" verbose_id="hiddendiv" target="{{#var:@filename}}" pagecontent="{{#var:@pagecontent}}" /><br />
<div class="hidden" id="hiddendiv"></div><br />
<wsfield type="submit" class="btn btn-submit" value="Save" /><br />
|FooterText={{#widget:link |type=a|href=#Upload-modal |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
--></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>If it is Factually True, is it the Whole Factual Truth?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|7}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|7}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 {{#explode:@@@|<PROP>|8}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|8}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|8}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|9}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Whole truth |text=yes |id=wholetruthdyes |value=yes |checked={{#ifeq:{{{Whole truth|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Whole truth |text=no |id=wholetruthno |value=no |checked={{#ifeq:{{{Whole truth|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Whole truth percentage" placeholder="0" value="{{{Whole truth percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Whole truth text" placeholder="{{#var:@support}}">{{{Whole truth text|}}}</wsfield><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is it nothing but the Factual and Whole Truth (Adding other Truths and Lies to the Context)?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|10}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|10}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 {{#explode:@@@|<PROP>|11}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|11}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|11}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|12}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Nothing But the truth |text=yes |id=nothingyes |value=yes |checked={{#ifeq:{{{Nothing But the truth|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Nothing But the truth |text=no |id=nothingno |value=no |checked={{#ifeq:{{{Nothing But the truth|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Nothing But the truth percentage" placeholder="0" value="{{{Nothing But the truth percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Nothing But the truth text" placeholder="{{#var:@support}}">{{{Nothing But the truth text|}}}</wsfield><br />
}}<br />
<br />
{{#arraydefine:@deciets|{{{Deceit text|}}} }}<br />
{{#ifexpr:{{#arraysize:@deciets}} > 1 |<br />
{{#vardefine:@decietscount|1}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}}{{#tag:html|</details>}} }}{{#arraymap:{{{Deceit text|}}}|,|@@@|<br />
{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<div class="original">|<div class="old-copy">}}<div class="d-flex"><wsfield type="textarea" class="form-control" name="Deceit[]" placeholder="{{#var:@decision}}">{{#explode:{{{Deceit|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Deceit percentage[]" placeholder="0" value="{{#explode:{{{Deceit percentage|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Deceit text[]" placeholder="{{#var:@support}}" >{{#explode:{{{Deceit text|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield>{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<!--<span class="add-more deceit">{{fa|plus}}</span>-->}}</div></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}<br />
|}}<br />
}}<br />
|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Deceit? (e.g., the fact, the whole truth, the motivation, to deny a crime)</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|15}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|13}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|14}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|15}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} {{#tag:html|</details>}} }}<div class="original"><div class="d-flex"><wsfield type="textarea" class="form-control" name="Deceit[]" placeholder="{{#var:@decision}}">{{{Deceit|}}}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Deceit percentage[]" placeholder="0" value="{{{Deceit percentage|}}}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Deceit text[]" placeholder="{{#var:@support}}">{{{Deceit text|}}}</wsfield><!--<span class="add-more deceit">{{fa|plus}}</span>--></div></div><br />
}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Is the Deceit Intended?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|16}}|yes|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|16}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 {{#explode:@@@|<PROP>|17}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|17}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|17}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|18}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Deceit intended |text=yes |id=deceitintendedyes |value=yes |checked={{#ifeq:{{{Deceit intended|}}}|no||checked}} }}<br />
{{#widget:Check input |type=radio |name=Deceit intended |text=no |id=deceitintendedno |value=no |checked={{#ifeq:{{{Deceit intended|}}}|no|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Deceit intended percentage" placeholder="0" value="{{{Deceit intended percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Deceit intended text" placeholder="{{#var:@support}}">{{{Deceit intended text|}}}</wsfield><br />
}}<br />
<br />
{{#arraydefine:@deciets|{{{Motivation text|}}} }}<br />
{{#ifexpr:{{#arraysize:@deciets}} > 1 |<br />
{{#vardefine:@decietscount|1}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} {{#tag:html|</details>}} }}{{#arraymap:{{{Motivation text|}}}|,|@@@|<br />
{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<div class="original">|<div class="old-copy">}}<div class="d-flex"><wsfield type="textarea" class="form-control" name="Motivation[]" placeholder="{{#var:@decision}}">{{#explode:{{{Motivation|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Motivation percentage[]" placeholder="0" value="{{#explode:{{{Motivation percentage|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Motivation text[]" placeholder="{{#var:@support}}">{{#explode:{{{Motivation text|}}}|,|{{#expr:{{#var:@decietscount}} - 1}} }}</wsfield>{{#ifexpr:{{#arraysize:@deciets}} = {{#var:@decietscount}}|<!--<span class="add-more motivation">{{fa|plus}}</span>-->}}</div></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}<br />
|}}<br />
}}<br />
|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Motivation behind the Lie? (e.g., to lie, to tell the truth, to mislead, to achieve power, etc.)</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<br />
<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div>{{#vardefine:@decietscount|0}}{{#arraymap:{{#explode:@@@|<PROP>|19}}|,|###|<div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:{{#explode:@@@|<PROP>|19}}|,|{{#var:@decietscount}}}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:{{#explode:@@@|<PROP>|20}}|,|{{#var:@decietscount}}}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:{{#explode:@@@|<PROP>|21}}|,|{{#var:@decietscount}}}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div>{{#vardefine:@decietscount|{{#expr:{{#var:@decietscount}} + 1 }} }}|}}</div></div><br />
<br />
<br />
|}} {{#tag:html|</details>}} }}<div class="original"><div class="d-flex"><wsfield type="textarea" class="form-control" name="Motivation[]" placeholder="{{#var:@decision}}">{{{Motivation|}}}</wsfield><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Motivation percentage[]" placeholder="0" value="{{{Motivation percentage|}}}" />%</span></div><br />
<div class="d-flex"><wsfield type="textarea" class="form-control mt-2" name="Motivation text[]" placeholder="{{#var:@support}}">{{{Motivation text|}}}</wsfield><!--<span class="add-more motivation">{{fa|plus}}</span>--></div></div><br />
}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Social Acceptability for the lie?</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi {{#ifeq:{{#explode:@@@|<PROP>|22}}|Acceptable|truth-yes|truth-no}}">{{#explode:@@@|<PROP>|22}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 {{#explode:@@@|<PROP>|23}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|23}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|23}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|24}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex">{{#widget:Check input |type=radio |name=Social acceptability |text=Acceptable |id=socialacceptabilityyes |value=Acceptable |checked={{#ifeq:{{{Social acceptability|}}}|Unacceptable||checked}} }}<br />
{{#widget:Check input |type=radio |name=Social acceptability |text=Unacceptable |id=socialacceptabilityno |value=Unacceptable |checked={{#ifeq:{{{Social acceptability|}}}|Unacceptable|checked|}} }}<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Social acceptability percentage" placeholder="0" value="{{{Social acceptability percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Social acceptability text" placeholder="{{#var:@support}}">{{{Social acceptability text|}}}</wsfield><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>What is the Label for the Lie needed to Improve the Social Acceptability? (e.g., this is a factual lie, this does not tell the whole truth, this is an intentional lie, this lie has a socially unacceptable motivation).</h3><br />
|2={{#ifeq:{{{Role|}}}|Plaintiff||{{#tag:html|<details><summary>{{#ifeq:{{{Role|}}}|Judge|Verdicts|Plaintiff answer}}</summary>}}{{#arraymap:{{#var:verdictsarray}}|$|@@@|<div class="verdict-item"><wsfield type="button" class="btn copy-verdict" onclick="copyVerdict(this)">Copy</wsfield><div class="d-flex"><div class="verdict-type">{{#if:{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|30}}|{{#explode:@@@|<PROP>|2}} }}</div><div class="w-100 verdict-wrapper"><div class="d-flex"> </div><div class="d-flex"><div class="vi bg-white">{{#explode:@@@|<PROP>|25}}</div><div class="vi ml-2" style="background: linear-gradient(to right, #329966 0%,#329966 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 {{#explode:@@@|<PROP>|26}}%,#f2f2f2 100%); background: conic-gradient(from 180deg, #329966 {{#explode:@@@|<PROP>|26}}%, #f2f2f2 0 0);"><div class="inner-percentage">{{#explode:@@@|<PROP>|26}}%</div></div></div><div class="d-flex "> <div class="vi mt-2 w-100 bg-white">{{#explode:@@@|<PROP>|27}} </div><!-- <br />
<br />
--></div><!-- <br />
<br />
--></div></div></div>|}}{{#tag:html|</details>}} }}<div class="d-flex"><wsfield type="textarea" class="form-control" name="Label" value="{{{Label|}}}" placeholder="Label" /><br />
<span class="percentage"><wsfield type="number" class="form-control form-number" min="0" max="100" name="Label percentage" placeholder="0" value="{{{Label percentage|}}}" />%</span></div><br />
<wsfield type="textarea" class="form-control mt-2" name="Label text" placeholder="{{#var:@support}}">{{{Label text|}}}</wsfield><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<wsfield type="submit" class="btn btn-submit" value="Save" /><br />
}}</wsform><!--<br />
<br />
<br />
-->|<div class="m-5 alert alert-danger">Not permitted</div>}}<!-- end allowed<br />
<br />
-->{{#tag:html|<script><br />
//var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
//for(i = 0; i < addMore.length; ++i){<br />
// addMore[i].addEventListener('click', addMoreInputs, false);<br />
//}<br />
//var newDeceit = document.querySelector('.add-more.deceit').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.motivation').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('deceit')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function copyVerdict(btn){<br />
<br />
var wrapper = btn.closest('.col-md-8')<br />
var verdict = btn.closest('.verdict-item')<br />
var no = verdict.querySelector('.truth-no')<br />
var yes = verdict.querySelector('.truth-yes')<br />
var check_no = wrapper.querySelector('.checkinput-button label [value="no"]')<br />
var check_yes = wrapper.querySelector('.checkinput-button label [value="yes"]')<br />
var check_accept = wrapper.querySelector('.checkinput-button label [value="Acceptable"]')<br />
var check_unaccept = wrapper.querySelector('.checkinput-button label [value="Unacceptable"]')<br />
var precentage = verdict.querySelector('.inner-percentage')<br />
var precantage_input = wrapper.querySelector('[type="number"]')<br />
var verdict_text = verdict.querySelectorAll('.bg-white')<br />
var support_input = wrapper.querySelector('[placeholder="{{#var:@support}}"]')<br />
var decision_input = wrapper.querySelector('[placeholder="{{#var:@decision}}"]')<br />
var label_input = wrapper.querySelector('[placeholder="Label"]')<br />
<br />
<br />
if(no){<br />
if(check_no){<br />
check_no.click()<br />
}<br />
}<br />
<br />
if(yes){<br />
if(check_yes){<br />
check_yes.click()<br />
}<br />
}<br />
<br />
if(no){<br />
if(check_unaccept){<br />
check_unaccept.click()<br />
}<br />
}<br />
<br />
if(yes){<br />
if(check_accept){<br />
check_accept.click()<br />
}<br />
}<br />
<br />
if(precentage){<br />
precantage_input.value = precentage.innerText.replace('%', '')<br />
}<br />
<br />
if(decision_input){<br />
decision_input.value = verdict_text[0].innerText<br />
support_input.value = verdict_text[1].innerText<br />
}else if(label_input){<br />
label_input.value = verdict_text[0].innerText<br />
support_input.value = verdict_text[1].innerText<br />
}else{<br />
support_input.value = verdict_text[0].innerText<br />
}<br />
<br />
}<br />
<br />
<br />
</script>}}<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Workflow&diff=2422
Template:Workflow
2021-11-22T08:43:09Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Workflow''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Workflow<br />
|Case ID=<br />
|Type=<br />
|Stage=<br />
|Filed by=<br />
|Lie=<br />
|Topic=<br />
|Description=<br />
|Lies=<br />
|Facts=<br />
|Locations=<br />
|Judge=<br />
|Juror amount=<br />
|Jurors=<br />
|Suit date=<br />
|Plaintiff verdict=<br />
|Reason for judge decline=<br />
|Random judge=<br />
|Random juror=<br />
|Declined judge=<br />
|Declined juror= <br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly>__NOTOC__ __NOTITLE__<!--<br />
-->{{#if:{{{Filed by|}}}|{{#set:Class=Workflow<br />
|Case ID={{{Case ID|}}}<br />
|uuid={{{uuid|}}}<br />
|Type={{{Type|}}}<br />
|Stage={{{Stage|}}}<br />
|Filed by={{{Filed by|}}}<br />
|Lie={{{Lie|}}}<br />
|Topic={{{Topic|}}}<br />
|Accusation={{{Accusation|}}}<br />
|Description={{{Description|}}}<br />
|Markup={{{Markup|}}}<br />
|Locations={{{Locations|}}}<br />
|Judge={{{Judge|}}}<br />
|Meeting={{{Meeting|}}}<br />
|Juror amount={{{Juror amount|}}}<br />
|Jurors={{{Jurors|}}}|+sep=,<br />
|Suit date={{{Suit date|}}}<br />
|Meeting date={{{Meeting date|}}}<br />
|Settlement date={{{Settlement date|}}}<br />
|Plaintiff verdict={{{Plaintiff verdict|No}}}<br />
|Reason for judge decline={{{Reason for judge decline|}}}<br />
|Random judge={{{Random judge|}}}<br />
|Random juror={{{Random juror|}}}|+sep=,<br />
|Declined judge={{{Declined judge|}}}|+sep=,<br />
|Declined juror={{{Declined juror|}}}|+sep=,<br />
|Class case IDs={{{Class case IDs|}}}|+sep=,<br />
|Class request={{{Class request|}}}<br />
|Class title={{{Class title|}}}<br />
|Change={{{Change|none}}}<br />
|Slot={{{Slot|}}}<br />
|Slot month={{#explode:{{{Slot|}}}|-|1}}<br />
|Slot day={{#explode:{{#explode:{{{Slot|}}}|/|0}}|-|2}}<br />
|Slot year={{#explode:{{{Slot|}}}|-|0}}<br />
|Change seen by={{{Change seen by|none}}}|+sep=,<br />
|Settled seen by={{{Settled seen by|none}}}|+sep=,<br />
}} }}<!--<br />
--><h1>{{{Lie|}}}</h1> {{#ask:[[Class::Suit]][[Case ID::{{{Case ID|}}}]]}}<br />
<br />
{{#switch:{{{Stage|}}}<br />
|Waiting for Plaintiff verdict=<div class="d-flex flow-index"><div>Case is proposed</div><div class="active">Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs judge=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div class="active">Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Judge accepted=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div class="active">Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs jurors=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div class="active">Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|In progress=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div class="active">Suit in progress</div><div>Settled</div></div> <br />
|Settled=<div class="d-flex flow-index"><div>Case is proposed</div><div>Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div class="active">Settled</div></div><br />
}}<br />
{{#if:{{{Type|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Type</b><br />
|2={{{Type|}}}<br />
}}<br />
}}<br />
{{#if:{{{Reason for judge decline|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Reason for judge decline</b><br />
|2={{{Reason for judge decline|}}}<br />
}}<br />
}}<br />
{{#if:{{{Case ID|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Case ID</b><br />
|2={{{Case ID|}}}<br />
}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Lie title</b><br />
|2={{{Lie|}}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Status</b><br />
|2={{{Stage|}}}<br />
}}<br />
<br />
{{#if:{{{Judge|}}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Judge</b><br />
|2={{{Judge|}}}<br />
}}<br />
|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Invited judge</b><br />
|2=<wsform action="addToWiki"><br />
{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Random judge}}<br />
{{#arraydefine:$judges|{{#ask: [[User group::icol-user]][[Class::Member]][[Role::Judge]] |limit=9999|link=none|format=plainlist}} }}<br />
{{#arraydefine:$judges-selected|{{{Random judge|}}} }}<br />
<wstoken id="tokener52" name="Random judge" multiple="multiple" placeholder="Type a minimal of 3 characters" class="form-control" ><br />
{{#arraymap:{{#arrayprint:$judges}}|,|__JUDGE__|{{#tag:wsfield|{{PAGENAME:__JUDGE__}}|type=option|value=__JUDGE__|selected={{#if:{{#arraysearch:$judges-selected|__JUDGE__}}|selected}} }}|}}<br />
</wstoken><br />
<wsfield type="submit" class="btn btn-green" value="Save" /></wsform>}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors needed</b><br />
|2=<wsform action="addToWiki">{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Juror amount}}<wsfield type="number" name="Juror amount" value="{{{Juror amount|}}}" /><wsfield type="submit" value="Save" /></wsform><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors accepted invite</b><br />
|2={{#arraydefine:@jurrors|{{{Jurors|}}} }}{{#arraysize:@jurrors}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Accepted Jurors</b><br />
|2={{{Jurors|}}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Invited Jurors</b><br />
|2=<wsform action="addToWiki"><br />
{{#tag:wsedit||target={{PAGEID}}|template=Workflow|formfield=Random juror }}<br />
{{#arraydefine:$jurors|{{#ask: [[User group::icol-user]][[Class::Member]][[Role::Juror]] |limit=9999|link=none|format=plainlist}} }}<br />
{{#arraydefine:$jurors-selected|{{{Random juror|}}} }}<br />
<wstoken id="tokener2" name="Random juror[]" multiple="multiple" placeholder="Type a minimal of 3 characters" class="form-control" ><br />
{{#arraymap:{{#arrayprint:$jurors}}|,|__JUROR__|{{#tag:wsfield|{{PAGENAME:__JUROR__}}|type=option|value=__JUROR__|selected={{#if:{{#arraysearch:$jurors-selected|__JUROR__}}|selected}} }}|}}<br />
</wstoken><wsfield type="submit" class="btn btn-green" value="Save" /></wsform>}}<br />
<br />
<br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Plaintiff</b><br />
|2={{{Filed by|}}}<br />
}}{{DISPLAYTITLE:{{{Lie|}}} {{#ifeq:{{#var:@type}}|Class|(Class)}} - Workflow }}<br />
</includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Prosecute_a_case&diff=2418
Prosecute a case
2021-11-22T08:43:08Z
<p>Maintenance script: Fill database</p>
<hr />
<div><div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
body {<br />
background: white;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#case-form input, #case-form textarea{<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
padding-left: 24px;<br />
}<br />
select:not([multiple]) {<br />
padding: 0 1.5em;<br />
background-color: #f2f2f2;<br />
border-radius: 30px;<br />
-webkit-appearance: none;<br />
-moz-appearance: none;<br />
background-position: right 50%;<br />
background-position-x: right;<br />
background-position-y: 50%;<br />
background-repeat: no-repeat;<br />
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDZFNDEwNjlGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDZFNDEwNkFGNzFEMTFFMkJEQ0VDRTM1N0RCMzMyMkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NkU0MTA2N0Y3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NkU0MTA2OEY3MUQxMUUyQkRDRUNFMzU3REIzMzIyQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuGsgwQAAAA5SURBVHjaYvz//z8DOYCJgUxAf42MQIzTk0D/M+KzkRGPoQSdykiKJrBGpOhgJFYTWNEIiEeAAAMAzNENEOH+do8AAAAASUVORK5CYII=);<br />
line-height: 1;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#case-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive {<br />
padding: 16px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.new-input-copy{<br />
border-top: 1px solid #f2f2f2;<br />
margin-top:0.5rem;<br />
padding-top:0.5rem;<br />
}<br />
.old-copy{<br />
border-bottom: 1px solid #f2f2f2;<br />
margin-bottom:0.5rem;<br />
padding-bottom:0.5rem;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.add-more {<br />
white-space: nowrap;<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
cursor:pointer;<br />
}<br />
textarea{<br />
min-height:200px;<br />
}<br />
[contentEditable=true]:empty:not(:focus):before{<br />
content:attr(data-placeholder);<br />
color:grey;<br />
}<br />
</style>}}<br />
<br />
</div>{{#if:{{#vardefineecho:@workflow|{{#urldecode:{{#urlget:case}} }} }}<!-- <br />
<br />
// FILL OUT VERDICT<br />
-->|<br />
<h1>Please wait ...</h1><div class="d-none">{{#arraymap:{{#ask:[[{{#var:@workflow}}]][[Filed by::User:{{CURRENTLOGGEDUSER}}]][[Plaintiff verdict::No]]|?Case ID|?Lie|?Modification date|link=none|format=array|sort=Modification date|limit=1|order=desc}}|,|@@@|<br />
<div class="info-item"><br />
Please fill in your plaintiff verdict<br />
<div class="info-row"><b>Lie</b>{{#explode:@@@|<PROP>|2}}<br />
{{#vardefine:@partpage|{{#ask:[[Class::Participant]][[User::User:{{CURRENTLOGGEDUSER}}]][[Workflow::{{#explode:@@@|<PROP>|0}}]]|link=none}} }}<br />
{{#if:{{#var:@partpage}}|<br />
{{#widget:link|type=a|text=link|href={{fullurl:{{#explode:{{#ask:[[Class::Verdict]][[User::User:{{CURRENTLOGGEDUSER}}]]|?Case ID|?Lie|?Modification date|sort=Modification date|limit=1|order=desc|link=none|format=array}}|<PROP>|0}}|Participant={{#var:@partpage}} }} }}<br />
{{#tag:html|<script >setTimeout(function(){document.querySelector('.info-row a').click()},1000)</script>}}<br />
|{{#tag:wsform| <br />
{{#tag:wscreate||mwwrite=Participant/|mwtemplate=Participant|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wscreate||mwwrite=Verdict:{{#explode:@@@|<PROP>|1}}/|mwtemplate=Verdict|mwoption=range:00001-99999|mwfields=User, Role, Case ID, Workflow}}<br />
{{#tag:wsfield||type=hidden|name=User|value=User:{{CURRENTLOGGEDUSER}} }}<br />
{{#tag:wsfield||type=hidden|name=Role|value=Plaintiff }}<br />
{{#tag:wsfield||type=hidden|name=Case ID|value={{#explode:@@@|<PROP>|1}} }}<br />
{{#tag:wsfield||type=hidden|name=Workflow|value={{#explode:@@@|<PROP>|0}} }}<!-- <br />
--><br />
{{#tag:wsfield||type=submit|value=Create verdict|class=btn btn-green ml-4 mt-4 mb-4}}<br />
|action=addToWiki|id=form|mwreturn={{fullurl:Verdict:{{#show:{{#var:@workflow}}|?Case ID}}/2}} }}{{#tag:html|<script >setTimeout(function(){document.querySelector('input[type="submit"]').click()},3000)</script>}}|}}| }}<br />
</div></div></div><!--<br />
<br />
<br />
// PROSECUTE CASE <br />
-->|<!--<br />
<br />
<br />
--><h1>Prosecute a case</h1><!-- <br />
--><div class="row"><div class="col-12 col-lg-8">The Internet Court of Lies is meant to create a global community of people who work to provide evidence-based understanding of Fiat Lies and a means by which Social Media and other media can develop their own content curation based on results of the court.<br><br>Submit your prepared suit, to be accepted by the Court. A Judge is assigned, and if he accepts your suit, Jurors may be assigned. You, the Judge, and Jurors can now try your case by editing your suit page further. Finally, the Judge will declare your suit settled, and the suit is done<!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#vardefine:@balance|<!--{{#ttcount:}}-->1 }}</div><div class="col-12 col-lg-4"><div class="info-box mt-0 pb-4"><br />
<h2>Your TruthToken balance</h2><span class="truth-token">{{fa|gavel}}</span>× <span class="nr pb-4">{{#var:@balance}}</span><br><br>Prosecuting a case = 1 TruthToken </div></div>|{{#vardefine:@balance|0}} }}</div><br />
{{#ifexpr:{{#var:@balance}} > 0|<br />
<br />
<wsform action="addToWiki" id="case-form" class="box" enctype="multipart/form-data" ><!-- mwreturn="{{fullurl:User:{{CURRENTLOGGEDUSER}}|msg=casestarted}}" --><br />
<wscreate mwwrite="Workflow/" mwtemplate="Workflow" mwoption="range:00001-99999" mwfollow="case" /><br />
<wsfield type="hidden" name="Plaintiff verdict" value="No" /><br />
<wsfield type="hidden" name="Stage" value="Waiting for Plaintiff verdict" /><br />
<wsfield type="hidden" name="Filed by" value="User:{{CURRENTLOGGEDUSER}}" /><!-- <br />
-->{{#vardefine:@id|{{Fake token|token={{#time:U|now}}{{#time:U|now}} }} }}<br />
<wsfield type="hidden" name="Case ID" value="{{#var:@id}}" /><br />
<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3>{{#arraydefine:@topics|{{#ask:[[Class::Workflow]]|?Topic|limit=999999|link=none|pagetitle=hide|format=plainlist|headers=hide|mainlabel=-|searchlabel=}} }}{{#arrayunique:@topics}}<br />
|2=<!--<wsselect name="Topic" placeholder="Placeholder" class="form-control"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect>--><wsfield type="text" list="topics" class="form-control mt-2" />{{#tag:html|<datalist id="topics">{{#arraymap:{{#arrayprint:@topics}}|,|@@@|<option value="@@@">@@@</option>|}}</datalist> }}<br />
}}<br />
<h1>The Lie and Context</h1><br />
<!-- <br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Accusation with Evidence</h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Accusation" placeholder="Text with links to evidence" value="{{{Accusation|}}}" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-mark dark-blue" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark " onclick="unformat()">{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select a Time Slot" onclick="createPage()" id="time-slot-button" >Select a Time Slot</wsfield><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="">{{#Widget:Multi upload|id={{#var:@id}} }}</div><br />
}}<br />
<!--{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}--><!-- <br />
--><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<wsfield type="textarea" name="Markup" id="real-field" class="d-none" /><br />
<wsfield type="button" class="btn btn-green float-right" id="upload-button" onclick="uploadFiles()">Propose verdict*</wsfield><br />
<wsfield type="submit" id="real-submit" class="d-none" value="niks" /><br />
}}<!-- <br />
--><small>*By clicking "Propose verdict" you agree to tell the Truth, the Whole Truth, and Nothing but the Truth, in their participation in a case. If you lie as a case participant with a Fiat Lie, you risk being banned from further participation in the ICoL.</small><br />
</wsform><br />
{{#tag:html|<script><br />
var addMore = document.querySelectorAll('.add-more'),i;<br />
<br />
for(i = 0; i < addMore.length; ++i){<br />
addMore[i].addEventListener('click', addMoreInputs, false);<br />
}<br />
//var newDeceit = document.querySelector('.add-more.lies').closest('.col-md-8').querySelector('.original').innerHTML;<br />
//var newMotivation = document.querySelector('.add-more.facts').closest('.col-md-8').querySelector('.original').innerHTML;<br />
var newLocation = document.querySelector('.add-more.locations').closest('.col-md-8').querySelector('.original').innerHTML;<br />
<br />
<br />
function addMoreInputs(){<br />
<br />
<br />
// this.removeEventListener('click',addMoreInputs, false );<br />
<br />
// var toCopy = this.closest('.col-md-8').innerHTML; <br />
var newDiv = document.createElement('div');<br />
newDiv.classList.add('new-input-copy');<br />
<br />
if(this.classList.contains('lies')){<br />
newDiv.innerHTML = newDeceit;<br />
<br />
}else{<br />
if(this.classList.contains('locations')){<br />
newDiv.innerHTML = newLocation;<br />
<br />
}else{<br />
newDiv.innerHTML = newMotivation;<br />
}<br />
<br />
}<br />
<br />
<br />
// newDiv.innerHTML = toCopy;<br />
<br />
this.closest('.col-md-8').appendChild(newDiv);<br />
newDiv.querySelector('.add-more').addEventListener('click', addMoreInputs, false);<br />
<br />
this.remove();<br />
}<br />
<br />
function submitRealField(){<br />
console.log('dededd')<br />
document.getElementById('real-field').value = document.getElementById('fake-field').innerHTML;<br />
setTimeout(function(){<br />
document.getElementById('real-submit').click()<br />
}, 500)<br />
}<br />
<br />
<br />
<br />
<br />
</script>}}|<div class="m-5 alert alert-primary">0 TruthTokens, please buy TruthTokens on your profile page</div><br />
<wsform id="case-form"><br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Name for case</h3><br />
|2=<wsfield type="text" class="form-control mt-2" name="Lie" placeholder="Short phrase" value="{{{Lie|}}}" readonly="readonly" /><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie Category (optional)</h3><br />
|2=<wsselect name="Topic" placeholder="Placeholder" class="form-control" readonly="readonly"><br />
<wsfield type="option" value="Environment">Environment</wsfield><br />
<wsfield type="option" value="Topic2">Topic 2</wsfield><br />
</wsselect><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Description of the lie </h3><br />
|2=<br />
<wsfield type="textarea" class="form-control mt-2" name="Description" placeholder="Description" value="{{{Description|}}}" readonly="readonly" /><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Markup Lie and any Thruths</h3><br />
|2=<wsfield type="button" class="btn btn-red btn-mark" readonly="readonly" onclick="document.execCommand('bold', false, null)">{{fa|highlighter}} Mark Lie</wsfield> <br />
<wsfield type="button" class="btn btn-green btn-mark " readonly="readonly" onclick="document.execCommand('italic', false, null)">{{fa|highlighter}} Mark Truth</wsfield><wsfield type="button" class="btn btn-gray btn-mark" >{{fa|highlighter}} Clear mark</wsfield> <br />
{{#Widget:Markup}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Lie location</h3><br />
|2=<div class="original"><div class="d-flex"><br />
<wsfield type="text" class="form-control mt-2" name="Locations[]" placeholder="URL" value="{{{Locations|}}}" readonly="readonly" /><span class="add-more locations">{{fa|plus}}</span></div></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Meeting link</h3> <br />
|2=<div class=""><wsfield type="text" class="form-control mt-2" name="Meeting" placeholder="Skype/Zoom/..." value="{{{Meeting|}}}" /></div><br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Time slot</h3> <br />
|2=<div class=""><wsfield type="button" class="btn btn-green" value="Select Time Slot" onclick="createPage()" /><wsfield id="time-slot-field" type="hidden" class="form-control mt-2" name="Slot" /></div><br />
}} <br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Evidence screenshot</h3> <br />
|2=<div class="d-flex">{{#vardefine:@filename|Import-cse-{{#time: U | now}}.png}}<br />
{{#vardefine:@pagecontent|<nowiki>{{File for case|Case file=</nowiki>1234-132525-767967-3865381265853<nowiki>|Uploaded by=</nowiki>{{CURRENTLOGGEDUSER}}<nowiki>}}</nowiki>}}<br />
<wslabel for="file-upload" class="attachment">{{fa|paperclip}}<br />
<wsfield class="d-none" type="file" name="File" id="file-upload" verbose_id="hiddendiv" target="{{#var:@filename}}" pagecontent="{{#var:@pagecontent}}" readonly="readonly" /></wslabel><br />
<div class="upload-preview hidden" id="hiddendiv"></div></div><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<h3>Class suit?</h3><br />
|2=<div class="d-flex"> <br />
{{#widget:Check input |type=radio |name=Type |text=yes |id=truthyes |value=Class}}<br />
{{#widget:Check input |type=radio |name=Type |text=no |id=truthno |value=Individual |checked=checked }}<br />
</div><br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<br />
|2=<br />
<br />
<br />
<br />
}}</wsform> }} }}<!-- ./ if urlget case enter verdict else prosecute case<br />
-->{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
|Hide=Yes<br />
}}</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=MediaWiki:Common.js&diff=2419
MediaWiki:Common.js
2021-11-22T08:43:08Z
<p>Maintenance script: Fill database</p>
<hr />
<div>/* Any JavaScript here will be loaded for all users on every page load. <script>*/<br />
<br />
<br />
<br />
$(document).ready(function () {<br />
<br />
createPageTogglers = document.querySelectorAll('[data-creatpage]');<br />
<br />
if(createPageTogglers && createPageTogglers.length > 0){<br />
<br />
createPageTogglers.forEach(function(el){<br />
<br />
el.addEventListener(<br />
"click",<br />
function () {<br />
createPage( )<br />
})<br />
})<br />
<br />
}<br />
<br />
})<br />
<br />
console.log('uyfuyfuy' );<br />
var createPage = function (current_namespace, current_pagename) {<br />
console.log("working");<br />
<br />
var hiddenInput = document.querySelector('#time-slot-field');<br />
<br />
mw.loader.using(["oojs-ui-windows", 'mediawiki.widgets.DateInputWidget']).then(function () {<br />
// Example: Using getSetupProcess() to configure a window with data passed<br />
// at the time the window is opened.<br />
<br />
// Make a subclass of ProcessDialog<br />
function PageCreateDialog(config) {<br />
PageCreateDialog.super.call(this, config);<br />
}<br />
OO.inheritClass(PageCreateDialog, OO.ui.ProcessDialog);<br />
<br />
// Specify a name for .addWindows()<br />
PageCreateDialog.static.name = "createPageDialog";<br />
PageCreateDialog.static.title = "Select a Time Slot";<br />
// Specify the static configurations: title and action set<br />
PageCreateDialog.static.actions = [<br />
{<br />
flags: "primary",<br />
label: "Continue",<br />
action: "open",<br />
},<br />
{<br />
flags: "safe",<br />
label: "Cancel",<br />
},<br />
];<br />
<br />
// Customize the initialize() function to add content and layouts:<br />
PageCreateDialog.prototype.initialize = function () {<br />
var dialol = this;<br />
PageCreateDialog.super.prototype.initialize.call(this);<br />
this.panel = new OO.ui.PanelLayout({<br />
padded: true,<br />
expanded: false,<br />
});<br />
this.content = new OO.ui.FieldsetLayout();<br />
<br />
<br />
var date = new Date();<br />
<br />
// month = date.getMonth() + 1;<br />
<br />
this.urlInput = new mw.widgets.DateInputWidget({<br />
value: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()<br />
});<br />
<br />
this.field = new OO.ui.FieldLayout(this.urlInput, {<br />
label: "Day",<br />
align: "top",<br />
});<br />
<br />
var times = [];<br />
for (var i = 10; i < 22; i++) {<br />
var hour = i;<br />
var pm = 'AM';<br />
if (i > 12) {<br />
hour = i - 12;<br />
pm = 'PM';<br />
}<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':00' + ' - ' + hour + ':15 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':15' + ' - ' + hour + ':30 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':30' + ' - ' + hour + ':45 ' + pm<br />
})<br />
);<br />
times.push(<br />
new OO.ui.ButtonOptionWidget( {<br />
label: hour + ':45' + ' - ' + (hour + 1) + ':00 ' + pm<br />
})<br />
);<br />
}<br />
<br />
this.slotSelect = new OO.ui.ButtonSelectWidget( {<br />
items: <br />
times<br />
} );<br />
<br />
this.slotsWrapper = new OO.ui.FieldLayout( new OO.ui.Widget( {<br />
content: [<br />
new OO.ui.HorizontalLayout( {<br />
items: [<br />
this.slotSelect<br />
]<br />
})<br />
]<br />
}), {<br />
label: "Time",<br />
align: "top",<br />
});<br />
<br />
<br />
<br />
<br />
this.content.addItems([this.field, this.slotsWrapper]);<br />
this.panel.$element.append(this.content.$element);<br />
this.$body.append(this.panel.$element);<br />
var that = this;<br />
this.urlInput.on( 'change', function () {<br />
// The value will always be a valid date or empty string, malformed input is ignored<br />
<br />
that.updateSlots();<br />
<br />
} );<br />
<br />
};<br />
<br />
<br />
PageCreateDialog.prototype.updateSlots = function () {<br />
<br />
var that = this;<br />
var date = that.urlInput.getValue().split('-');<br />
<br />
<br />
var month = date[1];<br />
var year = date[0];<br />
var day = date[2];<br />
<br />
<br />
<br />
<br />
that.slotSelect.items.forEach(function(item){<br />
item.setDisabled(false);<br />
})<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Slot month::' + month + ']][[Slot day::' + day + ']][[Slot year::' + year + ']]|?Slot|limit=500',<br />
formatversion: 2,<br />
format: 'json'<br />
}<br />
var api = new mw.Api;<br />
api.post(params).done(function(data){<br />
if (data.query.results) {<br />
console.log(data.query.results)<br />
Object.entries(data.query.results).forEach(function(slot){<br />
var date = slot[1].printouts.Slot[0].fulltext || slot[1].printouts.Slot[0];<br />
var time = date.split('/')[1];<br />
var item = that.slotSelect.getItemFromLabel(time);<br />
if(item){<br />
item.setDisabled(true);<br />
}<br />
})<br />
// ["Workflow/90"].printouts.Slot[0]<br />
}<br />
})<br />
// ask query function here, and disbale results<br />
// selectItemByLabel(label).setDisabled(true);<br />
<br />
<br />
<br />
<br />
};<br />
// Specify any additional functionality required by the window (disable opening an empty URL, in this case)<br />
<br />
// Specify the dialog height (or don't to use the automatically generated height).<br />
PageCreateDialog.prototype.getBodyHeight = function () {<br />
// Note that "expanded: false" must be set in the panel's configuration for this to work.<br />
// When working with a stack layout, you can use:<br />
// return this.panels.getCurrentItem().$element.outerHeight( true );<br />
return this.panel.$element.outerHeight(true) + 200;<br />
};<br />
<br />
// Use getSetupProcess() to set up the window with data passed to it at the time<br />
// of opening (e.g., url: 'http://www.mediawiki.org', in this example).<br />
PageCreateDialog.prototype.getSetupProcess = function (data) {<br />
data = data || {};<br />
var nuthis = this;<br />
return PageCreateDialog.super.prototype.getSetupProcess<br />
.call(this, data)<br />
.next(function () {<br />
// Set up contents based on data<br />
var val = hiddenInput.value;<br />
if (val) {<br />
var split = val.split('/');<br />
nuthis.urlInput.setValue(split[0]);<br />
nuthis.slotSelect.selectItemByLabel(split[1])<br />
}<br />
nuthis.updateSlots();<br />
<br />
}, this);<br />
};<br />
var boiler = "";<br />
// Specify processes to handle the actions.<br />
PageCreateDialog.prototype.getActionProcess = function (action) {<br />
var nuthis = this;<br />
if (action === "open") {<br />
// Create a new process to handle the action<br />
return new OO.ui.Process(function () {<br />
<br />
var day = nuthis.urlInput.getValue();<br />
var time = nuthis.slotSelect.findSelectedItem().label;<br />
<br />
console.log(day, time)<br />
hiddenInput.value = day + '/' + time;<br />
var button = document.querySelector('#time-slot-button');<br />
button.innerText = day + ' • ' + time;<br />
return 800;<br />
}).next(function(){<br />
nuthis.close({action: action});<br />
return true;<br />
})<br />
}<br />
// Fallback to parent handler<br />
return PageCreateDialog.super.prototype.getActionProcess.call(this, action);<br />
};<br />
<br />
// Use the getTeardownProcess() method to perform actions whenever the dialog is closed.<br />
// This method provides access to data passed into the window's close() method<br />
// or the window manager's closeWindow() method.<br />
PageCreateDialog.prototype.getTeardownProcess = function (data) {<br />
return PageCreateDialog.super.prototype.getTeardownProcess<br />
.call(this, data)<br />
.first(function () {<br />
// Perform any cleanup as needed<br />
}, this);<br />
};<br />
<br />
// Create and append a window manager.<br />
var windowManager = new OO.ui.WindowManager();<br />
$(document.body).append(windowManager.$element);<br />
<br />
// Create a new process dialog window.<br />
var createPageDialog = new PageCreateDialog();<br />
<br />
// Add the window to window manager using the addWindows() method.<br />
windowManager.addWindows([createPageDialog]);<br />
<br />
// Open the window!<br />
windowManager.openWindow(createPageDialog);<br />
});<br />
};<br />
<br />
<br />
<br />
/***<br />
* REMOVE FILE<br />
*<br />
**/<br />
<br />
document.querySelectorAll('[data-removefile]').forEach(function(el){<br />
el.addEventListener('click', function(){<br />
console.log(el.dataset.removefile)<br />
<br />
var r = confirm("Are you sure?");<br />
if (r == true) {<br />
var params = {<br />
action: 'delete',<br />
title: el.dataset.removefile,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data );<br />
el.remove();<br />
} );<br />
} <br />
})<br />
})<br />
<br />
<br />
/**<br />
* POLLING FOR USER PAGES<br />
**/<br />
<br />
var pollWrapper = document.querySelector('[data-poll]');<br />
<br />
var fps = 30;<br />
var now;<br />
var then;<br />
var interval = 100000/fps;<br />
var delta;<br />
<br />
function poll(now) {<br />
if (!then) { then = now; }<br />
requestAnimationFrame(poll);<br />
delta = now - then;<br />
<br />
if (delta > interval) {<br />
then = now - (delta % interval);<br />
<br />
<br />
if(pollWrapper.dataset.poll == 'Messages'){<br />
goPolling()<br />
}else{<br />
workflowPolling()<br />
} <br />
}<br />
}<br />
<br />
<br />
<br />
if(pollWrapper){<br />
poll();<br />
}<br />
<br />
<br />
<br />
<br />
<br />
var polledWorkflows = false;<br />
<br />
function workflowPolling(){<br />
var params = {<br />
action: 'ask',<br />
query: '[[Workflow::' + pollWrapper.dataset.workflow + ']]|?Modification date',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var flows = Object.entries(data.query.results).map(function(entrie){<br />
return entrie[1].printouts['Modification date'][0].timestamp<br />
})<br />
if(polledWorkflows && flows.sort().join() != polledWorkflows.sort().join()){<br />
console.log('found something new', flows);<br />
console.log('polled', polledWorkflows);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledWorkflows = flows<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
var polledJurors = false;<br />
<br />
function goPolling(){<br />
var user = mw.config.values.wgRelevantUserName;<br />
<br />
var params = {<br />
action: 'ask',<br />
query: '[[Class::Workflow]][[Random juror::User:' + user + ']] OR [[Random judge::User:' + user + ']]',<br />
formatversion: 2,<br />
format: 'json'<br />
};<br />
<br />
var api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.query.results) {<br />
var newKeys = Object.keys(data.query.results);<br />
if(polledJurors && newKeys.sort().join() != polledJurors.sort().join()){<br />
console.log('found something new', newKeys);<br />
console.log('polled', polledJurors);<br />
reloadSection()<br />
} else {<br />
console.log('polling, but found nothing new');<br />
}<br />
polledJurors = newKeys;<br />
}<br />
})<br />
}<br />
<br />
function reloadSection(){<br />
<br />
var template = pollWrapper.dataset.poll;<br />
var paramters = pollWrapper.dataset.parameters.replaceAll('^', '|')<br />
var params = {<br />
action: 'parse',<br />
text: '{{' + template + '|' + paramters + '|Fullpagename=' + mw.config.values.wgPageName.replaceAll('_', ' ') + '}}',<br />
contentmodel: 'wikitext',<br />
wrapoutputclass: '',<br />
disableeditsection: true,<br />
disablelimitreport: true,<br />
disabletoc: true,<br />
formatversion: 2,<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.post( params ).done( function ( data ) {<br />
if(data.parse){<br />
if(template == 'Messages'){<br />
$(pollWrapper).html(data.parse.text)<br />
} else {<br />
$('#mw-content-text').html(data.parse.text)<br />
}<br />
}<br />
})<br />
<br />
}<br />
<br />
<br />
<br />
<br />
<br />
function logmeout(){<br />
<br />
var params = {<br />
action: 'logout',<br />
format: 'json'<br />
},<br />
api = new mw.Api();<br />
<br />
api.postWithToken( 'csrf', params ).done( function ( data ) {<br />
console.log( data, 'we logged you out' );<br />
window.location = mw.config.values.wgServer + '/index.php/Main_Page';<br />
} );<br />
<br />
} <br />
<br />
<br />
<br />
$( document ).ready(function() {<br />
<br />
<br />
if ($('.WSShowOnSelect') ) {<br />
WsShowOnSelect();<br />
}<br />
<br />
$('body.action-edit #wpTextbox1, body.action-submit #wpTextbox1').keydown(function(event) {<br />
var x = event.keyCode;<br />
if (x == 13 ) {<br />
if(!event.shiftKey){<br />
var insert = document.execCommand('insertText', false, '<!-- \n -->');<br />
if(insert){<br />
event.preventDefault();<br />
$('#wpTextbox1').focus()<br />
insert<br />
}<br />
}<br />
}<br />
})<br />
<br />
<br />
<br />
<br />
// Start of esc save<br />
<br />
<br />
<br />
$('body.action-edit, body.action-submit').keydown(function() {<br />
var x = event.keyCode;<br />
if (x == 27) {<br />
$.ajax({<br />
url :'/api.php?action=query&meta=tokens&format=json',<br />
type: 'GET',<br />
dataType: 'json',<br />
success : function(result){<br />
var token = result.query.tokens.csrftoken;<br />
<br />
$("input[name='wpEditToken']").attr("value", token );<br />
<br />
saveEdit();<br />
<br />
}<br />
});<br />
}else{<br />
mw.confirmCloseWindow();<br />
$('#wpSave, #wpPreview, #wpDiff').on('click', function(){<br />
$( window ).off( 'beforeunload' );<br />
})<br />
}<br />
<br />
})<br />
<br />
if($('body').hasClass('action-submit')){<br />
$('#top').prepend('<button class="btn btn-success enable-live-mode">Enable live mode</button>');<br />
$(document).on('click','.enable-live-mode', function(){<br />
if($(this).hasClass('btn-success')){<br />
liveMode();<br />
$(this).removeClass('btn-success');<br />
$(this).text('Live mode is on');<br />
}else{<br />
$(this).addClass('btn-success');<br />
$('body.action-submit textarea').off("change keyup paste");<br />
$(this).text('Enable live mode');<br />
}<br />
<br />
});<br />
}<br />
});<br />
<br />
window.saveEdit = function() {<br />
$.ajax({<br />
url : $('form.mw-editform').attr('action'),<br />
type : 'POST',<br />
data :$('form.mw-editform').serialize(),<br />
success : function(html) {<br />
$( window ).off( 'beforeunload' );<br />
mw.notify( 'Saved' );<br />
if($('body').hasClass('action-submit')){<br />
var parser = new DOMParser();<br />
var doc = parser.parseFromString(html, "text/html");<br />
var elem = doc.querySelectorAll('.mw-content-ltr')[0];<br />
$('.mw-content-ltr').html(elem);<br />
}<br />
}<br />
})<br />
}; <br />
<br />
window.liveMode = function() {<br />
var oldVal = "";<br />
$('body.action-submit textarea').on("change keyup paste", function() {<br />
var currentVal = $(this).val();<br />
if(currentVal == oldVal) {<br />
return; //check to prevent multiple simultaneous triggers<br />
}<br />
<br />
oldVal = currentVal;<br />
var text = encodeURIComponent($('textarea').val());<br />
<br />
$.ajax({<br />
url: '/api.php?action=parse&format=json&formatversion=2&title=New&text='+text+'&pst=&prop=text%7Cmodules%7Cjsconfigvars&preview=true&disableeditsection=true&uselang=en',<br />
dataType: 'json',<br />
success: function (x) {<br />
$('#wikiPreview').html(x.parse.text);<br />
} <br />
});<br />
});<br />
};<br />
/* End of Esc Save */<br />
<br />
<br />
/***** WSForm: loading Select2 ****/<br />
$( document ).ready(function() {<br />
if ($('select[data-inputtype="ws-select2"]')[0]) {<br />
mw.loader.load('/extensions/WSForm/select2.min.css', 'text/css');<br />
$.getScript('/extensions/WSForm/select2.min.js').done(function() {<br />
$('select[data-inputtype="ws-select2"]').each(function() {<br />
var selectid = $(this).attr('id');<br />
var selectoptionsid = 'select2options-' + selectid;<br />
var select2config = $("input#" + selectoptionsid).val();<br />
var F = new Function(select2config);<br />
return (F());<br />
});<br />
});<br />
}<br />
});<br />
/* End of WSForm: Select2 */<br />
<br />
(function($) {<br />
$.fn.autogrow = function() {<br />
return this.each(function() {<br />
var textarea = this;<br />
$.fn.autogrow.resize(textarea);<br />
$(textarea).focus(function() {<br />
textarea.interval = setInterval(function() {<br />
$.fn.autogrow.resize(textarea);<br />
}, 500);<br />
}).blur(function() {<br />
clearInterval(textarea.interval);<br />
});<br />
});<br />
};<br />
$.fn.autogrow.resize = function(textarea) {<br />
var lineHeight = parseInt($(textarea).css('line-height'), 10);<br />
var lines = textarea.value.split('\n');<br />
var columns = textarea.cols;<br />
var lineCount = 0;<br />
$.each(lines, function() {<br />
lineCount += Math.ceil(this.length / columns) || 1;<br />
});<br />
var height = lineHeight * (lineCount + 1);<br />
$(textarea).css('height', height);<br />
};<br />
})(jQuery);<br />
<br />
$('textarea.form-control').autogrow();<br />
<br />
<br />
/* WSSHOWONSELECT */<br />
/**<br />
* applying show on select on the page and make sure everyting will be handled as needed<br />
*/<br />
function WsShowOnSelect() {<br />
var selectArray = [];<br />
$('.WSShowOnSelect').find('[data-wssos-show]').each(function (index, elm) {<br />
if ( $(elm).is('option') ) {<br />
var isInArray = false;<br />
var selectParent = $(elm).parent()[0];<br />
for ( var i = 0; i < selectArray.length; i++ ) {<br />
if ( $(selectParent).is($(selectArray[i])) ) {<br />
isInArray = true;<br />
}<br />
}<br />
if ( !isInArray ) {<br />
selectArray.push(selectParent);<br />
handleSelect(selectParent);<br />
}<br />
} else if ( $(elm).is('input[type=radio]') ) {<br />
handleRadio(elm);<br />
} else if ( $(elm).is('input[type=checkbox]') ) {<br />
handleCheckbox(elm);<br />
} else if ( $(elm).is('button') ) {<br />
handleButton(elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the radio button changes, show what is needed<br />
* @param radioElm<br />
*/<br />
function handleRadio(radioElm) {<br />
var pre_wssos_value = $(radioElm).data('wssos-show');<br />
var pre_parent_wssos = $(radioElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(radioElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(radioElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( radioElm.checked ) {<br />
$(pre_wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(pre_wssos_elm);<br />
} else {<br />
putAllTypesNameInData(pre_wssos_elm);<br />
}<br />
$(pre_parent_wssos).find('input[type=radio][name="'+ radioElm.name +'"]').on('change', function () {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
$(parent_wssos).find('input[name="'+this.name+'"][type="radio"]').each(function(index, radiobtn) {<br />
var radio_hide_data_attr = $(radiobtn).data('wssos-show');<br />
$(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]').addClass('hidden');<br />
putAllTypesNameInData($(parent_wssos).find('[data-wssos-value="'+radio_hide_data_attr+'"]'));<br />
});<br />
<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* handle the checkbox changes, show what is needed<br />
* @param checkElm<br />
*/<br />
function handleCheckbox(checkElm) {<br />
var pre_wssos_value = $(checkElm).data('wssos-show');<br />
var pre_parent_wssos = $(checkElm).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
if ( $(checkElm).parent().hasClass('WSShowOnSelect') ) {<br />
pre_parent_wssos = $(checkElm).parent()[0];<br />
pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
}<br />
if ( checkElm.checked ) {<br />
pre_wssos_elm.removeClass('hidden');<br />
// set the dataset value of data-name-attribute back in the name attribute<br />
putAllTypesDataInName(pre_wssos_elm);<br />
<br />
// set the name value of the unchecked element in the value of data-name-attribute and remove the name attribute<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
putAllTypesNameInData(pre_unchecked_elm);<br />
}<br />
} else {<br />
// set data-name-attribute to the value of name attribute and remove the name attribute<br />
putAllTypesNameInData(pre_wssos_elm);<br />
<br />
if ( $(checkElm).has('data-wssos-show-unchecked') ) {<br />
var pre_unchecked_value = $(checkElm).data('wssos-show-unchecked');<br />
var pre_unchecked_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_unchecked_value+'"]');<br />
$(pre_unchecked_elm).removeClass('hidden');<br />
// set the name attribute to the value of data-name-attribute<br />
putAllTypesDataInName(pre_unchecked_elm);<br />
}<br />
}<br />
$(checkElm).on('change', function(e) {<br />
e.stopPropagation();<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( $(this).parent().hasClass('WSShowOnSelect') ) {<br />
parent_wssos = $(this).parent()[0];<br />
wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
}<br />
if ( this.checked ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
<br />
if ( $(this).has('data-wssos-show-unchecked') ) {<br />
var wssos_unchecked_value = $(this).data('wssos-show-unchecked');<br />
var wssos_unchecked_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_unchecked_value+'"]');<br />
if ( this.checked ) {<br />
wssos_unchecked_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_unchecked_elm);<br />
} else {<br />
wssos_unchecked_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_unchecked_elm);<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* handle the select box changes to show what is needed on select<br />
* @param selectElm<br />
*/<br />
function handleSelect(selectElm) {<br />
var selectVal = $(selectElm).val();<br />
$(selectElm).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(option).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected || $(option).val() === selectVal) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
<br />
$(selectElm).on('change', function () {<br />
$(this).children().each(function (index, option) {<br />
var wssos_value = $(option).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
if ( option.selected ) {<br />
wssos_elm.removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
} else {<br />
wssos_elm.addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
}<br />
});<br />
});<br />
}<br />
<br />
function handleButton(btnElm) {<br />
var pre_wssos_value = $(this).data('wssos-show');<br />
var pre_parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var pre_wssos_elm = $(pre_parent_wssos).find('[data-wssos-value="'+pre_wssos_value+'"]');<br />
<br />
// set up the start and make sure the element is hidden<br />
$(pre_wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(pre_wssos_elm);<br />
// add on click listener to the button<br />
$(btnElm).on('click', function(e) {<br />
var wssos_value = $(this).data('wssos-show');<br />
var parent_wssos = $(this).parentsUntil('.WSShowOnSelect').parent()[0];<br />
var wssos_elm = $(parent_wssos).find('[data-wssos-value="'+wssos_value+'"]');<br />
<br />
// possibility to hide the wanted element back if an option<br />
if ( !$(wssos_elm).hasClass('hidden') ) {<br />
$(wssos_elm).addClass('hidden');<br />
putAllTypesNameInData(wssos_elm);<br />
} else {<br />
$(wssos_elm).removeClass('hidden');<br />
putAllTypesDataInName(wssos_elm);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* find all different types which name attribute should go to the dataset<br />
* @param elm<br />
*/<br />
function putAllTypesNameInData(elm) {<br />
putNameAttrValueInDataset($(elm).find('input,select,textarea'));<br />
putRequiredInDataset($(elm).find('input,select,textarea'));<br />
}<br />
<br />
<br />
/**<br />
* find all different types which data-attribute should go to the name-attribute<br />
* @param elm<br />
*/<br />
function putAllTypesDataInName(elm) {<br />
putDatasetValueBackInName($(elm).find('input,select,textarea'));<br />
putDatasetInRequired($(elm).find('input,select,textarea'));<br />
}<br />
<br />
/**<br />
* set the name attribute value to the dataset data-name-attribute, remove the name attribute<br />
* @param elm<br />
*/<br />
function putNameAttrValueInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).attr('name') !== '' ) {<br />
var name = $(elm).attr('name');<br />
if (name) {<br />
$(elm).attr('data-name-attribute', name);<br />
$(elm).removeAttr('name');<br />
}<br />
}<br />
});<br />
}<br />
<br />
<br />
/**<br />
* set the name attribute to the value of the data-name-attribute<br />
* @param elm<br />
*/<br />
function putDatasetValueBackInName($elm) {<br />
$.each($elm, function(index, elm) {<br />
if ( $(elm).attr('data-name-attribute') !== '' ) {<br />
var datasetName = $(elm).data('name-attribute');<br />
if (datasetName) {<br />
$(elm).attr('name', datasetName);<br />
}<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* set the required attr in the dataset data-ws-required<br />
* @param $elm<br />
*/<br />
function putRequiredInDataset($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).is(':required') ) {<br />
$(elm).attr('data-ws-required', true);<br />
$(elm).prop('required', false);<br />
}<br />
});<br />
}<br />
<br />
/**<br />
* if the element has data-ws-required the make the element required<br />
* @param $elm<br />
*/<br />
function putDatasetInRequired($elm) {<br />
$.each($elm, function (index, elm) {<br />
if ( $(elm).data('ws-required') ) {<br />
$(elm).prop('required', true);<br />
}<br />
})<br />
}<br />
<br />
/* END OF WSSHOWONSELECT */<br />
$( document ).ready(function() {<br />
if( $('.redirect-link').length > 0 ) {<br />
$('.redirect-link a')[0].click();<br />
}<br />
})</div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Participant&diff=2417
Template:Participant
2021-11-22T08:43:07Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Participant''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Participant<br />
|User=<br />
|Workflow=<br />
|Case ID=<br />
|Role=<br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly>{{#vardefine:@currentuser|{{#if:{{{Currentuser|}}}|{{{Currentuser|}}}|{{CURRENTLOGGEDUSER}} }} }}<!-- <br />
-->{{#vardefine:@servername|{{#if:{{{Servername|}}}|{{{Servername|}}}|{{SERVERNAME}} }} }}<!-- <br />
-->{{#vardefine:@fullpagename|{{#if:{{{Fullpagename|}}}|{{{Fullpagename|}}}|{{FULLPAGENAME}} }} }}<!-- <br />
--><div data-poll="Participant" data-workflow="{{{Workflow|}}}" data-parameters="Currentuser={{#var:@currentuser}}^Servername={{#var:@servername}}<br />
^Role={{{Role|}}}^Workflow={{{Workflow|}}}^User={{{User|}}}^Case ID={{{Case ID|}}}"></div><!-- <br />
--><div class="d-none">__NOTOC__ __NOTITLE__{{#if:{{{User|}}}|{{#set:Class=Participant|Role={{{Role|}}}|Workflow={{{Workflow|}}}|User={{{User|}}}|Case ID={{{Case ID|}}}|Name={{{Name|}}} }} }}</div><!--<br />
-->{{#vardefine:@allowed|{{#ifeq:User:{{#var:@currentuser}}|{{{User|}}}|Yes|{{#ifsysop:Yes|No}}}}}}<br />
{{#vardefine:@judge|{{#show:{{{Workflow|}}}|?Judge}} }}<br />
{{#ifeq:{{#var:@allowed}}|Yes|<h1>{{#switch:{{{Role|}}}|Judge={{fa|gavel}}|Plaintiff={{fa|book}}|Juror={{fa|balance-scale}} }}&nbsp;{{#if:{{{Name|}}}|{{{Name|}}}|{{{Role|}}} }} - {{#ask:[[Class::Suit]][[Workflow::{{{Workflow|}}}]]}}</h1><!--<br />
--><h2>Case Progress:</h2>{{#switch:{{#show:{{{Workflow|}}}|?Stage}}<br />
|Waiting for Plaintiff verdict=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="active">Waiting for Plaintiff verdict</div><div>Case is waiting for approval</div><div>Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs judge=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="active">Case needs a judge</div><div>Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Judge accepted=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="active">Judge accepted</div><div>Case is filed</div><div>Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|Needs jurors=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="done">Judge accepted</div><div class="done">Case is filed</div><div class="active">Case needs jurors</div><div>Suit in progress</div><div>Settled</div></div><br />
|In progress=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="done">Judge accepted</div><div class="done">Case is filed</div><div class="done">Case needs jurors</div><div class="active">Suit in progress</div><div>Settled</div></div> <br />
|Settled=<div class="d-flex flow-index"><div class="done">Case is proposed</div><div class="done">Waiting for Plaintiff verdict</div><div class="done">Case is waiting for approval</div><div class="done">Case needs a judge</div><div class="done">Judge accepted</div><div class="done">Case is filed</div><div class="done">Case needs jurors</div><div class="done">Suit in progress</div><div class="active">Settled</div></div><br />
}}<br />
<h2>Your checklist:</h2>{{#vardefine:@check|{{#ask:[[{{{Workflow|}}}]]|?Juror amount|?Suit date|?Settlement date|?Meeting date|format=array|link=none}} }}<br />
{{#switch:{{{Role|}}}<br />
|Plaintiff=<div class="d-flex flow-index"><div class="done">Propose a case</div><div class="done">Complete verdict<br />
</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|2}}|class="done"}}>Reevaluate verdict</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|4}}|{{#ifexpr:{{#time: U |{{#explode:{{#var:@check}}|<PROP>|4}} }} < {{#time: U | now}} |class="done"}} }}>Attend meeting</div></div><br />
|Judge=<div class="d-flex flow-index"><div class="done">Read the Plaintiff pleading and proposed verdict</div><div class="done">Accept or Reject the Plaintiff filing<br />
</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|2}}|class="done"}}>Set settlement date </div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|1}}|class="done"}}>Set the number of Jurors</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|2}}|class="done"}}>Set date for Jurors verdicts</div><div {{#vardefine:@verdict|{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::{{{User|}}}]]|link=none}} }}{{#if:{{#var:@verdict}}|class="done"}}>Complete your verdict</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|4}}|class="done"}}>Set date for meeting with Jurors and the Plaintiff</div><div {{#ifeq:{{#show:{{{Workflow|}}}|?Stage}}|Settled|class="done"}}>Complete your verdict and settle the case</div></div><br />
|Juror=<div class="d-flex flow-index"><div class="done">Read the Plaintiff pleading and proposed verdict</div><div {{#vardefine:@verdict|{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::{{{User|}}}]]|link=none}} }}{{#if:{{#var:@verdict}}|class="done"}}>Create verdict<br />
</div><div {{#if:{{#explode:{{#var:@check}}|<PROP>|4}}|{{#ifexpr:{{#time: U |{{#explode:{{#var:@check}}|<PROP>|4}} }} < {{#time: U | now}} |class="done"}} }}>Attend meeting</div></div><br />
}}<br />
<div class="row "><br />
<div class="col-12 col-lg-8 "><br />
<div class="box"><div class="d-flex justify-content-between"><h2>Case information</h2> {{#ifeq:{{{Role|}}}|Plaintiff|{{#widget:link|type=a|text=Edit|class=btn-green|href={{fullurl:edit case|id={{#replace:{{{Workflow|}}}|Workflow/| }} }} }} }}</div><!--<br />
-->{{#ifeq:{{#show:{{{Workflow}}}|?Stage }}|Settled|| {{#if:{{#var:@judge}}|<!--<br />
<br />
<br />
--> }}<!--<br />
<br />
-->{{#vardefine:@classQ|{{#show:{{{Workflow|}}}|?Class request|link=none}} }}{{#if:{{#var:@classQ}}|<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Class request:</b><br />
|2={{#ifeq:{{#var:@classQ}}|Declined|Declined|{{#ifeq:{{#var:@classQ}}|Approved|<br />
Approved: Class page: {{#ask:[[Class::Workflow]][[Class case IDs::{{{Workflow|}}}]]|format=array|link=none}} |Pending}} }}<br />
}}<br />
}} }}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Role:</b><br />
|2={{{Role|}}}<br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Suit:</b><br />
|2={{#vardefine:@title|{{#ask:[[Class::Suit]][[Case ID::{{{Case ID|}}}]]}} }}{{#if:{{#var:@title}}|{{#var:@title}}|{{#show:{{{Workflow}}}|?Lie|link=none }} }}<br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Stage:</b><br />
|2={{#show:{{{Workflow}}}|?Stage }}<br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>The Plaintiff Accusation with Evidence :</b><br />
|2={{#show:{{{Workflow}}}|?Accusation|link=none }}<br />
}}<!--<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Marked <span class="red">lies</span> and <span class="dark-blue">truths</span> :</b><br />
|2=<div class="lie-input">{{#show:{{{Workflow}}}|?Markup|Link=none }}</div><br />
}}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Lie locations:</b><br />
|2={{#arraymap:{{#show:{{{Workflow|}}}|?Locations}}|,|@@@|<br />
{{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}} |<br>}}<br />
}}<!--<br />
<br />
-->{{#vardefine:@meeting|{{#show:{{{Workflow}}}|?Meeting|link=none }} }}<!--<br />
<br />
-->{{#if:{{#var:@meeting}}|{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Meeting link</b><br />
|2=[{{#var:@meeting}} Meeting]<br />
}} }}<!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Suit date</b><br />
|2={{#show:{{{Workflow}}}|?Slot|link=none }}<br />
}} <!--<br />
<br />
-->{{Item responsive |Cols=6-6<br />
|1=<b>Evidence of lie appearance:</b>{{#vardefine:@uuid|{{#show:{{{Workflow|}}}|?uuid|link=none}} }}<br />
|2={{#vardefine:@counter|0}}{{#if:{{#var:@uuid}}|{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#var:@uuid}}]]|?=|?Modification date|?Type|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{fa|file-pdf}}|{{fa|image}} }} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|Pdf|Image}}<br />
|BodyText={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{#widget:pdf|pdf={{filepath:{{#explode:{{#explode:@@@|<PROP>|0}}|:|1}} }} }}|[[{{#explode:@@@|<PROP>|0}}]]}}Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!-- <br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1 }} }}|}} }} }}<!--<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Verdicts:</b><br />
}}<!--<br />
<br />
-->{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::!{{{User|}}}]]|?Role|link=none|format=array}}|,|@@@| <br />
{{#tag:html|<details><br />
<summary>{{#explode:@@@|<PROP>|1}} verdict</summary><br />
}}<br />
{{verdict results|Verdict={{#explode:@@@|<PROP>|0}} }}<br />
{{#tag:html|</details>}}<br />
|}}</div><br />
<!--<br />
<br />
--> {{#ifeq:{{{Role|}}}|Plaintiff|{{#ifeq:{{#show:{{{Workflow}}}|?Stage }}|Needs judge|<br />
{{#vardefine:@randomjudge|{{#ask:[[User group::icol-user]][[Class::Member]][[Role::Judge]][[!{{{User|{{CURRENTLOGGEDUSER}} }}}]] [[Online since::>{{#time: r | now - 1 hour}}]]<br />
|Limit=1<br />
|format=array<br />
|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Judge]][[!{{{User|{{CURRENTLOGGEDUSER}} }}}]]|Limit=1|format=array|order=random}} }} }}<br />
{{#tag:wsform|<h2>Invite a Judge</h2><br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Stage|value=Needs judge}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Random judge|value={{#var:@randomjudge}} }}<br />
{{#tag:wsfield||type=submit|class=btn btn-green|value=Invite Judge}}<br />
|action=addToWiki|mwreturn={{fullurl:{{FULLPAGENAME}} }} }}<br />
}} }}<!--<br />
<br />
-->{{#ifeq:{{#show:{{{Workflow}}}|?Stage }}|Settled|| {{#ifeq:{{{Role|}}}|Judge|<div class="box"><h2>Case settings</h2><br />
{{Item responsive |Cols={{#var:@cols|2-10}}<br />
|1=<b>Jurors:</b><br />
|2={{#vardefine:zz|{{#ask:[[{{{Workflow|}}}]]|?Random juror|?Declined juror|?Judge|?Filed by|?Jurors|format=array|link=none}} }}<br />
{{#vardefine:@countjur|0}}{{#arraymap:{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]][[Role::Juror]]|?Role|?Name|?User|format=array|link=none}}|,|@@@|{{#if:{{#explode:@@@|<PROP>|2}}|<div class="btn btn-green btn-square">{{#explode:@@@|<PROP>|2}}<br><small>Accepted</small>{{#tag:wsform|{{#arraydefine:@random juror|{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Random juror|format=array|link=none}}|<PROP>|1}}|<MANY>}}{{#arraydefine:@user|{{#explode:@@@|<PROP>|3}} }}{{#arraydiff:new_key|@random juror|@user}}{{#arraydefine:@Jurorsarr|{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Jurors|format=array|link=none}}|<PROP>|1}}|<MANY>}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#if:{{#arrayprint:new_key}}| {{#arrayprint:new_key}}, }}{{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Declined juror|value={{#if:{{#explode:{{#var:zz}}|<PROP>|2}}|{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|###|,}}, {{#explode:@@@|<PROP>|3}}| {{#explode:@@@|<PROP>|3}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Jurors|value={{#arraydiff:jrs|@Jurorsarr|@user}}{{#arrayprint:jrs}} }}<br />
{{#tag:wsfield||type=submit|value=x|class=remove-juror}}<br />
|action=addToWiki}}</div>|<div class="btn btn-green btn-square">{{#explode:@@@|<PROP>|1}}<br><small>Accepted</small></div>}}{{#vardefine:@countjur|{{#expr:{{#var:@countjur}} + 1}} }}|}}<!-- <br />
-->{{#arraymap:{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Random juror|format=array|link=none}}|<PROP>|1}}|<MANY>|@@@|{{#ifeq:@@@|done||<div class="btn btn-gray btn-square"> Juror {{#vardefine:@countjur|{{#expr:{{#var:@countjur}} + 1}} }}{{#var:@countjur}}<br><small>Invited<!-- 1 day ago --></small><br><!--<br />
<br />
<br />
-->{{#tag:wsform|{{#arraydefine:@random juror|{{#explode:{{#ask:[[{{{Workflow|}}}]]|?Random juror|format=array|link=none}}|<PROP>|1}}|<MANY>}}{{#arraydefine:@user|@@@ }}{{#arraydiff:new_key|@random juror|@user}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#if:{{#arrayprint:new_key}}| {{#arrayprint:new_key}}, }}{{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[!{{#explode:@@@|<PROP>|3}}]][[Role::Juror]][[!{{#explode:{{#var:zz}}|<PROP>|4}}]][[!{{#explode:{{#var:zz}}|<PROP>|3}}]]{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|1}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|5}}|<MANY>|###|[[!###]]|}}{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|[[!###]]|}}|Limit=1|format=array|order=random}} }} }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Declined juror|value={{#if:{{#explode:{{#var:zz}}|<PROP>|2}}|{{#arraymap:{{#explode:{{#var:zz}}|<PROP>|2}}|<MANY>|###|###|,}}, @@@| @@@ }} }}<br />
<!--{{#tag:wsfield||type=submit|value=x|class=remove-juror}}--><br />
|action=addToWiki}}</div>}} |}}<br />
}}<!-- <br />
-->{{#vardefine:@tokenstats|<nowiki>{{subst:#ttaward:</nowiki>{{PAGENAME:{{#show:{{{Workflow}}}|?Filed by|link=none}} }}<nowiki>}}</nowiki>}}<br />
{{#ifeq:{{#show:{{{Workflow}}}|?Stage|link=none}}|Judge accepted|<br />
<wsform action="addToWiki" ><br />
<wscreate mwwrite="Case/{{{Case ID|}}}" mwtemplate="Suit" /><br />
<wsfield type="hidden" name="Title" value="{{#show:{{{Workflow|}}}|?Lie|link=none}}" /><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="vbvbv" value="{{#var:@tokenstats}}" /><br />
<h2>Suit settings</h2><br />
<p>Choose a date for the suit, choose the number of jurors needed for the suit, and file the suit. Random jurors will be ask to participate, and the plaintiff will be notified about the suit date</p><br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Stage|value=Needs jurors}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Juror amount }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Suit date }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow|}}} }}|template=Workflow|formfield=Settlement date }}<br />
<div id="jurors">{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#show:{{{Workflow}}}|?Filed by|link=none}}]]|Limit=5|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#show:{{{Workflow}}}|?Filed by|link=none}}]]|Limit=5|format=array|order=random}} }} }}</div><!--<br />
<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors needed for the case</b><br />
|2={{#tag:wsfield||type=number|name=Juror amount|min=1|max=5|class=form-number form-control|value=5}}<br />
}}<small class="text-muted">Set the number of Jurors you are requesting</small><br />
<div class="clear-both"></div><!-- <br />
--><!--<br />
<br />
-->{{#ifeq:{{PAGENAME:{{#show:{{{Workflow}}}|?Filed by|link=none}} }}|{{#var:@currentuser}}|<wsfield type="button" disabled="disabled" class="btn btn-green mb-4" >Cannot create docket. You're the plaintiff.</wsfield>|<br />
<wsfield type="button" onclick="setJurors()" class="btn btn-green mb-4" >Create docket</wsfield><br />
<wsfield type="submit" value="Create docket" id="submit-docket" class="btn btn-green mb-4 d-none"/>}}<!--<br />
-->{{#tag:html|<script><br />
var oldjurrors = document.getElementById('jurors').querySelector('input').value;<br />
<br />
function setJurors(){<br />
var amount = document.querySelector('[name="Juror amount"]').value;<br />
var jur = oldjurrors.split('-^^--^^-')[1];<br />
var jurarray = jur.split(',');<br />
var newjurrors = jurarray.slice(0 , amount);<br />
document.getElementById('jurors').querySelector('input').value = oldjurrors.split('-^^--^^-')[0]+'-^^--^^-'+newjurrors;<br />
document.getElementById('submit-docket').click();<br />
}<br />
<br />
</script>}}<!--<br />
<br />
--></wsform>|<!--<br />
--><h2>Change suit settings</h2><!--<br />
--><p>Participants in this case will be informed about your changes to the suit</p><!--<br />
--><wsform action="addToWiki"> <br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Stage|value=Needs jurors}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Juror amount }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Change|value=yes }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Change seen by|value=none }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Settlement date }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Meeting date }}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Suit date }}<!-- <br />
--><div id="jurrors" class="d-none">{{#vardefine:@wf|{{#ask:[[{{{Workflow}}}]]|?Random juror|?Declined juror|?Jurors|?Filed by|link=none|format=array}} }}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|1}}|<MANY>|@@@|@@@|,}}</div><br />
<div id="jurors">{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value={{#ask:[[Online since::>{{#time: r | now - 1 hour}}]][[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#explode:{{#var:@wf}}|<PROP>|4}}]]{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|2}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|3}}|<MANY>|@@@|[[!@@@]]|}}|Limit=5|format=array|order=random<br />
|default={{#ask:[[User group::icol-user]][[Class::Member]][[Role::Juror]][[!{{{User|}}}]][[!{{#explode:{{#var:@wf}}|<PROP>|4}}]]{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|1}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|2}}|<MANY>|@@@|[[!@@@]]|}}{{#arraymap:{{#explode:{{#var:@wf}}|<PROP>|3}}|<MANY>|@@@|[[!@@@]]|}}|Limit=5|format=array|order=random }} }} }}</div><br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors needed for the case</b><br />
|2={{#tag:wsfield||type=number|name=Juror amount|class=form-number form-control|value={{#show:{{{Workflow}}}|?Juror amount }}|min={{#show:{{{Workflow}}}|?Juror amount }}|max=5 }}<br />
}}<small class="text-muted">Set the number of Jurors you are requesting</small><br />
<div class="clear-both"></div><!-- <br />
--><wsfield type="button" onclick="changeJurors()" class="btn btn-green mb-4 mt-4 float-left" >Change suit</wsfield><br />
<wsfield type="submit" value="Change suit" id="change-suit" class="btn btn-green mb-4 d-none "/><br />
{{#tag:html|<script><br />
var oldjurrors = document.getElementById('jurors').querySelector('input').value;<br />
<br />
<br />
function changeJurors(){<br />
var amount = document.querySelector('[name="Juror amount"]').value;<br />
var oldamount = document.querySelector('[name="Juror amount"]').getAttribute('min');<br />
<br />
<br />
if(amount > oldamount){<br />
var pastjurrors = document.getElementById('jurrors').innerHTML;<br />
<br />
var jur = oldjurrors.split('-^^--^^-')[1];<br />
var jurarray = jur.split(',');<br />
var oldjurarray = pastjurrors.split(',');<br />
var newjurrors = jurarray.slice(0 , amount - oldamount);<br />
document.getElementById('jurors').querySelector('input').value = oldjurrors.split('-^^--^^-')[0]+'-^^--^^-'+oldjurarray.join()+','+newjurrors;<br />
document.getElementById('change-suit').click();<br />
}else{<br />
var pastjurrors = document.getElementById('jurrors').innerHTML;<br />
var oldjurarray = pastjurrors.split(',');<br />
document.getElementById('jurors').querySelector('input').value = oldjurrors.split('-^^--^^-')[0]+'-^^--^^-'+oldjurarray.join();<br />
<br />
document.getElementById('change-suit').click();<br />
<br />
}<br />
}<br />
<br />
</script>}}<br />
</wsform><br />
<wsform action="addToWiki"> <br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Stage|value=Settled}}<br />
{{#tag:wsedit||target={{PAGEID:{{{Workflow}}} }}|template=Workflow|formfield=Random juror|value=done}}<br />
<wsfield type="submit" value="Mark case settled" class="btn btn-red mb-4 float-right mt-4"/><div class="clear-both"></div><br />
</wsform><br />
}}</div>}} }}<!--<br />
<br />
<br />
<br />
--><div class="box"><h2>Your verdict :</h2>{{#vardefine:@verdict|{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[User::{{{User|}}}]]|link=none}} }}{{#if:{{#var:@verdict}}|{{verdict results|Verdict={{#var:@verdict}} }}<br>{{#widget:link|type=a|href={{fullurl:{{#var:@verdict}}|Participant={{#var:@fullpagename}} }}|text=Edit verdict|class=btn btn-green }}|<!--<br />
--><wsform action="addToWiki">{{#ifeq:{{{Role|}}}|Juror|{{#vardefine:@verdictdate|{{#show:{{{Workflow}}}|?Suit date|link=none}} }} {{#if:{{#var:@verdictdate}}|Create your Verdict before {{#var:@verdictdate}} }}<br> }} <br />
<wscreate mwwrite="Verdict:{{{Case ID|}}}/" mwtemplate="Verdict" mwoption="range:00001-99999" mwfollow/><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="User" value="{{{User|}}}" /><br />
<wsfield type="hidden" name="Role" value="{{{Role|}}}" /><br />
<wsfield type="hidden" name="Name" value="{{{Name|}}}" /><br />
<wsfield type="hidden" name="Participant" value="{{#var:@fullpagename}}" /><br />
<wsfield type="submit" value="Create verdict" class="btn btn-green"/><br />
</wsform>}}</div></div><div class="col-12 col-lg-4"><!--<br />
-->{{#vardefine:@meetingdate|{{#show:{{{Workflow}}}|?Meeting date}} }}{{#if:{{#var:@meetingdate}}|<div class="info-box"><h2>Online meeting</h2>A online meeting with all the participants on this case is planned on <h2>{{#time:d-M-Y|{{#var:@meetingdate}} }}</h2> [[file:zoom.png|150px|link=]]</div>}}<br />
<!--<br />
--><div class="info-box"><br />
<h2>Chat</h2>Talk with other participants on this case<hr><!-- <br />
-->{{#arraydefine:@chat|{{#ask:[[Class::Chat]][[Workflow::{{{Workflow|}}}]]|?Message|?Role|?User|?Modification date|?Name|format=array|limit={{#if:{{#urlget:chat}}|999|10}}|sort=Modification date|order=desc}} }}{{#arraysort:@chat|reverse}}<!-- <br />
-->{{#if:{{#urlget:chat}}||{{#ifexpr:{{#arraysize:@chat}} > 9 |{{#Widget:link|type=a|class=btn btn-green pt-1 pb-1 pr-4 pl-4|text={{fa|history}} Load older|href={{fullurl:{{#var:@fullpagename}}|chat=all}} }}<hr>}} }}<!-- <br />
-->{{#arraymap:{{#arrayprint:@chat}}|,|@@@| <br />
<div class="chat {{#ifeq:{{#explode:@@@|<PROP>|3}}|{{{User|}}}|me}} "><div class="d-flex"><h3 {{#ifeq:{{#explode:@@@|<PROP>|3}}|{{{User|}}}||class="chat-{{#if:{{#explode:@@@|<PROP>|5}}|{{#explode:{{#explode:@@@|<PROP>|5}}| |1}}|{{#explode:@@@|<PROP>|2}} }}"}}>{{#if:{{#explode:@@@|<PROP>|5}}|{{#explode:@@@|<PROP>|5}}|{{#explode:@@@|<PROP>|2}} }}</h3><h4 class="pl-2">{{#explode:@@@|<PROP>|4}}</h4></div>{{#explode:@@@|<PROP>|1}}</div><br />
|}}<br />
{{#vardefine:@mails|{{#arraymap:{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]]|?User.User right|format=array }}|,|@@@|{{#explode:@@@|<PROP>|1}} |,}} }}<br />
{{#vardefine:@link|{{#ask:[[Class::Suit]][[Workflow::{{{Workflow|}}}]]|link=none }} }}<br />
<wsform action="mail" id="case-form"> <br />
<wscreate mwwrite="Chat/" mwtemplate="Chat" mwoption="range:00001-99999" /><br />
<wsemail to="noreply@{{#var:@servername}}" from="noreply@{{#var:@servername}}" bcc="{{#var:@mails}}" subject="New chat message" template="Template:Chat mail" ><br />
</wsemail><br />
<wsfield type="hidden" name="link" value="{{#if:{{#var:@link}}|{{fullurl: {{#var:@link}} }} }}" /><br />
<wsfield type="hidden" name="Case ID" value="{{{Case ID|}}}" /><br />
<wsfield type="hidden" name="Workflow" value="{{{Workflow|}}}" /><br />
<wsfield type="hidden" name="User" value="{{{User|}}}" /><br />
<wsfield type="hidden" name="Role" value="{{{Role|}}}" /><br />
<wsfield type="hidden" name="Name" value="{{{Name|}}}" /><br />
<wsfield type="textarea" name="Message" class="form-control mt-2 mb-2" /><br />
<div class="d-flex justify-content-end"><wsfield type="submit" value="Send" class="btn btn-green"/></div><br />
</wsform><br />
<br />
</div><!--<br />
<br />
--></div>|<div class="m-5 alert alert-danger">Not permitted</div>}}<!-- end allowed <br />
--></includeonly></div>
Maintenance script
https://cm2.liecourt.com/index.php?title=Template:Suit&diff=2215
Template:Suit
2021-10-13T13:30:48Z
<p>Maintenance script: Fill database</p>
<hr />
<div><noinclude>{{Managed<br />
|Version=1.0<br />
|Version notes=1.0 - First managed version<br />
|Short description=<br />
}}<br />
<br />
This is the '''Suit''' template. It should be called in the following format:<br />
<br />
<pre><br />
{{Suit<br />
|Case ID=<br />
|Title=<br />
|Workflow=<br />
}}<br />
</pre><br />
<br />
</noinclude><includeonly><br />
{{#if:{{{Case ID|}}}|<br />
{{#set:Class=Suit|Title={{{Title|}}}|Type={{{Type|Individual}}}|Case ID={{{Case ID|}}}|Workflow={{{Workflow|}}} }}<br />
}}<br />
<div class="d-none">__NOTOC__ __NOTITLE__{{#tag:html|<style><br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h1 {<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
.suit-info .row-formitemresponsive > div{<br />
align-self: center;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
.row-formitemresponsive{<br />
padding: 7px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.btn-green {<br />
background: #339966;<br />
color: white;<br />
border-radius:30px;<br />
padding:3px 24px;<br />
font-size:20px;<br />
}<br />
summary{<br />
list-style-image:url({{filepath:Bullet.svg}});<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
summary::-webkit-details-marker {<br />
background: url({{filepath:Bullet.svg}});<br />
color: transparent;<br />
}<br />
summary:focus {<br />
border: none;<br />
outline: none;<br />
}<br />
h1 {<br />
font-size: 32px;<br />
border: none;<br />
font-weight: 900;<br />
color: #006699;<br />
}<br />
h2 {<br />
font-size: 21px;<br />
border: none;<br />
padding:0;<br />
font-weight: 600;<br />
color: #006699;<br />
}<br />
h1 > span{<br />
display: flex;<br />
justify-content: space-between;<br />
}<br />
h3 {<br />
font-size: 19px;<br />
border: none;<br />
margin: 0;<br />
padding: 0;<br />
color: #484848;<br />
font-weight: 600;<br />
}<br />
#verdict-form input {<br />
border-radius: 30px;<br />
background: #f2f2f2;<br />
border: none;<br />
padding-left: 24px;<br />
box-shadow: none;<br />
}<br />
.checkinput-button input[type="radio"]:checked + span {<br />
background-color: #339966;<br />
color: rgb(255, 255, 255);<br />
}<br />
.checkinput-button label {<br />
font-weight: 600;<br />
font-size: 14px;<br />
margin-bottom: 0px;<br />
}<br />
.checkinput-button {<br />
background-color: #f2f2f2;<br />
position: relative;<br />
margin: 0;<br />
border-radius: 30px 0 0 30px;<br />
overflow: auto;<br />
}<br />
.d-flex .checkinput-button:nth-child(2){<br />
border-radius: 0 30px 30px 0;<br />
}<br />
input[type="radio"]{<br />
display:none;<br />
}<br />
.checkinput-button label span {<br />
text-align: center;<br />
display: block;<br />
padding: 9px 25px;<br />
}<br />
#verdict-form input.btn-submit {<br />
background: #339966;<br />
color: white;<br />
float: right;<br />
padding-right: 24px;<br />
}<br />
.form-number{<br />
display: inline-block;<br />
width: 5em;<br />
}<br />
.row-formitemresponsive div:first-child{<br />
align-self: center;<br />
}<br />
<br />
.row-formitemresponsive{<br />
padding: 7px 8px;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
.verdict-item{<br />
padding: 7px 0;<br />
border-top: 1px solid #f2f2f2;<br />
}<br />
<br />
div .verdict-item:first-child{<br />
border-top: none;<br />
}<br />
.percentage {<br />
border-radius: 30px;<br />
margin-left: 7px;<br />
white-space: nowrap;<br />
background: #f2f2f2;<br />
padding-right: 19px;<br />
}<br />
.attachment {<br />
padding: 7px 24px;<br />
background: #f2f2f2;<br />
border-radius: 30px;<br />
font-size: 16px;<br />
margin-top: 0.5rem;<br />
margin-left: 7px;<br />
}<br />
.image-modal img{<br />
width:100%;<br />
height:auto;<br />
}<br />
.vi{<br />
border-radius: 30px;<br />
padding: 7px 25px;<br />
background: #f2f2f2;<br />
}<br />
.truth-no{<br />
background:#990000;<br />
color:white;<br />
}<br />
.truth-yes{<br />
background:#339966;<br />
color:white;<br />
<br />
}<br />
.verdict-type {<br />
writing-mode: vertical-lr;<br />
text-orientation: mixed;<br />
transform: rotate(180deg);<br />
}<br />
.verdict-wrapper {<br />
border-left: 2px solid #bdbcbc;<br />
padding-left: 14px;<br />
margin-left: 14px;<br />
}<br />
.inner-percentage {<br />
background: #f2f2f2;<br />
padding: 0 7px;<br />
border-radius: 40px;<br />
margin: 0 -16px;<br />
}<br />
<br />
.flex-reverse{<br />
display: flex;<br />
flex-direction: row-reverse;<br />
}<br />
</style>}}</div><!--<br />
-->{{#if:{{CURRENTLOGGEDUSER}}|{{#vardefine:@class|{{#ask:[[Class::Workflow]][[Class case IDs::{{{Workflow|}}}]]|format=array|link=none}} }} {{#if:{{#var:@class}}|This suit is part of a class: {{#ask:[[Class::Suit]][[Workflow::{{#var:@class}}]]}}|<br />
<br />
{{#vardefine:@type|{{#show:{{{Workflow|}}}|?Type|link=none}} }}<br />
<br />
<div class="row"><div class="col-12 col-lg-8 box">{{#tag:html|<h1><span>{{{Title|}}}</span><!--<span>{{#widget:link|text=Suit history|href=#|type=a|class=btn-green}}</span>--></h1>}}<br />
<div class="suit-info">{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Case ID</b><br />
|2={{{Case ID|}}}<br />
}}<br />
<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Type</b><br />
|2={{#var:@type}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Status</b><br />
|2={{#vardefine:@workflow|{{#ask:[[{{{Workflow|}}}]]|?Stage|?Locations|?Topic|?Filed by|?Jurors|?Juror amount|?Description|?Markup|?Suit date|?Settlement date|?Accusation|format=array|link=none}} }}{{#explode:{{#var:@workflow}}|<PROP>|1}}<br />
}}<br />
{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Number of Jurors</b><br />
|2={{#arraydefine:@jurors|{{#explode:{{#var:@workflow}}|<PROP>|5}}|<MANY>}}{{#arraysize:@jurors}} / {{#explode:{{#var:@workflow}}|<PROP>|6}} accepted<br />
}}<br />
<br />
<br></div></div><div class="col-12 col-lg-4 ">{{#if:{{CURRENTLOGGEDUSER}}|{{#if:{{#vardefineecho:@participantpage|{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]][[User::User:{{CURRENTLOGGEDUSER}}]]|link=none}} }}|<!--<br />
-->{{#vardefine:@participantrole|{{#show:{{#var:@participantpage}}|?Role|link=none}} }}<div class="info-box "><br />
<h2>{{#switch:{{#var:@participantrole}}|Juror={{Fa|balance-scale}}|Judge={{Fa|gavel}}|Plaintiff={{fa|book}} }}</h2><br />
<div ><b>[[{{#var:@participantpage}}|Your participant page]]</b></div><br />
</div>}} }}<!--<br />
<br />
--><div class="info-box "><br />
<h2>Docket</h2><br />
<div ><b>Suit date</b><br>{{#if:{{#explode:{{#var:@workflow}}|<PROP>|9}}|{{#time:d M Y|{{#explode:{{#var:@workflow}}|<PROP>|9}} }}|undecided }}</div><br />
<div ><b>Settlement date</b><br>{{#if:{{#explode:{{#var:@workflow}}|<PROP>|10}}|{{#time:d M Y|{{#explode:{{#var:@workflow}}|<PROP>|10}} }}|undecided }}</div><br />
<div ><b>Jurors needed</b><br>{{#explode:{{#var:@workflow}}|<PROP>|6}}</div><br />
</div><!-- <br />
-->{{#ifsysop:<div class="info-box "><br />
<h2>Sysop tools</h2><!-- <br />
--><div ><b>Workflow</b><br>[[{{{Workflow|}}}]]</div><!--<br />
--><div ><b>Participants</b><br>{{#arraymap:{{#ask:[[Class::Participant]][[Workflow::{{{Workflow|}}}]]|?Role|?Name|format=array|link=none}}|,|@@@|[[{{#explode:@@@|<PROP>|0}}|{{#if:{{#explode:@@@|<PROP>|2}}|{{#explode:@@@|<PROP>|2}}|{{#explode:@@@|<PROP>|1}}}}]]|<br>}}</div><!--<br />
--></div>}}<!-- <br />
--></div></div><br />
<br />
{{#ifeq:{{#var:@type}}|Class|<br />
{{#arraydefine:@cases|{{#show:{{{Workflow|}}}|?Class case IDs|link=none}} }}<!-- <br />
--><h1>Class information</h1>{{#if:{{#ask:[[Class::Verdict]][[Workflow::{{{Workflow|}}}]][[Role::Judge]]}}|<br><!--<br />
--><ul class="nav nav-tabs"><!--<br />
--><li class="active nav-item">{{#widget:link|datatoggle=pill|href=#mainid|text=Verdicts|type=a|class=nav-link active}}</li><br />
{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<li>{{#widget:link|datatoggle=pill|href=#{{#replace:{{#explode:@@@|<PROP>|1}}| |_}}|text={{#explode:@@@|<PROP>|1}}|type=a|class=nav-link}}</li> |}}<br />
</ul><!--<br />
<br />
--><div class="tab-content"><!--<br />
--><div id="mainid" class="tab-pane active"><!--<br />
-->{{verdict results|id={{{Case ID|}}} }}<!--<br />
--></div><!--<br />
-->{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<div id="{{#explode:@@@|<PROP>|1}}" class="tab-pane fade"><!--<br />
-->{{verdict results|id={{{Case ID|}}}|Context={{#explode:@@@|<PROP>|1}}}}<!--<br />
--></div>|}}<!--<br />
--></div> }}<br />
<h1>Cases</h1><br />
<h2>This Class suit contains {{#arraysize:@cases}} cases</h2><br />
<ul class="nav nav-tabs"><br />
{{#vardefine:@casecounter|0}}<br />
{{#arraymap:{{#arrayprint:@cases}}|,|@@@|<br />
<li class="active nav-item">{{#widget:link|datatoggle=pill|href=#cases-{{#var:@casecounter}}|text={{#show:@@@|?Lie|link=none}}|type=a|class=nav-link {{#ifeq:{{#var:@casecounter}}|0|active}} }}</li><br />
{{#vardefine:@casecounter|{{#expr: {{#var:@casecounter}} + 1 }} }} |}}<br />
</ul><br />
{{#vardefine:@casecounter2|0}}<br />
<div class="tab-content"><br />
{{#arraymap:{{#arrayprint:@cases}}|,|@@@|<!--<br />
--><div id="cases-{{#var:@casecounter2}}" class="tab-pane {{#ifeq:{{#var:@casecounter2}}|0|active}}"><!--<br />
-->{{#vardefine:@workflow|{{#ask:[[@@@]]|?Lie|?Case ID|?Topic|?Filed by|?Jurors|?Juror amount|?Description|?Markup|?Locations|?Accusation|?uuid|format=array|link=none}} }}<!--<br />
-->{{Item responsive |Cols={{#var:@cols|4-8}}<br />
|1=<b>Lie</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|1}}<br />
}}<!--<br />
--><div class="row"><br />
<div class="col-lg-12 col-12 box mt-0"><br />
<h2>The Case</h2><br />
{{Item responsive |Cols=4-8<br />
|1=<b>Lie category</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|3}}<br />
}}<br />
{{Item responsive |Cols=4-8<br />
|1=<b>The Plaintiff Accusation with Evidence</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|10}}<br />
}}<!-- <br />
-->{{Item responsive |Cols=4-8<br />
|1=<b>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span> </b><br />
|2=<div class="lie-input">{{#explode:{{#var:@workflow}}|<PROP>|8}}</div><br />
}}<br />
{{Item responsive |Cols=4-8<br />
|1=<b>Evidence screenshot</b>{{#vardefine:@uuid|{{#show:{{{Workflow|}}}|?uuid|link=none}} }}<br />
|2={{#vardefine:@counter|0}}{{#if:{{#var:@uuid}}|{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#var:@uuid}}]]|?=|?Modification date|?Type|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{fa|file-pdf}}|{{fa|image}} }} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|Pdf|Image}}<br />
|BodyText={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{#widget:pdf|pdf={{filepath:{{#explode:{{#explode:@@@|<PROP>|0}}|:|1}} }} }}|[[{{#explode:@@@|<PROP>|0}}]]}}Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} }}|}}<br />
}}<br />
</div><br />
<div class="col-12 col-lg-12 mt-0 box" ><br />
<div ><br />
<h2>Lie location</h2><br />
{{#arraymap:{{#explode:{{#var:@workflow}}|<PROP>|9}}|,|@@@|<br />
{{Item responsive |Cols=2-10<br />
|1=<b>{{fa|external-link-alt}}</b><br />
|2={{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}}<br />
}}<br />
|}}<br />
</div><br />
</div><br />
</div><br />
<!--<br />
--><br>{{#if:{{#ask:[[Class::Verdict]][[Workflow::{{#explode:{{#var:@workflow}}|<PROP>|0}}]][[Role::Judge]]}}|<br><!--<br />
--><ul class="nav nav-tabs"><!--<br />
--><li class="active nav-item">{{#widget:link|datatoggle=pill|href=#mainid|text=Verdicts|type=a|class=nav-link active}}</li><br />
{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{#explode:{{#var:@workflow}}|<PROP>|2}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<li>{{#widget:link|datatoggle=pill|href=#{{#replace:{{#explode:@@@|<PROP>|1}}| |_}}|text={{#explode:@@@|<PROP>|1}}|type=a|class=nav-link}}</li> |}}<br />
</ul><!--<br />
<br />
--><div class="tab-content"><!--<br />
--><div id="mainid" class="tab-pane active"><!--<br />
-->{{verdict results|id={{#explode:{{#var:@workflow}}|<PROP>|2}} }}<!--<br />
--></div><!--<br />
-->{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{#explode:{{#var:@workflow}}|<PROP>|2}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<div id="{{#explode:@@@|<PROP>|1}}" class="tab-pane fade"><!--<br />
-->{{verdict results|id={{#explode:{{#var:@workflow}}|<PROP>|2}}|Context={{#explode:@@@|<PROP>|1}}}}<!--<br />
--></div>|}}<!--<br />
--></div> }}<!--<br />
<br />
--></div><!--<br />
-->{{#vardefine:@casecounter2|{{#expr: {{#var:@casecounter2}} + 1 }} }}|}}<br />
</div><br />
|<br />
<div class="row"><br />
<div class="col-12 col-lg-12 box mt-0"><br />
<h2>The Case</h2><br />
{{Item responsive |Cols=4-8<br />
|1=<b>Lie Category</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|3}}<br />
}}<br />
{{Item responsive |Cols=4-8<br />
|1=<b>The Plaintiff Accusation with Evidence</b><br />
|2={{#explode:{{#var:@workflow}}|<PROP>|11}}<br />
}}<!-- <br />
-->{{Item responsive |Cols=4-8<br />
|1=<b>Markup <span class="red">Lie</span> and any <span class="dark-blue">Truths</span></b><br />
|2=<div class="lie-input">{{#explode:{{#var:@workflow}}|<PROP>|8}}</div><br />
}}<br />
{{Item responsive |Cols=4-8<br />
|1=<b>Evidence screenshot</b>{{#vardefine:@uuid|{{#show:{{{Workflow|}}}|?uuid|link=none}} }}<br />
|2={{#vardefine:@counter|0}}{{#if:{{#var:@uuid}}|{{#arraymap:{{#ask:[[Class::Case file]][[Case file::{{#var:@uuid}}]]|?=|?Modification date|?Type|Format=array|link=none}}|,|@@@|{{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=attachment |text={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{fa|file-pdf}}|{{fa|image}} }} }}<!--<br />
<br />
-->{{Modal<br />
|Targetid=image-modal-{{#var:@counter}}<br />
|Dialog class=image-modal<br />
|ModalHeading={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|Pdf|Image}}<br />
|BodyText={{#ifeq:{{#explode:@@@|<PROP>|2}}|pdf|{{#widget:pdf|pdf={{filepath:{{#explode:{{#explode:@@@|<PROP>|0}}|:|1}} }} }}|[[{{#explode:@@@|<PROP>|0}}]]}}Uploaded on: {{#explode:@@@|<PROP>|1}}<br />
|FooterText={{#widget:link |type=a|href=#image-modal-{{#var:@counter}} |datatoggle=modal |class=btn btn-submit |text=close}}<br />
|Hide link=Yes<br />
}}<!--<br />
<br />
-->{{#vardefine:@counter|{{#expr:{{#var:@counter}} + 1}} }} |}} }}<br />
}}<br />
</div><br />
<div class="col-12 col-lg-12 box mt-0"><br />
<div class=""><br />
<h2>Lie location</h2><br />
{{#arraymap:{{#explode:{{#var:@workflow}}|<PROP>|2}}|,|@@@|<br />
{{Item responsive |Cols=2-10<br />
|1=<b>{{fa|external-link-alt}}</b><br />
|2={{#widget:link|href=@@@|text={{#regex:@@@|/^(?:https?:\/\/)?(?:[^@\/\n]+@)?(?:www\.)?([^:\/?\n]+)(.+)/|$1}}|type=a}}<br />
}}<br />
|}}<br />
</div><br />
</div><br />
</div><br />
</div><!-- <br />
-->{{#if:{{#ask:[[Class::Verdict]][[Workflow::{{{Workflow|}}}]][[Role::Judge]]}}|<div class="row"><div class="col-12 box"><h2>Settlement records</h2><br><!--<br />
--><ul class="nav nav-tabs"><!--<br />
--><li class="active nav-item">{{#widget:link|datatoggle=pill|href=#mainid|text=Verdicts|type=a|class=nav-link active}}</li><br />
{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<li>{{#widget:link|datatoggle=pill|href=#{{#replace:{{#explode:@@@|<PROP>|1}}| |_}}|text={{#explode:@@@|<PROP>|1}}|type=a|class=nav-link}}</li> |}}<br />
</ul><!--<br />
<br />
--><div class="tab-content"><!--<br />
--><div id="mainid" class="tab-pane active"><!--<br />
-->{{verdict results|id={{{Case ID|}}} }}<!--<br />
--></div><!--<br />
-->{{#arraymap:{{#ask:[[Class::Verdict]][[Case ID::{{{Case ID|}}}]][[Context::!None]]|?Context|format=array|link=none}}|,|@@@|<div id="{{#explode:@@@|<PROP>|1}}" class="tab-pane fade"><!--<br />
-->{{verdict results|id={{{Case ID|}}}|Context={{#explode:@@@|<PROP>|1}}}}<!--<br />
--></div>|}}<!--<br />
--></div></div></div> }}<!-- <br />
-->}}<!-- end if class<br />
<br />
-->}}|<div class="m-5 alert alert-danger">Not permitted</div>}}<!--<br />
-->{{DISPLAYTITLE:{{{Title|}}} {{#ifeq:{{#var:@type}}|Class|(Class)}} }} <br />
</includeonly></div>
Maintenance script