<div class="panel-heading"> <strong> <span class="glyphicon glyphicon-th"></span> <?php echo 'Child roles'; ?> </strong> </div> <div class="panel-body"> <?php echo Html::beginForm(['set-child-roles', 'id' => $role->name]); ?> <?php echo Html::checkboxList('child_roles', ArrayHelper::map($childRoles, 'name', 'name'), ArrayHelper::map($allRoles, 'name', 'description'), ['item' => function ($index, $label, $name, $checked, $value) { $list = '<ul style="padding-left: 10px">'; foreach (Role::getPermissionsByRole($value) as $permissionName => $permissionDescription) { $list .= $permissionDescription ? "<li>{$permissionDescription}</li>" : "<li>{$permissionName}</li>"; } $list .= '</ul>'; $helpIcon = Html::beginTag('span', ['title' => 'Permissions for role - "' . $label . '"', 'data-content' => $list, 'data-html' => 'true', 'role' => 'button', 'style' => 'margin-bottom: 5px; padding: 0 5px', 'class' => 'btn btn-sm btn-default role-help-btn']); $helpIcon .= '?'; $helpIcon .= Html::endTag('span'); $isChecked = $checked ? 'checked' : ''; $checkbox = "<label><input type='checkbox' name='{$name}' value='{$value}' {$isChecked}> {$label}</label>"; return $helpIcon . ' ' . $checkbox; }, 'separator' => '<br>']); ?> <hr/> <?php echo Html::submitButton('<span class="glyphicon glyphicon-ok"></span> ' . 'Save', ['class' => 'btn btn-primary btn-sm']);