From f7ded5dd5de7abb47d9d5a319677459961930318 Mon Sep 17 00:00:00 2001 From: Ned Zimmerman Date: Thu, 24 Aug 2017 16:52:59 -0300 Subject: [PATCH] Add activation routine (closes #5, closes #6). --- app/activation.php | 70 +++++++++++++++++++++++++++++++++++++++++ resources/functions.php | 1 + 2 files changed, 71 insertions(+) create mode 100644 app/activation.php diff --git a/app/activation.php b/app/activation.php new file mode 100644 index 0000000..f79784f --- /dev/null +++ b/app/activation.php @@ -0,0 +1,70 @@ + [ + 'post_title' => __('About', 'aldine'), + // @codingStandardsIgnoreStart + 'post_content' => apply_filters('pb_root_about_page_content', __('Pressbooks is simple book production software. You can use Pressbooks to publish textbooks, scholarly monographs, syllabi, fiction and non-fiction books, white papers, and more in multiple formats including: + + + +Pressbooks is used by educational institutions around the world as well as authors and publishers. + +For more information about Pressbooks, see here.', 'aldine')) + // @codingstandardsIgnoreEnd + ], + 'help' => [ + 'post_title' => __('Help', 'aldine'), + // @codingStandardsIgnoreStart + 'post_content' => apply_filters('pb_root_help_page_content', __('The easiest way to get started with Pressbooks is to follow our 4 Step Guide to Making a Book on Pressbooks. Or, you can review our Guide to Using Pressbooks. + +If you require further assistance, please contact your network manager.', 'aldine')) + // @codingstandardsIgnoreEnd + ], + 'catalog' => [ + 'post_title' => __('Catalog', 'aldine'), + 'post_content' => '' + ], + 'home' => [ + 'post_title' => __('Home', 'aldine'), + 'post_content' => '' + ], + ]; + + if (! get_site_option('pb_aldine_activated')) { + // Add our pages + $pages = []; + + foreach ($default_pages as $slug => $page) { + $check = get_page_by_path($slug); + if (empty($check)) { + $pages[$slug] = wp_insert_post(array_merge($page, ['post_type' => 'page', 'post_status' => 'publish'])); + } else { + $pages[$slug] = $check->ID; + } + } + + // Set front page to Home + update_option('show_on_front', 'page'); + update_option('page_on_front', $pages['home']); + + // Remove content generated by wp_install_defaults + if (! wp_delete_post(1, true)) { + return; + } + if (! wp_delete_post(2, true)) { + return; + } + if (! wp_delete_comment(1, true)) { + return; + } + + // Add "pb_aldine_activated" site option to enable check above + add_site_option('pb_aldine_activated', true); + } +}); diff --git a/resources/functions.php b/resources/functions.php index a50262d..4e86ac8 100644 --- a/resources/functions.php +++ b/resources/functions.php @@ -65,6 +65,7 @@ array_map(function ($file) use ($sage_error) { 'helpers', 'setup', 'filters', + 'activation', 'admin', 'widgets', 'widgets/latestbooks',