function ninja_forms_register_tab_form_preview() { if (isset($_REQUEST['form_id'])) { $form_id = absint($_REQUEST['form_id']); } else { $form_id = ''; } $args = array('name' => __('Form Preview', 'ninja-forms'), 'page' => 'ninja-forms', 'display_function' => '', 'save_function' => '', 'disable_no_form_id' => true, 'show_save' => false, 'url' => ninja_forms_preview_link($form_id, false), 'target' => '_blank'); ninja_forms_register_tab('form_preview', $args); }
function ninja_forms_tab_form_list($form_id, $data) { global $wpdb; $all_forms = ninja_forms_get_all_forms(); $form_count = count($all_forms); if (isset($_REQUEST['limit'])) { $saved_limit = absint($_REQUEST['limit']); $limit = absint($_REQUEST['limit']); } else { $saved_limit = 20; $limit = 20; } if ($form_count < $limit) { $limit = $form_count; } if (isset($_REQUEST['paged']) and !empty($_REQUEST['paged'])) { $current_page = absint($_REQUEST['paged']); } else { $current_page = 1; } if ($form_count > $limit) { $page_count = ceil($form_count / $limit); } else { $page_count = 1; } if ($current_page > 1) { $start = ($current_page - 1) * $limit; if ($form_count < $limit) { $end = $form_count; } else { $end = $current_page * $limit; $end = $end - 1; } if ($end > $form_count) { $end = $form_count; } } else { $start = 0; $end = $limit; } ?> <ul class="subsubsub"> <li class="all"><a href="" class="current"><?php _e('All', 'ninja-forms'); ?> <span class="count">(<?php echo $form_count; ?> )</span></a> </ul> <div id="" class="tablenav top"> <div class="alignleft actions"> <select id="" class="" name="bulk_action"> <option value=""><?php _e('Bulk Actions', 'ninja-forms'); ?> </option> <option value="delete"><?php _e('Delete', 'ninja-forms'); ?> </option> <!-- <option value="export"><?php _e('Export Forms', 'ninja-forms'); ?> </option> --> </select> <input type="submit" name="submit" value="<?php _e('Apply', 'ninja-forms'); ?> " class="button-secondary"> </div> <div class="alignleft actions"> <select id="" name="limit"> <option value="20" <?php selected($saved_limit, 20); ?> >20</option> <option value="50" <?php selected($saved_limit, 50); ?> >50</option> <option value="100" <?php selected($saved_limit, 100); ?> >100</option> </select> <?php _e('Forms Per Page', 'ninja-forms'); ?> <input type="submit" name="submit" value="<?php _e('Go', 'ninja-forms'); ?> " class="button-secondary"> </div> <div id="" class="alignright navtable-pages"> <?php if ($form_count != 0 and $current_page <= $page_count) { ?> <span class="displaying-num"><?php if ($start == 0) { echo 1; } else { echo $start; } ?> - <?php echo $end; ?> <?php _e('of', 'ninja-forms'); ?> <?php echo $form_count; ?> <?php if ($form_count == 1) { _e('Form', 'ninja-forms'); } else { _e('Forms', 'ninja-forms'); } ?> </span> <?php } if ($page_count > 1) { $first_page = remove_query_arg('paged'); $last_page = add_query_arg(array('paged' => $page_count)); if ($current_page > 1) { $prev_page = $current_page - 1; $prev_page = add_query_arg(array('paged' => $prev_page)); } else { $prev_page = $first_page; } if ($current_page != $page_count) { $next_page = $current_page + 1; $next_page = add_query_arg(array('paged' => $next_page)); } else { $next_page = $last_page; } ?> <span class="pagination-links"> <a class="first-page disabled" title="<?php _e('Go to the first page', 'ninja-forms'); ?> " href="<?php echo $first_page; ?> ">«</a> <a class="prev-page disabled" title="<?php _e('Go to the previous page', 'ninja-forms'); ?> " href="<?php echo $prev_page; ?> ">‹</a> <span class="paging-input"><input class="current-page" title="Current page" type="text" name="paged" value="<?php echo $current_page; ?> " size="2"> of <span class="total-pages"><?php echo $page_count; ?> </span></span> <a class="next-page" title="<?php _e('Go to the next page', 'ninja-forms'); ?> " href="<?php echo $next_page; ?> ">›</a> <a class="last-page" title="<?php _e('Go to the last page', 'ninja-forms'); ?> " href="<?php echo $last_page; ?> ">»</a> </span> <?php } ?> </div> </div> <table class="wp-list-table widefat fixed posts"> <thead> <tr> <th class="check-column"><input type="checkbox" id="" class="ninja-forms-select-all" title="ninja-forms-bulk-action"></th> <th><?php _e('Form Title', 'ninja-forms'); ?> </th> <th><?php _e('Shortcode', 'ninja-forms'); ?> </th> <th><?php _e('Template Function', 'ninja-forms'); ?> </th> <th><?php _e('Date Updated', 'ninja-forms'); ?> </th> </tr> </thead> <tbody> <?php if (is_array($all_forms) and !empty($all_forms) and $current_page <= $page_count) { for ($i = $start; $i < $end; $i++) { $form_id = $all_forms[$i]['id']; $data = $all_forms[$i]['data']; $date_updated = $all_forms[$i]['date_updated']; $date_updated = strtotime($date_updated); $date_updated = date_i18n(__('F d, Y', 'ninja-forms'), $date_updated); $edit_link = esc_url(add_query_arg(array('tab' => 'form_settings', 'form_id' => $form_id))); $subs_link = admin_url('admin.php?page=ninja-forms-subs&form_id=' . $form_id); $export_link = esc_url(add_query_arg(array('export_form' => 1, 'form_id' => $form_id))); $duplicate_link = esc_url(add_query_arg(array('duplicate_form' => 1, 'form_id' => $form_id))); $shortcode = apply_filters("ninja_forms_form_list_shortcode", "[ninja_forms_display_form id=" . $form_id . "]", $form_id); $template_function = apply_filters("ninja_forms_form_list_template_function", "<pre>if( function_exists( 'ninja_forms_display_form' ) ){ ninja_forms_display_form( " . "{$form_id}" . " ); }</pre>", $form_id); ?> <tr id="ninja_forms_form_<?php echo $form_id; ?> _tr"> <th scope="row" class="check-column"> <input type="checkbox" id="" name="form_ids[]" value="<?php echo $form_id; ?> " class="ninja-forms-bulk-action"> </th> <td class="post-title page-title column-title"> <strong> <a href="<?php echo $edit_link; ?> "><?php echo $data['form_title']; ?> </a> </strong> <div class="row-actions"> <span class="edit"><a href="<?php echo $edit_link; ?> "><?php _e('Edit', 'ninja-forms'); ?> </a> | </span> <span class="trash"><a class="ninja-forms-delete-form" title="<?php _e('Delete this form', 'ninja-forms'); ?> " href="#" id="ninja_forms_delete_form_<?php echo $form_id; ?> "><?php _e('Delete', 'ninja-forms'); ?> </a> | </span> <span class="export"><a href="<?php echo $export_link; ?> " title="<?php _e('Export Form', 'ninja-forms'); ?> "><?php _e('Export', 'ninja-forms'); ?> </a> | </span> <span class="duplicate"><a href="<?php echo $duplicate_link; ?> " title="<?php _e('Duplicate Form', 'ninja-forms'); ?> "><?php _e('Duplicate', 'ninja-forms'); ?> </a> | </span> <span class="bleep"><?php echo ninja_forms_preview_link($form_id); ?> | </span> <span class="subs"><a href="<?php echo $subs_link; ?> " class="" title="<?php _e('View Submissions', 'ninja-forms'); ?> "><?php _e('View Submissions', 'ninja-forms'); ?> </a></span> </div> </td> <td> <?php echo $shortcode; ?> </td> <td> <?php echo $template_function; ?> </td> <td> <?php echo $date_updated; ?> </td> </tr> <?php } } else { } //End $all_forms if statement ?> </tbody> <tfoot> <tr> <th class="check-column"><input type="checkbox" id="" class="ninja-forms-select-all" title="ninja-forms-bulk-action"></th> <th><?php _e('Form Title', 'ninja-forms'); ?> </th> <th><?php _e('Shortcode', 'ninja-forms'); ?> </th> <th><?php _e('Template Function', 'ninja-forms'); ?> </th> <th><?php _e('Date Updated', 'ninja-forms'); ?> </th> </tr> </tfoot> </table> <?php }
function ninja_forms_admin() { global $wpdb, $ninja_forms_tabs, $ninja_forms_sidebars, $current_tab, $ninja_forms_tabs_metaboxes, $ninja_forms_admin_update_message; $current_tab = ninja_forms_get_current_tab(); $current_page = esc_html($_REQUEST['page']); if (isset($_REQUEST['form_id'])) { $form_id = absint($_REQUEST['form_id']); $data = Ninja_Forms()->form($form_id)->get_all_settings(); $form_title = isset($data['form_title']) ? $data['form_title'] : ''; } else { $form_id = ''; $data = ''; $form_title = ''; } if (!isset($ninja_forms_admin_update_message) and isset($_REQUEST['update_message'])) { $ninja_forms_admin_update_message = esc_html($_REQUEST['update_message']); } $output_form = isset($ninja_forms_tabs[$current_page][$current_tab]['output_form']) ? $ninja_forms_tabs[$current_page][$current_tab]['output_form'] : true; $form_method = isset($ninja_forms_tabs[$current_page][$current_tab]['form_method']) ? $ninja_forms_tabs[$current_page][$current_tab]['form_method'] : 'post'; $hidden_fields = isset($ninja_forms_tabs[$current_page][$current_tab]['hidden_fields']) ? $ninja_forms_tabs[$current_page][$current_tab]['hidden_fields'] : true; if ($output_form) { ?> <form id="ninja_forms_admin" enctype="multipart/form-data" method="<?php echo $form_method; ?> "> <input type="hidden" name="_page" id="_page" value="<?php echo $current_page; ?> "> <input type="hidden" name="_tab" id="_tab" value="<?php echo $current_tab; ?> "> <input type="hidden" name="_form_id" id="_form_id" value="<?php echo $form_id; ?> "> <input type="hidden" name="_fields_order" id="_fields_order" value="same"> <?php wp_nonce_field('_ninja_forms_save', '_ninja_forms_admin_submit'); } ?> <div class="wrap"> <?php screen_icon('ninja-custom-forms'); if (isset($ninja_forms_tabs[$current_page][$current_tab]['title'])) { echo $ninja_forms_tabs[$current_page][$current_tab]['title']; } if ('form_list' == $current_tab) { $builder_url = esc_url(add_query_arg(array('form_id' => 'new', 'tab' => 'builder'))); ?> <h2><?php _e('Forms', 'ninja-forms'); ?> <a href="<?php echo $builder_url; ?> " class="add-new-h2"><?php _e('Add New', 'ninja-forms'); ?> </a></h2> <?php } else { ?> <h2 id="nf-display-form-title"><?php echo $form_title; ?> </h2> <?php } if ($ninja_forms_tabs[$current_page][$current_tab]['show_tab_links']) { ?> <h2 class="nav-tab-wrapper"> <?php ninja_forms_display_tabs(); if (!empty($form_id)) { $preview_link = ninja_forms_preview_link($form_id, false); $subs_link = admin_url('edit.php?post_status=all&post_type=nf_sub&action=-1&m=0&form_id=' . $form_id . '&begin_date&end_date&paged=1&mode=list&action2=-1'); ?> <a href="<?php echo $preview_link; ?> " target="_blank" class="nf-preview button-secondary"><span class="dashicons dashicons-welcome-view-site"></span><?php _e('Preview', 'ninja-forms'); ?> </a> <a href="<?php echo $subs_link; ?> " target="_blank" class="nf-subs button-secondary"><span class="dashicons dashicons-email-alt"></span><?php _e('Submissions', 'ninja-forms'); ?> </a> <?php } ?> </h2> <?php } if (isset($ninja_forms_admin_update_message) and $ninja_forms_admin_update_message != '') { ?> <div id="message" class="updated below-h2"> <p> <?php echo $ninja_forms_admin_update_message; ?> </p> </div> <?php } if (isset($ninja_forms_sidebars[$current_page][$current_tab]) and is_array($ninja_forms_sidebars[$current_page][$current_tab])) { ?> <div id="nav-menus-frame"> <?php ninja_forms_display_sidebars($data); ?> </div><!-- /#menu-settings-column --> <?php } ?> <div id="poststuff"> <div id="post-body"> <div id="post-body-content"> <?php //Check to see if the registered tab has an metaboxes registered to it. if (isset($ninja_forms_tabs_metaboxes[$current_page][$current_tab]) and !empty($ninja_forms_tabs_metaboxes[$current_page][$current_tab])) { ?> <div id="ninja_forms_admin_metaboxes"> <?php foreach ($ninja_forms_tabs_metaboxes[$current_page][$current_tab] as $slug => $metabox) { ninja_forms_output_tab_metabox($form_id, $slug, $metabox); } ?> </div> <?php } //Check to see if the registered tab has a display function registered. if (isset($ninja_forms_tabs[$current_page][$current_tab]['display_function']) and $ninja_forms_tabs[$current_page][$current_tab]['display_function'] != '') { $tab_callback = $ninja_forms_tabs[$current_page][$current_tab]['display_function']; $arguments = func_get_args(); array_shift($arguments); // We need to remove the first arg ($function_name) $arguments['form_id'] = $form_id; $arguments['data'] = $data; call_user_func_array($tab_callback, $arguments); } if (isset($ninja_forms_tabs[$current_page][$current_tab]['show_save']) and $ninja_forms_tabs[$current_page][$current_tab]['show_save'] === true) { ?> <br /> <input class="button-primary menu-save ninja-forms-save-data" id="ninja_forms_save_data_top" type="submit" value="<?php _e('Save', 'ninja-forms'); ?> " /> <?php } ?> </div><!-- /#post-body-content --> </div><!-- /#post-body --> </div> </div> <!-- </div>/.wrap--> <?php if ($output_form) { ?> </form> <?php } ?> <div id="nf-admin-modal-backdrop" style="display: none;"></div> <div id="nf-admin-modal-wrap" class="wp-core-ui" style="display: none;"> <div id="nf-admin-modal" tabindex="-1"> <div id="admin-modal-title"> <span id="nf-modal-title"></span> <button type="button" id="nf-admin-modal-close" class="modal-close"><span class="screen-reader-text modal-close">Close</span></button> </div> <div id="modal-contents-wrapper" style="padding:20px;"> <div id="nf-admin-modal-content" class="admin-modal-inside"> </div> <div class="submitbox" style="display:block;"> </div> </div> </div> </div> <?php }