yubikey/admincp.php
changeset 39 6212d849ab08
equal deleted inserted replaced
38:d109af008343 39:6212d849ab08
       
     1 <?php
       
     2 
       
     3 $plugins->attachHook('acp_general_users', 'yubikey_admin_cp_ui();');
       
     4 $plugins->attachHook('acp_general_save', 'yubikey_admin_cp_save();');
       
     5 
       
     6 function yubikey_admin_cp_ui()
       
     7 {
       
     8 	global $lang;
       
     9 	?>
       
    10 		<tr>
       
    11 			<th colspan="2" class="subhead">
       
    12 				<?php echo $lang->get('yubiacp_th'); ?>
       
    13 			</th>
       
    14 		</tr>
       
    15 		
       
    16 		<tr>
       
    17 			<td class="row1">
       
    18 				<?php echo $lang->get('yubiacp_field_enable_title'); ?>
       
    19 			</td>
       
    20 			<td class="row1">
       
    21 				<label>
       
    22 					<input type="checkbox" name="yubikey_enable" <?php if ( getConfig('yubikey_enable', '1') == '1' ) echo 'checked="checked" '; ?>/>
       
    23 					<?php echo $lang->get('yubiacp_field_enable'); ?>
       
    24 				</label>
       
    25 			</td>
       
    26 		</tr>
       
    27 		
       
    28 		<tr>
       
    29 			<td class="row2">
       
    30 				<?php echo $lang->get('yubiacp_field_api_key'); ?>
       
    31 			</td>
       
    32 			<td class="row2">
       
    33 				<input type="text" name="yubikey_api_key" value="<?php echo htmlspecialchars(getConfig('yubikey_api_key', '')); ?>" size="30" />
       
    34 			</td>
       
    35 		</tr>
       
    36 		
       
    37 		<tr>
       
    38 			<td class="row1">
       
    39 				<?php echo $lang->get('yubiacp_field_api_key_id'); ?>
       
    40 			</td>
       
    41 			<td class="row1">
       
    42 				<input type="text" name="yubikey_api_key_id" value="<?php echo strval(intval(getConfig('yubikey_api_key_id', ''))); ?>" size="5" />
       
    43 			</td>
       
    44 		</tr>
       
    45 		
       
    46 		<tr>
       
    47 			<td class="row2">
       
    48 				<?php echo $lang->get('yubiacp_field_auth_server'); ?>
       
    49 			</td>
       
    50 			<td class="row2">
       
    51 				<input type="text" name="yubikey_auth_server" value="<?php echo htmlspecialchars(getConfig('yubikey_auth_server', YK_DEFAULT_VERIFY_URL)); ?>" size="30" />
       
    52 				<?php
       
    53 				if ( defined('YMS_INSTALLED') )
       
    54 				{
       
    55 					echo '<br />';
       
    56 					echo $lang->get('yubiacp_field_use_local_pre');
       
    57 					?> <label><input type="checkbox" name="yubikey_use_local_yms" <?php echo getConfig('yubikey_use_local_yms', 0) ? 'checked="checked" ' : ''; ?>/><?php
       
    58 					echo $lang->get('yubiacp_field_use_local');
       
    59 					echo '</label>';
       
    60 				}
       
    61 				?>
       
    62 			</td>
       
    63 		</tr>
       
    64 		
       
    65 		<tr>
       
    66 			<td class="row1">
       
    67 				<?php echo $lang->get('yubiacp_field_enroll_limit'); ?>
       
    68 			</td>
       
    69 			<td class="row1">
       
    70 				<input type="text" name="yubikey_enroll_limit" value="<?php echo strval(intval(getConfig('yubikey_enroll_limit', '3'))); ?>" size="5" />
       
    71 			</td>
       
    72 		</tr>
       
    73 		
       
    74 		<tr>
       
    75 			<td class="row2">
       
    76 				<?php echo $lang->get('yubiacp_field_reg_require_otp_title'); ?><br />
       
    77 				<small><?php echo $lang->get('yubiacp_field_reg_require_otp_hint'); ?></small>
       
    78 			</td>
       
    79 			<td class="row2">
       
    80 				<label>
       
    81 					<input type="checkbox" name="yubikey_reg_require_otp" <?php if ( getConfig('yubikey_reg_require_otp', '0') == '1' ) echo 'checked="checked" '; ?>/>
       
    82 					<?php echo $lang->get('yubiacp_field_reg_require_otp'); ?>
       
    83 				</label>
       
    84 			</td>
       
    85 		</tr>
       
    86 		
       
    87 	<?php
       
    88 }
       
    89 
       
    90 function yubikey_admin_cp_save()
       
    91 {
       
    92 	global $lang;
       
    93 	
       
    94 	// yubikey_enable, yubikey_api_key, yubikey_api_key_id, yubikey_auth_server, yubikey_enroll_limit
       
    95 	setConfig('yubikey_enable', isset($_POST['yubikey_enable']) ? '1' : '0');
       
    96 	setConfig('yubikey_api_key', $_POST['yubikey_api_key']);
       
    97 	setConfig('yubikey_api_key_id', intval($_POST['yubikey_api_key_id']));
       
    98 	setConfig('yubikey_enroll_limit', intval($_POST['yubikey_enroll_limit']));
       
    99 	setConfig('yubikey_reg_require_otp', isset($_POST['yubikey_reg_require_otp']) ? '1' : '0');
       
   100 	setConfig('yubikey_use_local_yms', isset($_POST['yubikey_use_local_yms']) && defined('YMS_INSTALLED') ? '1' : '0');
       
   101 	
       
   102 	if ( preg_match('#^(?:https?://)?(\[?[a-z0-9-:]+(?:\.[a-z0-9-:]+\]?)*)(/.*)$#', $_POST['yubikey_auth_server']) )
       
   103 		setConfig('yubikey_auth_server', $_POST['yubikey_auth_server']);
       
   104 	else
       
   105 		echo '<div class="error-box">' . $lang->get('yubiacp_err_invalid_auth_server') . '</div>';
       
   106 }
       
   107