function event_espresso_form_group_edit() { global $wpdb; $groups = espresso_get_user_question_groups(null, false, false, $_REQUEST['group_id']); if (count($groups) > 0) { foreach ($groups as $group) { $group_id = $group->id; $group_order = $group->group_order; $group_name = stripslashes($group->group_name); $group_identifier = stripslashes($group->group_identifier); $group_description = stripslashes($group->group_description); $question = stripslashes(empty($group->question) ? '' : $group->question); $show_group_name = $group->show_group_name; $show_group_description = $group->show_group_description; $wp_user = $group->wp_user; if ($group->system_group > 0) { $system_group = true; } else { $system_group = false; } } } if (function_exists('espresso_member_data')) { if (function_exists('espresso_is_admin')) { // If the user doesn't have admin access get only user's own question groups if (!espresso_is_admin()) { if (espresso_member_data('id') != $wp_user) { echo '<h2>' . __('Sorry, you do not have permission to edit this question group.', 'event_espresso') . '</h2>'; return; } } } } ?> <div id="add-edit-new-group" class="metabox-holder"> <div class="postbox"> <div title="Click to toggle" class="handlediv"><br /></div> <h3 class="hndle"><?php _e('Edit Group - ', 'event_espresso'); ?> <span><?php echo $group_name; ?> </span></h3> <div class="inside"> <?php if ($system_group == true) { echo '<p class="yellow_inform">' . __('Attention: This is a "System Group", some settings may be disabled.', 'event_espresso') . '</p>'; } ?> <form name="newgroup" method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?> "> <table id="table-edit-group" class="ee-tables" border="0"> <tr> <td class="a" valign="top"> <fieldset id="general-group-info"> <legend><?php _e('Group Information', 'event_espresso'); ?> </legend> <ul> <li> <label for="group_name"><?php _e('Group Name:', 'event_espresso'); ?> </label> <input name="group_name" id="group_name" size="50" value="<?php echo $group_name; ?> " type="text" /> </li> <li> <label for="group_order"><?php _e('Group Order:', 'event_espresso'); ?> </label> <input name="group_order" id="group_order" size="6" value="<?php echo $group_order; ?> " type="text" /> </li> <li> <label for="group_identifier"><?php _e('Group Identifier:', 'event_espresso'); ?> </label> <input disabled="disabled" name="group_identifier" id="group_identifier" size="50" value="<?php echo $group_identifier; ?> " type="text" /> </li> <li> <label for="group_description"><?php _e('Description:', 'event_espresso'); ?> </label> <textarea name="group_description" cols="40" rows="5"><?php echo $group_description; ?> </textarea> </li> <li> <label for="show_group_name"><?php _e('Show group name on registration page?', 'event_espresso'); ?> </label> <input type="checkbox" name="show_group_name" id="show_group_name" value="1" <?php if ($show_group_name != 0) { ?> checked="checked"<?php } ?> /> </li> <li> <label for="show_group_description"><?php _e('Show group description on registration page?', 'event_espresso'); ?> </label> <input type="checkbox" name="show_group_description" id="show_group_description" value="1" <?php if ($show_group_description != 0) { ?> checked="checked"<?php } ?> /> </li> </ul> </fieldset> </td> <td class="b" valign="top"> <fieldset id="questions-for-group"> <legend><?php _e('Questions', 'event_espresso'); ?> </legend> <ul> <li><p><?php _e('Selected Questions for group<span class="info"> Uncheck box to remove question from group</span>', 'event_espresso'); ?> </p></li> <?php //Questions that are already associated with this group $questions = espresso_get_user_questions_for_group($_REQUEST['group_id'], $wp_user); if (count($questions['questions_in_group']) > 0) { foreach ($questions['questions_in_group'] as $question) { $checked = !is_null($question->rel_id) ? 'checked="checked"' : ''; $visibility = preg_match("/fname|lname|email/", $question->system_name) == 1 && $question->system_group == 1 ? 'style="visibility:hidden"' : ''; echo '<li><label><input ' . $checked . ' type="checkbox" ' . $visibility . ' name="question_id[' . $question->id . ']" value="' . $question->id . '" id="question_id_' . $question->id . '" />' . stripslashes($question->question) . '</label></li>'; } } ?> </ul> <ul id="add-more-questions"> <li><p><?php _e('Add further questions to group', 'event_espresso'); ?> </p></li> <?php //Questions that are NOT part of this group. if (count($questions['remaining_questions']) > 0) { foreach ($questions['remaining_questions'] as $question) { $checked = ''; echo '<li><label><input ' . $checked . ' type="checkbox" name="question_id[' . $question->id . ']" value="' . $question->id . '" id="question_id_' . $question->id . '" />' . stripslashes($question->question) . '</label></li>'; } } ?> </ul> </fieldset> </td> </tr> </table> <p> <input type="hidden" name="edit_action" value="update_group" /> <input type="hidden" name="action" value="update_group" /> <input type="hidden" name="group_id" value="<?php echo $group_id; ?> " /> <input class="button-primary" name="Submit" value="Update Group" type="submit" /> </p> </form> </div> </div> </div> <?php }
function event_espresso_question_groups_config_mnu() { global $wpdb; //Update the questions when re-ordering if (!empty($_REQUEST['update_sequence'])) { $rows = explode(",", $_POST['row_ids']); for ($i = 0; $i < count($rows); $i++) { $wpdb->query("UPDATE " . EVENTS_QST_GROUP_TABLE . " SET group_order=" . $i . " WHERE id='" . $rows[$i] . "'"); } die; } // get counts $total_question_groups = count(espresso_get_user_question_groups(null, false)); $total_self_question_groups = count(espresso_get_user_question_groups(get_current_user_id(), true, true)); ?> <div class="wrap"> <div id="icon-options-event" class="icon32"> </div> <h2><?php echo _e('Manage Question Groups', 'event_espresso'); ?> <?php if (!isset($_REQUEST['action']) || $_REQUEST['action'] != 'edit_group' && $_REQUEST['action'] != 'new_group') { echo '<a href="admin.php?page=form_groups&action=new_group" class="button add-new-h2" style="margin-left: 20px;">' . __('Add New Group', 'event_espresso') . '</a>'; } ?> </h2> <?php ob_start(); if (function_exists('espresso_is_admin') && espresso_is_admin() == true) { ?> <div style="margin-bottom: 10px;"> <ul class="subsubsub" style="margin-bottom: 0;clear:both;"> <li><strong><?php _e('Question Groups', 'event_espresso'); ?> : </strong> </li> <li><a <?php echo !isset($_REQUEST['self']) && !isset($_REQUEST['all']) || isset($_REQUEST['self']) && $_REQUEST['self'] == 'true' ? ' class="current" ' : ''; ?> href="admin.php?page=form_groups&self=true"><?php _e('My Groups', 'event_espresso'); ?> <span class="count">(<?php echo $total_self_question_groups; ?> )</span> </a> | </li> <li><a <?php echo isset($_REQUEST['all']) && $_REQUEST['all'] == 'true' ? ' class="current" ' : ''; ?> href="admin.php?page=form_groups&all=true"><?php _e('All Groups', 'event_espresso'); ?> <span class="count">(<?php echo $total_question_groups; ?> )</span> </a></li> </ul> <div class="clear"></div> </div> <?php } ?> <div class="meta-box-sortables ui-sortables"> <?php if (isset($_REQUEST['action'])) { switch ($_REQUEST['action']) { case 'new_group': if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/form-builder/groups/new_group.php')) { require_once EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/form-builder/groups/new_group.php'; event_espresso_form_group_new(); } else { require_once EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/pricing_table.php'; } break; case 'edit_group': require_once "edit_group.php"; event_espresso_form_group_edit(); break; case 'insert_group': if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/form-builder/groups/insert_group.php')) { require_once EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/form-builder/groups/insert_group.php'; event_espresso_insert_group(); } break; case 'update_group': require_once "update_group.php"; event_espresso_form_group_update($_REQUEST['group_id']); break; case 'delete_group': if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/form-builder/groups/delete_group.php')) { require_once EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/form-builder/groups/delete_group.php'; event_espresso_form_group_delete(); } else { ?> <div id="message" class="updated fade"> <p><strong> <?php _e('This function is not available in the free version of Event Espresso.', 'event_espresso'); ?> </strong></p> </div> <?php } break; } } if (!empty($_REQUEST['delete_group'])) { //This is for the delete checkboxes if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/form-builder/groups/delete_group.php')) { require_once EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/form-builder/groups/delete_group.php'; event_espresso_form_group_delete(); } else { ?> <div id="message" class="updated fade"> <p><strong> <?php _e('This function is not available in the free version of Event Espresso.', 'event_espresso'); ?> </strong></p> </div> <?php } } ?> </div> <form id="form1" name="form1" method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?> "> <table id="table" class="widefat manage-question-group"> <thead> <tr> <th class="manage-column" id="cb" scope="col" ><input type="checkbox" /></th> <th class="manage-column column-title" id="values" scope="col" title="Click to Sort" style="width:40%;"> <?php _e('Group Name', 'event_espresso'); ?> </th> <?php if (function_exists('espresso_is_admin') && espresso_is_admin() == true) { ?> <th class="manage-column column-creator" id="creator" scope="col" title="Click to Sort" style="width:30%;"><?php _e('Creator', 'event_espresso'); ?> </th> <?php } ?> <th class="manage-column column-title" id="required" scope="col" title="Click to Sort" style="width:20%;"> <?php _e('Description', 'event_espresso'); ?> </th> </tr> </thead> <tbody> <?php $groups = espresso_get_user_question_groups(get_current_user_id()); if (count($groups) > 0 && is_array($groups)) { foreach ($groups as $group) { $group_id = $group->id; $group_name = stripslashes($group->group_name); $group_identifier = stripslashes($group->group_identifier); $group_description = stripslashes($group->group_description); $question = stripslashes(isset($group->question) ? $group->question : ''); $group_order = $group->group_order; $system_group = $group->system_group; $wp_user = $group->wp_user == 0 ? 1 : $group->wp_user; ?> <tr> <td class="checkboxcol"> <input name="row_id" type="hidden" value="<?php echo $group_id; ?> " /> <?php if ($system_group == 0) { ?> <input style="margin:7px 0 22px 8px; vertical-align:top;" name="checkbox[<?php echo $group_id; ?> ]" type="checkbox" title="Delete <?php echo empty($question_name) ? '' : $question_name; ?> "> <?php } else { ?> <span><?php echo '<img style="margin:7px 0 22px 8px; vertical-align:top;" src="' . EVENT_ESPRESSO_PLUGINFULLURL . 'images/icons/lock.png" alt="System Group" title="System Group" />'; ?> </span> <?php } ?> </td> <td class="post-title page-title column-title"><strong><a href="admin.php?page=form_groups&action=edit_group&group_id=<?php echo $group_id; ?> "><?php echo $group_name; ?> </a></strong> <div class="row-actions"> <span class="edit"><a href="admin.php?page=form_groups&action=edit_group&group_id=<?php echo $group_id; ?> "><?php _e('Edit', 'event_espresso'); ?> </a> | </span> <?php if ($system_group == 0) { ?> <span class="delete"><a onclick="return confirmDelete();" class="submitdelete" href="admin.php?page=form_groups&action=delete_group&group_id=<?php echo $group_id; ?> "><?php _e('Delete', 'event_espresso'); ?> </a></span><?php } ?> </div> </td> <?php if (function_exists('espresso_is_admin') && espresso_is_admin() == true) { ?> <td><?php echo espresso_user_meta($wp_user, 'user_firstname') != '' ? espresso_user_meta($wp_user, 'user_firstname') . ' ' . espresso_user_meta($wp_user, 'user_lastname') . ' (<a href="user-edit.php?user_id=' . $wp_user . '">' . espresso_user_meta($wp_user, 'user_nicename') . '</a>)' : espresso_user_meta($wp_user, 'display_name') . ' (<a href="user-edit.php?user_id=' . $wp_user . '">' . espresso_user_meta($wp_user, 'user_nicename') . '</a>)'; ?> </td> <?php } ?> <td class="author column-author"><?php echo $group_description; ?> </td> </tr> <?php } } ?> </tbody> </table> <div style="clear:both"> <p><input type="checkbox" name="sAll" onclick="selectAll(this)" /> <strong> <?php _e('Check All', 'event_espresso'); ?> </strong> <input name="delete_group" type="submit" class="button-secondary" id="delete_group" value="<?php _e('Delete Question Group', 'event_espresso'); ?> " style="margin:10 0 0 10px;" onclick="return confirmDelete();"> <a style="margin-left:5px"class="button-primary" href="admin.php?page=form_groups&action=new_group"><?php _e('Add New Group', 'event_espresso'); ?> </a> <a style="margin-left:5px"class="button-primary" href="admin.php?page=form_builder"><?php _e('Questions', 'event_espresso'); ?> </a> <a style="color:#FFF; text-decoration:none; margin-left:5px"class="button-primary thickbox" href="#TB_inline?height=400&width=500&inlineId=group_info"><?php _e('Help', 'event_espresso'); ?> </a></p> </div> </form> <?php $main_post_content = ob_get_clean(); espresso_choose_layout($main_post_content, event_espresso_display_right_column()); ?> </div> <div id="group_info" class="pop-help" style="display:none"> <div class="TB-ee-frame"> <h2><?php _e('Question Groups Overview', 'event_espresso'); ?> </h2> <p><?php _e('Question Groups are pre-populated groups of ', 'event_espresso'); ?> <a href="admin.php?page=form_builder"><?php _e('questions', 'event_espresso'); ?> </a> <?php _e('that can be added your events. These groups of questions are what make up your customized regsistration forms. The personal information group is required for all events and is shown by default on all registration forms.', 'event_espresso'); ?> </p> <p><?php _e('Question Groups can be organized or re-ordered by dragging and dropping individual table rows into the desired positions.', 'event_espresso'); ?> </p> </div> </div> <script type="text/javascript"> jQuery(document).ready(function($) { /* show the table data */ var mytable = $('#table').dataTable( { "bStateSave": true, "sPaginationType": "full_numbers", "oLanguage": { "sSearch": "<strong><?php _e('Live Search Filter', 'event_espresso'); ?> :</strong>", "sZeroRecords": "<?php _e('No Records Found!', 'event_espresso'); ?> " }, "aoColumns": [ { "bSortable": true }, <?php echo function_exists('espresso_is_admin') && espresso_is_admin() == true ? 'null,' : ''; ?> null, null ] } ); var startPosition; var endPosition; $("#table tbody").sortable({ cursor: "move", start:function(event, ui){ startPosition = ui.item.prevAll().length + 1; }, update: function(event, ui) { endPosition = ui.item.prevAll().length + 1; //alert('Start Position: ' + startPosition + ' End Position: ' + endPosition); var row_ids=""; $('#table tbody input[name="row_id"]').each(function(i){ row_ids= row_ids + ',' + $(this).val(); }); $.post(EEGlobals.ajaxurl, { action: "update_qgr_sequence", row_ids: row_ids, update_sequence: "true"} ); } }); postboxes.add_postbox_toggles('form_groups'); } ); jQuery(function(){ jQuery('#add-new-group').validate({ rules: { group_name: "required" }, messages: { group_name: "Please add a name for your group" } }); }); </script> <?php }