Plugin Directory

Changeset 176891


Ignore:
Timestamp:
11/25/2009 09:41:57 AM (16 years ago)
Author:
Whiler
Message:

Shortcode tag can be customized

Location:
random-number-generator/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • random-number-generator/trunk/random_number_generator.php

    r176874 r176891  
    1515}
    1616
    17 // Clé utilisée pour le tag à détecter dans les articles/pages/commentaires [random-number] (not a constant... users can maybe update it in a future release)
    18 $random_number_generator_key = 'random-number';
     17// Clé par défaut
     18if ( !defined('DEFAULT_SHORTCODE_TAG') )
     19    define( 'DEFAULT_SHORTCODE_TAG', 'random-number');
     20
     21// Clé utilisée pour le tag à détecter dans les articles/pages/commentaires [random-number]
     22$random_number_generator_shortcode = get_option('random_number_generator_shortcode');
     23// On valide que la clé est correcte
     24validate_data($random_number_generator_from, $random_number_generator_to, $random_number_generator_format, $random_number_generator_shortcode);
     25
    1926
    2027// Charge le fichier de traduction s'il existe
     
    2633 * @param integer &$random_number_generator_to     Valeur maximale
    2734 * @param string  &$random_number_generator_format Format utilisé pour l'affichage
    28  */
    29 function validate_data(&$random_number_generator_from, &$random_number_generator_to, &$random_number_generator_format) {
     35 * @param string  &$random_number_generator_format Format utilisé pour l'affichage
     36 */
     37function validate_data(&$random_number_generator_from, &$random_number_generator_to, &$random_number_generator_format, &$random_number_generator_shortcode) {
    3038    // Validation de la cohérence des valeurs
    3139    if (($random_number_generator_from == $random_number_generator_to) || ($random_number_generator_from > $random_number_generator_to)) {
     
    3543    if (($random_number_generator_format == null) || (trim($random_number_generator_format) == '')) {
    3644        $random_number_generator_format = "%x";
     45    }
     46    if (($random_number_generator_shortcode == null) || (trim($random_number_generator_shortcode) == '')) {
     47        $random_number_generator_shortcode = DEFAULT_SHORTCODE_TAG;
    3748    }
    3849}
     
    4657  add_option('random_number_generator_to', mt_getrandmax());
    4758  add_option('random_number_generator_format', "%x");
     59  add_option('random_number_generator_shortcode', DEFAULT_SHORTCODE_TAG);
    4860}
    4961
     
    5264 */
    5365function random_number_generator_optionsPage() {
     66    global $random_number_generator_shortcode;
    5467    // Récupération des paramètres depuis les options de WP
    55     $random_number_generator_from   = get_option('random_number_generator_from');
    56     $random_number_generator_to     = get_option('random_number_generator_to');
    57     $random_number_generator_format = get_option('random_number_generator_format');
    58     validate_data($random_number_generator_from, $random_number_generator_to, $random_number_generator_format);
     68    $random_number_generator_from      = get_option('random_number_generator_from');
     69    $random_number_generator_to        = get_option('random_number_generator_to');
     70    $random_number_generator_format    = get_option('random_number_generator_format');
     71    validate_data($random_number_generator_from, $random_number_generator_to, $random_number_generator_format, $random_number_generator_shortcode);
    5972?>
    6073<div class="wrap">
     
    6578    <form method="post" action="options.php">
    6679        <?php wp_nonce_field('update-options'); ?>
     80        <h3><?php _e('General options', 'random_number_generator') ?></h3>
     81        <p>
     82            <?php global $random_number_generator_shortcode; printf(__('Simply replace the tag %s by a random number.', 'random_number_generator'), "<code>[$random_number_generator_shortcode]</code>"); ?><br/>
     83            <span class="description"><?php printf(__('Used to avoid browsers cache by inserting a random number. For instance, %1$s generates %2$s.', 'random_number_generator'), "<code>&lt;a href=\"http://".__('my_url', 'random_number_generator')."?[$random_number_generator_shortcode]\"&gt;</code>", "<code>&lt;a href=\"http://".__('my_url', 'random_number_generator')."?<span style=\"color:black;font-size:medium;font-weight:bold;\">".do_shortcode("[$random_number_generator_shortcode]")."</span>\"&gt;</code>"); ?></span>
     84        </p>
    6785        <table class="form-table">
    68             <tr valign="top">
    69                 <th  colspan="2" scope="row">
    70                     <?php global $random_number_generator_key; printf(__('Simply replace the tag %s by a random number.', 'random_number_generator'), "<code>[$random_number_generator_key]</code>"); ?><br/>
    71                     <span class="description"><?php printf(__('Used to avoid browsers cache by inserting a random number. For instance, %1$s generates %2$s.', 'random_number_generator'), "<code>&lt;a href=\"http://".__('my_url', 'random_number_generator')."?[$random_number_generator_key]\"&gt;</code>", "<code>&lt;a href=\"http://".__('my_url', 'random_number_generator')."?<span style=\"color:black;font-size:medium;font-weight:bold;\">".do_shortcode("[$random_number_generator_key]")."</span>\"&gt;</code>"); ?></span>
    72                 </th>
    73             </tr>
    7486            <tr valign="top">
    7587                <th scope="row" style="text-align: right;">
     
    104116            </tr>
    105117        </table>
     118        <h3><?php _e('Advanced options', 'random_number_generator') ?></h3>
     119        <p>
     120            <?php _e('Warning! If you change this value, you have to change all your previous used shortcode tags! Moreover, you have to, of course, not use another already existing tag caption!', 'random_number_generator') ?>
     121        </p>
     122        <table class="form-table">
     123            <tr valign="top">
     124                <th scope="row" style="text-align: right;">
     125                    <?php _e('Shortcode tag:', 'random_number_generator') ?>
     126                </th>
     127                <td>
     128                    <input type="text" name="random_number_generator_shortcode" value="<?php echo $random_number_generator_shortcode; ?>" />
     129                    <a class="button" title="<?php _e('Dispay more details', 'random_number_generator') ?>" onclick="javascript:switchVisibility('random_number_generator_shortcode_help');"><?php /*Tr.: Button caption for help*/ _e('?', 'random_number_generator'); ?></a>
     130                    <span id="random_number_generator_shortcode_help" style="text-align: left; display: none;"> <?php printf(__('Shortcode tag to replace in the contents (default: <code>random-number</code>).', 'random_number_generator'), 0); ?></span>
     131                </td>
     132            </tr>
     133        </table>
    106134        <input type="hidden" name="action" value="update" />
    107         <input type="hidden" name="page_options" value="random_number_generator_from,random_number_generator_to,random_number_generator_format" />
     135        <input type="hidden" name="page_options" value="random_number_generator_from,random_number_generator_to,random_number_generator_format,random_number_generator_shortcode" />
    108136        <?php settings_fields( 'random_number_generator' ); ?>
    109137        <p class="submit">
     
    158186 */
    159187function register_random_number_generator_settings() { // whitelist options
    160   register_setting( 'random_number_generator', 'random_number_generator_from', 'intval' ); // Valeur entière uniquement
    161   register_setting( 'random_number_generator', 'random_number_generator_to', 'intval' );
    162   register_setting( 'random_number_generator', 'random_number_generator_format', 'wp_filter_nohtml_kses' ); // HTML interdit
    163 }
    164 
     188  register_setting( 'random_number_generator', 'random_number_generator_from',      'intval' ); // Valeur entière uniquement
     189  register_setting( 'random_number_generator', 'random_number_generator_to',        'intval' );
     190  register_setting( 'random_number_generator', 'random_number_generator_format',    'wp_filter_nohtml_kses' ); // HTML interdit
     191  register_setting( 'random_number_generator', 'random_number_generator_shortcode', 'wp_filter_nohtml_kses' );
     192}
    165193
    166194/**
     
    185213    // affiche : une valeur entière entre 2 & 72 suivie du mot 'minutes'
    186214
     215    global $random_number_generator_shortcode;
    187216    // Récupération des paramètres depuis les options de WP
    188     $random_number_generator_from   = get_option('random_number_generator_from');
    189     $random_number_generator_to     = get_option('random_number_generator_to');
    190     $random_number_generator_format = get_option('random_number_generator_format');
     217    $random_number_generator_from      = get_option('random_number_generator_from');
     218    $random_number_generator_to        = get_option('random_number_generator_to');
     219    $random_number_generator_format    = get_option('random_number_generator_format');
    191220
    192221    // Récupération des paramètres éventuels avec les options sauvegardées comme valeur par défaut
     
    201230
    202231    // Valide les différentes options
    203     validate_data($from, $to, $format);
     232    validate_data($from, $to, $format, $random_number_generator_shortcode);
    204233    // Génération aléatoire
    205234    mt_srand();
     
    214243
    215244// Ajout du hook pour détecter/remplacer le mot-clé lorsqu'il est utilisé
    216 add_shortcode($random_number_generator_key, 'random_number_generator_shortcode_handler');
     245add_shortcode($random_number_generator_shortcode, 'random_number_generator_shortcode_handler');
    217246
    218247// Si on est administrateur
  • random-number-generator/trunk/readme.txt

    r176874 r176891  
    5959* Images added in the options page (settings icon, a dice)
    6060* format used in content can include others shortcode tags
     61* Shortcode tag can be customized
    6162
    6263= 1.1.0 =
Note: See TracChangeset for help on using the changeset viewer.