コード例 #1
0
ファイル: admin.php プロジェクト: telabotanica/ep-plugin
function tb_menu_hooks()
{
    ?>
	<div class="wrap">

		<?php 
    if (!current_user_can('manage_options')) {
        wp_die(__('Vous n\'avez pas les droits suffisants pour accéder à cette page.'));
    }
    ?>

		<?php 
    screen_icon();
    ?>

		<!-- Titre -->
		<h2>Configuration des hooks de synchro</h2>

		<!-- Description -->
		<div class="description">
			<p>Permet de modifier les URLs à appeler pour synchroniser des modifications de données entre les différents outils Tela.<br>Par exemple, lorsqu'un utilisateur change son adresse email dans le profil.</p>
		</div>

		<?php 
    settings_errors();
    ?>

		<?php 
    require_once dirname(__FILE__) . '/../hooks/hooks.php';
    $hidden_field_name = 'tb_submit_hidden';
    $hooks_config = Hooks::getConfig();
    // enregistre les changements de config en BdD
    if (isset($_POST[$hidden_field_name]) && $_POST[$hidden_field_name] == 'Y') {
        $hooks_config['email-modification-urls'] = preg_split('/\\r\\n|[\\r\\n]/', stripslashes($_POST['email-modification-urls']));
        $hooks_config['user-creation-urls'] = preg_split('/\\r\\n|[\\r\\n]/', stripslashes($_POST['user-creation-urls']));
        $hooks_config['error-recipients-emails'] = preg_split('/\\r\\n|[\\r\\n]/', stripslashes($_POST['error-recipients-emails']));
        // suppression des lignes vides
        $hooks_config['email-modification-urls'] = array_filter($hooks_config['email-modification-urls']);
        $hooks_config['user-creation-urls'] = array_filter($hooks_config['user-creation-urls']);
        $hooks_config['error-recipients-emails'] = array_filter($hooks_config['error-recipients-emails']);
        update_option(Hooks::STORAGE_OPTION_NAME, json_encode($hooks_config));
        ?>

				<!-- Confirmation de l'enregistrement -->
				<div class="updated">
					<p><strong>Mise à jour effectuée</strong></p>
				</div>

		<?php 
    }
    ?>

		<form method="post" action="">
			<input type="hidden" name="<?php 
    echo $hidden_field_name;
    ?>
" value="Y">
			<table class="form-table">
				<tbody>
					</tr>
						<th scope="row">
							<label for="email-modification-urls">URLs à appeler en cas de modification de l'adresse mail d'un utilisateur</label>
						</th>
						<td>
							<textarea id="email-modification-urls" name="email-modification-urls" rows="5" cols="80" class="regular-text"><?php 
    echo implode(PHP_EOL, $hooks_config['email-modification-urls']);
    ?>
</textarea>
							<p class="description">
								Une URL par ligne.<br>
								Ex : http://example.org/changeusermail/{user_id}/{old_email}/to/{new_email}<br>
								Les paramètres {user_id}, {old_email} et {new_email} sont remplacés par les valeurs utilisateur lors de l'appel<br>
								Les lignes commençant par # seront ignorées
							</p>
						</td>
					<tr>
					</tr>
						<th scope="row">
							<label for="user-creation-urls">URLs à appeler en cas de création d'un utilisateur</label>
						</th>
						<td>
							<textarea id="user-creation-urls" name="user-creation-urls" rows="3" cols="80" class="regular-text"><?php 
    echo implode(PHP_EOL, $hooks_config['user-creation-urls']);
    ?>
</textarea>
							<p class="description">
								Une URL par ligne.<br>
								Ex : http://example.org/createuser/{user_id}/{new_email}<br>
								Les paramètres {user_id} et {new_email} sont remplacés par les valeurs utilisateur lors de l'appel<br>
								Les lignes commençant par # seront ignorées
							</p>
						</td>
					<tr>
					</tr>
						<th scope="row">
							<label for="error-recipients-emails">Destinataires des emails d'erreurs des hooks</label>
						</th>
						<td>
							<textarea id="error-recipients-emails" name="error-recipients-emails" rows="3" cols="80" class="regular-text"><?php 
    echo implode(PHP_EOL, $hooks_config['error-recipients-emails']);
    ?>
</textarea>
							<p class="description">
								Une adresse par ligne<br>
								Les lignes commençant par # seront ignorées
							</p>
						</td>
					<tr>
				</tbody>
			</table>
			<hr/>

			<p class="submit">
				<input type="submit" name="Submit" class="button-primary" value="<?php 
    esc_attr_e('Save Changes');
    ?>
" />
			</p>
		</form>
<?php 
}