From c7c5c99beea815779324bef1181aadf1e290d07a Mon Sep 17 00:00:00 2001 From: happybooking Date: Thu, 27 Jun 2013 10:31:39 +0000 Subject: [PATCH] Initial import --- admin-style.css | 5 + extended-toc.php | 306 +++++++++++++++++++++++++++++++++++ locale/extended_toc-de_DE.mo | Bin 0 -> 982 bytes locale/extended_toc-de_DE.po | 52 ++++++ readme.txt | 48 ++++++ screenshot-1.png | Bin 0 -> 39665 bytes style.css | 38 +++++ 7 files changed, 449 insertions(+) create mode 100644 admin-style.css create mode 100644 extended-toc.php create mode 100644 locale/extended_toc-de_DE.mo create mode 100644 locale/extended_toc-de_DE.po create mode 100644 readme.txt create mode 100644 screenshot-1.png create mode 100644 style.css diff --git a/admin-style.css b/admin-style.css new file mode 100644 index 0000000..7ac7219 --- /dev/null +++ b/admin-style.css @@ -0,0 +1,5 @@ +.form_container { + margin-top: 1em; + border: 1px solid #c0c0c0; + padding: 10px 15px 25px 15px; +} \ No newline at end of file diff --git a/extended-toc.php b/extended-toc.php new file mode 100644 index 0000000..80cbb29 --- /dev/null +++ b/extended-toc.php @@ -0,0 +1,306 @@ +path = plugins_url( '', __FILE__ ); + $this->exclude_post_types = array( 'attachment', 'revision', 'nav_menu_item', 'safecss' ); + + // get options + $defaults = array( // default options + 'heading_text' => 'Contents', + 'start' => 3, + 'show_heading_text' => true, + 'auto_insert_post_types' => array('page', 'post'), + 'heading_levels' => array('1', '2', '3', '4', '5', '6'), + ); + $options = get_option( EXTENDED_TOC_ID, $defaults ); + $this->options = wp_parse_args( $options, $defaults ); + + add_action( 'plugins_loaded', array(&$this, 'plugins_loaded') ); + + if( is_admin() ) { + add_action('admin_init', array(&$this, 'admin_init')); + add_action('admin_menu', array(&$this, 'admin_menu')); + } + else { + /** Add the content filter and enqueue css **/ + add_filter( 'the_content', array(&$this, 'the_content'), 10 ); + add_action( 'wp_enqueue_scripts', array(&$this, 'wp_enqueue_scripts') ); + } + } + + public function __destruct() { + } + + public function admin_init() { + wp_register_style( EXTENDED_TOC_ID, $this->path . '/admin-style.css', array(), EXTENDED_TOC_VERSION ); + wp_enqueue_style(EXTENDED_TOC_ID); + } + + public function admin_menu() { + // Create menu tab + $page = add_submenu_page( 'plugins.php', EXTENDED_TOC_NAME, EXTENDED_TOC_NAME, 'manage_options', EXTENDED_TOC_ID, array(&$this, 'admin_options') ); + } + + private function save_admin_options() + { + global $post_id; + + // security check + if ( !wp_verify_nonce( @$_POST[EXTENDED_TOC_ID], plugin_basename(__FILE__) ) ) + return false; + + // require an administrator level to save + if ( !current_user_can( 'manage_options', $post_id ) ) + return false; + + $this->options = array_merge( + $this->options, + array( + 'heading_text' => stripslashes( trim($_POST['heading_text']) ), + 'auto_insert_post_types' => @(array)$_POST['auto_insert_post_types'], + ) + ); + + // update_option will return false if no changes were made + update_option( EXTENDED_TOC_ID, $this->options ); + + return true; + } + + public function admin_options() { + if( isset($_GET['update']) ) { + if( $this->save_admin_options() ) + $msg = '

' . __('Options saved.', EXTENDED_TOC_ID) . '

'; + else + $msg = '

' . __('Save failed.', EXTENDED_TOC_ID) . '

'; + } +?> +
+
+
+
+ +

+ + + +
+ + +
+ + + + + + + + + + + + +
+ + exclude_post_types) ): ?> + options['auto_insert_post_types'])?' checked="checked"':''?> /> +
+ + +
+
+ +

" name="submit" />

