/** * The following function executes any code meant to be hooked. * It checks to see if shortcodes or PHP should be executed as well. * * @since 0.1 */ function simplehooks_execute_hook() { $hook = current_filter(); $content = simplehooks_get_option($hook, 'content'); if (!$hook || !$content) { return; } $shortcodes = simplehooks_get_option($hook, 'shortcodes'); $php = simplehooks_get_option($hook, 'php'); $value = $shortcodes ? do_shortcode($content) : $content; if ($php) { eval("?>{$value}<?php "); } else { echo $value; } }
/** * This function generates the form code to be used in the metaboxes * * @since 0.1 */ function simplehooks_form_generate($args = array()) { ?> <h4><code><?php echo $args['hook']; ?> </code> <?php _e('Hook', 'genesis-simple-hooks'); ?> </h4> <p><span class="description"><?php echo $args['desc']; ?> </span></p> <?php if (isset($args['unhook'])) { foreach ((array) $args['unhook'] as $function) { ?> <input type="checkbox" name="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][unhook][]" id="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][unhook][]" value="<?php echo $function; ?> " <?php if (in_array($function, (array) simplehooks_get_option($args['hook'], 'unhook'))) { echo 'checked'; } ?> /> <label for="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][unhook][]"><?php printf(__('Unhook <code>%s()</code> function from this hook?', 'genesis-simple-hooks'), $function); ?> </label><br /> <?php } } ?> <p><textarea name="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][content]" cols="70" rows="5"><?php echo htmlentities(simplehooks_get_option($args['hook'], 'content'), ENT_QUOTES, 'UTF-8'); ?> </textarea></p> <p> <input type="checkbox" name="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][shortcodes]" id="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][shortcodes]" value="1" <?php checked(1, simplehooks_get_option($args['hook'], 'shortcodes')); ?> /> <label for="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][shortcodes]"><?php _e('Execute Shortcodes on this hook?', 'genesis-simple-hooks'); ?> </label><br /> <input type="checkbox" name="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][php]" id="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][php]" value="1" <?php checked(1, simplehooks_get_option($args['hook'], 'php')); ?> /> <label for="<?php echo SIMPLEHOOKS_SETTINGS_FIELD; ?> [<?php echo $args['hook']; ?> ][php]"><?php _e('Execute PHP on this hook?', 'genesis-simple-hooks'); ?> </label> </p> <hr class="div" /> <?php }