<?php
/*
Plugin Name: Beispiel wp_nonce
Plugin URI: http://bueltge.de/
Description: Beispiel für die Nutzung von wp_nonce
Author: Frank B&uuml;ltge
Version: 0.1
License: GPL
Author URI: http://bueltge.de/
*/


/**
 * Sicherheitsbasics
 * Function definieren
 * fbexample_ ersetzen
 *
 */
if ( !function_exists('wp_nonce_field') ) {
    function 
fbexample_nonce_field($action = -1) {
        return;
    }
    
$fbexample_nonce = -1;
} else {
    function 
fbexample_nonce_field($action = -1) {
        
wp_nonce_field($action);
    }
    
$fbexample_nonce 'fbexample_nonce_field';
}


// zufalls-schluessel zur aktivierung einer signatur
$fbexample_key get_option('fbexample_key');

if (
$fbexample_key == '') {
    
$fbexample_key add_option('fbexample_key'rand(09999));
}


/**
 * POST Uebergabe, Admin-Page
 * fbexample_ ersetzen
 *
 * @global $fbexample_nonce, $fbexample_key
 */
function fbexample_page() {
    global 
$fbexample_nonce$fbexample_key;

    if (
$_POST['action'] == 'submit') {
    
        if ( 
function_exists('current_user_can') && current_user_can('edit_plugins') && $_POST['fbexample_key'] == $fbexample_key ) {
            
check_admin_referer('$fbexample_nonce'$fbexample_nonce);

            
$fbexample1 $_POST['fbexample1'];
            . . .

        } else {
            
wp_die('<p>'.__('You do not have sufficient permissions to edit plugins for this blog.').'</p>');
        }
    }
?>

<div class="wrap">
    <h2><?php _e('FB Example''fbexample'?></h2>
    <form method="post">
        <input type="text" name="fbexample1" value=""/>
    
        . . .
    
        <?php fbexample_nonce_field('$fbexample_nonce'$fbexample_nonce); ?>
        <input type="hidden" name="fbexample_key" value="<?php echo $fbexample_key ?>" />
        <input type="hidden" name="action" value="submit" />
        <input type="submit"/>
    </form>
</div>

<?php
}


/**
 * Installation von options-Feldern
 * fbexample* ersetzen
 *
 * @global $wpdb
 */
function fbexample_install(){
    global 
$wpdb;

    
add_option('fbexample1''fbexample1_wert');
}


/**
 * Admin-Page hinzufuegen
 * fbexample* ersetzen
 *
 */
function fbexample_menu() {
    
add_submenu_page('plugins.php''FB Example''FB Example Title'10__FILE__'fbexample_page');
    
add_options_page('FB Example''FB Example Title'8basename(__FILE__), 'fbexample_page');
}


/**
 * Hooks nutzen und Admin-Page aktivieren
 * fbexample* ersetzen
 *
 */
if ( function_exists('add_action') ) {
    if ( isset(
$_GET['activate']) && $_GET['activate'] == 'true' ) {
        
add_action('init''fbexample_install');
    }
    
add_action('admin_menu''fbexample_menu');
}
?>