plugins/yubikey/admincp.php
author Dan
Thu, 26 Feb 2009 01:19:45 -0500
changeset 2 6edc6ebb3b39
parent 0 9d2c4f04a0d0
child 8 032ca892b9a2
permissions -rw-r--r--
Minor: if input OTP is empty and password looks like OTP, now copies password to OTP in memory and treats password field as OTP. Will require patch in Enano trunk to work for html login.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
     1
<?php
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
     2
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
     3
$plugins->attachHook('acp_general_users', 'yubikey_admin_cp_ui();');
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
     4
$plugins->attachHook('acp_general_save', 'yubikey_admin_cp_save();');
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
     5
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
     6
function yubikey_admin_cp_ui()
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
     7
{
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
     8
  global $lang;
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
     9
  ?>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    10
    <tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    11
      <th colspan="2" class="subhead">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    12
        <?php echo $lang->get('yubiacp_th'); ?>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    13
      </th>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    14
    </tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    15
    
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    16
    <tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    17
      <td class="row1">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    18
        <?php echo $lang->get('yubiacp_field_enable_title'); ?>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    19
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    20
      <td class="row1">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    21
        <label>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    22
          <input type="checkbox" name="yubikey_enable" <?php if ( getConfig('yubikey_enable', '1') == '1' ) echo 'checked="checked" '; ?>/>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    23
          <?php echo $lang->get('yubiacp_field_enable'); ?>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    24
        </label>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    25
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    26
    </tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    27
    
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    28
    <tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    29
      <td class="row2">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    30
        <?php echo $lang->get('yubiacp_field_api_key'); ?>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    31
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    32
      <td class="row2">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    33
        <input type="text" name="yubikey_api_key" value="<?php echo htmlspecialchars(getConfig('yubikey_api_key', '')); ?>" size="30" />
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    34
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    35
    </tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    36
    
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    37
    <tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    38
      <td class="row1">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    39
        <?php echo $lang->get('yubiacp_field_api_key_id'); ?>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    40
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    41
      <td class="row1">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    42
        <input type="text" name="yubikey_api_key_id" value="<?php echo strval(intval(getConfig('yubikey_api_key_id', ''))); ?>" size="5" />
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    43
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    44
    </tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    45
    
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    46
    <tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    47
      <td class="row2">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    48
        <?php echo $lang->get('yubiacp_field_auth_server'); ?>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    49
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    50
      <td class="row2">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    51
        <input type="text" name="yubikey_auth_server" value="<?php echo htmlspecialchars(getConfig('yubikey_auth_server', YK_DEFAULT_VERIFY_URL)); ?>" size="30" />
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    52
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    53
    </tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    54
    
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    55
    <tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    56
      <td class="row1">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    57
        <?php echo $lang->get('yubiacp_field_enroll_limit'); ?>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    58
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    59
      <td class="row1">
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    60
        <input type="text" name="yubikey_enroll_limit" value="<?php echo strval(intval(getConfig('yubikey_enroll_limit', '3'))); ?>" size="5" />
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    61
      </td>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    62
    </tr>
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    63
    
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    64
  <?php
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    65
}
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    66
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    67
function yubikey_admin_cp_save()
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    68
{
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    69
  global $lang;
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    70
  
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    71
  // yubikey_enable, yubikey_api_key, yubikey_api_key_id, yubikey_auth_server, yubikey_enroll_limit
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    72
  setConfig('yubikey_enable', isset($_POST['yubikey_enable']) ? '1' : '0');
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    73
  setConfig('yubikey_api_key', $_POST['yubikey_api_key']);
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    74
  setConfig('yubikey_api_key_id', intval($_POST['yubikey_api_key_id']));
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    75
  setConfig('yubikey_enroll_limit', intval($_POST['yubikey_enroll_limit']));
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    76
  
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    77
  if ( preg_match('#^(?:https?://)?(\[?[a-z0-9-:]+(?:\.[a-z0-9-:]+\]?)*)(/.*)$#', $_POST['yubikey_auth_server']) )
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    78
    setConfig('yubikey_auth_server', $_POST['yubikey_auth_server']);
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    79
  else
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    80
    echo '<div class="error-box">' . $lang->get('yubiacp_err_invalid_auth_server') . '</div>';
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    81
}
9d2c4f04a0d0 First commit! Hoping everything works.
Dan
parents:
diff changeset
    82