static function getCheckbox(array $options)
{
global $CFG_GLPI;
$params = array();
$params['title'] = '';
$params['name'] = '';
$params['rand'] = mt_rand();
$params['id'] = "check_" . $params['rand'];
$params['value'] = 1;
$params['readonly'] = false;
$params['massive_tags'] = '';
$params['checked'] = false;
$params['zero_on_empty'] = true;
$params['specific_tags'] = array();
$params['criterion'] = array();
if (is_array($options) && count($options)) {
foreach ($options as $key => $val) {
$params[$key] = $val;
}
}
$out = "<span class='form-group-checkbox'>";
$out .= "<input type='checkbox' class='new_checkbox' ";
foreach (array('id', 'name', 'title', 'value') as $field) {
if (!empty($params[$field])) {
$out .= " {$field}='" . $params[$field] . "'";
}
}
$criterion = self::getCriterionForMassiveCheckboxes($params['criterion']);
if (!empty($criterion)) {
$out .= " onClick='massiveUpdateCheckbox(\"{$criterion}\", this)'";
}
if ($params['zero_on_empty']) {
$out .= " data-glpicore-cb-zero-on-empty='1'";
$CFG_GLPI['checkbox-zero-on-empty'] = true;
}
if (!empty($params['massive_tags'])) {
$params['specific_tags']['data-glpicore-cb-massive-tags'] = $params['massive_tags'];
}
if (!empty($params['specific_tags'])) {
foreach ($params['specific_tags'] as $tag => $values) {
if (is_array($values)) {
$values = implode(' ', $values);
}
$out .= " {$tag}='{$values}'";
}
}
if ($params['readonly']) {
$out .= " disabled='disabled'";
}
if ($params['checked']) {
$out .= " checked";
}
$out .= ">";
$out .= "<label class='label-checkbox' title=\"" . $params['title'] . "\" for='" . $params['id'] . "'>";
$out .= " <span class='check'></span>";
$out .= " <span class='box'></span>";
$out .= " ";
$out .= "</label>";
$out .= "</span>";
if (!empty($criterion)) {
$out .= Html::scriptBlock("\$('{$criterion}').shiftSelectable();");
}
return $out;
}