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 
}
Exemple #3
0
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 
}