form.php 1.14 KB
<?php

namespace Tz\WordPress\Tools\PagePermissions;

use \WP_Roles;
use \UnderflowException;

    if (!isset($selected)) {
        throw new UnderflowException('Current Page Permission settings not provided');
    }

    $opt_selected = $selected[ELE_SEL];
?>

<select id="<?php echo ELE_SEL; ?>" name="<?php echo ELE_SEL; ?>">
  <option value="<?php echo OPT_ALL  . '"' . (OPT_ALL  == $opt_selected ? ' selected' : ''); ?>>Anyone</option>
  <option value="<?php echo OPT_AUTH . '"' . (OPT_AUTH == $opt_selected ? ' selected' : ''); ?>>Must be Logged In</option>
  <option value="<?php echo OPT_CUST . '"' . (OPT_CUST == $opt_selected ? ' selected' : ''); ?>>Specific Roles</option>
</select>

<div id="TzSpecific">
<?php
    $rc = new WP_Roles();
    $roles = $rc->role_names;
    ksort($roles);
    unset($rc, $roles['administrator']);

    foreach ($roles as $key => $display) {
        $checked = (isset($selected[ELE_CUST][$key]) ? ' checked' : '');
        echo '<br /><input type="checkbox" id="' . $key . '" name="' . ELE_CUST . '[' . $key . ']" value="1"' . $checked . ' />';
        echo '<label for="' . $key . '">' . $display . '</label>';
    }
?>
</div>