/** * sets up a context switcher for edit forms * * @access protected * @param EE_Message_Template_Group $template_object the template group object being displayed on the form * @param array $args various things the context switcher needs. * @return void */ protected function _set_context_switcher(EE_Message_Template_Group $template_group_object, $args) { $context_details = $template_group_object->contexts_config(); $context_label = $template_group_object->context_label(); ob_start(); ?> <div class="ee-msg-switcher-container"> <form method="get" action="<?php echo EE_MSG_ADMIN_URL; ?> " id="ee-msg-context-switcher-frm"> <?php foreach ($args as $name => $value) { if ($name == 'context' || empty($value) || $name == 'extra') { continue; } ?> <input type="hidden" name="<?php echo $name; ?> " value = "<?php echo $value; ?> " /> <?php } //setup nonce_url wp_nonce_field($args['action'] . '_nonce', $args['action'] . '_nonce', false); ?> <select name="context"> <?php $context_templates = $template_group_object->context_templates(); if (is_array($context_templates)) { foreach ($context_templates as $context => $template_fields) { $checked = $context == $args['context'] ? 'selected="selected"' : ''; ?> <option value="<?php echo $context; ?> " <?php echo $checked; ?> ><?php echo $context_details[$context]['label']; ?> </option> <?php } } ?> </select> <?php $button_text = sprintf(__('Switch %s', 'event_espresso'), ucwords($context_label['label'])); ?> <input id="submit-msg-context-switcher-sbmt" class="button-secondary" type="submit" value="<?php echo $button_text; ?> "> </form> <?php echo $args['extra']; ?> </div> <!-- end .ee-msg-switcher-container --> <?php $output = ob_get_contents(); ob_clean(); $this->_context_switcher = $output; }
/** * Retrieves formatted array of template information for each context specific to the given EE_Message_Template_Group * * @param EE_Message_Template_Group * * @return array The returned array is in this structure: * array( * 'field_name' => array( * 'context' => 'content' * ) * ) */ protected function _get_templates(EE_Message_Template_Group $message_template_group) { $templates = array(); $context_templates = $message_template_group->context_templates(); foreach ($context_templates as $context => $template_fields) { foreach ($template_fields as $template_field => $template_obj) { if (!$template_obj instanceof EE_Message_Template) { continue; } $templates[$template_field][$context] = $template_obj->get('MTP_content'); } } return $templates; }