Version Description
- Redesign of post type settings page, with additional options added.
- Thumbnail support added to nested/sort view. Visit Settings > Nested Pages > Post Types to enable post thumbnails and set options.
- Ability to customize quick edit fields for each post type added. Visit Settings > Nested Pages > Post Types to hide specific fields from the quick edit interface for each post type. Please note: specific fields are still hidden depending. on the current user's roles/capabilities.
- Bulk delete functionality added.
- When adding multiple pages, the option to set them as hidden in the nav menu is now available.
- Option added to manually sync the nav menu and page order.
- Bug fix where Post menu wasn't being replaced if option checked.
- Modified date set to not update when reordering post order through the nested view.
- Issue of duplicate posts item in nav menu resolved.
- Fix for invalid rel attribute in generated nav menus, resulting in W3C validation error.
- Filters added for title, edit links, and view links in the nested interface.
- Bug fix where non-hierarchical post types were allowing nesting.
- Bug fix where page redirect errors were showing while attempting to delete pages with the Page post type disabled. (Thanks to Evan Washkow)
- Bug fix where non-ascii characters were not displaying correctly in the quick edit slug field.
- Bug fix where "Add Child" was not available if menu sync was disabled completely.
- Tab index set when adding a new child or multiple pages. No mouse necessary for adding in bulk.
- Various UI enhancements.
- Swedish translation added (Thanks to Marcus Forsberg).
Download this release
Release Info
Developer | kylephillips |
Plugin | Nested Pages |
Version | 1.6.0 |
Comparing to | |
See all releases |
Code changes from version 1.5.4 to 1.6.0
- app/Activation/Dependencies.php +41 -1
- app/Config/Settings.php +14 -2
- app/Config/SettingsRepository.php +94 -0
- app/Entities/AdminMenu/AdminSubmenu.php +1 -1
- app/Entities/AdminMenu/EnabledMenus.php +1 -1
- app/Entities/Confirmation/TrashConfirmation.php +21 -8
- app/Entities/Confirmation/TrashRestoredConfirmation.php +2 -2
- app/Entities/Listing/Listing.php +45 -3
- app/Entities/NavMenu/NavMenuFrontEnd.php +38 -0
- app/Entities/PluginIntegration/AdvancedCustomFields.php +72 -0
- app/Entities/PluginIntegration/IntegrationFactory.php +4 -0
- app/Entities/PluginIntegration/YoastSeo.php +37 -0
- app/Entities/Post/PostDataFactory.php +11 -8
- app/Entities/Post/PostFactory.php +2 -3
- app/Entities/Post/PostRepository.php +6 -0
- app/Entities/Post/PostUpdateRepository.php +55 -22
- app/Entities/PostType/PostTypeRepository.php +197 -38
- app/Entities/User/UserRepository.php +1 -1
- app/Form/Events.php +3 -1
- app/Form/Listeners/BulkActions.php +122 -0
- app/Form/Listeners/ManualMenuSync.php +19 -0
- app/Form/Listeners/QuickEdit.php +2 -1
- app/FrontEndBootstrap.php +1 -0
- app/NestedPages.php +2 -2
- app/Redirects.php +36 -5
- app/RedirectsFrontEnd.php +35 -29
- app/Views/forms/delete-confirmation-modal.php +1 -1
- app/Views/forms/more-options-modal.php +14 -0
- app/Views/forms/new-child.php +9 -0
- app/Views/forms/quickedit-post.php +54 -30
- app/Views/listing.php +19 -4
- app/Views/partials/list-header.php +22 -0
- app/Views/partials/row-link.php +32 -1
- app/Views/partials/row.php +52 -16
- app/Views/partials/tool-list.php +13 -9
- app/Views/settings/settings-general.php +18 -6
- app/Views/settings/settings-posttypes.php +195 -56
- app/Views/settings/settings.php +1 -3
- assets/banner-772x250.png +0 -0
- assets/css/fonts/nestedpages.eot +0 -0
- assets/css/fonts/nestedpages.svg +21 -21
- assets/css/fonts/nestedpages.ttf +0 -0
- assets/css/fonts/nestedpages.woff +0 -0
- assets/css/fonts/nestedpages.woff2 +0 -0
- assets/css/nestedpages.css +1 -1
- assets/icon-128x128.png +0 -0
- assets/js/lib/nestedpages-factory.js +33 -2
- assets/js/lib/nestedpages.bulk-actions.js +65 -0
- assets/js/lib/nestedpages.check-all.js +91 -0
- assets/js/lib/nestedpages.confirm-delete.js +48 -26
- assets/js/lib/nestedpages.formatter.js +15 -3
- assets/js/lib/nestedpages.hidden-item-count.js +53 -0
- assets/js/lib/nestedpages.manual-sync.js +73 -0
- assets/js/lib/nestedpages.menu-links.js +1 -1
- assets/js/lib/nestedpages.nesting.js +11 -3
- assets/js/lib/nestedpages.new-link.js +1 -1
- assets/js/lib/nestedpages.new-page.js +39 -3
- assets/js/lib/nestedpages.page-toggle.js +20 -8
- assets/js/lib/nestedpages.quickedit-post.js +5 -4
- assets/js/lib/nestedpages.settings.js +187 -0
- assets/js/lib/nestedpages.sync-menu-setting.js +1 -0
- assets/js/nestedpages.min.js +2 -2
- assets/js/nestedpages.settings.min.js +1 -0
- languages/nestedpages-sv_SE.mo +0 -0
- languages/nestedpages-sv_SE.po +590 -0
- languages/nestedpages.mo +0 -0
- languages/nestedpages.pot +309 -147
- nestedpages.php +2 -2
- readme.txt +46 -8
app/Activation/Dependencies.php
CHANGED
@@ -3,6 +3,8 @@
|
|
3 |
namespace NestedPages\Activation;
|
4 |
|
5 |
use NestedPages\Entities\PostType\PostTypeRepository;
|
|
|
|
|
6 |
use NestedPages\Helpers;
|
7 |
|
8 |
/**
|
@@ -25,13 +27,26 @@ class Dependencies
|
|
25 |
* Post Type Repository
|
26 |
*/
|
27 |
private $post_type_repo;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
|
29 |
public function __construct()
|
30 |
{
|
31 |
$this->post_type_repo = new PostTypeRepository;
|
|
|
|
|
32 |
$this->setPluginVersion();
|
33 |
add_action( 'admin_enqueue_scripts', array($this, 'styles') );
|
34 |
add_action( 'admin_enqueue_scripts', array($this, 'scripts') );
|
|
|
35 |
$this->plugin_dir = Helpers::plugin_url();
|
36 |
}
|
37 |
|
@@ -55,6 +70,7 @@ class Dependencies
|
|
55 |
array(),
|
56 |
$this->plugin_version
|
57 |
);
|
|
|
58 |
}
|
59 |
|
60 |
/**
|
@@ -123,7 +139,14 @@ class Dependencies
|
|
123 |
'add_pages' => __('Add Pages', 'nestedpages'),
|
124 |
'add_multiple' => __('Add Multiple', 'nestedpages'),
|
125 |
'trash_confirm' => __('Are you sure you would like to empty the trash? This action is not reversable.', 'nestedpages'),
|
126 |
-
'hidden' => __('Hidden', 'nestedpages')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
);
|
128 |
$syncmenu = ( get_option('nestedpages_menusync') == 'sync' ) ? true : false;
|
129 |
$localized_data['syncmenu'] = $syncmenu;
|
@@ -133,6 +156,23 @@ class Dependencies
|
|
133 |
'nestedpages',
|
134 |
$localized_data
|
135 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
endif;
|
137 |
}
|
138 |
|
3 |
namespace NestedPages\Activation;
|
4 |
|
5 |
use NestedPages\Entities\PostType\PostTypeRepository;
|
6 |
+
use NestedPages\Entities\PluginIntegration\IntegrationFactory;
|
7 |
+
use NestedPages\Config\SettingsRepository;
|
8 |
use NestedPages\Helpers;
|
9 |
|
10 |
/**
|
27 |
* Post Type Repository
|
28 |
*/
|
29 |
private $post_type_repo;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Settings Repository
|
33 |
+
*/
|
34 |
+
private $settings;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Integrations
|
38 |
+
*/
|
39 |
+
private $integrations;
|
40 |
|
41 |
public function __construct()
|
42 |
{
|
43 |
$this->post_type_repo = new PostTypeRepository;
|
44 |
+
$this->integrations = new IntegrationFactory;
|
45 |
+
$this->settings = new SettingsRepository;
|
46 |
$this->setPluginVersion();
|
47 |
add_action( 'admin_enqueue_scripts', array($this, 'styles') );
|
48 |
add_action( 'admin_enqueue_scripts', array($this, 'scripts') );
|
49 |
+
add_action( 'admin_enqueue_scripts', array($this, 'settingsScripts') );
|
50 |
$this->plugin_dir = Helpers::plugin_url();
|
51 |
}
|
52 |
|
70 |
array(),
|
71 |
$this->plugin_version
|
72 |
);
|
73 |
+
if ( $this->integrations->plugins->acf->installed ) wp_enqueue_style('acf-input');
|
74 |
}
|
75 |
|
76 |
/**
|
139 |
'add_pages' => __('Add Pages', 'nestedpages'),
|
140 |
'add_multiple' => __('Add Multiple', 'nestedpages'),
|
141 |
'trash_confirm' => __('Are you sure you would like to empty the trash? This action is not reversable.', 'nestedpages'),
|
142 |
+
'hidden' => __('Hidden', 'nestedpages'),
|
143 |
+
'bulk_actions' => __('Bulk Actions', 'nestedpages'),
|
144 |
+
'link_delete_confirmation' => __('Your selection includes link items, which cannot be recovered after deleting. Would you like to continue? (Other items are moved to the trash)', 'nestedpages'),
|
145 |
+
'link_delete_confirmation_singular' => __('Are you sure you would like to delete this item? This action is not reversable.', 'nestedpages'),
|
146 |
+
'delete' => __('Delete', 'nestedpages'),
|
147 |
+
'trash_delete_links' => __('Trash Posts and Delete Links'),
|
148 |
+
'manual_menu_sync' => $this->settings->autoMenuDisabled(),
|
149 |
+
'manual_order_sync' => $this->settings->autoPageOrderDisabled(),
|
150 |
);
|
151 |
$syncmenu = ( get_option('nestedpages_menusync') == 'sync' ) ? true : false;
|
152 |
$localized_data['syncmenu'] = $syncmenu;
|
156 |
'nestedpages',
|
157 |
$localized_data
|
158 |
);
|
159 |
+
if ( $this->integrations->plugins->acf->installed ) wp_enqueue_script('acf-input');
|
160 |
+
endif;
|
161 |
+
}
|
162 |
+
|
163 |
+
/**
|
164 |
+
* Settings
|
165 |
+
*/
|
166 |
+
public function settingsScripts()
|
167 |
+
{
|
168 |
+
$screen = get_current_screen();
|
169 |
+
if ( strpos( $screen->id, 'nested-pages-settings' ) ) :
|
170 |
+
wp_enqueue_script(
|
171 |
+
'nestedpages-settings',
|
172 |
+
$this->plugin_dir . '/assets/js/nestedpages.settings.min.js',
|
173 |
+
array('jquery'),
|
174 |
+
$this->plugin_version
|
175 |
+
);
|
176 |
endif;
|
177 |
}
|
178 |
|
app/Config/Settings.php
CHANGED
@@ -6,6 +6,7 @@ use NestedPages\Helpers;
|
|
6 |
use NestedPages\Entities\User\UserRepository;
|
7 |
use NestedPages\Entities\PostType\PostTypeRepository;
|
8 |
use NestedPages\Config\SettingsRepository;
|
|
|
9 |
|
10 |
/**
|
11 |
* Plugin Settings
|
@@ -24,6 +25,11 @@ class Settings
|
|
24 |
*/
|
25 |
private $user_repo;
|
26 |
|
|
|
|
|
|
|
|
|
|
|
27 |
/**
|
28 |
* Post Types
|
29 |
*/
|
@@ -34,6 +40,11 @@ class Settings
|
|
34 |
*/
|
35 |
private $settings;
|
36 |
|
|
|
|
|
|
|
|
|
|
|
37 |
public function __construct()
|
38 |
{
|
39 |
add_action( 'admin_menu', array( $this, 'registerSettingsPage' ) );
|
@@ -41,6 +52,8 @@ class Settings
|
|
41 |
add_action( 'updated_option', array( $this, 'updateMenuName'), 10, 3);
|
42 |
$this->user_repo = new UserRepository;
|
43 |
$this->settings = new SettingsRepository;
|
|
|
|
|
44 |
}
|
45 |
|
46 |
/**
|
@@ -109,8 +122,7 @@ class Settings
|
|
109 |
*/
|
110 |
private function getPostTypes()
|
111 |
{
|
112 |
-
$
|
113 |
-
return $post_repo->getPostTypesObject();
|
114 |
}
|
115 |
|
116 |
/**
|
6 |
use NestedPages\Entities\User\UserRepository;
|
7 |
use NestedPages\Entities\PostType\PostTypeRepository;
|
8 |
use NestedPages\Config\SettingsRepository;
|
9 |
+
use NestedPages\Entities\PluginIntegration\IntegrationFactory;
|
10 |
|
11 |
/**
|
12 |
* Plugin Settings
|
25 |
*/
|
26 |
private $user_repo;
|
27 |
|
28 |
+
/**
|
29 |
+
* Post Type Repository
|
30 |
+
*/
|
31 |
+
private $post_type_repo;
|
32 |
+
|
33 |
/**
|
34 |
* Post Types
|
35 |
*/
|
40 |
*/
|
41 |
private $settings;
|
42 |
|
43 |
+
/**
|
44 |
+
* Plugin Integration
|
45 |
+
*/
|
46 |
+
private $integrations;
|
47 |
+
|
48 |
public function __construct()
|
49 |
{
|
50 |
add_action( 'admin_menu', array( $this, 'registerSettingsPage' ) );
|
52 |
add_action( 'updated_option', array( $this, 'updateMenuName'), 10, 3);
|
53 |
$this->user_repo = new UserRepository;
|
54 |
$this->settings = new SettingsRepository;
|
55 |
+
$this->post_type_repo = new PostTypeRepository;
|
56 |
+
$this->integrations = new IntegrationFactory;
|
57 |
}
|
58 |
|
59 |
/**
|
122 |
*/
|
123 |
private function getPostTypes()
|
124 |
{
|
125 |
+
return $this->post_type_repo->getPostTypesObject();
|
|
|
126 |
}
|
127 |
|
128 |
/**
|
app/Config/SettingsRepository.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
namespace NestedPages\Config;
|
|
|
4 |
|
5 |
class SettingsRepository
|
6 |
{
|
@@ -35,6 +36,26 @@ class SettingsRepository
|
|
35 |
return ( $option == 'sync' ) ? true : false;
|
36 |
}
|
37 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
/**
|
39 |
* Are menus completely disabled?
|
40 |
* @return boolean
|
@@ -46,4 +67,77 @@ class SettingsRepository
|
|
46 |
return false;
|
47 |
}
|
48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
1 |
<?php
|
2 |
|
3 |
namespace NestedPages\Config;
|
4 |
+
use NestedPages\Entities\PostType\PostTypeRepository;
|
5 |
|
6 |
class SettingsRepository
|
7 |
{
|
36 |
return ( $option == 'sync' ) ? true : false;
|
37 |
}
|
38 |
|
39 |
+
/**
|
40 |
+
* Is AJAX menu sync disabled?
|
41 |
+
*/
|
42 |
+
public function autoMenuDisabled()
|
43 |
+
{
|
44 |
+
$option = get_option('nestedpages_ui', false);
|
45 |
+
if ( $option && isset($option['manual_menu_sync']) && $option['manual_menu_sync'] == 'true' ) return true;
|
46 |
+
return false;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Is AJAX page order disabled?
|
51 |
+
*/
|
52 |
+
public function autoPageOrderDisabled()
|
53 |
+
{
|
54 |
+
$option = get_option('nestedpages_ui', false);
|
55 |
+
if ( $option && isset($option['manual_page_order_sync']) && $option['manual_page_order_sync'] == 'true' ) return true;
|
56 |
+
return false;
|
57 |
+
}
|
58 |
+
|
59 |
/**
|
60 |
* Are menus completely disabled?
|
61 |
* @return boolean
|
67 |
return false;
|
68 |
}
|
69 |
|
70 |
+
/**
|
71 |
+
* Array of configurable standard fields
|
72 |
+
* @return array
|
73 |
+
*/
|
74 |
+
public function standardFields($post_type)
|
75 |
+
{
|
76 |
+
$post_type_repo = new PostTypeRepository;
|
77 |
+
|
78 |
+
$fields = array(
|
79 |
+
'title' => __('Post Title', 'nestedpages'),
|
80 |
+
'slug' => __('Slug', 'nestedpages'),
|
81 |
+
'date' => __('Post Date', 'nestedpages'),
|
82 |
+
'author' => __('Author', 'nestedpages'),
|
83 |
+
'status' => __('Post Status', 'nestedpages'),
|
84 |
+
'password' => __('Password/Private', 'nestedpages'),
|
85 |
+
'allow_comments' => __('Allow Comments', 'nestedpages')
|
86 |
+
);
|
87 |
+
|
88 |
+
if ( $post_type == 'page' ) {
|
89 |
+
$fields['template'] = __('Template', 'nestedpages');
|
90 |
+
$fields['menu_options'] = __('Menu Options', 'nestedpages');
|
91 |
+
}
|
92 |
+
|
93 |
+
$fields['hide_in_np'] = __('Hide in Nested Pages', 'nestedpages');
|
94 |
+
|
95 |
+
// Taxonomies
|
96 |
+
$enabled_h_taxonomies = $post_type_repo->getTaxonomies($post_type);
|
97 |
+
$enabled_f_taxonomies = $post_type_repo->getTaxonomies($post_type, false);
|
98 |
+
$enabled_taxonomies = array_merge($enabled_h_taxonomies, $enabled_f_taxonomies);
|
99 |
+
if ( empty($enabled_taxonomies) ) return $fields;
|
100 |
+
|
101 |
+
$fields['hide_taxonomies'] = __('Taxonomies', 'nestedpages');
|
102 |
+
$fields['taxonomies'] = array();
|
103 |
+
foreach($enabled_taxonomies as $taxonomy){
|
104 |
+
$fields['taxonomies'][$taxonomy->name] = $taxonomy->labels->name;
|
105 |
+
}
|
106 |
+
|
107 |
+
return $fields;
|
108 |
+
}
|
109 |
+
|
110 |
+
/**
|
111 |
+
* Get All Image Sizes Available in the theme
|
112 |
+
*/
|
113 |
+
public function getImageSizes()
|
114 |
+
{
|
115 |
+
global $_wp_additional_image_sizes;
|
116 |
+
$sizes = array();
|
117 |
+
foreach ( get_intermediate_image_sizes() as $_size ) {
|
118 |
+
if ( in_array( $_size, array('thumbnail', 'medium', 'medium_large', 'large') ) ) {
|
119 |
+
$sizes[ $_size ]['width'] = get_option( "{$_size}_size_w" );
|
120 |
+
$sizes[ $_size ]['height'] = get_option( "{$_size}_size_h" );
|
121 |
+
$sizes[ $_size ]['crop'] = (bool) get_option( "{$_size}_crop" );
|
122 |
+
} elseif ( isset( $_wp_additional_image_sizes[ $_size ] ) ) {
|
123 |
+
$sizes[ $_size ] = array(
|
124 |
+
'width' => $_wp_additional_image_sizes[ $_size ]['width'],
|
125 |
+
'height' => $_wp_additional_image_sizes[ $_size ]['height'],
|
126 |
+
'crop' => $_wp_additional_image_sizes[ $_size ]['crop'],
|
127 |
+
);
|
128 |
+
}
|
129 |
+
}
|
130 |
+
return $sizes;
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Get a specific image/thumbnail size
|
135 |
+
*/
|
136 |
+
public function getImageSize($size)
|
137 |
+
{
|
138 |
+
$sizes = $this->getImageSizes();
|
139 |
+
if ( isset( $sizes[ $size ] ) ) return $sizes[ $size ];
|
140 |
+
return false;
|
141 |
+
}
|
142 |
+
|
143 |
}
|
app/Entities/AdminMenu/AdminSubmenu.php
CHANGED
@@ -70,7 +70,7 @@ class AdminSubmenu
|
|
70 |
private function defaultLink($c)
|
71 |
{
|
72 |
global $submenu;
|
73 |
-
if ( !$this->post_type_repo->
|
74 |
$submenu[$this->slug][$c] = array(
|
75 |
__('Default','nestedpages') . ' ' . $this->post_type->labels->name,
|
76 |
'publish_pages',
|
70 |
private function defaultLink($c)
|
71 |
{
|
72 |
global $submenu;
|
73 |
+
if ( !$this->post_type_repo->postTypeSetting($this->post_type->name, 'hide_default') ){
|
74 |
$submenu[$this->slug][$c] = array(
|
75 |
__('Default','nestedpages') . ' ' . $this->post_type->labels->name,
|
76 |
'publish_pages',
|
app/Entities/AdminMenu/EnabledMenus.php
CHANGED
@@ -106,7 +106,7 @@ class EnabledMenus
|
|
106 |
private function removeExistingMenu()
|
107 |
{
|
108 |
remove_menu_page('edit.php?post_type=' . $this->post_type->name);
|
109 |
-
if (
|
110 |
}
|
111 |
|
112 |
/**
|
106 |
private function removeExistingMenu()
|
107 |
{
|
108 |
remove_menu_page('edit.php?post_type=' . $this->post_type->name);
|
109 |
+
if ( $this->post_type->name == 'post' ) remove_menu_page('edit.php');
|
110 |
}
|
111 |
|
112 |
/**
|
app/Entities/Confirmation/TrashConfirmation.php
CHANGED
@@ -11,18 +11,31 @@ class TrashConfirmation implements ConfirmationInterface
|
|
11 |
public function setMessage()
|
12 |
{
|
13 |
$out = '';
|
14 |
-
$trashed = ( explode(',', $_GET['ids']) );
|
15 |
-
if ( count($trashed) > 1 ){
|
16 |
-
$out .= count($trashed) . ' ' . __('pages moved to the Trash.', 'nestedpages');
|
17 |
-
} else {
|
18 |
-
$out .= '<strong>' . get_the_title($trashed[0]) . ' </strong>' . __('moved to the Trash.', 'nestedpages');
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
// Undo Link
|
21 |
if ( current_user_can('delete_pages') ) {
|
22 |
-
$
|
23 |
-
$out .= ' <a href="' . wp_nonce_url( admin_url(
|
24 |
}
|
25 |
-
|
|
|
26 |
return $out;
|
27 |
}
|
28 |
|
11 |
public function setMessage()
|
12 |
{
|
13 |
$out = '';
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
+
// Show number of Links (np-redirect) Deleted if applicable
|
16 |
+
if ( isset($_GET['link_ids']) ) :
|
17 |
+
$links_trashed = ( explode(',', $_GET['link_ids']) );
|
18 |
+
$number_trashed = count($links_trashed);
|
19 |
+
$out .= ( $number_trashed > 1 )
|
20 |
+
? ' ' . $number_trashed . ' ' . __('Links Removed.', 'nestedpages') . ' '
|
21 |
+
: ' ' . $number_trashed . ' ' . __('Link Removed.', 'nestedpages') . ' ';
|
22 |
+
endif;
|
23 |
+
|
24 |
+
// Post(s) Moved to Trash
|
25 |
+
if ( isset($_GET['ids']) ) :
|
26 |
+
$trashed = ( explode(',', $_GET['ids']) );
|
27 |
+
$post_type = get_post_type($trashed[0]);
|
28 |
+
$post_type_object = get_post_type_object($post_type);
|
29 |
+
$out .= ( count($trashed) > 1 )
|
30 |
+
? count($trashed) . ' ' . $post_type_object->labels->name . ' ' . __('moved to the Trash.', 'nestedpages')
|
31 |
+
: '<strong>' . get_the_title($trashed[0]) . ' </strong>' . __('moved to the Trash.', 'nestedpages');
|
32 |
// Undo Link
|
33 |
if ( current_user_can('delete_pages') ) {
|
34 |
+
$ids = preg_replace( '/[^0-9,]/', '', $_GET['ids'] );
|
35 |
+
$out .= ' <a href="' . wp_nonce_url( admin_url( 'edit.php?&post_type=' . $post_type . '&doaction=undo'. '&action=untrash&ids=' . $ids ), 'bulk-posts') . '">' . __( 'Undo' ) . "</a>";
|
36 |
}
|
37 |
+
endif;
|
38 |
+
|
39 |
return $out;
|
40 |
}
|
41 |
|
app/Entities/Confirmation/TrashRestoredConfirmation.php
CHANGED
@@ -11,8 +11,8 @@ class TrashRestoredConfirmation implements ConfirmationInterface
|
|
11 |
public function setMessage()
|
12 |
{
|
13 |
$untrashed = sanitize_text_field($_GET['untrashed']);
|
14 |
-
$
|
15 |
-
$out = $untrashed . ' ' . $
|
16 |
return $out;
|
17 |
}
|
18 |
|
11 |
public function setMessage()
|
12 |
{
|
13 |
$untrashed = sanitize_text_field($_GET['untrashed']);
|
14 |
+
$label = ( intval($untrashed) > 1 ) ? __('items', 'nestedpages') : __('item', 'nestedpages');
|
15 |
+
$out = $untrashed . ' ' . $label . ' ' . __('restored from trash.', 'nestedpages');
|
16 |
return $out;
|
17 |
}
|
18 |
|
app/Entities/Listing/Listing.php
CHANGED
@@ -88,6 +88,16 @@ class Listing
|
|
88 |
*/
|
89 |
private $integrations;
|
90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
|
92 |
public function __construct($post_type)
|
93 |
{
|
@@ -100,6 +110,7 @@ class Listing
|
|
100 |
$this->listing_repo = new ListingRepository;
|
101 |
$this->post_data_factory = new PostDataFactory;
|
102 |
$this->settings = new SettingsRepository;
|
|
|
103 |
}
|
104 |
|
105 |
/**
|
@@ -149,6 +160,30 @@ class Listing
|
|
149 |
$this->post_type = get_post_type_object($post_type);
|
150 |
}
|
151 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
/**
|
153 |
* The Main View
|
154 |
* Replaces Default Post Listing
|
@@ -186,11 +221,15 @@ class Listing
|
|
186 |
// Compare child pages with user's toggled pages
|
187 |
$compared = array_intersect($this->listing_repo->visiblePages($this->post_type->name), $children);
|
188 |
|
|
|
|
|
|
|
|
|
|
|
189 |
// Primary List
|
190 |
if ( $count == 1 ) {
|
191 |
-
|
192 |
-
|
193 |
-
: '<ol class="sortable no-sort nplist" visible" id="np-' . $this->post_type->name . '">';
|
194 |
return;
|
195 |
}
|
196 |
|
@@ -290,6 +329,9 @@ class Listing
|
|
290 |
|
291 |
echo '<li id="menuItem_' . $this->post->id . '" class="page-row';
|
292 |
|
|
|
|
|
|
|
293 |
// Published?
|
294 |
if ( $this->post->status == 'publish' ) echo ' published';
|
295 |
if ( $this->post->status == 'draft' ) echo ' draft';
|
88 |
*/
|
89 |
private $integrations;
|
90 |
|
91 |
+
/**
|
92 |
+
* Disabled Standard Fields
|
93 |
+
*/
|
94 |
+
private $disabled_standard_fields;
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Enabled Custom Fields
|
98 |
+
*/
|
99 |
+
private $enabled_custom_fields;
|
100 |
+
|
101 |
|
102 |
public function __construct($post_type)
|
103 |
{
|
110 |
$this->listing_repo = new ListingRepository;
|
111 |
$this->post_data_factory = new PostDataFactory;
|
112 |
$this->settings = new SettingsRepository;
|
113 |
+
$this->setStandardFields();
|
114 |
}
|
115 |
|
116 |
/**
|
160 |
$this->post_type = get_post_type_object($post_type);
|
161 |
}
|
162 |
|
163 |
+
/**
|
164 |
+
* Set the Quick Edit Field Options
|
165 |
+
*/
|
166 |
+
private function setStandardFields()
|
167 |
+
{
|
168 |
+
$type_options = $this->post_type_repo->getSinglePostType($this->post_type->name);
|
169 |
+
|
170 |
+
// The standard fields checkbox is explicitly not set
|
171 |
+
if ( isset($type_options->standard_fields_enabled) && !$type_options->standard_fields_enabled ){
|
172 |
+
$this->disabled_standard_fields = array();
|
173 |
+
return;
|
174 |
+
}
|
175 |
+
|
176 |
+
if ( isset($type_options->standard_fields) && is_array($type_options->standard_fields) ){
|
177 |
+
$this->disabled_standard_fields = $type_options->standard_fields;
|
178 |
+
foreach ( $type_options->standard_fields as $key => $fields ){
|
179 |
+
if ( $key == 'standard' ) $this->disabled_standard_fields = $fields;
|
180 |
+
}
|
181 |
+
return;
|
182 |
+
}
|
183 |
+
$this->disabled_standard_fields = array();
|
184 |
+
return;
|
185 |
+
}
|
186 |
+
|
187 |
/**
|
188 |
* The Main View
|
189 |
* Replaces Default Post Listing
|
221 |
// Compare child pages with user's toggled pages
|
222 |
$compared = array_intersect($this->listing_repo->visiblePages($this->post_type->name), $children);
|
223 |
|
224 |
+
$list_classes = 'sortable visible nplist';
|
225 |
+
if ( !$this->user->canSortPages() && !$sortable || $this->isSearch() ) $list_classes .= ' no-sort';
|
226 |
+
if ( $this->integrations->plugins->yoast->installed ) $list_classes .= ' has-yoast';
|
227 |
+
if ( $this->isSearch() ) $list_classes .= ' np-search-results';
|
228 |
+
|
229 |
// Primary List
|
230 |
if ( $count == 1 ) {
|
231 |
+
include( Helpers::view('partials/list-header') ); // List Header
|
232 |
+
echo '<ol class="' . $list_classes . '" id="np-' . $this->post_type->name . '">';
|
|
|
233 |
return;
|
234 |
}
|
235 |
|
329 |
|
330 |
echo '<li id="menuItem_' . $this->post->id . '" class="page-row';
|
331 |
|
332 |
+
// Post Type
|
333 |
+
echo ' post-type-' . $this->post->post_type;
|
334 |
+
|
335 |
// Published?
|
336 |
if ( $this->post->status == 'publish' ) echo ' published';
|
337 |
if ( $this->post->status == 'draft' ) echo ' draft';
|
app/Entities/NavMenu/NavMenuFrontEnd.php
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace NestedPages\Entities\NavMenu;
|
4 |
+
|
5 |
+
use NestedPages\Entities\NavMenu\NavMenuRepository;
|
6 |
+
|
7 |
+
/**
|
8 |
+
* Edits/Corrections to the generated nav menu on the front-end
|
9 |
+
*/
|
10 |
+
class NavMenuFrontEnd
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Nav Menu Repository
|
14 |
+
*/
|
15 |
+
private $nav_menu_repo;
|
16 |
+
|
17 |
+
public function __construct()
|
18 |
+
{
|
19 |
+
$this->nav_menu_repo = new NavMenuRepository;
|
20 |
+
add_filter('nav_menu_link_attributes', array($this, 'attributeFilter'), 10, 4);
|
21 |
+
}
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Filter the link attributes on the generated menu
|
25 |
+
*/
|
26 |
+
public function attributeFilter($atts, $item, $args, $depth)
|
27 |
+
{
|
28 |
+
if ( $args->menu->term_id !== $this->nav_menu_repo->getMenuID() ) return $atts;
|
29 |
+
|
30 |
+
// Remove the rel= attribute created from saving the menu object for syncing
|
31 |
+
foreach($atts as $attribute => $value){
|
32 |
+
if ( strtolower($attribute) != 'rel' ) continue;
|
33 |
+
if ( $value == $item->object ) unset($atts[$attribute]);
|
34 |
+
}
|
35 |
+
|
36 |
+
return $atts;
|
37 |
+
}
|
38 |
+
}
|
app/Entities/PluginIntegration/AdvancedCustomFields.php
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace NestedPages\Entities\PluginIntegration;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Advanced Custom Fields Integration
|
7 |
+
* @link https://www.advancedcustomfields.com/
|
8 |
+
*/
|
9 |
+
|
10 |
+
class AdvancedCustomFields
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Installed
|
14 |
+
* @var boolean
|
15 |
+
*/
|
16 |
+
public $installed = false;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Unsupported Field Types
|
20 |
+
* @var array
|
21 |
+
*/
|
22 |
+
private $unsupported;
|
23 |
+
|
24 |
+
public function __construct()
|
25 |
+
{
|
26 |
+
return;
|
27 |
+
if ( class_exists('acf') ){
|
28 |
+
$this->installed = true;
|
29 |
+
$this->setUnsupportedFieldTypes();
|
30 |
+
return;
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Set the unsupported field types
|
36 |
+
*/
|
37 |
+
private function setUnsupportedFieldTypes()
|
38 |
+
{
|
39 |
+
$this->unsupported = array(
|
40 |
+
'relationship'
|
41 |
+
);
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Get the ACF fields associated with a post type
|
46 |
+
* @param string post_type
|
47 |
+
* @return array
|
48 |
+
*/
|
49 |
+
public function getFieldsForPostType($post_type)
|
50 |
+
{
|
51 |
+
if ( !function_exists('get_field') ) return false;
|
52 |
+
$field_groups = acf_get_field_groups(array(
|
53 |
+
'post_type' => $post_type
|
54 |
+
));
|
55 |
+
if ( !$field_groups ) return false;
|
56 |
+
$all_fields = array();
|
57 |
+
$c = 0;
|
58 |
+
foreach ( $field_groups as $key => $group ){
|
59 |
+
$fields = acf_get_fields($group);
|
60 |
+
foreach($fields as $field){
|
61 |
+
if ( in_array($field['type'], $this->unsupported) ) continue;
|
62 |
+
$all_fields[$c]['key'] = $field['key'];
|
63 |
+
$all_fields[$c]['label'] = $field['label'];
|
64 |
+
$all_fields[$c]['type'] = $field['type'];
|
65 |
+
$c++;
|
66 |
+
}
|
67 |
+
$c++;
|
68 |
+
}
|
69 |
+
return $all_fields;
|
70 |
+
}
|
71 |
+
|
72 |
+
}
|
app/Entities/PluginIntegration/IntegrationFactory.php
CHANGED
@@ -3,6 +3,8 @@
|
|
3 |
namespace NestedPages\Entities\PluginIntegration;
|
4 |
|
5 |
use NestedPages\Entities\PluginIntegration\EditorialAccessManager;
|
|
|
|
|
6 |
|
7 |
class IntegrationFactory
|
8 |
{
|
@@ -22,6 +24,8 @@ class IntegrationFactory
|
|
22 |
{
|
23 |
$this->plugins = new \StdClass();
|
24 |
$this->plugins->editorial_access_manager = new EditorialAccessManager;
|
|
|
|
|
25 |
}
|
26 |
|
27 |
}
|
3 |
namespace NestedPages\Entities\PluginIntegration;
|
4 |
|
5 |
use NestedPages\Entities\PluginIntegration\EditorialAccessManager;
|
6 |
+
use NestedPages\Entities\PluginIntegration\AdvancedCustomFields;
|
7 |
+
use NestedPages\Entities\PluginIntegration\YoastSeo;
|
8 |
|
9 |
class IntegrationFactory
|
10 |
{
|
24 |
{
|
25 |
$this->plugins = new \StdClass();
|
26 |
$this->plugins->editorial_access_manager = new EditorialAccessManager;
|
27 |
+
$this->plugins->acf = new AdvancedCustomFields;
|
28 |
+
$this->plugins->yoast = new YoastSeo;
|
29 |
}
|
30 |
|
31 |
}
|
app/Entities/PluginIntegration/YoastSeo.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace NestedPages\Entities\PluginIntegration;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Yoast SEO Integration
|
7 |
+
* @link https://wordpress.org/plugins/wordpress-seo/
|
8 |
+
*/
|
9 |
+
|
10 |
+
class YoastSeo
|
11 |
+
{
|
12 |
+
/**
|
13 |
+
* Installed
|
14 |
+
* @var boolean
|
15 |
+
*/
|
16 |
+
public $installed = false;
|
17 |
+
|
18 |
+
public function __construct()
|
19 |
+
{
|
20 |
+
if ( function_exists('wpseo_auto_load') ){
|
21 |
+
$this->installed = true;
|
22 |
+
return;
|
23 |
+
}
|
24 |
+
}
|
25 |
+
|
26 |
+
public function getScore($post_id)
|
27 |
+
{
|
28 |
+
$yoast_score = get_post_meta($post_id, '_yoast_wpseo_meta-robots-noindex', true);
|
29 |
+
if ( ! $yoast_score ) {
|
30 |
+
$yoast_score = get_post_meta($post_id, '_yoast_wpseo_linkdex', true);
|
31 |
+
return \WPSEO_Utils::translate_score($yoast_score);
|
32 |
+
} else {
|
33 |
+
return 'noindex';
|
34 |
+
}
|
35 |
+
}
|
36 |
+
|
37 |
+
}
|
app/Entities/Post/PostDataFactory.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
|
3 |
namespace NestedPages\Entities\Post;
|
|
|
4 |
|
5 |
/**
|
6 |
* Build Post Data Object
|
@@ -14,11 +15,18 @@ class PostDataFactory
|
|
14 |
*/
|
15 |
private $post_data;
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
/**
|
18 |
* Build the Object
|
19 |
*/
|
20 |
public function build($post)
|
21 |
{
|
|
|
22 |
$this->post_data = new \stdClass();
|
23 |
$this->addPostVars($post);
|
24 |
$this->addPostMeta($post);
|
@@ -42,6 +50,7 @@ class PostDataFactory
|
|
42 |
$this->post_data->comment_status = $post->comment_status;
|
43 |
$this->post_data->content = $post->post_content;
|
44 |
$this->post_data->hierarchical = is_post_type_hierarchical($post->post_type);
|
|
|
45 |
$this->post_data->link = get_the_permalink($post->ID);
|
46 |
}
|
47 |
|
@@ -63,14 +72,8 @@ class PostDataFactory
|
|
63 |
$this->post_data->template = ( isset($meta['_wp_page_template'][0]) ) ? $meta['_wp_page_template'][0] : false;
|
64 |
|
65 |
// Yoast Score
|
66 |
-
if (
|
67 |
-
$
|
68 |
-
if ( ! $yoast_score ) {
|
69 |
-
$yoast_score = get_post_meta($post->ID, '_yoast_wpseo_linkdex', true);
|
70 |
-
$this->post_data->score = \WPSEO_Utils::translate_score($yoast_score);
|
71 |
-
} else {
|
72 |
-
$this->post_data->score = 'noindex';
|
73 |
-
}
|
74 |
}
|
75 |
}
|
76 |
|
1 |
<?php
|
2 |
|
3 |
namespace NestedPages\Entities\Post;
|
4 |
+
use NestedPages\Entities\PluginIntegration\IntegrationFactory;
|
5 |
|
6 |
/**
|
7 |
* Build Post Data Object
|
15 |
*/
|
16 |
private $post_data;
|
17 |
|
18 |
+
/**
|
19 |
+
* Plugin Integrations
|
20 |
+
* @var object
|
21 |
+
*/
|
22 |
+
private $integrations;
|
23 |
+
|
24 |
/**
|
25 |
* Build the Object
|
26 |
*/
|
27 |
public function build($post)
|
28 |
{
|
29 |
+
$this->integrations = new IntegrationFactory;
|
30 |
$this->post_data = new \stdClass();
|
31 |
$this->addPostVars($post);
|
32 |
$this->addPostMeta($post);
|
50 |
$this->post_data->comment_status = $post->comment_status;
|
51 |
$this->post_data->content = $post->post_content;
|
52 |
$this->post_data->hierarchical = is_post_type_hierarchical($post->post_type);
|
53 |
+
$this->post_data->post_type = $post->post_type;
|
54 |
$this->post_data->link = get_the_permalink($post->ID);
|
55 |
}
|
56 |
|
72 |
$this->post_data->template = ( isset($meta['_wp_page_template'][0]) ) ? $meta['_wp_page_template'][0] : false;
|
73 |
|
74 |
// Yoast Score
|
75 |
+
if ( $this->integrations->plugins->yoast->installed ) {
|
76 |
+
$this->post_data->score = $this->integrations->plugins->yoast->getScore($post->ID);
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
}
|
78 |
}
|
79 |
|
app/Entities/Post/PostFactory.php
CHANGED
@@ -52,9 +52,8 @@ class PostFactory
|
|
52 |
);
|
53 |
$new_page_id = wp_insert_post($post);
|
54 |
$data['post_id'] = $new_page_id;
|
55 |
-
if ( isset($data['page_template']) )
|
56 |
-
|
57 |
-
}
|
58 |
$this->new_ids[$key] = $new_page_id;
|
59 |
}
|
60 |
return $this->getNewPosts($post_type);
|
52 |
);
|
53 |
$new_page_id = wp_insert_post($post);
|
54 |
$data['post_id'] = $new_page_id;
|
55 |
+
if ( isset($data['page_template']) ) $this->post_update_repo->updateTemplate($data);
|
56 |
+
if ( isset($data['nav_status']) ) $this->post_update_repo->updateNavStatus($data);
|
|
|
57 |
$this->new_ids[$key] = $new_page_id;
|
58 |
}
|
59 |
return $this->getNewPosts($post_type);
|
app/Entities/Post/PostRepository.php
CHANGED
@@ -87,6 +87,7 @@ class PostRepository
|
|
87 |
$pages[$c]['title'] = get_the_title();
|
88 |
$pages[$c]['slug'] = $post->post_name;
|
89 |
$pages[$c]['author'] = get_the_author_meta('ID');
|
|
|
90 |
$pages[$c]['status'] = ucfirst(get_post_status());
|
91 |
$pages[$c]['page_template'] = get_page_template_slug($post->ID);
|
92 |
$pages[$c]['post_parent'] = $post->post_parent;
|
@@ -106,7 +107,12 @@ class PostRepository
|
|
106 |
$pages[$c]['time'] = date_i18n('H:i', get_the_time('U'));
|
107 |
$pages[$c]['formattedtime'] = date_i18n('g:i', get_the_time('U'));
|
108 |
$pages[$c]['ampm'] = get_the_time('a');
|
|
|
109 |
|
|
|
|
|
|
|
|
|
110 |
|
111 |
$c++; endwhile; endif; wp_reset_postdata();
|
112 |
return $pages;
|
87 |
$pages[$c]['title'] = get_the_title();
|
88 |
$pages[$c]['slug'] = $post->post_name;
|
89 |
$pages[$c]['author'] = get_the_author_meta('ID');
|
90 |
+
$pages[$c]['author_formatted'] = get_the_author();
|
91 |
$pages[$c]['status'] = ucfirst(get_post_status());
|
92 |
$pages[$c]['page_template'] = get_page_template_slug($post->ID);
|
93 |
$pages[$c]['post_parent'] = $post->post_parent;
|
107 |
$pages[$c]['time'] = date_i18n('H:i', get_the_time('U'));
|
108 |
$pages[$c]['formattedtime'] = date_i18n('g:i', get_the_time('U'));
|
109 |
$pages[$c]['ampm'] = get_the_time('a');
|
110 |
+
$pages[$c]['date_formatted'] = get_the_date();
|
111 |
|
112 |
+
// NP Variables
|
113 |
+
$all_meta = get_post_meta(get_the_id());
|
114 |
+
$pages[$c]['post_meta'] = $all_meta;
|
115 |
+
$pages[$c]['np_nav_status'] = ( isset($all_meta['np_nav_status']) && $all_meta['np_nav_status'][0] == 'hide' ) ? 'hide' : 'show';
|
116 |
|
117 |
$c++; endwhile; endif; wp_reset_postdata();
|
118 |
return $pages;
|
app/Entities/Post/PostUpdateRepository.php
CHANGED
@@ -4,6 +4,7 @@ namespace NestedPages\Entities\Post;
|
|
4 |
|
5 |
use NestedPages\Form\Validation\Validation;
|
6 |
use NestedPages\Entities\NavMenu\NavMenuRepository;
|
|
|
7 |
|
8 |
/**
|
9 |
* Post Create/Update Methods
|
@@ -22,6 +23,11 @@ class PostUpdateRepository
|
|
22 |
*/
|
23 |
protected $nav_menu_repo;
|
24 |
|
|
|
|
|
|
|
|
|
|
|
25 |
/**
|
26 |
* New Post ID
|
27 |
* @var int
|
@@ -33,6 +39,7 @@ class PostUpdateRepository
|
|
33 |
{
|
34 |
$this->validation = new Validation;
|
35 |
$this->nav_menu_repo = new NavMenuRepository;
|
|
|
36 |
}
|
37 |
|
38 |
/**
|
@@ -44,17 +51,27 @@ class PostUpdateRepository
|
|
44 |
public function updateOrder($posts, $parent = 0)
|
45 |
{
|
46 |
$this->validation->validatePostIDs($posts);
|
|
|
47 |
foreach( $posts as $key => $post )
|
48 |
{
|
|
|
|
|
|
|
|
|
49 |
wp_update_post(array(
|
50 |
-
'ID' =>
|
51 |
'menu_order' => $key,
|
52 |
'post_parent' => $parent
|
53 |
));
|
54 |
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
59 |
return true;
|
60 |
}
|
@@ -66,26 +83,40 @@ class PostUpdateRepository
|
|
66 |
*/
|
67 |
public function updatePost($data)
|
68 |
{
|
69 |
-
$
|
70 |
-
|
71 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
if ( isset($_POST['keep_private']) && $_POST['keep_private'] == 'private' ){
|
74 |
-
$
|
75 |
} else {
|
76 |
-
|
77 |
}
|
78 |
|
79 |
-
$updated_post = array(
|
80 |
-
'ID' => sanitize_text_field($data['post_id']),
|
81 |
-
'post_title' => sanitize_text_field($data['post_title']),
|
82 |
-
'post_author' => sanitize_text_field($data['post_author']),
|
83 |
-
'post_name' => sanitize_text_field($data['post_name']),
|
84 |
-
'post_date' => $date,
|
85 |
-
'comment_status' => sanitize_text_field($data['comment_status']),
|
86 |
-
'post_status' => $status,
|
87 |
-
'post_password' => sanitize_text_field($data['post_password'])
|
88 |
-
);
|
89 |
wp_update_post($updated_post);
|
90 |
|
91 |
$this->updateTemplate($data);
|
@@ -145,11 +176,13 @@ class PostUpdateRepository
|
|
145 |
*/
|
146 |
private function updateNestedPagesStatus($data)
|
147 |
{
|
|
|
|
|
148 |
$status = ( isset($data['nested_pages_status']) ) ? 'hide' : 'show';
|
149 |
$id = ( isset($data['post_id']) ) ? $data['post_id'] : $this->new_id;
|
150 |
-
update_post_meta(
|
151 |
-
$id,
|
152 |
-
'nested_pages_status',
|
153 |
$status
|
154 |
);
|
155 |
}
|
4 |
|
5 |
use NestedPages\Form\Validation\Validation;
|
6 |
use NestedPages\Entities\NavMenu\NavMenuRepository;
|
7 |
+
use NestedPages\Entities\PostType\PostTypeRepository;
|
8 |
|
9 |
/**
|
10 |
* Post Create/Update Methods
|
23 |
*/
|
24 |
protected $nav_menu_repo;
|
25 |
|
26 |
+
/**
|
27 |
+
* Post Type Repository
|
28 |
+
*/
|
29 |
+
protected $post_type_repo;
|
30 |
+
|
31 |
/**
|
32 |
* New Post ID
|
33 |
* @var int
|
39 |
{
|
40 |
$this->validation = new Validation;
|
41 |
$this->nav_menu_repo = new NavMenuRepository;
|
42 |
+
$this->post_type_repo = new PostTypeRepository;
|
43 |
}
|
44 |
|
45 |
/**
|
51 |
public function updateOrder($posts, $parent = 0)
|
52 |
{
|
53 |
$this->validation->validatePostIDs($posts);
|
54 |
+
global $wpdb;
|
55 |
foreach( $posts as $key => $post )
|
56 |
{
|
57 |
+
$post_id = sanitize_text_field($post['id']);
|
58 |
+
$original_modifed_date = get_post_modified_time('Y-m-d H:i:s', false, $post_id);
|
59 |
+
$original_modifed_date_gmt = get_post_modified_time('Y-m-d H:i:s', true, $post_id);
|
60 |
+
|
61 |
wp_update_post(array(
|
62 |
+
'ID' => $post_id,
|
63 |
'menu_order' => $key,
|
64 |
'post_parent' => $parent
|
65 |
));
|
66 |
|
67 |
+
// Reset the modified date to the last modified date
|
68 |
+
$query = "UPDATE $wpdb->posts SET post_modified = '$original_modifed_date' WHERE ID = '$post_id'";
|
69 |
+
$wpdb->query( $query );
|
70 |
+
|
71 |
+
$query_gmt = "UPDATE $wpdb->posts SET post_modified_gmt = '$original_modifed_date_gmt' WHERE ID = '$post_id'";
|
72 |
+
$wpdb->query( $query_gmt );
|
73 |
+
|
74 |
+
if ( isset($post['children']) ) $this->updateOrder($post['children'], $post_id);
|
75 |
}
|
76 |
return true;
|
77 |
}
|
83 |
*/
|
84 |
public function updatePost($data)
|
85 |
{
|
86 |
+
$updated_post = array(
|
87 |
+
'ID' => sanitize_text_field($data['post_id'])
|
88 |
+
);
|
89 |
+
|
90 |
+
if ( isset($data['post_title']) && $data['post_title'] == "" ){
|
91 |
+
$this->validation->checkEmpty($data['post_title'], __('Title', 'nestedpages'));
|
92 |
+
} elseif ( isset($data['post_title']) ){
|
93 |
+
$updated_post['post_title'] = sanitize_text_field($data['post_title']);
|
94 |
+
}
|
95 |
+
|
96 |
+
if ( isset($data['post_name']) )
|
97 |
+
$updated_post['post_name'] = sanitize_text_field($data['post_name']);
|
98 |
+
|
99 |
+
if ( isset($data['post_author']) )
|
100 |
+
$updated_post['post_author'] = sanitize_text_field($data['post_author']);
|
101 |
+
|
102 |
+
if ( isset($data['post_password']) )
|
103 |
+
$updated_post['post_password'] = sanitize_text_field($data['post_password']);
|
104 |
+
|
105 |
+
if ( !$this->post_type_repo->standardFieldDisabled('allow_comments', sanitize_text_field($data['post_type'])) ){
|
106 |
+
$updated_post['comment_status'] = ( isset($data['comment_status']) ) ? 'open' : 'closed';
|
107 |
+
}
|
108 |
+
|
109 |
+
if ( isset($data['np_date']) ) {
|
110 |
+
$date = $this->validation->validateDate($data);
|
111 |
+
$updated_post['post_date'] = $date;
|
112 |
+
}
|
113 |
|
114 |
if ( isset($_POST['keep_private']) && $_POST['keep_private'] == 'private' ){
|
115 |
+
$updated_post['post_status'] = 'private';
|
116 |
} else {
|
117 |
+
if ( isset($data['_status']) ) $updated_post['post_status'] = sanitize_text_field($data['_status']);
|
118 |
}
|
119 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
wp_update_post($updated_post);
|
121 |
|
122 |
$this->updateTemplate($data);
|
176 |
*/
|
177 |
private function updateNestedPagesStatus($data)
|
178 |
{
|
179 |
+
if ( $this->post_type_repo->standardFieldDisabled('hide_in_np', sanitize_text_field($data['post_type'])) ) return;
|
180 |
+
|
181 |
$status = ( isset($data['nested_pages_status']) ) ? 'hide' : 'show';
|
182 |
$id = ( isset($data['post_id']) ) ? $data['post_id'] : $this->new_id;
|
183 |
+
update_post_meta(
|
184 |
+
$id,
|
185 |
+
'nested_pages_status',
|
186 |
$status
|
187 |
);
|
188 |
}
|
app/Entities/PostType/PostTypeRepository.php
CHANGED
@@ -5,6 +5,39 @@ namespace NestedPages\Entities\PostType;
|
|
5 |
class PostTypeRepository
|
6 |
{
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
/**
|
9 |
* Get Available Post Types
|
10 |
* @since 1.2.1
|
@@ -16,90 +49,181 @@ class PostTypeRepository
|
|
16 |
}
|
17 |
|
18 |
/**
|
19 |
-
* Get an object of
|
20 |
* @since 1.2.1
|
21 |
* @return object
|
22 |
*/
|
23 |
-
public function getPostTypesObject(
|
24 |
{
|
25 |
$all_types = $this->getPostTypes('objects');
|
26 |
$post_types = array();
|
27 |
-
$enabled_types = $this->
|
28 |
$invalid_types = array(
|
29 |
-
'acf-field-group'
|
|
|
30 |
);
|
31 |
foreach($all_types as $key => $type){
|
32 |
-
if ( (!$pages) && ($key == 'attachment') ) continue;
|
33 |
if ( in_array($type->name, $invalid_types) ) continue;
|
34 |
$post_types[$type->name] = new \stdClass();
|
35 |
$post_types[$type->name]->name = $type->name;
|
36 |
$post_types[$type->name]->label = $type->labels->name;
|
37 |
$post_types[$type->name]->hierarchical = $type->hierarchical;
|
38 |
-
$post_types[$type->name]->np_enabled = ( array_key_exists($type->name, $this->
|
39 |
-
$post_types[$type->name]->replace_menu = $this->
|
40 |
-
$post_types[$type->name]->hide_default = $this->
|
41 |
-
$post_types[$type->name]->disable_nesting = $this->
|
|
|
|
|
|
|
|
|
42 |
}
|
43 |
return $post_types;
|
44 |
}
|
45 |
|
46 |
/**
|
47 |
-
*
|
48 |
-
* @param string post type name
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
* @return boolean
|
50 |
*/
|
51 |
-
|
52 |
{
|
53 |
-
foreach($this->
|
54 |
-
if ( $key
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
58 |
}
|
59 |
}
|
|
|
60 |
}
|
61 |
|
62 |
/**
|
63 |
-
*
|
64 |
* @param string post type name
|
65 |
-
* @
|
|
|
66 |
*/
|
67 |
-
public function
|
68 |
{
|
69 |
-
|
|
|
70 |
if ( $key == $post_type ){
|
71 |
-
|
72 |
-
? true
|
73 |
-
: false;
|
74 |
}
|
75 |
}
|
|
|
76 |
}
|
77 |
|
78 |
/**
|
79 |
-
* Is
|
80 |
-
* @param
|
|
|
|
|
81 |
* @return boolean
|
82 |
*/
|
83 |
-
public function
|
84 |
{
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
|
|
|
|
90 |
}
|
91 |
}
|
|
|
92 |
}
|
93 |
|
94 |
/**
|
95 |
-
*
|
96 |
-
* @
|
97 |
-
* @return
|
98 |
*/
|
99 |
-
public function
|
100 |
{
|
101 |
-
$types =
|
102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
}
|
104 |
|
105 |
/**
|
@@ -193,4 +317,39 @@ class PostTypeRepository
|
|
193 |
return ( $post_type->hierarchical ) ? __('Nested View', 'nestedpages') : __('Sort View', 'nestedpages');
|
194 |
}
|
195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
}
|
5 |
class PostTypeRepository
|
6 |
{
|
7 |
|
8 |
+
/**
|
9 |
+
* Enabled Post Types
|
10 |
+
* @var array – the posttype setting
|
11 |
+
*/
|
12 |
+
public $enabled_post_types;
|
13 |
+
|
14 |
+
public function __construct()
|
15 |
+
{
|
16 |
+
$this->setEnabledPostTypes();
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Set an array of NP enabled Post Types
|
21 |
+
* @since 1.2.1
|
22 |
+
* @return array
|
23 |
+
*/
|
24 |
+
public function setEnabledPostTypes()
|
25 |
+
{
|
26 |
+
$types = get_option('nestedpages_posttypes');
|
27 |
+
$this->enabled_post_types = ( !$types ) ? array() : $types;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Get an array of NP enabled Post Types
|
32 |
+
* @since 1.2.1
|
33 |
+
* @return array
|
34 |
+
*/
|
35 |
+
public function enabledPostTypes()
|
36 |
+
{
|
37 |
+
$types = get_option('nestedpages_posttypes');
|
38 |
+
return ( !$types ) ? array() : $types;
|
39 |
+
}
|
40 |
+
|
41 |
/**
|
42 |
* Get Available Post Types
|
43 |
* @since 1.2.1
|
49 |
}
|
50 |
|
51 |
/**
|
52 |
+
* Get an object of post types
|
53 |
* @since 1.2.1
|
54 |
* @return object
|
55 |
*/
|
56 |
+
public function getPostTypesObject()
|
57 |
{
|
58 |
$all_types = $this->getPostTypes('objects');
|
59 |
$post_types = array();
|
60 |
+
$enabled_types = $this->enabled_post_types;
|
61 |
$invalid_types = array(
|
62 |
+
'acf-field-group',
|
63 |
+
'attachment'
|
64 |
);
|
65 |
foreach($all_types as $key => $type){
|
|
|
66 |
if ( in_array($type->name, $invalid_types) ) continue;
|
67 |
$post_types[$type->name] = new \stdClass();
|
68 |
$post_types[$type->name]->name = $type->name;
|
69 |
$post_types[$type->name]->label = $type->labels->name;
|
70 |
$post_types[$type->name]->hierarchical = $type->hierarchical;
|
71 |
+
$post_types[$type->name]->np_enabled = ( array_key_exists($type->name, $this->enabled_post_types) ) ? true : false;
|
72 |
+
$post_types[$type->name]->replace_menu = $this->postTypeSetting($type->name, 'replace_menu');
|
73 |
+
$post_types[$type->name]->hide_default = $this->postTypeSetting($type->name, 'hide_default');
|
74 |
+
$post_types[$type->name]->disable_nesting = $this->postTypeSetting($type->name, 'disable_nesting');
|
75 |
+
$post_types[$type->name]->custom_fields_enabled = $this->postTypeSetting($type->name, 'custom_fields_enabled');
|
76 |
+
$post_types[$type->name]->standard_fields_enabled = $this->postTypeSetting($type->name, 'standard_fields_enabled');
|
77 |
+
$post_types[$type->name]->custom_fields = $this->configuredFields($type->name, 'custom_fields');
|
78 |
+
$post_types[$type->name]->standard_fields = $this->configuredFields($type->name, 'standard_fields');
|
79 |
}
|
80 |
return $post_types;
|
81 |
}
|
82 |
|
83 |
/**
|
84 |
+
* Get a Single Enabled Post Type Object with settings
|
85 |
+
* @param $post_type string - post type name
|
86 |
+
*/
|
87 |
+
public function getSinglePostType($post_type)
|
88 |
+
{
|
89 |
+
$all_types = $this->getPostTypesObject();
|
90 |
+
$formatted_type = false;
|
91 |
+
foreach ( $all_types as $type ){
|
92 |
+
if ( $type->name == $post_type ) $formatted_type = $type;
|
93 |
+
}
|
94 |
+
return $formatted_type;
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Get a Post Type Boolean Setting
|
99 |
+
* @param string $post_type post type name
|
100 |
+
* @param string $setting_key option key
|
101 |
* @return boolean
|
102 |
*/
|
103 |
+
public function postTypeSetting($post_type, $setting_key)
|
104 |
{
|
105 |
+
foreach($this->enabled_post_types as $key => $type_settings){
|
106 |
+
if ( $key !== $post_type ) continue;
|
107 |
+
if ( !is_array($type_settings) ) return false;
|
108 |
+
foreach ( $type_settings as $option_key => $setting ){
|
109 |
+
if ( $option_key !== $setting_key ) continue;
|
110 |
+
return $setting;
|
111 |
}
|
112 |
}
|
113 |
+
return false;
|
114 |
}
|
115 |
|
116 |
/**
|
117 |
+
* Fields configured for a specific post type
|
118 |
* @param string post type name
|
119 |
+
* @param string field type (custom_fields|standard_fields)
|
120 |
+
* @return array
|
121 |
*/
|
122 |
+
public function configuredFields($post_type, $field_type = 'custom_fields')
|
123 |
{
|
124 |
+
$fields = array();
|
125 |
+
foreach($this->enabled_post_types as $key => $type){
|
126 |
if ( $key == $post_type ){
|
127 |
+
if ( isset($type[$field_type]) ) $fields = $type[$field_type];
|
|
|
|
|
128 |
}
|
129 |
}
|
130 |
+
return $fields;
|
131 |
}
|
132 |
|
133 |
/**
|
134 |
+
* Is a custom field enabled?
|
135 |
+
* @param $post_type - post type name
|
136 |
+
* @param $field_group - key for field group (acf, other, etc)
|
137 |
+
* @param $field_key - field key to search for
|
138 |
* @return boolean
|
139 |
*/
|
140 |
+
public function fieldEnabled($post_type, $field_group, $field_key, $field_type = 'custom_fields')
|
141 |
{
|
142 |
+
$enabled = false;
|
143 |
+
$fields = $this->configuredFields($post_type, $field_type);
|
144 |
+
if ( !is_array($fields) ) return $enabled;
|
145 |
+
foreach ( $fields as $group => $fields ){
|
146 |
+
if ( $group !== $field_group ) continue;
|
147 |
+
foreach ( $fields as $key => $type ){
|
148 |
+
if ( $key == $field_key ) $enabled = true;
|
149 |
}
|
150 |
}
|
151 |
+
return $enabled;
|
152 |
}
|
153 |
|
154 |
/**
|
155 |
+
* Are Thumbnails enabled for this post type? If not, return false, if so, return the thumbnail size
|
156 |
+
* @param $post_type - post type name
|
157 |
+
* @return boolean || string (thumbnail size)
|
158 |
*/
|
159 |
+
public function thumbnails($post_type, $key = 'enabled')
|
160 |
{
|
161 |
+
$types = $this->enabled_post_types;
|
162 |
+
$type_settings = array();
|
163 |
+
foreach ( $types as $type => $settings ){
|
164 |
+
if ( $type !== $post_type ) continue;
|
165 |
+
$type_settings = $settings;
|
166 |
+
}
|
167 |
+
if ( !is_array($type_settings) ) return false;
|
168 |
+
if ( !array_key_exists('thumbnails', $type_settings) ) return false;
|
169 |
+
if ( !isset($type_settings['thumbnails']['display']) ) return false;
|
170 |
+
if ( $key == 'enabled' ) return true;
|
171 |
+
if ( $key == 'source' ){
|
172 |
+
return ( isset($type_settings['thumbnails']['size']) ) ? $type_settings['thumbnails']['size'] : 'thumbnail';
|
173 |
+
}
|
174 |
+
if ( $key == 'display_size' ){
|
175 |
+
return ( isset($type_settings['thumbnails']['display_size']) ) ? $type_settings['thumbnails']['display_size'] : 'medium';
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Thumbnail Display Size
|
181 |
+
* @return string
|
182 |
+
*/
|
183 |
+
public function thumbnailDisplaySize($post_type)
|
184 |
+
{
|
185 |
+
$types = $this->enabled_post_types;
|
186 |
+
$type_settings = array();
|
187 |
+
foreach ( $types as $type => $settings ){
|
188 |
+
if ( $type !== $post_type ) continue;
|
189 |
+
$type_settings = $settings;
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Is a standard field disabled in Quick Edit?
|
195 |
+
* @param $field - The field key (title, slug, date, author, etc…)
|
196 |
+
* @param $post_type - The post type
|
197 |
+
* @return boolean
|
198 |
+
*/
|
199 |
+
public function standardFieldDisabled($field, $post_type)
|
200 |
+
{
|
201 |
+
$disabled = false;
|
202 |
+
$fields = $this->configuredFields($post_type, 'standard_fields');
|
203 |
+
if ( !isset($fields['standard']) ) return false;
|
204 |
+
foreach ( $fields['standard'] as $key => $value ){
|
205 |
+
if ( $key == $field && $value == 'true') return true;
|
206 |
+
}
|
207 |
+
return false;
|
208 |
+
}
|
209 |
+
|
210 |
+
/**
|
211 |
+
* Is a taxonomy disabled in Quick Edit?
|
212 |
+
* @param $taxonomy - The taxonomy Name
|
213 |
+
* @param $post_type - The post type
|
214 |
+
* @return boolean
|
215 |
+
*/
|
216 |
+
public function taxonomyDisabled($taxonomy, $post_type)
|
217 |
+
{
|
218 |
+
$disabled = false;
|
219 |
+
$fields = $this->configuredFields($post_type, 'standard_fields');
|
220 |
+
if ( empty($fields) ) return false;
|
221 |
+
if ( !array_key_exists('taxonomies', $fields['standard']) ) return false;
|
222 |
+
if ( !is_array($fields['standard']['taxonomies']) ) return false;
|
223 |
+
foreach ( $fields['standard']['taxonomies'] as $tax => $value ){
|
224 |
+
if ( $tax == $taxonomy && $value == 'true') return true;
|
225 |
+
}
|
226 |
+
return false;
|
227 |
}
|
228 |
|
229 |
/**
|
317 |
return ( $post_type->hierarchical ) ? __('Nested View', 'nestedpages') : __('Sort View', 'nestedpages');
|
318 |
}
|
319 |
|
320 |
+
/**
|
321 |
+
* Get all custom fields associated with a post type
|
322 |
+
* @param string post_type
|
323 |
+
* @param boolean show_hidden
|
324 |
+
* @return array
|
325 |
+
*/
|
326 |
+
public function getCustomFields($post_type, $show_hidden = false)
|
327 |
+
{
|
328 |
+
global $wpdb;
|
329 |
+
$post_table = $wpdb->prefix . 'posts';
|
330 |
+
$meta_table = $wpdb->prefix . 'postmeta';
|
331 |
+
if ( $show_hidden ){
|
332 |
+
$sql = "SELECT DISTINCT meta_key FROM $post_table AS p LEFT JOIN $meta_table AS m ON m.post_id = p.id WHERE p.post_type = '$post_type' AND meta_key NOT LIKE ''";
|
333 |
+
} else {
|
334 |
+
$sql = "SELECT DISTINCT meta_key FROM $post_table AS p LEFT JOIN $meta_table AS m ON m.post_id = p.id WHERE p.post_type = '$post_type' AND meta_key NOT LIKE '\_%'";
|
335 |
+
}
|
336 |
+
$results = $wpdb->get_results($sql);
|
337 |
+
$fields = ( $results ) ? $this->fieldsArray($results) : array();
|
338 |
+
return $fields;
|
339 |
+
}
|
340 |
+
|
341 |
+
/**
|
342 |
+
* Format DB results into an array
|
343 |
+
*/
|
344 |
+
private function fieldsArray($results)
|
345 |
+
{
|
346 |
+
$fields = array();
|
347 |
+
$exclude = array('_wp_page_template', '_edit_lock', '_edit_last', '_wp_trash_meta_status', '_wp_trash_meta_time', 'layout', 'position', 'rule', 'hide_on_screen', 'np_link_target', 'np_nav_title', 'np_title_attribute', 'np_nav_status', 'nested_pages_status', 'np_nav_css_classes');
|
348 |
+
foreach ( $results as $field ){
|
349 |
+
if ( !in_array($field->meta_key, $exclude) )
|
350 |
+
array_push($fields, $field->meta_key);
|
351 |
+
}
|
352 |
+
return $fields;
|
353 |
+
}
|
354 |
+
|
355 |
}
|
app/Entities/User/UserRepository.php
CHANGED
@@ -55,8 +55,8 @@ class UserRepository
|
|
55 |
$cansort = get_option('nestedpages_allowsorting', array());
|
56 |
if ( $cansort == "" ) $cansort = array();
|
57 |
|
58 |
-
if ( current_user_can('edit_theme_options') ) return true;
|
59 |
foreach($roles as $role){
|
|
|
60 |
if ( in_array($role, $cansort) ) return true;
|
61 |
}
|
62 |
return false;
|
55 |
$cansort = get_option('nestedpages_allowsorting', array());
|
56 |
if ( $cansort == "" ) $cansort = array();
|
57 |
|
|
|
58 |
foreach($roles as $role){
|
59 |
+
if ( $role == 'administrator' ) return true;
|
60 |
if ( in_array($role, $cansort) ) return true;
|
61 |
}
|
62 |
return false;
|
app/Form/Events.php
CHANGED
@@ -44,7 +44,9 @@ class Events
|
|
44 |
'wp_ajax_npclonePost',
|
45 |
'wp_ajax_npmenuSearch',
|
46 |
'wp_ajax_npnewMenuItem',
|
47 |
-
'admin_post_npCategoryFilter'
|
|
|
|
|
48 |
);
|
49 |
$this->setHandlers();
|
50 |
}
|
44 |
'wp_ajax_npclonePost',
|
45 |
'wp_ajax_npmenuSearch',
|
46 |
'wp_ajax_npnewMenuItem',
|
47 |
+
'admin_post_npCategoryFilter',
|
48 |
+
'admin_post_npBulkActions',
|
49 |
+
'wp_ajax_npmanualMenuSync'
|
50 |
);
|
51 |
$this->setHandlers();
|
52 |
}
|
app/Form/Listeners/BulkActions.php
ADDED
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace NestedPages\Form\Listeners;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Perform Bulk Actions
|
7 |
+
*/
|
8 |
+
class BulkActions
|
9 |
+
{
|
10 |
+
|
11 |
+
/**
|
12 |
+
* URL to redirect to
|
13 |
+
* @var string
|
14 |
+
*/
|
15 |
+
private $url;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Post IDs (Comma-separated)
|
19 |
+
* @var string
|
20 |
+
*/
|
21 |
+
private $post_ids;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Post IDs to Perform Actions on, Formatted as an Array
|
25 |
+
* @var array
|
26 |
+
*/
|
27 |
+
private $post_ids_array;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Redirect Post IDs (Comma-separated)
|
31 |
+
* @var string
|
32 |
+
*/
|
33 |
+
private $redirect_post_ids;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Redirect Post IDs to Perform Actions on, Formatted as an Array
|
37 |
+
* @var array
|
38 |
+
*/
|
39 |
+
private $redirect_post_ids_array;
|
40 |
+
|
41 |
+
public function __construct()
|
42 |
+
{
|
43 |
+
$this->setURL();
|
44 |
+
$this->setPostIds();
|
45 |
+
$this->performAction();
|
46 |
+
$this->redirect();
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Build the URL to Redirect to
|
51 |
+
*/
|
52 |
+
private function setURL()
|
53 |
+
{
|
54 |
+
$this->url = sanitize_text_field($_POST['page']);
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Set the Post IDs
|
59 |
+
*/
|
60 |
+
private function setPostIds()
|
61 |
+
{
|
62 |
+
$ids = sanitize_text_field($_POST['post_ids']);
|
63 |
+
$this->post_ids = rtrim($ids, ",");
|
64 |
+
$ids = explode(',', $this->post_ids);
|
65 |
+
$this->post_ids_array = $ids;
|
66 |
+
|
67 |
+
$r_ids = sanitize_text_field($_POST['redirect_post_ids']);
|
68 |
+
$this->redirect_post_ids = rtrim($r_ids, ",");
|
69 |
+
$r_ids = explode(',', $this->redirect_post_ids);
|
70 |
+
$this->redirect_post_ids_array = $r_ids;
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Perform the Bulk Actions
|
75 |
+
*/
|
76 |
+
private function performAction()
|
77 |
+
{
|
78 |
+
$action = sanitize_text_field($_POST['np_bulk_action']);
|
79 |
+
|
80 |
+
if ( $action == 'no-action' || !$action ){
|
81 |
+
$this->redirect();
|
82 |
+
return;
|
83 |
+
}
|
84 |
+
|
85 |
+
if ( $action == 'trash' ){
|
86 |
+
$this->trashPosts();
|
87 |
+
return;
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Move Posts to Trash
|
93 |
+
*/
|
94 |
+
private function trashPosts()
|
95 |
+
{
|
96 |
+
if ( !current_user_can('delete_pages') ){
|
97 |
+
$this->redirect();
|
98 |
+
return;
|
99 |
+
}
|
100 |
+
|
101 |
+
foreach ( $this->post_ids_array as $id ){
|
102 |
+
wp_trash_post($id);
|
103 |
+
}
|
104 |
+
|
105 |
+
foreach ( $this->redirect_post_ids_array as $id ){
|
106 |
+
wp_delete_post($id, true);
|
107 |
+
}
|
108 |
+
|
109 |
+
$this->url = $this->url . '&bulk=true&trashed=1';
|
110 |
+
|
111 |
+
if ( $this->post_ids != '' ) $this->url = $this->url . '&ids=' . $this->post_ids;
|
112 |
+
if ( $this->redirect_post_ids != '' ) $this->url = $this->url . '&link_ids=' . $this->redirect_post_ids;
|
113 |
+
}
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Redirect to new URL
|
117 |
+
*/
|
118 |
+
private function redirect()
|
119 |
+
{
|
120 |
+
header('Location:' . $this->url);
|
121 |
+
}
|
122 |
+
}
|
app/Form/Listeners/ManualMenuSync.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace NestedPages\Form\Listeners;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Manually Sync the Menu
|
7 |
+
* @return json response
|
8 |
+
*/
|
9 |
+
class ManualMenuSync extends BaseHandler
|
10 |
+
{
|
11 |
+
public function __construct()
|
12 |
+
{
|
13 |
+
parent::__construct();
|
14 |
+
$this->syncMenu();
|
15 |
+
$this->response = array('status' => 'success');
|
16 |
+
$this->sendResponse();
|
17 |
+
}
|
18 |
+
|
19 |
+
}
|
app/Form/Listeners/QuickEdit.php
CHANGED
@@ -60,12 +60,13 @@ class QuickEdit extends BaseHandler
|
|
60 |
*/
|
61 |
private function addData()
|
62 |
{
|
63 |
-
$this->data['author_name'] = get_the_author_meta('display_name', $this->data['post_author']);
|
64 |
$this->data['nav_status'] = ( isset($this->data['nav_status']) ) ? 'hide' : 'show';
|
65 |
$this->data['np_status'] = ( isset($this->data['nested_pages_status']) ) ? 'hide' : 'show';
|
66 |
$this->data['link_target'] = ( isset($this->data['link_target']) ) ? '_blank' : 'none';
|
67 |
$this->data['keep_private'] = ( isset($this->data['keep_private']) ) ? 'private' : 'public';
|
68 |
$this->data['_status'] = ( isset($this->data['_status']) ) ? $this->data['_status'] : 'publish';
|
|
|
69 |
if ( !isset($_POST['comment_status']) ) $this->data['comment_status'] = 'closed';
|
70 |
}
|
71 |
|
60 |
*/
|
61 |
private function addData()
|
62 |
{
|
63 |
+
if ( isset($this->data['post_author']) ) $this->data['author_name'] = get_the_author_meta('display_name', $this->data['post_author']);
|
64 |
$this->data['nav_status'] = ( isset($this->data['nav_status']) ) ? 'hide' : 'show';
|
65 |
$this->data['np_status'] = ( isset($this->data['nested_pages_status']) ) ? 'hide' : 'show';
|
66 |
$this->data['link_target'] = ( isset($this->data['link_target']) ) ? '_blank' : 'none';
|
67 |
$this->data['keep_private'] = ( isset($this->data['keep_private']) ) ? 'private' : 'public';
|
68 |
$this->data['_status'] = ( isset($this->data['_status']) ) ? $this->data['_status'] : 'publish';
|
69 |
+
$this->data['permalink'] = get_the_permalink($this->data['post_id']);
|
70 |
if ( !isset($_POST['comment_status']) ) $this->data['comment_status'] = 'closed';
|
71 |
}
|
72 |
|
app/FrontEndBootstrap.php
CHANGED
@@ -11,5 +11,6 @@ class FrontEndBootstrap
|
|
11 |
public function init()
|
12 |
{
|
13 |
new RedirectsFrontEnd;
|
|
|
14 |
}
|
15 |
}
|
11 |
public function init()
|
12 |
{
|
13 |
new RedirectsFrontEnd;
|
14 |
+
new Entities\NavMenu\NavMenuFrontEnd;
|
15 |
}
|
16 |
}
|
app/NestedPages.php
CHANGED
@@ -12,9 +12,9 @@ class NestedPages
|
|
12 |
$np_env = 'live';
|
13 |
|
14 |
global $np_version;
|
15 |
-
$np_version = '1.
|
16 |
|
17 |
if ( is_admin() ) $app = new NestedPages\Bootstrap;
|
18 |
-
|
19 |
}
|
20 |
}
|
12 |
$np_env = 'live';
|
13 |
|
14 |
global $np_version;
|
15 |
+
$np_version = '1.6.0';
|
16 |
|
17 |
if ( is_admin() ) $app = new NestedPages\Bootstrap;
|
18 |
+
if ( !is_admin() ) $app = new NestedPages\FrontEndBootstrap;
|
19 |
}
|
20 |
}
|
app/Redirects.php
CHANGED
@@ -21,8 +21,19 @@ class Redirects
|
|
21 |
public function pageTrashed()
|
22 |
{
|
23 |
$screen = get_current_screen();
|
24 |
-
if (
|
25 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
wp_redirect($redirect);
|
27 |
exit();
|
28 |
}
|
@@ -34,7 +45,13 @@ class Redirects
|
|
34 |
public function pageRestored()
|
35 |
{
|
36 |
$screen = get_current_screen();
|
37 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
$redirect = add_query_arg(array('page'=>'nestedpages', 'untrashed' => true, 'untrashed' => $_GET['untrashed'] ));
|
39 |
wp_redirect($redirect);
|
40 |
exit();
|
@@ -47,12 +64,26 @@ class Redirects
|
|
47 |
public function linkDeleted($post_id)
|
48 |
{
|
49 |
$screen = get_current_screen();
|
50 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
51 |
$redirect = add_query_arg(array('page'=>'nestedpages', 'linkdeleted' => true, '_wpnonce' => false, 'post' => false, 'action'=>false));
|
52 |
wp_redirect($redirect);
|
53 |
exit();
|
54 |
}
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
-
}
|
21 |
public function pageTrashed()
|
22 |
{
|
23 |
$screen = get_current_screen();
|
24 |
+
if (
|
25 |
+
($screen->id == 'edit-page') &&
|
26 |
+
(isset($_GET['trashed'])) &&
|
27 |
+
(intval($_GET['trashed']) > 0) &&
|
28 |
+
(!isset($_GET['bulk'])) &&
|
29 |
+
$this->arePagesNested()
|
30 |
+
){
|
31 |
+
$query_args = array(
|
32 |
+
'page' => 'nestedpages',
|
33 |
+
'trashed' => true
|
34 |
+
);
|
35 |
+
if ( isset($_GET['ids']) ) $query_args['ids'] = $_GET['ids'];
|
36 |
+
$redirect = add_query_arg(array('page'=>'nestedpages', 'trashed' => true ));
|
37 |
wp_redirect($redirect);
|
38 |
exit();
|
39 |
}
|
45 |
public function pageRestored()
|
46 |
{
|
47 |
$screen = get_current_screen();
|
48 |
+
if (
|
49 |
+
($screen->id == 'edit-page') &&
|
50 |
+
(isset($_GET['untrashed'])) &&
|
51 |
+
(intval($_GET['untrashed']) > 0) &&
|
52 |
+
(!isset($_GET['bulk'])) &&
|
53 |
+
$this->arePagesNested()
|
54 |
+
){
|
55 |
$redirect = add_query_arg(array('page'=>'nestedpages', 'untrashed' => true, 'untrashed' => $_GET['untrashed'] ));
|
56 |
wp_redirect($redirect);
|
57 |
exit();
|
64 |
public function linkDeleted($post_id)
|
65 |
{
|
66 |
$screen = get_current_screen();
|
67 |
+
if ( !$screen ) return;
|
68 |
+
if (
|
69 |
+
(get_post_type($post_id) == 'np-redirect') &&
|
70 |
+
($screen->id == 'np-redirect') &&
|
71 |
+
$this->arePagesNested()
|
72 |
+
){
|
73 |
$redirect = add_query_arg(array('page'=>'nestedpages', 'linkdeleted' => true, '_wpnonce' => false, 'post' => false, 'action'=>false));
|
74 |
wp_redirect($redirect);
|
75 |
exit();
|
76 |
}
|
77 |
}
|
78 |
|
79 |
+
/**
|
80 |
+
* Return true/false if nested pages are enabled for Page post types
|
81 |
+
*/
|
82 |
+
private function arePagesNested() {
|
83 |
+
$postTypeRepository = new \NestedPages\Entities\PostType\PostTypeRepository();
|
84 |
+
$enabledPostTypes = $postTypeRepository->enabledPostTypes();
|
85 |
+
return array_key_exists( 'page', $enabledPostTypes );
|
86 |
+
}
|
87 |
+
|
88 |
|
89 |
+
}
|
app/RedirectsFrontEnd.php
CHANGED
@@ -9,9 +9,12 @@ class RedirectsFrontEnd
|
|
9 |
public function __construct()
|
10 |
{
|
11 |
add_filter('page_link', array($this, 'pageLinks'),10,2);
|
12 |
-
add_action('
|
13 |
}
|
14 |
|
|
|
|
|
|
|
15 |
public function pageLinks( $post_link, $id = 0 )
|
16 |
{
|
17 |
$post = get_post($id);
|
@@ -19,41 +22,44 @@ class RedirectsFrontEnd
|
|
19 |
return $post_link;
|
20 |
}
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
/**
|
23 |
* Recursive function removes non-page parent slugs
|
24 |
*/
|
25 |
private function removeParentSlugs($post, $slug)
|
26 |
{
|
27 |
-
|
28 |
-
if ( $
|
29 |
$parent_post = get_post($post->post_parent);
|
30 |
-
|
31 |
-
|
|
|
|
|
32 |
}
|
33 |
return $slug;
|
34 |
}
|
35 |
-
|
36 |
-
/**
|
37 |
-
* Add page query
|
38 |
-
*/
|
39 |
-
public function request($request)
|
40 |
-
{
|
41 |
-
if ( !isset($request['name']) ) return $request;
|
42 |
-
$slug = $request['name'];
|
43 |
-
$dpost = get_posts(array('name' => $slug, 'post_type' => 'page'));
|
44 |
-
if ( $dpost && $dpost[0]->post_type == 'page' ){
|
45 |
-
add_filter('pre_get_posts', array($this, 'query'));
|
46 |
-
}
|
47 |
-
return $request;
|
48 |
-
}
|
49 |
-
|
50 |
-
/**
|
51 |
-
* Set the query to page
|
52 |
-
*/
|
53 |
-
public function query($query)
|
54 |
-
{
|
55 |
-
if (!$query->is_main_query()) return;
|
56 |
-
$query->set('post_type', 'page');
|
57 |
-
}
|
58 |
-
|
59 |
}
|
9 |
public function __construct()
|
10 |
{
|
11 |
add_filter('page_link', array($this, 'pageLinks'),10,2);
|
12 |
+
add_action('parse_request', array($this, 'parseRequest'));
|
13 |
}
|
14 |
|
15 |
+
/**
|
16 |
+
* Remove np-redirect slugs from links
|
17 |
+
*/
|
18 |
public function pageLinks( $post_link, $id = 0 )
|
19 |
{
|
20 |
$post = get_post($id);
|
22 |
return $post_link;
|
23 |
}
|
24 |
|
25 |
+
public function parseRequest($wp)
|
26 |
+
{
|
27 |
+
if ( isset($wp->query_vars['error']) ) $slug = basename($wp->request);
|
28 |
+
if ( isset($wp->query_vars['pagename']) && ! empty($wp->query_vars['pagename']) ) $slug = $wp->query_vars['pagename'];
|
29 |
+
if ( isset($wp->query_vars['name']) && ! empty($wp->query_vars['name']) ) $slug = $wp->query_vars['name'];
|
30 |
+
if ( isset($wp->query_vars['attachment']) && ! empty($wp->query_vars['attachment']) ) $slug = $wp->query_vars['attachment'];
|
31 |
+
if ( !isset($slug) ) return;
|
32 |
+
|
33 |
+
$slug = basename($slug);
|
34 |
+
|
35 |
+
$page = get_posts(array('name' => $slug, 'post_type' => 'any', 'posts_per_page' => 1));
|
36 |
+
if ( !$page ) return;
|
37 |
+
|
38 |
+
$parent_type = get_post_type($page[0]->post_parent);
|
39 |
+
|
40 |
+
if ( $parent_type !== 'np-redirect' && !isset($wp->query_vars['attachment']) && $parent_type !== 'page' ) return;
|
41 |
+
|
42 |
+
unset($wp->query_vars['pagename']);
|
43 |
+
unset($wp->query_vars['name']);
|
44 |
+
unset($wp->query_vars['attachment']);
|
45 |
+
unset($wp->query_vars['error']);
|
46 |
+
|
47 |
+
$wp->query_vars['page_id'] = $page[0]->ID;
|
48 |
+
}
|
49 |
+
|
50 |
/**
|
51 |
* Recursive function removes non-page parent slugs
|
52 |
*/
|
53 |
private function removeParentSlugs($post, $slug)
|
54 |
{
|
55 |
+
if ( is_admin() ) return $slug;
|
56 |
+
if ( $post->post_parent > 0 ) {
|
57 |
$parent_post = get_post($post->post_parent);
|
58 |
+
if ( $parent_post->post_type == 'np-redirect' ){
|
59 |
+
$slug = str_replace($parent_post->post_name . '/', '', $slug);
|
60 |
+
}
|
61 |
+
return $this->removeParentSlugs($parent_post, $slug);
|
62 |
}
|
63 |
return $slug;
|
64 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
}
|
app/Views/forms/delete-confirmation-modal.php
CHANGED
@@ -7,7 +7,7 @@
|
|
7 |
<div class="modal-dialog">
|
8 |
<div class="modal-content">
|
9 |
<div class="modal-body">
|
10 |
-
<p
|
11 |
<a href="#" class="np-cancel-trash button modal-close" data-dismiss="modal"><?php _e('Cancel', 'nestedpages'); ?></a>
|
12 |
<a href="#" class="button-primary" data-delete-confirmation><?php _e('Delete', 'nestedpages'); ?></a>
|
13 |
</div>
|
7 |
<div class="modal-dialog">
|
8 |
<div class="modal-content">
|
9 |
<div class="modal-body">
|
10 |
+
<p data-np-link-delete-text></p>
|
11 |
<a href="#" class="np-cancel-trash button modal-close" data-dismiss="modal"><?php _e('Cancel', 'nestedpages'); ?></a>
|
12 |
<a href="#" class="button-primary" data-delete-confirmation><?php _e('Delete', 'nestedpages'); ?></a>
|
13 |
</div>
|
app/Views/forms/more-options-modal.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Modal with additional options for posts
|
4 |
+
*/
|
5 |
+
?>
|
6 |
+
<div class="np-modal fade np-trash-modal" id="np-more-options-modal">
|
7 |
+
<div class="modal-dialog">
|
8 |
+
<div class="modal-content">
|
9 |
+
<div class="modal-body">
|
10 |
+
|
11 |
+
</div>
|
12 |
+
</div><!-- /.modal-content -->
|
13 |
+
</div><!-- /.modal-dialog -->
|
14 |
+
</div><!-- /.modal -->
|
app/Views/forms/new-child.php
CHANGED
@@ -76,6 +76,15 @@
|
|
76 |
</div>
|
77 |
<?php endif; ?>
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
</div><!-- .right -->
|
80 |
|
81 |
</div><!-- .fields -->
|
76 |
</div>
|
77 |
<?php endif; ?>
|
78 |
|
79 |
+
<?php if ( $this->post_type->name == 'page' && $this->user->canSortPages() && !$this->isSearch() ) : ?>
|
80 |
+
<div class="form-control full checkbox">
|
81 |
+
<label>
|
82 |
+
<input type="checkbox" name="nav_status" class="np_nav_status" value="hide" />
|
83 |
+
<span class="checkbox-title"><?php _e( 'Hide in Nav Menu', 'nestedpages' ); ?></span>
|
84 |
+
</label>
|
85 |
+
</div>
|
86 |
+
<?php endif; ?>
|
87 |
+
|
88 |
</div><!-- .right -->
|
89 |
|
90 |
</div><!-- .fields -->
|
app/Views/forms/quickedit-post.php
CHANGED
@@ -16,15 +16,21 @@
|
|
16 |
|
17 |
<div class="left">
|
18 |
|
|
|
19 |
<div class="form-control">
|
20 |
<label><?php _e( 'Title' ); ?></label>
|
21 |
<input type="text" name="post_title" class="np_title" value="" />
|
22 |
</div>
|
|
|
|
|
|
|
23 |
<div class="form-control">
|
24 |
<label><?php _e( 'Slug' ); ?></label>
|
25 |
<input type="text" name="post_name" class="np_slug" value="" />
|
26 |
</div>
|
|
|
27 |
|
|
|
28 |
<?php if ( $this->settings->datepickerEnabled() ) : ?>
|
29 |
<div class="form-control np-datepicker-container">
|
30 |
<label><?php _e( 'Date' ); ?></label>
|
@@ -45,33 +51,36 @@
|
|
45 |
<label><?php _e( 'Date' ); ?></label>
|
46 |
<div class="dates"><?php touch_time( 1, 1, 0, 1 ); ?></div>
|
47 |
</div>
|
48 |
-
<?php endif; ?>
|
49 |
|
50 |
<?php
|
51 |
/*
|
52 |
* Authors Dropdown
|
53 |
*/
|
54 |
-
|
55 |
-
|
56 |
-
$
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
$
|
68 |
-
|
69 |
-
|
|
|
|
|
|
|
70 |
endif;
|
71 |
-
echo $authors_dropdown;
|
72 |
endif;
|
73 |
?>
|
74 |
|
|
|
75 |
<div class="form-control">
|
76 |
<label><?php _e( 'Status' ); ?></label>
|
77 |
<select name="_status" class="np_status">
|
@@ -83,12 +92,13 @@
|
|
83 |
<option value="draft"><?php _e( 'Draft' ); ?></option>
|
84 |
</select>
|
85 |
</div>
|
|
|
86 |
|
87 |
</div><!-- .left -->
|
88 |
|
89 |
<div class="right">
|
90 |
|
91 |
-
<?php if ( $this->post_type->hierarchical ) : ?>
|
92 |
<div class="form-control">
|
93 |
<label><?php _e( 'Template' ); ?></label>
|
94 |
<select name="page_template" class="np_template">
|
@@ -98,7 +108,7 @@
|
|
98 |
</div>
|
99 |
<?php endif; ?>
|
100 |
|
101 |
-
<?php if ( $can_publish ) : ?>
|
102 |
<div class="form-control password">
|
103 |
<label><?php _e( 'Password' ); ?></label>
|
104 |
<input type="text" class="post_password" name="post_password" value="" />
|
@@ -112,30 +122,30 @@
|
|
112 |
</div>
|
113 |
<?php endif; ?>
|
114 |
|
|
|
115 |
<div class="comments">
|
116 |
<label>
|
117 |
<input type="checkbox" name="comment_status" class="np_cs" value="open" />
|
118 |
<span class="checkbox-title"><?php _e( 'Allow Comments' ); ?></span>
|
119 |
</label>
|
120 |
</div>
|
|
|
121 |
|
122 |
-
<?php if ( current_user_can('edit_theme_options') ) : ?>
|
123 |
<div class="comments">
|
124 |
<label>
|
125 |
<input type="checkbox" name="nested_pages_status" class="np_status" value="hide" />
|
126 |
<span class="checkbox-title"><?php _e( 'Hide in Nested Pages', 'nestedpages' ); ?></span>
|
127 |
</label>
|
128 |
</div>
|
129 |
-
<?php endif; // Edit theme options?>
|
130 |
-
|
131 |
-
|
132 |
|
133 |
<div class="form-control np-toggle-options">
|
134 |
-
<?php if ( $this->user->canSortPages() && $this->post_type->name == 'page' && !$this->isSearch() ) : ?>
|
135 |
<a href="#" class="np-btn np-btn-half np-toggle-menuoptions"><?php _e('Menu Options', 'nestedpages'); ?></a>
|
136 |
<?php endif; ?>
|
137 |
|
138 |
-
<?php if ( !empty($this->h_taxonomies) ) : ?>
|
139 |
<a href="#" class="np-btn np-btn-half btn-right np-toggle-taxonomies"><?php _e('Taxonomies', 'nestedpages'); ?></a>
|
140 |
<?php endif; ?>
|
141 |
</div>
|
@@ -144,7 +154,11 @@
|
|
144 |
|
145 |
<?php if ( !empty($this->h_taxonomies) ) : ?>
|
146 |
<div class="np-taxonomies">
|
147 |
-
<?php
|
|
|
|
|
|
|
|
|
148 |
<div class="np-taxonomy">
|
149 |
<span class="title"><?php echo esc_html( $taxonomy->labels->name ) ?></span>
|
150 |
<input type="hidden" name="<?php echo ( $taxonomy->name == 'category' ) ? 'post_category[]' : 'tax_input[' . esc_attr( $taxonomy->name ) . '][]'; ?>" value="0" />
|
@@ -152,14 +166,24 @@
|
|
152 |
<?php wp_terms_checklist( null, array( 'taxonomy' => $taxonomy->name ) ) ?>
|
153 |
</ul>
|
154 |
</div><!-- .np-taxonomy -->
|
155 |
-
<?php
|
|
|
|
|
|
|
156 |
|
157 |
-
<?php
|
|
|
|
|
|
|
|
|
158 |
<div class="np-taxonomy">
|
159 |
<span class="title"><?php echo esc_html( $taxonomy->labels->name ) ?></span>
|
160 |
<textarea id="<?php echo esc_attr($taxonomy->name); ?>" cols="22" rows="1" name="tax_input[<?php echo esc_attr( $taxonomy->name )?>]" class="tax_input_<?php echo esc_attr( $taxonomy->name )?>" data-autotag data-taxonomy="<?php echo esc_attr($taxonomy->name); ?>"></textarea>
|
161 |
</div><!-- .np-taxonomy -->
|
162 |
-
<?php
|
|
|
|
|
|
|
163 |
</div><!-- .taxonomies -->
|
164 |
<?php endif; // if taxonomies ?>
|
165 |
|
16 |
|
17 |
<div class="left">
|
18 |
|
19 |
+
<?php if ( !array_key_exists('title', $this->disabled_standard_fields) ) : ?>
|
20 |
<div class="form-control">
|
21 |
<label><?php _e( 'Title' ); ?></label>
|
22 |
<input type="text" name="post_title" class="np_title" value="" />
|
23 |
</div>
|
24 |
+
<?php endif; ?>
|
25 |
+
|
26 |
+
<?php if ( !array_key_exists('slug', $this->disabled_standard_fields) ) : ?>
|
27 |
<div class="form-control">
|
28 |
<label><?php _e( 'Slug' ); ?></label>
|
29 |
<input type="text" name="post_name" class="np_slug" value="" />
|
30 |
</div>
|
31 |
+
<?php endif; ?>
|
32 |
|
33 |
+
<?php if ( !array_key_exists('date', $this->disabled_standard_fields) ) : ?>
|
34 |
<?php if ( $this->settings->datepickerEnabled() ) : ?>
|
35 |
<div class="form-control np-datepicker-container">
|
36 |
<label><?php _e( 'Date' ); ?></label>
|
51 |
<label><?php _e( 'Date' ); ?></label>
|
52 |
<div class="dates"><?php touch_time( 1, 1, 0, 1 ); ?></div>
|
53 |
</div>
|
54 |
+
<?php endif; endif; ?>
|
55 |
|
56 |
<?php
|
57 |
/*
|
58 |
* Authors Dropdown
|
59 |
*/
|
60 |
+
if ( !array_key_exists('author', $this->disabled_standard_fields) ) :
|
61 |
+
$authors_dropdown = '';
|
62 |
+
if ( is_super_admin() || current_user_can( $post_type_object->cap->edit_others_posts ) ) :
|
63 |
+
$users_opt = array(
|
64 |
+
'hide_if_only_one_author' => false,
|
65 |
+
'who' => 'authors',
|
66 |
+
'name' => 'post_author',
|
67 |
+
'id' => 'post_author',
|
68 |
+
'class'=> 'authors',
|
69 |
+
'multi' => 1,
|
70 |
+
'echo' => 0
|
71 |
+
);
|
72 |
+
|
73 |
+
if ( $authors = wp_dropdown_users( $users_opt ) ) :
|
74 |
+
$authors_dropdown = '<div class="form-control np_author"><label>' . __( 'Author' ) . '</label>';
|
75 |
+
$authors_dropdown .= $authors;
|
76 |
+
$authors_dropdown .= '</div>';
|
77 |
+
endif;
|
78 |
+
echo $authors_dropdown;
|
79 |
endif;
|
|
|
80 |
endif;
|
81 |
?>
|
82 |
|
83 |
+
<?php if ( !array_key_exists('status', $this->disabled_standard_fields) ) : ?>
|
84 |
<div class="form-control">
|
85 |
<label><?php _e( 'Status' ); ?></label>
|
86 |
<select name="_status" class="np_status">
|
92 |
<option value="draft"><?php _e( 'Draft' ); ?></option>
|
93 |
</select>
|
94 |
</div>
|
95 |
+
<?php endif; ?>
|
96 |
|
97 |
</div><!-- .left -->
|
98 |
|
99 |
<div class="right">
|
100 |
|
101 |
+
<?php if ( $this->post_type->hierarchical && !array_key_exists('template', $this->disabled_standard_fields)) : ?>
|
102 |
<div class="form-control">
|
103 |
<label><?php _e( 'Template' ); ?></label>
|
104 |
<select name="page_template" class="np_template">
|
108 |
</div>
|
109 |
<?php endif; ?>
|
110 |
|
111 |
+
<?php if ( $can_publish && !array_key_exists('password', $this->disabled_standard_fields) ) : ?>
|
112 |
<div class="form-control password">
|
113 |
<label><?php _e( 'Password' ); ?></label>
|
114 |
<input type="text" class="post_password" name="post_password" value="" />
|
122 |
</div>
|
123 |
<?php endif; ?>
|
124 |
|
125 |
+
<?php if ( !array_key_exists('allow_comments', $this->disabled_standard_fields) ) : ?>
|
126 |
<div class="comments">
|
127 |
<label>
|
128 |
<input type="checkbox" name="comment_status" class="np_cs" value="open" />
|
129 |
<span class="checkbox-title"><?php _e( 'Allow Comments' ); ?></span>
|
130 |
</label>
|
131 |
</div>
|
132 |
+
<?php endif; ?>
|
133 |
|
134 |
+
<?php if ( current_user_can('edit_theme_options') && !array_key_exists('hide_in_np', $this->disabled_standard_fields) ) : ?>
|
135 |
<div class="comments">
|
136 |
<label>
|
137 |
<input type="checkbox" name="nested_pages_status" class="np_status" value="hide" />
|
138 |
<span class="checkbox-title"><?php _e( 'Hide in Nested Pages', 'nestedpages' ); ?></span>
|
139 |
</label>
|
140 |
</div>
|
141 |
+
<?php endif; // Edit theme options ?>
|
|
|
|
|
142 |
|
143 |
<div class="form-control np-toggle-options">
|
144 |
+
<?php if ( $this->user->canSortPages() && $this->post_type->name == 'page' && !$this->isSearch() && !array_key_exists('menu_options', $this->disabled_standard_fields) ) : ?>
|
145 |
<a href="#" class="np-btn np-btn-half np-toggle-menuoptions"><?php _e('Menu Options', 'nestedpages'); ?></a>
|
146 |
<?php endif; ?>
|
147 |
|
148 |
+
<?php if ( !empty($this->h_taxonomies) && !array_key_exists('hide_taxonomies', $this->disabled_standard_fields) ) : ?>
|
149 |
<a href="#" class="np-btn np-btn-half btn-right np-toggle-taxonomies"><?php _e('Taxonomies', 'nestedpages'); ?></a>
|
150 |
<?php endif; ?>
|
151 |
</div>
|
154 |
|
155 |
<?php if ( !empty($this->h_taxonomies) ) : ?>
|
156 |
<div class="np-taxonomies">
|
157 |
+
<?php
|
158 |
+
foreach ( $this->h_taxonomies as $taxonomy ) :
|
159 |
+
$disabled = $this->post_type_repo->taxonomyDisabled($taxonomy->name, $this->post_type->name);
|
160 |
+
if ( !$disabled ) :
|
161 |
+
?>
|
162 |
<div class="np-taxonomy">
|
163 |
<span class="title"><?php echo esc_html( $taxonomy->labels->name ) ?></span>
|
164 |
<input type="hidden" name="<?php echo ( $taxonomy->name == 'category' ) ? 'post_category[]' : 'tax_input[' . esc_attr( $taxonomy->name ) . '][]'; ?>" value="0" />
|
166 |
<?php wp_terms_checklist( null, array( 'taxonomy' => $taxonomy->name ) ) ?>
|
167 |
</ul>
|
168 |
</div><!-- .np-taxonomy -->
|
169 |
+
<?php
|
170 |
+
endif;
|
171 |
+
endforeach;
|
172 |
+
?>
|
173 |
|
174 |
+
<?php
|
175 |
+
foreach ( $this->f_taxonomies as $taxonomy ) :
|
176 |
+
$disabled = $this->post_type_repo->taxonomyDisabled($taxonomy->name, $this->post_type->name);
|
177 |
+
if ( !$disabled ) :
|
178 |
+
?>
|
179 |
<div class="np-taxonomy">
|
180 |
<span class="title"><?php echo esc_html( $taxonomy->labels->name ) ?></span>
|
181 |
<textarea id="<?php echo esc_attr($taxonomy->name); ?>" cols="22" rows="1" name="tax_input[<?php echo esc_attr( $taxonomy->name )?>]" class="tax_input_<?php echo esc_attr( $taxonomy->name )?>" data-autotag data-taxonomy="<?php echo esc_attr($taxonomy->name); ?>"></textarea>
|
182 |
</div><!-- .np-taxonomy -->
|
183 |
+
<?php
|
184 |
+
endif;
|
185 |
+
endforeach;
|
186 |
+
?>
|
187 |
</div><!-- .taxonomies -->
|
188 |
<?php endif; // if taxonomies ?>
|
189 |
|
app/Views/listing.php
CHANGED
@@ -31,11 +31,25 @@
|
|
31 |
<a href="#" class="np-btn nestedpages-toggleall" data-toggle="closed"><?php _e('Expand All', 'nestedpages'); ?></a>
|
32 |
<?php endif; ?>
|
33 |
|
34 |
-
<?php if ( $this->user->canSortPages() &&
|
35 |
<div class="np-sync-menu-cont" <?php if ( $this->confirmation->getMessage() ) echo 'style="margin-top:2px;"';?>>
|
36 |
-
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
</div>
|
40 |
<?php endif; ?>
|
41 |
|
@@ -68,6 +82,7 @@
|
|
68 |
</div><!-- .wrap -->
|
69 |
|
70 |
<?php
|
|
|
71 |
include( NestedPages\Helpers::view('forms/empty-trash-modal') );
|
72 |
include( NestedPages\Helpers::view('forms/clone-form') );
|
73 |
include( NestedPages\Helpers::view('forms/link-form') );
|
31 |
<a href="#" class="np-btn nestedpages-toggleall" data-toggle="closed"><?php _e('Expand All', 'nestedpages'); ?></a>
|
32 |
<?php endif; ?>
|
33 |
|
34 |
+
<?php if ( $this->user->canSortPages() && !$this->isSearch() && !$this->isFiltered() ) : ?>
|
35 |
<div class="np-sync-menu-cont" <?php if ( $this->confirmation->getMessage() ) echo 'style="margin-top:2px;"';?>>
|
36 |
+
|
37 |
+
<?php if ( $this->settings->autoPageOrderDisabled() ) : ?>
|
38 |
+
<a href="#" class="np-btn" data-np-manual-order-sync><?php echo __('Sync', 'nestedpages') . ' ' . $this->post_type->labels->singular_name . ' ' . __('Order', 'nestedpages'); ?></a>
|
39 |
+
<?php endif; ?>
|
40 |
+
|
41 |
+
<?php if ( $this->post_type->name == 'page' && !$this->settings->hideMenuSync() && !$this->settings->menusDisabled() ) : ?>
|
42 |
+
|
43 |
+
<?php if ( !$this->settings->autoMenuDisabled() ) : ?>
|
44 |
+
<label>
|
45 |
+
<input type="checkbox" name="np_sync_menu" class="np-sync-menu" value="sync" <?php if ( get_option('nestedpages_menusync') == 'sync' ) echo 'checked'; ?>/> <?php _e('Sync Menu', 'nestedpages'); ?>
|
46 |
+
</label>
|
47 |
+
<?php else : ?>
|
48 |
+
<a href="#" class="np-btn" data-np-manual-menu-sync><?php _e('Sync Menu', 'nestedpages'); ?></a>
|
49 |
+
<?php endif; ?>
|
50 |
+
|
51 |
+
<?php endif; ?>
|
52 |
+
|
53 |
</div>
|
54 |
<?php endif; ?>
|
55 |
|
82 |
</div><!-- .wrap -->
|
83 |
|
84 |
<?php
|
85 |
+
include( NestedPages\Helpers::view('forms/more-options-modal') );
|
86 |
include( NestedPages\Helpers::view('forms/empty-trash-modal') );
|
87 |
include( NestedPages\Helpers::view('forms/clone-form') );
|
88 |
include( NestedPages\Helpers::view('forms/link-form') );
|
app/Views/partials/list-header.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
$page_obj = get_post_type_object('page');
|
3 |
+
?>
|
4 |
+
<div class="nestedpages-list-header">
|
5 |
+
<div class="np-check-all">
|
6 |
+
<input type="checkbox" data-np-check-all="nestedpages_bulk[]" data-np-bulk-checkbox />
|
7 |
+
</div>
|
8 |
+
<form data-np-bulk-form style="display:none;" action="<?php echo admin_url('admin-post.php'); ?>" method="post" class="np-bulk-form">
|
9 |
+
<input type="hidden" name="action" value="npBulkActions">
|
10 |
+
<input type="hidden" name="page" value="<?php echo $this->pageURL(); ?>">
|
11 |
+
<input type="hidden" name="redirect_post_ids" value="" data-np-bulk-redirect-ids>
|
12 |
+
<input type="hidden" name="post_ids" value="" data-np-bulk-ids>
|
13 |
+
<select id="np_bulk" name="np_bulk_action" class="nestedpages-sort">
|
14 |
+
<option value="no-action"><?php _e('Bulk Actions', 'nestedpages'); ?></option>
|
15 |
+
<?php if ( current_user_can('delete_pages') ) : ?>
|
16 |
+
<option value="trash"><?php _e('Move to Trash', 'nestedpages'); ?></option>
|
17 |
+
<?php endif; ?>
|
18 |
+
</select>
|
19 |
+
<input type="submit" class="button" value="Apply">
|
20 |
+
</form>
|
21 |
+
<p class="np-hidden-select-count" data-np-hidden-count-parent><span data-np-hidden-count></span> <?php _e('Nested Items Selected', 'nestedpages'); ?>. <a href="#" class="nestedpages-toggleall"><?php _e('Expand All', 'nestedpages'); ?></a></p>
|
22 |
+
</div>
|
app/Views/partials/row-link.php
CHANGED
@@ -21,7 +21,7 @@ $link = ( $this->post->nav_type && $this->post->nav_type !== 'custom' )
|
|
21 |
<?php endif; ?>
|
22 |
|
23 |
<a href="<?php echo $link; ?>" class="page-link page-title" target="_blank">
|
24 |
-
<span class="title"><?php echo $this->post->title ?> <i class="np-icon-link"></i></span>
|
25 |
<?php
|
26 |
|
27 |
// Post Status
|
@@ -76,4 +76,35 @@ $link = ( $this->post->nav_type && $this->post->nav_type !== 'custom' )
|
|
76 |
|
77 |
</div><!-- .action-buttons -->
|
78 |
</div><!-- .row-inner -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
</div><!-- .row -->
|
21 |
<?php endif; ?>
|
22 |
|
23 |
<a href="<?php echo $link; ?>" class="page-link page-title" target="_blank">
|
24 |
+
<span class="title"><?php echo apply_filters('the_title', $this->post->title, $this->post->id, $view = 'nestedpages_title'); ?> <i class="np-icon-link"></i></span>
|
25 |
<?php
|
26 |
|
27 |
// Post Status
|
76 |
|
77 |
</div><!-- .action-buttons -->
|
78 |
</div><!-- .row-inner -->
|
79 |
+
|
80 |
+
<?php
|
81 |
+
// Thumbnail Displays for original post if it's a relational link, otherwise a placeholder displays
|
82 |
+
$thumbnail_source = $this->post_type_repo->thumbnails('page', 'source');
|
83 |
+
$thumbnail_size = $this->post_type_repo->thumbnails('page', 'display_size');
|
84 |
+
|
85 |
+
if ( $thumbnail_source ) :
|
86 |
+
if ( has_post_thumbnail($this->post->nav_object_id) && $this->post->nav_type != 'taxonomy' ) :
|
87 |
+
$out = '<div class="np-thumbnail ' . $thumbnail_size . '">';
|
88 |
+
$image = get_the_post_thumbnail($this->post->nav_object_id, $thumbnail_source);
|
89 |
+
$out .= apply_filters('nestedpages_thumbnail', $image, $this->post);
|
90 |
+
else :
|
91 |
+
$out = '<div class="np-thumbnail link">';
|
92 |
+
$fallback_icon = 'np-icon-link';
|
93 |
+
if ( $this->post->nav_type == 'taxonomy' ) $fallback_icon = 'np-icon-tag';
|
94 |
+
if ( $this->post->nav_object == 'post' ) $fallback_icon = 'np-icon-post';
|
95 |
+
if ( $this->post->nav_object == 'page' ) $fallback_icon = 'np-icon-page';
|
96 |
+
$image_fallback = '<i class="' . $fallback_icon . '" /></i>';
|
97 |
+
$image_fallback = apply_filters('nestedpages_thumbnail_fallback', $image_fallback, $this->post);
|
98 |
+
if ( $image_fallback ) :
|
99 |
+
$out .= $image_fallback;
|
100 |
+
endif;
|
101 |
+
endif;
|
102 |
+
$out .= '</div>';
|
103 |
+
echo $out;
|
104 |
+
endif;
|
105 |
+
?>
|
106 |
+
|
107 |
+
<div class="np-bulk-checkbox">
|
108 |
+
<input type="checkbox" name="nestedpages_bulk[]" value="<?php echo $this->post->id; ?>" data-np-bulk-checkbox />
|
109 |
+
</div>
|
110 |
</div><!-- .row -->
|
app/Views/partials/row.php
CHANGED
@@ -2,13 +2,21 @@
|
|
2 |
/**
|
3 |
* Row represents a single page
|
4 |
*/
|
|
|
|
|
|
|
|
|
5 |
?>
|
6 |
-
<div class="row<?php
|
7 |
|
8 |
-
<?php if ( $this->post_type->hierarchical
|
9 |
-
<div class="child-toggle"
|
|
|
|
|
10 |
<?php endif; ?>
|
11 |
|
|
|
|
|
12 |
<div class="row-inner">
|
13 |
<i class="np-icon-sub-menu"></i>
|
14 |
|
@@ -16,20 +24,15 @@
|
|
16 |
<i class="handle np-icon-menu"></i>
|
17 |
<?php endif; ?>
|
18 |
|
19 |
-
<a href="<?php echo get_edit_post_link(); ?>" class="page-link page-title">
|
20 |
<span class="title">
|
21 |
<?php
|
22 |
-
echo $this->post->title;
|
23 |
if ( $this->post->id == get_option('page_on_front') ) echo ' <em class="np-page-type"><strong>– ' . __('Front Page', 'nestedpages') . '</strong></em>';
|
24 |
if ( $this->post->id == get_option('page_for_posts') ) echo ' <em class="np-page-type"><strong>– ' . __('Posts Page', 'nestedpages') . '</strong></em>';
|
25 |
?>
|
26 |
</span>
|
27 |
<?php
|
28 |
-
|
29 |
-
if ( function_exists('wpseo_auto_load') ){
|
30 |
-
echo '<span class="np-seo-indicator ' . $this->post->score . '"></span>';
|
31 |
-
}
|
32 |
-
|
33 |
// Post Status
|
34 |
echo '<span class="status">';
|
35 |
if ( $this->post->status !== 'publish' ) echo '(' . __(ucfirst($this->post->status)) . ')';
|
@@ -54,17 +57,15 @@
|
|
54 |
} elseif ( !$this->integrations->plugins->editorial_access_manager->hasAccess($this->post->id) ){
|
55 |
echo '<span class="locked"><i class="np-icon-lock"></i></span>';
|
56 |
} else {
|
57 |
-
echo '<span class="edit-indicator"><i class="np-icon-pencil"></i>' . __('Edit') . '</span>';
|
58 |
}
|
59 |
|
60 |
?>
|
61 |
</a>
|
62 |
|
63 |
-
|
64 |
<!-- Responsive Toggle Button -->
|
65 |
<a href="#" class="np-toggle-edit"><i class="np-icon-pencil"></i></a>
|
66 |
|
67 |
-
|
68 |
<?php if ( !$this->post->hierarchical ) : echo $this->post->hierarchical; ?>
|
69 |
<div class="np-post-columns">
|
70 |
<ul class="np-post-info">
|
@@ -74,6 +75,11 @@
|
|
74 |
</div>
|
75 |
<?php endif; ?>
|
76 |
|
|
|
|
|
|
|
|
|
|
|
77 |
|
78 |
<div class="action-buttons">
|
79 |
|
@@ -87,9 +93,11 @@
|
|
87 |
<?php else : $cs = 'closed'; endif; ?>
|
88 |
|
89 |
|
90 |
-
<?php if ( current_user_can('publish_pages') && $this->post_type->hierarchical && !$this->isSearch()
|
91 |
|
|
|
92 |
<a href="#" class="np-btn open-redirect-modal" data-parentid="<?php echo $this->post->id; ?>"><i class="np-icon-link"></i></a>
|
|
|
93 |
|
94 |
<a href="#" class="np-btn add-new-child" data-id="<?php echo get_the_id(); ?>" data-parentname="<?php echo $this->post->title; ?>"><?php _e('Add Child', 'nestedpages'); ?></a>
|
95 |
|
@@ -105,7 +113,7 @@
|
|
105 |
data-id="<?php echo $this->post->id; ?>"
|
106 |
data-template="<?php echo $this->post->template; ?>"
|
107 |
data-title="<?php echo $this->post->title; ?>"
|
108 |
-
data-slug="<?php echo $post->post_name; ?>"
|
109 |
data-commentstatus="<?php echo $cs; ?>"
|
110 |
data-status="<?php echo $this->post->status; ?>"
|
111 |
data-np-status="<?php echo $this->post->np_status; ?>"
|
@@ -131,7 +139,11 @@
|
|
131 |
</a>
|
132 |
<?php endif; ?>
|
133 |
|
134 |
-
<a href="<?php echo get_the_permalink(); ?>" class="np-btn" target="_blank"
|
|
|
|
|
|
|
|
|
135 |
|
136 |
<?php if ( current_user_can('delete_pages') && $this->integrations->plugins->editorial_access_manager->hasAccess($this->post->id) ) : ?>
|
137 |
<a href="<?php echo get_delete_post_link(get_the_id()); ?>" class="np-btn np-btn-trash">
|
@@ -141,4 +153,28 @@
|
|
141 |
|
142 |
</div><!-- .action-buttons -->
|
143 |
</div><!-- .row-inner -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
</div><!-- .row -->
|
2 |
/**
|
3 |
* Row represents a single page
|
4 |
*/
|
5 |
+
$row_classes = '';
|
6 |
+
if ( !$this->post_type->hierarchical ) $row_classes .= ' non-hierarchical';
|
7 |
+
if ( !$this->user->canSortPages() ) $row_classes .= ' no-sort';
|
8 |
+
if ( $this->isSearch() ) $row_classes .= ' search';
|
9 |
?>
|
10 |
+
<div class="row<?php echo $row_classes; ?>">
|
11 |
|
12 |
+
<?php if ( $this->post_type->hierarchical ) : ?>
|
13 |
+
<div class="child-toggle">
|
14 |
+
<div class="child-toggle-spacer"></div>
|
15 |
+
</div>
|
16 |
<?php endif; ?>
|
17 |
|
18 |
+
<?php if ( !$this->post_type->hierarchical ) echo '<div class="non-hierarchical-spacer"></div>'; ?>
|
19 |
+
|
20 |
<div class="row-inner">
|
21 |
<i class="np-icon-sub-menu"></i>
|
22 |
|
24 |
<i class="handle np-icon-menu"></i>
|
25 |
<?php endif; ?>
|
26 |
|
27 |
+
<a href="<?php echo apply_filters('nestedpages_edit_link', get_edit_post_link(), $this->post); ?>" class="page-link page-title">
|
28 |
<span class="title">
|
29 |
<?php
|
30 |
+
echo apply_filters( 'the_title', $this->post->title, $this->post->id, $view = 'nestedpages_title' );
|
31 |
if ( $this->post->id == get_option('page_on_front') ) echo ' <em class="np-page-type"><strong>– ' . __('Front Page', 'nestedpages') . '</strong></em>';
|
32 |
if ( $this->post->id == get_option('page_for_posts') ) echo ' <em class="np-page-type"><strong>– ' . __('Posts Page', 'nestedpages') . '</strong></em>';
|
33 |
?>
|
34 |
</span>
|
35 |
<?php
|
|
|
|
|
|
|
|
|
|
|
36 |
// Post Status
|
37 |
echo '<span class="status">';
|
38 |
if ( $this->post->status !== 'publish' ) echo '(' . __(ucfirst($this->post->status)) . ')';
|
57 |
} elseif ( !$this->integrations->plugins->editorial_access_manager->hasAccess($this->post->id) ){
|
58 |
echo '<span class="locked"><i class="np-icon-lock"></i></span>';
|
59 |
} else {
|
60 |
+
echo '<span class="edit-indicator"><i class="np-icon-pencil"></i>' . apply_filters('nestedpages_edit_link_text', __('Edit'), $this->post) . '</span>';
|
61 |
}
|
62 |
|
63 |
?>
|
64 |
</a>
|
65 |
|
|
|
66 |
<!-- Responsive Toggle Button -->
|
67 |
<a href="#" class="np-toggle-edit"><i class="np-icon-pencil"></i></a>
|
68 |
|
|
|
69 |
<?php if ( !$this->post->hierarchical ) : echo $this->post->hierarchical; ?>
|
70 |
<div class="np-post-columns">
|
71 |
<ul class="np-post-info">
|
75 |
</div>
|
76 |
<?php endif; ?>
|
77 |
|
78 |
+
<?php
|
79 |
+
if ( $this->integrations->plugins->yoast->installed ){
|
80 |
+
echo '<span class="np-seo-indicator ' . $this->post->score . '"></span>';
|
81 |
+
}
|
82 |
+
?>
|
83 |
|
84 |
<div class="action-buttons">
|
85 |
|
93 |
<?php else : $cs = 'closed'; endif; ?>
|
94 |
|
95 |
|
96 |
+
<?php if ( current_user_can('publish_pages') && $this->post_type->hierarchical && !$this->isSearch() ) : ?>
|
97 |
|
98 |
+
<?php if (!$this->settings->menusDisabled()) : ?>
|
99 |
<a href="#" class="np-btn open-redirect-modal" data-parentid="<?php echo $this->post->id; ?>"><i class="np-icon-link"></i></a>
|
100 |
+
<?php endif; ?>
|
101 |
|
102 |
<a href="#" class="np-btn add-new-child" data-id="<?php echo get_the_id(); ?>" data-parentname="<?php echo $this->post->title; ?>"><?php _e('Add Child', 'nestedpages'); ?></a>
|
103 |
|
113 |
data-id="<?php echo $this->post->id; ?>"
|
114 |
data-template="<?php echo $this->post->template; ?>"
|
115 |
data-title="<?php echo $this->post->title; ?>"
|
116 |
+
data-slug="<?php echo urldecode($post->post_name); ?>"
|
117 |
data-commentstatus="<?php echo $cs; ?>"
|
118 |
data-status="<?php echo $this->post->status; ?>"
|
119 |
data-np-status="<?php echo $this->post->np_status; ?>"
|
139 |
</a>
|
140 |
<?php endif; ?>
|
141 |
|
142 |
+
<a href="<?php echo apply_filters('nestedpages_view_link', get_the_permalink(), $this->post); ?>" class="np-btn np-view-button" target="_blank">
|
143 |
+
<?php echo apply_filters('nestedpages_view_link_text', __('View'), $this->post); ?>
|
144 |
+
</a>
|
145 |
+
|
146 |
+
<!-- <a href="#" class="np-btn"><i class="np-icon-more_vert"></i></a> -->
|
147 |
|
148 |
<?php if ( current_user_can('delete_pages') && $this->integrations->plugins->editorial_access_manager->hasAccess($this->post->id) ) : ?>
|
149 |
<a href="<?php echo get_delete_post_link(get_the_id()); ?>" class="np-btn np-btn-trash">
|
153 |
|
154 |
</div><!-- .action-buttons -->
|
155 |
</div><!-- .row-inner -->
|
156 |
+
|
157 |
+
<?php
|
158 |
+
// Thumbnail
|
159 |
+
$thumbnail_source = $this->post_type_repo->thumbnails($this->post_type->name, 'source');
|
160 |
+
$thumbnail_size = $this->post_type_repo->thumbnails($this->post_type->name, 'display_size');
|
161 |
+
if ( $thumbnail_source ) :
|
162 |
+
$out = '<div class="np-thumbnail ' . $thumbnail_size . '">';
|
163 |
+
if ( has_post_thumbnail($this->post->id) ) :
|
164 |
+
$image = get_the_post_thumbnail($this->post->id, $thumbnail_source);
|
165 |
+
$out .= apply_filters('nestedpages_thumbnail', $image, $this->post);
|
166 |
+
else :
|
167 |
+
$image_fallback = apply_filters('nestedpages_thumbnail_fallback', false, $this->post);
|
168 |
+
if ( $image_fallback ) :
|
169 |
+
$out .= apply_filters('nestedpages_thumbnail_fallback', $image_fallback, $this->post);
|
170 |
+
endif;
|
171 |
+
endif;
|
172 |
+
$out .= '</div>';
|
173 |
+
echo $out;
|
174 |
+
endif;
|
175 |
+
?>
|
176 |
+
|
177 |
+
<div class="np-bulk-checkbox">
|
178 |
+
<input type="checkbox" name="nestedpages_bulk[]" value="<?php echo $this->post->id; ?>" data-np-bulk-checkbox />
|
179 |
+
</div>
|
180 |
</div><!-- .row -->
|
app/Views/partials/tool-list.php
CHANGED
@@ -11,24 +11,29 @@
|
|
11 |
</li>
|
12 |
|
13 |
<li>
|
14 |
-
<a href="#draft" class="np-toggle-publish"><?php _e('Draft'); ?></a>
|
15 |
</li>
|
16 |
|
17 |
-
<li>
|
18 |
-
|
19 |
-
<
|
|
|
|
|
|
|
|
|
20 |
</li>
|
21 |
|
22 |
<?php if ( current_user_can('delete_pages') && $trashedCount > 0) : ?>
|
23 |
<li class="np-trash-links">
|
|
|
24 |
<a href="<?php echo $this->post_type_repo->trashLink($this->post_type->name); ?>"><?php _e('Trash'); ?> </a>
|
25 |
<span class="count">(<a href="#" class="np-empty-trash" data-posttype="<?php echo $this->post_type->name; ?>"><?php _e('Empty', 'nestedpages'); ?></a> <?php echo $trashedCount; ?>)</span>
|
26 |
-
|
|
27 |
</li>
|
28 |
<?php endif; ?>
|
29 |
|
30 |
-
<?php if ( !$this->post_type_repo->
|
31 |
<li>
|
|
|
32 |
<a href="<?php echo NestedPages\Helpers::defaultPagesLink($this->post_type->name); ?>">
|
33 |
<?php _e('Default'); ?> <?php _e($this->post_type->labels->name); ?>
|
34 |
</a>
|
@@ -99,7 +104,7 @@
|
|
99 |
|
100 |
|
101 |
<?php if ( $this->post_type->name == 'page' && $this->post_type_repo->categoriesEnabled($this->post_type->name) ) : ?>
|
102 |
-
<div class="np-tools-primary">
|
103 |
<form action="<?php echo admin_url('admin-post.php'); ?>" method="post" class="np-tools-sort">
|
104 |
<input type="hidden" name="action" value="npCategoryFilter">
|
105 |
<input type="hidden" name="page" value="<?php echo $this->pageURL(); ?>">
|
@@ -122,10 +127,9 @@
|
|
122 |
<input type="submit" id="nestedpages-sort" class="button" value="Apply">
|
123 |
</div>
|
124 |
</form>
|
125 |
-
</div
|
126 |
<?php endif; ?>
|
127 |
|
128 |
-
|
129 |
<div class="np-tools-search">
|
130 |
<form action="<?php echo admin_url('admin-post.php'); ?>" method="post">
|
131 |
<input type="hidden" name="action" value="npSearch">
|
11 |
</li>
|
12 |
|
13 |
<li>
|
14 |
+
<a href="#draft" class="np-toggle-publish"><?php _e('Draft'); ?></a>
|
15 |
</li>
|
16 |
|
17 |
+
<li> |
|
18 |
+
<?php if ( !$this->isSearch() ) : ?>
|
19 |
+
<a href="#hide" class="np-toggle-hidden"><?php _e('Show Hidden', 'nestedpages'); ?> </a>
|
20 |
+
<?php else : ?>
|
21 |
+
<a href="#show" class="np-toggle-hidden"><?php _e('Hide Hidden', 'nestedpages'); ?> </a>
|
22 |
+
<?php endif; ?>
|
23 |
+
<span class="count">(<?php echo $this->post_repo->getHiddenCount(array($this->post_type->name)); ?>)</span>
|
24 |
</li>
|
25 |
|
26 |
<?php if ( current_user_can('delete_pages') && $trashedCount > 0) : ?>
|
27 |
<li class="np-trash-links">
|
28 |
+
|
|
29 |
<a href="<?php echo $this->post_type_repo->trashLink($this->post_type->name); ?>"><?php _e('Trash'); ?> </a>
|
30 |
<span class="count">(<a href="#" class="np-empty-trash" data-posttype="<?php echo $this->post_type->name; ?>"><?php _e('Empty', 'nestedpages'); ?></a> <?php echo $trashedCount; ?>)</span>
|
|
|
31 |
</li>
|
32 |
<?php endif; ?>
|
33 |
|
34 |
+
<?php if ( !$this->post_type_repo->postTypeSetting($this->post_type->name, 'hide_default') ) : ?>
|
35 |
<li>
|
36 |
+
|
|
37 |
<a href="<?php echo NestedPages\Helpers::defaultPagesLink($this->post_type->name); ?>">
|
38 |
<?php _e('Default'); ?> <?php _e($this->post_type->labels->name); ?>
|
39 |
</a>
|
104 |
|
105 |
|
106 |
<?php if ( $this->post_type->name == 'page' && $this->post_type_repo->categoriesEnabled($this->post_type->name) ) : ?>
|
107 |
+
<div class="np-tools-primary">
|
108 |
<form action="<?php echo admin_url('admin-post.php'); ?>" method="post" class="np-tools-sort">
|
109 |
<input type="hidden" name="action" value="npCategoryFilter">
|
110 |
<input type="hidden" name="page" value="<?php echo $this->pageURL(); ?>">
|
127 |
<input type="submit" id="nestedpages-sort" class="button" value="Apply">
|
128 |
</div>
|
129 |
</form>
|
130 |
+
</div><!-- .np-tools-primary -->
|
131 |
<?php endif; ?>
|
132 |
|
|
|
133 |
<div class="np-tools-search">
|
134 |
<form action="<?php echo admin_url('admin-post.php'); ?>" method="post">
|
135 |
<input type="hidden" name="action" value="npSearch">
|
app/Views/settings/settings-general.php
CHANGED
@@ -4,6 +4,7 @@ if ( $allowsorting == "" ) $allowsorting = array();
|
|
4 |
$sync_status = ( $this->settings->menuSyncEnabled() ) ? __('Currently Enabled', 'nestedpages') : __('Currently Disabled', 'nestedpages');
|
5 |
settings_fields( 'nestedpages-general' );
|
6 |
?>
|
|
|
7 |
<tr valign="top">
|
8 |
<th scope="row"><?php _e('Nested Pages Version', 'nestedpages'); ?></th>
|
9 |
<td><strong><?php echo get_option('nestedpages_version'); ?></strong></td>
|
@@ -29,18 +30,28 @@ settings_fields( 'nestedpages-general' );
|
|
29 |
<tr valign="top">
|
30 |
<th scope="row"><?php _e('Menu Sync', 'nestedpages'); ?></th>
|
31 |
<td>
|
32 |
-
|
33 |
-
<p>
|
34 |
<label>
|
35 |
<input type="checkbox" name="nestedpages_ui[hide_menu_sync]" value="true" <?php if ( $this->settings->hideMenuSync() ) echo 'checked'; ?> />
|
36 |
<?php _e('Hide Menu Sync Checkbox', 'nestedpages'); ?> (<?php echo $sync_status; ?>)
|
37 |
</label>
|
38 |
</p>
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
40 |
<p>
|
41 |
<label>
|
42 |
-
<input type="checkbox" name="
|
43 |
-
<?php _e('
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
</label>
|
45 |
</p>
|
46 |
</td>
|
@@ -58,4 +69,5 @@ settings_fields( 'nestedpages-general' );
|
|
58 |
<input type="hidden" name="nestedpages_menusync" value="<?php echo get_option('nestedpages_menusync'); ?>">
|
59 |
<p><em><?php _e('Admins always have sorting ability.', 'nestedpages'); ?></em></p>
|
60 |
</td>
|
61 |
-
</tr>
|
|
4 |
$sync_status = ( $this->settings->menuSyncEnabled() ) ? __('Currently Enabled', 'nestedpages') : __('Currently Disabled', 'nestedpages');
|
5 |
settings_fields( 'nestedpages-general' );
|
6 |
?>
|
7 |
+
<table class="form-table">
|
8 |
<tr valign="top">
|
9 |
<th scope="row"><?php _e('Nested Pages Version', 'nestedpages'); ?></th>
|
10 |
<td><strong><?php echo get_option('nestedpages_version'); ?></strong></td>
|
30 |
<tr valign="top">
|
31 |
<th scope="row"><?php _e('Menu Sync', 'nestedpages'); ?></th>
|
32 |
<td>
|
33 |
+
<p data-menu-enabled-option data-menu-hide-checkbox>
|
|
|
34 |
<label>
|
35 |
<input type="checkbox" name="nestedpages_ui[hide_menu_sync]" value="true" <?php if ( $this->settings->hideMenuSync() ) echo 'checked'; ?> />
|
36 |
<?php _e('Hide Menu Sync Checkbox', 'nestedpages'); ?> (<?php echo $sync_status; ?>)
|
37 |
</label>
|
38 |
</p>
|
39 |
+
<p data-menu-enabled-option data-menu-disable-auto>
|
40 |
+
<label>
|
41 |
+
<input type="checkbox" name="nestedpages_ui[manual_menu_sync]" value="true" <?php if ( $this->settings->autoMenuDisabled() ) echo 'checked'; ?> data-menu-disable-auto-checkbox />
|
42 |
+
<?php _e('Manually sync menu.', 'nestedpages'); ?>
|
43 |
+
</label>
|
44 |
+
</p>
|
45 |
<p>
|
46 |
<label>
|
47 |
+
<input type="checkbox" name="nestedpages_ui[manual_page_order_sync]" value="true" <?php if ( $this->settings->autoPageOrderDisabled() ) echo 'checked'; ?> />
|
48 |
+
<?php _e('Manually sync page order.', 'nestedpages'); ?>
|
49 |
+
</label>
|
50 |
+
</p>
|
51 |
+
<p>
|
52 |
+
<label>
|
53 |
+
<input type="checkbox" name="nestedpages_disable_menu" value="true" <?php if ( $this->settings->menusDisabled() ) echo 'checked'; ?> data-disable-menu-checkbox />
|
54 |
+
<?php _e('Disable menu sync completely', 'nestedpages'); ?>
|
55 |
</label>
|
56 |
</p>
|
57 |
</td>
|
69 |
<input type="hidden" name="nestedpages_menusync" value="<?php echo get_option('nestedpages_menusync'); ?>">
|
70 |
<p><em><?php _e('Admins always have sorting ability.', 'nestedpages'); ?></em></p>
|
71 |
</td>
|
72 |
+
</tr>
|
73 |
+
</table>
|
app/Views/settings/settings-posttypes.php
CHANGED
@@ -1,60 +1,199 @@
|
|
1 |
<?php
|
2 |
$types = $this->getPostTypes();
|
|
|
3 |
settings_fields( 'nestedpages-posttypes' );
|
4 |
?>
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
<
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
</
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
<
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
<
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
$types = $this->getPostTypes();
|
3 |
+
$thumbnail_sizes = get_intermediate_image_sizes();
|
4 |
settings_fields( 'nestedpages-posttypes' );
|
5 |
?>
|
6 |
+
|
7 |
+
<h3><?php _e('Enable Nested Pages for:', 'nestedpages'); ?></h3>
|
8 |
+
|
9 |
+
<div class="nestedpages-settings-posttypes">
|
10 |
+
<?php foreach ($types as $type) : ?>
|
11 |
+
<div class="post-type">
|
12 |
+
<div class="head">
|
13 |
+
<div class="checkbox">
|
14 |
+
<input type="checkbox" name="nestedpages_posttypes[<?php echo $type->name; ?>]" value="<?php echo $type->name; ?>" <?php if ( $type->np_enabled ) echo 'checked'; ?> data-nestedpages-pt-checkbox id="post-type-<?php echo $type->name; ?>" />
|
15 |
+
</div>
|
16 |
+
<label for="post-type-<?php echo $type->name; ?>">
|
17 |
+
<?php
|
18 |
+
echo $type->label;
|
19 |
+
if ( $type->hierarchical ) echo ' <em>(' . __('Hierarchical', 'nestedpages') . ')</em>';
|
20 |
+
?>
|
21 |
+
</label>
|
22 |
+
<a href="#" class="button" data-toggle-nestedpages-pt-settings><?php _e('Settings', 'nestedpages'); ?></a>
|
23 |
+
</div><!-- .head -->
|
24 |
+
<div class="body">
|
25 |
+
<ul class="post-type-settings">
|
26 |
+
<li>
|
27 |
+
<div class="row">
|
28 |
+
<div class="description">
|
29 |
+
<p><strong><?php _e('Replace Default Menu', 'nestedpages'); ?>*</strong><br />
|
30 |
+
<?php _e('Replace the default top-level item with the nested view link.', 'nestedpages'); ?></p>
|
31 |
+
</div>
|
32 |
+
<div class="field">
|
33 |
+
<label><input type="checkbox" name="nestedpages_posttypes[<?php echo $type->name; ?>][replace_menu]" value="true" <?php if ( $type->replace_menu ) echo 'checked'; ?> /><?php echo __('Replace Default') . ' ' . $type->label . ' ' . __('Menu', 'nestedpages'); ?></label>
|
34 |
+
</div><!-- .field -->
|
35 |
+
</div><!-- .row -->
|
36 |
+
</li>
|
37 |
+
<li>
|
38 |
+
<div class="row">
|
39 |
+
<div class="description">
|
40 |
+
<p><strong><?php _e('Remove Default Link', 'nestedpages'); ?></strong><br />
|
41 |
+
<?php _e('If the default menu is replaced, a link to the default view will be added. Select this to remove the link', 'nestedpages'); ?>
|
42 |
+
</div>
|
43 |
+
<div class="field">
|
44 |
+
<label><input type="checkbox" name="nestedpages_posttypes[<?php echo $type->name; ?>][hide_default]" value="true" <?php if ( $type->hide_default ) echo 'checked'; ?> /><?php echo __('Hide Default', 'nestedpages') . ' ' . $type->label . ' ' . __('Link', 'nestedpages'); ?></label>
|
45 |
+
</div>
|
46 |
+
</div><!-- .row -->
|
47 |
+
</li>
|
48 |
+
<?php if ( $type->hierarchical ) : ?>
|
49 |
+
<li>
|
50 |
+
<div class="row">
|
51 |
+
<div class="description">
|
52 |
+
<p><strong><?php _e('Disable Nesting', 'nestedpages'); ?>**</strong><br>
|
53 |
+
<?php _e('To disable nesting on hierarchical post types, select this option.', 'nestedpages'); ?></p>
|
54 |
+
</div>
|
55 |
+
<div class="field">
|
56 |
+
<label><input type="checkbox" name="nestedpages_posttypes[<?php echo $type->name; ?>][disable_nesting]" value="true" <?php if ( $type->disable_nesting ) echo 'checked '; ?>/><?php echo __('Disable Nesting for', 'nestedpages') . ' ' . $type->label; ?></label>
|
57 |
+
</div>
|
58 |
+
</div><!-- .row -->
|
59 |
+
</li>
|
60 |
+
<?php endif; ?>
|
61 |
+
<li>
|
62 |
+
<?php
|
63 |
+
$thumbnails_enabled = $this->post_type_repo->thumbnails($type->name, 'enabled');
|
64 |
+
$thumbnail_source = $this->post_type_repo->thumbnails($type->name, 'source');
|
65 |
+
$thumbnail_size = $this->post_type_repo->thumbnails($type->name, 'display_size');
|
66 |
+
?>
|
67 |
+
<div class="row">
|
68 |
+
<div class="description">
|
69 |
+
<p><strong><?php _e('Display Thumbnails', 'nestedpages'); ?></strong><br>
|
70 |
+
<?php _e('Display the thumbnail in the list sort view.', 'nestedpages'); ?><br><br>
|
71 |
+
<?php _e('Note: Thumbnail width is displayed at a maximum of 80px in the nested pages view. The image is scaled proportionally.', 'nestedpages'); ?></p>
|
72 |
+
</div>
|
73 |
+
<div class="field">
|
74 |
+
<label><input type="checkbox" name="nestedpages_posttypes[<?php echo $type->name; ?>][thumbnails][display]" value="true" <?php if ( $thumbnails_enabled ) echo 'checked'; ?> data-enable-thumbnails /><?php echo __('Display Thumbnails for', 'nestedpages') . ' ' . $type->label; ?></label>
|
75 |
+
|
76 |
+
<div class="thumbnail-options" data-thumbnail-options <?php if ( !$thumbnails_enabled ) echo 'style="display:none;"'; ?>>
|
77 |
+
<label><?php _e('Thumbnail Source', 'nestedpages'); ?></label>
|
78 |
+
<select name="nestedpages_posttypes[<?php echo $type->name; ?>][thumbnails][size]">
|
79 |
+
<?php
|
80 |
+
foreach ( $thumbnail_sizes as $size ){
|
81 |
+
echo '<option value="' . $size . '"';
|
82 |
+
if ( $size == $thumbnail_source ) echo ' selected';
|
83 |
+
echo '>' . $size . '</option>';
|
84 |
+
}
|
85 |
+
?>
|
86 |
+
</select>
|
87 |
+
|
88 |
+
<label><?php _e('Thumbnail Display Size', 'nestedpages'); ?></label>
|
89 |
+
<select name="nestedpages_posttypes[<?php echo $type->name; ?>][thumbnails][display_size]">
|
90 |
+
<option value="small" <?php if ( $thumbnail_size == 'small' ) echo ' selected';?>><?php _e('Small', 'nestedpages'); ?>(50px)</option>
|
91 |
+
<option value="medium" <?php if ( $thumbnail_size == 'medium' ) echo ' selected';?>><?php _e('Medium', 'nestedpages'); ?>(80px)</option>
|
92 |
+
<option value="large" <?php if ( $thumbnail_size == 'large' ) echo ' selected';?>><?php _e('Large', 'nestedpages'); ?>(150px)</option>
|
93 |
+
</select>
|
94 |
+
</div><!-- .thumbnail-options -->
|
95 |
+
</div>
|
96 |
+
</div><!-- .row -->
|
97 |
+
</li>
|
98 |
+
<li>
|
99 |
+
<div class="row">
|
100 |
+
<div class="description">
|
101 |
+
<p><strong><?php _e('Configure Standard Fields', 'nestedpages'); ?></strong><br>
|
102 |
+
<?php _e('Remove standard fields from the quick edit form.', 'nestedpages'); ?></p>
|
103 |
+
</div>
|
104 |
+
<div class="field">
|
105 |
+
<label><input type="checkbox" data-toggle-nestedpages-sf-settings name="nestedpages_posttypes[<?php echo $type->name; ?>][standard_fields_enabled]" value="true" <?php if ( $type->standard_fields_enabled ) echo 'checked '; ?>/><?php _e('Configure Standard Fields', 'nestedpages'); ?></label>
|
106 |
+
|
107 |
+
<div class="standard-fields">
|
108 |
+
<h5><?php _e('Check to remove from Quick Edit.', 'nestedpages'); ?></h5>
|
109 |
+
<div class="custom-field-group">
|
110 |
+
<ul>
|
111 |
+
<?php
|
112 |
+
$out = "";
|
113 |
+
foreach ( $this->settings->standardFields($type->name) as $name => $label ) :
|
114 |
+
if ( $name != 'taxonomies' ) :
|
115 |
+
$out .= '<li>';
|
116 |
+
$out .= '<label>';
|
117 |
+
$out .= '<input type="checkbox" name="nestedpages_posttypes[' . $type->name . '][standard_fields][standard][' . $name . ']" value="true"';
|
118 |
+
if ( $name == 'hide_taxonomies' ) $out .= ' data-hide-taxonomies';
|
119 |
+
if ( $this->post_type_repo->fieldEnabled($type->name, 'standard', $name, 'standard_fields') ) $out .= ' checked';
|
120 |
+
$out .= ' />' . $label;
|
121 |
+
$out .= '</label>';
|
122 |
+
$out .= '</li>';
|
123 |
+
else : // Taxonomies
|
124 |
+
foreach ( $label as $tax_name => $tax_label ) :
|
125 |
+
$disabled = $this->post_type_repo->taxonomyDisabled($tax_name, $type->name);
|
126 |
+
$out .= '<li data-taxonomy-single style="margin-left:20px;';
|
127 |
+
if ( $this->post_type_repo->fieldEnabled($type->name, 'standard', 'hide_taxonomies', 'standard_fields') ) $out .= 'display:none;';
|
128 |
+
$out .= '">';
|
129 |
+
$out .= '<label>';
|
130 |
+
$out .= '<input type="checkbox" name="nestedpages_posttypes[' . $type->name . '][standard_fields][standard][taxonomies][' . $tax_name . ']" value="true"';
|
131 |
+
if ( $disabled ) $out .= ' checked';
|
132 |
+
$out .= ' />' . $tax_label;
|
133 |
+
$out .= '</label>';
|
134 |
+
$out .= '</li>';
|
135 |
+
endforeach;
|
136 |
+
endif;
|
137 |
+
endforeach;
|
138 |
+
echo $out;
|
139 |
+
?>
|
140 |
+
</ul>
|
141 |
+
</div><!-- .custom-field-group -->
|
142 |
+
</div><!-- .standard-fields -->
|
143 |
+
</div><!-- .field -->
|
144 |
+
</div><!-- .row -->
|
145 |
+
</li>
|
146 |
+
<?php if ( $this->integrations->plugins->acf->installed ) : ?>
|
147 |
+
<li>
|
148 |
+
<div class="row">
|
149 |
+
<div class="description">
|
150 |
+
<p><strong><?php _e('Configure Custom Fields', 'nestedpages'); ?></strong><br>
|
151 |
+
<?php _e('Set which custom fields display in the quick edit form.', 'nestedpages'); ?></p>
|
152 |
+
</div>
|
153 |
+
<div class="field">
|
154 |
+
<label><input type="checkbox" data-toggle-nestedpages-cf-settings name="nestedpages_posttypes[<?php echo $type->name; ?>][custom_fields_enabled]" value="true" <?php if ( $type->custom_fields_enabled ) echo 'checked'; ?> /><?php _e('Configure Custom Fields', 'nestedpages'); ?></label>
|
155 |
+
|
156 |
+
<div class="custom-fields">
|
157 |
+
<h5><?php _e('Check to Include in Quick Edit.', 'nestedpages'); ?></h5>
|
158 |
+
<?php
|
159 |
+
// Advanced Custom Fields
|
160 |
+
$acf_fields = $this->integrations->plugins->acf->getFieldsForPostType($type->name);
|
161 |
+
if ( $acf_fields ) :
|
162 |
+
$out = '<div class="custom-field-group">';
|
163 |
+
$out .= '<p>' . __('Advanced Custom Fields', 'nestedpages') . '</p>';
|
164 |
+
$out .= '<ul class="indented">';
|
165 |
+
foreach ($acf_fields as $field){
|
166 |
+
$out .= '<li>';
|
167 |
+
$out .= '<label>';
|
168 |
+
$out .= '<input type="checkbox" name="nestedpages_posttypes[' . $type->name . '][custom_fields][acf][' . $field['key'] . ']" value="' . $field['type'] . '"';
|
169 |
+
if ( $this->post_type_repo->fieldEnabled($type->name, 'acf', $field['key']) ) $out .= ' checked';
|
170 |
+
$out .= '/>' . $field['label'] . ' (' . $field['type'] . ')';
|
171 |
+
$out .= '</label>';
|
172 |
+
$out .= '</li>';
|
173 |
+
}
|
174 |
+
$out .= '</ul>';
|
175 |
+
$out .= '</div><!-- .custom-field-group -->';
|
176 |
+
echo $out;
|
177 |
+
else :
|
178 |
+
echo __('No ACF Fields configured for this post type', 'nestedpages');
|
179 |
+
endif;
|
180 |
+
?>
|
181 |
+
</div><!-- .custom-fields -->
|
182 |
+
</div><!-- .field -->
|
183 |
+
</div><!-- .row -->
|
184 |
+
</li>
|
185 |
+
<?php endif; ?>
|
186 |
+
</ul>
|
187 |
+
</div><!-- .body -->
|
188 |
+
</div><!-- .post-type -->
|
189 |
+
<?php endforeach; ?>
|
190 |
+
</div><!-- .nestedpages-settings-posttypes -->
|
191 |
+
|
192 |
+
<div class="nestedpages-settings-disclaimers">
|
193 |
+
<p style="font-size:12px;margin-bottom:15px;">
|
194 |
+
*<?php _e('If default menu is not replaced, an additional submenu item will be added for "Nested/Sort View"', 'nestedpages'); ?>
|
195 |
+
</p>
|
196 |
+
<p style="font-size:12px;">
|
197 |
+
**<?php _e('<strong>Important:</strong> Changing page structures on live sites may effect SEO and existing inbound links. Limit URL structure changes on live sites by disabling nesting. Sorting within the current nesting structure will still be available. If nesting changes are made to a live site, it may help to add a 301 redirect from the old location to the new one.', 'nestedpages'); ?>
|
198 |
+
</p>
|
199 |
+
</div>
|
app/Views/settings/settings.php
CHANGED
@@ -13,9 +13,7 @@
|
|
13 |
</h2>
|
14 |
|
15 |
<form method="post" enctype="multipart/form-data" action="options.php">
|
16 |
-
|
17 |
-
<?php include(NestedPages\Helpers::view('settings/settings-' . $tab)); ?>
|
18 |
-
</table>
|
19 |
<?php submit_button(); ?>
|
20 |
</form>
|
21 |
</div><!-- .wrap -->
|
13 |
</h2>
|
14 |
|
15 |
<form method="post" enctype="multipart/form-data" action="options.php">
|
16 |
+
<?php include(NestedPages\Helpers::view('settings/settings-' . $tab)); ?>
|
|
|
|
|
17 |
<?php submit_button(); ?>
|
18 |
</form>
|
19 |
</div><!-- .wrap -->
|
assets/banner-772x250.png
ADDED
Binary file
|
assets/css/fonts/nestedpages.eot
CHANGED
Binary file
|
assets/css/fonts/nestedpages.svg
CHANGED
@@ -6,25 +6,25 @@
|
|
6 |
<font id="nestedpages" horiz-adv-x="512">
|
7 |
<font-face units-per-em="512" ascent="480" descent="-32" />
|
8 |
<missing-glyph horiz-adv-x="512" />
|
9 |
-
<glyph unicode=" "
|
10 |
-
<glyph unicode="&#
|
11 |
-
<glyph unicode="&#
|
12 |
-
<glyph unicode="&#
|
13 |
-
<glyph unicode="&#
|
14 |
-
<glyph unicode="&#
|
15 |
-
<glyph unicode="&#
|
16 |
-
<glyph unicode="&#
|
17 |
-
<glyph unicode="&#
|
18 |
-
<glyph unicode="&#
|
19 |
-
<glyph unicode="&#
|
20 |
-
<glyph unicode="&#
|
21 |
-
<glyph unicode="&#
|
22 |
-
<glyph unicode="&#
|
23 |
-
<glyph unicode="&#
|
24 |
-
<glyph unicode="&#
|
25 |
-
<glyph unicode="&#
|
26 |
-
<glyph unicode="&#
|
27 |
-
<glyph unicode="&#
|
28 |
-
<glyph unicode="&#
|
29 |
-
<glyph unicode="&#
|
30 |
</font></defs></svg>
|
6 |
<font id="nestedpages" horiz-adv-x="512">
|
7 |
<font-face units-per-em="512" ascent="480" descent="-32" />
|
8 |
<missing-glyph horiz-adv-x="512" />
|
9 |
+
<glyph unicode=" " horiz-adv-x="256" d="" />
|
10 |
+
<glyph unicode="" glyph-name="pencil" d="M442 319.333l-39-39-80 80 39 39c8 8 22 8 30 0l50-50c8-8 8-22 0-30zM64 101.333l236 236 80-80-236-236h-80v80z" />
|
11 |
+
<glyph unicode="" glyph-name="tag" d="M117 320.333c18 0 32 14 32 32s-14 32-32 32-32-14-32-32 14-32 32-32zM457 222.333c8-8 12-18 12-30s-4-22-12-30l-150-150c-8-8-18-12-30-12s-22 4-30 12l-192 192c-8 8-12 18-12 30v150c0 23 19 42 42 42h150c12 0 22-4 30-12z" />
|
12 |
+
<glyph unicode="" glyph-name="more_vert" d="M256 128.333c23 0 43-20 43-43s-20-43-43-43-43 20-43 43 20 43 43 43zM256 256.333c23 0 43-20 43-43s-20-43-43-43-43 20-43 43 20 43 43 43zM256 298.333c-23 0-43 20-43 43s20 43 43 43 43-20 43-43-20-43-43-43z" />
|
13 |
+
<glyph unicode="" glyph-name="sub-menu" d="M102.4 198.4h230.4v76.8l128-102.4-128-102.4v76.8h-281.6v230.4h51.2v-179.2z" />
|
14 |
+
<glyph unicode="" glyph-name="no" d="M398.080 129.28l-56.064-52.736-87.552 93.44-93.184-87.808-52.736 55.808 93.184 87.808-87.552 93.184 55.808 52.736 87.808-93.184 93.184 87.552 52.48-55.808-93.184-87.808z" />
|
15 |
+
<glyph unicode="" glyph-name="yes" d="M368.384 339.2l34.304-24.064-137.472-190.72h-34.304l-77.312 102.656 34.304 32 60.16-47.872z" />
|
16 |
+
<glyph unicode="" glyph-name="menu" d="M435.2 300.8v51.2h-358.4v-51.2h358.4zM435.2 198.4v51.2h-358.4v-51.2h358.4zM435.2 96v51.2h-358.4v-51.2h358.4z" />
|
17 |
+
<glyph unicode="" glyph-name="arrow-down" d="M384 275.2l-103.168-153.6-101.632 153.6h204.8z" />
|
18 |
+
<glyph unicode="" glyph-name="arrow-right" d="M204.8 326.4l153.6-103.168-153.6-101.632v204.8z" />
|
19 |
+
<glyph unicode="" glyph-name="menu2" d="M32 384h448v-96h-448zM32 256h448v-96h-448zM32 128h448v-96h-448z" />
|
20 |
+
<glyph unicode="" glyph-name="bubble" d="M256 448c141.385 0 256-93.125 256-208s-114.615-208-256-208c-13.578 0-26.905 0.867-39.912 2.522-54.989-54.989-120.625-64.85-184.088-66.298v13.458c34.268 16.789 64 47.37 64 82.318 0 4.877-0.379 9.665-1.082 14.348-57.898 38.132-94.918 96.377-94.918 161.652 0 114.875 114.615 208 256 208z" />
|
21 |
+
<glyph unicode="" glyph-name="remove" d="M400 416h-288c-26.51 0-48-21.49-48-48v-16h384v16c0 26.51-21.49 48-48 48zM316.16 448l7.058-50.5h-134.436l7.057 50.5h120.321M320 480h-128c-13.2 0-25.495-10.696-27.321-23.769l-9.357-66.962c-1.827-13.073 7.478-23.769 20.678-23.769h160c13.2 0 22.505 10.696 20.679 23.769l-9.357 66.962c-1.827 13.073-14.122 23.769-27.322 23.769v0zM408 320h-304c-17.6 0-30.696-14.341-29.103-31.869l26.206-288.263c1.593-17.527 17.297-31.868 34.897-31.868h240c17.6 0 33.304 14.341 34.897 31.868l26.205 288.263c1.594 17.528-11.502 31.869-29.102 31.869zM192 32h-48l-16 224h64v-224zM288 32h-64v224h64v-224zM368 32h-48v224h64l-16-224z" />
|
22 |
+
<glyph unicode="" glyph-name="eye" d="M256 384c-111.659 0-208.441-65.021-256-160 47.559-94.979 144.341-160 256-160 111.657 0 208.439 65.021 256 160-47.558 94.979-144.343 160-256 160zM382.225 299.148c30.081-19.187 55.571-44.887 74.717-75.148-19.146-30.261-44.637-55.961-74.718-75.149-37.797-24.108-81.445-36.851-126.224-36.851-44.78 0-88.428 12.743-126.225 36.852-30.080 19.186-55.57 44.886-74.717 75.148 19.146 30.262 44.637 55.962 74.717 75.148 1.959 1.25 3.938 2.461 5.929 3.65-4.979-13.664-7.704-28.411-7.704-43.798 0-70.692 57.308-128 128-128s128 57.308 128 128c0 15.387-2.725 30.134-7.704 43.799 1.99-1.189 3.969-2.401 5.929-3.651zM256 275c0-26.51-21.49-48-48-48s-48 21.49-48 48 21.49 48 48 48 48-21.49 48-48z" />
|
23 |
+
<glyph unicode="" glyph-name="eye-blocked" d="M419.661 331.792c38.822-27.515 70.685-64.546 92.339-107.792-47.561-94.979-144.343-160-256-160-31.283 0-61.396 5.106-89.589 14.542l38.978 38.978c16.529-3.65 33.486-5.52 50.611-5.52 44.779 0 88.427 12.743 126.223 36.852 30.081 19.188 55.572 44.888 74.718 75.149-18.526 29.283-43.007 54.275-71.825 73.247l34.545 34.544zM256 131c-11.362 0-22.376 1.488-32.864 4.267l156.593 156.592c2.781-10.486 4.271-21.497 4.271-32.859 0-70.692-57.308-128-128-128zM480 480h-26.869l-109.806-109.806c-27.538 8.962-56.877 13.806-87.325 13.806-111.659 0-208.441-65.021-256-160 21.329-42.596 52.564-79.154 90.597-106.534l-90.597-90.597v-26.869h26.869l453.131 453.131v26.869zM208 323c24.022 0 43.923-17.647 47.446-40.685l-54.762-54.762c-23.037 3.524-40.684 23.425-40.684 47.447 0 26.51 21.49 48 48 48zM55.058 224c19.146 30.262 44.637 55.962 74.717 75.148 1.959 1.25 3.938 2.461 5.929 3.65-4.979-13.664-7.704-28.411-7.704-43.798 0-29.262 9.825-56.224 26.349-77.781l-29.275-29.275c-28.036 18.821-51.877 43.386-70.016 72.056z" />
|
24 |
+
<glyph unicode="" glyph-name="list" d="M192 448h320v-64h-320v64zM192 256h320v-64h-320v64zM192 64h320v-64h-320v64zM0 416c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM0 224c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64zM0 32c0 35.346 28.654 64 64 64s64-28.654 64-64c0-35.346-28.654-64-64-64s-64 28.654-64 64z" />
|
25 |
+
<glyph unicode="" glyph-name="plus" d="M496 288h-176v176c0 8.836-7.164 16-16 16h-96c-8.836 0-16-7.164-16-16v-176h-176c-8.836 0-16-7.164-16-16v-96c0-8.836 7.164-16 16-16h176v-176c0-8.836 7.164-16 16-16h96c8.836 0 16 7.164 16 16v176h176c8.836 0 16 7.164 16 16v96c0 8.836-7.164 16-16 16z" />
|
26 |
+
<glyph unicode="" glyph-name="link" d="M476.698 442.679l-2.014 2.021c-47.074 47.067-124.097 47.067-171.163 0l-109.053-109.068c-47.067-47.066-47.067-124.088 0-171.155l2.013-2.013c3.916-3.924 8.073-7.462 12.368-10.729l39.924 39.925c-4.651 2.747-9.063 6.036-13.058 10.030l-2.021 2.021c-25.557 25.549-25.557 67.136 0 92.695l109.064 109.056c25.558 25.559 67.137 25.559 92.693 0l2.021-2.012c25.55-25.558 25.55-67.146 0-92.695l-49.343-49.343c8.566-21.154 12.624-43.7 12.269-66.193l76.302 76.302c47.067 47.068 47.067 124.089-0.002 171.158zM315.521 285.533c-3.916 3.916-8.073 7.461-12.368 10.72l-39.924-39.916c4.652-2.748 9.063-6.037 13.058-10.031l2.021-2.020c25.558-25.558 25.558-67.136 0-92.694l-109.065-109.067c-25.559-25.551-67.138-25.551-92.694 0l-2.021 2.021c-25.549 25.56-25.549 67.138 0 92.694l49.344 49.343c-8.567 21.153-12.623 43.701-12.269 66.193l-76.301-76.299c-47.068-47.066-47.068-124.089 0-171.162l2.013-2.016c47.076-47.064 124.096-47.064 171.164 0l109.055 109.059c47.067 47.066 47.067 124.097 0 171.163l-2.013 2.012z" />
|
27 |
+
<glyph unicode="" glyph-name="lock" d="M322 298.333v43c0 36-30 66-66 66s-66-30-66-66v-43h132zM256 106.333c23 0 43 20 43 43s-20 43-43 43-43-20-43-43 20-43 43-43zM384 298.333c23 0 43-19 43-42v-214c0-23-20-42-43-42h-256c-23 0-43 19-43 42v214c0 23 20 42 43 42h21v43c0 59 48 107 107 107s107-48 107-107v-43h21z" />
|
28 |
+
<glyph unicode="" glyph-name="post" d="M267.264 402.688l46.592 46.592 162.816-162.56-46.848-46.592c-26.88 17.408-63.488 14.592-87.296-9.216l-19.2-19.2c-23.552-23.808-26.624-60.16-8.96-87.296l-46.848-46.592-61.696 61.696-71.68-71.424c-10.752-10.752-86.528-69.376-97.28-58.624s47.616 86.784 58.368 97.536l71.424 71.424-61.696 61.952 46.848 46.592c26.88-17.664 63.488-14.592 87.040 9.216l19.2 19.2c23.808 23.552 26.88 60.16 9.216 87.296z" />
|
29 |
+
<glyph unicode="" glyph-name="page" d="M153.6 96v332.8h256v-332.8h-256zM128 70.4h204.8v-51.2h-256v332.8h51.2v-281.6z" />
|
30 |
</font></defs></svg>
|
assets/css/fonts/nestedpages.ttf
CHANGED
Binary file
|
assets/css/fonts/nestedpages.woff
CHANGED
Binary file
|
assets/css/fonts/nestedpages.woff2
ADDED
Binary file
|
assets/css/nestedpages.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
body{-webkit-animation-delay:0.1s;-webkit-animation-name:fontfix;-webkit-animation-duration:0.1s;-webkit-animation-iteration-count:1;-webkit-animation-timing-function:linear;}@-webkit-keyframes fontfix{from{opacity:1;}to{opacity:1;}}@font-face{font-family:'nestedpages';src:url('fonts/nestedpages.eot');}@font-face{font-family:'nestedpages';src:url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABWUAAsAAAAAFUgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgCCMHaGNtYXAAAAFoAAAAVAAAAFTw7eamZ2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAAETQAABE0siotqmhlYWQAABL4AAAANgAAADYCOg/3aGhlYQAAEzAAAAAkAAAAJAPiAflobXR4AAATVAAAAGAAAABgKQADZ2xvY2EAABO0AAAAMgAAADIhfhzgbWF4cAAAE+gAAAAgAAAAIAAgAPFuYW1lAAAUCAAAAWkAAAFpcfuqSHBvc3QAABV0AAAAIAAAACAAAwAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8LIB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABABAAAAADAAIAAIABAABACDmEvCy//3//wAAAAAAIOYA8LL//f//AAH/4xoED2UAAwABAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAzAEYBzQF6AAkAADczNRcHNSE1MxVm54CA/uYzxk1mZ03ntAAAAAEAbQBNAZMBdAALAAAlBycHJzcnNxc3FwcBjjhYXTRdWDhYXTRdgTRdWDhYXTVdVzhYAAABAJoAfAGTAVMABgAAARcHIyc3FwFwI4oiTSI8AVMYv2cgMAADAE0AYAGzAWAABAAJAA4AAAE1IRUhFTUhFSEVNSEVIQGz/poBZv6aAWb+mgFmAS0zM2c0NGYzMwAAAAABALMAegGAARMAAwAAAQcnMwGAZ2bNAROZmQAAAQDNAHoBZgFGAAMAABMXBzXNmZkBRmdlzAAAAAMAIAAgAeABgAADAAcACwAAEyEVIRUhFSEVIRUhIAHA/kABwP5AAcD+QAGAYCBgIGAAAAABAAD/4AIAAcAALgAAATIWFx4BFRQGBw4BIyoBJyImJw4BBw4BBzU+ATc+ATU0JjUuAScuATU0Njc+ATMBADVdIyMoKCMjXTUFCgUFCgUVLBgXMBgNFwkJCgEWIwwNDSgjI101AcAhHBxMKytMHBwhAQEBFRoHBwUBDgYRCwsYDQQHAw8jFRUuGCtMHBwhAAADAAD/4AIAAeAAFQAbACAAAAEyFhceARUUBgcOAQ8BJzc+ATc+ATMBBzcBJwElByc3FwGwER0LCg0CAgIGBCBwIAULBgYNB/5wIJABKHD+2AFG4BzgHAHgDQoLHREHDQYGCwUgcCAEBgICAv6QkCABKHD+2LrgHOAcAAAAAwAA/+ABQAHAACwAQgBTAAABIzU0JicuASsBIgYHDgEdASMiBgcOAR0BFBYXHgEzITI2Nz4BPQE0JicuASMHIzcuATU0Njc+ATMyFhceARUUBgcXNyM1NDY3PgE7ATIWFx4BHQEBKAgPDQ0jFEAUIw0NDwgFCQMDBAQDAwkFARAFCQMDBAQDAwkFaEAOBggFBAULBwcLBQQFCAYOIIAFBAULB0AHCwUEBQEAYBQjDQ0PDw0NIxRgBAMDCQXwBQkDAwQEAwMJBfAFCQMDBOBGBA4IBwsFBAUFBAULBwgOBEbgYAcLBQQFBQQFCwdgAAAABwBA/+ABwAHgABAAFQAzAFAAVQBaAF8AAAEhIgYHDgEdASE1NCYnLgEjJxcjNzM3IyIGBw4BFQcUFhceATsBMjY3PgE1JzQmJy4BIzEXISIGBw4BFxMeARceATsBMjY3PgE3EzYmJy4BIwMjJzMVMyM1MxUzIzUzBwGQ/uAKEQcGCAGACAYHEQpUB4YHeASABQkEBAUKAgMDCAWgBQgDAwIKBQQECQVY/tAHCwQEBAEaAQYFBAwH8AcMBAUGARoBBAQECwfYMBBAYEBAUDBAEAGgCAYHEQoQEAoRBwYIIDIyIAQDAwkFQwUIBAMDAwMECAVDBQkDAwSgBQQFCwf+4AcLBQQFBQQFCwcBIAcLBQQF/uDg4ODg4OAAAAADAAAAQAIAAYAAGABbAHQAAAEiBgcOAQceARceATMyNjc+ATcuAScuASMXHgEXHgEXDgEHDgEHDgEHDgEjIiYnLgEnLgEnLgEnPgE3PgE3PgE3DgEHDgEVFBYXHgEzMjY3PgE1NCYnLgEnHgEXBxQGBw4BIyImJy4BNTQ2Nz4BMzIWFx4BFQEAKk0hITUSEjUhIU0qKk0hITUSEjUhIU0qfgwUCgkRBwcRCQoUDA4eEBAhEREhEBAeDgwUCgkRBwcRCQoUDAEDAgIDAQEBFBESLhsbLhIRFAEBAQMCAgMBfggGBxEKChEHBggIBgcRCgoRBwYIAYAXFRU7JCQ7FRUXFxUVOyQkOxUVF1UHEQkKFQsLFQoJEQcJDgUEBQUEBQ4JBxEJChULCxUKCREHAQIBBQsFBgsGGy4SERQUERIuGwYLBgULBQECARgKEQcGCAgGBxEKChEHBggIBgcRCgAABQAAAAACAAHgACwAQABaAG4AiwAAAR4BFx4BFw4BBw4BIyImJy4BJzceARcyFjMyNjc+ATc+ATc+ATcuAScuASc3ByImIy4BJzceARcUFhUUBgcOASMTIwcuAScuASMiBgcOAQceARceARcHFTMBNQUyFhceARcHLgEnLgE1NDY3PgEzBz4BNz4BNz4BNw4BBw4BFRQWFx4BFwcuAScuAScBpA4bCwwUCBI1ISFNKgwXCwsWCycHDAYHDQYRIRAQHg4MFAoJEQcHEAkJFAsjpAQJBAQIBJ0BAQEBFBESLhvgG24KFQsLFwsqTSEhNRIIFAsLGg9bGwHF/vAJEAYHCAE2CQ8FBgYIBgcRCpkHEQkKFAwBAwICAwEBAQQDAwoGHQoUCQgQBwFMCxgNDh4QJDsVFRcCAgIFBCcCAgEBBQQFDgkHEQkKFQsLFAkKEAcjyQEBAQGdBAgEBAkEGy4SERQBXW4EBQECAhcVFTskEB4NDRgLWhsBxRudBgYFDwk2AQgHBhAJChEHBghjCxUKCREHAQIBBQsFBgsGCxUKChIIHQcQCQkUCwAAAAAGAAD/4AIAAeAABAAJAA4AJwBAAFkAABMhFSE1FSEVITUVIRUhNQM0Njc+ATMyFhceARUUBgcOASMiJicuATUVNDY3PgEzMhYXHgEVFAYHDgEjIiYnLgE1FTQ2Nz4BMzIWFx4BFRQGBw4BIyImJy4BNcABQP7AAUD+wAFA/sDACgkIGA0NGAgJCgoJCBgNDRgICQoKCQgYDQ0YCAkKCgkIGA0NGAgJCgoJCBgNDRgICQoKCQgYDQ0YCAkKAcBAQMBAQMBAQAFgDRgICQoKCQgYDQ0YCAkKCgkIGA3ADRgICQoKCQgYDQ0YCAkKCgkIGA3ADRgICQoKCQgYDQ0YCAkKCgkIGA0AAAADAAD/4AIAAeAAHAAmADgAAAEhIgYHDgEVERQWFx4BMyEyNjc+ATURNCYnLgEjFTIWFwcnPgEzIQEwIjE3JwcRFzcRJwcXKgExIQGr/qoRHwwMDQ0MDB8RAVYRHwwMDQ0MDB8RAwUDtrYDBQMBVv6qAnAOdcDAdQ5xAQL+qgHgDQwMHxH+qhEfDAwNDQwMHxEBVhEfDAwNQAIBlpYBAv6AnQ50ATHo6P7PdA6dAAAAAAIAAP/gAgAB4AAYAO4AAAEiBgcOARUUFhceATMyNjc+ATU0JicuASMTDgEHDgEHDgEHNTQmJy4BJz4BNz4BNz4BNz4BNz4BNz4BNzQ2NTY0NTQmJy4BJz4BNTQmLwEmBgcOAQcOAQcuAScuASMiBgcOAQcuAScuAScuASMqASMqATEOAQcUFhcOAQcOARUUFhUUFhceARceARceARceARceARceATMOAQcOAR0BLgEnLgEnLgEnLgEnLgEnLgEnLgE1NDY3PgE3PgE3PgE3PgE3PgE3PgE3PgEzMhYXHgEXHgEXHgEXHgEXHgEXHgEXHgEVFAYHDgEHDgEHDgEHAQA1XSMjKCgjI101NV0jIygoIyNdNZgHEAkJEgkFCgUDAgMIBQcMBQUMBgYLBQUJBAUHAwMFAgIBAwMDCgYDAgQEBgMMCAQJBQUKBQgPBwgQCAgQBwgPBwcNBgUKBAMHAwMEAQEBBAMBAgMGCQQDAwECAQEFAwMIBAQKBAULBgYMBQYMBgUIAgMCBgsGCRIJCRAHBw4FBgoEBAcCAgICAgIHBAQKBgUOBwcQCQkSCQoVCgsVCwsVCwoVCgkSCQkQBwcOBQYKBAQHAgICAgICBwQECgYFDgcB4CgjI101NV0jIygoIyNdNTVdIyMo/mgHDgUGCgQCBAEmCA0FBgkDAQIBAQMCAwUDAwcFBQoGBg4JBAkEBQkFChIICA8HCA8JCBEIAQEDAwIEAwIGBAIDAQEBAQEBAwIFBwMDBAEBAgkRCQgPCAcPCAgSCgUJBQQJBAkOBgYKBQUHAwMFAgMDAQECBAkGBQ0IJwIEAgQKBgUOBwcQCQkSCQoVCgsVCwsVCwoVCgkSCQkQBwcOBQYKBAQHAgICAgICBwQECgYFDgcHEAkJEgkKFQoLFQsLFQsKFQoJEgkJEAcAAAYAAP/gAgAB4AANAFgAagCBAJoAswAANxQWFx4BFycOAQcOARUlNCYnLgEnLgEnLgE1NDY3PgEzOgEzLgEnLgEjIgYHDgEHMhYzMjYxMhYHMAYjFzcnIiYxJjYzMBYzMjYxMhYHMAYjFzc+ATc+ATUPAR4BFx4BMzI2Nz4BNyI0LwE3HgEVFAYHDgEPAT4BNz4BNTQmJy4BJyciBgcOARUUFhceATMyNjc+ATU0JicuASMRIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjQBAODigYWwQHAgICAUIDAwIFAwQHAgMDBQQEDAcBAQENHhARIxMZLxQVIwwDBgMPJAgBCA0JRioeBw0IAgclDg8kCAEIDQlGEwMFAgIDfzkGDQcHDgcIEQgIDwgBATulAQECAQIGBDoVIw0MDgMDAwkGqDVdIyMoKCMjXTU1XSMjKCgjI101LlIeHyMjHx5SLi5SHh8jIx8eUi7gHDMWFSML9AkSCQoUCgkJDwYHCgUGCwUFCwYGDAUFBQsTBgYHDAsLHxMBAw8BAct7UAEBDwMDDwEByT4KEQcHDQYZowIDAQEBAQIBBAMBAZ5qBQkGBw8ICBIKpg0iFBUwGgwYCwsWCqYoIyNdNTVdIyMoKCMjXTU1XSMjKP4gIx8eUi4uUh4fIyMfHlIuLlIeHyMAAAAEAAD/4AIAAeAAHAAhADoAWwAAASEiBgcOARURFBYXHgEzITI2Nz4BNRE0JicuASMDIzUzFQMiJicuATU0Njc+ATMyFhceARUUBgcOASMBIzU0JicuASMiBgcOAR0BIzUzFT4BNz4BMzIWFx4BHQEBqv6sEh8MCw4OCwwfEgFUEh8MCw4OCwwfEupAQCAHCwUEBQUEBQsHBwsFBAUFBAULBwEAQAUEBQsHBwsFBAVAQAUMBwgQCA8aCgoLAeAOCwwfEv6sEh8MCw4OCwwfEgFUEh8MCw7+YODgAQAFBAULBwcLBQQFBQQFCwcHCwUEBf8AgAcLBQQFBQQFCweA4CgHDgYGBw0KCx0RkAAAAgAA/+ACAAHgADkAcwAAAScuASMiBg8BDgEVFBYfAR4BFzcuAS8BLgE1NDY/AT4BMzIWHwEeARUUBg8BHgEXHgEHNz4BNTQmJwcuAScHHgEfAR4BFRQGDwEOASMiJi8BLgE1NDY/AS4BJy4BNwcOARUUFh8BHgEzMjY/AT4BNTQmLwEB3QISLRcXLRFuERISEQIDBwMoBAYDAgoJCQptCRkMDRgJAgoKCgoxAwUCAQIBTRESEhGhAwcDKAQGAwIKCQkKbQkZDA0YCQIKCgoKMQMFAgECAU0REhIRAhItFxctEW4REhIRAgG7AhESEhFtEi0XFy0SAgIGAigCBQMCCRgNDRgJbQoKCgoCCRgNDBkJMggQCAkQCU0RLRcXLRKdAgYCKAIFAwIJGA0NGAltCgoKCgIJGA0MGQkyCBAICBEJTREtFxctEgIREhIRbRItFxctEgIAAAABAAAAAAG3AbcATAAANzU0NzYfATcnBwYjIicmPQE0NzY7ATIXFg8BFzcnJjc2OwEyFxYdARQHBiMiLwEHFzc2FxYdARQHBisBIicmPwEnBxcWBwYrASInJjUACwwIKWZmKQUIAwQLBQYHgAwFBQkpZWYpCQUFDIAHBQYLBAMIBSlmZikIDAsGBQeADAUFCSlmZSkJBQUMgAcGBRKADAUFCSllZikGAgUMgAcFBgwLCClmZikICwwGBQeADAUCBilmZSkJBQUMgAcGBQsMCClmZikIDAsFBgcAAAAAAQAAAAEAAGJNpXZfDzz1AAsCAAAAAADQjWedAAAAANCNZ50AAP/gAgAB4AAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAEAAAACAAAzAgAAbQIAAJoCAABNAgAAswIAAM0CAAAgAgAAAAIAAAACAAAAAgAAQAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAAAAAAACgAUAB4AMgBMAF4AfACKAJgAsgD6ATgBsAI+Au4DxARIBKAF/Ab6B4AILAiaAAAAAQAAABgA7wAHAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABABYAAAABAAAAAAACAA4AYwABAAAAAAADABYALAABAAAAAAAEABYAcQABAAAAAAAFABYAFgABAAAAAAAGAAsAQgABAAAAAAAKADQAhwADAAEECQABABYAAAADAAEECQACAA4AYwADAAEECQADABYALAADAAEECQAEABYAcQADAAEECQAFABYAFgADAAEECQAGABYATQADAAEECQAKADQAhwBuAGUAcwB0AGUAZABwAGEAZwBlAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwAG4AZQBzAHQAZQBkAHAAYQBnAGUAc25lc3RlZHBhZ2VzAG4AZQBzAHQAZQBkAHAAYQBnAGUAcwBSAGUAZwB1AGwAYQByAG4AZQBzAHQAZQBkAHAAYQBnAGUAcwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');font-weight:normal;font-style:normal;}[class^="np-icon-"],[class*=" np-icon-"]{font-family:'nestedpages';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.np-icon-no:before{content:"\e601";}.np-icon-yes:before{content:"\e602";}.np-icon-menu:before{content:"\e603";}.np-icon-arrow-down:before{content:"\e604";}.np-icon-arrow-right:before{content:"\e605";}.np-icon-sub-menu:before{content:"\e600";}.np-icon-arrows-alt:before{content:"\f0b2";}.np-icon-pencil:before{content:"\e608";}.np-icon-bubble:before{content:"\e607";}.np-icon-lock:before{content:"\e609";}.np-icon-remove:before{content:"\e60a";}.np-icon-list:before{content:"\e60d";}.np-icon-menu2:before{content:"\e606";}.np-icon-link:before{content:"\e612";}.np-icon-eye:before{content:"\e60b";}.np-icon-eye-blocked:before{content:"\e60c";}.np-icon-mail:before{content:"\e60e";}.np-icon-github:before{content:"\e60f";}.np-icon-wordpress:before{content:"\e610";}.np-icon-linkedin:before{content:"\e611";}.np-btn,.np-toggle-edit{text-decoration:none;color:#555;display:inline-block;background-color:#f7f7f7;border:1px solid #e1e1e1;padding:3px 8px;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0, 0, 0, 0.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0, 0, 0, 0.08);-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;}.np-btn:hover,.np-toggle-edit:hover{background-color:#0074a2;color:#ffffff;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25),0 1px 0 rgba(0, 0, 0, 0.08);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.25),0 1px 0 rgba(0, 0, 0, 0.08);border-color:#0074a2;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;}.np-btn-half{float:left;width:47%;padding:3px 0px;text-align:center;}.np-btn-half.btn-right{float:right;}.np-btn-trash{background-color:#e14d43;border-color:#e14d43;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.3),0 1px 0 rgba(0, 0, 0, 0.08);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.3),0 1px 0 rgba(0, 0, 0, 0.08);color:#ffffff;}.np-btn-trash:hover{background-color:#ba251e;border-color:#ba251e;}.np-toggle-edit{display:none;float:right;margin-right:10px;}.np-toggle-edit.active{background-color:#0074a2;color:#ffffff;-webkit-box-shadow:none;box-shadow:none;border-color:#0074a2;}@media (max-width: 767px){.np-toggle-edit{display:inline-block;}}.np-quickedit-error{border-left:4px solid #dd3d36;padding:4px 0 4px 8px;margin-bottom:10px;background-color:#f9f9f9;}.modal-open{overflow:hidden;}.np-modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;-webkit-overflow-scrolling:touch;outline:0;}.np-modal .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;opacity:0.85;z-index:9999;}.np-modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out;}.np-modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0);}.np-modal .modal-open .modal{overflow-x:hidden;overflow-y:auto;}.np-modal .modal-dialog{position:relative;width:90%;height:80%;margin:10px auto 0px auto;max-width:800px;z-index:9999;}.np-modal .modal-content{position:relative;background-color:#ffffff;-webkit-box-shadow:0 3px 9px rgba(0, 0, 0, 0.5);box-shadow:0 3px 9px rgba(0, 0, 0, 0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0;}.np-modal .modal-header{padding:8px;background-color:#ebebeb;}.np-modal .modal-header .sr-only{display:none;}.np-modal .modal-header .close{margin-top:-2px;}.np-modal .modal-title{margin:0;}.np-modal .modal-body{position:relative;padding:10px;}.np-modal .modal-body.new-child{padding:0;}.np-modal .modal-footer{padding:10px;text-align:right;background-color:#404040;zoom:1;}.np-modal .modal-footer:before,.np-modal .modal-footer:after{content:" ";display:table;}.np-modal .modal-footer:after{clear:both;}.np-modal .modal-footer .modal-close{float:left;}.np-modal .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll;}.clone-modal h3{margin:0;padding:8px;background-color:#e5e5e5;}.clone-modal .form-control{margin:0 !important;padding:5px 10px;}.np-trash-modal{text-align:center;}.np-trash-modal .modal-body{padding-bottom:30px;}.np-trash-modal .button-primary{margin-left:10px;}.np-inline-overlay{position:fixed;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.4);z-index:998;top:0;right:0;bottom:0;left:0;opacity:0;-webkit-transition:opacity 200ms ease;-o-transition:opacity 200ms ease;transition:opacity 200ms ease;}.np-inline-overlay.active{opacity:1;-webkit-transition:opacity 200ms ease;-o-transition:opacity 200ms ease;transition:opacity 200ms ease;}.np-inline-modal{position:relative;z-index:999;background-color:#ffffff;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0px 0px 4px 0px rgba(0, 0, 0, 0.5);box-shadow:0px 0px 4px 0px rgba(0, 0, 0, 0.5);}.nestedpages-listing-title{float:left;}.nestedpages .updated{clear:both;}.nestedpages-toggleall{float:right;}.np-toggle-publish{color:#999999;}.np-toggle-publish.active{color:#333;font-weight:bold;}.np-sync-menu-cont{float:right;margin:5px 15px 0px 0px;}#nested-loading{display:none;float:right;width:30px;margin:0px 20px 0 0;}.nestedpages-top-toggles{zoom:1;padding-top:10px;}.nestedpages-top-toggles:before,.nestedpages-top-toggles:after{content:" ";display:table;}.nestedpages-top-toggles:after{clear:both;}.np-tabs{background-color:#ebebeb;padding:0px;}.np-tabs ul{text-align:left;list-style-type:none;margin:0;padding:0;}.np-tabs ul li{display:inline-block;margin:0;}.np-tabs ul li a{display:block;text-decoration:none;padding:5px 10px;}.np-tabs ul li a.active{position:relative;color:#333;background-color:#ffffff;}.np-tabs ul li a:focus,.np-tabs ul li a:active{outline:none;-webkit-box-shadow:none;box-shadow:none;}.nestedpages-datepicker.ui-datepicker{background-color:#ffffff;font-size:90%;-webkit-box-shadow:0px 0px 3px 0px rgba(0, 0, 0, 0.4);box-shadow:0px 0px 3px 0px rgba(0, 0, 0, 0.4);-webkit-border-radius:3px;border-radius:3px;padding:0;width:auto;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-next,.nestedpages-datepicker.ui-datepicker .ui-datepicker-prev{position:absolute;color:#ffffff;top:0px;right:0px;cursor:pointer;display:block;width:35px;height:35px;font-size:0;background:url('../images/datepicker-arrow-next.png');background-position:center;opacity:1;-webkit-transition:opacity 200ms ease;-o-transition:opacity 200ms ease;transition:opacity 200ms ease;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-next:hover,.nestedpages-datepicker.ui-datepicker .ui-datepicker-prev:hover{opacity:0.5;-webkit-transition:opacity 200ms ease;-o-transition:opacity 200ms ease;transition:opacity 200ms ease;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar{margin:0;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-prev{right:auto;left:0px;background:url('../images/datepicker-arrow-prev.png');}.nestedpages-datepicker.ui-datepicker .ui-datepicker-header{padding:0;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-title{background-color:#1a1a1a;text-align:center;color:#ffffff;height:35px;line-height:35px;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;margin:0;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar{border-collapse:collapse;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar table{width:auto;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar th,.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar td{text-align:center;width:30px;height:30px;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar th{background-color:#e6e6e6;text-transform:uppercase;font-size:11px;letter-spacing:1px;padding:0;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar td{border-top:1px solid #ebebeb;border-left:1px solid #ebebeb;padding:0;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar td:first-child{border-left:0;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar a{text-align:center;padding:0;text-decoration:none;color:#333;display:block;background-color:#ffffff;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;width:30px;height:30px;line-height:30px;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar a.ui-state-active{background-color:#1a1a1a;color:#ffffff;}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar a:hover{background-color:#333;color:#ffffff;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;}.nestedpages-tools{zoom:1;clear:both;clear:both;margin:20px 0px 5px 0px;}.nestedpages-tools:before,.nestedpages-tools:after{content:" ";display:table;}.nestedpages-tools:after{clear:both;}.nestedpages-tools .subsubsub{margin:0;}.nestedpages-tools .np-tools-primary{clear:left;padding-top:8px;}.nestedpages-tools .select{float:left;margin-left:5px;}.nestedpages-tools .select.first{margin-left:0;}.nestedpages-tools .np-tools-sort{float:left;}.nestedpages-tools .np-tools-search{float:right;}.wppages-handle-expand{float:left;background-color:#f2f2f2;font-size:18px;width:46px;height:46px;margin-right:5px;text-align:center;border-right:1px solid #e1e1e1;}.wppages-handle-expand div{background-color:#ffffff;border:1px solid #e1e1e1;width:24px;height:24px;line-height:24px;-webkit-border-radius:15px;border-radius:15px;margin-top:9px;cursor:pointer;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;}.wppages-handle-expand div:hover{background-color:#0074a2;border-color:#0074a2;color:#ffffff;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;}.nestedpages{clear:both;-webkit-border-radius:4px;border-radius:4px;}.nestedpages .ui-sortable-placeholder{display:block !important;position:relative;min-height:46px;border:0;border:1px dashed #0074a2 !important;background-color:#effaff;margin:0;}.nestedpages .ui-sortable-helper{opacity:0.8;-webkit-box-shadow:2px 2px 3px 0px rgba(0, 0, 0, 0.5);box-shadow:2px 2px 3px 0px rgba(0, 0, 0, 0.5);}.nestedpages ol{list-style-type:none;clear:both;margin:0;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.06);box-shadow:0 1px 1px rgba(0, 0, 0, 0.06);border:1px solid #e5e5e5;-webkit-border-radius:3px;border-radius:3px;}.nestedpages ol a{text-decoration:none;}.nestedpages ol .page-link{line-height:26px;}.nestedpages ol .page-link .edit-indicator{margin-left:10px;display:none;}.nestedpages ol .page-link .edit-indicator i{font-size:12px;margin-right:3px;}.nestedpages ol .page-link:hover .edit-indicator{display:inline-block;}.nestedpages ol .np-page-type{color:#333;}.nestedpages ol .locked{color:#333;margin-left:20px;}.nestedpages ol .locked em{font-style:normal;}.nestedpages ol .status{color:#999999;margin:0px 10px;}.nestedpages ol .np-icon-eye-blocked{color:#999999;}.nestedpages ol .nav-status{color:#b3b3b3;}.nestedpages ol .np-hide{display:none;}.nestedpages ol .np-seo-indicator{display:block;float:right;width:12px;height:12px;-webkit-border-radius:50%;border-radius:50%;background-color:#999999;margin:6px 10px 0 0;}.nestedpages ol .np-seo-indicator.good{background-color:#7ad03a;}.nestedpages ol .np-seo-indicator.ok{background-color:#ffba00;}.nestedpages ol .np-seo-indicator.poor{background-color:#ee7c1b;}.nestedpages ol .np-seo-indicator.bad{background-color:#dd3d36;}.nestedpages ol .np-seo-indicator.warn{background-color:maroon;}.nestedpages ol .np-seo-indicator.wrong{background-color:red;}.nestedpages ol .np-seo-indicator.noindex{background-color:#1e8cbe;}.nestedpages ol li{margin:0;border-top:1px solid #e1e1e1;background-color:#0074a2;}.nestedpages ol li.first{border:0;}.nestedpages ol li:first-child{border:0;}.nestedpages ol li.no-border{border:0;}.nestedpages ol ol{display:none;-webkit-border-radius:0;border-radius:0;list-style-type:none;border:0;-webkit-box-shadow:none;box-shadow:none;border-top:1px solid #e1e1e1;}.nestedpages .child-toggle{float:left;margin:0px 10px 0 0;width:46px;height:46px;background-color:#f0f0f0;text-align:center;}.nestedpages .child-toggle a{display:inline-block;margin-top:7px;width:28px;height:28px;background-color:#ffffff;border:1px solid #e1e1e1;-webkit-border-radius:20px;border-radius:20px;font-size:20px;line-height:30px;color:#333;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;}.nestedpages .child-toggle a i{line-height:26px;}.nestedpages .child-toggle a:hover{background-color:#0074a2;color:#ffffff;border-color:#0074a2;}.nestedpages .handle{display:inline-block;cursor:move;font-size:20px;color:#b3b3b3;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;position:relative;top:3px;}.nestedpages .handle:hover{-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;color:#0074a2;}.nestedpages .np-icon-sub-menu{display:none;color:#999999;position:relative;left:2px;}.nestedpages .handle,.nestedpages .np-icon-sub-menu{width:30px;line-height:36px;margin-top:-10px;}.nestedpages li ol .row .np-icon-sub-menu{display:inline-block;}.nestedpages li ol .row .handle{display:none;}.nestedpages li ol .row:hover .np-icon-sub-menu{display:none;}.nestedpages li ol .row:hover .handle{display:inline-block;}.nestedpages .row{background-color:#ffffff;display:block;zoom:1;}.nestedpages .row:before,.nestedpages .row:after{content:" ";display:table;}.nestedpages .row:after{clear:both;}.nestedpages .row:hover{background-color:#f0f0f0;}.nestedpages .row.np-updated{background-color:#e9f7df;-webkit-transition:background-color 400ms ease;-o-transition:background-color 400ms ease;transition:background-color 400ms ease;}.nestedpages .row.np-updated-show{background-color:#ffffff;-webkit-transition:background-color 400ms ease;-o-transition:background-color 400ms ease;transition:background-color 400ms ease;}.nestedpages .row.non-hierarchical{padding-left:15px;padding-bottom:10px;}.nestedpages .row-inner{padding-top:10px;}.nestedpages ol li ol .row-inner{padding-left:76px;}.nestedpages ol li ol li ol .row-inner{padding-left:96px;}.nestedpages ol li ol li ol li ol .row-inner{padding-left:116px;}.nestedpages ol li ol li ol li ol li ol .row-inner{padding-left:136px;}.nestedpages ol li ol li ol li ol li ol li ol .row-inner{padding-left:156px;}.nestedpages .np-post-columns{float:right;margin:3px 20px 0px 0px;zoom:1;}.nestedpages .np-post-columns:before,.nestedpages .np-post-columns:after{content:" ";display:table;}.nestedpages .np-post-columns:after{clear:both;}.nestedpages .np-post-columns ul li{background:transparent;color:#808080;border:0;float:left;margin-left:8px;padding-left:8px;border-left:1px solid #cccccc;}.nestedpages .np-post-columns ul li:first-child{margin-left:0;padding-left:0;border:0;}.nestedpages .action-buttons{display:none;float:right;margin:0 10px 0 0;}.nestedpages .action-buttons a{margin:0 0 0 -5px;}.nestedpages .action-buttons a.np-btn-trash{margin-left:4px;}.np-search{float:right;}@media (min-width: 768px){.nestedpages .row:hover .action-buttons{display:block;}.nestedpages .row:hover .np-post-columns{display:none;}}@media (max-width: 767px){.nestedpages ol .page-link{line-height:24px;}.nestedpages ol .page-link:hover span{display:none;}.nestedpages ol .locked em{display:none;}.nestedpages .child-toggle{background:transparent;}.nestedpages .row{height:auto;}.nestedpages .action-buttons{display:none;background-color:#0074a2;float:none;margin:0;padding:8px;}.nestedpages .action-buttons a{margin-left:5px;}}.nestedpages .quick-edit .form-interior,.nestedpages .new-child .form-interior{padding:10px;}.nestedpages .quick-edit h3,.nestedpages .new-child h3{margin:0 0 8px 0;font-size:14px;}.nestedpages .quick-edit h3 span,.nestedpages .new-child h3 span{float:right;font-size:12px;}.nestedpages .quick-edit h3 span em,.nestedpages .new-child h3 span em{font-weight:normal;font-style:normal;color:#808080;}.nestedpages .quick-edit .fields,.nestedpages .new-child .fields{margin-bottom:10px;background:url('../images/border.png') repeat-y;background-position:center;zoom:1;}.nestedpages .quick-edit .fields:before,.nestedpages .quick-edit .fields:after,.nestedpages .new-child .fields:before,.nestedpages .new-child .fields:after{content:" ";display:table;}.nestedpages .quick-edit .fields:after,.nestedpages .new-child .fields:after{clear:both;}.nestedpages .quick-edit .left,.nestedpages .new-child .left{float:left;width:48%;}.nestedpages .quick-edit .right,.nestedpages .new-child .right{float:right;width:48%;}.nestedpages .quick-edit label,.nestedpages .new-child label{font-style:oblique;}.nestedpages .quick-edit .buttons,.nestedpages .new-child .buttons{clear:both;zoom:1;background-color:#404040;padding:8px;}.nestedpages .quick-edit .buttons:before,.nestedpages .quick-edit .buttons:after,.nestedpages .new-child .buttons:before,.nestedpages .new-child .buttons:after{content:" ";display:table;}.nestedpages .quick-edit .buttons:after,.nestedpages .new-child .buttons:after{clear:both;}.nestedpages .quick-edit .form-control,.nestedpages .new-child .form-control{clear:both;zoom:1;margin-bottom:5px;}.nestedpages .quick-edit .form-control:before,.nestedpages .quick-edit .form-control:after,.nestedpages .new-child .form-control:before,.nestedpages .new-child .form-control:after{content:" ";display:table;}.nestedpages .quick-edit .form-control:after,.nestedpages .new-child .form-control:after{clear:both;}.nestedpages .quick-edit .form-control input[type='text'],.nestedpages .quick-edit .form-control input[type='password'],.nestedpages .quick-edit .form-control select,.nestedpages .new-child .form-control input[type='text'],.nestedpages .new-child .form-control input[type='password'],.nestedpages .new-child .form-control select{float:right;width:75%;}.nestedpages .quick-edit .form-control label,.nestedpages .new-child .form-control label{float:left;width:20%;}.nestedpages .quick-edit .form-control.original-link,.nestedpages .new-child .form-control.original-link{background-color:#f9f9f9;border:1px solid #e1e1e1;padding:5px;font-style:oblique;margin-bottom:8px;}.nestedpages .quick-edit .form-control.password label,.nestedpages .new-child .form-control.password label{width:25%;}.nestedpages .quick-edit .form-control.password input[type="text"],.nestedpages .new-child .form-control.password input[type="text"]{float:left;width:35%;}.nestedpages .quick-edit .form-control.password .private,.nestedpages .new-child .form-control.password .private{float:right;width:35%;margin-top:4px;}.nestedpages .quick-edit .form-control.password .private label,.nestedpages .new-child .form-control.password .private label{width:auto;float:none;}.nestedpages .quick-edit .form-control.np-datepicker-container .datetime,.nestedpages .new-child .form-control.np-datepicker-container .datetime{float:right;width:75%;}.nestedpages .quick-edit .form-control.np-datepicker-container .np-time-container,.nestedpages .new-child .form-control.np-datepicker-container .np-time-container{float:left;width:45%;margin:0;position:relative;}.nestedpages .quick-edit .form-control.np-datepicker-container .np-time-container input[type="text"],.nestedpages .new-child .form-control.np-datepicker-container .np-time-container input[type="text"]{float:left;width:55%;}.nestedpages .quick-edit .form-control.np-datepicker-container .np-time-container select,.nestedpages .new-child .form-control.np-datepicker-container .np-time-container select{float:right;width:35%;}.nestedpages .quick-edit .form-control.np-datepicker-container .np_datepicker,.nestedpages .new-child .form-control.np-datepicker-container .np_datepicker{float:left;width:45%;margin:0;}.nestedpages .quick-edit .form-control.np-datepicker-container span,.nestedpages .new-child .form-control.np-datepicker-container span{float:left;width:10%;display:block;text-align:center;padding-top:3px;}.nestedpages .quick-edit .comments,.nestedpages .new-child .comments{float:right;width:75%;margin-bottom:10px;zoom:1;}.nestedpages .quick-edit .comments:before,.nestedpages .quick-edit .comments:after,.nestedpages .new-child .comments:before,.nestedpages .new-child .comments:after{content:" ";display:table;}.nestedpages .quick-edit .comments:after,.nestedpages .new-child .comments:after{clear:both;}.nestedpages .quick-edit .dates,.nestedpages .new-child .dates{float:right;width:75%;margin-bottom:6px;}.nestedpages .quick-edit .dates select,.nestedpages .new-child .dates select{width:25%;}.nestedpages .quick-edit .dates input,.nestedpages .new-child .dates input{width:12%;}.nestedpages .quick-edit .np-toggle-options,.nestedpages .new-child .np-toggle-options{background-color:#f2f2f2;padding:5px;}.nestedpages .quick-edit .np-taxonomies,.nestedpages .quick-edit .np-menuoptions,.nestedpages .new-child .np-taxonomies,.nestedpages .new-child .np-menuoptions{display:none;clear:both;background-color:#f9f9f9;padding:8px;zoom:1;margin-top:5px;}.nestedpages .quick-edit .np-taxonomies:before,.nestedpages .quick-edit .np-taxonomies:after,.nestedpages .quick-edit .np-menuoptions:before,.nestedpages .quick-edit .np-menuoptions:after,.nestedpages .new-child .np-taxonomies:before,.nestedpages .new-child .np-taxonomies:after,.nestedpages .new-child .np-menuoptions:before,.nestedpages .new-child .np-menuoptions:after{content:" ";display:table;}.nestedpages .quick-edit .np-taxonomies:after,.nestedpages .quick-edit .np-menuoptions:after,.nestedpages .new-child .np-taxonomies:after,.nestedpages .new-child .np-menuoptions:after{clear:both;}.nestedpages .quick-edit .np-taxonomy,.nestedpages .new-child .np-taxonomy{float:left;width:30%;margin-right:3.33%;}.nestedpages .quick-edit .np-taxonomy .title,.nestedpages .new-child .np-taxonomy .title{font-weight:bold;margin-bottom:4px;display:block;}.nestedpages .quick-edit .np-taxonomy li,.nestedpages .new-child .np-taxonomy li{background-color:#ffffff;border:0;}.nestedpages .quick-edit .np-taxonomy textarea,.nestedpages .new-child .np-taxonomy textarea{width:100%;height:6.5em;}.nestedpages .quick-edit .np-menuoptions,.nestedpages .new-child .np-menuoptions{padding:15px;}.nestedpages .quick-edit .np-menuoptions label,.nestedpages .quick-edit .np-menuoptions input[type="text"],.nestedpages .new-child .np-menuoptions label,.nestedpages .new-child .np-menuoptions input[type="text"]{display:block;float:none;width:100%;}.nestedpages .quick-edit .np-menuoptions .menuoptions-left,.nestedpages .new-child .np-menuoptions .menuoptions-left{float:left;width:47%;}.nestedpages .quick-edit .np-menuoptions .menuoptions-right,.nestedpages .new-child .np-menuoptions .menuoptions-right{float:right;width:47%;padding-top:18px;}.nestedpages .quick-edit .np-menuoptions .menuoptions-right label,.nestedpages .new-child .np-menuoptions .menuoptions-right label{margin-bottom:10px;}.nestedpages .quick-edit .np-hide-options,.nestedpages .new-child .np-hide-options{display:none;background-color:#f0f0f0;-webkit-border-radius:3px;border-radius:3px;clear:both;padding:6px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}.nestedpages .quick-edit .np-hide-options p,.nestedpages .new-child .np-hide-options p{margin:0;}.nestedpages .quick-edit .np-hide-options label,.nestedpages .new-child .np-hide-options label{display:block;margin-top:4px;font-style:normal;}.nestedpages .quick-edit .new-page-titles,.nestedpages .new-child .new-page-titles{display:block;border:0;}.nestedpages .quick-edit .new-page-titles li,.nestedpages .new-child .new-page-titles li{background:transparent;border:0;padding:4px;zoom:1;}.nestedpages .quick-edit .new-page-titles li:before,.nestedpages .quick-edit .new-page-titles li:after,.nestedpages .new-child .new-page-titles li:before,.nestedpages .new-child .new-page-titles li:after{content:" ";display:table;}.nestedpages .quick-edit .new-page-titles li:after,.nestedpages .new-child .new-page-titles li:after{clear:both;}.nestedpages .quick-edit .new-page-titles li:nth-child(even),.nestedpages .new-child .new-page-titles li:nth-child(even){background-color:#f0f0f0;}.nestedpages .quick-edit .new-page-titles li label,.nestedpages .new-child .new-page-titles li label{margin-top:7px;}.nestedpages .quick-edit .new-page-titles .form-control,.nestedpages .new-child .new-page-titles .form-control{float:right;width:90%;clear:none;}.nestedpages .quick-edit .new-page-titles .np-icon-menu,.nestedpages .new-child .new-page-titles .np-icon-menu{float:left;margin-top:0px;height:auto;line-height:26px;}.nestedpages .quick-edit .new-page-titles .new-child-row div,.nestedpages .new-child .new-page-titles .new-child-row div{float:right;width:75%;margin:2px;zoom:1;}.nestedpages .quick-edit .new-page-titles .new-child-row div:before,.nestedpages .quick-edit .new-page-titles .new-child-row div:after,.nestedpages .new-child .new-page-titles .new-child-row div:before,.nestedpages .new-child .new-page-titles .new-child-row div:after{content:" ";display:table;}.nestedpages .quick-edit .new-page-titles .new-child-row div:after,.nestedpages .new-child .new-page-titles .new-child-row div:after{clear:both;}.nestedpages .quick-edit .new-page-titles .new-child-row div input[type='text'],.nestedpages .new-child .new-page-titles .new-child-row div input[type='text']{float:left;width:80%;}.nestedpages .quick-edit .new-page-titles .new-child-row div a,.nestedpages .new-child .new-page-titles .new-child-row div a{float:right;}.np-modal.nestedpages .new-child .right .form-control input[type='text'],.np-modal.nestedpages .new-child .right .form-control input[type='password'],.np-modal.nestedpages .new-child .right .form-control select{float:none;width:100%;}.np-modal.nestedpages .new-child .right .form-control label{float:none;width:100%;}.np-modal.nestedpages .new-child .new-page-titles .form-control{width:85%;}.np-modal.nestedpages .new-child .new-page-titles .form-control div{width:100%;}.np-modal.nestedpages .new-child .left label{display:none;}.np-qe-loading{display:none;float:right;width:25px;height:25px;margin:2px 10px 0 0;background:url('../images/loading-white.gif') no-repeat;}@media (max-width: 767px){.nestedpages .quick-edit .fields{background:transparent;}.nestedpages .quick-edit .left,.nestedpages .quick-edit .right{float:none;width:100%;}.nestedpages .quick-edit .form-control{margin-bottom:10px;}.nestedpages .quick-edit .form-control input[type='text'],.nestedpages .quick-edit .form-control input[type='password'],.nestedpages .quick-edit .form-control select{float:none;width:100%;}.nestedpages .quick-edit .form-control label{display:block;float:none;width:100%;margin-bottom:4px;}.nestedpages .quick-edit .form-control.np-datepicker-container .datetime{float:none;width:100%;}.nestedpages .quick-edit .comments{float:none;width:100%;}.nestedpages .quick-edit .dates{float:none;width:100%;margin-bottom:6px;}}.np-modal-form .form-interior{zoom:1;background:url('../images/border.png') repeat-y;background-position:center;padding:5px 0;}.np-modal-form .form-interior:before,.np-modal-form .form-interior:after{content:" ";display:table;}.np-modal-form .form-interior:after{clear:both;}.np-modal-form .form-control{zoom:1;margin-bottom:10px;}.np-modal-form .form-control:before,.np-modal-form .form-control:after{content:" ";display:table;}.np-modal-form .form-control:after{clear:both;}.np-modal-form .checkbox{margin-bottom:10px;}.np-modal-form .left{float:left;width:45%;}.np-modal-form .right{float:right;width:45%;padding-top:18px;}.np-modal-form label{display:block;}.np-modal-form input[type="text"],.np-modal-form select{width:100%;}.np-modal-form .buttons{clear:both;}.modal-body.np-menu-item-form{height:400px;padding:0;border-top:1px solid #e1e1e1;}.np-menu-type-selection{float:left;height:100%;overflow:auto;width:35%;padding:15px;background-color:#f9f9f9;border-right:1px solid #e1e1e1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}.np-menu-type-selection ul{list-style-type:none;margin:0;padding:0;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.06);box-shadow:0 1px 1px rgba(0, 0, 0, 0.06);border:1px solid #e5e5e5;-webkit-border-radius:3px;border-radius:3px;border:0;}.np-menu-type-selection ul li{margin:0;border:1px solid #e5e5e5;border-top:0;}.np-menu-type-selection ul li a{background-color:#ffffff;display:block;text-decoration:none;padding:15px 10px;position:relative;color:#333333;font-weight:bold;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;}.np-menu-type-selection ul li a:hover{background-color:#ebebeb;-webkit-transition:all 200ms ease;-o-transition:all 200ms ease;transition:all 200ms ease;}.np-menu-type-selection ul li a:after{position:absolute;font-family:"dashicons";content:"\f140";font-size:18px;right:10px;top:15px;color:#808080;}.np-menu-type-selection ul li a.active:after{content:"\f142";}.np-menu-type-selection ul li a.np-custom-link:after{content:"\f139";}.np-menu-type-selection ul li a.np-custom-link.active{background-color:#0074a2;color:#ffffff;}.np-menu-type-selection ul li a.np-custom-link.active:after{content:"\f335";color:#ffffff;}.np-menu-type-selection ul li a:active,.np-menu-type-selection ul li a:focus{-webkit-box-shadow:none;box-shadow:none;}.np-menu-type-selection ul li a.no-terms{color:#b3b3b3;}.np-menu-type-selection ul li a.no-terms span{float:right;font-weight:normal;font-style:oblique;}.np-menu-type-selection ul li a.no-terms:after{content:'';}.np-menu-type-selection ul li a.no-terms:hover{background-color:#ffffff;cursor:default;}.np-menu-type-selection ul li a.no-terms.section{padding:8px 10px;background-color:#333;color:#ffffff;}.np-menu-type-selection ul li:first-child{border-top:1px solid #e5e5e5;}.np-menu-type-selection ul li ul{display:none;-webkit-box-shadow:none;box-shadow:none;padding:10px;background-color:#ffffff;}.np-menu-type-selection ul li ul li{border-color:#e0e0e0;}.np-menu-type-selection ul li ul li a{padding:8px;background-color:#f9f9f9;font-weight:normal;}.np-menu-type-selection ul li ul li a:after{content:"\f139";top:8px;right:5px;}.np-menu-type-selection ul li ul li a.active{background-color:#0074a2;color:#ffffff;}.np-menu-type-selection ul li ul li a.active:after{content:"\f335";color:#ffffff;}.np-menu-link-object{width:65%;float:right;height:100%;overflow:auto;}.np-menu-link-object-placeholder{text-align:center;position:relative;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);color:#b3b3b3;}.np-menu-search{padding:10px;background-color:#f9f9f9;}.np-menu-search input[type="text"]{width:100%;height:35px;}.np-menu-search .np-menu-search-loading{display:none;height:30px;background:url('../images/spinner.gif') no-repeat;background-position:center;}.np-menu-search .np-menu-search-noresults{display:none;text-align:center;padding-top:8px;font-style:oblique;}.np-menu-link-details{padding:20px;}.np-menu-link-details h3{margin-top:0;}.np-menu-link-details h3 em{float:right;font-size:13px;font-weight:normal;font-style:normal;color:#808080;}.np-menu-link-details .original-link{border:1px solid #e5e5e5;font-size:12px;margin-bottom:15px;padding:5px;font-style:oblique;}.np-menu-link-details .fields{background-color:#f9f9f9;padding:15px;}.np-menu-link-details p{margin-top:0;}.np-menu-link-details .checkbox{margin-bottom:10px;}.np-menu-link-details label{display:block;}.np-menu-link-details input[type="text"]{width:100%;}.nestedpages-settings-table{border:1px solid #d9d9d9;border-collapse:collapse;}.nestedpages-settings-table thead th{background-color:#d9d9d9;padding:5px;}.nestedpages-settings-table tbody tr td{padding:5px;border-left:1px solid #e0e0e0;}.nestedpages-settings-table tbody tr td:first-child{border:0;}.nestedpages-settings-table tbody tr:nth-child(odd) td{background-color:#ffffff;}.nestedpages-settings-table i{font-size:20px;}
|
1 |
+
body{-webkit-animation-delay:0.1s;-webkit-animation-name:fontfix;-webkit-animation-duration:0.1s;-webkit-animation-iteration-count:1;-webkit-animation-timing-function:linear}@-webkit-keyframes fontfix{from{opacity:1}to{opacity:1}}@font-face{font-family:'nestedpages';src:url("fonts/nestedpages.eot")}@font-face{font-family:'nestedpages';src:url("data:application/x-font-ttf;charset=utf-8;base64,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") format("truetype");font-weight:normal;font-style:normal}[class^="np-icon-"],[class*=" np-icon-"]{font-family:'nestedpages' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.np-icon-pencil:before{content:"\e254"}.np-icon-lock:before{content:"\e897"}.np-icon-tag:before{content:"\e54e"}.np-icon-more_vert:before{content:"\e5d4"}.np-icon-page:before{content:"\e901"}.np-icon-post:before{content:"\e900"}.np-icon-no:before{content:"\e601"}.np-icon-yes:before{content:"\e602"}.np-icon-menu:before{content:"\e603"}.np-icon-arrow-down:before{content:"\e604"}.np-icon-arrow-right:before{content:"\e605"}.np-icon-sub-menu:before{content:"\e600"}.np-icon-bubble:before{content:"\e607"}.np-icon-remove:before{content:"\e60a"}.np-icon-list:before{content:"\e60d"}.np-icon-menu2:before{content:"\e606"}.np-icon-link:before{content:"\e612"}.np-icon-eye:before{content:"\e60b"}.np-icon-eye-blocked:before{content:"\e60c"}.np-icon-plus:before{content:"\e611"}.np-btn,.np-toggle-edit{text-decoration:none;color:#555;display:inline-block;background-color:#f7f7f7;border:1px solid #e1e1e1;padding:5px 8px;-webkit-transition:all 200ms ease;transition:all 200ms ease}.np-btn:hover,.np-toggle-edit:hover{background-color:#0074a2;color:#fff;-webkit-transition:all 200ms ease;transition:all 200ms ease;border-color:#0074a2}.np-btn:disabled,.np-toggle-edit:disabled,.np-btn.disabled,.disabled.np-toggle-edit{opacity:.6;cursor:not-allowed}.np-btn-half{float:left;width:47%;padding:3px 0px;text-align:center}.np-btn-half.btn-right{float:right}.np-btn-trash{background-color:#e14d43;border-color:#e14d43;color:#fff}.np-btn-trash:hover{background-color:#ba281e;border-color:#ba281e}.np-toggle-edit{display:none;float:right;margin-right:10px}.np-toggle-edit.active{background-color:#0074a2;color:#fff;-webkit-box-shadow:none;box-shadow:none;border-color:#0074a2}@media (max-width: 767px){.np-toggle-edit{display:inline-block}}.np-quickedit-error{border-left:4px solid #dd3d36;padding:4px 0 4px 8px;margin-bottom:10px;background-color:#f9f9f9}.modal-open{overflow:hidden}.np-modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;-webkit-overflow-scrolling:touch;outline:0}.np-modal .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;opacity:.85;z-index:9999}.np-modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;transition:-webkit-transform 0.3s ease-out;transition:transform 0.3s ease-out;transition:transform 0.3s ease-out, -webkit-transform 0.3s ease-out}.np-modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}.np-modal .modal-open .modal{overflow-x:hidden;overflow-y:auto}.np-modal .modal-dialog{position:relative;width:90%;height:80%;margin:10px auto 0px auto;max-width:800px;z-index:9999}.np-modal .modal-content{position:relative;background-color:#fff;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.np-modal .modal-header{padding:8px;background-color:#ebebeb}.np-modal .modal-header .sr-only{display:none}.np-modal .modal-header .close{margin-top:-2px}.np-modal .modal-title{margin:0}.np-modal .modal-body{position:relative;padding:10px}.np-modal .modal-body.new-child{padding:0}.np-modal .modal-footer{padding:10px;text-align:right;background-color:#404040;zoom:1}.np-modal .modal-footer:before,.np-modal .modal-footer:after{content:" ";display:table}.np-modal .modal-footer:after{clear:both}.np-modal .modal-footer .modal-close{float:left}.np-modal .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.clone-modal h3{margin:0;padding:8px;background-color:#e5e5e5}.clone-modal .form-control{margin:0 !important;padding:5px 10px}.np-trash-modal{text-align:center}.np-trash-modal .modal-body{padding-bottom:30px}.np-trash-modal .button-primary{margin-left:10px}.np-inline-overlay{position:fixed;width:100%;height:100%;background-color:rgba(0,0,0,0.4);z-index:998;top:0;right:0;bottom:0;left:0;opacity:0;-webkit-transition:opacity 200ms ease;transition:opacity 200ms ease}.np-inline-overlay.active{opacity:1;-webkit-transition:opacity 200ms ease;transition:opacity 200ms ease}.np-inline-modal{position:relative;z-index:999;background-color:#fff;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0px 0px 4px 0px rgba(0,0,0,0.5);box-shadow:0px 0px 4px 0px rgba(0,0,0,0.5)}.nestedpages-listing-title{float:left}.nestedpages .updated{clear:both}.nestedpages-toggleall.np-btn,.nestedpages-toggleall.np-toggle-edit{float:right}.np-toggle-publish{color:#999}.np-toggle-publish.active{color:#333;font-weight:bold}.np-sync-menu-cont{float:right;margin:0px 15px 0px 0px}.np-sync-menu-cont button{position:relative;top:-5px;padding:5px 8px}.np-sync-menu-cont label{position:relative;top:4px}#nested-loading{display:none;float:right;width:30px;margin:0px 20px 0 0}.nestedpages-top-toggles{zoom:1;padding-top:10px}.nestedpages-top-toggles:before,.nestedpages-top-toggles:after{content:" ";display:table}.nestedpages-top-toggles:after{clear:both}.np-tabs{background-color:#ebebeb;padding:0px}.np-tabs ul{text-align:left;list-style-type:none;margin:0;padding:0}.np-tabs ul li{display:inline-block;margin:0}.np-tabs ul li a{display:block;text-decoration:none;padding:5px 10px}.np-tabs ul li a.active{position:relative;color:#333;background-color:#fff}.np-tabs ul li a:focus,.np-tabs ul li a:active{outline:none;-webkit-box-shadow:none;box-shadow:none}.nestedpages-datepicker.ui-datepicker{background-color:#fff;font-size:90%;-webkit-box-shadow:0px 0px 3px 0px rgba(0,0,0,0.4);box-shadow:0px 0px 3px 0px rgba(0,0,0,0.4);-webkit-border-radius:3px;border-radius:3px;padding:0;width:auto}.nestedpages-datepicker.ui-datepicker .ui-datepicker-next,.nestedpages-datepicker.ui-datepicker .ui-datepicker-prev{position:absolute;color:#fff;top:0px;right:0px;cursor:pointer;display:block;width:35px;height:35px;font-size:0;background:url("../images/datepicker-arrow-next.png");background-position:center;opacity:1;-webkit-transition:opacity 200ms ease;transition:opacity 200ms ease}.nestedpages-datepicker.ui-datepicker .ui-datepicker-next:hover,.nestedpages-datepicker.ui-datepicker .ui-datepicker-prev:hover{opacity:.5;-webkit-transition:opacity 200ms ease;transition:opacity 200ms ease}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar{margin:0}.nestedpages-datepicker.ui-datepicker .ui-datepicker-prev{right:auto;left:0px;background:url("../images/datepicker-arrow-prev.png")}.nestedpages-datepicker.ui-datepicker .ui-datepicker-header{padding:0}.nestedpages-datepicker.ui-datepicker .ui-datepicker-title{background-color:#1a1a1a;text-align:center;color:#fff;height:35px;line-height:35px;-webkit-border-radius:3px 3px 0 0;border-radius:3px 3px 0 0;margin:0}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar{border-collapse:collapse}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar table{width:auto}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar th,.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar td{text-align:center;width:30px;height:30px}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar th{background-color:#e6e6e6;text-transform:uppercase;font-size:11px;letter-spacing:1px;padding:0}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar td{border-top:1px solid #ebebeb;border-left:1px solid #ebebeb;padding:0}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar td:first-child{border-left:0}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar a{text-align:center;padding:0;text-decoration:none;color:#333;display:block;background-color:#fff;-webkit-transition:all 200ms ease;transition:all 200ms ease;width:30px;height:30px;line-height:30px}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar a.ui-state-active{background-color:#1a1a1a;color:#fff}.nestedpages-datepicker.ui-datepicker .ui-datepicker-calendar a:hover{background-color:#333;color:#fff;-webkit-transition:all 200ms ease;transition:all 200ms ease}.nestedpages-tools{zoom:1;clear:both;clear:both;margin:20px 0px 5px 0px}.nestedpages-tools:before,.nestedpages-tools:after{content:" ";display:table}.nestedpages-tools:after{clear:both}.nestedpages-tools .subsubsub{margin:0}.nestedpages-tools .np-tools-primary{clear:left;padding-top:8px}.nestedpages-tools .select{float:left;margin-left:5px}.nestedpages-tools .select.first{margin-left:0}.nestedpages-tools .np-tools-sort{float:left}.nestedpages-tools .np-tools-search{float:right}.wppages-handle-expand{float:left;background-color:#f2f2f2;font-size:18px;width:46px;height:46px;margin-right:5px;text-align:center;border-right:1px solid #e1e1e1}.wppages-handle-expand div{background-color:#fff;border:1px solid #e1e1e1;width:24px;height:24px;line-height:24px;-webkit-border-radius:15px;border-radius:15px;margin-top:9px;cursor:pointer;-webkit-transition:all 200ms ease;transition:all 200ms ease}.wppages-handle-expand div:hover{background-color:#0074a2;border-color:#0074a2;color:#fff;-webkit-transition:all 200ms ease;transition:all 200ms ease}.nestedpages{clear:both;-webkit-border-radius:4px;border-radius:4px}.nestedpages .ui-sortable-placeholder{display:block !important;position:relative;min-height:46px;border:0;border:1px dashed #0074a2 !important;background-color:#effaff;margin:0}.nestedpages .ui-sortable-helper{opacity:0.8;-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5);box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5)}.nestedpages ol{list-style-type:none;clear:both;margin:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.06);box-shadow:0 1px 1px rgba(0,0,0,0.06);border:1px solid #e5e5e5;-webkit-border-radius:3px;border-radius:3px}.nestedpages ol a{text-decoration:none}.nestedpages ol .page-link .edit-indicator{margin-left:10px;display:none}.nestedpages ol .page-link .edit-indicator i{font-size:12px;margin-right:3px}.nestedpages ol .page-link:hover .edit-indicator{display:inline}.nestedpages ol .np-page-type{color:#333}.nestedpages ol .locked{color:#333;margin-left:20px}.nestedpages ol .locked em{font-style:normal}.nestedpages ol .status{color:#999}.nestedpages ol .np-icon-eye-blocked{color:#999}.nestedpages ol .nav-status{color:#b3b3b3}.nestedpages ol .np-hide{display:none}.nestedpages ol .np-seo-indicator{display:block;position:absolute;right:10px;top:50%;margin-top:-6px;width:12px;height:12px;-webkit-border-radius:50%;border-radius:50%;background-color:#999}.nestedpages ol .np-seo-indicator.good{background-color:#7ad03a}.nestedpages ol .np-seo-indicator.ok{background-color:#ffba00}.nestedpages ol .np-seo-indicator.poor{background-color:#ee7c1b}.nestedpages ol .np-seo-indicator.bad{background-color:#dd3d36}.nestedpages ol .np-seo-indicator.warn{background-color:maroon}.nestedpages ol .np-seo-indicator.wrong{background-color:red}.nestedpages ol .np-seo-indicator.noindex{background-color:#1e8cbe}.nestedpages ol li{margin:0;border-top:1px solid #e1e1e1;background-color:#0074a2}.nestedpages ol li.first{border:0}.nestedpages ol li:first-child{border:0}.nestedpages ol li.no-border{border:0}.nestedpages ol ol{display:none;-webkit-border-radius:0;border-radius:0;list-style-type:none;border:0;-webkit-box-shadow:none;box-shadow:none;border-top:1px solid #e1e1e1}.nestedpages .np-search-results .np-hide{display:block}.nestedpages .child-toggle{display:table-cell;width:46px;background-color:#f0f0f0;text-align:center;position:relative}.nestedpages .child-toggle .child-toggle-spacer{height:46px;width:100%}.nestedpages .child-toggle a{position:absolute;top:50%;left:8px;margin-top:-16px;width:28px;height:28px;background-color:#fff;border:1px solid #e1e1e1;-webkit-border-radius:20px;border-radius:20px;font-size:20px;line-height:30px;color:#333;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all 200ms ease;transition:all 200ms ease}.nestedpages .child-toggle a i{line-height:26px}.nestedpages .child-toggle a:hover{background-color:#0074a2;color:#fff;border-color:#0074a2}.nestedpages .handle{display:inline-block;cursor:move;font-size:20px;margin-top:-8px;position:relative;top:2px;color:#b3b3b3;-webkit-transition:all 200ms ease;transition:all 200ms ease}.nestedpages .handle:hover{-webkit-transition:all 200ms ease;transition:all 200ms ease;color:#0074a2}.nestedpages .np-icon-sub-menu{display:none;color:#999}.nestedpages .row.no-sort .page-title{padding-left:10px}.nestedpages .np-thumbnail{display:table-cell;width:80px;vertical-align:middle;zoom:1}.nestedpages .np-thumbnail:before,.nestedpages .np-thumbnail:after{content:" ";display:table}.nestedpages .np-thumbnail:after{clear:both}.nestedpages .np-thumbnail img{float:right;width:100%;height:auto}.nestedpages .np-thumbnail.large{width:150px}.nestedpages .np-thumbnail.small{width:50px}.nestedpages .np-thumbnail.link{background-color:#ebebeb;text-align:center}.nestedpages .np-thumbnail.link i{font-size:1.8em;opacity:.5}.nestedpages .np-bulk-checkbox{display:table-cell;width:33px;vertical-align:middle;text-align:center;background-color:#f0f0f0}.nestedpages .np-bulk-checkbox input[type="checkbox"]{margin-right:0}.nestedpages .handle,.nestedpages .np-icon-sub-menu{width:30px;text-align:center;vertical-align:middle}.nestedpages li ol .row .np-icon-sub-menu{display:inline-block}.nestedpages li ol .row .handle{display:none}.nestedpages li ol .row:hover .np-icon-sub-menu{display:none}.nestedpages li ol .row:hover .handle{display:inline-block}.nestedpages li ol .row.no-sort .np-icon-sub-menu{display:inline-block}.nestedpages .row{background-color:#fff;display:table;width:100%}.nestedpages .row:hover{background-color:#f0f0f0}.nestedpages .row.np-updated{background-color:#e9f7df;-webkit-transition:background-color 400ms ease;transition:background-color 400ms ease}.nestedpages .row.np-updated-show{background-color:#fff;-webkit-transition:background-color 400ms ease;transition:background-color 400ms ease}.nestedpages .row.search .page-title{padding-left:10px}.nestedpages .non-hierarchical-spacer{height:47px}.nestedpages .row-inner{display:table-cell;vertical-align:middle;position:relative}.nestedpages ol li ol .row-inner{padding-left:0px}.nestedpages ol li ol li ol .row-inner{padding-left:20px}.nestedpages ol li ol li ol li ol .row-inner{padding-left:40px}.nestedpages ol li ol li ol li ol li ol .row-inner{padding-left:60px}.nestedpages ol li ol li ol li ol li ol li ol .row-inner{padding-left:80px}.nestedpages .np-post-columns{float:right;margin:3px 20px 0px 0px;zoom:1}.nestedpages .np-post-columns:before,.nestedpages .np-post-columns:after{content:" ";display:table}.nestedpages .np-post-columns:after{clear:both}.nestedpages .np-post-columns ul li{background:transparent;color:gray;border:0;float:left;margin-left:8px;padding-left:8px;border-left:1px solid #ccc}.nestedpages .np-post-columns ul li:first-child{margin-left:0;padding-left:0;border:0}.nestedpages .has-yoast .np-post-columns{margin-right:30px}.nestedpages .action-buttons{display:none;position:absolute;right:10px;top:50%;margin-top:-15px}.nestedpages .action-buttons a{margin:0 0 0 -5px}.nestedpages .action-buttons a.np-btn-trash{margin-left:4px}.np-search{float:right}.nestedpages-list-header{background-color:#fff;border:1px solid #e1e1e1;border-bottom:0;height:46px;zoom:1}.nestedpages-list-header:before,.nestedpages-list-header:after{content:" ";display:table}.nestedpages-list-header:after{clear:both}.nestedpages-list-header .np-check-all{float:right;width:33px;text-align:center;line-height:46px;background-color:#f0f0f0}.nestedpages-list-header .np-check-all input[type="checkbox"]{margin:0}.nestedpages-list-header .np-check-all input[type="checkbox"].check-all-partial:checked:before{content:"-";margin:0;margin-top:-9px}.nestedpages-list-header .np-hidden-select-count{display:none;float:right;margin:0 1em 0 0;line-height:46px;font-style:oblique}.nestedpages-list-header .np-bulk-form{padding-right:3px;float:right;margin-right:5px;position:relative;top:9px}.nestedpages-list-header .np-bulk-form select,.nestedpages-list-header .np-bulk-form input[type="submit"]{display:inline-block}@media (min-width: 768px){.nestedpages .row:hover .action-buttons{display:block}.nestedpages .row:hover .np-post-columns{display:none}}@media (max-width: 767px){.nestedpages ol .page-link{line-height:24px}.nestedpages ol .page-link:hover span{display:none}.nestedpages ol .locked em{display:none}.nestedpages .child-toggle{background:transparent}.nestedpages .row{height:auto}.nestedpages .action-buttons{display:none;background-color:#0074a2;float:none;margin:0;padding:8px}.nestedpages .action-buttons a{margin-left:5px}}.nestedpages .quick-edit .form-interior,.nestedpages .new-child .form-interior{padding:10px}.nestedpages .quick-edit h3,.nestedpages .new-child h3{margin:0 0 8px 0;font-size:14px}.nestedpages .quick-edit h3 span,.nestedpages .new-child h3 span{float:right;font-size:12px}.nestedpages .quick-edit h3 span em,.nestedpages .new-child h3 span em{font-weight:normal;font-style:normal;color:gray}.nestedpages .quick-edit .fields,.nestedpages .new-child .fields{margin-bottom:10px;background:url("../images/border.png") repeat-y;background-position:center;zoom:1}.nestedpages .quick-edit .fields:before,.nestedpages .quick-edit .fields:after,.nestedpages .new-child .fields:before,.nestedpages .new-child .fields:after{content:" ";display:table}.nestedpages .quick-edit .fields:after,.nestedpages .new-child .fields:after{clear:both}.nestedpages .quick-edit .left,.nestedpages .new-child .left{float:left;width:48%}.nestedpages .quick-edit .right,.nestedpages .new-child .right{float:right;width:48%}.nestedpages .quick-edit label,.nestedpages .new-child label{font-style:oblique}.nestedpages .quick-edit .buttons,.nestedpages .new-child .buttons{clear:both;zoom:1;background-color:#404040;padding:8px}.nestedpages .quick-edit .buttons:before,.nestedpages .quick-edit .buttons:after,.nestedpages .new-child .buttons:before,.nestedpages .new-child .buttons:after{content:" ";display:table}.nestedpages .quick-edit .buttons:after,.nestedpages .new-child .buttons:after{clear:both}.nestedpages .quick-edit .form-control,.nestedpages .new-child .form-control{clear:both;zoom:1;margin-bottom:5px}.nestedpages .quick-edit .form-control:before,.nestedpages .quick-edit .form-control:after,.nestedpages .new-child .form-control:before,.nestedpages .new-child .form-control:after{content:" ";display:table}.nestedpages .quick-edit .form-control:after,.nestedpages .new-child .form-control:after{clear:both}.nestedpages .quick-edit .form-control input[type='text'],.nestedpages .quick-edit .form-control input[type='password'],.nestedpages .quick-edit .form-control select,.nestedpages .new-child .form-control input[type='text'],.nestedpages .new-child .form-control input[type='password'],.nestedpages .new-child .form-control select{float:right;width:75%}.nestedpages .quick-edit .form-control label,.nestedpages .new-child .form-control label{float:left;width:20%}.nestedpages .quick-edit .form-control.original-link,.nestedpages .new-child .form-control.original-link{background-color:#f9f9f9;border:1px solid #e1e1e1;padding:5px;font-style:oblique;margin-bottom:8px}.nestedpages .quick-edit .form-control.password label,.nestedpages .new-child .form-control.password label{width:25%}.nestedpages .quick-edit .form-control.password input[type="text"],.nestedpages .new-child .form-control.password input[type="text"]{float:left;width:35%}.nestedpages .quick-edit .form-control.password .private,.nestedpages .new-child .form-control.password .private{float:right;width:35%;margin-top:4px}.nestedpages .quick-edit .form-control.password .private label,.nestedpages .new-child .form-control.password .private label{width:auto;float:none}.nestedpages .quick-edit .form-control.np-datepicker-container .datetime,.nestedpages .new-child .form-control.np-datepicker-container .datetime{float:right;width:75%}.nestedpages .quick-edit .form-control.np-datepicker-container .np-time-container,.nestedpages .new-child .form-control.np-datepicker-container .np-time-container{float:left;width:45%;margin:0;position:relative}.nestedpages .quick-edit .form-control.np-datepicker-container .np-time-container input[type="text"],.nestedpages .new-child .form-control.np-datepicker-container .np-time-container input[type="text"]{float:left;width:55%}.nestedpages .quick-edit .form-control.np-datepicker-container .np-time-container select,.nestedpages .new-child .form-control.np-datepicker-container .np-time-container select{float:right;width:35%}.nestedpages .quick-edit .form-control.np-datepicker-container .np_datepicker,.nestedpages .new-child .form-control.np-datepicker-container .np_datepicker{float:left;width:45%;margin:0}.nestedpages .quick-edit .form-control.np-datepicker-container span,.nestedpages .new-child .form-control.np-datepicker-container span{float:left;width:10%;display:block;text-align:center;padding-top:3px}.nestedpages .quick-edit .form-control.full label,.nestedpages .new-child .form-control.full label{width:100%}.nestedpages .quick-edit .form-control.full.checkbox label,.nestedpages .new-child .form-control.full.checkbox label{padding:5px 0 5px 25%}.nestedpages .quick-edit .comments,.nestedpages .new-child .comments{float:right;width:75%;margin-bottom:10px;zoom:1}.nestedpages .quick-edit .comments:before,.nestedpages .quick-edit .comments:after,.nestedpages .new-child .comments:before,.nestedpages .new-child .comments:after{content:" ";display:table}.nestedpages .quick-edit .comments:after,.nestedpages .new-child .comments:after{clear:both}.nestedpages .quick-edit .dates,.nestedpages .new-child .dates{float:right;width:75%;margin-bottom:6px}.nestedpages .quick-edit .dates select,.nestedpages .new-child .dates select{width:25%}.nestedpages .quick-edit .dates input,.nestedpages .new-child .dates input{width:12%}.nestedpages .quick-edit .np-toggle-options,.nestedpages .new-child .np-toggle-options{background-color:#f2f2f2;padding:5px}.nestedpages .quick-edit .np-taxonomies,.nestedpages .quick-edit .np-menuoptions,.nestedpages .new-child .np-taxonomies,.nestedpages .new-child .np-menuoptions{display:none;clear:both;background-color:#f9f9f9;padding:8px;zoom:1;margin-top:5px}.nestedpages .quick-edit .np-taxonomies:before,.nestedpages .quick-edit .np-taxonomies:after,.nestedpages .quick-edit .np-menuoptions:before,.nestedpages .quick-edit .np-menuoptions:after,.nestedpages .new-child .np-taxonomies:before,.nestedpages .new-child .np-taxonomies:after,.nestedpages .new-child .np-menuoptions:before,.nestedpages .new-child .np-menuoptions:after{content:" ";display:table}.nestedpages .quick-edit .np-taxonomies:after,.nestedpages .quick-edit .np-menuoptions:after,.nestedpages .new-child .np-taxonomies:after,.nestedpages .new-child .np-menuoptions:after{clear:both}.nestedpages .quick-edit .np-taxonomy,.nestedpages .new-child .np-taxonomy{float:left;width:30%;margin-right:3.33%}.nestedpages .quick-edit .np-taxonomy .title,.nestedpages .new-child .np-taxonomy .title{font-weight:bold;margin-bottom:4px;display:block}.nestedpages .quick-edit .np-taxonomy li,.nestedpages .new-child .np-taxonomy li{background-color:#fff;border:0}.nestedpages .quick-edit .np-taxonomy textarea,.nestedpages .new-child .np-taxonomy textarea{width:100%;height:6.5em}.nestedpages .quick-edit .np-menuoptions,.nestedpages .new-child .np-menuoptions{padding:15px}.nestedpages .quick-edit .np-menuoptions label,.nestedpages .quick-edit .np-menuoptions input[type="text"],.nestedpages .new-child .np-menuoptions label,.nestedpages .new-child .np-menuoptions input[type="text"]{display:block;float:none;width:100%}.nestedpages .quick-edit .np-menuoptions .menuoptions-left,.nestedpages .new-child .np-menuoptions .menuoptions-left{float:left;width:47%}.nestedpages .quick-edit .np-menuoptions .menuoptions-right,.nestedpages .new-child .np-menuoptions .menuoptions-right{float:right;width:47%;padding-top:18px}.nestedpages .quick-edit .np-menuoptions .menuoptions-right label,.nestedpages .new-child .np-menuoptions .menuoptions-right label{margin-bottom:10px}.nestedpages .quick-edit .np-hide-options,.nestedpages .new-child .np-hide-options{display:none;background-color:#f0f0f0;-webkit-border-radius:3px;border-radius:3px;clear:both;padding:6px;-webkit-box-sizing:border-box;box-sizing:border-box}.nestedpages .quick-edit .np-hide-options p,.nestedpages .new-child .np-hide-options p{margin:0}.nestedpages .quick-edit .np-hide-options label,.nestedpages .new-child .np-hide-options label{display:block;margin-top:4px;font-style:normal}.nestedpages .quick-edit .new-page-titles,.nestedpages .new-child .new-page-titles{display:block;border:0}.nestedpages .quick-edit .new-page-titles li,.nestedpages .new-child .new-page-titles li{background:transparent;border:0;padding:4px;zoom:1}.nestedpages .quick-edit .new-page-titles li:before,.nestedpages .quick-edit .new-page-titles li:after,.nestedpages .new-child .new-page-titles li:before,.nestedpages .new-child .new-page-titles li:after{content:" ";display:table}.nestedpages .quick-edit .new-page-titles li:after,.nestedpages .new-child .new-page-titles li:after{clear:both}.nestedpages .quick-edit .new-page-titles li:nth-child(even),.nestedpages .new-child .new-page-titles li:nth-child(even){background-color:#f0f0f0}.nestedpages .quick-edit .new-page-titles li label,.nestedpages .new-child .new-page-titles li label{margin-top:7px}.nestedpages .quick-edit .new-page-titles .form-control,.nestedpages .new-child .new-page-titles .form-control{float:right;width:90%;clear:none}.nestedpages .quick-edit .new-page-titles .np-icon-menu,.nestedpages .new-child .new-page-titles .np-icon-menu{float:left;margin-top:0px;height:auto;line-height:26px}.nestedpages .quick-edit .new-page-titles .new-child-row div,.nestedpages .new-child .new-page-titles .new-child-row div{float:right;width:75%;margin:2px;zoom:1}.nestedpages .quick-edit .new-page-titles .new-child-row div:before,.nestedpages .quick-edit .new-page-titles .new-child-row div:after,.nestedpages .new-child .new-page-titles .new-child-row div:before,.nestedpages .new-child .new-page-titles .new-child-row div:after{content:" ";display:table}.nestedpages .quick-edit .new-page-titles .new-child-row div:after,.nestedpages .new-child .new-page-titles .new-child-row div:after{clear:both}.nestedpages .quick-edit .new-page-titles .new-child-row div input[type='text'],.nestedpages .new-child .new-page-titles .new-child-row div input[type='text']{float:left;width:80%}.nestedpages .quick-edit .new-page-titles .new-child-row div a,.nestedpages .new-child .new-page-titles .new-child-row div a{float:right}.np-modal.nestedpages .new-child .right .form-control input[type='text'],.np-modal.nestedpages .new-child .right .form-control input[type='password'],.np-modal.nestedpages .new-child .right .form-control select{float:none;width:100%}.np-modal.nestedpages .new-child .right .form-control label{float:none;width:100%}.np-modal.nestedpages .new-child .right .form-control.full label{padding-left:0}.np-modal.nestedpages .new-child .new-page-titles .form-control{width:85%}.np-modal.nestedpages .new-child .new-page-titles .form-control div{width:100%}.np-modal.nestedpages .new-child .left label{display:none}.np-qe-loading{display:none;float:right;width:25px;height:25px;margin:2px 10px 0 0;background:url("../images/loading-white.gif") no-repeat}@media (max-width: 767px){.nestedpages .quick-edit .fields{background:transparent}.nestedpages .quick-edit .left,.nestedpages .quick-edit .right{float:none;width:100%}.nestedpages .quick-edit .form-control{margin-bottom:10px}.nestedpages .quick-edit .form-control input[type='text'],.nestedpages .quick-edit .form-control input[type='password'],.nestedpages .quick-edit .form-control select{float:none;width:100%}.nestedpages .quick-edit .form-control label{display:block;float:none;width:100%;margin-bottom:4px}.nestedpages .quick-edit .form-control.np-datepicker-container .datetime{float:none;width:100%}.nestedpages .quick-edit .comments{float:none;width:100%}.nestedpages .quick-edit .dates{float:none;width:100%;margin-bottom:6px}}.np-modal-form .form-interior{zoom:1;background:url("../images/border.png") repeat-y;background-position:center;padding:5px 0}.np-modal-form .form-interior:before,.np-modal-form .form-interior:after{content:" ";display:table}.np-modal-form .form-interior:after{clear:both}.np-modal-form .form-control{zoom:1;margin-bottom:10px}.np-modal-form .form-control:before,.np-modal-form .form-control:after{content:" ";display:table}.np-modal-form .form-control:after{clear:both}.np-modal-form .checkbox{margin-bottom:10px}.np-modal-form .left{float:left;width:45%}.np-modal-form .right{float:right;width:45%;padding-top:18px}.np-modal-form label{display:block}.np-modal-form input[type="text"],.np-modal-form select{width:100%}.np-modal-form .buttons{clear:both}.modal-body.np-menu-item-form{height:400px;padding:0;border-top:1px solid #e1e1e1}.np-menu-type-selection{float:left;height:100%;overflow:auto;width:35%;padding:15px;background-color:#f9f9f9;border-right:1px solid #e1e1e1;-webkit-box-sizing:border-box;box-sizing:border-box}.np-menu-type-selection ul{list-style-type:none;margin:0;padding:0;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.06);box-shadow:0 1px 1px rgba(0,0,0,0.06);border:1px solid #e5e5e5;-webkit-border-radius:3px;border-radius:3px;border:0}.np-menu-type-selection ul li{margin:0;border:1px solid #e5e5e5;border-top:0}.np-menu-type-selection ul li a{background-color:#fff;display:block;text-decoration:none;padding:15px 10px;position:relative;color:#333;font-weight:bold;-webkit-transition:all 200ms ease;transition:all 200ms ease}.np-menu-type-selection ul li a:hover{background-color:#ebebeb;-webkit-transition:all 200ms ease;transition:all 200ms ease}.np-menu-type-selection ul li a:after{position:absolute;font-family:"dashicons";content:"\f140";font-size:18px;right:10px;top:15px;color:gray}.np-menu-type-selection ul li a.active:after{content:"\f142"}.np-menu-type-selection ul li a.np-custom-link:after{content:"\f139"}.np-menu-type-selection ul li a.np-custom-link.active{background-color:#0074a2;color:#fff}.np-menu-type-selection ul li a.np-custom-link.active:after{content:"\f335";color:#fff}.np-menu-type-selection ul li a:active,.np-menu-type-selection ul li a:focus{-webkit-box-shadow:none;box-shadow:none}.np-menu-type-selection ul li a.no-terms{color:#b3b3b3}.np-menu-type-selection ul li a.no-terms span{float:right;font-weight:normal;font-style:oblique}.np-menu-type-selection ul li a.no-terms:after{content:''}.np-menu-type-selection ul li a.no-terms:hover{background-color:#fff;cursor:default}.np-menu-type-selection ul li a.no-terms.section{padding:8px 10px;background-color:#333;color:#fff}.np-menu-type-selection ul li:first-child{border-top:1px solid #e5e5e5}.np-menu-type-selection ul li ul{display:none;-webkit-box-shadow:none;box-shadow:none;padding:10px;background-color:#fff}.np-menu-type-selection ul li ul li{border-color:#e0e0e0}.np-menu-type-selection ul li ul li a{padding:8px;background-color:#f9f9f9;font-weight:normal}.np-menu-type-selection ul li ul li a:after{content:"\f139";top:8px;right:5px}.np-menu-type-selection ul li ul li a.active{background-color:#0074a2;color:#fff}.np-menu-type-selection ul li ul li a.active:after{content:"\f335";color:#fff}.np-menu-link-object{width:65%;float:right;height:100%;overflow:auto}.np-menu-link-object-placeholder{text-align:center;position:relative;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);color:#b3b3b3}.np-menu-search{padding:10px;background-color:#f9f9f9}.np-menu-search input[type="text"]{width:100%;height:35px}.np-menu-search .np-menu-search-loading{display:none;height:30px;background:url("../images/spinner.gif") no-repeat;background-position:center}.np-menu-search .np-menu-search-noresults{display:none;text-align:center;padding-top:8px;font-style:oblique}.np-menu-link-details{padding:20px}.np-menu-link-details h3{margin-top:0}.np-menu-link-details h3 em{float:right;font-size:13px;font-weight:normal;font-style:normal;color:gray}.np-menu-link-details .original-link{border:1px solid #e5e5e5;font-size:12px;margin-bottom:15px;padding:5px;font-style:oblique}.np-menu-link-details .fields{background-color:#f9f9f9;padding:15px}.np-menu-link-details p{margin-top:0}.np-menu-link-details .checkbox{margin-bottom:10px}.np-menu-link-details label{display:block}.np-menu-link-details input[type="text"]{width:100%}.nestedpages-settings-table{border:1px solid #d9d9d9;border-collapse:collapse}.nestedpages-settings-table thead th{background-color:#d9d9d9;padding:5px}.nestedpages-settings-table tbody tr td{padding:5px;border-left:1px solid #e0e0e0}.nestedpages-settings-table tbody tr td:first-child{border:0}.nestedpages-settings-table tbody tr:nth-child(odd) td{background-color:#fff}.nestedpages-settings-table i{font-size:20px}.nestedpages-settings-posttypes{-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.06);box-shadow:0 1px 1px rgba(0,0,0,0.06);border:1px solid #e5e5e5;-webkit-border-radius:3px;border-radius:3px}.nestedpages-settings-posttypes .post-type{background-color:#fff;border-bottom:1px solid #e1e1e1}.nestedpages-settings-posttypes .post-type:last-child{border:0}.nestedpages-settings-posttypes .post-type .head{zoom:1;line-height:46px;background-color:#fff;padding-right:10px}.nestedpages-settings-posttypes .post-type .head:before,.nestedpages-settings-posttypes .post-type .head:after{content:" ";display:table}.nestedpages-settings-posttypes .post-type .head:after{clear:both}.nestedpages-settings-posttypes .post-type .head .checkbox{float:left;width:46px;height:46px;background-color:rgba(51,51,51,0.06);text-align:center;line-height:46px;margin-right:10px}.nestedpages-settings-posttypes .post-type .head label{float:left;line-height:46px;margin:0}.nestedpages-settings-posttypes .post-type .head label em{color:#999}.nestedpages-settings-posttypes .post-type .head .button{float:right;margin-top:10px}.nestedpages-settings-posttypes .post-type.active .head{background-color:#0074a2;color:#fff}.nestedpages-settings-posttypes .post-type .row{display:table;width:100%}.nestedpages-settings-posttypes .post-type .row .description{display:table-cell;width:25%;border-bottom:1px solid #e1e1e1;background-color:#f9f9f9;padding:10px}.nestedpages-settings-posttypes .post-type .row .description p{color:gray;font-size:.9em}.nestedpages-settings-posttypes .post-type .row .description strong{color:#333;font-size:1.2em}.nestedpages-settings-posttypes .post-type .row .field{display:table-cell;width:75%;background-color:#fff;border-bottom:1px solid #e1e1e1;border-left:1px solid #e1e1e1;padding:10px}.nestedpages-settings-posttypes .post-type .body{display:none}.nestedpages-settings-posttypes .post-type .body h4{margin:0;padding:10px 0 0 10px}.nestedpages-settings-posttypes .post-type .body .post-type-settings{margin:0}.nestedpages-settings-posttypes .post-type .body li{margin:0}.nestedpages-settings-posttypes .post-type .post-type-settings li:last-child .field,.nestedpages-settings-posttypes .post-type .post-type-settings li:last-child .description{border-bottom:0}.nestedpages-settings-posttypes .post-type .custom-fields,.nestedpages-settings-posttypes .post-type .standard-fields{display:none;padding-top:20px}.nestedpages-settings-posttypes .post-type .custom-fields .custom-field-group,.nestedpages-settings-posttypes .post-type .standard-fields .custom-field-group{height:150px;overflow:auto;background-color:#f9f9f9;padding:10px;border:1px solid #e1e1e1}.nestedpages-settings-posttypes .post-type .custom-fields h5,.nestedpages-settings-posttypes .post-type .standard-fields h5{padding:0;font-weight:normal;font-style:oblique;margin:0;color:#999;margin-bottom:6px}.nestedpages-settings-posttypes .post-type .custom-fields p,.nestedpages-settings-posttypes .post-type .standard-fields p{margin:0 0 6px 0;font-weight:bold}.nestedpages-settings-posttypes .post-type .custom-fields ul,.nestedpages-settings-posttypes .post-type .standard-fields ul{margin:0}.nestedpages-settings-posttypes .post-type .custom-fields ul.indented,.nestedpages-settings-posttypes .post-type .standard-fields ul.indented{padding-left:15px}.nestedpages-settings-posttypes .post-type .custom-fields ul li,.nestedpages-settings-posttypes .post-type .standard-fields ul li{margin:3px 0 0 0}.nestedpages-settings-posttypes .post-type .thumbnail-options{background-color:#f9f9f9;padding:10px;border:1px solid #e1e1e1;margin-top:1em}.nestedpages-settings-posttypes .post-type .thumbnail-options label{display:block}.nestedpages-settings-posttypes .post-type .thumbnail-options select{margin-bottom:1em}
|
assets/icon-128x128.png
ADDED
Binary file
|
assets/js/lib/nestedpages-factory.js
CHANGED
@@ -29,11 +29,20 @@ NestedPages.selectors = {
|
|
29 |
errorDiv : '#np-error', // Error Alert
|
30 |
loadingIndicator : '#nested-loading', // Loading Indicator,
|
31 |
syncCheckbox : '.np-sync-menu', // Sync menu checkbox
|
|
|
32 |
ajaxError : '[data-nestedpages-error]', // AJAX error notification
|
33 |
|
34 |
// Responsive Toggle
|
35 |
toggleEditButtons : '.np-toggle-edit', // Button that toggles responsive buttons
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
// Quick Edit
|
38 |
quickEditOverlay : '.np-inline-overlay', // The inline modal
|
39 |
quickEditLoadingIndicator : '.np-qe-loading', // Loading indicator in Quick Edit
|
@@ -60,6 +69,12 @@ NestedPages.selectors = {
|
|
60 |
linkErrorDiv : '.np-new-link-error', // Error Div in Link Modal
|
61 |
linkForm : '.np-new-link-form', // The form element for a new link
|
62 |
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
// New Page Items
|
64 |
openPageModal : '.open-bulk-modal', // Opens the new page(s) modal
|
65 |
newPageModal : '#np-bulk-modal', // The modal with the new page form
|
@@ -84,6 +99,15 @@ NestedPages.selectors = {
|
|
84 |
tabButtonParent : '[data-np-tabs]', // Tab Parent
|
85 |
tabButton : '[data-np-tab]', // Tab Link
|
86 |
tabContent : '[data-np-tab-pane]', // Tab Pane
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
|
89 |
|
@@ -125,7 +149,8 @@ NestedPages.formActions = {
|
|
125 |
quickEditPost : 'npquickEdit',
|
126 |
clonePost : 'npclonePost',
|
127 |
search : 'npmenuSearch',
|
128 |
-
newMenuItem : 'npnewMenuItem'
|
|
|
129 |
}
|
130 |
|
131 |
|
@@ -139,6 +164,8 @@ NestedPages.Factory = function()
|
|
139 |
|
140 |
plugin.formatter = new NestedPages.Formatter;
|
141 |
plugin.responsive = new NestedPages.Responsive;
|
|
|
|
|
142 |
plugin.menuToggle = new NestedPages.MenuToggle;
|
143 |
plugin.pageToggle = new NestedPages.PageToggle;
|
144 |
plugin.nesting = new NestedPages.Nesting;
|
@@ -149,6 +176,9 @@ NestedPages.Factory = function()
|
|
149 |
plugin.clone = new NestedPages.Clone;
|
150 |
plugin.tabs = new NestedPages.Tabs;
|
151 |
plugin.menuLinks = new NestedPages.MenuLinks;
|
|
|
|
|
|
|
152 |
|
153 |
plugin.init = function()
|
154 |
{
|
@@ -171,6 +201,7 @@ NestedPages.Factory = function()
|
|
171 |
});
|
172 |
$(document).ready(function(){
|
173 |
plugin.formatter.hideAjaxError();
|
|
|
174 |
});
|
175 |
}
|
176 |
|
@@ -178,7 +209,7 @@ NestedPages.Factory = function()
|
|
178 |
// Set whether or not post type is nestable
|
179 |
plugin.setNestable = function()
|
180 |
{
|
181 |
-
var nestable =
|
182 |
$.each(NestedPages.jsData.allPostTypes, function(i, v){
|
183 |
if ( v.name !== NestedPages.jsData.posttype ) return;
|
184 |
if ( v.hierarchical === true ) nestable = true;
|
29 |
errorDiv : '#np-error', // Error Alert
|
30 |
loadingIndicator : '#nested-loading', // Loading Indicator,
|
31 |
syncCheckbox : '.np-sync-menu', // Sync menu checkbox
|
32 |
+
syncForm: '.np-sync-menu-cont', // The form/container for the sync menu element
|
33 |
ajaxError : '[data-nestedpages-error]', // AJAX error notification
|
34 |
|
35 |
// Responsive Toggle
|
36 |
toggleEditButtons : '.np-toggle-edit', // Button that toggles responsive buttons
|
37 |
|
38 |
+
// Bulk Actions
|
39 |
+
bulkActionsForm : '[data-np-bulk-form]',
|
40 |
+
bulkActionsCheckbox : '[data-np-bulk-checkbox]',
|
41 |
+
bulkActionsIds : '[data-np-bulk-ids]',
|
42 |
+
bulkActionRedirectIds : '[data-np-bulk-redirect-ids]',
|
43 |
+
hiddenItemCount : '[data-np-hidden-count]',
|
44 |
+
hiddenItemCountParent : '[data-np-hidden-count-parent]',
|
45 |
+
|
46 |
// Quick Edit
|
47 |
quickEditOverlay : '.np-inline-overlay', // The inline modal
|
48 |
quickEditLoadingIndicator : '.np-qe-loading', // Loading indicator in Quick Edit
|
69 |
linkErrorDiv : '.np-new-link-error', // Error Div in Link Modal
|
70 |
linkForm : '.np-new-link-form', // The form element for a new link
|
71 |
|
72 |
+
// Link Deletion
|
73 |
+
linkDeleteButton : '[data-np-confirm-delete]',
|
74 |
+
linkDeleteConfirmationButton : '[data-delete-confirmation]',
|
75 |
+
linkDeleteConfirmationModal : '#np-delete-confirmation-modal',
|
76 |
+
linkDeleteConfirmationModalText : '[data-np-link-delete-text]',
|
77 |
+
|
78 |
// New Page Items
|
79 |
openPageModal : '.open-bulk-modal', // Opens the new page(s) modal
|
80 |
newPageModal : '#np-bulk-modal', // The modal with the new page form
|
99 |
tabButtonParent : '[data-np-tabs]', // Tab Parent
|
100 |
tabButton : '[data-np-tab]', // Tab Link
|
101 |
tabContent : '[data-np-tab-pane]', // Tab Pane
|
102 |
+
|
103 |
+
// Thumbnails
|
104 |
+
thumbnailContainer : '.np-thumbnail', // Container for Thumbnail
|
105 |
+
thumbnailContainerLink : '.np-thumbnail.link', // Link Thumbnail Container
|
106 |
+
|
107 |
+
// Manual Sync Buttons
|
108 |
+
manualMenuSync : '[data-np-manual-menu-sync]', // Button for Triggering Manual Menu Sync
|
109 |
+
manualOrderSync : '[data-np-manual-order-sync]', // Button for Triggering Manual Order Sync
|
110 |
+
|
111 |
}
|
112 |
|
113 |
|
149 |
quickEditPost : 'npquickEdit',
|
150 |
clonePost : 'npclonePost',
|
151 |
search : 'npmenuSearch',
|
152 |
+
newMenuItem : 'npnewMenuItem',
|
153 |
+
manualMenuSync : 'npmanualMenuSync'
|
154 |
}
|
155 |
|
156 |
|
164 |
|
165 |
plugin.formatter = new NestedPages.Formatter;
|
166 |
plugin.responsive = new NestedPages.Responsive;
|
167 |
+
plugin.checkAll = new NestedPages.CheckAll;
|
168 |
+
plugin.bulkActions = new NestedPages.BulkActions;
|
169 |
plugin.menuToggle = new NestedPages.MenuToggle;
|
170 |
plugin.pageToggle = new NestedPages.PageToggle;
|
171 |
plugin.nesting = new NestedPages.Nesting;
|
176 |
plugin.clone = new NestedPages.Clone;
|
177 |
plugin.tabs = new NestedPages.Tabs;
|
178 |
plugin.menuLinks = new NestedPages.MenuLinks;
|
179 |
+
plugin.hiddenItemCount = new NestedPages.HiddenItemCount;
|
180 |
+
plugin.confirmDelete = new NestedPages.ConfirmDelete;
|
181 |
+
plugin.manualSync = new NestedPages.ManualSync;
|
182 |
|
183 |
plugin.init = function()
|
184 |
{
|
201 |
});
|
202 |
$(document).ready(function(){
|
203 |
plugin.formatter.hideAjaxError();
|
204 |
+
plugin.formatter.sizeLinkThumbnails();
|
205 |
});
|
206 |
}
|
207 |
|
209 |
// Set whether or not post type is nestable
|
210 |
plugin.setNestable = function()
|
211 |
{
|
212 |
+
var nestable = false;
|
213 |
$.each(NestedPages.jsData.allPostTypes, function(i, v){
|
214 |
if ( v.name !== NestedPages.jsData.posttype ) return;
|
215 |
if ( v.hierarchical === true ) nestable = true;
|
assets/js/lib/nestedpages.bulk-actions.js
ADDED
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var NestedPages = NestedPages || {};
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Bulk Actions for Nested View
|
5 |
+
* @package Nested Pages
|
6 |
+
* @author Kyle Phillips - https://github.com/kylephillips/wp-nested-pages
|
7 |
+
*/
|
8 |
+
NestedPages.BulkActions = function()
|
9 |
+
{
|
10 |
+
var plugin = this;
|
11 |
+
var $ = jQuery;
|
12 |
+
|
13 |
+
plugin.selectedNumber = 0;
|
14 |
+
|
15 |
+
plugin.init = function()
|
16 |
+
{
|
17 |
+
plugin.bindEvents();
|
18 |
+
}
|
19 |
+
|
20 |
+
plugin.bindEvents = function()
|
21 |
+
{
|
22 |
+
$(document).on('change', NestedPages.selectors.bulkActionsCheckbox, function(){
|
23 |
+
plugin.toggleBulkForm();
|
24 |
+
});
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Toggle the Bulk Actions Form & Populate the Hidden ID Fields for posts and redirects
|
29 |
+
*/
|
30 |
+
plugin.toggleBulkForm = function()
|
31 |
+
{
|
32 |
+
var checked = false;
|
33 |
+
var checked_ids = '';
|
34 |
+
var checked_redirect_ids = '';
|
35 |
+
$.each($(NestedPages.selectors.bulkActionsCheckbox), function(){
|
36 |
+
if ( $(this).is(':checked') ) {
|
37 |
+
var row = $(this).parents(NestedPages.selectors.rows);
|
38 |
+
checked = true;
|
39 |
+
if ( !$(this).parent('div').hasClass('np-check-all') && !$(row).hasClass('post-type-np-redirect') ) checked_ids += $(this).val() + ',';
|
40 |
+
if ( $(row).hasClass('post-type-np-redirect') ) checked_redirect_ids += $(this).val() + ',';
|
41 |
+
}
|
42 |
+
});
|
43 |
+
if ( checked ){
|
44 |
+
$(NestedPages.selectors.bulkActionsForm).show();
|
45 |
+
$(NestedPages.selectors.bulkActionsIds).val(checked_ids);
|
46 |
+
$(NestedPages.selectors.bulkActionRedirectIds).val(checked_redirect_ids);
|
47 |
+
plugin.setSelectedNumber();
|
48 |
+
return;
|
49 |
+
}
|
50 |
+
$(NestedPages.selectors.bulkActionsIds).val('');
|
51 |
+
$(NestedPages.selectors.bulkActionsForm).hide();
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Set the number of total selected
|
56 |
+
*/
|
57 |
+
plugin.setSelectedNumber = function()
|
58 |
+
{
|
59 |
+
var checkedLength = $(NestedPages.selectors.bulkActionsCheckbox + ':checked').not('.np-check-all input').length;
|
60 |
+
var option = $(NestedPages.selectors.bulkActionsForm).find('select option').first();
|
61 |
+
$(option).text(nestedpages.bulk_actions + ' (' + checkedLength + ')');
|
62 |
+
}
|
63 |
+
|
64 |
+
return plugin.init();
|
65 |
+
}
|
assets/js/lib/nestedpages.check-all.js
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var NestedPages = NestedPages || {};
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Check All functionality for Nested Pages
|
5 |
+
* @package Nested Pages
|
6 |
+
* @author Kyle Phillips - https://github.com/kylephillips/wp-nested-pages
|
7 |
+
*/
|
8 |
+
NestedPages.CheckAll = function()
|
9 |
+
{
|
10 |
+
var plugin = this;
|
11 |
+
var $ = jQuery;
|
12 |
+
|
13 |
+
plugin.activeCheckbox = "";
|
14 |
+
|
15 |
+
plugin.selectors = {
|
16 |
+
checkbox : '[data-np-check-all]',
|
17 |
+
}
|
18 |
+
|
19 |
+
plugin.bindEvents = function()
|
20 |
+
{
|
21 |
+
$(document).on('change', plugin.selectors.checkbox, function(){
|
22 |
+
plugin.activeCheckbox = $(this);
|
23 |
+
plugin.toggleCheckboxes();
|
24 |
+
});
|
25 |
+
$(document).on('change', 'input[type=checkbox]', function(){
|
26 |
+
plugin.checkAllStatus($(this));
|
27 |
+
});
|
28 |
+
}
|
29 |
+
|
30 |
+
plugin.init = function()
|
31 |
+
{
|
32 |
+
plugin.bindEvents();
|
33 |
+
}
|
34 |
+
|
35 |
+
plugin.toggleCheckboxes = function()
|
36 |
+
{
|
37 |
+
var checked = ( $(plugin.activeCheckbox).is(':checked') ) ? true : false;
|
38 |
+
var name = $(plugin.activeCheckbox).attr('data-np-check-all');
|
39 |
+
|
40 |
+
var checkboxes = $('*[name="' + name + '"]');
|
41 |
+
$.each(checkboxes, function(){
|
42 |
+
var row = $(this).parents(NestedPages.selectors.rows);
|
43 |
+
$(this).prop('checked', checked);
|
44 |
+
// Uncheck any hidden checkboxes
|
45 |
+
if ( $(row).hasClass('np-hide') && !$(row).is(':visible') ) {
|
46 |
+
$(row).find(NestedPages.selectors.bulkActionsCheckbox).prop('checked', false)
|
47 |
+
};
|
48 |
+
});
|
49 |
+
|
50 |
+
plugin.toggleCheckAll();
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Toggle the "Partial" class for the checkall checkbox
|
55 |
+
*/
|
56 |
+
plugin.toggleCheckAll = function()
|
57 |
+
{
|
58 |
+
var name = $(plugin.activeCheckbox).attr('data-np-check-all');
|
59 |
+
|
60 |
+
var checkboxes_total = $('*[name="' + name + '"]').length;
|
61 |
+
var hidden_checkboxes = $('.np-hide').find(NestedPages.selectors.bulkActionsCheckbox).length;
|
62 |
+
var hidden_checkboxes_visible = $('.np-hide:visible').find(NestedPages.selectors.bulkActionsCheckbox).length;
|
63 |
+
|
64 |
+
checkboxes_total = ( checkboxes_total - hidden_checkboxes ) + hidden_checkboxes_visible;
|
65 |
+
|
66 |
+
var checkboxes_checked = $('*[name="' + name + '"]:checked').length;
|
67 |
+
|
68 |
+
if ( checkboxes_total == checkboxes_checked ){
|
69 |
+
$(plugin.activeCheckbox).prop('checked', true);
|
70 |
+
$(plugin.activeCheckbox).removeClass('check-all-partial');
|
71 |
+
return;
|
72 |
+
}
|
73 |
+
if ( checkboxes_checked > 0 ){
|
74 |
+
$(plugin.activeCheckbox).addClass('check-all-partial');
|
75 |
+
return;
|
76 |
+
}
|
77 |
+
$(plugin.activeCheckbox).attr('checked', false);
|
78 |
+
$(plugin.activeCheckbox).removeClass('check-all-partial');
|
79 |
+
}
|
80 |
+
|
81 |
+
plugin.checkAllStatus = function(checkbox)
|
82 |
+
{
|
83 |
+
var name = $(checkbox).attr('name');
|
84 |
+
var toggleAllCheckbox = $('*[data-np-check-all="' + name + '"]');
|
85 |
+
if ( toggleAllCheckbox.length === 0 ) return;
|
86 |
+
plugin.activeCheckbox = $(toggleAllCheckbox)[0];
|
87 |
+
plugin.toggleCheckAll();
|
88 |
+
}
|
89 |
+
|
90 |
+
return plugin.init();
|
91 |
+
}
|
assets/js/lib/nestedpages.confirm-delete.js
CHANGED
@@ -1,47 +1,69 @@
|
|
|
|
|
|
1 |
/**
|
2 |
-
* Confirm deletion of
|
3 |
* @package Nested Pages
|
4 |
* @author Kyle Phillips - https://github.com/kylephillips/wp-nested-pages
|
5 |
*/
|
6 |
-
|
7 |
-
new NestedPagesConfirmDelete;
|
8 |
-
});
|
9 |
-
|
10 |
-
var NestedPagesConfirmDelete = function()
|
11 |
{
|
12 |
var plugin = this;
|
13 |
var $ = jQuery;
|
14 |
|
15 |
-
// DOM Selectors
|
16 |
-
plugin.deleteButton = '[data-np-confirm-delete]'; // delete button
|
17 |
-
plugin.confirmButton = '[data-delete-confirmation]'; // Confirm button in modal
|
18 |
-
plugin.warningModal = '#np-delete-confirmation-modal'; // Modal with empty confirmation
|
19 |
-
|
20 |
// JS Data
|
21 |
plugin.deleteLink = ''; // Link for deleting the item
|
22 |
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
}
|
27 |
-
|
28 |
-
// Bind Events
|
29 |
-
plugin.bindEvents = function(){
|
30 |
-
$(document).on('click', plugin.deleteButton, function(e){
|
31 |
e.preventDefault();
|
32 |
-
plugin.
|
33 |
-
$(plugin.warningModal).modal('show');
|
34 |
});
|
35 |
-
$(document).on('click',
|
36 |
e.preventDefault();
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
});
|
39 |
}
|
40 |
|
41 |
-
// Confirm
|
42 |
-
plugin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
window.location.replace(plugin.deleteLink);
|
44 |
}
|
45 |
|
46 |
-
return plugin.
|
47 |
}
|
1 |
+
var NestedPages = NestedPages || {};
|
2 |
+
|
3 |
/**
|
4 |
+
* Confirm deletion of links
|
5 |
* @package Nested Pages
|
6 |
* @author Kyle Phillips - https://github.com/kylephillips/wp-nested-pages
|
7 |
*/
|
8 |
+
NestedPages.ConfirmDelete = function()
|
|
|
|
|
|
|
|
|
9 |
{
|
10 |
var plugin = this;
|
11 |
var $ = jQuery;
|
12 |
|
|
|
|
|
|
|
|
|
|
|
13 |
// JS Data
|
14 |
plugin.deleteLink = ''; // Link for deleting the item
|
15 |
|
16 |
+
plugin.bindEvents = function()
|
17 |
+
{
|
18 |
+
$(document).on('click', NestedPages.selectors.linkDeleteButton, function(e){
|
|
|
|
|
|
|
|
|
|
|
19 |
e.preventDefault();
|
20 |
+
plugin.confirmSingle($(this));
|
|
|
21 |
});
|
22 |
+
$(document).on('click', NestedPages.selectors.linkDeleteConfirmationButton, function(e){
|
23 |
e.preventDefault();
|
24 |
+
if ( !$(this).hasClass('bulk') ){
|
25 |
+
plugin.deleteSingle();
|
26 |
+
return;
|
27 |
+
}
|
28 |
+
plugin.deleteMultiple();
|
29 |
+
});
|
30 |
+
$(document).on('submit', NestedPages.selectors.bulkActionsForm, function(e){
|
31 |
+
plugin.confirmMultiple(e);
|
32 |
});
|
33 |
}
|
34 |
|
35 |
+
// Confirm a single link deletion
|
36 |
+
plugin.confirmSingle = function(button)
|
37 |
+
{
|
38 |
+
plugin.deleteLink = $(button).attr('href');
|
39 |
+
$(NestedPages.selectors.linkDeleteConfirmationModalText).text(nestedpages.link_delete_confirmation_singular);
|
40 |
+
$(NestedPages.selectors.linkDeleteConfirmationButton).text(nestedpages.delete).removeClass('bulk');
|
41 |
+
$(NestedPages.selectors.linkDeleteConfirmationModal).modal('show');
|
42 |
+
}
|
43 |
+
|
44 |
+
// Confirm Multiple link deletion
|
45 |
+
plugin.confirmMultiple = function(event)
|
46 |
+
{
|
47 |
+
if ( $('select[name="np_bulk_action"]').val() !== 'trash' ) return;
|
48 |
+
var linkCount = $(NestedPages.selectors.bulkActionRedirectIds).val();
|
49 |
+
if ( linkCount === '' ) return;
|
50 |
+
event.preventDefault();
|
51 |
+
$(NestedPages.selectors.linkDeleteConfirmationModalText).text(nestedpages.link_delete_confirmation);
|
52 |
+
$(NestedPages.selectors.linkDeleteConfirmationButton).text(nestedpages.trash_delete_links).addClass('bulk');
|
53 |
+
$(NestedPages.selectors.linkDeleteConfirmationModal).modal('show');
|
54 |
+
}
|
55 |
+
|
56 |
+
// Submit the form to delete multiple
|
57 |
+
plugin.deleteMultiple = function()
|
58 |
+
{
|
59 |
+
$(NestedPages.selectors.bulkActionsForm)[0].submit();
|
60 |
+
}
|
61 |
+
|
62 |
+
// Delete the single
|
63 |
+
plugin.deleteSingle = function()
|
64 |
+
{
|
65 |
window.location.replace(plugin.deleteLink);
|
66 |
}
|
67 |
|
68 |
+
return plugin.bindEvents();
|
69 |
}
|
assets/js/lib/nestedpages.formatter.js
CHANGED
@@ -25,7 +25,7 @@ NestedPages.Formatter = function()
|
|
25 |
? NestedPages.cssClasses.iconToggleDown
|
26 |
: NestedPages.cssClasses.iconToggleRight;
|
27 |
|
28 |
-
$(button).html('<a href="#"><i class="' + icon + '"></i></a>');
|
29 |
|
30 |
if ( ($(row).children('ol').children('.np-hide').length > 0) && ($(row).children('ol').children('.np-hide.shown').length === 0) ){
|
31 |
$(button).find('a').hide();
|
@@ -35,7 +35,7 @@ NestedPages.Formatter = function()
|
|
35 |
|
36 |
continue;
|
37 |
}
|
38 |
-
$(button).empty(); // No Child Menu
|
39 |
}
|
40 |
}
|
41 |
|
@@ -55,7 +55,7 @@ NestedPages.Formatter = function()
|
|
55 |
{
|
56 |
$.each($(NestedPages.selectors.lists), function(i, v){
|
57 |
var parent_count = $(this).parents(NestedPages.selectors.lists).length;
|
58 |
-
var padding =
|
59 |
if ( parent_count > 0 ){
|
60 |
var padding = ( parent_count * 20 ) + padding;
|
61 |
$(this).find('.row-inner').css('padding-left', padding + 'px');
|
@@ -136,4 +136,16 @@ NestedPages.Formatter = function()
|
|
136 |
}
|
137 |
|
138 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
}
|
25 |
? NestedPages.cssClasses.iconToggleDown
|
26 |
: NestedPages.cssClasses.iconToggleRight;
|
27 |
|
28 |
+
$(button).html('<div class="child-toggle-spacer"></div><a href="#"><i class="' + icon + '"></i></a>');
|
29 |
|
30 |
if ( ($(row).children('ol').children('.np-hide').length > 0) && ($(row).children('ol').children('.np-hide.shown').length === 0) ){
|
31 |
$(button).find('a').hide();
|
35 |
|
36 |
continue;
|
37 |
}
|
38 |
+
$(button).empty().html('<div class="child-toggle-spacer"></div>'); // No Child Menu
|
39 |
}
|
40 |
}
|
41 |
|
55 |
{
|
56 |
$.each($(NestedPages.selectors.lists), function(i, v){
|
57 |
var parent_count = $(this).parents(NestedPages.selectors.lists).length;
|
58 |
+
var padding = 0;
|
59 |
if ( parent_count > 0 ){
|
60 |
var padding = ( parent_count * 20 ) + padding;
|
61 |
$(this).find('.row-inner').css('padding-left', padding + 'px');
|
136 |
}
|
137 |
|
138 |
|
139 |
+
// Size the link thumbnails to the same as the page/post thumbnails
|
140 |
+
plugin.sizeLinkThumbnails = function()
|
141 |
+
{
|
142 |
+
var thumbnail = $(NestedPages.selectors.thumbnailContainer).not(NestedPages.selectors.thumbnailContainerLink).first().find('img');
|
143 |
+
var width = $(thumbnail).width();
|
144 |
+
var height = $(thumbnail).height();
|
145 |
+
$.each($(NestedPages.selectors.thumbnailContainerLink), function(){
|
146 |
+
$(this).width(width);
|
147 |
+
$(this).height(height);
|
148 |
+
});
|
149 |
+
}
|
150 |
+
|
151 |
}
|
assets/js/lib/nestedpages.hidden-item-count.js
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var NestedPages = NestedPages || {};
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The Hidden Item Count for selected items in the Nested View
|
5 |
+
* @package Nested Pages
|
6 |
+
* @author Kyle Phillips - https://github.com/kylephillips/wp-nested-pages
|
7 |
+
*/
|
8 |
+
NestedPages.HiddenItemCount = function()
|
9 |
+
{
|
10 |
+
var plugin = this;
|
11 |
+
var $ = jQuery;
|
12 |
+
|
13 |
+
plugin.init = function()
|
14 |
+
{
|
15 |
+
plugin.bindEvents();
|
16 |
+
}
|
17 |
+
|
18 |
+
plugin.bindEvents = function()
|
19 |
+
{
|
20 |
+
$(document).on('change', NestedPages.selectors.bulkActionsCheckbox, function(){
|
21 |
+
plugin.toggleHiddenCount();
|
22 |
+
});
|
23 |
+
$(document).on('click', NestedPages.selectors.toggleAll, function(){
|
24 |
+
plugin.toggleHiddenCount();
|
25 |
+
});
|
26 |
+
$(document).on('click', NestedPages.selectors.pageToggle, function(){
|
27 |
+
plugin.toggleHiddenCount();
|
28 |
+
});
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Toggle the Hidden Count
|
33 |
+
*/
|
34 |
+
plugin.toggleHiddenCount = function()
|
35 |
+
{
|
36 |
+
var hiddenCount = 0;
|
37 |
+
$.each($(NestedPages.selectors.bulkActionsCheckbox), function(){
|
38 |
+
if ( $(this).is(':checked') ) {
|
39 |
+
if ( $(this).parent('div').hasClass('np-check-all') ) return;
|
40 |
+
var row = $(this).closest('.page-row');
|
41 |
+
if ( !$(row).is(':visible') ) hiddenCount++;
|
42 |
+
}
|
43 |
+
});
|
44 |
+
if ( hiddenCount < 1 ){
|
45 |
+
$(NestedPages.selectors.hiddenItemCountParent).hide();
|
46 |
+
return;
|
47 |
+
}
|
48 |
+
$(NestedPages.selectors.hiddenItemCount).text(hiddenCount);
|
49 |
+
$(NestedPages.selectors.hiddenItemCountParent).show();
|
50 |
+
}
|
51 |
+
|
52 |
+
return plugin.init();
|
53 |
+
}
|
assets/js/lib/nestedpages.manual-sync.js
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var NestedPages = NestedPages || {};
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Manual Sync functionality for nested view
|
5 |
+
* @package Nested Pages
|
6 |
+
* @author Kyle Phillips - https://github.com/kylephillips/wp-nested-pages
|
7 |
+
*/
|
8 |
+
NestedPages.ManualSync = function()
|
9 |
+
{
|
10 |
+
var plugin = this;
|
11 |
+
var $ = jQuery;
|
12 |
+
|
13 |
+
plugin.activeBtn = '';
|
14 |
+
|
15 |
+
plugin.bindEvents = function()
|
16 |
+
{
|
17 |
+
$(document).on('click', NestedPages.selectors.manualMenuSync, function(e){
|
18 |
+
e.preventDefault();
|
19 |
+
plugin.activeBtn = $(this);
|
20 |
+
plugin.syncMenu();
|
21 |
+
});
|
22 |
+
$(document).on('click', NestedPages.selectors.manualOrderSync, function(e){
|
23 |
+
e.preventDefault();
|
24 |
+
plugin.activeBtn = $(this);
|
25 |
+
plugin.syncOrder();
|
26 |
+
});
|
27 |
+
}
|
28 |
+
|
29 |
+
plugin.syncMenu = function()
|
30 |
+
{
|
31 |
+
plugin.loading(true);
|
32 |
+
|
33 |
+
$.ajax({
|
34 |
+
url: ajaxurl,
|
35 |
+
type: 'post',
|
36 |
+
datatype: 'json',
|
37 |
+
data: {
|
38 |
+
action : NestedPages.formActions.manualMenuSync,
|
39 |
+
nonce : NestedPages.jsData.nonce,
|
40 |
+
post_type : NestedPages.jsData.posttype,
|
41 |
+
syncmenu : 'sync'
|
42 |
+
},
|
43 |
+
success: function(data){
|
44 |
+
if (data.status === 'error'){
|
45 |
+
$(NestedPages.selectors.errorDiv).text(data.message).show();
|
46 |
+
$(NestedPages.selectors.loadingIndicator).hide();
|
47 |
+
} else {
|
48 |
+
plugin.loading(false);
|
49 |
+
}
|
50 |
+
}
|
51 |
+
});
|
52 |
+
}
|
53 |
+
|
54 |
+
plugin.syncOrder = function()
|
55 |
+
{
|
56 |
+
plugin.loading(true);
|
57 |
+
var nestingClass = new NestedPages.Nesting;
|
58 |
+
nestingClass.syncNesting(true, plugin.loading(false));
|
59 |
+
}
|
60 |
+
|
61 |
+
plugin.loading = function(loading)
|
62 |
+
{
|
63 |
+
if ( loading ){
|
64 |
+
$(plugin.activeBtn).addClass('disabled');
|
65 |
+
$(NestedPages.selectors.loadingIndicator).show();
|
66 |
+
return;
|
67 |
+
}
|
68 |
+
$(plugin.activeBtn).removeClass('disabled');
|
69 |
+
$(NestedPages.selectors.loadingIndicator).hide();
|
70 |
+
}
|
71 |
+
|
72 |
+
return plugin.bindEvents();
|
73 |
+
}
|
assets/js/lib/nestedpages.menu-links.js
CHANGED
@@ -203,7 +203,7 @@ NestedPages.MenuLinks = function()
|
|
203 |
var html = '<li id="menuItem_' + plugin.post.id + '" class="page-row published';
|
204 |
html += '">'
|
205 |
|
206 |
-
html += '<div class="row"><div class="child-toggle"></div><div class="row-inner"><i class="np-icon-sub-menu"></i><i class="handle np-icon-menu"></i><a href="' + plugin.post.np_link_content + '" class="page-link page-title" target="_blank"><span class="title">' + plugin.post.menuTitle + ' <i class="np-icon-link"></i></span>';
|
207 |
|
208 |
// Quick Edit Button
|
209 |
html += '</a><a href="#" class="np-toggle-edit"><i class="np-icon-pencil"></i></a><div class="action-buttons"><a href="#" class="np-btn np-quick-edit-redirect" ';
|
203 |
var html = '<li id="menuItem_' + plugin.post.id + '" class="page-row published';
|
204 |
html += '">'
|
205 |
|
206 |
+
html += '<div class="row"><div class="child-toggle"><div class="child-toggle-spacer"></div></div><div class="row-inner"><i class="np-icon-sub-menu"></i><i class="handle np-icon-menu"></i><a href="' + plugin.post.np_link_content + '" class="page-link page-title" target="_blank"><span class="title">' + plugin.post.menuTitle + ' <i class="np-icon-link"></i></span>';
|
207 |
|
208 |
// Quick Edit Button
|
209 |
html += '</a><a href="#" class="np-toggle-edit"><i class="np-icon-pencil"></i></a><div class="action-buttons"><a href="#" class="np-btn np-quick-edit-redirect" ';
|
assets/js/lib/nestedpages.nesting.js
CHANGED
@@ -52,14 +52,18 @@ NestedPages.Nesting = function()
|
|
52 |
|
53 |
|
54 |
// Sync Nesting
|
55 |
-
plugin.syncNesting = function()
|
56 |
{
|
|
|
57 |
$(NestedPages.selectors.errorDiv).hide();
|
58 |
$(NestedPages.selectors.loadingIndicator).show();
|
59 |
|
60 |
list = $(NestedPages.selectors.sortable).nestedSortable('toHierarchy', {startDepthCount: 0});
|
61 |
plugin.disableNesting();
|
62 |
|
|
|
|
|
|
|
63 |
$.ajax({
|
64 |
url: ajaxurl,
|
65 |
type: 'post',
|
@@ -69,14 +73,18 @@ NestedPages.Nesting = function()
|
|
69 |
nonce : NestedPages.jsData.nonce,
|
70 |
list : list,
|
71 |
post_type : NestedPages.jsData.posttype,
|
72 |
-
syncmenu :
|
73 |
},
|
74 |
-
success: function(data){
|
75 |
plugin.initializeSortable();
|
76 |
if (data.status === 'error'){
|
77 |
$(NestedPages.selectors.errorDiv).text(data.message).show();
|
78 |
$(NestedPages.selectors.loadingIndicator).hide();
|
79 |
} else {
|
|
|
|
|
|
|
|
|
80 |
$(NestedPages.selectors.loadingIndicator).hide();
|
81 |
}
|
82 |
}
|
52 |
|
53 |
|
54 |
// Sync Nesting
|
55 |
+
plugin.syncNesting = function(manual, callback)
|
56 |
{
|
57 |
+
if ( nestedpages.manual_order_sync === '1' && !manual) return;
|
58 |
$(NestedPages.selectors.errorDiv).hide();
|
59 |
$(NestedPages.selectors.loadingIndicator).show();
|
60 |
|
61 |
list = $(NestedPages.selectors.sortable).nestedSortable('toHierarchy', {startDepthCount: 0});
|
62 |
plugin.disableNesting();
|
63 |
|
64 |
+
var syncmenu = NestedPages.jsData.syncmenu;
|
65 |
+
if ( nestedpages.manual_menu_sync === '1' ) syncmenu = 'nosync';
|
66 |
+
|
67 |
$.ajax({
|
68 |
url: ajaxurl,
|
69 |
type: 'post',
|
73 |
nonce : NestedPages.jsData.nonce,
|
74 |
list : list,
|
75 |
post_type : NestedPages.jsData.posttype,
|
76 |
+
syncmenu : syncmenu
|
77 |
},
|
78 |
+
success: function(data, callback){
|
79 |
plugin.initializeSortable();
|
80 |
if (data.status === 'error'){
|
81 |
$(NestedPages.selectors.errorDiv).text(data.message).show();
|
82 |
$(NestedPages.selectors.loadingIndicator).hide();
|
83 |
} else {
|
84 |
+
if ( callback && typeof callback === 'function') {
|
85 |
+
callback();
|
86 |
+
return;
|
87 |
+
}
|
88 |
$(NestedPages.selectors.loadingIndicator).hide();
|
89 |
}
|
90 |
}
|
assets/js/lib/nestedpages.new-link.js
CHANGED
@@ -92,7 +92,7 @@ NestedPages.NewLink = function()
|
|
92 |
if ( plugin.post._status === 'publish' ) html += ' published';
|
93 |
html += '">'
|
94 |
|
95 |
-
html += '<div class="row"><div class="child-toggle"></div><div class="row-inner"><i class="np-icon-sub-menu"></i><i class="handle np-icon-menu"></i><a href="' + plugin.post.np_link_content + '" class="page-link page-title" target="_blank"><span class="title">' + plugin.post.np_link_title + ' <i class="np-icon-link"></i></span>';
|
96 |
|
97 |
// Post Status
|
98 |
html += '<span class="status">';
|
92 |
if ( plugin.post._status === 'publish' ) html += ' published';
|
93 |
html += '">'
|
94 |
|
95 |
+
html += '<div class="row"><div class="child-toggle"><div class="child-toggle-spacer"></div></div><div class="row-inner"><i class="np-icon-sub-menu"></i><i class="handle np-icon-menu"></i><a href="' + plugin.post.np_link_content + '" class="page-link page-title" target="_blank"><span class="title">' + plugin.post.np_link_title + ' <i class="np-icon-link"></i></span>';
|
96 |
|
97 |
// Post Status
|
98 |
html += '<span class="status">';
|
assets/js/lib/nestedpages.new-page.js
CHANGED
@@ -50,6 +50,9 @@ NestedPages.NewPage = function()
|
|
50 |
$(NestedPages.selectors.newPageModal).on('hide.bs.modal', function(){
|
51 |
plugin.cancelNewPage();
|
52 |
});
|
|
|
|
|
|
|
53 |
$(document).on('click', NestedPages.selectors.cancelNewChildButton, function(e){
|
54 |
e.preventDefault();
|
55 |
plugin.cancelNewPage();
|
@@ -61,11 +64,19 @@ NestedPages.NewPage = function()
|
|
61 |
// Open the form modal
|
62 |
plugin.openModal = function()
|
63 |
{
|
64 |
-
var newform = $(NestedPages.selectors.newPageFormContainer).clone().find(NestedPages.selectors.newPageForm)
|
|
|
65 |
$(NestedPages.selectors.newPageModal).find('.modal-body').html(newform);
|
66 |
$(NestedPages.selectors.newPageModal).find('h3').text(nestedpages.add_multiple);
|
67 |
$(NestedPages.selectors.newPageModal).find('.page_parent_id').val(plugin.parent_id);
|
68 |
-
$(NestedPages.selectors.newPageModal).modal('show');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
}
|
70 |
|
71 |
|
@@ -91,6 +102,7 @@ NestedPages.NewPage = function()
|
|
91 |
$(newform).find('.page_parent_id').val($(button).attr('data-id'));
|
92 |
$(newform).show();
|
93 |
$(newform).find('.np_title').focus();
|
|
|
94 |
}
|
95 |
|
96 |
|
@@ -113,6 +125,7 @@ NestedPages.NewPage = function()
|
|
113 |
var html = '<li><i class="handle np-icon-menu"></i><div class="form-control new-child-row"><label>' + NestedPages.jsData.titleText + '</label><div><input type="text" name="post_title[]" class="np_title" placeholder="' + NestedPages.jsData.titleText + '" value="" tabindex="' + fieldcount + '" /><a href="#" class="button-secondary np-remove-child">-</a></div></div></li>';
|
114 |
var container = $(button).siblings('.new-page-titles').append(html);
|
115 |
$(form).find('.np_title').last().focus();
|
|
|
116 |
$('.new-page-titles').sortable({
|
117 |
items : 'li',
|
118 |
handle: '.handle',
|
@@ -205,6 +218,7 @@ NestedPages.NewPage = function()
|
|
205 |
html += '<div class="child-toggle"></div>';
|
206 |
} else {
|
207 |
html += '<div class="row non-hierarchical">';
|
|
|
208 |
}
|
209 |
|
210 |
html += '<div class="row-inner">';
|
@@ -219,9 +233,31 @@ NestedPages.NewPage = function()
|
|
219 |
html += '<span class="status"></span>';
|
220 |
}
|
221 |
|
222 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
html += '</a>';
|
224 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
// Action Buttons
|
226 |
html += '<div class="action-buttons">';
|
227 |
html += '<a href="#" class="np-btn open-redirect-modal" data-parentid="' + post.id + '"><i class="np-icon-link"></i></a>';
|
50 |
$(NestedPages.selectors.newPageModal).on('hide.bs.modal', function(){
|
51 |
plugin.cancelNewPage();
|
52 |
});
|
53 |
+
$(NestedPages.selectors.newPageModal).on('shown.bs.modal', function(){
|
54 |
+
plugin.modalOpened($(this));
|
55 |
+
});
|
56 |
$(document).on('click', NestedPages.selectors.cancelNewChildButton, function(e){
|
57 |
e.preventDefault();
|
58 |
plugin.cancelNewPage();
|
64 |
// Open the form modal
|
65 |
plugin.openModal = function()
|
66 |
{
|
67 |
+
var newform = $(NestedPages.selectors.newPageFormContainer).clone().find(NestedPages.selectors.newPageForm);
|
68 |
+
$(newform).addClass('in-modal');
|
69 |
$(NestedPages.selectors.newPageModal).find('.modal-body').html(newform);
|
70 |
$(NestedPages.selectors.newPageModal).find('h3').text(nestedpages.add_multiple);
|
71 |
$(NestedPages.selectors.newPageModal).find('.page_parent_id').val(plugin.parent_id);
|
72 |
+
$(NestedPages.selectors.newPageModal).modal('show');
|
73 |
+
}
|
74 |
+
|
75 |
+
// Modal has opened, set the attributes
|
76 |
+
plugin.modalOpened = function(modal)
|
77 |
+
{
|
78 |
+
$(modal).find('.np_title').focus();
|
79 |
+
$(modal).find(NestedPages.selectors.newPageTitle).prop('tabindex', '2');
|
80 |
}
|
81 |
|
82 |
|
102 |
$(newform).find('.page_parent_id').val($(button).attr('data-id'));
|
103 |
$(newform).show();
|
104 |
$(newform).find('.np_title').focus();
|
105 |
+
$(newform).find(NestedPages.selectors.newPageTitle).prop('tabindex', '2');
|
106 |
}
|
107 |
|
108 |
|
125 |
var html = '<li><i class="handle np-icon-menu"></i><div class="form-control new-child-row"><label>' + NestedPages.jsData.titleText + '</label><div><input type="text" name="post_title[]" class="np_title" placeholder="' + NestedPages.jsData.titleText + '" value="" tabindex="' + fieldcount + '" /><a href="#" class="button-secondary np-remove-child">-</a></div></div></li>';
|
126 |
var container = $(button).siblings('.new-page-titles').append(html);
|
127 |
$(form).find('.np_title').last().focus();
|
128 |
+
$(form).find(NestedPages.selectors.newPageTitle).prop('tabindex', fieldcount++);
|
129 |
$('.new-page-titles').sortable({
|
130 |
items : 'li',
|
131 |
handle: '.handle',
|
218 |
html += '<div class="child-toggle"></div>';
|
219 |
} else {
|
220 |
html += '<div class="row non-hierarchical">';
|
221 |
+
html += '<div class="non-hierarchical-spacer"></div>';
|
222 |
}
|
223 |
|
224 |
html += '<div class="row-inner">';
|
233 |
html += '<span class="status"></span>';
|
234 |
}
|
235 |
|
236 |
+
// Nav Status
|
237 |
+
html += '<span class="nav-status">';
|
238 |
+
if ( post.np_nav_status === 'hide' ){
|
239 |
+
html += ' ' + nestedpages.hidden;
|
240 |
+
}
|
241 |
+
html += '</span>';
|
242 |
+
|
243 |
+
html += '<span class="edit-indicator"><i class="np-icon-pencil"></i>Edit</span>';
|
244 |
html += '</a>';
|
245 |
|
246 |
+
// Non-Hierarchical Data
|
247 |
+
if ( !NestedPages.jsData.hierarchical ){
|
248 |
+
html += '<div class="np-post-columns">';
|
249 |
+
html += '<ul class="np-post-info">';
|
250 |
+
html += '<li><span class="np-author-display">' + post.author_formatted + '</span></li>';
|
251 |
+
html += '<li>' + post.date_formatted + '</li>';
|
252 |
+
html += '</ul>';
|
253 |
+
html += '</div>';
|
254 |
+
}
|
255 |
+
|
256 |
+
// Yoast
|
257 |
+
if ( $('.nplist').first().hasClass('has-yoast') ) {
|
258 |
+
html += '<span class="np-seo-indicator na"></span>';
|
259 |
+
}
|
260 |
+
|
261 |
// Action Buttons
|
262 |
html += '<div class="action-buttons">';
|
263 |
html += '<a href="#" class="np-btn open-redirect-modal" data-parentid="' + post.id + '"><i class="np-icon-link"></i></a>';
|
assets/js/lib/nestedpages.page-toggle.js
CHANGED
@@ -10,6 +10,8 @@ NestedPages.PageToggle = function()
|
|
10 |
var plugin = this;
|
11 |
var $ = jQuery;
|
12 |
|
|
|
|
|
13 |
plugin.formatter = new NestedPages.Formatter;
|
14 |
|
15 |
plugin.init = function()
|
@@ -21,6 +23,7 @@ NestedPages.PageToggle = function()
|
|
21 |
{
|
22 |
$(document).on('click', NestedPages.selectors.toggleHidden, function(e){
|
23 |
e.preventDefault();
|
|
|
24 |
plugin.toggleHidden();
|
25 |
});
|
26 |
$(document).on('click', NestedPages.selectors.toggleStatus, function(e){
|
@@ -33,19 +36,24 @@ NestedPages.PageToggle = function()
|
|
33 |
// Toggle Hidden Pages
|
34 |
plugin.toggleHidden = function()
|
35 |
{
|
36 |
-
var button =
|
37 |
var action = $(button).attr('href');
|
38 |
-
|
39 |
-
|
|
|
|
|
40 |
$(NestedPages.selectors.hiddenRows).removeClass('shown').hide();
|
41 |
plugin.formatter.updateSubMenuToggle();
|
42 |
plugin.formatter.setBorders();
|
43 |
return;
|
44 |
}
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
|
|
|
|
|
|
49 |
}
|
50 |
|
51 |
|
@@ -54,8 +62,13 @@ NestedPages.PageToggle = function()
|
|
54 |
{
|
55 |
var target = $(button).attr('href');
|
56 |
target = target.substring(1);
|
|
|
57 |
$(NestedPages.selectors.toggleStatus).removeClass('active');
|
58 |
$(button).addClass('active');
|
|
|
|
|
|
|
|
|
59 |
if ( target == 'all' ){
|
60 |
$(NestedPages.selectors.rows).show();
|
61 |
return;
|
@@ -63,7 +76,6 @@ NestedPages.PageToggle = function()
|
|
63 |
$(NestedPages.selectors.rows).hide();
|
64 |
$('.' + target).show();
|
65 |
return;
|
66 |
-
|
67 |
}
|
68 |
|
69 |
|
10 |
var plugin = this;
|
11 |
var $ = jQuery;
|
12 |
|
13 |
+
plugin.activeButton = '';
|
14 |
+
|
15 |
plugin.formatter = new NestedPages.Formatter;
|
16 |
|
17 |
plugin.init = function()
|
23 |
{
|
24 |
$(document).on('click', NestedPages.selectors.toggleHidden, function(e){
|
25 |
e.preventDefault();
|
26 |
+
plugin.activeButton = $(this);
|
27 |
plugin.toggleHidden();
|
28 |
});
|
29 |
$(document).on('click', NestedPages.selectors.toggleStatus, function(e){
|
36 |
// Toggle Hidden Pages
|
37 |
plugin.toggleHidden = function()
|
38 |
{
|
39 |
+
var button = $(plugin.activeButton);
|
40 |
var action = $(button).attr('href');
|
41 |
+
console.log(action);
|
42 |
+
|
43 |
+
if ( action == '#show' ){
|
44 |
+
$(button).attr('href', '#hide').text(NestedPages.jsData.showHiddenText);
|
45 |
$(NestedPages.selectors.hiddenRows).removeClass('shown').hide();
|
46 |
plugin.formatter.updateSubMenuToggle();
|
47 |
plugin.formatter.setBorders();
|
48 |
return;
|
49 |
}
|
50 |
+
|
51 |
+
if ( action == '#hide' ){
|
52 |
+
$(button).attr('href', '#show').text(NestedPages.jsData.hideHiddenText);
|
53 |
+
$(NestedPages.selectors.hiddenRows).addClass('shown').show();
|
54 |
+
plugin.formatter.updateSubMenuToggle();
|
55 |
+
plugin.formatter.setBorders();
|
56 |
+
}
|
57 |
}
|
58 |
|
59 |
|
62 |
{
|
63 |
var target = $(button).attr('href');
|
64 |
target = target.substring(1);
|
65 |
+
$(NestedPages.selectors.syncCheckbox).attr('disabled', false);
|
66 |
$(NestedPages.selectors.toggleStatus).removeClass('active');
|
67 |
$(button).addClass('active');
|
68 |
+
if ( target == 'draft' ){
|
69 |
+
$(NestedPages.selectors.syncCheckbox).attr('disabled', true);
|
70 |
+
$('.' + target).addClass('nested-visible');
|
71 |
+
}
|
72 |
if ( target == 'all' ){
|
73 |
$(NestedPages.selectors.rows).show();
|
74 |
return;
|
76 |
$(NestedPages.selectors.rows).hide();
|
77 |
$('.' + target).show();
|
78 |
return;
|
|
|
79 |
}
|
80 |
|
81 |
|
assets/js/lib/nestedpages.quickedit-post.js
CHANGED
@@ -330,6 +330,7 @@ NestedPages.QuickEditPost = function()
|
|
330 |
plugin.row = $(plugin.button).parents('.row-inner');
|
331 |
|
332 |
$(plugin.row).find('.title').text(plugin.newData.post_title);
|
|
|
333 |
|
334 |
var status = $(plugin.row).find('.status');
|
335 |
if ( (plugin.newData._status !== 'publish') && (plugin.newData._status !== 'future') ){
|
@@ -341,7 +342,7 @@ NestedPages.QuickEditPost = function()
|
|
341 |
}
|
342 |
|
343 |
// Password Lock Icon
|
344 |
-
if ( plugin.newData.post_password !== "" ){
|
345 |
var statustext = $(status).text();
|
346 |
statustext += ' <i class="np-icon-lock"></i>';
|
347 |
$(status).html(statustext);
|
@@ -418,9 +419,9 @@ NestedPages.QuickEditPost = function()
|
|
418 |
// Add Status Class
|
419 |
plugin.addStatusClass = function()
|
420 |
{
|
421 |
-
var
|
422 |
-
for ( i = 0; i <
|
423 |
-
$(plugin.row).removeClass(
|
424 |
}
|
425 |
$(plugin.row).addClass(plugin.newData._status);
|
426 |
}
|
330 |
plugin.row = $(plugin.button).parents('.row-inner');
|
331 |
|
332 |
$(plugin.row).find('.title').text(plugin.newData.post_title);
|
333 |
+
$(plugin.row).find('.np-view-button').attr('href', plugin.newData.permalink);
|
334 |
|
335 |
var status = $(plugin.row).find('.status');
|
336 |
if ( (plugin.newData._status !== 'publish') && (plugin.newData._status !== 'future') ){
|
342 |
}
|
343 |
|
344 |
// Password Lock Icon
|
345 |
+
if ( plugin.newData.post_password !== "" && typeof plugin.newData.post_password !== 'undefined'){
|
346 |
var statustext = $(status).text();
|
347 |
statustext += ' <i class="np-icon-lock"></i>';
|
348 |
$(status).html(statustext);
|
419 |
// Add Status Class
|
420 |
plugin.addStatusClass = function()
|
421 |
{
|
422 |
+
var statuses = ['published', 'draft', 'pending', 'future'];
|
423 |
+
for ( i = 0; i < statuses.length; i++ ){
|
424 |
+
$(plugin.row).removeClass(statuses[i]);
|
425 |
}
|
426 |
$(plugin.row).addClass(plugin.newData._status);
|
427 |
}
|
assets/js/lib/nestedpages.settings.js
ADDED
@@ -0,0 +1,187 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var NestedPages = NestedPages || {};
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Settings
|
5 |
+
* @package Nested Pages
|
6 |
+
* @author Kyle Phillips - https://github.com/kylephillips/wp-nested-pages
|
7 |
+
*/
|
8 |
+
NestedPages.Settings = function()
|
9 |
+
{
|
10 |
+
var plugin = this;
|
11 |
+
var $ = jQuery;
|
12 |
+
|
13 |
+
plugin.selectors = {
|
14 |
+
postTypeToggle : '[data-toggle-nestedpages-pt-settings]', // Toggle Button for Post Type Settings
|
15 |
+
postTypeCheckbox : '[data-nestedpages-pt-checkbox]', // Checkbox for enabling post type
|
16 |
+
customFieldsCheckbox : '[data-toggle-nestedpages-cf-settings]', // Checkbox for toggling custom fields settings
|
17 |
+
standardFieldsCheckbox : '[data-toggle-nestedpages-sf-settings]', // Checkbox for toggling standard field settings
|
18 |
+
taxonomiesFieldCheckbox : '[data-hide-taxonomies]', // Checkbox for disabling taxonomies from quick edit
|
19 |
+
thumbnailsCheckbox : '[data-enable-thumbnails]', // Checkbox for enabling thumbnails in sort view
|
20 |
+
menuEnabledOption : '[data-menu-enabled-option]', // Options when the menu is enabled
|
21 |
+
disableMenuCheckbox : '[data-disable-menu-checkbox]', // Checkbox for disabling menus completely
|
22 |
+
disableAutoCheckbox : '[data-menu-disable-auto-checkbox]', // Checkbox for disabling auto menu sync
|
23 |
+
}
|
24 |
+
|
25 |
+
plugin.bindEvents = function()
|
26 |
+
{
|
27 |
+
$(document).ready(function(){
|
28 |
+
plugin.toggleAllSettingsButtons();
|
29 |
+
plugin.toogleAllFieldSettings('.custom-fields');
|
30 |
+
plugin.toogleAllFieldSettings('.standard-fields');
|
31 |
+
plugin.toggleMenuCheckboxes();
|
32 |
+
plugin.toggleHideCheckbox();
|
33 |
+
});
|
34 |
+
$(document).on('click', plugin.selectors.postTypeToggle, function(e){
|
35 |
+
e.preventDefault();
|
36 |
+
plugin.togglePostTypeSettings($(this));
|
37 |
+
});
|
38 |
+
$(document).on('change', plugin.selectors.postTypeCheckbox, function(){
|
39 |
+
plugin.toggleSettingsButton($(this));
|
40 |
+
});
|
41 |
+
$(document).on('change', plugin.selectors.customFieldsCheckbox, function(){
|
42 |
+
plugin.toogleFieldSettings($(this), '.custom-fields');
|
43 |
+
});
|
44 |
+
$(document).on('change', plugin.selectors.standardFieldsCheckbox, function(){
|
45 |
+
plugin.toogleFieldSettings($(this), '.standard-fields');
|
46 |
+
});
|
47 |
+
$(document).on('change', plugin.selectors.taxonomiesFieldCheckbox, function(){
|
48 |
+
plugin.toggleTaxonomyCheckboxes($(this));
|
49 |
+
});
|
50 |
+
$(document).on('change', plugin.selectors.thumbnailsCheckbox, function(){
|
51 |
+
plugin.toggleThumbnailSettings($(this));
|
52 |
+
});
|
53 |
+
$(document).on('change', plugin.selectors.disableMenuCheckbox, function(){
|
54 |
+
plugin.toggleMenuCheckboxes();
|
55 |
+
});
|
56 |
+
$(document).on('change', plugin.selectors.disableAutoCheckbox, function(){
|
57 |
+
plugin.toggleHideCheckbox();
|
58 |
+
});
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Toggle Individual Post Type Settings
|
63 |
+
*/
|
64 |
+
plugin.togglePostTypeSettings = function(button)
|
65 |
+
{
|
66 |
+
$(button).parent('.head').siblings('.body').toggle();
|
67 |
+
$(button).parents('.post-type').toggleClass('active');
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Show/Hide the settings toggle button for enabled/disabled post types
|
72 |
+
*/
|
73 |
+
plugin.toggleSettingsButton = function(checkbox)
|
74 |
+
{
|
75 |
+
var button = $(checkbox).parents('.head').find(plugin.selectors.postTypeToggle);
|
76 |
+
if ( $(checkbox).is(':checked') ){
|
77 |
+
$(button).show();
|
78 |
+
return;
|
79 |
+
}
|
80 |
+
$(button).hide();
|
81 |
+
$(button).parents('.head').siblings('.body').hide();
|
82 |
+
$(button).parents('.post-type').removeClass('active');
|
83 |
+
$(button).parents('.head').siblings('.body').find('input[type="checkbox"]').attr('checked', false);
|
84 |
+
$(button).parents('.head').siblings('.body').find('select').val(false);
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Toggle all the settings toggle buttons
|
89 |
+
*/
|
90 |
+
plugin.toggleAllSettingsButtons = function()
|
91 |
+
{
|
92 |
+
var checkboxes = $(plugin.selectors.postTypeCheckbox);
|
93 |
+
$.each(checkboxes, function(){
|
94 |
+
plugin.toggleSettingsButton($(this));
|
95 |
+
});
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* Toggle Custom Field Choices
|
100 |
+
*/
|
101 |
+
plugin.toogleFieldSettings = function(checkbox, fieldGroupClass)
|
102 |
+
{
|
103 |
+
var choices = $(checkbox).parents('.body').find(fieldGroupClass);
|
104 |
+
if ( $(checkbox).is(':checked') ){
|
105 |
+
$(choices).show();
|
106 |
+
return;
|
107 |
+
}
|
108 |
+
$(choices).hide();
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Toggle All the Custom Field Choices
|
113 |
+
*/
|
114 |
+
plugin.toogleAllFieldSettings = function(fieldGroupClass)
|
115 |
+
{
|
116 |
+
var checkboxes = $(plugin.selectors.customFieldsCheckbox);
|
117 |
+
if ( fieldGroupClass == '.standard-fields' ){
|
118 |
+
var checkboxes = $(plugin.selectors.standardFieldsCheckbox);
|
119 |
+
}
|
120 |
+
$.each(checkboxes, function(){
|
121 |
+
plugin.toogleFieldSettings($(this), fieldGroupClass);
|
122 |
+
});
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Toggle Taxonomy Checkboxes
|
127 |
+
*/
|
128 |
+
plugin.toggleTaxonomyCheckboxes = function(checkbox)
|
129 |
+
{
|
130 |
+
var choices = $(checkbox).parents('ul').find($('*[data-taxonomy-single]'));
|
131 |
+
if ( $(checkbox).is(':checked') ){
|
132 |
+
$(choices).hide();
|
133 |
+
return;
|
134 |
+
}
|
135 |
+
$(choices).show();
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Toggle the Thumbnail Settings
|
140 |
+
*/
|
141 |
+
plugin.toggleThumbnailSettings = function(checkbox)
|
142 |
+
{
|
143 |
+
var settings = $(checkbox).parents('.field').find($('*[data-thumbnail-options]'));
|
144 |
+
if ( $(checkbox).is(':checked') ){
|
145 |
+
$(settings).show();
|
146 |
+
return;
|
147 |
+
}
|
148 |
+
$(settings).hide();
|
149 |
+
}
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Toggle the Menu Checkboxes
|
153 |
+
*/
|
154 |
+
plugin.toggleMenuCheckboxes = function()
|
155 |
+
{
|
156 |
+
var checkbox = $(plugin.selectors.disableMenuCheckbox);
|
157 |
+
var menuCheckboxes = $(plugin.selectors.menuEnabledOption);
|
158 |
+
if ( $(checkbox).is(':checked') ){
|
159 |
+
$(menuCheckboxes).hide();
|
160 |
+
return;
|
161 |
+
}
|
162 |
+
$(menuCheckboxes).show();
|
163 |
+
}
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Toggle the hide checkbox option
|
167 |
+
*/
|
168 |
+
plugin.toggleHideCheckbox = function()
|
169 |
+
{
|
170 |
+
var checkbox = $(plugin.selectors.disableAutoCheckbox);
|
171 |
+
var hideCheckboxOption = $('[data-menu-hide-checkbox]');
|
172 |
+
if ( $(checkbox).is(':checked') ){
|
173 |
+
$(hideCheckboxOption).hide();
|
174 |
+
return;
|
175 |
+
}
|
176 |
+
$(hideCheckboxOption).show();
|
177 |
+
}
|
178 |
+
|
179 |
+
plugin.init = function()
|
180 |
+
{
|
181 |
+
plugin.bindEvents();
|
182 |
+
}
|
183 |
+
|
184 |
+
return plugin.init();
|
185 |
+
}
|
186 |
+
|
187 |
+
new NestedPages.Settings;
|
assets/js/lib/nestedpages.sync-menu-setting.js
CHANGED
@@ -20,6 +20,7 @@ NestedPages.SyncMenuSetting = function()
|
|
20 |
plugin.bindEvents = function()
|
21 |
{
|
22 |
$(document).ready(function(){ // catches trash updates
|
|
|
23 |
if ( nestedpages.syncmenu === '1' ) plugin.syncSetting();
|
24 |
});
|
25 |
$(document).on('change', NestedPages.selectors.syncCheckbox, function(){
|
20 |
plugin.bindEvents = function()
|
21 |
{
|
22 |
$(document).ready(function(){ // catches trash updates
|
23 |
+
if ( nestedpages.manual_menu_sync === '1' ) return;
|
24 |
if ( nestedpages.syncmenu === '1' ) plugin.syncSetting();
|
25 |
});
|
26 |
$(document).on('change', NestedPages.selectors.syncCheckbox, function(){
|
assets/js/nestedpages.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
var NestedPages=NestedPages||{};NestedPages.Responsive=function(){var e=this,t=jQuery;return e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.toggleEditButtons,function(a){a.preventDefault(),e.toggleEdit(t(this))}),t(window).resize(function(){e.timer(function(){t(".action-buttons").removeAttr("style"),t(".np-toggle-edit").removeClass("active")},500)})},e.toggleEdit=function(e){var a=t(e).siblings(".action-buttons");return t(a).is(":visible")?(t(e).removeClass("active"),void t(a).hide()):(t(e).addClass("active"),void t(a).show())},e.timer=function(){var e=0;return function(t,a){clearTimeout(e),e=setTimeout(t,a)}}(),e.init()};var NestedPages=NestedPages||{};NestedPages.Formatter=function(){var e=this,t=jQuery;e.updateSubMenuToggle=function(){for(var e=t(NestedPages.selectors.childToggle),a=0;a<e.length;a++){var s=e[a],n=t(s).parent(".row").parent("li");if(t(n).children("ol").length>0){var o=t(n).children("ol:visible").length>0?NestedPages.cssClasses.iconToggleDown:NestedPages.cssClasses.iconToggleRight;t(s).html('<a href="#"><i class="'+o+'"></i></a>'),t(n).children("ol").children(".np-hide").length>0&&0===t(n).children("ol").children(".np-hide.shown").length?t(s).find("a").hide():t(n).children("ol").children(".np-hide").length>0&&t(n).children("ol").children(".np-hide.shown").length>0&&t(s).find("a").show()}else t(s).empty()}},e.setBorders=function(){t(NestedPages.selectors.rows).removeClass(NestedPages.cssClasses.noborder),t.each(t(NestedPages.selectors.lists),function(){t(this).find(".page-row:visible:first").addClass(NestedPages.cssClasses.noborder)})},e.setNestedMargins=function(){t.each(t(NestedPages.selectors.lists),function(){var e=t(this).parents(NestedPages.selectors.lists).length,a=56;if(e>0){var a=20*e+a;return void t(this).find(".row-inner").css("padding-left",a+"px")}t(this).find(".row-inner").css("padding-left","0px")})},e.updatePlaceholderWidth=function(a){if(NestedPages.jsData.nestable){var s=t(a.placeholder).parents("ol").length,n=t(NestedPages.selectors.sortable).width(),o=40*s-40,i=n-o;t(a.placeholder).width(i).css("margin-left",o+"px")}e.updateListVisibility(a)},e.updateListVisibility=function(e){var a=t(e.placeholder).parent("ol");t(a).is(":visible")||(t(a).addClass("nplist"),t(a).show())},e.removeQuickEdit=function(){t(NestedPages.selectors.quickEditOverlay).removeClass("active").remove(),t(".sortable .quick-edit").remove(),t(".row").show()},e.showQuickEdit=function(){t("body").append('<div class="np-inline-overlay"></div>'),setTimeout(function(){t(".np-inline-overlay").addClass("active")},50)},e.flashRow=function(a){t(a).addClass("np-updated"),e.setBorders(),setTimeout(function(){t(a).addClass("np-updated-show")},1500)},e.showAjaxError=function(e){t(NestedPages.selectors.ajaxError).find("p").text(e),t(NestedPages.selectors.ajaxError).show()},e.hideAjaxError=function(){t(NestedPages.selectors.ajaxError).hide()}};var NestedPages=NestedPages||{};NestedPages.MenuToggle=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.bindEvents=function(){t(document).on("click",NestedPages.selectors.childToggleLink,function(a){a.preventDefault(),e.toggleSingleMenu(t(this))}),t(document).on("click",NestedPages.selectors.toggleAll,function(t){t.preventDefault(),e.toggleAllMenus()})},e.toggleSingleMenu=function(a){var s=t(a).parent(NestedPages.selectors.childToggle).parent(NestedPages.selectors.row).siblings("ol");t(a).find("i").toggleClass(NestedPages.cssClasses.iconToggleDown).toggleClass(NestedPages.cssClasses.iconToggleRight),t(s).toggle(),e.formatter.setBorders(),e.formatter.setNestedMargins(),e.syncUserToggles()},e.toggleAllMenus=function(){var a=NestedPages.selectors.toggleAll;return"closed"===t(a).attr("data-toggle")?(t(NestedPages.selectors.lists).show(),t(a).attr("data-toggle","opened").text(NestedPages.jsData.collapseText),t(NestedPages.selectors.childToggle).find("i").removeClass(NestedPages.cssClasses.iconToggleRight).addClass(NestedPages.cssClasses.iconToggleDown),e.formatter.setBorders(),void e.syncUserToggles()):(t(NestedPages.selectors.lists).not(t(NestedPages.selectors.lists)[0]).hide(),t(a).attr("data-toggle","closed").text(NestedPages.jsData.expandText),t(NestedPages.selectors.childToggle).find("i").removeClass(NestedPages.cssClasses.iconToggleDown).addClass(NestedPages.cssClasses.iconToggleRight),e.formatter.setBorders(),void e.syncUserToggles())},e.visibleRowIDs=function(){var e=[],a=t(NestedPages.selectors.rows+":visible");return t.each(a,function(){var a=t(this).attr("id");e.push(a.replace("menuItem_",""))}),e},e.syncUserToggles=function(){t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.syncToggles,nonce:NestedPages.jsData.nonce,ids:e.visibleRowIDs(),posttype:NestedPages.jsData.posttype},success:function(e){"success"!==e.status&&console.log("There was an error saving toggled pages.")}})},e.bindEvents()};var NestedPages=NestedPages||{};NestedPages.PageToggle=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.toggleHidden,function(t){t.preventDefault(),e.toggleHidden()}),t(document).on("click",NestedPages.selectors.toggleStatus,function(a){a.preventDefault(),e.toggleStatus(t(this))})},e.toggleHidden=function(){var a=NestedPages.selectors.toggleHidden,s=t(a).attr("href");return"show"===s?(t(a).attr("href","hide").text(NestedPages.jsData.showHiddenText),t(NestedPages.selectors.hiddenRows).removeClass("shown").hide(),e.formatter.updateSubMenuToggle(),void e.formatter.setBorders()):(t(a).attr("href","show").text(NestedPages.jsData.hideHiddenText),t(NestedPages.selectors.hiddenRows).addClass("shown").show(),e.formatter.updateSubMenuToggle(),void e.formatter.setBorders())},e.toggleStatus=function(e){var a=t(e).attr("href");return a=a.substring(1),t(NestedPages.selectors.toggleStatus).removeClass("active"),t(e).addClass("active"),"all"==a?void t(NestedPages.selectors.rows).show():(t(NestedPages.selectors.rows).hide(),void t("."+a).show())},e.init()};var NestedPages=NestedPages||{};NestedPages.Nesting=function(){var e=this,t=jQuery;e.formatter=new NestedPages.Formatter,e.initializeSortable=function(){maxLevels=NestedPages.jsData.nestable?0:1,t(NestedPages.selectors.sortable).not(NestedPages.selectors.notSortable).nestedSortable({items:NestedPages.selectors.rows,toleranceElement:"> .row",handle:NestedPages.selectors.handle,placeholder:"ui-sortable-placeholder",maxLevels:maxLevels,tabSize:56,start:function(e,t){t.placeholder.height(t.item.height())},sort:function(t,a){e.formatter.updatePlaceholderWidth(a)},stop:function(){setTimeout(function(){e.formatter.updateSubMenuToggle(),e.formatter.setBorders(),e.formatter.setNestedMargins()},100),e.syncNesting()}})},e.disableNesting=function(){t(NestedPages.selectors.sortable).sortable("destroy")},e.syncNesting=function(){t(NestedPages.selectors.errorDiv).hide(),t(NestedPages.selectors.loadingIndicator).show(),list=t(NestedPages.selectors.sortable).nestedSortable("toHierarchy",{startDepthCount:0}),e.disableNesting(),t.ajax({url:ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.syncNesting,nonce:NestedPages.jsData.nonce,list:list,post_type:NestedPages.jsData.posttype,syncmenu:NestedPages.jsData.syncmenu},success:function(a){e.initializeSortable(),"error"===a.status?(t(NestedPages.selectors.errorDiv).text(a.message).show(),t(NestedPages.selectors.loadingIndicator).hide()):t(NestedPages.selectors.loadingIndicator).hide()}})}};var NestedPages=NestedPages||{};NestedPages.SyncMenuSetting=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).ready(function(){"1"===nestedpages.syncmenu&&e.syncSetting()}),t(document).on("change",NestedPages.selectors.syncCheckbox,function(){e.syncSetting()})},e.syncSetting=function(){"page"===NestedPages.jsData.posttype&&0!==t(NestedPages.selectors.syncCheckbox).length&&(NestedPages.jsData.syncmenu=t(NestedPages.selectors.syncCheckbox).is(":checked")?"sync":"nosync",t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.syncMenu,nonce:NestedPages.jsData.nonce,post_type:NestedPages.jsData.posttype,syncmenu:NestedPages.jsData.syncmenu},success:function(t){"error"===t.status&&e.formatter.showAjaxError(t.message)}}))},e.bindEvents()};var NestedPages=NestedPages||{};NestedPages.NewPage=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.parent_id=0,e.posts="",e.form="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.openPageModal,function(t){t.preventDefault(),e.openModal()}),t(document).on("submit",NestedPages.selectors.newPageForm,function(e){e.preventDefault()}),t(document).on("click",NestedPages.selectors.newPageSubmitButton,function(a){a.preventDefault(),e.submitForm(t(this))}),t(document).on("click",NestedPages.selectors.newPageTitle,function(a){a.preventDefault(),e.addTitleField(t(this))}),t(document).on("click",NestedPages.selectors.newPageRemoveTitle,function(a){a.preventDefault(),e.removeTitleField(t(this))}),t(document).on("click",NestedPages.selectors.addChildButton,function(a){a.preventDefault(),e.openQuickEdit(t(this))}),t(NestedPages.selectors.newPageModal).on("hide.bs.modal",function(){e.cancelNewPage()}),t(document).on("click",NestedPages.selectors.cancelNewChildButton,function(a){a.preventDefault(),e.cancelNewPage(),t(NestedPages.selectors.newPageModal).modal("hide")})},e.openModal=function(){var a=t(NestedPages.selectors.newPageFormContainer).clone().find(NestedPages.selectors.newPageForm).addClass("in-modal");t(NestedPages.selectors.newPageModal).find(".modal-body").html(a),t(NestedPages.selectors.newPageModal).find("h3").text(nestedpages.add_multiple),t(NestedPages.selectors.newPageModal).find(".page_parent_id").val(e.parent_id),t(NestedPages.selectors.newPageModal).modal("show")},e.openQuickEdit=function(a){var s=t(a).closest(NestedPages.selectors.row).parent("li"),n=t(NestedPages.selectors.newPageFormContainer).clone();if(t(s).children("ol").length>0){var o=t(s).children("ol");t(n).insertBefore(o)}else t(n).appendTo(s);t(n).siblings(NestedPages.selectors.row).hide(),e.formatter.showQuickEdit(),t(n).find(".parent_name").html("<em>Parent:</em> "+t(a).attr("data-parentname")),t(n).find(".page_parent_id").val(t(a).attr("data-id")),t(n).show(),t(n).find(".np_title").focus()},e.cancelNewPage=function(){e.formatter.removeQuickEdit(),t(NestedPages.selectors.newChildError).hide(),t(NestedPages.selectors.newPageModal).find(".modal-body").empty(),t(NestedPages.selectors.sortable).find(".new-child").remove(),t(NestedPages.selectors.row).show()},e.addTitleField=function(e){{var a=t(e).parents("form"),s=t(e).siblings(".new-page-titles").children("li").length+1,n='<li><i class="handle np-icon-menu"></i><div class="form-control new-child-row"><label>'+NestedPages.jsData.titleText+'</label><div><input type="text" name="post_title[]" class="np_title" placeholder="'+NestedPages.jsData.titleText+'" value="" tabindex="'+s+'" /><a href="#" class="button-secondary np-remove-child">-</a></div></div></li>';t(e).siblings(".new-page-titles").append(n)}t(a).find(".np_title").last().focus(),t(".new-page-titles").sortable({items:"li",handle:".handle"})},e.removeTitleField=function(e){t(e).parents(".new-child-row").parent("li").remove()},e.submitForm=function(a){e.toggleLoading(!0),e.form=t(a).parents("form");var s=t(a).hasClass("add-edit")?!0:!1;t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:t(e.form).serialize()+"&action="+NestedPages.formActions.newPage+"&nonce="+NestedPages.jsData.nonce+"&syncmenu="+NestedPages.jsData.syncmenu+"&post_type="+NestedPages.jsData.posttype,success:function(a){if("error"===a.status)return e.toggleLoading(!1),void t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text(a.message).show();if(s===!0){var n=a.new_pages[0].edit_link;return n=n.replace(/&/g,"&"),void window.location.replace(n)}e.toggleLoading(!1),e.posts=a.new_pages,e.addPosts()},error:function(a){console.log(a),e.toggleLoading(!1),t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text("The form could not be saved at this time.").show()}})},e.addPosts=function(){var a=t(e.form).parent(".new-child").parent(".page-row");if(0===t(a).children("ol").length&&t(a).append('<ol class="nplist"></ol>'),t(e.form).hasClass("in-modal"))var s=t(".nplist.sortable li.page-row:first");else var s=t(a).children("ol");for(i=0;i<e.posts.length;i++)e.appendRows(s,e.posts[i]);t(s).show(),e.formatter.updateSubMenuToggle(),e.cancelNewPage(),t(NestedPages.selectors.newPageModal).modal("hide")},e.appendRows=function(e,a){var s='<li id="menuItem_'+a.id+'" class="page-row';"publish"===a.status&&(s+=" published"),s+='">',NestedPages.jsData.hierarchical?(s+='<div class="row">',s+='<div class="child-toggle"></div>'):s+='<div class="row non-hierarchical">',s+='<div class="row-inner">',s+='<i class="np-icon-sub-menu"></i><i class="handle np-icon-menu"></i>',s+='<a href="'+a.edit_link+'" class="page-link page-title">',s+='<span class="title">'+a.title+"</span>",s+="Publish"!==a.status?'<span class="status">('+a.status+")</span>":'<span class="status"></span>',s+='<span class="nav-status"></span><span class="edit-indicator"><i class="np-icon-pencil"></i>Edit</span>',s+="</a>",s+='<div class="action-buttons">',s+='<a href="#" class="np-btn open-redirect-modal" data-parentid="'+a.id+'"><i class="np-icon-link"></i></a>',s+='<a href="#" class="np-btn add-new-child" data-id="'+a.id+'" data-parentname="'+a.title+'">'+nestedpages.add_child_short+"</a>",s+='<a href="#" class="np-btn np-quick-edit" data-id="'+a.id+'" data-template="'+a.page_template+'" data-title="'+a.title+'" data-slug="'+a.slug+'" data-commentstatus="closed" data-status="'+a.status.toLowerCase()+'" data-np-status="show" data-navstatus="show" data-author="'+a.author+'" data-template="'+a.template+'" data-month="'+a.month+'" data-day="'+a.day+'" data-year="'+a.year+'" data-hour="'+a.hour+'" data-minute="'+a.minute+'" data-datepicker="'+a.datepicker+'" data-time="'+a.time+'" data-formattedtime="'+a.formattedtime+'" data-ampm="'+a.ampm+'">'+nestedpages.quick_edit+"</a>",s+='<a href="'+a.view_link+'" class="np-btn" target="_blank">'+nestedpages.view+"</a>",s+='<a href="'+a.delete_link+'" class="np-btn np-btn-trash"><i class="np-icon-remove"></i></a>',s+="</div><!-- .action-buttons -->",s+="</div><!-- .row-inner --></div><!-- .row -->",s+="</li>",t(e).append(s)},e.toggleLoading=function(e){return e?(t(NestedPages.selectors.quickEditErrorDiv).hide(),t(NestedPages.selectors.newPageSubmitButton).attr("disabled","disabled"),void t(NestedPages.selectors.quickEditLoadingIndicator).show()):(t(NestedPages.selectors.newPageSubmitButton).attr("disabled",!1),void t(NestedPages.selectors.quickEditLoadingIndicator).hide())},e.init()};var NestedPages=NestedPages||{};NestedPages.QuickEditPost=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.button="",e.initialData="",e.parent_li="",e.form="",e.flatTerms="",e.termNames="",e.saveButton="",e.newData="",e.row="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.quickEditOpen,function(a){a.preventDefault(),e.button=t(this),e.openForm()}),t(document).on("click",NestedPages.selectors.quickEditCancel,function(t){t.preventDefault(),e.formatter.removeQuickEdit()}),t(document).on("click",NestedPages.selectors.quickEditToggleTaxonomies,function(e){e.preventDefault(),t(this).parents("form").find(".np-taxonomies").toggle()}),t(document).on("click",NestedPages.selectors.quickEditToggleMenuOptions,function(e){e.preventDefault(),t(this).parents("form").find(".np-menuoptions").toggle()}),t(document).on("change",".keep_private",function(){this.checked?t(".post_password").val("").prop("readonly",!0):t(".post_password").prop("readonly",!1)}),t(document).on("click",NestedPages.selectors.quickEditSaveButton,function(a){a.preventDefault(),e.saveButton=t(this),e.save()}),t(document).on("keydown",function(t){27===t.keyCode&&e.formatter.removeQuickEdit()})},e.openForm=function(){e.setInitialData(),e.createForm(),e.populateForm(),e.populateFlatTaxonomies()},e.setInitialData=function(){e.initialData={id:t(e.button).attr("data-id"),title:t(e.button).attr("data-title"),slug:t(e.button).attr("data-slug"),author:t(e.button).attr("data-author"),cs:t(e.button).attr("data-commentstatus"),status:t(e.button).attr("data-status"),template:t(e.button).attr("data-template"),month:t(e.button).attr("data-month"),day:t(e.button).attr("data-day"),year:t(e.button).attr("data-year"),hour:t(e.button).attr("data-hour"),minute:t(e.button).attr("data-minute"),navstatus:t(e.button).attr("data-navstatus"),npstatus:t(e.button).attr("data-np-status"),navtitle:t(e.button).attr("data-navtitle"),navtitleattr:t(e.button).attr("data-navtitleattr"),navcss:t(e.button).attr("data-navcss"),linktarget:t(e.button).attr("data-linktarget"),password:t(e.button).attr("data-password"),datepicker:t(e.button).attr("data-datepicker"),time:t(e.button).attr("data-formattedtime"),ampm:t(e.button).attr("data-ampm")},e.initialData.h_taxonomies=[],e.initialData.f_taxonomies=[],e.parent_li=t(e.button).closest(NestedPages.selectors.row).parent("li");var a=t(e.parent_li).attr("class").split(/\s+/);for(i=0;i<a.length;i++)"in-"===a[i].substring(0,3)&&e.initialData.h_taxonomies.push(a[i]),"inf-"===a[i].substring(0,4)&&e.initialData.f_taxonomies.push(a[i])},e.createForm=function(){if(e.form=t(NestedPages.selectors.quickEditPostForm).clone(),t(e.parent_li).children("ol").length>0){var a=t(e.parent_li).children("ol");t(e.form).insertBefore(a)}else t(e.form).appendTo(e.parent_li);t(e.form).siblings(NestedPages.selectors.row).hide(),t(e.form).show()},e.populateForm=function(){if(t(e.form).find(".page_id").html("<em>ID:</em> "+e.initialData.id),t(e.form).find(".np_id").val(e.initialData.id),t(e.form).find(".np_title").val(e.initialData.title),t(e.form).find(".np_slug").val(e.initialData.slug),t(e.form).find(".np_author select").val(e.initialData.author),t(e.form).find(".np_status").val(e.initialData.status),t(e.form).find(".np_nav_title").val(e.initialData.navtitle),t(e.form).find(".np_title_attribute").val(e.initialData.navtitleattr),t(e.form).find(".np_nav_css_classes").val(e.initialData.navcss),t(e.form).find(".post_password").val(e.initialData.password),t(e.form).find(".np_datepicker").val(e.initialData.datepicker),t(e.form).find(".np_time").val(e.initialData.time),t(e.form).find(".np_ampm").val(e.initialData.ampm),"open"===e.initialData.cs&&t(e.form).find(".np_cs").attr("checked","checked"),t(e.form).find(".np_template").val(""!==e.initialData.template?e.initialData.template:"default"),"private"===e.initialData.status&&(t(e.form).find(".post_password").attr("readonly",!0),t(e.form).find(".keep_private").attr("checked",!0)),"hide"===e.initialData.npstatus?t(e.form).find(".np_status").attr("checked","checked"):t(e.form).find(".np_status").removeAttr("checked"),"hide"===e.initialData.navstatus?t(e.form).find(".np_nav_status").attr("checked","checked"):t(e.form).find(".np_nav_status").attr("checked",!1),"_blank"===e.initialData.linktarget?t(e.form).find(".link_target").attr("checked","checked"):t(e.form).find(".link_target").attr("checked",!1),"private"===e.initialData.status&&t(e.form).find(".np_status").val("publish"),t(e.form).find('select[name="mm"]').val(e.initialData.month),t(e.form).find('input[name="jj"]').val(e.initialData.day),t(e.form).find('input[name="aa"]').val(e.initialData.year),t(e.form).find('input[name="hh"]').val(e.initialData.hour),t(e.form).find('input[name="mn"]').val(e.initialData.minute),e.initialData.hasOwnProperty("h_taxonomies")){var a=e.initialData.h_taxonomies;for(i=0;i<a.length;i++){var s="#"+a[i];t(e.form).find(s).attr("checked","checked")}}t(e.form).find(".np_datepicker").datepicker({beforeShow:function(){t("#ui-datepicker-div").addClass("nestedpages-datepicker")}}),e.formatter.showQuickEdit(),t(e.form).show()},e.populateFlatTaxonomies=function(){e.initialData.hasOwnProperty("f_taxonomies")&&(e.createTaxonomyObject(),e.getTermNames(),e.setWPSuggest())},e.createTaxonomyObject=function(){var t={};for(i=0;i<e.initialData.f_taxonomies.length;i++){var a=e.initialData.f_taxonomies[i],s=a.split("-"),n=s.indexOf("nps"),o=s.splice(n+1);o=o.join("-");var r=a.split("-").splice(0,n);r.shift("inf");var d=r.join("-");d in t||(t[d]=[]);var l=t[d];l.push(o)}e.flatTerms=t},e.getTermNames=function(){t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.getTaxonomies,nonce:NestedPages.jsData.nonce,terms:e.flatTerms},success:function(t){e.termNames=t.terms,e.populateFlatTaxonomyFields()}})},e.populateFlatTaxonomyFields=function(){e.termNames&&t.each(e.termNames,function(e,a){var s=t("#"+e);t(s).val(a.join(","))})},e.setWPSuggest=function(){var a=t(e.form).find("[data-autotag]");t.each(a,function(){var e=t(this).attr("data-taxonomy");t(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+e,{multiple:!0,multipleSep:","})})},e.save=function(){e.toggleLoading(!0),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:t(e.form).find("form").serialize()+"&action="+NestedPages.formActions.quickEditPost+"&nonce="+NestedPages.jsData.nonce+"&syncmenu="+NestedPages.jsData.syncmenu+"&post_type="+NestedPages.jsData.posttype,success:function(a){"error"===a.status?(e.toggleLoading(!1),t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text(a.message).show()):(e.toggleLoading(!1),e.newData=a.post_data,e.updatePostRow())},error:function(e){console.log(e)}})},e.updatePostRow=function(){e.row=t(e.button).parents(".row-inner"),t(e.row).find(".title").text(e.newData.post_title);var a=t(e.row).find(".status");if(t(a).text("publish"!==e.newData._status&&"future"!==e.newData._status?"("+e.newData._status+")":"private"===e.newData.keep_private?"("+e.newData.keep_private+")":""),""!==e.newData.post_password){var s=t(a).text();s+=' <i class="np-icon-lock"></i>',t(a).html(s)}var n=t(e.row).find(".nav-status");t(n).text("hide"==e.newData.nav_status?"(Hidden)":"");var o=t(e.row).parent("li");"hide"==e.newData.np_status?(t(o).addClass("np-hide"),t(e.row).find(".status").after('<i class="np-icon-eye-blocked"></i>')):(t(o).removeClass("np-hide"),t(e.row).find(".np-icon-eye-blocked").remove()),NestedPages.jsData.hierarchical||t(e.row).find(".np-author-display").text(e.newData.author_name);var i=t(e.row).find(NestedPages.selectors.quickEditOpen);t(i).attr("data-id",e.newData.post_id),t(i).attr("data-template",e.newData.page_template),t(i).attr("data-title",e.newData.post_title),t(i).attr("data-slug",e.newData.post_name),t(i).attr("data-commentstatus",e.newData.comment_status),t(i).attr("data-status",e.newData._status),"private"===e.newData.keep_private&&t(i).attr("data-status","private"),t(i).attr("data-author",e.newData.post_author),t(i).attr("data-np-status",e.newData.np_status),t(i).attr("data-password",e.newData.post_password),t(i).attr("data-navstatus",e.newData.nav_status),t(i).attr("data-navtitle",e.newData.np_nav_title),t(i).attr("data-linktarget",e.newData.link_target),t(i).attr("data-navtitleattr",e.newData.np_title_attribute),t(i).attr("data-navcss",e.newData.np_nav_css_classes),t(i).attr("data-month",e.newData.mm),t(i).attr("data-day",e.newData.jj),t(i).attr("data-year",e.newData.aa),t(i).attr("data-hour",e.newData.hh),t(i).attr("data-minute",e.newData.mn),t(i).attr("data-datepicker",e.newData.np_date),t(i).attr("data-time",e.newData.np_time),t(i).attr("data-formattedtime",e.newData.np_time),t(i).attr("data-ampm",e.newData.np_ampm),e.removeTaxonomyClasses(),e.addCategoryClasses(),e.addHierarchicalClasses(),e.addFlatClasses(),e.addStatusClass(),e.formatter.removeQuickEdit(),e.formatter.flashRow(e.row)},e.addStatusClass=function(){var a=["published","draft","pending","future"];for(i=0;i<a.length;i++)t(e.row).removeClass(a[i]);t(e.row).addClass(e.newData._status)},e.removeTaxonomyClasses=function(){taxonomies=[];var a=t(e.row).attr("class").split(/\s+/);for(i=0;i<a.length;i++)"in-"===a[i].substring(0,3)&&t(e.row).removeClass(a[i]),"inf-"===a[i].substring(0,4)&&t(e.row).removeClass(a[i])},e.addCategoryClasses=function(){if(e.newData.hasOwnProperty("post_category")){var a=e.newData.post_category;for(i=0;i<a.length;i++){var s="in-category-"+a[i];t(e.row).addClass(s)}}},e.addHierarchicalClasses=function(){if(e.newData.hasOwnProperty("tax_input")){var a=e.newData.tax_input;t.each(a,function(a,s){for(i=0;i<s.length;i++){var n="in-"+a+"-"+s[i];t(e.row).addClass(n)}})}},e.addFlatClasses=function(){if(e.newData.hasOwnProperty("flat_tax")){var a=e.newData.flat_tax;t.each(a,function(a,s){for(i=0;i<s.length;i++){var n="inf-"+a+"-nps-"+s[i];t(e.row).addClass(n)}})}},e.toggleLoading=function(a){return a?(t(NestedPages.selectors.quickEditErrorDiv).hide(),t(e.saveButton).attr("disabled","disabled"),void t(NestedPages.selectors.quickEditLoadingIndicator).show()):(t(e.saveButton).attr("disabled",!1),void t(NestedPages.selectors.quickEditLoadingIndicator).hide())},e.init()};var NestedPages=NestedPages||{};NestedPages.QuickEditLink=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.button="",e.postData="",e.newPostData="",e.form="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.quickEditButtonLink,function(a){a.preventDefault(),e.formatter.removeQuickEdit(),e.button=t(this),e.openQuickEdit()}),t(document).on("click",NestedPages.selectors.quickEditLinkSaveButton,function(t){t.preventDefault(),e.submitForm()}),t(document).on("keydown",function(t){27===t.keyCode&&e.formatter.removeQuickEdit()})},e.openQuickEdit=function(){e.setData(),e.createForm(),e.populateForm()},e.setData=function(){e.postData={id:t(e.button).attr("data-id"),url:t(e.button).attr("data-url"),title:t(e.button).attr("data-title"),status:t(e.button).attr("data-status"),navstatus:t(e.button).attr("data-navstatus"),npstatus:t(e.button).attr("data-np-status"),linktarget:t(e.button).attr("data-linktarget"),parentid:t(e.button).attr("data-parentid"),navtitleattr:t(e.button).attr("data-navtitleattr"),navcss:t(e.button).attr("data-navcss"),navtype:t(e.button).attr("data-nav-type"),navobject:t(e.button).attr("data-nav-object"),navobjectid:t(e.button).attr("data-nav-object-id"),navoriginallink:t(e.button).attr("data-nav-original-link"),navoriginaltitle:t(e.button).attr("data-nav-original-title")}},e.createForm=function(){var a=t(e.button).closest(NestedPages.selectors.row).parent("li");if(e.form=t(NestedPages.selectors.quickEditLinkForm).clone(),t(a).children("ol").length>0){var s=t(a).children("ol");t(e.form).insertBefore(s)}else t(e.form).appendTo(a);t(e.form).siblings(NestedPages.selectors.row).hide()},e.populateForm=function(){if(t(e.form).find(".np_id").val(e.postData.id),t(e.form).find(".np_title").val(e.postData.title),t(e.form).find(".np_author select").val(e.postData.author),t(e.form).find(".np_status").val(e.postData.status),t(e.form).find(".np_content").val(e.postData.url),t(e.form).find(".np_parent_id").val(e.postData.parentid),t(e.form).find(".np_title_attribute").val(e.postData.navtitleattr),t(e.form).find(".np_nav_css_classes").val(e.postData.navcss),"hide"===e.postData.npstatus?t(e.form).find(".np_status").prop("checked","checked"):t(e.form).find(".np_status").removeAttr("checked"),"hide"===e.postData.navstatus?t(e.form).find(".np_nav_status").prop("checked","checked"):t(e.form).find(".np_nav_status").removeAttr("checked"),"_blank"===e.postData.linktarget?t(e.form).find(".link_target").prop("checked","checked"):t(e.form).find(".link_target").removeAttr("checked"),"custom"!==e.postData.navobject&&""!==e.postData.navobject){var a='<div class="form-control original-link">Original: <a href="'+e.postData.navoriginallink+'" target="_blank">'+e.postData.navoriginaltitle+"</a></div>";t(e.form).find("[data-url-field]").remove(),t(a).insertAfter(t(e.form).find("h3")),t(e.form).find("[data-np-menu-object-input]").val(e.postData.navobject),t(e.form).find("[data-np-menu-objectid-input]").val(e.postData.navobjectid),t(e.form).find("[data-np-menu-type-input]").val(e.postData.navtype),t(e.form).find("h3").text("Link: "+e.postData.navoriginaltitle)}else t(e.form).find("h3").text("Link"),t(e.form).find("[data-np-menu-object-input]").val("custom"),t(e.form).find("[data-np-menu-type-input]").val("custom");e.formatter.showQuickEdit(),t(e.form).show()},e.submitForm=function(){e.toggleLoading(!0),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:t(e.form).find("form").serialize()+"&action="+NestedPages.formActions.quickEditLink+"&nonce="+NestedPages.jsData.nonce+"&syncmenu="+NestedPages.jsData.syncmenu+"&post_type="+NestedPages.jsData.posttype,success:function(a){"error"===a.status?(e.toggleLoading(!1),t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text(a.message).show()):(e.toggleLoading(!1),e.newPostData=a.post_data,e.updateRow())},error:function(){e.toggleLoading(!1),t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text("The form could not be saved at this time.").show()}})},e.updateRow=function(){console.log(e.newPostData);var a=t(e.form).siblings(".row");t(a).find(".title").html(e.newPostData.post_title+' <i class="np-icon-link"></i>');var s=t(a).find(".status");t(s).text("publish"!==e.newPostData._status&&"future"!==e.newPostData._status?"("+e.newPostData._status+")":"");var n=t(a).find(".nav-status");t(n).text("hide"==e.newPostData.nav_status?"("+NestedPages.jsData.hiddenText+")":"");var o=t(a).parent("li");"hide"==e.newPostData.np_status?(t(o).addClass("np-hide"),t(a).find(".status").after('<i class="np-icon-eye-blocked"></i>')):(t(o).removeClass("np-hide"),t(a).find(".np-icon-eye-blocked").remove());var i=t(a).find(NestedPages.selectors.quickEditButtonLink);t(i).attr("data-id",e.newPostData.post_id),t(i).attr("data-title",e.newPostData.post_title),t(i).attr("data-url",e.newPostData.post_content),t(i).attr("data-status",e.newPostData._status),t(i).attr("data-navstatus",e.newPostData.nav_status),t(i).attr("data-np-status",e.newPostData.np_status),t(i).attr("data-linkTarget",e.newPostData.linkTarget),t(i).attr("data-navtitleattr",e.newPostData.titleAttribute),t(i).attr("data-navcss",e.newPostData.cssClasses),e.formatter.removeQuickEdit(),e.formatter.flashRow(a)},e.toggleLoading=function(e){return t(".row").removeClass("np-updated").removeClass("np-updated-show"),e?(t(NestedPages.selectors.quickEditErrorDiv).hide(),t(NestedPages.selectors.quickEditLinkSaveButton).attr("disabled","disabled"),void t(NestedPages.selectors.quickEditLoadingIndicator).show()):(t(NestedPages.selectors.quickEditLinkSaveButton).attr("disabled",!1),void t(NestedPages.selectors.quickEditLoadingIndicator).hide())},e.init()};var NestedPages=NestedPages||{};NestedPages.Clone=function(){var e=this,t=jQuery;return e.parent_id="",e.parent_title="",e.parentLi=null,e.formatter=new NestedPages.Formatter,e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.cloneButton,function(a){a.preventDefault(),e.parent_id=t(this).attr("data-id"),e.parent_title=t(this).attr("data-parentname"),e.parentLi=t(this).parent(".row").parent(".page-row").parent(".npList"),e.openModal()}),t(document).on("click",NestedPages.selectors.confirmClone,function(t){t.preventDefault(),e.clone()})},e.openModal=function(){t(NestedPages.selectors.cloneModal).find("[data-clone-parent]").text(e.parent_title),t(NestedPages.selectors.cloneModal).modal("show")},e.clone=function(){e.toggleLoading(!0),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",data:{action:NestedPages.formActions.clonePost,parent_id:e.parent_id,quantity:t(NestedPages.selectors.cloneQuantity).val(),status:t(NestedPages.selectors.cloneStatus).val(),author:t(NestedPages.selectors.cloneAuthor).find("select").val(),nonce:NestedPages.jsData.nonce,posttype:NestedPages.jsData.posttype},success:function(){e.toggleLoading(!1),t(NestedPages.selectors.cloneModal).modal("hide"),location.reload()
|
2 |
-
}})},e.toggleLoading=function(e){return e?(t(NestedPages.selectors.cloneModal).find("[data-clone-loading]").show(),void t(NestedPages.selectors.confirmClone).attr("disabled","disabled")):(t(NestedPages.selectors.cloneModal).find("[data-clone-loading]").hide(),void t(NestedPages.selectors.confirmClone).attr("disabled",!1))},e.init()};var NestedPages=NestedPages||{};NestedPages.Tabs=function(){var e=this,t=jQuery;return e.activeContent="",e.activeButton="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.tabButton,function(a){a.preventDefault(),e.activeButton=t(this),e.toggleTabs()})},e.toggleTabs=function(){e.activeContent=t(e.activeButton).attr("href"),t(NestedPages.selectors.tabContent).hide(),t(e.activeContent).show(),t(e.activeButton).parents(NestedPages.selectors.tabButtonParent).find(NestedPages.selectors.tabButton).removeClass("active"),t(e.activeButton).addClass("active")},e.init()},jQuery(document).ready(function(){new NestedPages.Factory});var NestedPages=NestedPages||{};NestedPages.selectors={childToggle:".child-toggle",childToggleLink:".child-toggle a",toggleAll:".nestedpages-toggleall",toggleHidden:".np-toggle-hidden",toggleStatus:".np-toggle-publish",lists:".nplist",rows:".page-row",row:".row",sortable:".sortable",notSortable:".no-sort",handle:".handle",published:".published",hiddenRows:".np-hide",errorDiv:"#np-error",loadingIndicator:"#nested-loading",syncCheckbox:".np-sync-menu",ajaxError:"[data-nestedpages-error]",toggleEditButtons:".np-toggle-edit",quickEditOverlay:".np-inline-overlay",quickEditLoadingIndicator:".np-qe-loading",quickEditErrorDiv:".np-quickedit-error",quickEditCancel:".np-cancel-quickedit",quickEditToggleTaxonomies:".np-toggle-taxonomies",quickEditToggleMenuOptions:".np-toggle-menuoptions",quickEditButtonLink:".np-quick-edit-redirect",quickEditLinkForm:".quick-edit-form-redirect",quickEditLinkSaveButton:".np-save-quickedit-redirect",quickEditOpen:".np-quick-edit",quickEditPostForm:".quick-edit-form",quickEditSaveButton:".np-save-quickedit",openLinkModal:".open-redirect-modal",linkModal:"#np-link-modal",saveLink:".np-save-link",linkLoadingIndicator:".np-link-loading",linkErrorDiv:".np-new-link-error",linkForm:".np-new-link-form",openPageModal:".open-bulk-modal",newPageModal:"#np-bulk-modal",newPageFormContainer:".new-child-form",newPageForm:".np-new-child-form",newPageSubmitButton:".np-save-newchild",newPageTitle:".add-new-child-row",newPageRemoveTitle:".np-remove-child",addChildButton:".add-new-child",newChildError:".np-newchild-error",cancelNewChildButton:".np-cancel-newchild",cloneButton:".clone-post",confirmClone:"[data-confirm-clone]",cloneModal:"#np-clone-modal",cloneQuantity:"[data-clone-quantity]",cloneStatus:"[data-clone-status]",cloneAuthor:"[data-clone-author]",tabButtonParent:"[data-np-tabs]",tabButton:"[data-np-tab]",tabContent:"[data-np-tab-pane]"},NestedPages.cssClasses={iconToggleDown:"np-icon-arrow-down",iconToggleRight:"np-icon-arrow-right",noborder:"no-border"},NestedPages.jsData={ajaxurl:ajaxurl,nonce:nestedpages.np_nonce,allPostTypes:nestedpages.post_types,syncmenu:"nosync",posttype:"",nestable:!0,hierarchical:!0,expandText:nestedpages.expand_text,collapseText:nestedpages.collapse_text,showHiddenText:nestedpages.show_hidden,hideHiddenText:nestedpages.hide_hidden,quickEditText:nestedpages.quick_edit,hiddenText:nestedpages.hidden,titleText:nestedpages.title},NestedPages.formActions={syncToggles:"npnestToggle",syncNesting:"npsort",syncMenu:"npsyncMenu",newPage:"npnewChild",quickEditLink:"npquickEditLink",getTaxonomies:"npgetTaxonomies",quickEditPost:"npquickEdit",clonePost:"npclonePost",search:"npmenuSearch",newMenuItem:"npnewMenuItem"},NestedPages.Factory=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.responsive=new NestedPages.Responsive,e.menuToggle=new NestedPages.MenuToggle,e.pageToggle=new NestedPages.PageToggle,e.nesting=new NestedPages.Nesting,e.syncMenuSetting=new NestedPages.SyncMenuSetting,e.newPage=new NestedPages.NewPage,e.quickEditLink=new NestedPages.QuickEditLink,e.quickEditPost=new NestedPages.QuickEditPost,e.clone=new NestedPages.Clone,e.tabs=new NestedPages.Tabs,e.menuLinks=new NestedPages.MenuLinks,e.init=function(){e.bindEvents(),e.setPostType(),e.setMenuSync(),e.setNestable(),e.formatter.updateSubMenuToggle(),e.formatter.setBorders(),e.formatter.setNestedMargins(),e.nesting.initializeSortable()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.quickEditOverlay,function(){e.formatter.removeQuickEdit(),e.newPage.cancelNewPage()}),t(document).ready(function(){e.formatter.hideAjaxError()})},e.setNestable=function(){var e=!0;t.each(NestedPages.jsData.allPostTypes,function(t,a){a.name===NestedPages.jsData.posttype&&(a.hierarchical===!0&&(e=!0),a.disable_nesting===!0&&(e=!1))}),NestedPages.jsData.nestable=e},e.setPostType=function(){NestedPages.jsData.posttype=t(NestedPages.selectors.sortable).attr("id").substring(3),NestedPages.jsData.hierarchical=NestedPages.jsData.allPostTypes[NestedPages.jsData.posttype].hierarchical},e.setMenuSync=function(){NestedPages.jsData.syncmenu="1"===nestedpages.syncmenu?"sync":"nosync"},e.init()};var NestedPages=NestedPages||{};NestedPages.MenuLinks=function(){var e=this,t=jQuery;return e.typeButton="",e.post="",e.formatter=new NestedPages.Formatter,e.selectors={form:"[data-np-menu-item-form]",typeSelect:"[data-np-menu-selection]",accordion:"[data-np-menu-accordion]",accordionItem:"[data-np-menu-accordion-item]",formPlaceholder:".np-menu-link-object-placeholder",formDetails:".np-menu-link-details",searchResults:"[data-np-search-result]",defaultResults:"[data-default-result]",originalLink:"[data-np-original-link]",saveButton:"[data-np-save-link]",urlInputCont:"[data-np-menu-url-cont]",errorDiv:"[data-np-error]"},e.fields={object:"[data-np-menu-object-input]",objectid:"[data-np-menu-objectid-input]",itemType:"[data-np-menu-type-input]",url:"[data-np-menu-url]",navigationLabel:"[data-np-menu-navigation-label]",titleAttribute:"[data-np-menu-title-attr]",cssClasses:"[data-np-menu-css-classes]",npStatus:"[data-np-menu-np-status]",linkTarget:"[data-np-menu-link-target]",menuTitle:"[data-np-menu-title]"},e.search=new NestedPages.MenuSearch,e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.openLinkModal,function(a){a.preventDefault(),e.postParent=t(this).attr("data-parentid"),t(e.selectors.form).find(".parent_id").val(t(this).attr("data-parentid")),e.openModal()}),t(document).on("click",e.selectors.accordionItem,function(a){a.preventDefault(),e.accordion(t(this))}),t(document).on("click",e.selectors.typeSelect,function(a){a.preventDefault(),e.typeButton=t(this),e.setLinkType()}),t(document).on("keyup",e.fields.navigationLabel,function(){e.updateTitle()}),t(document).on("click",e.selectors.saveButton,function(t){t.preventDefault(),e.submitForm()}),t(document).on("keydown",function(e){27===e.keyCode&&t("#np-link-modal").modal("hide")})},e.openModal=function(){t(NestedPages.selectors.linkErrorDiv).hide(),t(NestedPages.selectors.linkModal).find("input").val(""),t(NestedPages.selectors.linkModal).find(".parent_id").val(e.postParent),e.clearForm(),t(e.selectors.accordion).find("ul").hide(),t(e.selectors.typeSelect).removeClass("active"),t(NestedPages.selectors.linkModal).modal("show")},e.accordion=function(a){e.clearForm();var s=t(a).siblings("ul");return t(s).is(":visible")?(t(a).removeClass("active"),void t(s).slideUp("fast")):(t(e.selectors.accordionItem).removeClass("active"),t(a).addClass("active"),t(a).parents(e.selectors.accordion).find("ul").slideUp("fast"),void t(s).slideDown("fast"))},e.setLinkType=function(){return t(e.typeButton).hasClass("active")?void e.clearForm():(t(e.typeButton).hasClass("np-custom-link")&&(t(e.selectors.accordionItem).removeClass("active"),t(e.selectors.accordion).find("ul").slideUp("fast")),t(e.selectors.formPlaceholder).hide(),void e.populateForm())},e.populateForm=function(){t(e.selectors.saveButton).show(),t(e.selectors.typeSelect).removeClass("active"),t(e.typeButton).addClass("active"),t(e.fields.menuTitle).text(t(e.typeButton).text()).val(t(e.typeButton).text()),t(e.selectors.form).find("h3").find("em").text(t(e.typeButton).attr("data-np-object-name")),""!==t(e.typeButton).attr("data-np-permalink")?(t(e.selectors.form).find(e.selectors.urlInputCont).hide(),t(e.selectors.form).find(e.selectors.originalLink).html('<a href="'+t(e.typeButton).attr("data-np-permalink")+'">'+t(e.typeButton).text()+"</a>"),t(e.selectors.form).find(e.selectors.originalLink).parent(".original-link").show()):(t(e.selectors.form).find(e.selectors.urlInputCont).show(),t(e.selectors.form).find(e.selectors.originalLink).parent(".original-link").hide()),t(e.fields.object).val(t(e.typeButton).attr("data-np-menu-object")),t(e.fields.objectid).val(t(e.typeButton).attr("data-np-menu-objectid")),t(e.fields.itemType).val(t(e.typeButton).attr("data-np-menu-type")),t(e.selectors.formDetails).show()},e.clearForm=function(){t(e.selectors.form).find(e.selectors.errorDiv).hide(),t(e.selectors.saveButton).hide(),t(e.selectors.formDetails).hide(),t(e.selectors.formPlaceholder).show(),t(e.selectors.form).find("input").not(".parent_id").val(""),t(e.selectors.form).find(e.fields.linkTarget).val("_blank"),t(e.selectors.form).find('input[type="checkbox"]').attr("checked",!1),t(e.selectors.typeSelect).removeClass("active"),e.search.toggleLoading(!1),t(e.selectors.searchResults).remove(),t(e.selectors.defaultResults).show()},e.updateTitle=function(){var a=t(e.fields.navigationLabel).val(),s=t(e.selectors.form).find("h3").find("span");""!==a?(t(e.fields.menuTitle).val(a),t(s).text(a)):(t(e.fields.menuTitle).val(t(e.typeButton).text()),t(s).text(t(e.typeButton).text()))},e.submitForm=function(){e.toggleLoading(!0),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",data:t(e.selectors.form).serialize()+"&action="+NestedPages.formActions.newMenuItem+"&nonce="+NestedPages.jsData.nonce+"&post_type="+NestedPages.jsData.posttype+"&syncmenu="+NestedPages.jsData.syncmenu,success:function(a){return e.toggleLoading(!1),"error"===a.status?void t(e.selectors.form).find(e.selectors.errorDiv).text(a.message).show():(e.post=a.post_data,void e.createRow())},error:function(e){console.log(e)}})},e.createRow=function(){var a='<li id="menuItem_'+e.post.id+'" class="page-row published';a+='">',a+='<div class="row"><div class="child-toggle"></div><div class="row-inner"><i class="np-icon-sub-menu"></i><i class="handle np-icon-menu"></i><a href="'+e.post.np_link_content+'" class="page-link page-title" target="_blank"><span class="title">'+e.post.menuTitle+' <i class="np-icon-link"></i></span>',a+='</a><a href="#" class="np-toggle-edit"><i class="np-icon-pencil"></i></a><div class="action-buttons"><a href="#" class="np-btn np-quick-edit-redirect" ',a+='data-id="'+e.post.id+'"',a+='data-parentid="'+e.post.parent_id+'"',a+='data-title="'+e.post.menuTitle+'" ',a+='data-url="'+e.post.url+'" ',a+='data-status="publish" ',a+='data-np-status="show" ',a+='data-navstatus="show" ',a+='data-navcss="'+e.post.cssClasses+'" ',a+='data-navtitleattr="'+e.post.titleAttribute+'" ',a+='data-nav-type="'+e.post.menuType+'" ',a+='data-nav-object="'+e.post.objectType+'" ',a+='data-nav-object-id="'+e.post.objectId+'" ',a+='data-nav-original-link="'+e.post.original_link+'" ',a+='data-nav-original-title="'+e.post.original_title+'" ',a+='data-linktarget="'+e.post.link_target+'">',a+=NestedPages.jsData.quickEditText,a+="</a>",a+='<a href="'+e.post.delete_link+'" class="np-btn np-btn-trash"><i class="np-icon-remove"></i></a>',a+="</div></div></div></li>","0"===e.post.parent_id?t(".nplist:first li:first").after(a):e.appendChildRow(a),t(NestedPages.selectors.linkModal).modal("hide"),e.row=t("#menuItem_"+e.post.id).find(".row"),e.formatter.flashRow(e.row)},e.appendChildRow=function(a){var s=t("#menuItem_"+e.post.parent_id);0===t(s).children("ol").length?(a='<ol class="sortable nplist" style="display:block;">'+a+"</ol>",t(s).append(a)):t(s).find("ol:first").prepend(a),e.formatter.updateSubMenuToggle()},e.toggleLoading=function(a){return a?(t(e.selectors.form).find(e.selectors.errorDiv).hide(),t(e.selectors.form).find(NestedPages.selectors.quickEditLoadingIndicator).show(),void t(e.selectors.saveButton).attr("disabled","disabled")):(t(e.selectors.form).find(NestedPages.selectors.quickEditLoadingIndicator).hide(),void t(e.selectors.saveButton).attr("disabled",!1))},e.init()};var NestedPages=NestedPages||{};NestedPages.MenuSearch=function(){var e=this,t=jQuery;return e.selectors={searchForms:"*[data-np-menu-search]",defaultResults:"[data-default-result]",loadingIndicator:".np-menu-search-loading",noResults:".np-menu-search-noresults",searchType:"data-search-type",searchObject:"data-search-object",searchResults:"[data-np-search-result]"},e.activeForm="",e.results="",e.defaultResults="",e.searchType="",e.searchObject="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("keyup",e.selectors.searchForms,function(){e.activeForm=t(this),t(e.selectors.searchResults).remove(),e.performSearch()})},e.performSearch=function(){return e.defaultResults=t(e.activeForm).parent("li").siblings(e.selectors.defaultResults),t(e.activeForm).val().length>2?(t(e.defaultResults).hide(),e.toggleLoading(!0),void e.query()):(e.toggleLoading(!1),void t(e.defaultResults).show())},e.query=function(){e.searchType=t(e.activeForm).attr(e.selectors.searchType),e.searchObject=t(e.activeForm).attr(e.selectors.searchObject),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.search,nonce:NestedPages.jsData.nonce,term:t(e.activeForm).val(),searchType:e.searchType,searchObject:e.searchObject},success:function(a){console.log(a),a.results?(e.results=a.results,e.toggleLoading(!1),"post_type"===e.searchType?e.appendPosts():e.appendTaxonomies()):(e.toggleLoading(!1),t(e.activeForm).siblings(e.selectors.noResults).show())}})},e.appendPosts=function(){var a="";t.each(e.results,function(t,s){a+='<li data-np-search-result><a href="#" data-np-menu-object="'+e.searchObject+'" data-np-menu-type="post_type" data-np-menu-objectid="'+s.ID+'" data-np-permalink="'+s.permalink+'" data-np-object-name="'+s.singular_name+'" data-np-menu-selection>'+s.post_title+"</a></li>"}),t(a).insertAfter(t(e.activeForm).parent("li")),e.toggleLoading(!1)},e.appendTaxonomies=function(){var a="";t.each(e.results,function(t,s){a+='<li data-np-search-result><a href="#" data-np-menu-object="'+e.searchObject+'" data-np-menu-type="post_type" data-np-menu-objectid="'+s.term_id+'" data-np-permalink="'+s.permalink+'" data-np-object-name="'+s.taxonomy+'" data-np-menu-selection>'+s.name+"</a></li>"}),t(a).insertAfter(t(e.activeForm).parent("li")),e.toggleLoading(!1)},e.toggleLoading=function(a){var s=t(e.activeForm).siblings(e.selectors.loadingIndicator);return t(e.selectors.noResults).hide(),a?void t(s).show():void t(s).hide()},e.init()},jQuery(document).ready(function(){new NestedPagesTrash});var NestedPagesTrash=function(){var e=this,t=jQuery;return e.trashButton=".np-empty-trash",e.confirmButton=".np-trash-confirm",e.warningModal="#np-trash-modal",e.errorAlert="#np-error",e.loadingIndicator="#nested-loading",e.trashLinks=".np-trash-links",e.postType=t("#np-trash-posttype").val(),e.nonce=nestedpages.np_nonce,e.formAction="npEmptyTrash",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",e.trashButton,function(a){a.preventDefault(),t(e.warningModal).modal("show")}),t(document).on("click",e.confirmButton,function(t){t.preventDefault(),e.confirmEmpty()})},e.confirmEmpty=function(){e.loading(!0),t(e.warningModal).hide(),t(e.errorAlert).hide(),e.emptyTrash()},e.emptyTrash=function(){t.ajax({url:ajaxurl,type:"post",datatype:"json",data:{action:e.formAction,nonce:e.nonce,posttype:e.postType},success:function(a){e.loading(!1),"error"===a.status?t(e.errorAlert).text(a.message).show():t(e.trashLinks).hide()}})},e.loading=function(a){return a?void t(e.loadingIndicator).show():void t(e.loadingIndicator).hide()},e.init()};jQuery(document).ready(function(){new NestedPagesConfirmDelete});var NestedPagesConfirmDelete=function(){var e=this,t=jQuery;return e.deleteButton="[data-np-confirm-delete]",e.confirmButton="[data-delete-confirmation]",e.warningModal="#np-delete-confirmation-modal",e.deleteLink="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",e.deleteButton,function(a){a.preventDefault(),e.deleteLink=t(this).attr("href"),t(e.warningModal).modal("show")}),t(document).on("click",e.confirmButton,function(t){t.preventDefault(),e.confirmEmpty()})},e.confirmEmpty=function(){window.location.replace(e.deleteLink)},e.init()};
|
1 |
+
var NestedPages=NestedPages||{};NestedPages.Responsive=function(){var e=this,t=jQuery;return e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.toggleEditButtons,function(a){a.preventDefault(),e.toggleEdit(t(this))}),t(window).resize(function(){e.timer(function(){t(".action-buttons").removeAttr("style"),t(".np-toggle-edit").removeClass("active")},500)})},e.toggleEdit=function(e){var a=t(e).siblings(".action-buttons");return t(a).is(":visible")?(t(e).removeClass("active"),void t(a).hide()):(t(e).addClass("active"),void t(a).show())},e.timer=function(){var e=0;return function(t,a){clearTimeout(e),e=setTimeout(t,a)}}(),e.init()};var NestedPages=NestedPages||{};NestedPages.Formatter=function(){var e=this,t=jQuery;e.updateSubMenuToggle=function(){for(var e=t(NestedPages.selectors.childToggle),a=0;a<e.length;a++){var s=e[a],n=t(s).parent(".row").parent("li");if(t(n).children("ol").length>0){var o=t(n).children("ol:visible").length>0?NestedPages.cssClasses.iconToggleDown:NestedPages.cssClasses.iconToggleRight;t(s).html('<div class="child-toggle-spacer"></div><a href="#"><i class="'+o+'"></i></a>'),t(n).children("ol").children(".np-hide").length>0&&0===t(n).children("ol").children(".np-hide.shown").length?t(s).find("a").hide():t(n).children("ol").children(".np-hide").length>0&&t(n).children("ol").children(".np-hide.shown").length>0&&t(s).find("a").show()}else t(s).empty().html('<div class="child-toggle-spacer"></div>')}},e.setBorders=function(){t(NestedPages.selectors.rows).removeClass(NestedPages.cssClasses.noborder),t.each(t(NestedPages.selectors.lists),function(){t(this).find(".page-row:visible:first").addClass(NestedPages.cssClasses.noborder)})},e.setNestedMargins=function(){t.each(t(NestedPages.selectors.lists),function(e,a){var s=t(this).parents(NestedPages.selectors.lists).length,n=0;if(s>0){var n=20*s+n;return void t(this).find(".row-inner").css("padding-left",n+"px")}t(this).find(".row-inner").css("padding-left","0px")})},e.updatePlaceholderWidth=function(a){if(NestedPages.jsData.nestable){var s=t(a.placeholder).parents("ol").length,n=t(NestedPages.selectors.sortable).width(),o=40*s-40,i=n-o;t(a.placeholder).width(i).css("margin-left",o+"px")}e.updateListVisibility(a)},e.updateListVisibility=function(e){var a=t(e.placeholder).parent("ol");t(a).is(":visible")||(t(a).addClass("nplist"),t(a).show())},e.removeQuickEdit=function(){t(NestedPages.selectors.quickEditOverlay).removeClass("active").remove(),t(".sortable .quick-edit").remove(),t(".row").show()},e.showQuickEdit=function(){t("body").append('<div class="np-inline-overlay"></div>'),setTimeout(function(){t(".np-inline-overlay").addClass("active")},50)},e.flashRow=function(a){t(a).addClass("np-updated"),e.setBorders(),setTimeout(function(){t(a).addClass("np-updated-show")},1500)},e.showAjaxError=function(e){t(NestedPages.selectors.ajaxError).find("p").text(e),t(NestedPages.selectors.ajaxError).show()},e.hideAjaxError=function(e){t(NestedPages.selectors.ajaxError).hide()},e.sizeLinkThumbnails=function(){var e=t(NestedPages.selectors.thumbnailContainer).not(NestedPages.selectors.thumbnailContainerLink).first().find("img"),a=t(e).width(),s=t(e).height();t.each(t(NestedPages.selectors.thumbnailContainerLink),function(){t(this).width(a),t(this).height(s)})}};var NestedPages=NestedPages||{};NestedPages.CheckAll=function(){var e=this,t=jQuery;return e.activeCheckbox="",e.selectors={checkbox:"[data-np-check-all]"},e.bindEvents=function(){t(document).on("change",e.selectors.checkbox,function(){e.activeCheckbox=t(this),e.toggleCheckboxes()}),t(document).on("change","input[type=checkbox]",function(){e.checkAllStatus(t(this))})},e.init=function(){e.bindEvents()},e.toggleCheckboxes=function(){var a=!!t(e.activeCheckbox).is(":checked"),s=t(e.activeCheckbox).attr("data-np-check-all"),n=t('*[name="'+s+'"]');t.each(n,function(){var e=t(this).parents(NestedPages.selectors.rows);t(this).prop("checked",a),t(e).hasClass("np-hide")&&!t(e).is(":visible")&&t(e).find(NestedPages.selectors.bulkActionsCheckbox).prop("checked",!1)}),e.toggleCheckAll()},e.toggleCheckAll=function(){var a=t(e.activeCheckbox).attr("data-np-check-all"),s=t('*[name="'+a+'"]').length,n=t(".np-hide").find(NestedPages.selectors.bulkActionsCheckbox).length,o=t(".np-hide:visible").find(NestedPages.selectors.bulkActionsCheckbox).length;s=s-n+o;var i=t('*[name="'+a+'"]:checked').length;return s==i?(t(e.activeCheckbox).prop("checked",!0),void t(e.activeCheckbox).removeClass("check-all-partial")):i>0?void t(e.activeCheckbox).addClass("check-all-partial"):(t(e.activeCheckbox).attr("checked",!1),void t(e.activeCheckbox).removeClass("check-all-partial"))},e.checkAllStatus=function(a){var s=t(a).attr("name"),n=t('*[data-np-check-all="'+s+'"]');0!==n.length&&(e.activeCheckbox=t(n)[0],e.toggleCheckAll())},e.init()};var NestedPages=NestedPages||{};NestedPages.BulkActions=function(){var e=this,t=jQuery;return e.selectedNumber=0,e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("change",NestedPages.selectors.bulkActionsCheckbox,function(){e.toggleBulkForm()})},e.toggleBulkForm=function(){var a=!1,s="",n="";return t.each(t(NestedPages.selectors.bulkActionsCheckbox),function(){if(t(this).is(":checked")){var e=t(this).parents(NestedPages.selectors.rows);a=!0,t(this).parent("div").hasClass("np-check-all")||t(e).hasClass("post-type-np-redirect")||(s+=t(this).val()+","),t(e).hasClass("post-type-np-redirect")&&(n+=t(this).val()+",")}}),a?(t(NestedPages.selectors.bulkActionsForm).show(),t(NestedPages.selectors.bulkActionsIds).val(s),t(NestedPages.selectors.bulkActionRedirectIds).val(n),void e.setSelectedNumber()):(t(NestedPages.selectors.bulkActionsIds).val(""),void t(NestedPages.selectors.bulkActionsForm).hide())},e.setSelectedNumber=function(){var e=t(NestedPages.selectors.bulkActionsCheckbox+":checked").not(".np-check-all input").length,a=t(NestedPages.selectors.bulkActionsForm).find("select option").first();t(a).text(nestedpages.bulk_actions+" ("+e+")")},e.init()};var NestedPages=NestedPages||{};NestedPages.HiddenItemCount=function(){var e=this,t=jQuery;return e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("change",NestedPages.selectors.bulkActionsCheckbox,function(){e.toggleHiddenCount()}),t(document).on("click",NestedPages.selectors.toggleAll,function(){e.toggleHiddenCount()}),t(document).on("click",NestedPages.selectors.pageToggle,function(){e.toggleHiddenCount()})},e.toggleHiddenCount=function(){var e=0;return t.each(t(NestedPages.selectors.bulkActionsCheckbox),function(){if(t(this).is(":checked")){if(t(this).parent("div").hasClass("np-check-all"))return;var a=t(this).closest(".page-row");t(a).is(":visible")||e++}}),e<1?void t(NestedPages.selectors.hiddenItemCountParent).hide():(t(NestedPages.selectors.hiddenItemCount).text(e),void t(NestedPages.selectors.hiddenItemCountParent).show())},e.init()};var NestedPages=NestedPages||{};NestedPages.MenuToggle=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.bindEvents=function(){t(document).on("click",NestedPages.selectors.childToggleLink,function(a){a.preventDefault(),e.toggleSingleMenu(t(this))}),t(document).on("click",NestedPages.selectors.toggleAll,function(t){t.preventDefault(),e.toggleAllMenus()})},e.toggleSingleMenu=function(a){var s=t(a).parent(NestedPages.selectors.childToggle).parent(NestedPages.selectors.row).siblings("ol");t(a).find("i").toggleClass(NestedPages.cssClasses.iconToggleDown).toggleClass(NestedPages.cssClasses.iconToggleRight),t(s).toggle(),e.formatter.setBorders(),e.formatter.setNestedMargins(),e.syncUserToggles()},e.toggleAllMenus=function(){var a=NestedPages.selectors.toggleAll;return"closed"===t(a).attr("data-toggle")?(t(NestedPages.selectors.lists).show(),t(a).attr("data-toggle","opened").text(NestedPages.jsData.collapseText),t(NestedPages.selectors.childToggle).find("i").removeClass(NestedPages.cssClasses.iconToggleRight).addClass(NestedPages.cssClasses.iconToggleDown),e.formatter.setBorders(),void e.syncUserToggles()):(t(NestedPages.selectors.lists).not(t(NestedPages.selectors.lists)[0]).hide(),t(a).attr("data-toggle","closed").text(NestedPages.jsData.expandText),t(NestedPages.selectors.childToggle).find("i").removeClass(NestedPages.cssClasses.iconToggleDown).addClass(NestedPages.cssClasses.iconToggleRight),e.formatter.setBorders(),void e.syncUserToggles())},e.visibleRowIDs=function(){var e=[],a=t(NestedPages.selectors.rows+":visible");return t.each(a,function(a,s){var n=t(this).attr("id");e.push(n.replace("menuItem_",""))}),e},e.syncUserToggles=function(){t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.syncToggles,nonce:NestedPages.jsData.nonce,ids:e.visibleRowIDs(),posttype:NestedPages.jsData.posttype},success:function(e){"success"!==e.status&&console.log("There was an error saving toggled pages.")}})},e.bindEvents()};var NestedPages=NestedPages||{};NestedPages.PageToggle=function(){var e=this,t=jQuery;return e.activeButton="",e.formatter=new NestedPages.Formatter,e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.toggleHidden,function(a){a.preventDefault(),e.activeButton=t(this),e.toggleHidden()}),t(document).on("click",NestedPages.selectors.toggleStatus,function(a){a.preventDefault(),e.toggleStatus(t(this))})},e.toggleHidden=function(){var a=t(e.activeButton),s=t(a).attr("href");return console.log(s),"#show"==s?(t(a).attr("href","#hide").text(NestedPages.jsData.showHiddenText),t(NestedPages.selectors.hiddenRows).removeClass("shown").hide(),e.formatter.updateSubMenuToggle(),void e.formatter.setBorders()):void("#hide"==s&&(t(a).attr("href","#show").text(NestedPages.jsData.hideHiddenText),t(NestedPages.selectors.hiddenRows).addClass("shown").show(),e.formatter.updateSubMenuToggle(),e.formatter.setBorders()))},e.toggleStatus=function(e){var a=t(e).attr("href");return a=a.substring(1),t(NestedPages.selectors.syncCheckbox).attr("disabled",!1),t(NestedPages.selectors.toggleStatus).removeClass("active"),t(e).addClass("active"),"draft"==a&&(t(NestedPages.selectors.syncCheckbox).attr("disabled",!0),t("."+a).addClass("nested-visible")),"all"==a?void t(NestedPages.selectors.rows).show():(t(NestedPages.selectors.rows).hide(),void t("."+a).show())},e.init()};var NestedPages=NestedPages||{};NestedPages.Nesting=function(){var e=this,t=jQuery;e.formatter=new NestedPages.Formatter,e.initializeSortable=function(){maxLevels=NestedPages.jsData.nestable?0:1,t(NestedPages.selectors.sortable).not(NestedPages.selectors.notSortable).nestedSortable({items:NestedPages.selectors.rows,toleranceElement:"> .row",handle:NestedPages.selectors.handle,placeholder:"ui-sortable-placeholder",maxLevels:maxLevels,tabSize:56,start:function(e,t){t.placeholder.height(t.item.height())},sort:function(t,a){e.formatter.updatePlaceholderWidth(a)},stop:function(t,a){setTimeout(function(){e.formatter.updateSubMenuToggle(),e.formatter.setBorders(),e.formatter.setNestedMargins()},100),e.syncNesting()}})},e.disableNesting=function(){t(NestedPages.selectors.sortable).sortable("destroy")},e.syncNesting=function(a,s){if("1"!==nestedpages.manual_order_sync||a){t(NestedPages.selectors.errorDiv).hide(),t(NestedPages.selectors.loadingIndicator).show(),list=t(NestedPages.selectors.sortable).nestedSortable("toHierarchy",{startDepthCount:0}),e.disableNesting();var n=NestedPages.jsData.syncmenu;"1"===nestedpages.manual_menu_sync&&(n="nosync"),t.ajax({url:ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.syncNesting,nonce:NestedPages.jsData.nonce,list:list,post_type:NestedPages.jsData.posttype,syncmenu:n},success:function(a,s){if(e.initializeSortable(),"error"===a.status)t(NestedPages.selectors.errorDiv).text(a.message).show(),t(NestedPages.selectors.loadingIndicator).hide();else{if(s&&"function"==typeof s)return void s();t(NestedPages.selectors.loadingIndicator).hide()}}})}}};var NestedPages=NestedPages||{};NestedPages.SyncMenuSetting=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).ready(function(){"1"!==nestedpages.manual_menu_sync&&"1"===nestedpages.syncmenu&&e.syncSetting()}),t(document).on("change",NestedPages.selectors.syncCheckbox,function(){e.syncSetting()})},e.syncSetting=function(){"page"===NestedPages.jsData.posttype&&0!==t(NestedPages.selectors.syncCheckbox).length&&(NestedPages.jsData.syncmenu=t(NestedPages.selectors.syncCheckbox).is(":checked")?"sync":"nosync",t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.syncMenu,nonce:NestedPages.jsData.nonce,post_type:NestedPages.jsData.posttype,syncmenu:NestedPages.jsData.syncmenu},success:function(t){"error"===t.status&&e.formatter.showAjaxError(t.message)}}))},e.bindEvents()};var NestedPages=NestedPages||{};NestedPages.NewPage=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.parent_id=0,e.posts="",e.form="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.openPageModal,function(t){t.preventDefault(),e.openModal()}),t(document).on("submit",NestedPages.selectors.newPageForm,function(e){e.preventDefault()}),t(document).on("click",NestedPages.selectors.newPageSubmitButton,function(a){a.preventDefault(),e.submitForm(t(this))}),t(document).on("click",NestedPages.selectors.newPageTitle,function(a){a.preventDefault(),e.addTitleField(t(this))}),t(document).on("click",NestedPages.selectors.newPageRemoveTitle,function(a){a.preventDefault(),e.removeTitleField(t(this))}),t(document).on("click",NestedPages.selectors.addChildButton,function(a){a.preventDefault(),e.openQuickEdit(t(this))}),t(NestedPages.selectors.newPageModal).on("hide.bs.modal",function(){e.cancelNewPage()}),t(NestedPages.selectors.newPageModal).on("shown.bs.modal",function(){e.modalOpened(t(this))}),t(document).on("click",NestedPages.selectors.cancelNewChildButton,function(a){a.preventDefault(),e.cancelNewPage(),t(NestedPages.selectors.newPageModal).modal("hide")})},e.openModal=function(){var a=t(NestedPages.selectors.newPageFormContainer).clone().find(NestedPages.selectors.newPageForm);t(a).addClass("in-modal"),t(NestedPages.selectors.newPageModal).find(".modal-body").html(a),t(NestedPages.selectors.newPageModal).find("h3").text(nestedpages.add_multiple),t(NestedPages.selectors.newPageModal).find(".page_parent_id").val(e.parent_id),t(NestedPages.selectors.newPageModal).modal("show")},e.modalOpened=function(e){t(e).find(".np_title").focus(),t(e).find(NestedPages.selectors.newPageTitle).prop("tabindex","2")},e.openQuickEdit=function(a){var s=t(a).closest(NestedPages.selectors.row).parent("li"),n=t(NestedPages.selectors.newPageFormContainer).clone();if(t(s).children("ol").length>0){var o=t(s).children("ol");t(n).insertBefore(o)}else t(n).appendTo(s);t(n).siblings(NestedPages.selectors.row).hide(),e.formatter.showQuickEdit(),t(n).find(".parent_name").html("<em>Parent:</em> "+t(a).attr("data-parentname")),t(n).find(".page_parent_id").val(t(a).attr("data-id")),t(n).show(),t(n).find(".np_title").focus(),t(n).find(NestedPages.selectors.newPageTitle).prop("tabindex","2")},e.cancelNewPage=function(){e.formatter.removeQuickEdit(),t(NestedPages.selectors.newChildError).hide(),t(NestedPages.selectors.newPageModal).find(".modal-body").empty(),t(NestedPages.selectors.sortable).find(".new-child").remove(),t(NestedPages.selectors.row).show()},e.addTitleField=function(e){var a=t(e).parents("form"),s=t(e).siblings(".new-page-titles").children("li").length+1,n='<li><i class="handle np-icon-menu"></i><div class="form-control new-child-row"><label>'+NestedPages.jsData.titleText+'</label><div><input type="text" name="post_title[]" class="np_title" placeholder="'+NestedPages.jsData.titleText+'" value="" tabindex="'+s+'" /><a href="#" class="button-secondary np-remove-child">-</a></div></div></li>';t(e).siblings(".new-page-titles").append(n);t(a).find(".np_title").last().focus(),t(a).find(NestedPages.selectors.newPageTitle).prop("tabindex",s++),t(".new-page-titles").sortable({items:"li",handle:".handle"})},e.removeTitleField=function(e){t(e).parents(".new-child-row").parent("li").remove()},e.submitForm=function(a){e.toggleLoading(!0),e.form=t(a).parents("form");var s=!!t(a).hasClass("add-edit");t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:t(e.form).serialize()+"&action="+NestedPages.formActions.newPage+"&nonce="+NestedPages.jsData.nonce+"&syncmenu="+NestedPages.jsData.syncmenu+"&post_type="+NestedPages.jsData.posttype,success:function(a){if("error"===a.status)return e.toggleLoading(!1),void t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text(a.message).show();if(s===!0){var n=a.new_pages[0].edit_link;return n=n.replace(/&/g,"&"),void window.location.replace(n)}e.toggleLoading(!1),e.posts=a.new_pages,e.addPosts()},error:function(a){console.log(a),e.toggleLoading(!1),t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text("The form could not be saved at this time.").show()}})},e.addPosts=function(){var a=t(e.form).parent(".new-child").parent(".page-row");if(0===t(a).children("ol").length&&t(a).append('<ol class="nplist"></ol>'),t(e.form).hasClass("in-modal"))var s=t(".nplist.sortable li.page-row:first");else var s=t(a).children("ol");for(i=0;i<e.posts.length;i++)e.appendRows(s,e.posts[i]);t(s).show(),e.formatter.updateSubMenuToggle(),e.cancelNewPage(),t(NestedPages.selectors.newPageModal).modal("hide")},e.appendRows=function(e,a){var s='<li id="menuItem_'+a.id+'" class="page-row';"publish"===a.status&&(s+=" published"),s+='">',NestedPages.jsData.hierarchical?(s+='<div class="row">',s+='<div class="child-toggle"></div>'):(s+='<div class="row non-hierarchical">',s+='<div class="non-hierarchical-spacer"></div>'),s+='<div class="row-inner">',s+='<i class="np-icon-sub-menu"></i><i class="handle np-icon-menu"></i>',s+='<a href="'+a.edit_link+'" class="page-link page-title">',s+='<span class="title">'+a.title+"</span>",s+="Publish"!==a.status?'<span class="status">('+a.status+")</span>":'<span class="status"></span>',s+='<span class="nav-status">',"hide"===a.np_nav_status&&(s+=" "+nestedpages.hidden),s+="</span>",s+='<span class="edit-indicator"><i class="np-icon-pencil"></i>Edit</span>',s+="</a>",NestedPages.jsData.hierarchical||(s+='<div class="np-post-columns">',s+='<ul class="np-post-info">',s+='<li><span class="np-author-display">'+a.author_formatted+"</span></li>",s+="<li>"+a.date_formatted+"</li>",s+="</ul>",s+="</div>"),t(".nplist").first().hasClass("has-yoast")&&(s+='<span class="np-seo-indicator na"></span>'),s+='<div class="action-buttons">',s+='<a href="#" class="np-btn open-redirect-modal" data-parentid="'+a.id+'"><i class="np-icon-link"></i></a>',s+='<a href="#" class="np-btn add-new-child" data-id="'+a.id+'" data-parentname="'+a.title+'">'+nestedpages.add_child_short+"</a>",s+='<a href="#" class="np-btn np-quick-edit" data-id="'+a.id+'" data-template="'+a.page_template+'" data-title="'+a.title+'" data-slug="'+a.slug+'" data-commentstatus="closed" data-status="'+a.status.toLowerCase()+'" data-np-status="show"\tdata-navstatus="show" data-author="'+a.author+'" data-template="'+a.template+'" data-month="'+a.month+'" data-day="'+a.day+'" data-year="'+a.year+'" data-hour="'+a.hour+'" data-minute="'+a.minute+'" data-datepicker="'+a.datepicker+'" data-time="'+a.time+'" data-formattedtime="'+a.formattedtime+'" data-ampm="'+a.ampm+'">'+nestedpages.quick_edit+"</a>",s+='<a href="'+a.view_link+'" class="np-btn" target="_blank">'+nestedpages.view+"</a>",s+='<a href="'+a.delete_link+'" class="np-btn np-btn-trash"><i class="np-icon-remove"></i></a>',s+="</div><!-- .action-buttons -->",s+="</div><!-- .row-inner --></div><!-- .row -->",s+="</li>",t(e).append(s)},e.toggleLoading=function(e){return e?(t(NestedPages.selectors.quickEditErrorDiv).hide(),t(NestedPages.selectors.newPageSubmitButton).attr("disabled","disabled"),void t(NestedPages.selectors.quickEditLoadingIndicator).show()):(t(NestedPages.selectors.newPageSubmitButton).attr("disabled",!1),void t(NestedPages.selectors.quickEditLoadingIndicator).hide())},e.init()};var NestedPages=NestedPages||{};NestedPages.QuickEditPost=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.button="",e.initialData="",e.parent_li="",e.form="",e.flatTerms="",e.termNames="",e.saveButton="",e.newData="",e.row="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.quickEditOpen,function(a){a.preventDefault(),e.button=t(this),e.openForm()}),t(document).on("click",NestedPages.selectors.quickEditCancel,function(t){t.preventDefault(),e.formatter.removeQuickEdit()}),t(document).on("click",NestedPages.selectors.quickEditToggleTaxonomies,function(e){e.preventDefault(),t(this).parents("form").find(".np-taxonomies").toggle()}),t(document).on("click",NestedPages.selectors.quickEditToggleMenuOptions,function(e){e.preventDefault(),t(this).parents("form").find(".np-menuoptions").toggle()}),t(document).on("change",".keep_private",function(){this.checked?t(".post_password").val("").prop("readonly",!0):t(".post_password").prop("readonly",!1)}),t(document).on("click",NestedPages.selectors.quickEditSaveButton,function(a){a.preventDefault(),e.saveButton=t(this),e.save()}),t(document).on("keydown",function(t){27===t.keyCode&&e.formatter.removeQuickEdit()})},e.openForm=function(){e.setInitialData(),e.createForm(),e.populateForm(),e.populateFlatTaxonomies()},e.setInitialData=function(){e.initialData={id:t(e.button).attr("data-id"),title:t(e.button).attr("data-title"),slug:t(e.button).attr("data-slug"),author:t(e.button).attr("data-author"),cs:t(e.button).attr("data-commentstatus"),status:t(e.button).attr("data-status"),template:t(e.button).attr("data-template"),month:t(e.button).attr("data-month"),day:t(e.button).attr("data-day"),year:t(e.button).attr("data-year"),hour:t(e.button).attr("data-hour"),minute:t(e.button).attr("data-minute"),navstatus:t(e.button).attr("data-navstatus"),npstatus:t(e.button).attr("data-np-status"),navtitle:t(e.button).attr("data-navtitle"),navtitleattr:t(e.button).attr("data-navtitleattr"),navcss:t(e.button).attr("data-navcss"),linktarget:t(e.button).attr("data-linktarget"),password:t(e.button).attr("data-password"),datepicker:t(e.button).attr("data-datepicker"),time:t(e.button).attr("data-formattedtime"),ampm:t(e.button).attr("data-ampm")},e.initialData.h_taxonomies=[],e.initialData.f_taxonomies=[],e.parent_li=t(e.button).closest(NestedPages.selectors.row).parent("li");var a=t(e.parent_li).attr("class").split(/\s+/);for(i=0;i<a.length;i++)"in-"===a[i].substring(0,3)&&e.initialData.h_taxonomies.push(a[i]),"inf-"===a[i].substring(0,4)&&e.initialData.f_taxonomies.push(a[i])},e.createForm=function(){if(e.form=t(NestedPages.selectors.quickEditPostForm).clone(),t(e.parent_li).children("ol").length>0){var a=t(e.parent_li).children("ol");t(e.form).insertBefore(a)}else t(e.form).appendTo(e.parent_li);t(e.form).siblings(NestedPages.selectors.row).hide(),t(e.form).show()},e.populateForm=function(){if(t(e.form).find(".page_id").html("<em>ID:</em> "+e.initialData.id),t(e.form).find(".np_id").val(e.initialData.id),t(e.form).find(".np_title").val(e.initialData.title),t(e.form).find(".np_slug").val(e.initialData.slug),t(e.form).find(".np_author select").val(e.initialData.author),t(e.form).find(".np_status").val(e.initialData.status),t(e.form).find(".np_nav_title").val(e.initialData.navtitle),t(e.form).find(".np_title_attribute").val(e.initialData.navtitleattr),t(e.form).find(".np_nav_css_classes").val(e.initialData.navcss),t(e.form).find(".post_password").val(e.initialData.password),t(e.form).find(".np_datepicker").val(e.initialData.datepicker),t(e.form).find(".np_time").val(e.initialData.time),t(e.form).find(".np_ampm").val(e.initialData.ampm),"open"===e.initialData.cs&&t(e.form).find(".np_cs").attr("checked","checked"),""!==e.initialData.template?t(e.form).find(".np_template").val(e.initialData.template):t(e.form).find(".np_template").val("default"),"private"===e.initialData.status&&(t(e.form).find(".post_password").attr("readonly",!0),t(e.form).find(".keep_private").attr("checked",!0)),"hide"===e.initialData.npstatus?t(e.form).find(".np_status").attr("checked","checked"):t(e.form).find(".np_status").removeAttr("checked"),"hide"===e.initialData.navstatus?t(e.form).find(".np_nav_status").attr("checked","checked"):t(e.form).find(".np_nav_status").attr("checked",!1),"_blank"===e.initialData.linktarget?t(e.form).find(".link_target").attr("checked","checked"):t(e.form).find(".link_target").attr("checked",!1),"private"===e.initialData.status&&t(e.form).find(".np_status").val("publish"),t(e.form).find('select[name="mm"]').val(e.initialData.month),t(e.form).find('input[name="jj"]').val(e.initialData.day),t(e.form).find('input[name="aa"]').val(e.initialData.year),t(e.form).find('input[name="hh"]').val(e.initialData.hour),t(e.form).find('input[name="mn"]').val(e.initialData.minute),e.initialData.hasOwnProperty("h_taxonomies")){var a=e.initialData.h_taxonomies;for(i=0;i<a.length;i++){var s="#"+a[i];t(e.form).find(s).attr("checked","checked")}}t(e.form).find(".np_datepicker").datepicker({beforeShow:function(e,a){t("#ui-datepicker-div").addClass("nestedpages-datepicker")}}),e.formatter.showQuickEdit(),t(e.form).show()},e.populateFlatTaxonomies=function(){e.initialData.hasOwnProperty("f_taxonomies")&&(e.createTaxonomyObject(),e.getTermNames(),e.setWPSuggest())},e.createTaxonomyObject=function(){var t={};for(i=0;i<e.initialData.f_taxonomies.length;i++){var a=e.initialData.f_taxonomies[i],s=a.split("-"),n=s.indexOf("nps"),o=s.splice(n+1);o=o.join("-");var r=a.split("-").splice(0,n);r.shift("inf");var d=r.join("-");d in t||(t[d]=[]);var l=t[d];l.push(o)}e.flatTerms=t},e.getTermNames=function(){t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.getTaxonomies,nonce:NestedPages.jsData.nonce,terms:e.flatTerms},success:function(t){e.termNames=t.terms,e.populateFlatTaxonomyFields()}})},e.populateFlatTaxonomyFields=function(){e.termNames&&t.each(e.termNames,function(e,a){var s=t("#"+e);t(s).val(a.join(","))})},e.setWPSuggest=function(){var a=t(e.form).find("[data-autotag]");t.each(a,function(e,a){var s=t(this).attr("data-taxonomy");t(this).suggest(ajaxurl+"?action=ajax-tag-search&tax="+s,{multiple:!0,multipleSep:","})})},e.save=function(){e.toggleLoading(!0),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:t(e.form).find("form").serialize()+"&action="+NestedPages.formActions.quickEditPost+"&nonce="+NestedPages.jsData.nonce+"&syncmenu="+NestedPages.jsData.syncmenu+"&post_type="+NestedPages.jsData.posttype,success:function(a){"error"===a.status?(e.toggleLoading(!1),t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text(a.message).show()):(e.toggleLoading(!1),e.newData=a.post_data,e.updatePostRow())},error:function(e){console.log(e)}})},e.updatePostRow=function(){e.row=t(e.button).parents(".row-inner"),t(e.row).find(".title").text(e.newData.post_title),t(e.row).find(".np-view-button").attr("href",e.newData.permalink);var a=t(e.row).find(".status");if("publish"!==e.newData._status&&"future"!==e.newData._status?t(a).text("("+e.newData._status+")"):"private"===e.newData.keep_private?t(a).text("("+e.newData.keep_private+")"):t(a).text(""),""!==e.newData.post_password&&"undefined"!=typeof e.newData.post_password){var s=t(a).text();s+=' <i class="np-icon-lock"></i>',t(a).html(s)}var n=t(e.row).find(".nav-status");"hide"==e.newData.nav_status?t(n).text("(Hidden)"):t(n).text("");var o=t(e.row).parent("li");"hide"==e.newData.np_status?(t(o).addClass("np-hide"),t(e.row).find(".status").after('<i class="np-icon-eye-blocked"></i>')):(t(o).removeClass("np-hide"),t(e.row).find(".np-icon-eye-blocked").remove()),NestedPages.jsData.hierarchical||t(e.row).find(".np-author-display").text(e.newData.author_name);var i=t(e.row).find(NestedPages.selectors.quickEditOpen);t(i).attr("data-id",e.newData.post_id),t(i).attr("data-template",e.newData.page_template),t(i).attr("data-title",e.newData.post_title),t(i).attr("data-slug",e.newData.post_name),t(i).attr("data-commentstatus",e.newData.comment_status),t(i).attr("data-status",e.newData._status),"private"===e.newData.keep_private&&t(i).attr("data-status","private"),t(i).attr("data-author",e.newData.post_author),t(i).attr("data-np-status",e.newData.np_status),t(i).attr("data-password",e.newData.post_password),t(i).attr("data-navstatus",e.newData.nav_status),t(i).attr("data-navtitle",e.newData.np_nav_title),t(i).attr("data-linktarget",e.newData.link_target),t(i).attr("data-navtitleattr",e.newData.np_title_attribute),t(i).attr("data-navcss",e.newData.np_nav_css_classes),t(i).attr("data-month",e.newData.mm),t(i).attr("data-day",e.newData.jj),t(i).attr("data-year",e.newData.aa),t(i).attr("data-hour",e.newData.hh),t(i).attr("data-minute",e.newData.mn),t(i).attr("data-datepicker",e.newData.np_date),t(i).attr("data-time",e.newData.np_time),t(i).attr("data-formattedtime",e.newData.np_time),t(i).attr("data-ampm",e.newData.np_ampm),e.removeTaxonomyClasses(),e.addCategoryClasses(),e.addHierarchicalClasses(),e.addFlatClasses(),e.addStatusClass(),e.formatter.removeQuickEdit(),e.formatter.flashRow(e.row)},e.addStatusClass=function(){var a=["published","draft","pending","future"];for(i=0;i<a.length;i++)t(e.row).removeClass(a[i]);t(e.row).addClass(e.newData._status)},e.removeTaxonomyClasses=function(){taxonomies=[];var a=t(e.row).attr("class").split(/\s+/);for(i=0;i<a.length;i++)"in-"===a[i].substring(0,3)&&t(e.row).removeClass(a[i]),"inf-"===a[i].substring(0,4)&&t(e.row).removeClass(a[i])},e.addCategoryClasses=function(){if(e.newData.hasOwnProperty("post_category")){var a=e.newData.post_category;for(i=0;i<a.length;i++){var s="in-category-"+a[i];t(e.row).addClass(s)}}},e.addHierarchicalClasses=function(){if(e.newData.hasOwnProperty("tax_input")){var a=e.newData.tax_input;t.each(a,function(a,s){for(i=0;i<s.length;i++){var n="in-"+a+"-"+s[i];t(e.row).addClass(n)}})}},e.addFlatClasses=function(){if(e.newData.hasOwnProperty("flat_tax")){var a=e.newData.flat_tax;t.each(a,function(a,s){for(i=0;i<s.length;i++){var n="inf-"+a+"-nps-"+s[i];t(e.row).addClass(n)}})}},e.toggleLoading=function(a){return a?(t(NestedPages.selectors.quickEditErrorDiv).hide(),t(e.saveButton).attr("disabled","disabled"),void t(NestedPages.selectors.quickEditLoadingIndicator).show()):(t(e.saveButton).attr("disabled",!1),void t(NestedPages.selectors.quickEditLoadingIndicator).hide())},e.init()};var NestedPages=NestedPages||{};NestedPages.QuickEditLink=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.button="",e.postData="",e.newPostData="",e.form="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.quickEditButtonLink,function(a){a.preventDefault(),e.formatter.removeQuickEdit(),e.button=t(this),e.openQuickEdit()}),t(document).on("click",NestedPages.selectors.quickEditLinkSaveButton,function(t){t.preventDefault(),e.submitForm()}),t(document).on("keydown",function(t){27===t.keyCode&&e.formatter.removeQuickEdit()})},e.openQuickEdit=function(){e.setData(),e.createForm(),e.populateForm()},e.setData=function(){e.postData={id:t(e.button).attr("data-id"),url:t(e.button).attr("data-url"),title:t(e.button).attr("data-title"),status:t(e.button).attr("data-status"),navstatus:t(e.button).attr("data-navstatus"),npstatus:t(e.button).attr("data-np-status"),linktarget:t(e.button).attr("data-linktarget"),parentid:t(e.button).attr("data-parentid"),navtitleattr:t(e.button).attr("data-navtitleattr"),navcss:t(e.button).attr("data-navcss"),navtype:t(e.button).attr("data-nav-type"),navobject:t(e.button).attr("data-nav-object"),navobjectid:t(e.button).attr("data-nav-object-id"),navoriginallink:t(e.button).attr("data-nav-original-link"),navoriginaltitle:t(e.button).attr("data-nav-original-title")};
|
2 |
+
},e.createForm=function(){var a=t(e.button).closest(NestedPages.selectors.row).parent("li");if(e.form=t(NestedPages.selectors.quickEditLinkForm).clone(),t(a).children("ol").length>0){var s=t(a).children("ol");t(e.form).insertBefore(s)}else t(e.form).appendTo(a);t(e.form).siblings(NestedPages.selectors.row).hide()},e.populateForm=function(){if(t(e.form).find(".np_id").val(e.postData.id),t(e.form).find(".np_title").val(e.postData.title),t(e.form).find(".np_author select").val(e.postData.author),t(e.form).find(".np_status").val(e.postData.status),t(e.form).find(".np_content").val(e.postData.url),t(e.form).find(".np_parent_id").val(e.postData.parentid),t(e.form).find(".np_title_attribute").val(e.postData.navtitleattr),t(e.form).find(".np_nav_css_classes").val(e.postData.navcss),"hide"===e.postData.npstatus?t(e.form).find(".np_status").prop("checked","checked"):t(e.form).find(".np_status").removeAttr("checked"),"hide"===e.postData.navstatus?t(e.form).find(".np_nav_status").prop("checked","checked"):t(e.form).find(".np_nav_status").removeAttr("checked"),"_blank"===e.postData.linktarget?t(e.form).find(".link_target").prop("checked","checked"):t(e.form).find(".link_target").removeAttr("checked"),"custom"!==e.postData.navobject&&""!==e.postData.navobject){var a='<div class="form-control original-link">Original: <a href="'+e.postData.navoriginallink+'" target="_blank">'+e.postData.navoriginaltitle+"</a></div>";t(e.form).find("[data-url-field]").remove(),t(a).insertAfter(t(e.form).find("h3")),t(e.form).find("[data-np-menu-object-input]").val(e.postData.navobject),t(e.form).find("[data-np-menu-objectid-input]").val(e.postData.navobjectid),t(e.form).find("[data-np-menu-type-input]").val(e.postData.navtype),t(e.form).find("h3").text("Link: "+e.postData.navoriginaltitle)}else t(e.form).find("h3").text("Link"),t(e.form).find("[data-np-menu-object-input]").val("custom"),t(e.form).find("[data-np-menu-type-input]").val("custom");e.formatter.showQuickEdit(),t(e.form).show()},e.submitForm=function(){e.toggleLoading(!0),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:t(e.form).find("form").serialize()+"&action="+NestedPages.formActions.quickEditLink+"&nonce="+NestedPages.jsData.nonce+"&syncmenu="+NestedPages.jsData.syncmenu+"&post_type="+NestedPages.jsData.posttype,success:function(a){"error"===a.status?(e.toggleLoading(!1),t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text(a.message).show()):(e.toggleLoading(!1),e.newPostData=a.post_data,e.updateRow())},error:function(a){e.toggleLoading(!1),t(e.form).find(NestedPages.selectors.quickEditErrorDiv).text("The form could not be saved at this time.").show()}})},e.updateRow=function(){console.log(e.newPostData);var a=t(e.form).siblings(".row");t(a).find(".title").html(e.newPostData.post_title+' <i class="np-icon-link"></i>');var s=t(a).find(".status");"publish"!==e.newPostData._status&&"future"!==e.newPostData._status?t(s).text("("+e.newPostData._status+")"):t(s).text("");var n=t(a).find(".nav-status");"hide"==e.newPostData.nav_status?t(n).text("("+NestedPages.jsData.hiddenText+")"):t(n).text("");var o=t(a).parent("li");"hide"==e.newPostData.np_status?(t(o).addClass("np-hide"),t(a).find(".status").after('<i class="np-icon-eye-blocked"></i>')):(t(o).removeClass("np-hide"),t(a).find(".np-icon-eye-blocked").remove());var i=t(a).find(NestedPages.selectors.quickEditButtonLink);t(i).attr("data-id",e.newPostData.post_id),t(i).attr("data-title",e.newPostData.post_title),t(i).attr("data-url",e.newPostData.post_content),t(i).attr("data-status",e.newPostData._status),t(i).attr("data-navstatus",e.newPostData.nav_status),t(i).attr("data-np-status",e.newPostData.np_status),t(i).attr("data-linkTarget",e.newPostData.linkTarget),t(i).attr("data-navtitleattr",e.newPostData.titleAttribute),t(i).attr("data-navcss",e.newPostData.cssClasses),e.formatter.removeQuickEdit(),e.formatter.flashRow(a)},e.toggleLoading=function(e){return t(".row").removeClass("np-updated").removeClass("np-updated-show"),e?(t(NestedPages.selectors.quickEditErrorDiv).hide(),t(NestedPages.selectors.quickEditLinkSaveButton).attr("disabled","disabled"),void t(NestedPages.selectors.quickEditLoadingIndicator).show()):(t(NestedPages.selectors.quickEditLinkSaveButton).attr("disabled",!1),void t(NestedPages.selectors.quickEditLoadingIndicator).hide())},e.init()};var NestedPages=NestedPages||{};NestedPages.Clone=function(){var e=this,t=jQuery;return e.parent_id="",e.parent_title="",e.parentLi=null,e.formatter=new NestedPages.Formatter,e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.cloneButton,function(a){a.preventDefault(),e.parent_id=t(this).attr("data-id"),e.parent_title=t(this).attr("data-parentname"),e.parentLi=t(this).parent(".row").parent(".page-row").parent(".npList"),e.openModal()}),t(document).on("click",NestedPages.selectors.confirmClone,function(t){t.preventDefault(),e.clone()})},e.openModal=function(){t(NestedPages.selectors.cloneModal).find("[data-clone-parent]").text(e.parent_title),t(NestedPages.selectors.cloneModal).modal("show")},e.clone=function(){e.toggleLoading(!0),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",data:{action:NestedPages.formActions.clonePost,parent_id:e.parent_id,quantity:t(NestedPages.selectors.cloneQuantity).val(),status:t(NestedPages.selectors.cloneStatus).val(),author:t(NestedPages.selectors.cloneAuthor).find("select").val(),nonce:NestedPages.jsData.nonce,posttype:NestedPages.jsData.posttype},success:function(a){e.toggleLoading(!1),t(NestedPages.selectors.cloneModal).modal("hide"),location.reload()}})},e.toggleLoading=function(e){return e?(t(NestedPages.selectors.cloneModal).find("[data-clone-loading]").show(),void t(NestedPages.selectors.confirmClone).attr("disabled","disabled")):(t(NestedPages.selectors.cloneModal).find("[data-clone-loading]").hide(),void t(NestedPages.selectors.confirmClone).attr("disabled",!1))},e.init()};var NestedPages=NestedPages||{};NestedPages.Tabs=function(){var e=this,t=jQuery;return e.activeContent="",e.activeButton="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.tabButton,function(a){a.preventDefault(),e.activeButton=t(this),e.toggleTabs()})},e.toggleTabs=function(){e.activeContent=t(e.activeButton).attr("href"),t(NestedPages.selectors.tabContent).hide(),t(e.activeContent).show(),t(e.activeButton).parents(NestedPages.selectors.tabButtonParent).find(NestedPages.selectors.tabButton).removeClass("active"),t(e.activeButton).addClass("active")},e.init()},jQuery(document).ready(function(){new NestedPages.Factory});var NestedPages=NestedPages||{};NestedPages.selectors={childToggle:".child-toggle",childToggleLink:".child-toggle a",toggleAll:".nestedpages-toggleall",toggleHidden:".np-toggle-hidden",toggleStatus:".np-toggle-publish",lists:".nplist",rows:".page-row",row:".row",sortable:".sortable",notSortable:".no-sort",handle:".handle",published:".published",hiddenRows:".np-hide",errorDiv:"#np-error",loadingIndicator:"#nested-loading",syncCheckbox:".np-sync-menu",syncForm:".np-sync-menu-cont",ajaxError:"[data-nestedpages-error]",toggleEditButtons:".np-toggle-edit",bulkActionsForm:"[data-np-bulk-form]",bulkActionsCheckbox:"[data-np-bulk-checkbox]",bulkActionsIds:"[data-np-bulk-ids]",bulkActionRedirectIds:"[data-np-bulk-redirect-ids]",hiddenItemCount:"[data-np-hidden-count]",hiddenItemCountParent:"[data-np-hidden-count-parent]",quickEditOverlay:".np-inline-overlay",quickEditLoadingIndicator:".np-qe-loading",quickEditErrorDiv:".np-quickedit-error",quickEditCancel:".np-cancel-quickedit",quickEditToggleTaxonomies:".np-toggle-taxonomies",quickEditToggleMenuOptions:".np-toggle-menuoptions",quickEditButtonLink:".np-quick-edit-redirect",quickEditLinkForm:".quick-edit-form-redirect",quickEditLinkSaveButton:".np-save-quickedit-redirect",quickEditOpen:".np-quick-edit",quickEditPostForm:".quick-edit-form",quickEditSaveButton:".np-save-quickedit",openLinkModal:".open-redirect-modal",linkModal:"#np-link-modal",saveLink:".np-save-link",linkLoadingIndicator:".np-link-loading",linkErrorDiv:".np-new-link-error",linkForm:".np-new-link-form",linkDeleteButton:"[data-np-confirm-delete]",linkDeleteConfirmationButton:"[data-delete-confirmation]",linkDeleteConfirmationModal:"#np-delete-confirmation-modal",linkDeleteConfirmationModalText:"[data-np-link-delete-text]",openPageModal:".open-bulk-modal",newPageModal:"#np-bulk-modal",newPageFormContainer:".new-child-form",newPageForm:".np-new-child-form",newPageSubmitButton:".np-save-newchild",newPageTitle:".add-new-child-row",newPageRemoveTitle:".np-remove-child",addChildButton:".add-new-child",newChildError:".np-newchild-error",cancelNewChildButton:".np-cancel-newchild",cloneButton:".clone-post",confirmClone:"[data-confirm-clone]",cloneModal:"#np-clone-modal",cloneQuantity:"[data-clone-quantity]",cloneStatus:"[data-clone-status]",cloneAuthor:"[data-clone-author]",tabButtonParent:"[data-np-tabs]",tabButton:"[data-np-tab]",tabContent:"[data-np-tab-pane]",thumbnailContainer:".np-thumbnail",thumbnailContainerLink:".np-thumbnail.link",manualMenuSync:"[data-np-manual-menu-sync]",manualOrderSync:"[data-np-manual-order-sync]"},NestedPages.cssClasses={iconToggleDown:"np-icon-arrow-down",iconToggleRight:"np-icon-arrow-right",noborder:"no-border"},NestedPages.jsData={ajaxurl:ajaxurl,nonce:nestedpages.np_nonce,allPostTypes:nestedpages.post_types,syncmenu:"nosync",posttype:"",nestable:!0,hierarchical:!0,expandText:nestedpages.expand_text,collapseText:nestedpages.collapse_text,showHiddenText:nestedpages.show_hidden,hideHiddenText:nestedpages.hide_hidden,quickEditText:nestedpages.quick_edit,hiddenText:nestedpages.hidden,titleText:nestedpages.title},NestedPages.formActions={syncToggles:"npnestToggle",syncNesting:"npsort",syncMenu:"npsyncMenu",newPage:"npnewChild",quickEditLink:"npquickEditLink",getTaxonomies:"npgetTaxonomies",quickEditPost:"npquickEdit",clonePost:"npclonePost",search:"npmenuSearch",newMenuItem:"npnewMenuItem",manualMenuSync:"npmanualMenuSync"},NestedPages.Factory=function(){var e=this,t=jQuery;return e.formatter=new NestedPages.Formatter,e.responsive=new NestedPages.Responsive,e.checkAll=new NestedPages.CheckAll,e.bulkActions=new NestedPages.BulkActions,e.menuToggle=new NestedPages.MenuToggle,e.pageToggle=new NestedPages.PageToggle,e.nesting=new NestedPages.Nesting,e.syncMenuSetting=new NestedPages.SyncMenuSetting,e.newPage=new NestedPages.NewPage,e.quickEditLink=new NestedPages.QuickEditLink,e.quickEditPost=new NestedPages.QuickEditPost,e.clone=new NestedPages.Clone,e.tabs=new NestedPages.Tabs,e.menuLinks=new NestedPages.MenuLinks,e.hiddenItemCount=new NestedPages.HiddenItemCount,e.confirmDelete=new NestedPages.ConfirmDelete,e.manualSync=new NestedPages.ManualSync,e.init=function(){e.bindEvents(),e.setPostType(),e.setMenuSync(),e.setNestable(),e.formatter.updateSubMenuToggle(),e.formatter.setBorders(),e.formatter.setNestedMargins(),e.nesting.initializeSortable()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.quickEditOverlay,function(t){e.formatter.removeQuickEdit(),e.newPage.cancelNewPage()}),t(document).ready(function(){e.formatter.hideAjaxError(),e.formatter.sizeLinkThumbnails()})},e.setNestable=function(){var e=!1;t.each(NestedPages.jsData.allPostTypes,function(t,a){a.name===NestedPages.jsData.posttype&&(a.hierarchical===!0&&(e=!0),a.disable_nesting===!0&&(e=!1))}),NestedPages.jsData.nestable=e},e.setPostType=function(){NestedPages.jsData.posttype=t(NestedPages.selectors.sortable).attr("id").substring(3),NestedPages.jsData.hierarchical=NestedPages.jsData.allPostTypes[NestedPages.jsData.posttype].hierarchical},e.setMenuSync=function(){NestedPages.jsData.syncmenu="1"===nestedpages.syncmenu?"sync":"nosync"},e.init()};var NestedPages=NestedPages||{};NestedPages.MenuLinks=function(){var e=this,t=jQuery;return e.typeButton="",e.post="",e.formatter=new NestedPages.Formatter,e.selectors={form:"[data-np-menu-item-form]",typeSelect:"[data-np-menu-selection]",accordion:"[data-np-menu-accordion]",accordionItem:"[data-np-menu-accordion-item]",formPlaceholder:".np-menu-link-object-placeholder",formDetails:".np-menu-link-details",searchResults:"[data-np-search-result]",defaultResults:"[data-default-result]",originalLink:"[data-np-original-link]",saveButton:"[data-np-save-link]",urlInputCont:"[data-np-menu-url-cont]",errorDiv:"[data-np-error]"},e.fields={object:"[data-np-menu-object-input]",objectid:"[data-np-menu-objectid-input]",itemType:"[data-np-menu-type-input]",url:"[data-np-menu-url]",navigationLabel:"[data-np-menu-navigation-label]",titleAttribute:"[data-np-menu-title-attr]",cssClasses:"[data-np-menu-css-classes]",npStatus:"[data-np-menu-np-status]",linkTarget:"[data-np-menu-link-target]",menuTitle:"[data-np-menu-title]"},e.search=new NestedPages.MenuSearch,e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",NestedPages.selectors.openLinkModal,function(a){a.preventDefault(),e.postParent=t(this).attr("data-parentid"),t(e.selectors.form).find(".parent_id").val(t(this).attr("data-parentid")),e.openModal()}),t(document).on("click",e.selectors.accordionItem,function(a){a.preventDefault(),e.accordion(t(this))}),t(document).on("click",e.selectors.typeSelect,function(a){a.preventDefault(),e.typeButton=t(this),e.setLinkType()}),t(document).on("keyup",e.fields.navigationLabel,function(){e.updateTitle()}),t(document).on("click",e.selectors.saveButton,function(t){t.preventDefault(),e.submitForm()}),t(document).on("keydown",function(e){27===e.keyCode&&t("#np-link-modal").modal("hide")})},e.openModal=function(){t(NestedPages.selectors.linkErrorDiv).hide(),t(NestedPages.selectors.linkModal).find("input").val(""),t(NestedPages.selectors.linkModal).find(".parent_id").val(e.postParent),e.clearForm(),t(e.selectors.accordion).find("ul").hide(),t(e.selectors.typeSelect).removeClass("active"),t(NestedPages.selectors.linkModal).modal("show")},e.accordion=function(a){e.clearForm();var s=t(a).siblings("ul");return t(s).is(":visible")?(t(a).removeClass("active"),void t(s).slideUp("fast")):(t(e.selectors.accordionItem).removeClass("active"),t(a).addClass("active"),t(a).parents(e.selectors.accordion).find("ul").slideUp("fast"),void t(s).slideDown("fast"))},e.setLinkType=function(){return t(e.typeButton).hasClass("active")?void e.clearForm():(t(e.typeButton).hasClass("np-custom-link")&&(t(e.selectors.accordionItem).removeClass("active"),t(e.selectors.accordion).find("ul").slideUp("fast")),t(e.selectors.formPlaceholder).hide(),void e.populateForm())},e.populateForm=function(){t(e.selectors.saveButton).show(),t(e.selectors.typeSelect).removeClass("active"),t(e.typeButton).addClass("active"),t(e.fields.menuTitle).text(t(e.typeButton).text()).val(t(e.typeButton).text()),t(e.selectors.form).find("h3").find("em").text(t(e.typeButton).attr("data-np-object-name")),""!==t(e.typeButton).attr("data-np-permalink")?(t(e.selectors.form).find(e.selectors.urlInputCont).hide(),t(e.selectors.form).find(e.selectors.originalLink).html('<a href="'+t(e.typeButton).attr("data-np-permalink")+'">'+t(e.typeButton).text()+"</a>"),t(e.selectors.form).find(e.selectors.originalLink).parent(".original-link").show()):(t(e.selectors.form).find(e.selectors.urlInputCont).show(),t(e.selectors.form).find(e.selectors.originalLink).parent(".original-link").hide()),t(e.fields.object).val(t(e.typeButton).attr("data-np-menu-object")),t(e.fields.objectid).val(t(e.typeButton).attr("data-np-menu-objectid")),t(e.fields.itemType).val(t(e.typeButton).attr("data-np-menu-type")),t(e.selectors.formDetails).show()},e.clearForm=function(){t(e.selectors.form).find(e.selectors.errorDiv).hide(),t(e.selectors.saveButton).hide(),t(e.selectors.formDetails).hide(),t(e.selectors.formPlaceholder).show(),t(e.selectors.form).find("input").not(".parent_id").val(""),t(e.selectors.form).find(e.fields.linkTarget).val("_blank"),t(e.selectors.form).find('input[type="checkbox"]').attr("checked",!1),t(e.selectors.typeSelect).removeClass("active"),e.search.toggleLoading(!1),t(e.selectors.searchResults).remove(),t(e.selectors.defaultResults).show()},e.updateTitle=function(){var a=t(e.fields.navigationLabel).val(),s=t(e.selectors.form).find("h3").find("span");""!==a?(t(e.fields.menuTitle).val(a),t(s).text(a)):(t(e.fields.menuTitle).val(t(e.typeButton).text()),t(s).text(t(e.typeButton).text()))},e.submitForm=function(){e.toggleLoading(!0),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",data:t(e.selectors.form).serialize()+"&action="+NestedPages.formActions.newMenuItem+"&nonce="+NestedPages.jsData.nonce+"&post_type="+NestedPages.jsData.posttype+"&syncmenu="+NestedPages.jsData.syncmenu,success:function(a){return e.toggleLoading(!1),"error"===a.status?void t(e.selectors.form).find(e.selectors.errorDiv).text(a.message).show():(e.post=a.post_data,void e.createRow())},error:function(e){console.log(e)}})},e.createRow=function(){var a='<li id="menuItem_'+e.post.id+'" class="page-row published';a+='">',a+='<div class="row"><div class="child-toggle"><div class="child-toggle-spacer"></div></div><div class="row-inner"><i class="np-icon-sub-menu"></i><i class="handle np-icon-menu"></i><a href="'+e.post.np_link_content+'" class="page-link page-title" target="_blank"><span class="title">'+e.post.menuTitle+' <i class="np-icon-link"></i></span>',a+='</a><a href="#" class="np-toggle-edit"><i class="np-icon-pencil"></i></a><div class="action-buttons"><a href="#" class="np-btn np-quick-edit-redirect" ',a+='data-id="'+e.post.id+'"',a+='data-parentid="'+e.post.parent_id+'"',a+='data-title="'+e.post.menuTitle+'" ',a+='data-url="'+e.post.url+'" ',a+='data-status="publish" ',a+='data-np-status="show" ',a+='data-navstatus="show" ',a+='data-navcss="'+e.post.cssClasses+'" ',a+='data-navtitleattr="'+e.post.titleAttribute+'" ',a+='data-nav-type="'+e.post.menuType+'" ',a+='data-nav-object="'+e.post.objectType+'" ',a+='data-nav-object-id="'+e.post.objectId+'" ',a+='data-nav-original-link="'+e.post.original_link+'" ',a+='data-nav-original-title="'+e.post.original_title+'" ',a+='data-linktarget="'+e.post.link_target+'">',a+=NestedPages.jsData.quickEditText,a+="</a>",a+='<a href="'+e.post.delete_link+'" class="np-btn np-btn-trash"><i class="np-icon-remove"></i></a>',a+="</div></div></div></li>","0"===e.post.parent_id?t(".nplist:first li:first").after(a):e.appendChildRow(a),t(NestedPages.selectors.linkModal).modal("hide"),e.row=t("#menuItem_"+e.post.id).find(".row"),e.formatter.flashRow(e.row)},e.appendChildRow=function(a){var s=t("#menuItem_"+e.post.parent_id);0===t(s).children("ol").length?(a='<ol class="sortable nplist" style="display:block;">'+a+"</ol>",t(s).append(a)):t(s).find("ol:first").prepend(a),e.formatter.updateSubMenuToggle()},e.toggleLoading=function(a){return a?(t(e.selectors.form).find(e.selectors.errorDiv).hide(),t(e.selectors.form).find(NestedPages.selectors.quickEditLoadingIndicator).show(),void t(e.selectors.saveButton).attr("disabled","disabled")):(t(e.selectors.form).find(NestedPages.selectors.quickEditLoadingIndicator).hide(),void t(e.selectors.saveButton).attr("disabled",!1))},e.init()};var NestedPages=NestedPages||{};NestedPages.MenuSearch=function(){var e=this,t=jQuery;return e.selectors={searchForms:"*[data-np-menu-search]",defaultResults:"[data-default-result]",loadingIndicator:".np-menu-search-loading",noResults:".np-menu-search-noresults",searchType:"data-search-type",searchObject:"data-search-object",searchResults:"[data-np-search-result]"},e.activeForm="",e.results="",e.defaultResults="",e.searchType="",e.searchObject="",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("keyup",e.selectors.searchForms,function(){e.activeForm=t(this),t(e.selectors.searchResults).remove(),e.performSearch()})},e.performSearch=function(){return e.defaultResults=t(e.activeForm).parent("li").siblings(e.selectors.defaultResults),t(e.activeForm).val().length>2?(t(e.defaultResults).hide(),e.toggleLoading(!0),void e.query()):(e.toggleLoading(!1),void t(e.defaultResults).show())},e.query=function(){e.searchType=t(e.activeForm).attr(e.selectors.searchType),e.searchObject=t(e.activeForm).attr(e.selectors.searchObject),t.ajax({url:NestedPages.jsData.ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.search,nonce:NestedPages.jsData.nonce,term:t(e.activeForm).val(),searchType:e.searchType,searchObject:e.searchObject},success:function(a){console.log(a),a.results?(e.results=a.results,e.toggleLoading(!1),"post_type"===e.searchType?e.appendPosts():e.appendTaxonomies()):(e.toggleLoading(!1),t(e.activeForm).siblings(e.selectors.noResults).show())}})},e.appendPosts=function(){var a="";t.each(e.results,function(t,s){a+='<li data-np-search-result><a href="#" data-np-menu-object="'+e.searchObject+'" data-np-menu-type="post_type" data-np-menu-objectid="'+s.ID+'" data-np-permalink="'+s.permalink+'" data-np-object-name="'+s.singular_name+'" data-np-menu-selection>'+s.post_title+"</a></li>"}),t(a).insertAfter(t(e.activeForm).parent("li")),e.toggleLoading(!1)},e.appendTaxonomies=function(){var a="";t.each(e.results,function(t,s){a+='<li data-np-search-result><a href="#" data-np-menu-object="'+e.searchObject+'" data-np-menu-type="post_type" data-np-menu-objectid="'+s.term_id+'" data-np-permalink="'+s.permalink+'" data-np-object-name="'+s.taxonomy+'" data-np-menu-selection>'+s.name+"</a></li>"}),t(a).insertAfter(t(e.activeForm).parent("li")),e.toggleLoading(!1)},e.toggleLoading=function(a){var s=t(e.activeForm).siblings(e.selectors.loadingIndicator);return t(e.selectors.noResults).hide(),a?void t(s).show():void t(s).hide()},e.init()},jQuery(document).ready(function(){new NestedPagesTrash});var NestedPagesTrash=function(){var e=this,t=jQuery;return e.trashButton=".np-empty-trash",e.confirmButton=".np-trash-confirm",e.warningModal="#np-trash-modal",e.errorAlert="#np-error",e.loadingIndicator="#nested-loading",e.trashLinks=".np-trash-links",e.postType=t("#np-trash-posttype").val(),e.nonce=nestedpages.np_nonce,e.formAction="npEmptyTrash",e.init=function(){e.bindEvents()},e.bindEvents=function(){t(document).on("click",e.trashButton,function(a){a.preventDefault(),t(e.warningModal).modal("show")}),t(document).on("click",e.confirmButton,function(t){t.preventDefault(),e.confirmEmpty()})},e.confirmEmpty=function(){e.loading(!0),t(e.warningModal).hide(),t(e.errorAlert).hide(),e.emptyTrash()},e.emptyTrash=function(){t.ajax({url:ajaxurl,type:"post",datatype:"json",data:{action:e.formAction,nonce:e.nonce,posttype:e.postType},success:function(a){e.loading(!1),"error"===a.status?t(e.errorAlert).text(a.message).show():t(e.trashLinks).hide()}})},e.loading=function(a){return a?void t(e.loadingIndicator).show():void t(e.loadingIndicator).hide()},e.init()},NestedPages=NestedPages||{};NestedPages.ConfirmDelete=function(){var e=this,t=jQuery;return e.deleteLink="",e.bindEvents=function(){t(document).on("click",NestedPages.selectors.linkDeleteButton,function(a){a.preventDefault(),e.confirmSingle(t(this))}),t(document).on("click",NestedPages.selectors.linkDeleteConfirmationButton,function(a){return a.preventDefault(),t(this).hasClass("bulk")?void e.deleteMultiple():void e.deleteSingle()}),t(document).on("submit",NestedPages.selectors.bulkActionsForm,function(t){e.confirmMultiple(t)})},e.confirmSingle=function(a){e.deleteLink=t(a).attr("href"),t(NestedPages.selectors.linkDeleteConfirmationModalText).text(nestedpages.link_delete_confirmation_singular),t(NestedPages.selectors.linkDeleteConfirmationButton).text(nestedpages.delete).removeClass("bulk"),t(NestedPages.selectors.linkDeleteConfirmationModal).modal("show")},e.confirmMultiple=function(e){if("trash"===t('select[name="np_bulk_action"]').val()){var a=t(NestedPages.selectors.bulkActionRedirectIds).val();""!==a&&(e.preventDefault(),t(NestedPages.selectors.linkDeleteConfirmationModalText).text(nestedpages.link_delete_confirmation),t(NestedPages.selectors.linkDeleteConfirmationButton).text(nestedpages.trash_delete_links).addClass("bulk"),t(NestedPages.selectors.linkDeleteConfirmationModal).modal("show"))}},e.deleteMultiple=function(){t(NestedPages.selectors.bulkActionsForm)[0].submit()},e.deleteSingle=function(){window.location.replace(e.deleteLink)},e.bindEvents()};var NestedPages=NestedPages||{};NestedPages.ManualSync=function(){var e=this,t=jQuery;return e.activeBtn="",e.bindEvents=function(){t(document).on("click",NestedPages.selectors.manualMenuSync,function(a){a.preventDefault(),e.activeBtn=t(this),e.syncMenu()}),t(document).on("click",NestedPages.selectors.manualOrderSync,function(a){a.preventDefault(),e.activeBtn=t(this),e.syncOrder()})},e.syncMenu=function(){e.loading(!0),t.ajax({url:ajaxurl,type:"post",datatype:"json",data:{action:NestedPages.formActions.manualMenuSync,nonce:NestedPages.jsData.nonce,post_type:NestedPages.jsData.posttype,syncmenu:"sync"},success:function(a){"error"===a.status?(t(NestedPages.selectors.errorDiv).text(a.message).show(),t(NestedPages.selectors.loadingIndicator).hide()):e.loading(!1)}})},e.syncOrder=function(){e.loading(!0);var t=new NestedPages.Nesting;t.syncNesting(!0,e.loading(!1))},e.loading=function(a){return a?(t(e.activeBtn).addClass("disabled"),void t(NestedPages.selectors.loadingIndicator).show()):(t(e.activeBtn).removeClass("disabled"),void t(NestedPages.selectors.loadingIndicator).hide())},e.bindEvents()};
|
assets/js/nestedpages.settings.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
var NestedPages=NestedPages||{};NestedPages.Settings=function(){var e=this,t=jQuery;return e.selectors={postTypeToggle:"[data-toggle-nestedpages-pt-settings]",postTypeCheckbox:"[data-nestedpages-pt-checkbox]",customFieldsCheckbox:"[data-toggle-nestedpages-cf-settings]",standardFieldsCheckbox:"[data-toggle-nestedpages-sf-settings]",taxonomiesFieldCheckbox:"[data-hide-taxonomies]",thumbnailsCheckbox:"[data-enable-thumbnails]",menuEnabledOption:"[data-menu-enabled-option]",disableMenuCheckbox:"[data-disable-menu-checkbox]",disableAutoCheckbox:"[data-menu-disable-auto-checkbox]"},e.bindEvents=function(){t(document).ready(function(){e.toggleAllSettingsButtons(),e.toogleAllFieldSettings(".custom-fields"),e.toogleAllFieldSettings(".standard-fields"),e.toggleMenuCheckboxes(),e.toggleHideCheckbox()}),t(document).on("click",e.selectors.postTypeToggle,function(o){o.preventDefault(),e.togglePostTypeSettings(t(this))}),t(document).on("change",e.selectors.postTypeCheckbox,function(){e.toggleSettingsButton(t(this))}),t(document).on("change",e.selectors.customFieldsCheckbox,function(){e.toogleFieldSettings(t(this),".custom-fields")}),t(document).on("change",e.selectors.standardFieldsCheckbox,function(){e.toogleFieldSettings(t(this),".standard-fields")}),t(document).on("change",e.selectors.taxonomiesFieldCheckbox,function(){e.toggleTaxonomyCheckboxes(t(this))}),t(document).on("change",e.selectors.thumbnailsCheckbox,function(){e.toggleThumbnailSettings(t(this))}),t(document).on("change",e.selectors.disableMenuCheckbox,function(){e.toggleMenuCheckboxes()}),t(document).on("change",e.selectors.disableAutoCheckbox,function(){e.toggleHideCheckbox()})},e.togglePostTypeSettings=function(e){t(e).parent(".head").siblings(".body").toggle(),t(e).parents(".post-type").toggleClass("active")},e.toggleSettingsButton=function(o){var n=t(o).parents(".head").find(e.selectors.postTypeToggle);return t(o).is(":checked")?void t(n).show():(t(n).hide(),t(n).parents(".head").siblings(".body").hide(),t(n).parents(".post-type").removeClass("active"),t(n).parents(".head").siblings(".body").find('input[type="checkbox"]').attr("checked",!1),void t(n).parents(".head").siblings(".body").find("select").val(!1))},e.toggleAllSettingsButtons=function(){var o=t(e.selectors.postTypeCheckbox);t.each(o,function(){e.toggleSettingsButton(t(this))})},e.toogleFieldSettings=function(e,o){var n=t(e).parents(".body").find(o);return t(e).is(":checked")?void t(n).show():void t(n).hide()},e.toogleAllFieldSettings=function(o){var n=t(e.selectors.customFieldsCheckbox);if(".standard-fields"==o)var n=t(e.selectors.standardFieldsCheckbox);t.each(n,function(){e.toogleFieldSettings(t(this),o)})},e.toggleTaxonomyCheckboxes=function(e){var o=t(e).parents("ul").find(t("*[data-taxonomy-single]"));return t(e).is(":checked")?void t(o).hide():void t(o).show()},e.toggleThumbnailSettings=function(e){var o=t(e).parents(".field").find(t("*[data-thumbnail-options]"));return t(e).is(":checked")?void t(o).show():void t(o).hide()},e.toggleMenuCheckboxes=function(){var o=t(e.selectors.disableMenuCheckbox),n=t(e.selectors.menuEnabledOption);return t(o).is(":checked")?void t(n).hide():void t(n).show()},e.toggleHideCheckbox=function(){var o=t(e.selectors.disableAutoCheckbox),n=t("[data-menu-hide-checkbox]");return t(o).is(":checked")?void t(n).hide():void t(n).show()},e.init=function(){e.bindEvents()},e.init()},new NestedPages.Settings;
|
languages/nestedpages-sv_SE.mo
ADDED
Binary file
|
languages/nestedpages-sv_SE.po
ADDED
@@ -0,0 +1,590 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Nested Pages\n"
|
4 |
+
"POT-Creation-Date: 2016-01-06 13:29+0200\n"
|
5 |
+
"PO-Revision-Date: 2016-01-06 13:47+0200\n"
|
6 |
+
"Language-Team: \n"
|
7 |
+
"MIME-Version: 1.0\n"
|
8 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
9 |
+
"Content-Transfer-Encoding: 8bit\n"
|
10 |
+
"X-Generator: Poedit 1.8.4\n"
|
11 |
+
"X-Poedit-Basepath: ..\n"
|
12 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
13 |
+
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
|
14 |
+
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
|
15 |
+
"_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
|
16 |
+
"Last-Translator: Marcus Forsberg <marcus@marcusforsberg.net>\n"
|
17 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
+
"Language: sv_SE\n"
|
19 |
+
"X-Poedit-SearchPath-0: .\n"
|
20 |
+
|
21 |
+
#: app/Activation/Dependencies.php:106 app/Views/listing.php:29
|
22 |
+
msgid "Expand All"
|
23 |
+
msgstr "Expandera alla"
|
24 |
+
|
25 |
+
#: app/Activation/Dependencies.php:107
|
26 |
+
msgid "Collapse All"
|
27 |
+
msgstr "Kollapsa alla"
|
28 |
+
|
29 |
+
#: app/Activation/Dependencies.php:108 app/Views/partials/tool-list.php:18
|
30 |
+
msgid "Show Hidden"
|
31 |
+
msgstr "Visa dolda"
|
32 |
+
|
33 |
+
#: app/Activation/Dependencies.php:109
|
34 |
+
msgid "Hide Hidden"
|
35 |
+
msgstr "Visa ej dolda"
|
36 |
+
|
37 |
+
#: app/Activation/Dependencies.php:110 app/Views/listing.php:16
|
38 |
+
#: app/Views/listing.php:17
|
39 |
+
msgid "Add Link"
|
40 |
+
msgstr "Lägg till länk"
|
41 |
+
|
42 |
+
#: app/Activation/Dependencies.php:111
|
43 |
+
msgid "Add Child Link"
|
44 |
+
msgstr "Lägg till underlänk"
|
45 |
+
|
46 |
+
#: app/Activation/Dependencies.php:112
|
47 |
+
#: app/Entities/Post/PostUpdateRepository.php:69
|
48 |
+
#: app/Views/forms/new-child.php:19 app/Views/forms/new-child.php:21
|
49 |
+
#: app/Views/forms/quickedit-post.php:20 app/Views/partials/tool-list.php:64
|
50 |
+
msgid "Title"
|
51 |
+
msgstr "Titel"
|
52 |
+
|
53 |
+
#: app/Activation/Dependencies.php:113 app/Views/forms/quickedit-post.php:11
|
54 |
+
#: app/Views/partials/row-link.php:68 app/Views/partials/row.php:130
|
55 |
+
msgid "Quick Edit"
|
56 |
+
msgstr "Snabbredigera"
|
57 |
+
|
58 |
+
#: app/Activation/Dependencies.php:114
|
59 |
+
msgid "Page Title"
|
60 |
+
msgstr "Sidtitel"
|
61 |
+
|
62 |
+
#: app/Activation/Dependencies.php:115 app/Views/partials/row.php:134
|
63 |
+
msgid "View"
|
64 |
+
msgstr "Visa"
|
65 |
+
|
66 |
+
#: app/Activation/Dependencies.php:116 app/Views/forms/new-child.php:7
|
67 |
+
#: app/Views/partials/row.php:94
|
68 |
+
msgid "Add Child"
|
69 |
+
msgstr "Skapa undersida"
|
70 |
+
|
71 |
+
#: app/Activation/Dependencies.php:117
|
72 |
+
msgid "Add Child Page"
|
73 |
+
msgstr "Skapa undersida"
|
74 |
+
|
75 |
+
#: app/Activation/Dependencies.php:118
|
76 |
+
msgid "Add Child Pages"
|
77 |
+
msgstr "Skapa undersidor"
|
78 |
+
|
79 |
+
#: app/Activation/Dependencies.php:119 app/Views/forms/link-form.php:105
|
80 |
+
#: app/Views/forms/new-child.php:93
|
81 |
+
msgid "Add"
|
82 |
+
msgstr "Lägg till"
|
83 |
+
|
84 |
+
#: app/Activation/Dependencies.php:120
|
85 |
+
msgid "Add Page"
|
86 |
+
msgstr "Lägg till sida"
|
87 |
+
|
88 |
+
#: app/Activation/Dependencies.php:121
|
89 |
+
msgid "Add Pages"
|
90 |
+
msgstr "Lägg till sidor"
|
91 |
+
|
92 |
+
#: app/Activation/Dependencies.php:122 app/Views/listing.php:10
|
93 |
+
#: app/Views/listing.php:11
|
94 |
+
msgid "Add Multiple"
|
95 |
+
msgstr "Lägg till flera"
|
96 |
+
|
97 |
+
#: app/Activation/Dependencies.php:123
|
98 |
+
msgid ""
|
99 |
+
"Are you sure you would like to empty the trash? This action is not "
|
100 |
+
"reversable."
|
101 |
+
msgstr ""
|
102 |
+
"Är du säker på att du vill tömma papperskorgen? Detta går inte att ångra."
|
103 |
+
|
104 |
+
#: app/Activation/Dependencies.php:124 app/Views/partials/row-link.php:40
|
105 |
+
#: app/Views/partials/row.php:45
|
106 |
+
msgid "Hidden"
|
107 |
+
msgstr "Dold"
|
108 |
+
|
109 |
+
#: app/Bootstrap.php:60
|
110 |
+
msgid "Settings"
|
111 |
+
msgstr "Inställningar"
|
112 |
+
|
113 |
+
#: app/Config/Settings.php:53 app/Views/settings/settings.php:2
|
114 |
+
msgid "Nested Pages Settings"
|
115 |
+
msgstr "Inställningar för Nested Pages"
|
116 |
+
|
117 |
+
#: app/Config/Settings.php:54
|
118 |
+
msgid "Nested Pages"
|
119 |
+
msgstr "Nested Pages"
|
120 |
+
|
121 |
+
#: app/Entities/AdminMenu/AdminSubmenu.php:75
|
122 |
+
#: app/Views/partials/tool-list.php:33
|
123 |
+
msgid "Default"
|
124 |
+
msgstr "Standard"
|
125 |
+
|
126 |
+
#: app/Entities/Confirmation/LinkDeletedConfirmation.php:12
|
127 |
+
msgid "Link successfully deleted."
|
128 |
+
msgstr "Länken raderades utan problem."
|
129 |
+
|
130 |
+
#: app/Entities/Confirmation/TrashConfirmation.php:16
|
131 |
+
msgid "pages moved to the Trash"
|
132 |
+
msgstr "sidor flyttades till papperskorgen."
|
133 |
+
|
134 |
+
#: app/Entities/Confirmation/TrashConfirmation.php:18
|
135 |
+
msgid "moved to the Trash"
|
136 |
+
msgstr "flyttades till papperskorgen."
|
137 |
+
|
138 |
+
#: app/Entities/Confirmation/TrashConfirmation.php:23
|
139 |
+
msgid "Undo"
|
140 |
+
msgstr "Ångra"
|
141 |
+
|
142 |
+
#: app/Entities/Confirmation/TrashRestoredConfirmation.php:14
|
143 |
+
msgid "pages"
|
144 |
+
msgstr "sidor"
|
145 |
+
|
146 |
+
#: app/Entities/Confirmation/TrashRestoredConfirmation.php:14
|
147 |
+
msgid "page"
|
148 |
+
msgstr "sida"
|
149 |
+
|
150 |
+
#: app/Entities/Confirmation/TrashRestoredConfirmation.php:15
|
151 |
+
msgid "restored from trash"
|
152 |
+
msgstr "återställt från papperskorgen"
|
153 |
+
|
154 |
+
#: app/Entities/PostType/PostTypeRepository.php:189
|
155 |
+
msgid "Nested View"
|
156 |
+
msgstr "Flernivåsvy"
|
157 |
+
|
158 |
+
#: app/Entities/PostType/PostTypeRepository.php:189
|
159 |
+
msgid "Sort View"
|
160 |
+
msgstr "Sortera vy"
|
161 |
+
|
162 |
+
#: app/Entities/PostType/RegisterPostTypes.php:22
|
163 |
+
msgid "Redirects"
|
164 |
+
msgstr "Omdirigeringar"
|
165 |
+
|
166 |
+
#: app/Entities/PostType/RegisterPostTypes.php:23
|
167 |
+
msgid "Redirect"
|
168 |
+
msgstr "Omdirigering"
|
169 |
+
|
170 |
+
#: app/Form/Listeners/BaseHandler.php:80
|
171 |
+
msgid "Incorrect Form Field"
|
172 |
+
msgstr "Ogiltigt formulärfält"
|
173 |
+
|
174 |
+
#: app/Form/Listeners/BaseHandler.php:109
|
175 |
+
msgid "There was an error updating the page."
|
176 |
+
msgstr "Ett fel uppstod när sidan skulle uppdateras."
|
177 |
+
|
178 |
+
#: app/Form/Listeners/ClonePost.php:36
|
179 |
+
msgid "Post Not Found"
|
180 |
+
msgstr "Inlägget hittades inte."
|
181 |
+
|
182 |
+
#: app/Form/Listeners/EmptyTrash.php:19
|
183 |
+
msgid "Trash successfully emptied."
|
184 |
+
msgstr "Papperskorgen tömdes utan problem."
|
185 |
+
|
186 |
+
#: app/Form/Listeners/NewMenuItem.php:27
|
187 |
+
msgid "Custom Links must have a label"
|
188 |
+
msgstr "Anpassade länkar måste ha en etikett."
|
189 |
+
|
190 |
+
#: app/Form/Listeners/NewMenuItem.php:28
|
191 |
+
msgid "Please provide a valid URL"
|
192 |
+
msgstr "Vänligen ange en giltig URL."
|
193 |
+
|
194 |
+
#: app/Form/Listeners/NewMenuItem.php:47
|
195 |
+
#: app/Form/Listeners/QuickEditLink.php:30
|
196 |
+
msgid "Link successfully updated"
|
197 |
+
msgstr "Länken uppdaterades utan problem."
|
198 |
+
|
199 |
+
#: app/Form/Listeners/QuickEdit.php:32
|
200 |
+
msgid "Post successfully updated"
|
201 |
+
msgstr "Inlägget uppdaterades utan problem."
|
202 |
+
|
203 |
+
#: app/Form/Listeners/Sort.php:29
|
204 |
+
msgid "Page order successfully updated."
|
205 |
+
msgstr "Sidordningen uppdaterades utan problem."
|
206 |
+
|
207 |
+
#: app/Form/Listeners/Sort.php:31
|
208 |
+
msgid "There was an error updating the page order."
|
209 |
+
msgstr "Ett fel uppstod när sidordningen skulle uppdateras."
|
210 |
+
|
211 |
+
#: app/Form/Listeners/SyncMenu.php:27
|
212 |
+
msgid "Menu sync enabled."
|
213 |
+
msgstr "Menysynk aktiverad."
|
214 |
+
|
215 |
+
#: app/Form/Listeners/SyncMenu.php:30
|
216 |
+
msgid "Menu sync disabled."
|
217 |
+
msgstr "Menysynk inaktiverad."
|
218 |
+
|
219 |
+
#: app/Form/Validation/Validation.php:134
|
220 |
+
msgid "Please provide a valid date."
|
221 |
+
msgstr "Vänligen ange ett giltigt datum."
|
222 |
+
|
223 |
+
#: app/Form/Validation/Validation.php:145
|
224 |
+
msgid "Please provide a menu title."
|
225 |
+
msgstr "Vänligen ange ett namn på menyn."
|
226 |
+
|
227 |
+
#: app/Form/Validation/Validation.php:148
|
228 |
+
msgid "Please provide a valid URL."
|
229 |
+
msgstr "Vänligen ange en giltig URL."
|
230 |
+
|
231 |
+
#: app/Form/Validation/Validation.php:158
|
232 |
+
msgid "Please provide a "
|
233 |
+
msgstr "Vänligen ange en"
|
234 |
+
|
235 |
+
#: app/Form/Validation/Validation.php:171
|
236 |
+
msgid "A valid parent page was not provided."
|
237 |
+
msgstr "En giltig förälder angavs ej."
|
238 |
+
|
239 |
+
#: app/Form/Validation/Validation.php:178
|
240 |
+
msgid "Please provide at least one page title."
|
241 |
+
msgstr "Vänligen ange minst en sidtitel."
|
242 |
+
|
243 |
+
#: app/Form/Validation/Validation.php:186
|
244 |
+
msgid "Page titles cannot be blank."
|
245 |
+
msgstr "Sidtitlar kan inte vara tomma."
|
246 |
+
|
247 |
+
#: app/Views/forms/clone-form.php:9 app/Views/forms/clone-form.php:65
|
248 |
+
#: app/Views/partials/row.php:99
|
249 |
+
msgid "Clone"
|
250 |
+
msgstr "Klona"
|
251 |
+
|
252 |
+
#: app/Views/forms/clone-form.php:14
|
253 |
+
msgid "Number of Copies"
|
254 |
+
msgstr "Antal kopior"
|
255 |
+
|
256 |
+
#: app/Views/forms/clone-form.php:26 app/Views/forms/new-child.php:35
|
257 |
+
#: app/Views/forms/quickedit-link.php:27 app/Views/forms/quickedit-post.php:76
|
258 |
+
msgid "Status"
|
259 |
+
msgstr "Status"
|
260 |
+
|
261 |
+
#: app/Views/forms/clone-form.php:29 app/Views/forms/new-child.php:38
|
262 |
+
#: app/Views/forms/quickedit-link.php:30 app/Views/forms/quickedit-post.php:79
|
263 |
+
#: app/Views/partials/tool-list.php:10
|
264 |
+
msgid "Published"
|
265 |
+
msgstr "Publiserad"
|
266 |
+
|
267 |
+
#: app/Views/forms/clone-form.php:31 app/Views/forms/quickedit-link.php:33
|
268 |
+
#: app/Views/forms/quickedit-post.php:82
|
269 |
+
msgid "Pending Review"
|
270 |
+
msgstr "Väntar på granskning"
|
271 |
+
|
272 |
+
#: app/Views/forms/clone-form.php:32 app/Views/forms/new-child.php:40
|
273 |
+
#: app/Views/forms/quickedit-link.php:34 app/Views/forms/quickedit-post.php:83
|
274 |
+
#: app/Views/partials/tool-list.php:14
|
275 |
+
msgid "Draft"
|
276 |
+
msgstr "Utkast"
|
277 |
+
|
278 |
+
#: app/Views/forms/clone-form.php:50 app/Views/forms/new-child.php:61
|
279 |
+
#: app/Views/forms/quickedit-post.php:67
|
280 |
+
msgid "Author"
|
281 |
+
msgstr "Författare"
|
282 |
+
|
283 |
+
#: app/Views/forms/clone-form.php:62 app/Views/forms/empty-trash-modal.php:11
|
284 |
+
#: app/Views/forms/link-form.php:101 app/Views/forms/new-child.php:90
|
285 |
+
#: app/Views/forms/quickedit-link.php:84 app/Views/forms/quickedit-post.php:207
|
286 |
+
msgid "Cancel"
|
287 |
+
msgstr "Avbryt"
|
288 |
+
|
289 |
+
#: app/Views/forms/empty-trash-modal.php:12
|
290 |
+
msgid "Empty Trash"
|
291 |
+
msgstr "Töm papperskorgen"
|
292 |
+
|
293 |
+
#: app/Views/forms/link-form.php:18
|
294 |
+
msgid "Custom Link"
|
295 |
+
msgstr "Anpassad länk"
|
296 |
+
|
297 |
+
#: app/Views/forms/link-form.php:27 app/Views/forms/link-form.php:44
|
298 |
+
msgid "Search"
|
299 |
+
msgstr "Sök"
|
300 |
+
|
301 |
+
#: app/Views/forms/link-form.php:27 app/Views/forms/link-form.php:44
|
302 |
+
msgid "No Results"
|
303 |
+
msgstr "Inga resultat"
|
304 |
+
|
305 |
+
#: app/Views/forms/link-form.php:58
|
306 |
+
msgid "Select an item"
|
307 |
+
msgstr "Välj ett objekt"
|
308 |
+
|
309 |
+
#: app/Views/forms/link-form.php:63
|
310 |
+
msgid "Original"
|
311 |
+
msgstr "Original"
|
312 |
+
|
313 |
+
#: app/Views/forms/link-form.php:68 app/Views/forms/quickedit-link.php:22
|
314 |
+
msgid "URL"
|
315 |
+
msgstr "URL"
|
316 |
+
|
317 |
+
#: app/Views/forms/link-form.php:72 app/Views/forms/quickedit-link.php:17
|
318 |
+
#: app/Views/forms/quickedit-post.php:171
|
319 |
+
msgid "Navigation Label"
|
320 |
+
msgstr "Navigationsetikett"
|
321 |
+
|
322 |
+
#: app/Views/forms/link-form.php:76 app/Views/forms/quickedit-link.php:44
|
323 |
+
#: app/Views/forms/quickedit-post.php:175
|
324 |
+
msgid "Title Attribute"
|
325 |
+
msgstr "Titelattribut"
|
326 |
+
|
327 |
+
#: app/Views/forms/link-form.php:80
|
328 |
+
msgid "CSS Classes (optional)"
|
329 |
+
msgstr "CSS-klasser (frivilligt)"
|
330 |
+
|
331 |
+
#: app/Views/forms/link-form.php:86 app/Views/forms/quickedit-link.php:66
|
332 |
+
#: app/Views/forms/quickedit-post.php:193
|
333 |
+
msgid "Open link in a new window/tab"
|
334 |
+
msgstr "Öppna länk i nytt fönster/ny flik"
|
335 |
+
|
336 |
+
#: app/Views/forms/new-child.php:28
|
337 |
+
msgid "+"
|
338 |
+
msgstr "+"
|
339 |
+
|
340 |
+
#: app/Views/forms/new-child.php:71 app/Views/forms/quickedit-post.php:93
|
341 |
+
msgid "Template"
|
342 |
+
msgstr "Mall"
|
343 |
+
|
344 |
+
#: app/Views/forms/new-child.php:73 app/Views/forms/quickedit-post.php:95
|
345 |
+
msgid "Default Template"
|
346 |
+
msgstr "Standardmall"
|
347 |
+
|
348 |
+
#: app/Views/forms/new-child.php:96
|
349 |
+
msgid "Add & Edit"
|
350 |
+
msgstr "Skapa & Redigera"
|
351 |
+
|
352 |
+
#: app/Views/forms/quickedit-link.php:8
|
353 |
+
msgid "Link"
|
354 |
+
msgstr "Länk"
|
355 |
+
|
356 |
+
#: app/Views/forms/quickedit-link.php:31 app/Views/forms/quickedit-post.php:80
|
357 |
+
msgid "Scheduled"
|
358 |
+
msgstr "Schemalagd"
|
359 |
+
|
360 |
+
#: app/Views/forms/quickedit-link.php:48 app/Views/forms/quickedit-post.php:179
|
361 |
+
msgid "CSS Classes"
|
362 |
+
msgstr "CSS-klasser"
|
363 |
+
|
364 |
+
#: app/Views/forms/quickedit-link.php:54 app/Views/forms/quickedit-post.php:187
|
365 |
+
msgid "Hide in Nav Menu"
|
366 |
+
msgstr "Dölj i menyn"
|
367 |
+
|
368 |
+
#: app/Views/forms/quickedit-link.php:60 app/Views/forms/quickedit-post.php:126
|
369 |
+
msgid "Hide in Nested Pages"
|
370 |
+
msgstr "Dölj i Nested Pages"
|
371 |
+
|
372 |
+
#: app/Views/forms/quickedit-link.php:87 app/Views/forms/quickedit-post.php:210
|
373 |
+
msgid "Update"
|
374 |
+
msgstr "Uppdatera"
|
375 |
+
|
376 |
+
#: app/Views/forms/quickedit-post.php:24
|
377 |
+
msgid "Slug"
|
378 |
+
msgstr "Permalänk"
|
379 |
+
|
380 |
+
#: app/Views/forms/quickedit-post.php:30 app/Views/forms/quickedit-post.php:45
|
381 |
+
#: app/Views/partials/tool-list.php:63
|
382 |
+
msgid "Date"
|
383 |
+
msgstr "Datum"
|
384 |
+
|
385 |
+
#: app/Views/forms/quickedit-post.php:33
|
386 |
+
msgid "@"
|
387 |
+
msgstr "@"
|
388 |
+
|
389 |
+
#: app/Views/forms/quickedit-post.php:36
|
390 |
+
msgid "am"
|
391 |
+
msgstr "am"
|
392 |
+
|
393 |
+
#: app/Views/forms/quickedit-post.php:37
|
394 |
+
msgid "pm"
|
395 |
+
msgstr "pm"
|
396 |
+
|
397 |
+
#: app/Views/forms/quickedit-post.php:103
|
398 |
+
msgid "Password"
|
399 |
+
msgstr "Lösenord"
|
400 |
+
|
401 |
+
#: app/Views/forms/quickedit-post.php:106
|
402 |
+
msgid "–OR–"
|
403 |
+
msgstr "–ELLER–"
|
404 |
+
|
405 |
+
#: app/Views/forms/quickedit-post.php:109
|
406 |
+
msgid "Private"
|
407 |
+
msgstr "Privat"
|
408 |
+
|
409 |
+
#: app/Views/forms/quickedit-post.php:118
|
410 |
+
msgid "Allow Comments"
|
411 |
+
msgstr "Tillåt kommentarer"
|
412 |
+
|
413 |
+
#: app/Views/forms/quickedit-post.php:135
|
414 |
+
msgid "Menu Options"
|
415 |
+
msgstr "Menyalternativ"
|
416 |
+
|
417 |
+
#: app/Views/forms/quickedit-post.php:139
|
418 |
+
msgid "Taxonomies"
|
419 |
+
msgstr "Taxonomier"
|
420 |
+
|
421 |
+
#: app/Views/listing.php:35
|
422 |
+
msgid "Sync Menu"
|
423 |
+
msgstr "Synka meny"
|
424 |
+
|
425 |
+
#: app/Views/partials/row.php:23
|
426 |
+
msgid "Front Page"
|
427 |
+
msgstr "Startsida"
|
428 |
+
|
429 |
+
#: app/Views/partials/row.php:24
|
430 |
+
msgid "Posts Page"
|
431 |
+
msgstr "Inläggssida"
|
432 |
+
|
433 |
+
#: app/Views/partials/row.php:53
|
434 |
+
msgid "currently editing"
|
435 |
+
msgstr "redigerar just nu"
|
436 |
+
|
437 |
+
#: app/Views/partials/row.php:57
|
438 |
+
msgid "Edit"
|
439 |
+
msgstr "Redigera"
|
440 |
+
|
441 |
+
#: app/Views/partials/tool-list.php:6
|
442 |
+
msgid "All"
|
443 |
+
msgstr "Alla"
|
444 |
+
|
445 |
+
#: app/Views/partials/tool-list.php:24
|
446 |
+
msgid "Trash"
|
447 |
+
msgstr "Papperskorgen"
|
448 |
+
|
449 |
+
#: app/Views/partials/tool-list.php:25
|
450 |
+
msgid "Empty"
|
451 |
+
msgstr "Tom"
|
452 |
+
|
453 |
+
#: app/Views/partials/tool-list.php:47
|
454 |
+
msgid "All Authors"
|
455 |
+
msgstr "Alla författare"
|
456 |
+
|
457 |
+
#: app/Views/partials/tool-list.php:62
|
458 |
+
msgid "Menu Order"
|
459 |
+
msgstr "Menyordning"
|
460 |
+
|
461 |
+
#: app/Views/partials/tool-list.php:66
|
462 |
+
msgid "Order By"
|
463 |
+
msgstr "Ordna efter"
|
464 |
+
|
465 |
+
#: app/Views/partials/tool-list.php:80
|
466 |
+
msgid "Ascending"
|
467 |
+
msgstr "Stigande"
|
468 |
+
|
469 |
+
#: app/Views/partials/tool-list.php:81
|
470 |
+
msgid "Decending"
|
471 |
+
msgstr "Fallande"
|
472 |
+
|
473 |
+
#: app/Views/partials/tool-list.php:110
|
474 |
+
msgid "All "
|
475 |
+
msgstr "Alla"
|
476 |
+
|
477 |
+
#: app/Views/settings/settings-general.php:4
|
478 |
+
msgid "Currently Enabled"
|
479 |
+
msgstr "Aktiverad"
|
480 |
+
|
481 |
+
#: app/Views/settings/settings-general.php:4
|
482 |
+
msgid "Currently Disabled"
|
483 |
+
msgstr "Inaktiverad"
|
484 |
+
|
485 |
+
#: app/Views/settings/settings-general.php:8
|
486 |
+
msgid "Nested Pages Version"
|
487 |
+
msgstr "Nested Pages-version"
|
488 |
+
|
489 |
+
#: app/Views/settings/settings-general.php:13
|
490 |
+
msgid "Menu Name"
|
491 |
+
msgstr "Menynamn"
|
492 |
+
|
493 |
+
#: app/Views/settings/settings-general.php:16
|
494 |
+
msgid ""
|
495 |
+
"Important: Once the menu name has changed, theme files should be updated to "
|
496 |
+
"reference the new name."
|
497 |
+
msgstr ""
|
498 |
+
"Viktigt: När menynamnet har ändrats bör temafiler uppdateras för att "
|
499 |
+
"referera till det nya namnet."
|
500 |
+
|
501 |
+
#: app/Views/settings/settings-general.php:21
|
502 |
+
msgid "Display Options"
|
503 |
+
msgstr "Visningsalternativ"
|
504 |
+
|
505 |
+
#: app/Views/settings/settings-general.php:25
|
506 |
+
msgid "Enable Date Picker in Quick Edit"
|
507 |
+
msgstr "Aktivera datumväljare vid snabbredigering"
|
508 |
+
|
509 |
+
#: app/Views/settings/settings-general.php:30
|
510 |
+
msgid "Menu Sync"
|
511 |
+
msgstr "Menysynk"
|
512 |
+
|
513 |
+
#: app/Views/settings/settings-general.php:36
|
514 |
+
msgid "Hide Menu Sync Checkbox"
|
515 |
+
msgstr "Dölj checkbox för menysynk"
|
516 |
+
|
517 |
+
#: app/Views/settings/settings-general.php:43
|
518 |
+
msgid "Disable Menu Sync Completely"
|
519 |
+
msgstr "Inaktivera menysynk helt och hållet"
|
520 |
+
|
521 |
+
#: app/Views/settings/settings-general.php:49
|
522 |
+
msgid "Allow Page Sorting"
|
523 |
+
msgstr "Tillåt sortering av sidor"
|
524 |
+
|
525 |
+
#: app/Views/settings/settings-general.php:59
|
526 |
+
msgid "Admins always have sorting ability."
|
527 |
+
msgstr "Administratörer har alltid möjlighet att sortera."
|
528 |
+
|
529 |
+
#: app/Views/settings/settings-posttypes.php:7
|
530 |
+
msgid "Enable Nested Pages for:"
|
531 |
+
msgstr "Aktivera Nested Pages för:"
|
532 |
+
|
533 |
+
#: app/Views/settings/settings-posttypes.php:14
|
534 |
+
msgid "Post Type"
|
535 |
+
msgstr "Inläggstyp"
|
536 |
+
|
537 |
+
#: app/Views/settings/settings-posttypes.php:15
|
538 |
+
msgid "Hierarchical"
|
539 |
+
msgstr "Hierarkisk"
|
540 |
+
|
541 |
+
#: app/Views/settings/settings-posttypes.php:16
|
542 |
+
msgid "Enabled"
|
543 |
+
msgstr "Aktiverad"
|
544 |
+
|
545 |
+
#: app/Views/settings/settings-posttypes.php:17
|
546 |
+
msgid "Replace Default Menu"
|
547 |
+
msgstr "Ersätt standardmeny"
|
548 |
+
|
549 |
+
#: app/Views/settings/settings-posttypes.php:18
|
550 |
+
msgid "Hide Default Link"
|
551 |
+
msgstr "Dölj standardlänk"
|
552 |
+
|
553 |
+
#: app/Views/settings/settings-posttypes.php:19
|
554 |
+
msgid "Disable Nesting"
|
555 |
+
msgstr "Inaktivera flernivåstöd"
|
556 |
+
|
557 |
+
#: app/Views/settings/settings-posttypes.php:51
|
558 |
+
msgid "Note: Nesting features not enabled for non-hierarchical post types."
|
559 |
+
msgstr "Obs: Flernivåstöd är inte aktiverad för icke-hierarkiska inläggstyper."
|
560 |
+
|
561 |
+
#: app/Views/settings/settings-posttypes.php:54
|
562 |
+
msgid ""
|
563 |
+
"If default menu is not replaced, an additional submenu item will be added "
|
564 |
+
"for \"Nested/Sort View\""
|
565 |
+
msgstr ""
|
566 |
+
"Om standardmenyn inte ersätts kommer en ny undermeny skapas för \"Flernivå/"
|
567 |
+
"Sorteringsvy\""
|
568 |
+
|
569 |
+
#: app/Views/settings/settings-posttypes.php:57
|
570 |
+
msgid ""
|
571 |
+
"<strong>Important:</strong> Changing page structures on live sites may "
|
572 |
+
"effect SEO and existing inbound links. Limit URL structure changes on live "
|
573 |
+
"sites by disabling nesting. Sorting within the current nesting structure "
|
574 |
+
"will still be available. If nesting changes are made to a live site, it may "
|
575 |
+
"help to add a 301 redirect from the old location to the new one."
|
576 |
+
msgstr ""
|
577 |
+
"<strong>Viktigt:</strong> Ändringar i sidstrukturen på produktionssajter kan "
|
578 |
+
"påverka sökmotoroptimering samt inkommande länkar. Minimera ändringar i URL-"
|
579 |
+
"struktur på skarpa sajter genom att inaktivera flernivåstöd. Sortering i den "
|
580 |
+
"nuvarande sidstrukturen kommer ändå att fungera. Om strukturändringar utförs "
|
581 |
+
"på en produktionssajt kan det hjälpa att skapa en 301-omdirigering från den "
|
582 |
+
"gamla platsen till den nya."
|
583 |
+
|
584 |
+
#: app/Views/settings/settings.php:6
|
585 |
+
msgid "General"
|
586 |
+
msgstr "Allmänt"
|
587 |
+
|
588 |
+
#: app/Views/settings/settings.php:10
|
589 |
+
msgid "Post Types"
|
590 |
+
msgstr "Inläggstyper"
|
languages/nestedpages.mo
CHANGED
Binary file
|
languages/nestedpages.pot
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Nested Pages\n"
|
4 |
-
"POT-Creation-Date:
|
5 |
-
"PO-Revision-Date:
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"MIME-Version: 1.0\n"
|
@@ -16,107 +16,181 @@ msgstr ""
|
|
16 |
"_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
-
#: app/Activation/Dependencies.php:
|
|
|
20 |
msgid "Expand All"
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: app/Activation/Dependencies.php:
|
24 |
msgid "Collapse All"
|
25 |
msgstr ""
|
26 |
|
27 |
-
#: app/Activation/Dependencies.php:
|
28 |
msgid "Show Hidden"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: app/Activation/Dependencies.php:
|
32 |
msgid "Hide Hidden"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: app/Activation/Dependencies.php:
|
36 |
#: app/Views/listing.php:17
|
37 |
msgid "Add Link"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: app/Activation/Dependencies.php:
|
41 |
msgid "Add Child Link"
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: app/Activation/Dependencies.php:
|
45 |
-
#: app/Entities/Post/PostUpdateRepository.php:
|
46 |
#: app/Views/forms/new-child.php:19 app/Views/forms/new-child.php:21
|
47 |
-
#: app/Views/forms/quickedit-post.php:
|
48 |
msgid "Title"
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: app/Activation/Dependencies.php:
|
52 |
-
#: app/Views/partials/row-link.php:68 app/Views/partials/row.php:
|
53 |
msgid "Quick Edit"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: app/Activation/Dependencies.php:
|
57 |
msgid "Page Title"
|
58 |
msgstr ""
|
59 |
|
60 |
-
#: app/Activation/Dependencies.php:
|
61 |
msgid "View"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: app/Activation/Dependencies.php:
|
65 |
-
#: app/Views/partials/row.php:
|
66 |
msgid "Add Child"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: app/Activation/Dependencies.php:
|
70 |
msgid "Add Child Page"
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: app/Activation/Dependencies.php:
|
74 |
msgid "Add Child Pages"
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: app/Activation/Dependencies.php:
|
78 |
-
#: app/Views/forms/new-child.php:
|
79 |
msgid "Add"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: app/Activation/Dependencies.php:
|
83 |
msgid "Add Page"
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: app/Activation/Dependencies.php:
|
87 |
msgid "Add Pages"
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: app/Activation/Dependencies.php:
|
91 |
#: app/Views/listing.php:11
|
92 |
msgid "Add Multiple"
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: app/Activation/Dependencies.php:
|
96 |
msgid ""
|
97 |
"Are you sure you would like to empty the trash? This action is not "
|
98 |
"reversable."
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: app/Activation/Dependencies.php:
|
102 |
-
#: app/Views/partials/row.php:
|
103 |
msgid "Hidden"
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: app/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
msgid "Settings"
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: app/Config/Settings.php:
|
111 |
msgid "Nested Pages Settings"
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: app/Config/Settings.php:
|
115 |
msgid "Nested Pages"
|
116 |
msgstr ""
|
117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
#: app/Entities/AdminMenu/AdminSubmenu.php:75
|
119 |
-
#: app/Views/partials/tool-list.php:
|
120 |
msgid "Default"
|
121 |
msgstr ""
|
122 |
|
@@ -124,35 +198,40 @@ msgstr ""
|
|
124 |
msgid "Link successfully deleted."
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: app/Entities/Confirmation/TrashConfirmation.php:
|
128 |
-
msgid "
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: app/Entities/Confirmation/TrashConfirmation.php:
|
132 |
-
msgid "
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: app/Entities/Confirmation/TrashConfirmation.php:
|
|
|
|
|
|
|
|
|
|
|
136 |
msgid "Undo"
|
137 |
msgstr ""
|
138 |
|
139 |
#: app/Entities/Confirmation/TrashRestoredConfirmation.php:14
|
140 |
-
msgid "
|
141 |
msgstr ""
|
142 |
|
143 |
#: app/Entities/Confirmation/TrashRestoredConfirmation.php:14
|
144 |
-
msgid "
|
145 |
msgstr ""
|
146 |
|
147 |
#: app/Entities/Confirmation/TrashRestoredConfirmation.php:15
|
148 |
-
msgid "restored from trash"
|
149 |
msgstr ""
|
150 |
|
151 |
-
#: app/Entities/PostType/PostTypeRepository.php:
|
152 |
msgid "Nested View"
|
153 |
msgstr ""
|
154 |
|
155 |
-
#: app/Entities/PostType/PostTypeRepository.php:
|
156 |
msgid "Sort View"
|
157 |
msgstr ""
|
158 |
|
@@ -168,7 +247,7 @@ msgstr ""
|
|
168 |
msgid "Incorrect Form Field"
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: app/Form/Listeners/BaseHandler.php:
|
172 |
msgid "There was an error updating the page."
|
173 |
msgstr ""
|
174 |
|
@@ -181,20 +260,21 @@ msgid "Trash successfully emptied."
|
|
181 |
msgstr ""
|
182 |
|
183 |
#: app/Form/Listeners/NewMenuItem.php:27
|
184 |
-
msgid "Custom Links must have a label"
|
185 |
msgstr ""
|
186 |
|
187 |
#: app/Form/Listeners/NewMenuItem.php:28
|
188 |
-
|
|
|
189 |
msgstr ""
|
190 |
|
191 |
#: app/Form/Listeners/NewMenuItem.php:47
|
192 |
#: app/Form/Listeners/QuickEditLink.php:30
|
193 |
-
msgid "Link successfully updated"
|
194 |
msgstr ""
|
195 |
|
196 |
#: app/Form/Listeners/QuickEdit.php:32
|
197 |
-
msgid "Post successfully updated"
|
198 |
msgstr ""
|
199 |
|
200 |
#: app/Form/Listeners/Sort.php:29
|
@@ -205,12 +285,12 @@ msgstr ""
|
|
205 |
msgid "There was an error updating the page order."
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: app/Form/Listeners/SyncMenu.php:
|
209 |
-
msgid "Menu sync
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: app/Form/Listeners/SyncMenu.php:
|
213 |
-
msgid "Menu sync
|
214 |
msgstr ""
|
215 |
|
216 |
#: app/Form/Validation/Validation.php:134
|
@@ -221,10 +301,6 @@ msgstr ""
|
|
221 |
msgid "Please provide a menu title."
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: app/Form/Validation/Validation.php:148
|
225 |
-
msgid "Please provide a valid URL."
|
226 |
-
msgstr ""
|
227 |
-
|
228 |
#: app/Form/Validation/Validation.php:158
|
229 |
msgid "Please provide a "
|
230 |
msgstr ""
|
@@ -242,7 +318,7 @@ msgid "Page titles cannot be blank."
|
|
242 |
msgstr ""
|
243 |
|
244 |
#: app/Views/forms/clone-form.php:9 app/Views/forms/clone-form.php:65
|
245 |
-
#: app/Views/partials/row.php:
|
246 |
msgid "Clone"
|
247 |
msgstr ""
|
248 |
|
@@ -251,36 +327,32 @@ msgid "Number of Copies"
|
|
251 |
msgstr ""
|
252 |
|
253 |
#: app/Views/forms/clone-form.php:26 app/Views/forms/new-child.php:35
|
254 |
-
#: app/Views/forms/quickedit-link.php:27 app/Views/forms/quickedit-post.php:
|
255 |
msgid "Status"
|
256 |
msgstr ""
|
257 |
|
258 |
#: app/Views/forms/clone-form.php:29 app/Views/forms/new-child.php:38
|
259 |
-
#: app/Views/forms/quickedit-link.php:30 app/Views/forms/quickedit-post.php:
|
260 |
#: app/Views/partials/tool-list.php:10
|
261 |
msgid "Published"
|
262 |
msgstr ""
|
263 |
|
264 |
#: app/Views/forms/clone-form.php:31 app/Views/forms/quickedit-link.php:33
|
265 |
-
#: app/Views/forms/quickedit-post.php:
|
266 |
msgid "Pending Review"
|
267 |
msgstr ""
|
268 |
|
269 |
#: app/Views/forms/clone-form.php:32 app/Views/forms/new-child.php:40
|
270 |
-
#: app/Views/forms/quickedit-link.php:34 app/Views/forms/quickedit-post.php:
|
271 |
#: app/Views/partials/tool-list.php:14
|
272 |
msgid "Draft"
|
273 |
msgstr ""
|
274 |
|
275 |
-
#: app/Views/forms/clone-form.php:
|
276 |
-
#: app/Views/forms/
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
#: app/Views/forms/clone-form.php:62 app/Views/forms/empty-trash-modal.php:11
|
281 |
-
#: app/Views/forms/link-form.php:101 app/Views/forms/new-child.php:90
|
282 |
-
#: app/Views/forms/quickedit-link.php:84
|
283 |
-
#: app/Views/forms/quickedit-post.php:207
|
284 |
msgid "Cancel"
|
285 |
msgstr ""
|
286 |
|
@@ -313,12 +385,12 @@ msgid "URL"
|
|
313 |
msgstr ""
|
314 |
|
315 |
#: app/Views/forms/link-form.php:72 app/Views/forms/quickedit-link.php:17
|
316 |
-
#: app/Views/forms/quickedit-post.php:
|
317 |
msgid "Navigation Label"
|
318 |
msgstr ""
|
319 |
|
320 |
#: app/Views/forms/link-form.php:76 app/Views/forms/quickedit-link.php:44
|
321 |
-
#: app/Views/forms/quickedit-post.php:
|
322 |
msgid "Title Attribute"
|
323 |
msgstr ""
|
324 |
|
@@ -327,7 +399,7 @@ msgid "CSS Classes (optional)"
|
|
327 |
msgstr ""
|
328 |
|
329 |
#: app/Views/forms/link-form.php:86 app/Views/forms/quickedit-link.php:66
|
330 |
-
#: app/Views/forms/quickedit-post.php:
|
331 |
msgid "Open link in a new window/tab"
|
332 |
msgstr ""
|
333 |
|
@@ -335,108 +407,100 @@ msgstr ""
|
|
335 |
msgid "+"
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: app/Views/forms/new-child.php:
|
339 |
-
msgid "Template"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: app/Views/forms/new-child.php:
|
343 |
-
|
|
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: app/Views/forms/new-child.php:
|
347 |
msgid "Add & Edit"
|
348 |
msgstr ""
|
349 |
|
350 |
#: app/Views/forms/quickedit-link.php:8
|
|
|
351 |
msgid "Link"
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: app/Views/forms/quickedit-link.php:31 app/Views/forms/quickedit-post.php:
|
355 |
msgid "Scheduled"
|
356 |
msgstr ""
|
357 |
|
358 |
#: app/Views/forms/quickedit-link.php:48
|
359 |
-
#: app/Views/forms/quickedit-post.php:
|
360 |
msgid "CSS Classes"
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: app/Views/forms/quickedit-link.php:54
|
364 |
-
#: app/Views/forms/quickedit-post.php:187
|
365 |
-
msgid "Hide in Nav Menu"
|
366 |
-
msgstr ""
|
367 |
-
|
368 |
-
#: app/Views/forms/quickedit-link.php:60
|
369 |
-
#: app/Views/forms/quickedit-post.php:126
|
370 |
-
msgid "Hide in Nested Pages"
|
371 |
-
msgstr ""
|
372 |
-
|
373 |
#: app/Views/forms/quickedit-link.php:87
|
374 |
-
#: app/Views/forms/quickedit-post.php:
|
375 |
msgid "Update"
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: app/Views/forms/quickedit-post.php:
|
379 |
-
|
380 |
-
msgstr ""
|
381 |
-
|
382 |
-
#: app/Views/forms/quickedit-post.php:30 app/Views/forms/quickedit-post.php:45
|
383 |
-
#: app/Views/partials/tool-list.php:63
|
384 |
msgid "Date"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: app/Views/forms/quickedit-post.php:
|
388 |
msgid "@"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: app/Views/forms/quickedit-post.php:
|
392 |
msgid "am"
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: app/Views/forms/quickedit-post.php:
|
396 |
msgid "pm"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: app/Views/forms/quickedit-post.php:
|
400 |
msgid "Password"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#: app/Views/forms/quickedit-post.php:
|
404 |
msgid "–OR–"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: app/Views/forms/quickedit-post.php:
|
408 |
msgid "Private"
|
409 |
msgstr ""
|
410 |
|
411 |
-
#: app/Views/
|
412 |
-
msgid "
|
413 |
msgstr ""
|
414 |
|
415 |
-
#: app/Views/
|
416 |
-
msgid "
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: app/Views/
|
420 |
-
msgid "
|
421 |
msgstr ""
|
422 |
|
423 |
-
#: app/Views/
|
424 |
-
msgid "
|
|
|
|
|
|
|
|
|
425 |
msgstr ""
|
426 |
|
427 |
-
#: app/Views/partials/row.php:
|
428 |
msgid "Front Page"
|
429 |
msgstr ""
|
430 |
|
431 |
-
#: app/Views/partials/row.php:
|
432 |
msgid "Posts Page"
|
433 |
msgstr ""
|
434 |
|
435 |
-
#: app/Views/partials/row.php:
|
436 |
msgid "currently editing"
|
437 |
msgstr ""
|
438 |
|
439 |
-
#: app/Views/partials/row.php:
|
440 |
msgid "Edit"
|
441 |
msgstr ""
|
442 |
|
@@ -444,35 +508,35 @@ msgstr ""
|
|
444 |
msgid "All"
|
445 |
msgstr ""
|
446 |
|
447 |
-
#: app/Views/partials/tool-list.php:
|
448 |
msgid "Trash"
|
449 |
msgstr ""
|
450 |
|
451 |
-
#: app/Views/partials/tool-list.php:
|
452 |
msgid "Empty"
|
453 |
msgstr ""
|
454 |
|
455 |
-
#: app/Views/partials/tool-list.php:
|
456 |
msgid "All Authors"
|
457 |
msgstr ""
|
458 |
|
459 |
-
#: app/Views/partials/tool-list.php:
|
460 |
msgid "Menu Order"
|
461 |
msgstr ""
|
462 |
|
463 |
-
#: app/Views/partials/tool-list.php:
|
464 |
msgid "Order By"
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: app/Views/partials/tool-list.php:
|
468 |
msgid "Ascending"
|
469 |
msgstr ""
|
470 |
|
471 |
-
#: app/Views/partials/tool-list.php:
|
472 |
-
msgid "
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: app/Views/partials/tool-list.php:
|
476 |
msgid "All "
|
477 |
msgstr ""
|
478 |
|
@@ -484,29 +548,29 @@ msgstr ""
|
|
484 |
msgid "Currently Disabled"
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: app/Views/settings/settings-general.php:
|
488 |
msgid "Nested Pages Version"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: app/Views/settings/settings-general.php:
|
492 |
msgid "Menu Name"
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: app/Views/settings/settings-general.php:
|
496 |
msgid ""
|
497 |
"Important: Once the menu name has changed, theme files should be updated to "
|
498 |
"reference the new name."
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: app/Views/settings/settings-general.php:
|
502 |
msgid "Display Options"
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: app/Views/settings/settings-general.php:
|
506 |
msgid "Enable Date Picker in Quick Edit"
|
507 |
msgstr ""
|
508 |
|
509 |
-
#: app/Views/settings/settings-general.php:
|
510 |
msgid "Menu Sync"
|
511 |
msgstr ""
|
512 |
|
@@ -514,15 +578,23 @@ msgstr ""
|
|
514 |
msgid "Hide Menu Sync Checkbox"
|
515 |
msgstr ""
|
516 |
|
517 |
-
#: app/Views/settings/settings-general.php:
|
518 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
519 |
msgstr ""
|
520 |
|
521 |
-
#: app/Views/settings/settings-general.php:
|
522 |
msgid "Allow Page Sorting"
|
523 |
msgstr ""
|
524 |
|
525 |
-
#: app/Views/settings/settings-general.php:
|
526 |
msgid "Admins always have sorting ability."
|
527 |
msgstr ""
|
528 |
|
@@ -530,41 +602,131 @@ msgstr ""
|
|
530 |
msgid "Enable Nested Pages for:"
|
531 |
msgstr ""
|
532 |
|
533 |
-
#: app/Views/settings/settings-posttypes.php:
|
534 |
-
msgid "
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: app/Views/settings/settings-posttypes.php:
|
538 |
-
msgid "
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: app/Views/settings/settings-posttypes.php:
|
542 |
-
msgid "
|
543 |
msgstr ""
|
544 |
|
545 |
-
#: app/Views/settings/settings-posttypes.php:
|
546 |
-
msgid "Replace Default
|
547 |
msgstr ""
|
548 |
|
549 |
-
#: app/Views/settings/settings-posttypes.php:
|
550 |
-
msgid "
|
551 |
msgstr ""
|
552 |
|
553 |
-
#: app/Views/settings/settings-posttypes.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
msgid "Disable Nesting"
|
555 |
msgstr ""
|
556 |
|
557 |
-
#: app/Views/settings/settings-posttypes.php:
|
558 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
559 |
msgstr ""
|
560 |
|
561 |
-
#: app/Views/settings/settings-posttypes.php:
|
562 |
msgid ""
|
563 |
"If default menu is not replaced, an additional submenu item will be added "
|
564 |
"for \"Nested/Sort View\""
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: app/Views/settings/settings-posttypes.php:
|
568 |
msgid ""
|
569 |
"<strong>Important:</strong> Changing page structures on live sites may "
|
570 |
"effect SEO and existing inbound links. Limit URL structure changes on live "
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Nested Pages\n"
|
4 |
+
"POT-Creation-Date: 2016-10-18 22:30-0500\n"
|
5 |
+
"PO-Revision-Date: 2016-10-18 22:30-0500\n"
|
6 |
"Last-Translator: \n"
|
7 |
"Language-Team: \n"
|
8 |
"MIME-Version: 1.0\n"
|
16 |
"_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
|
17 |
"X-Poedit-SearchPath-0: .\n"
|
18 |
|
19 |
+
#: app/Activation/Dependencies.php:124 app/Views/listing.php:31
|
20 |
+
#: app/Views/partials/list-header.php:21
|
21 |
msgid "Expand All"
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: app/Activation/Dependencies.php:125
|
25 |
msgid "Collapse All"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: app/Activation/Dependencies.php:126 app/Views/partials/tool-list.php:19
|
29 |
msgid "Show Hidden"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: app/Activation/Dependencies.php:127 app/Views/partials/tool-list.php:21
|
33 |
msgid "Hide Hidden"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: app/Activation/Dependencies.php:128 app/Views/listing.php:16
|
37 |
#: app/Views/listing.php:17
|
38 |
msgid "Add Link"
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: app/Activation/Dependencies.php:129
|
42 |
msgid "Add Child Link"
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: app/Activation/Dependencies.php:130
|
46 |
+
#: app/Entities/Post/PostUpdateRepository.php:91
|
47 |
#: app/Views/forms/new-child.php:19 app/Views/forms/new-child.php:21
|
48 |
+
#: app/Views/forms/quickedit-post.php:21 app/Views/partials/tool-list.php:69
|
49 |
msgid "Title"
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: app/Activation/Dependencies.php:131 app/Views/forms/quickedit-post.php:11
|
53 |
+
#: app/Views/partials/row-link.php:68 app/Views/partials/row.php:138
|
54 |
msgid "Quick Edit"
|
55 |
msgstr ""
|
56 |
|
57 |
+
#: app/Activation/Dependencies.php:132
|
58 |
msgid "Page Title"
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: app/Activation/Dependencies.php:133 app/Views/partials/row.php:143
|
62 |
msgid "View"
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: app/Activation/Dependencies.php:134 app/Views/forms/new-child.php:7
|
66 |
+
#: app/Views/partials/row.php:102
|
67 |
msgid "Add Child"
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: app/Activation/Dependencies.php:135
|
71 |
msgid "Add Child Page"
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: app/Activation/Dependencies.php:136
|
75 |
msgid "Add Child Pages"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: app/Activation/Dependencies.php:137 app/Views/forms/link-form.php:105
|
79 |
+
#: app/Views/forms/new-child.php:102
|
80 |
msgid "Add"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: app/Activation/Dependencies.php:138
|
84 |
msgid "Add Page"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: app/Activation/Dependencies.php:139
|
88 |
msgid "Add Pages"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: app/Activation/Dependencies.php:140 app/Views/listing.php:10
|
92 |
#: app/Views/listing.php:11
|
93 |
msgid "Add Multiple"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: app/Activation/Dependencies.php:141
|
97 |
msgid ""
|
98 |
"Are you sure you would like to empty the trash? This action is not "
|
99 |
"reversable."
|
100 |
msgstr ""
|
101 |
|
102 |
+
#: app/Activation/Dependencies.php:142 app/Views/partials/row-link.php:40
|
103 |
+
#: app/Views/partials/row.php:48
|
104 |
msgid "Hidden"
|
105 |
msgstr ""
|
106 |
|
107 |
+
#: app/Activation/Dependencies.php:143 app/Views/partials/list-header.php:14
|
108 |
+
msgid "Bulk Actions"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: app/Activation/Dependencies.php:144
|
112 |
+
msgid ""
|
113 |
+
"Your selection includes link items, which cannot be recovered after "
|
114 |
+
"deleting. Would you like to continue? (Other items are moved to the trash)"
|
115 |
+
msgstr ""
|
116 |
+
|
117 |
+
#: app/Activation/Dependencies.php:145
|
118 |
+
msgid ""
|
119 |
+
"Are you sure you would like to delete this item? This action is not "
|
120 |
+
"reversable."
|
121 |
+
msgstr ""
|
122 |
+
|
123 |
+
#: app/Activation/Dependencies.php:146
|
124 |
+
#: app/Views/forms/delete-confirmation-modal.php:12
|
125 |
+
msgid "Delete"
|
126 |
+
msgstr ""
|
127 |
+
|
128 |
+
#: app/Activation/Dependencies.php:147
|
129 |
+
msgid "Trash Posts and Delete Links"
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
#: app/Bootstrap.php:69 app/Views/settings/settings-posttypes.php:22
|
133 |
msgid "Settings"
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: app/Config/Settings.php:66 app/Views/settings/settings.php:2
|
137 |
msgid "Nested Pages Settings"
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: app/Config/Settings.php:67
|
141 |
msgid "Nested Pages"
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: app/Config/SettingsRepository.php:79
|
145 |
+
msgid "Post Title"
|
146 |
+
msgstr ""
|
147 |
+
|
148 |
+
#: app/Config/SettingsRepository.php:80 app/Views/forms/quickedit-post.php:28
|
149 |
+
msgid "Slug"
|
150 |
+
msgstr ""
|
151 |
+
|
152 |
+
#: app/Config/SettingsRepository.php:81
|
153 |
+
msgid "Post Date"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
+
#: app/Config/SettingsRepository.php:82 app/Views/forms/clone-form.php:50
|
157 |
+
#: app/Views/forms/new-child.php:61 app/Views/forms/quickedit-post.php:74
|
158 |
+
msgid "Author"
|
159 |
+
msgstr ""
|
160 |
+
|
161 |
+
#: app/Config/SettingsRepository.php:83
|
162 |
+
msgid "Post Status"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: app/Config/SettingsRepository.php:84
|
166 |
+
msgid "Password/Private"
|
167 |
+
msgstr ""
|
168 |
+
|
169 |
+
#: app/Config/SettingsRepository.php:85 app/Views/forms/quickedit-post.php:129
|
170 |
+
msgid "Allow Comments"
|
171 |
+
msgstr ""
|
172 |
+
|
173 |
+
#: app/Config/SettingsRepository.php:89 app/Views/forms/new-child.php:71
|
174 |
+
#: app/Views/forms/quickedit-post.php:103
|
175 |
+
msgid "Template"
|
176 |
+
msgstr ""
|
177 |
+
|
178 |
+
#: app/Config/SettingsRepository.php:90 app/Views/forms/quickedit-post.php:145
|
179 |
+
msgid "Menu Options"
|
180 |
+
msgstr ""
|
181 |
+
|
182 |
+
#: app/Config/SettingsRepository.php:93 app/Views/forms/quickedit-link.php:60
|
183 |
+
#: app/Views/forms/quickedit-post.php:138
|
184 |
+
msgid "Hide in Nested Pages"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: app/Config/SettingsRepository.php:101
|
188 |
+
#: app/Views/forms/quickedit-post.php:149
|
189 |
+
msgid "Taxonomies"
|
190 |
+
msgstr ""
|
191 |
+
|
192 |
#: app/Entities/AdminMenu/AdminSubmenu.php:75
|
193 |
+
#: app/Views/partials/tool-list.php:38
|
194 |
msgid "Default"
|
195 |
msgstr ""
|
196 |
|
198 |
msgid "Link successfully deleted."
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: app/Entities/Confirmation/TrashConfirmation.php:20
|
202 |
+
msgid "Links Removed."
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: app/Entities/Confirmation/TrashConfirmation.php:21
|
206 |
+
msgid "Link Removed."
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: app/Entities/Confirmation/TrashConfirmation.php:30
|
210 |
+
#: app/Entities/Confirmation/TrashConfirmation.php:31
|
211 |
+
msgid "moved to the Trash."
|
212 |
+
msgstr ""
|
213 |
+
|
214 |
+
#: app/Entities/Confirmation/TrashConfirmation.php:35
|
215 |
msgid "Undo"
|
216 |
msgstr ""
|
217 |
|
218 |
#: app/Entities/Confirmation/TrashRestoredConfirmation.php:14
|
219 |
+
msgid "items"
|
220 |
msgstr ""
|
221 |
|
222 |
#: app/Entities/Confirmation/TrashRestoredConfirmation.php:14
|
223 |
+
msgid "item"
|
224 |
msgstr ""
|
225 |
|
226 |
#: app/Entities/Confirmation/TrashRestoredConfirmation.php:15
|
227 |
+
msgid "restored from trash."
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: app/Entities/PostType/PostTypeRepository.php:317
|
231 |
msgid "Nested View"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: app/Entities/PostType/PostTypeRepository.php:317
|
235 |
msgid "Sort View"
|
236 |
msgstr ""
|
237 |
|
247 |
msgid "Incorrect Form Field"
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: app/Form/Listeners/BaseHandler.php:113
|
251 |
msgid "There was an error updating the page."
|
252 |
msgstr ""
|
253 |
|
260 |
msgstr ""
|
261 |
|
262 |
#: app/Form/Listeners/NewMenuItem.php:27
|
263 |
+
msgid "Custom Links must have a label."
|
264 |
msgstr ""
|
265 |
|
266 |
#: app/Form/Listeners/NewMenuItem.php:28
|
267 |
+
#: app/Form/Validation/Validation.php:148
|
268 |
+
msgid "Please provide a valid URL."
|
269 |
msgstr ""
|
270 |
|
271 |
#: app/Form/Listeners/NewMenuItem.php:47
|
272 |
#: app/Form/Listeners/QuickEditLink.php:30
|
273 |
+
msgid "Link successfully updated."
|
274 |
msgstr ""
|
275 |
|
276 |
#: app/Form/Listeners/QuickEdit.php:32
|
277 |
+
msgid "Post successfully updated."
|
278 |
msgstr ""
|
279 |
|
280 |
#: app/Form/Listeners/Sort.php:29
|
285 |
msgid "There was an error updating the page order."
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: app/Form/Listeners/SyncMenu.php:26
|
289 |
+
msgid "Menu sync disabled."
|
290 |
msgstr ""
|
291 |
|
292 |
+
#: app/Form/Listeners/SyncMenu.php:36
|
293 |
+
msgid "Menu sync enabled."
|
294 |
msgstr ""
|
295 |
|
296 |
#: app/Form/Validation/Validation.php:134
|
301 |
msgid "Please provide a menu title."
|
302 |
msgstr ""
|
303 |
|
|
|
|
|
|
|
|
|
304 |
#: app/Form/Validation/Validation.php:158
|
305 |
msgid "Please provide a "
|
306 |
msgstr ""
|
318 |
msgstr ""
|
319 |
|
320 |
#: app/Views/forms/clone-form.php:9 app/Views/forms/clone-form.php:65
|
321 |
+
#: app/Views/partials/row.php:107
|
322 |
msgid "Clone"
|
323 |
msgstr ""
|
324 |
|
327 |
msgstr ""
|
328 |
|
329 |
#: app/Views/forms/clone-form.php:26 app/Views/forms/new-child.php:35
|
330 |
+
#: app/Views/forms/quickedit-link.php:27 app/Views/forms/quickedit-post.php:85
|
331 |
msgid "Status"
|
332 |
msgstr ""
|
333 |
|
334 |
#: app/Views/forms/clone-form.php:29 app/Views/forms/new-child.php:38
|
335 |
+
#: app/Views/forms/quickedit-link.php:30 app/Views/forms/quickedit-post.php:88
|
336 |
#: app/Views/partials/tool-list.php:10
|
337 |
msgid "Published"
|
338 |
msgstr ""
|
339 |
|
340 |
#: app/Views/forms/clone-form.php:31 app/Views/forms/quickedit-link.php:33
|
341 |
+
#: app/Views/forms/quickedit-post.php:91
|
342 |
msgid "Pending Review"
|
343 |
msgstr ""
|
344 |
|
345 |
#: app/Views/forms/clone-form.php:32 app/Views/forms/new-child.php:40
|
346 |
+
#: app/Views/forms/quickedit-link.php:34 app/Views/forms/quickedit-post.php:92
|
347 |
#: app/Views/partials/tool-list.php:14
|
348 |
msgid "Draft"
|
349 |
msgstr ""
|
350 |
|
351 |
+
#: app/Views/forms/clone-form.php:62
|
352 |
+
#: app/Views/forms/delete-confirmation-modal.php:11
|
353 |
+
#: app/Views/forms/empty-trash-modal.php:11 app/Views/forms/link-form.php:101
|
354 |
+
#: app/Views/forms/new-child.php:99 app/Views/forms/quickedit-link.php:84
|
355 |
+
#: app/Views/forms/quickedit-post.php:231
|
|
|
|
|
|
|
|
|
356 |
msgid "Cancel"
|
357 |
msgstr ""
|
358 |
|
385 |
msgstr ""
|
386 |
|
387 |
#: app/Views/forms/link-form.php:72 app/Views/forms/quickedit-link.php:17
|
388 |
+
#: app/Views/forms/quickedit-post.php:195
|
389 |
msgid "Navigation Label"
|
390 |
msgstr ""
|
391 |
|
392 |
#: app/Views/forms/link-form.php:76 app/Views/forms/quickedit-link.php:44
|
393 |
+
#: app/Views/forms/quickedit-post.php:199
|
394 |
msgid "Title Attribute"
|
395 |
msgstr ""
|
396 |
|
399 |
msgstr ""
|
400 |
|
401 |
#: app/Views/forms/link-form.php:86 app/Views/forms/quickedit-link.php:66
|
402 |
+
#: app/Views/forms/quickedit-post.php:217
|
403 |
msgid "Open link in a new window/tab"
|
404 |
msgstr ""
|
405 |
|
407 |
msgid "+"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: app/Views/forms/new-child.php:73 app/Views/forms/quickedit-post.php:105
|
411 |
+
msgid "Default Template"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: app/Views/forms/new-child.php:83 app/Views/forms/quickedit-link.php:54
|
415 |
+
#: app/Views/forms/quickedit-post.php:211
|
416 |
+
msgid "Hide in Nav Menu"
|
417 |
msgstr ""
|
418 |
|
419 |
+
#: app/Views/forms/new-child.php:105
|
420 |
msgid "Add & Edit"
|
421 |
msgstr ""
|
422 |
|
423 |
#: app/Views/forms/quickedit-link.php:8
|
424 |
+
#: app/Views/settings/settings-posttypes.php:44
|
425 |
msgid "Link"
|
426 |
msgstr ""
|
427 |
|
428 |
+
#: app/Views/forms/quickedit-link.php:31 app/Views/forms/quickedit-post.php:89
|
429 |
msgid "Scheduled"
|
430 |
msgstr ""
|
431 |
|
432 |
#: app/Views/forms/quickedit-link.php:48
|
433 |
+
#: app/Views/forms/quickedit-post.php:203
|
434 |
msgid "CSS Classes"
|
435 |
msgstr ""
|
436 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
437 |
#: app/Views/forms/quickedit-link.php:87
|
438 |
+
#: app/Views/forms/quickedit-post.php:234
|
439 |
msgid "Update"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: app/Views/forms/quickedit-post.php:36 app/Views/forms/quickedit-post.php:51
|
443 |
+
#: app/Views/partials/tool-list.php:68
|
|
|
|
|
|
|
|
|
444 |
msgid "Date"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: app/Views/forms/quickedit-post.php:39
|
448 |
msgid "@"
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: app/Views/forms/quickedit-post.php:42
|
452 |
msgid "am"
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: app/Views/forms/quickedit-post.php:43
|
456 |
msgid "pm"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: app/Views/forms/quickedit-post.php:113
|
460 |
msgid "Password"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: app/Views/forms/quickedit-post.php:116
|
464 |
msgid "–OR–"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: app/Views/forms/quickedit-post.php:119
|
468 |
msgid "Private"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: app/Views/listing.php:38
|
472 |
+
msgid "Sync"
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: app/Views/listing.php:38
|
476 |
+
msgid "Order"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: app/Views/listing.php:45 app/Views/listing.php:48
|
480 |
+
msgid "Sync Menu"
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: app/Views/partials/list-header.php:16
|
484 |
+
msgid "Move to Trash"
|
485 |
+
msgstr ""
|
486 |
+
|
487 |
+
#: app/Views/partials/list-header.php:21
|
488 |
+
msgid "Nested Items Selected"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: app/Views/partials/row.php:31
|
492 |
msgid "Front Page"
|
493 |
msgstr ""
|
494 |
|
495 |
+
#: app/Views/partials/row.php:32
|
496 |
msgid "Posts Page"
|
497 |
msgstr ""
|
498 |
|
499 |
+
#: app/Views/partials/row.php:56
|
500 |
msgid "currently editing"
|
501 |
msgstr ""
|
502 |
|
503 |
+
#: app/Views/partials/row.php:60
|
504 |
msgid "Edit"
|
505 |
msgstr ""
|
506 |
|
508 |
msgid "All"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: app/Views/partials/tool-list.php:29
|
512 |
msgid "Trash"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: app/Views/partials/tool-list.php:30
|
516 |
msgid "Empty"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: app/Views/partials/tool-list.php:52
|
520 |
msgid "All Authors"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: app/Views/partials/tool-list.php:67
|
524 |
msgid "Menu Order"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: app/Views/partials/tool-list.php:71
|
528 |
msgid "Order By"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: app/Views/partials/tool-list.php:85
|
532 |
msgid "Ascending"
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: app/Views/partials/tool-list.php:86
|
536 |
+
msgid "Descending"
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: app/Views/partials/tool-list.php:115
|
540 |
msgid "All "
|
541 |
msgstr ""
|
542 |
|
548 |
msgid "Currently Disabled"
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: app/Views/settings/settings-general.php:9
|
552 |
msgid "Nested Pages Version"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: app/Views/settings/settings-general.php:14
|
556 |
msgid "Menu Name"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: app/Views/settings/settings-general.php:17
|
560 |
msgid ""
|
561 |
"Important: Once the menu name has changed, theme files should be updated to "
|
562 |
"reference the new name."
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: app/Views/settings/settings-general.php:22
|
566 |
msgid "Display Options"
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: app/Views/settings/settings-general.php:26
|
570 |
msgid "Enable Date Picker in Quick Edit"
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: app/Views/settings/settings-general.php:31
|
574 |
msgid "Menu Sync"
|
575 |
msgstr ""
|
576 |
|
578 |
msgid "Hide Menu Sync Checkbox"
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: app/Views/settings/settings-general.php:42
|
582 |
+
msgid "Manually sync menu."
|
583 |
+
msgstr ""
|
584 |
+
|
585 |
+
#: app/Views/settings/settings-general.php:48
|
586 |
+
msgid "Manually sync page order."
|
587 |
+
msgstr ""
|
588 |
+
|
589 |
+
#: app/Views/settings/settings-general.php:54
|
590 |
+
msgid "Disable menu sync completely"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: app/Views/settings/settings-general.php:60
|
594 |
msgid "Allow Page Sorting"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: app/Views/settings/settings-general.php:70
|
598 |
msgid "Admins always have sorting ability."
|
599 |
msgstr ""
|
600 |
|
602 |
msgid "Enable Nested Pages for:"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: app/Views/settings/settings-posttypes.php:19
|
606 |
+
msgid "Hierarchical"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: app/Views/settings/settings-posttypes.php:29
|
610 |
+
msgid "Replace Default Menu"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: app/Views/settings/settings-posttypes.php:30
|
614 |
+
msgid "Replace the default top-level item with the nested view link."
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: app/Views/settings/settings-posttypes.php:33
|
618 |
+
msgid "Replace Default"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: app/Views/settings/settings-posttypes.php:33
|
622 |
+
msgid "Menu"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: app/Views/settings/settings-posttypes.php:40
|
626 |
+
msgid "Remove Default Link"
|
627 |
+
msgstr ""
|
628 |
+
|
629 |
+
#: app/Views/settings/settings-posttypes.php:41
|
630 |
+
msgid ""
|
631 |
+
"If the default menu is replaced, a link to the default view will be added. "
|
632 |
+
"Select this to remove the link"
|
633 |
+
msgstr ""
|
634 |
+
|
635 |
+
#: app/Views/settings/settings-posttypes.php:44
|
636 |
+
msgid "Hide Default"
|
637 |
+
msgstr ""
|
638 |
+
|
639 |
+
#: app/Views/settings/settings-posttypes.php:52
|
640 |
msgid "Disable Nesting"
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: app/Views/settings/settings-posttypes.php:53
|
644 |
+
msgid "To disable nesting on hierarchical post types, select this option."
|
645 |
+
msgstr ""
|
646 |
+
|
647 |
+
#: app/Views/settings/settings-posttypes.php:56
|
648 |
+
msgid "Disable Nesting for"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: app/Views/settings/settings-posttypes.php:69
|
652 |
+
msgid "Display Thumbnails"
|
653 |
+
msgstr ""
|
654 |
+
|
655 |
+
#: app/Views/settings/settings-posttypes.php:70
|
656 |
+
msgid "Display the thumbnail in the list sort view."
|
657 |
+
msgstr ""
|
658 |
+
|
659 |
+
#: app/Views/settings/settings-posttypes.php:71
|
660 |
+
msgid ""
|
661 |
+
"Note: Thumbnail width is displayed at a maximum of 80px in the nested pages "
|
662 |
+
"view. The image is scaled proportionally."
|
663 |
+
msgstr ""
|
664 |
+
|
665 |
+
#: app/Views/settings/settings-posttypes.php:74
|
666 |
+
msgid "Display Thumbnails for"
|
667 |
+
msgstr ""
|
668 |
+
|
669 |
+
#: app/Views/settings/settings-posttypes.php:77
|
670 |
+
msgid "Thumbnail Source"
|
671 |
+
msgstr ""
|
672 |
+
|
673 |
+
#: app/Views/settings/settings-posttypes.php:88
|
674 |
+
msgid "Thumbnail Display Size"
|
675 |
+
msgstr ""
|
676 |
+
|
677 |
+
#: app/Views/settings/settings-posttypes.php:90
|
678 |
+
msgid "Small"
|
679 |
+
msgstr ""
|
680 |
+
|
681 |
+
#: app/Views/settings/settings-posttypes.php:91
|
682 |
+
msgid "Medium"
|
683 |
+
msgstr ""
|
684 |
+
|
685 |
+
#: app/Views/settings/settings-posttypes.php:92
|
686 |
+
msgid "Large"
|
687 |
+
msgstr ""
|
688 |
+
|
689 |
+
#: app/Views/settings/settings-posttypes.php:101
|
690 |
+
#: app/Views/settings/settings-posttypes.php:105
|
691 |
+
msgid "Configure Standard Fields"
|
692 |
+
msgstr ""
|
693 |
+
|
694 |
+
#: app/Views/settings/settings-posttypes.php:102
|
695 |
+
msgid "Remove standard fields from the quick edit form."
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: app/Views/settings/settings-posttypes.php:108
|
699 |
+
msgid "Check to remove from Quick Edit."
|
700 |
+
msgstr ""
|
701 |
+
|
702 |
+
#: app/Views/settings/settings-posttypes.php:150
|
703 |
+
#: app/Views/settings/settings-posttypes.php:154
|
704 |
+
msgid "Configure Custom Fields"
|
705 |
+
msgstr ""
|
706 |
+
|
707 |
+
#: app/Views/settings/settings-posttypes.php:151
|
708 |
+
msgid "Set which custom fields display in the quick edit form."
|
709 |
+
msgstr ""
|
710 |
+
|
711 |
+
#: app/Views/settings/settings-posttypes.php:157
|
712 |
+
msgid "Check to Include in Quick Edit."
|
713 |
+
msgstr ""
|
714 |
+
|
715 |
+
#: app/Views/settings/settings-posttypes.php:163
|
716 |
+
msgid "Advanced Custom Fields"
|
717 |
+
msgstr ""
|
718 |
+
|
719 |
+
#: app/Views/settings/settings-posttypes.php:178
|
720 |
+
msgid "No ACF Fields configured for this post type"
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: app/Views/settings/settings-posttypes.php:194
|
724 |
msgid ""
|
725 |
"If default menu is not replaced, an additional submenu item will be added "
|
726 |
"for \"Nested/Sort View\""
|
727 |
msgstr ""
|
728 |
|
729 |
+
#: app/Views/settings/settings-posttypes.php:197
|
730 |
msgid ""
|
731 |
"<strong>Important:</strong> Changing page structures on live sites may "
|
732 |
"effect SEO and existing inbound links. Limit URL structure changes on live "
|
nestedpages.php
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
/*
|
3 |
Plugin Name: Nested Pages
|
4 |
Plugin URI: http://nestedpages.com
|
5 |
-
Description: Provides an intuitive drag and drop interface for managing pages in the Wordpress admin, while
|
6 |
-
Version: 1.
|
7 |
Author: Kyle Phillips
|
8 |
Author URI: https://github.com/kylephillips
|
9 |
Text Domain: nestedpages
|
2 |
/*
|
3 |
Plugin Name: Nested Pages
|
4 |
Plugin URI: http://nestedpages.com
|
5 |
+
Description: Provides an intuitive drag and drop interface for managing pages in the Wordpress admin, while enhancing quick edit. Includes an auto-generated menu to match the nested interface, support for all post types and more.
|
6 |
+
Version: 1.6.0
|
7 |
Author: Kyle Phillips
|
8 |
Author URI: https://github.com/kylephillips
|
9 |
Text Domain: nestedpages
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: kylephillips
|
|
3 |
Donate link: http://nestedpages.com/
|
4 |
Tags: pages, admin, nested, tree view, page tree, sort, quick edit, structure
|
5 |
Requires at least: 3.8
|
6 |
-
Tested up to: 4.
|
7 |
Stable tag: 1.5.4
|
8 |
|
9 |
License: GPLv2 or later
|
@@ -39,6 +39,7 @@ For more information visit [nestedpages.com](http://nestedpages.com).
|
|
39 |
* Portuguese (Luis Martins)
|
40 |
* Russian (Алексей Катаев)
|
41 |
* Spanish (Raúl Martínez)
|
|
|
42 |
* Turkish (Yuksel Beyti)
|
43 |
|
44 |
== Installation ==
|
@@ -47,6 +48,7 @@ For more information visit [nestedpages.com](http://nestedpages.com).
|
|
47 |
2. Activate the plugin through the Plugins menu in WordPress
|
48 |
3. Click on the Pages Menu item to begin ordering pages. Nested Pages replaces the default Page management screen.
|
49 |
4. To access the default the pages screen, select Default Pages located in the Pages submenu, or on the Nested Pages screen
|
|
|
50 |
|
51 |
== Frequently Asked Questions ==
|
52 |
|
@@ -60,7 +62,7 @@ Nested Pages is not currently compatible with WPML.
|
|
60 |
Click the “Default link in the page subnav, or on the Nested Pages screen. This item may be optionally hidden under the Nested Pages settings.
|
61 |
|
62 |
= How do I save the order I create? =
|
63 |
-
Post sorting and nesting is saved in the background after changes are made to the structure.
|
64 |
|
65 |
= How do I edit in bulk? =
|
66 |
Bulk quick edits are not currently supported by Nested Pages. To edit in bulk, click on the "Default" link to use the native interface.
|
@@ -71,25 +73,51 @@ Custom columns are not currently supported by Nested Pages. To view custom colum
|
|
71 |
= What are those dots in my page rows? =
|
72 |
If you have WordPress SEO by Yoast installed, your page score indicators are shown along with the pages.
|
73 |
|
|
|
|
|
|
|
74 |
|
75 |
== Screenshots ==
|
76 |
|
77 |
1. Expandable tree view of your page structure
|
78 |
|
79 |
-
2.
|
80 |
|
81 |
3. Sortable page nesting updates in real time
|
82 |
|
83 |
-
4. Toggle
|
|
|
|
|
|
|
|
|
84 |
|
85 |
-
|
86 |
|
87 |
-
|
88 |
|
89 |
-
|
90 |
|
91 |
== Changelog ==
|
92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
|
94 |
= 1.5.4 =
|
95 |
* Spanish translation added (Thanks to Raúl Martínez)
|
@@ -344,4 +372,14 @@ After installing Nested Pages, a new menu will be available with the name `Neste
|
|
344 |
|
345 |
**Editing the generated menu:** Any manual changes made to the menu outside of the Nested Pages interface will be overwritten after the synchronization runs.
|
346 |
|
347 |
-
**Hiding Pages in the Menu:** To hide a page from the Nested Pages menu, click “Quick Edit” on it’s row, select “Hide in Nav Menu”, and click “update”. If menu sync is disabled, enable it now to sync the setting. Hidden pages are marked “(Hidden)”. If a page with child pages is hidden from the menu, all of it’s child pages will also be hidden.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
Donate link: http://nestedpages.com/
|
4 |
Tags: pages, admin, nested, tree view, page tree, sort, quick edit, structure
|
5 |
Requires at least: 3.8
|
6 |
+
Tested up to: 4.6
|
7 |
Stable tag: 1.5.4
|
8 |
|
9 |
License: GPLv2 or later
|
39 |
* Portuguese (Luis Martins)
|
40 |
* Russian (Алексей Катаев)
|
41 |
* Spanish (Raúl Martínez)
|
42 |
+
* Swedish (Marcus Forsberg)
|
43 |
* Turkish (Yuksel Beyti)
|
44 |
|
45 |
== Installation ==
|
48 |
2. Activate the plugin through the Plugins menu in WordPress
|
49 |
3. Click on the Pages Menu item to begin ordering pages. Nested Pages replaces the default Page management screen.
|
50 |
4. To access the default the pages screen, select Default Pages located in the Pages submenu, or on the Nested Pages screen
|
51 |
+
5. Additional options are available through the plugin settings at Settings > Nested Pages. Nested Pages may be enabled for any post type, and is configurable by post type. Options include quick edit field settings, thumbnail display and more.
|
52 |
|
53 |
== Frequently Asked Questions ==
|
54 |
|
62 |
Click the “Default link in the page subnav, or on the Nested Pages screen. This item may be optionally hidden under the Nested Pages settings.
|
63 |
|
64 |
= How do I save the order I create? =
|
65 |
+
Post sorting and nesting is saved in the background after changes are made to the structure. If the "manual page order" option is enabled in the plugin options, you'll need to click the "Sync Order" button at the top of the page to save.
|
66 |
|
67 |
= How do I edit in bulk? =
|
68 |
Bulk quick edits are not currently supported by Nested Pages. To edit in bulk, click on the "Default" link to use the native interface.
|
73 |
= What are those dots in my page rows? =
|
74 |
If you have WordPress SEO by Yoast installed, your page score indicators are shown along with the pages.
|
75 |
|
76 |
+
= Can I show the thumbnail in the tree view? =
|
77 |
+
As of version 1.6, yes. Visit Settings > Nested Pages > Post Types to configure thumbnail settings for each post type. Filters are also available for customizing the images displayed.
|
78 |
+
|
79 |
|
80 |
== Screenshots ==
|
81 |
|
82 |
1. Expandable tree view of your page structure
|
83 |
|
84 |
+
2. Enhanced quick edit offers configurable fields and additional options
|
85 |
|
86 |
3. Sortable page nesting updates in real time
|
87 |
|
88 |
+
4. Toggle child pages for a clutter-free and nestable tree
|
89 |
+
|
90 |
+
5. Quickly add child posts without leaving the page tree
|
91 |
+
|
92 |
+
6. Clone existing pages for quick setup
|
93 |
|
94 |
+
7. Add pages in bulk – great for setting up new site structures quickly
|
95 |
|
96 |
+
8. Enable or disable nesting for any user group with the necessary permissions. Additional options offer more configuration options.
|
97 |
|
98 |
+
9. The Nested Pages interface can be enabled on a per-post-type basis, with customizable options for each type.
|
99 |
|
100 |
== Changelog ==
|
101 |
|
102 |
+
= 1.6.0 =
|
103 |
+
* Redesign of post type settings page, with additional options added.
|
104 |
+
* Thumbnail support added to nested/sort view. Visit Settings > Nested Pages > Post Types to enable post thumbnails and set options.
|
105 |
+
* Ability to customize quick edit fields for each post type added. Visit Settings > Nested Pages > Post Types to hide specific fields from the quick edit interface for each post type. Please note: specific fields are still hidden depending. on the current user's roles/capabilities.
|
106 |
+
* Bulk delete functionality added.
|
107 |
+
* When adding multiple pages, the option to set them as hidden in the nav menu is now available.
|
108 |
+
* Option added to manually sync the nav menu and page order.
|
109 |
+
* Bug fix where Post menu wasn't being replaced if option checked.
|
110 |
+
* Modified date set to not update when reordering post order through the nested view.
|
111 |
+
* Issue of duplicate posts item in nav menu resolved.
|
112 |
+
* Fix for invalid rel attribute in generated nav menus, resulting in W3C validation error.
|
113 |
+
* Filters added for title, edit links, and view links in the nested interface.
|
114 |
+
* Bug fix where non-hierarchical post types were allowing nesting.
|
115 |
+
* Bug fix where page redirect errors were showing while attempting to delete pages with the Page post type disabled. (Thanks to Evan Washkow)
|
116 |
+
* Bug fix where non-ascii characters were not displaying correctly in the quick edit slug field.
|
117 |
+
* Bug fix where "Add Child" was not available if menu sync was disabled completely.
|
118 |
+
* Tab index set when adding a new child or multiple pages. No mouse necessary for adding in bulk.
|
119 |
+
* Various UI enhancements.
|
120 |
+
* Swedish translation added (Thanks to Marcus Forsberg).
|
121 |
|
122 |
= 1.5.4 =
|
123 |
* Spanish translation added (Thanks to Raúl Martínez)
|
372 |
|
373 |
**Editing the generated menu:** Any manual changes made to the menu outside of the Nested Pages interface will be overwritten after the synchronization runs.
|
374 |
|
375 |
+
**Hiding Pages in the Menu:** To hide a page from the Nested Pages menu, click “Quick Edit” on it’s row, select “Hide in Nav Menu”, and click “update”. If menu sync is disabled, enable it now to sync the setting. Hidden pages are marked “(Hidden)”. If a page with child pages is hidden from the menu, all of it’s child pages will also be hidden.
|
376 |
+
|
377 |
+
= Filters =
|
378 |
+
|
379 |
+
* `the_title($title, $post_id, $view)` – Standard title filter. Applied to the title displayed in the nested interface. A third paramater, $view, is passed to check if the current title is being displayed in the nested view.
|
380 |
+
* `nestedpages_thumbnail($image, $post)` – Customize the thumbnail for each page/post. Note: Thumbnails must be enabled for the post type.
|
381 |
+
* `nestedpages_thumbnail_fallback($image, $post)` - Customize the thumbnail fallback for each page/post (if the post does not have a featured image). Note: Thumbnails must be enabled for the post type.
|
382 |
+
* `nestedpages_edit_link($link, $post)` - Customize the "edit" link for each page/post in the nested interface.
|
383 |
+
* `nestedpages_edit_link_text($text, $post)` - Customize the "edit" link text for each page/post in the nested interface.
|
384 |
+
* `nestedpages_view_link($link, $post)` - Customize the "view" button link for each page/post in the nested interface.
|
385 |
+
* `nestedpages_view_link_text($text, $post)` - Customize the "view" button text for each page/post in the nested interface.
|