function add_view_layout_template($view_settings, $view_layout_settings, $view_id) { global $views_edit_help; wp_nonce_field('wpv-ct-inline-edit', 'wpv-ct-inline-edit'); $templates = array(); $valid_templates = array(); $first_time = get_post_meta($view_id, '_wpv_first_time_load', true); if (isset($view_layout_settings['included_ct_ids'])) { $templates = explode(',', $view_layout_settings['included_ct_ids']); $valid_templates = $templates; } $template_list = ''; if (count($templates) > 0) { $attached_templates = count($templates); for ($i = 0; $i < $attached_templates; $i++) { if (is_numeric($templates[$i])) { $template_post = get_post($templates[$i]); if (is_object($template_post)) { $template_list .= wpv_list_view_ct_item($template_post, $templates[$i], $view_id); } else { unset($valid_templates[$i]); // remove Templates that might have been deleted or are missing } } else { unset($valid_templates[$i]); // remove Templates that might have been deleted or are missing } } if (count($templates) != count($valid_templates)) { $view_layout_settings['included_ct_ids'] = implode(',', $valid_templates); update_post_meta($view_id, '_wpv_layout_settings', $view_layout_settings); } } ?> <script type="application/javascript"> var wpv_view_ct_msg1 = '<?php echo esc_js(__('Content Template was successfully assigned to view.', 'wpv-views')); ?> '; var wpv_view_ct_msg2 = '<?php echo esc_js(__('This Content Template already assigned to this view.', 'wpv-views')); ?> '; var wpv_view_ct_msg3 = '<?php echo esc_js(__('Content Template was successfully unassigned from view.', 'wpv-views')); ?> '; var wpv_view_ct_msg4 = '<?php echo esc_js(__('Content Template was successfully updated.', 'wpv-views')); ?> '; var wpv_view_ct_msg5 = '<?php echo esc_js(__('Views', 'wpv-views')); ?> '; var wpv_view_ct_msg6 = '<?php echo esc_js(__('No Content Templates assigned to this view', 'wpv-views')); ?> '; var wpv_view_ct_msg7 = '<?php echo esc_js(__('There are no Content Templates for this View. You can add a Content Template using the Content Template button in the Layout editor tool bar.', 'wpv-views')); ?> '; var wpv_view_ct_msg8 = '<?php echo esc_js(__('A Content Template with that name already exists. Please use another name.', 'wpv-views')); ?> '; </script> <div id="attached-content-templates" class="wpv-settings-templates wpv-setting-container wpv-setting-container-horizontal wpv-settings-layout-markup"<?php echo empty($template_list) ? ' style="display:none;"' : ''; ?> > <div class="wpv-settings-header"> <h3><?php _e('Templates for this View', 'wpv-views'); ?> <i class="icon-question-sign js-display-tooltip" data-header="<?php echo $views_edit_help['templates_for_view']['title']; ?> " data-content="<?php echo $views_edit_help['templates_for_view']['content']; ?> "></i> </h3> </div> <?php if ($first_time == 'on') { $data = wpv_get_view_ct_slider_introduction_data(); wpv_toolset_help_box($data); } ?> <div class="js-wpv-content-template-view-list wpv-content-template-view-list wpv-setting"> <ul> <?php echo $template_list; ?> </ul> <div class="js-wpv-content-template-section-errors"></div> </div> </div> <?php }
function add_view_layout_template($view_settings, $view_layout_settings, $view_id, $user_id) { $dismissed_pointers = get_user_meta($user_id, '_wpv_dismissed_pointers', true); if (!is_array($dismissed_pointers) || empty($dismissed_pointers)) { $dismissed_pointers = array(); } $dismissed_dialogs = get_user_meta($user_id, '_wpv_dismissed_dialogs', true); if (!is_array($dismissed_dialogs) || empty($dismissed_dialogs)) { $dismissed_dialogs = array(); } wp_nonce_field('wpv-ct-inline-edit', 'wpv-ct-inline-edit'); wp_nonce_field('wpv_inline_content_template', 'wpv_inline_content_template'); $templates = array(); $valid_templates = array(); $first_time = get_post_meta($view_id, '_wpv_first_time_load', true); if (isset($view_layout_settings['included_ct_ids'])) { $templates = explode(',', $view_layout_settings['included_ct_ids']); $valid_templates = $templates; } if (count($templates) > 0) { $attached_templates = count($templates); foreach ($templates as $key => $template_id) { if (is_numeric($template_id)) { $template_post = get_post($template_id); if (is_object($template_post) && $template_post->post_status == 'publish' && $template_post->post_type == 'view-template') { } else { unset($valid_templates[$key]); // remove Templates that might have been deleted or are missing } } else { unset($valid_templates[$key]); // remove Templates that might have been deleted or are missing } } if (count($templates) != count($valid_templates)) { $view_layout_settings['included_ct_ids'] = implode(',', $valid_templates); update_post_meta($view_id, '_wpv_layout_settings', $view_layout_settings); do_action('wpv_action_wpv_save_item', $view_id); } } $section_help_pointer = WPV_Admin_Messages::edit_section_help_pointer('templates_for_view'); ?> <div id="attached-content-templates" class="wpv-settings-templates wpv-setting-container wpv-setting-container-horizontal wpv-settings-layout-markup js-wpv-settings-inline-templates"<?php echo count($valid_templates) < 1 ? ' style="display:none;"' : ''; ?> > <div class="wpv-settings-header"> <h3><?php _e('Templates for this View', 'wpv-views'); ?> <i class="icon-question-sign js-display-tooltip" data-header="<?php echo esc_attr($section_help_pointer['title']); ?> " data-content="<?php echo esc_attr($section_help_pointer['content']); ?> "> </i> </h3> </div> <?php if ($first_time == 'on') { $purpose = $view_settings['view_purpose']; if ($purpose == 'slider') { wpv_get_view_ct_slider_introduction_data(); } } ?> <div class="js-wpv-content-template-view-list wpv-content-template-view-list wpv-setting"> <ul class="wpv-inline-content-template-listing js-wpv-inline-content-template-listing"> <?php if (count($valid_templates) > 0) { $opened = false; if (count($valid_templates) == 1) { $opened = true; } foreach ($valid_templates as $valid_ct_id) { // This is cached so it is OK to do that again $valid_ct_post = get_post($valid_ct_id); wpv_list_view_ct_item($valid_ct_post, $valid_ct_id, $view_id, $opened); } } ?> </ul> <div class="js-wpv-message-container js-wpv-content-template-section-errors"></div> </div> </div> <!-- @todo: move this to the view-editor-section-hidden action --> <div id="js-wpv-inline-content-templates-dialogs" class="popup-window-container"> <!-- Colorbox dialogs --> <?php $dismissed_classname = ''; if (isset($dismissed_dialogs['remove-content-template-from-view'])) { $dismissed_classname = ' js-wpv-dialog-dismissed'; } ?> <div class="wpv-dialog js-wpv-dialog-remove-content-template-from-view<?php echo $dismissed_classname; ?> "> <div class="wpv-dialog-header"> <h2><?php _e('Remove the Content Template from the view', 'wpv-views'); ?> </h2> <i class="icon-remove js-dialog-close"></i> </div> <div class="wpv-dialog-content"> <p> <?php _e("This will remove the link between your view and the Content Template. The Content Template will not be deleted."); ?> </p> <p> <label for="wpv-dettach-inline-content-template-dismiss"> <input type="checkbox" id="wpv-dettach-inline-content-template-dismiss" class="js-wpv-dettach-inline-content-template-dismiss" /> <?php _e("Don't show this message again", 'wpv-views'); ?> </label> </p> </div> <div class="wpv-dialog-footer"> <button class="button js-dialog-close"><?php _e('Cancel', 'wpv-views'); ?> </button> <button class="button button-primary js-wpv-remove-template-from-view"><?php _e('Remove', 'wpv-views'); ?> </button> </div> </div> <!-- Pointers --> <?php $dismissed_classname = ''; if (isset($dismissed_pointers['inserted-inline-content-template'])) { $dismissed_classname = ' js-wpv-pointer-dismissed'; } ?> <div class="js-wpv-inserted-inline-content-template-pointer<?php echo $dismissed_classname; ?> "> <h3><?php _e('Content Template inserted in the layout', 'wpv-views'); ?> </h3> <p> <?php _e('A Content Template works like a subroutine.', 'wpv-views'); echo WPV_MESSAGE_SPACE_CHAR; _e('You can edit its content in one place and use it in several places in the View.', 'wpv-views'); ?> </p> <p> <label> <input type="checkbox" class="js-wpv-dismiss-pointer" data-pointer="inserted-inline-content-template" id="wpv-dismiss-inserted-inline-content-template-pointer" /> <?php _e('Don\'t show this again', 'wpv-views'); ?> </label> </p> </div> </div><!-- end of .popup-window-container --> <?php delete_post_meta($view_id, '_wpv_first_time_load'); }