+
+
+path . '/style.css', array(), POWER_TOC_VERSION); + wp_enqueue_style(EXTENDED_TOC_ID); + } + + public function plugins_loaded() { + load_plugin_textdomain( EXTENDED_TOC_ID, false, dirname(plugin_basename(__FILE__)) . '/locale/' ); + } + + public function the_content($content) { + global $post; + + if ( is_feed() ) + return $content; + + if( !in_array(get_post_type($post), $this->options['auto_insert_post_types'])|| is_search() || is_archive() || is_front_page() ) + return $content; + + /** Extract the content, and extract the part content if was used **/ + $this->content = $content; + $this->extract_full_post_content(); + + $toc_content = "
"; + + if( $this->options['show_heading_text'] == true ) + $toc_content .= "

" . $this->options["heading_text"] . "

"; + + $toc_content .= "
"; + + if( $this->totalHeadings >= $this->options['start'] ) + return $toc_content . $this->content; + else + return $this->content; + } + + /** Extract the full unshortened content from the post **/ + private function extract_full_post_content() { + global $post; + $this->fullcontent = $post->post_content; + $this->ID = $post->ID; + } + + private function extract_toc() { + /** check within the full content how many pages exists */ + $this->extract_pages(); + + $headers = ""; + + /** Extract headings from every pages */ + for( $pagenum = 1; $pagenum <= count($this->pages); $pagenum++ ) { + $headers .= $this->exctract_headings($pagenum); + } + + return $headers; + } + + private function extract_pages() { + /** Split the content by "nextpage"-tags if some exists */ + $this->pages = preg_split("//msuU", $this->fullcontent); + } + + private function exctract_headings($pagenum) { + /** find all header tags within the page **/ + preg_match_all('/(]*>).*<\/h\2>/msuU', $this->pages[$pagenum-1], $matches, PREG_SET_ORDER); + + /** Check the headings that are desired */ + if ( count($this->options['heading_levels']) != 6 ) { + $new_matches = array(); + for ($i = 0; $i < count($matches); $i++) { + if ( in_array($matches[$i][2], $this->options['heading_levels']) ) + $new_matches[] = $matches[$i]; + } + $matches = $new_matches; + } + + $items = ""; + + for( $i = 0; $i < count($matches); $i++ ) { + /** get anchor and add to find and replace arrays **/ + $anchor = $this->url_encode_anchor($matches[$i][0]); + $find[] = $matches[$i][0]; + $this->content = str_replace( + array( + $matches[$i][1], // start of heading + '' // end of heading + ), + array( + $matches[$i][1] . '', + '' + ), + $this->content + ); + + /** build html */ + $items .= '
  • '; + $items .= ''; + $items .= "" . $this->counter++ . " "; + $items .= strip_tags($matches[$i][0]) . ''; + $items .= '
  • '; + + $this->totalHeadings++; + } + + return $items; + } + + private function url_encode_anchor($anchor) + { + $return = false; + + if(!empty($anchor) ) { + /** Remove tags */ + $return = trim( strip_tags($anchor) ); + + /** remove & */ + $return = str_replace( '&', '', $return ); + + /** remove all unknown chars **/ + $return = preg_replace("/[^0-9a-zA-Z \-_]+/", "", $return); + + /** Remove backspace etc */ + $return = preg_replace("/[\s]+/", "-", $return); + + /** If we now start or end with a - or _ remove it */ + $return = preg_replace("/^[-_]/", "", $return); + $return = preg_replace("/[-_]$/", "", $return); + } + + return $return; + } + } +} + +/** Initialise the class */ +$tocPlugin = new ExToC(); + +?> \ No newline at end of file diff --git a/locale/extended_toc-de_DE.mo b/locale/extended_toc-de_DE.mo new file mode 100644 index 0000000000000000000000000000000000000000..f8b93274e20938a5cee34ffc22e6cd2b6b35b8fb GIT binary patch literal 982 zcmaJKKEGvAjMK6$jR5N;D9d=e;F%x)CuDe;~d={Dt@?@hLH-oG;pX z7pMCLV&`qPF4Jbw9oEwnEbo^HDuYBxi_#jf3NlreYAj?vi-Mh0XuS3@Nm5K9o@KSB zS>87C)FoIvw%$Qyg^~sgA7ScyT_Tvq>O;mw>25k&y~D(^os_*sZ73;%*(WSkNuzTR zvzA8g-ea5GVg$=U_=p9oEL?_gIePr$K@bK33E3+g3HQW5bt^%w+vCQvSaWGgZk3K; zn^)CjL#cstf4Buth0N58!bSUa)KBqwV~@*x$a7>d^7j!m_ILK%bI+k4G^V9sF_kJh zufxNtT}NRmEQJ1wzd|?l zk?rDStaNJjgs~CynmJlm_Zj!3QdP6pn<~*DnDfRBEFJ|E{j*p{m20WHaSkhu#x%SgS@6=D5$Y2ZNg;)S zd$DTWhm)b3wcHJrgjz)#q!yf=QuKcVclNnY6O$BLWY*hNG86fbibnm1@ldA-IhxA- bhT8gn31%14>rN#SGAzglJy=qgrSJU$m_r`o literal 0 HcmV?d00001 diff --git a/locale/extended_toc-de_DE.po b/locale/extended_toc-de_DE.po new file mode 100644 index 0000000..a105944 --- /dev/null +++ b/locale/extended_toc-de_DE.po @@ -0,0 +1,52 @@ +msgid "" +msgstr "" +"Project-Id-Version: Extended-Toc\n" +"POT-Creation-Date: 2013-06-12 12:49+0100\n" +"PO-Revision-Date: 2013-06-12 12:50+0100\n" +"Last-Translator: HappyBooking UG \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-SearchPath-0: D:\\1 - Aktuelle Projekte\\0 - happybooking\\projekte" +"\\wordpress\n" + +#: D:\1 - Aktuelle Projekte\0 +#: happybooking\projekte\wordpress/plugins/extended-toc/extended-toc.php:111 +msgid "Options saved." +msgstr "Konfiguration wurde gespeichert." + +#: D:\1 - Aktuelle Projekte\0 +#: happybooking\projekte\wordpress/plugins/extended-toc/extended-toc.php:113 +msgid "Save failed." +msgstr "Speichern fehlgeschlagen." + +#: D:\1 - Aktuelle Projekte\0 +#: happybooking\projekte\wordpress/plugins/extended-toc/extended-toc.php:121 +msgid "Extended Table of Contents" +msgstr "Extended Table of Contents" + +#: D:\1 - Aktuelle Projekte\0 +#: happybooking\projekte\wordpress/plugins/extended-toc/extended-toc.php:132 +msgid "Heading text" +msgstr "Überschrift" + +#: D:\1 - Aktuelle Projekte\0 +#: happybooking\projekte\wordpress/plugins/extended-toc/extended-toc.php:137 +msgid "Add table of contents to following content types" +msgstr "Inhaltsverzeichnis (ToC) zu folgenden Inhalten einfügen" + +#: D:\1 - Aktuelle Projekte\0 +#: happybooking\projekte\wordpress/plugins/extended-toc/extended-toc.php:151 +msgid "Save Options" +msgstr "Konfiguration speichern" + +#~ msgid "Contents" +#~ msgstr "Inhaltsverzeichnis" + +#~ msgid "Table of contents" +#~ msgstr "Inhaltsverzeichnis" diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..ca59b01 --- /dev/null +++ b/readme.txt @@ -0,0 +1,48 @@ +=== Plugin Name === +Contributors: happybooking +Donate link: http://www.happybooking.de/wordpress/plugins/extended-toc/donate +Tags: table of contents, indexes, toc, sitemap, cms, options, list, page listing, category listing +Requires at least: 3.0.1 +Tested up to: 3.5.2 +Stable tag: 0.6.4 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +This plugin automatically generates and inserts a table of contents (ToC) to your pages and posts, based on tags h1-h6. It can deal with nextpage-tag. + +== Description == + +This plugin automatically generates and inserts a table of contents (ToC) to your pages and posts, based on tags h1-h6. Whenever the plugin discovers more than a certain amount of headings (default: 3) the ToC is inserted at the top of the page. This plugin also can handle posts that are divided into pages by the nextpage-wordpress-tag. Any feedback or suggestions are welcome. + += Available Languages = +* English +* German + +== Installation == + +The normal plugin install process applies, that is search for `Extended Table of Contents (with nextpage support)` from your plugin screen or via the manual method: + +1. Upload the `extended-toc` folder into your `/wp-content/plugins/` directory +1. Activate the plugin through the 'Plugins' menu in WordPress + +That's it! + +You can change the default settings and more under Plugins > Extended-ToC + +== Screenshots == + +1. The options panel found in Plugins > Extended-ToC + +== Frequently Asked Questions == + +If you have any questions or suggestions please contact us at any time: support@happybooking.de or http://www.happybooking.de/ + +== Changelog == + += 0.6.4 = +* Released: 1 July 2013 +* First release of the ToC supporting nextpage-tag + +== Upgrade Notice == + +Update folder with the latest files. All previous options will be saved. diff --git a/screenshot-1.png b/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..909c91e3377682f8aad6d342277eda34e33a37b6 GIT binary patch literal 39665 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 literal 0 HcmV?d00001 diff --git a/style.css b/style.css new file mode 100644 index 0000000..7514614 --- /dev/null +++ b/style.css @@ -0,0 +1,38 @@ +#toc-np-container { + background: #f9f9f9; + border: 1px solid #aaa; + padding: 1em; + margin-bottom: 1em; + width: auto; + display: table; +} + +#toc-np-container ul, #toc-np-container li { + margin: 0; + padding: 0 +} + +#toc-np-container ul { + margin-top: 1em; +} + +#toc-np-container li a { + text-decoration: none; +} + +#toc-np-container li a:hover { + text-decoration: underline; +} + +#toc-np-container #toc-np-title { + font-weight: bold; + margin: 0; + padding: 0; + text-align: center; +} + +.no-bullets, .no-bullets ul, .no-bullets li { + background: none; + list-style-type: none; + list-style: none; +} \ No newline at end of file