Plugin Directory

Changeset 2975290


Ignore:
Timestamp:
10/05/2023 03:27:36 PM (2 years ago)
Author:
petersplugins
Message:

v 7.2.2 FINAL VERSION

Location:
hashtagger
Files:
21 added
4 edited

Legend:

Unmodified
Added
Removed
  • hashtagger/trunk/hashtagger.php

    r2803093 r2975290  
    88 * @wordpress-plugin
    99 * Plugin Name: Smart Hashtags [#hashtagger]
    10  * Plugin URI: https://petersplugins.com/hashtagger/
    1110 * Description: Use #hashtags, @usernames and $cashtags in your posts
    12  * Version: 7.2.1
     11 * Version: 7.2.2
    1312 * Author: Peter Raschendorfer
    14  * Author URI: https://petersplugins.com
     13 * Author URI: https://profiles.wordpress.org/petersplugins/
    1514 * Text Domain: hashtagger
    1615 * License: GPL2+
  • hashtagger/trunk/inc/class-hashtagger.php

    r2803093 r2975290  
    296296        add_action( 'wp_ajax_hashtagger_regenerate', array( &$this, 'admin_hashtagger_regenerate' ) );
    297297       
    298         add_action( 'admin_notices', array( $this, 'admin_notices' ) );
    299298        add_action( 'wp_ajax_pp_hashtagger_dismiss_admin_notice', array( $this, 'dismiss_admin_notice' ) );
    300299       
     
    302301     
    303302      }
    304      
    305       add_filter( 'plugin_action_links_' . plugin_basename( $this->get_plugin_file() ), array( $this, 'add_settings_links' ) );
    306303     
    307304    }
     
    964961     
    965962    }
    966    
    967    
    968     /**
    969      * add links to plugins table
    970      */
    971     function add_settings_links( $links ) {
    972 
    973       return array_merge( $links, array( '<a href="' . admin_url( 'options-general.php?page=hashtaggersettings' ) . '" title="' . __( 'hashtagger settings', 'hashtagger' ) . '">' . __( 'hashtagger settings', 'hashtagger' ) . '</a>', '<a href="https://wordpress.org/support/plugin/' . $this->plugin_slug . '/reviews/" title="' . __( 'Please rate plugin', 'hashtagger' ) . '">' . __( 'Please rate plugin', 'hashtagger' ) . '</a>' ) );
    974 
    975     }
    976 
    977963   
    978     /**
     964   
     965    /**
    979966         * init backend
    980967         */
     
    10551042        <div class="pp-admin-notice-area"><div class="wp-header-end"></div></div>
    10561043        <div class="pp-admin-page-header">
    1057             <nav>
    1058        
    1059                 <?php $this->show_nav_icons( array(
    1060                   array(
    1061                     'link'  => 'https://wordpress.org/support/plugin/' . $this->plugin_slug . '/reviews/',
    1062                     'title' => __( 'Please rate Plugin', 'hashtagger' ),
    1063                     'icon'  => 'dashicons-star-filled'
    1064                   ),
    1065                   array(
    1066                     'link'  => 'https://wordpress.org/plugins/' . $this->get_plugin_slug(),
    1067                     'title' => __( 'WordPress.org Plugin Page', 'hashtagger' ),
    1068                     'icon'  => 'dashicons-wordpress'
    1069                   ),
    1070                   array(
    1071                           'link'  => 'https://petersplugins.com/' . $this->get_plugin_slug() .'/manual/',
    1072                           'title' => __( 'Plugin Doc', 'hashtagger' ),
    1073                           'icon'  => 'dashicons-book-alt'
    1074                         ),
    1075                   array(
    1076                     'link'  => 'https://wordpress.org/support/plugin/' . $this->get_plugin_slug(),
    1077                     'title' => __( 'Support', 'hashtagger' ),
    1078                     'icon'  => 'dashicons-editor-help'
    1079                   )
    1080                 ) );
    1081             ?>
    1082             </nav>
    10831044            <div class="pp-admin-page-title"><h1><?php echo $this->get_plugin_name(); ?></h1></div>
    10841045        </div>
     
    11141075                <?php if ( 'general' == $current_tab ) { ?>
    11151076                  <p>#hashtags <?php _e( 'currently link to', 'hashtagger'); ?> <code style="white-space: nowrap"><?php echo $this->tag_base_url(); ?></code>.</p>
    1116                   <p><?php printf( __( 'The <b>Tag base</b> for the Archive URL can be changed on %s page', 'hashtagger' ) . $this->add_manual_link( 'settings_general_tagbase' ), '<a href="'. admin_url( 'options-permalink.php' ) .'">' . __( 'Permalink Settings' ) . '</a>' ); ?>.</p>
     1077                  <p><?php printf( __( 'The <b>Tag base</b> for the Archive URL can be changed on %s page', 'hashtagger' ), '<a href="'. admin_url( 'options-permalink.php' ) .'">' . __( 'Permalink Settings' ) . '</a>' ); ?>.</p>
    11171078                <?php } else {
    11181079                  settings_fields( 'hashtagger_settings_' . $current_tab );   
     
    11231084            <?php } ?>
    11241085          </div>
     1086        </div>
     1087        <div class="postbox">
     1088          <div class="inside">
     1089          <h2>PLEASE NOTE</h2><p>Development, maintenance and support of this plugin has been retired. You can use this plugin as long as is works for you. Thanks for your understanding.<br />Regards, Peter</p>
     1090          </div>
    11251091        </div>
    11261092      </div>
     
    14561422        __( 'Use @nicknames instead of @usernames', 'hashtagger' ),
    14571423        'settings_usernames_nicknames',
    1458         '<span class="dashicons dashicons-shield"></span>' . __( 'Highly recommended to enhance WordPress security!', 'hashtagger') . ' <a href="https://petersplugins.com/docs/hashtagger/#usernames">' . __( 'Read more', 'hashtagger' )
     1424        '<span class="dashicons dashicons-shield"></span>' . __( 'Highly recommended to enhance WordPress security!', 'hashtagger')
    14591425      );
    14601426
     
    18611827      }
    18621828     
    1863       $hlp = '';
    1864       if ( ! empty( $help ) ) {
    1865         $hlp = $this->add_manual_link( $help );
    1866       }
    1867      
    18681829      $add = '';
    18691830      if ( ! empty( $note ) ) {
     
    18711832      }
    18721833       
    1873       echo '<p class="toggle"><input type="checkbox" name="' . $name . '" id="' . $name . '" value="1"' . $chk . $dis . ' /><label for="' . $name . '" class="check"></label>' . $title . $hlp .$add . '</p>';
     1834      echo '<p class="toggle"><input type="checkbox" name="' . $name . '" id="' . $name . '" value="1"' . $chk . $dis . ' /><label for="' . $name . '" class="check"></label>' . $title . $add . '</p>';
    18741835       
    18751836    }
     
    18891850    function print_select_box( $name, $title, $help, $options ) {
    18901851     
    1891       $hlp = '';
    1892       if ( ! empty( $help ) ) {
    1893         $hlp = $this->add_manual_link( $help );
    1894       }
    1895      
    1896       echo $title . $hlp . '<br />';
     1852      echo $title . '<br />';
    18971853     
    18981854      echo '<select name="' . $name . '" id="' . $name . '">';
     
    19241880    function print_textarea_field( $name, $title, $help, $value ) {
    19251881     
    1926       $hlp = '';
    1927       if ( ! empty( $help ) ) {
    1928         $hlp = $this->add_manual_link( $help );
    1929       }
    1930      
    1931       echo $title . $hlp . '<br />';
     1882      echo $title . '<br />';
    19321883     
    19331884      echo '<textarea class="regular-textarea" name="' . $name . '" id="' . $name , '">' . implode( "\n", $value ) . '</textarea>';
     
    19461897    function print_text_field( $name, $title, $help, $value ) {
    19471898     
    1948       $hlp = '';
    1949       if ( ! empty( $help ) ) {
    1950         $hlp = $this->add_manual_link( $help );
    1951       }
    1952      
    1953       echo $title . $hlp . '<br />';
     1899      echo $title . '<br />';
    19541900     
    19551901      echo '<input class="regular-text" type="text" name="' . $name . '" id="' . $name , '" value="' . $value . '" />';
    19561902       
    1957     }
    1958    
    1959    
    1960     /**
    1961      * helper function to add a plugin manual link
    1962      * @since  4
    1963      * @param  string $anchor name of the anchor to link to
    1964      */
    1965     function add_manual_link( $anchor = '' ) {
    1966        
    1967       return ' <a class="dashicons dashicons-editor-help" href="https://petersplugins.com/docs/' . $this->get_plugin_slug() . '/#' . $anchor . '"></a>';
    1968        
    1969     }
     1903    }
    19701904   
    19711905
     
    21652099          var counter = 0;
    21662100          var abort = false;
    2167           jQuery( '#hashtagger_ajax_area' ).html( '<table class="form-table"><tbody><tr><td class="toggle autoheight"><input type="checkbox" name="hashtagger_regenerate_confirmation" id="hashtagger_regenerate_confirmation" value="ok" /><label for="hashtagger_regenerate_confirmation" class="check"></label><div class="checktitle"><?php _e( 'Regenerate all existing objects using the current settings', 'hashtagger' ); ?>&nbsp;<?php echo $this->add_manual_link( 'settings_regeneration' ); ?><input type="button" name="sumbit_regnerate" id="sumbit_regnerate" class="button button-primary button-large" value="<?php _e( 'Process all objects', 'hashtagger' ); ?> (<?php echo count( $objects ); ?>)"  /></div></td></tr></tbody></table>' );
     2101          jQuery( '#hashtagger_ajax_area' ).html( '<table class="form-table"><tbody><tr><td class="toggle autoheight"><input type="checkbox" name="hashtagger_regenerate_confirmation" id="hashtagger_regenerate_confirmation" value="ok" /><label for="hashtagger_regenerate_confirmation" class="check"></label><div class="checktitle"><?php _e( 'Regenerate all existing objects using the current settings', 'hashtagger' ); ?><input type="button" name="sumbit_regnerate" id="sumbit_regnerate" class="button button-primary button-large" value="<?php _e( 'Process all objects', 'hashtagger' ); ?> (<?php echo count( $objects ); ?>)"  /></div></td></tr></tbody></table>' );
    21682102          jQuery( '#sumbit_regnerate' ).click( function() {             
    21692103            jQuery( '#hashtagger_ajax_area' ).html( '<p><?php _e( 'Please be patient while objects are processed. Do not close or leave this page.', 'hashtagger' ); ?></p><p><div style="width: 100%; height: 40px; border: 2px solid #222; border-radius: 5px; background-color: #FFF"><div id="hashtagger_regnerate_progressbar" style="width: 0; height: 100%; background-image: url(<?php echo plugins_url( 'assets/img/progress.png', $this->get_plugin_file() ); ?>); background-repeat: repeat-x" ></div></div></p><p id="hashtagger_abort_area"><input type="button" name="cancel_regnerate" id="cancel_regnerate" class="button button-secondary button-large" value="<?php _e( 'Abort regeneration', 'hashtagger' ); ?>" /></p>' );
     
    22482182     
    22492183    }
    2250    
    2251    
    2252     /**
    2253      * show admin notices
    2254      */
    2255     function admin_notices() {
    2256      
    2257       // invite to follow me
    2258       if ( current_user_can( 'manage_options' ) && get_user_meta( get_current_user_id(), 'pp-hashtagger-admin-notice-1', true ) != 'dismissed' ) {
    2259         ?>
    2260         <div class="notice is-dismissible pp-hashtagger-admin-notice" id="pp-hashtagger-admin-notice-1">
    2261           <p><img src="<?php echo plugins_url( 'assets/img/pluginicon.png', $this->get_plugin_file() ); ?>" style="width: 48px; height: 48px; float: left; margin-right: 20px" /><strong><?php _e( 'Do you like the hashtagger plugin?', 'hashtagger' ); ?></strong><br /><?php _e( 'Follow me:', 'hashtagger' ); ?> <a class="dashicons dashicons-facebook-alt" href="https://www.facebook.com/petersplugins" title="<?php _e( 'Authors facebook Page', 'hashtagger' ); ?>"></a><div class="clear"></div></p>
    2262         </div>
    2263         <?php
    2264       }
    2265      
    2266       // ask for rating
    2267       // in 30 days at the earliest
    2268       if ( ! get_option( 'pp-hashtagger-admin-notice-2-start' ) ) {
    2269         update_option( 'pp-hashtagger-admin-notice-2-start', time() + 30 * 24 * 60 * 60 );
    2270       }
    2271       if ( get_option( 'pp-hashtagger-admin-notice-2-start' ) <= time() ) {
    2272         if ( current_user_can( 'manage_options' ) && get_user_meta( get_current_user_id(), 'pp-hashtagger-admin-notice-2', true ) != 'dismissed' ) {
    2273           ?>
    2274           <div class="notice is-dismissible pp-hashtagger-admin-notice" id="pp-hashtagger-admin-notice-2">
    2275             <p><img src="<?php echo plugins_url( 'assets/img/pluginicon.png', $this->get_plugin_file() ); ?>" style="width: 48px; height: 48px; float: left; margin-right: 20px" /><?php _e( 'If you like the hashtagger plugin please support my work with giving it a good rating so that other users know it is helpful for you. Thanks.', 'hashtagger' ); ?><br /><a href="https://wordpress.org/support/plugin/<?php echo $this->plugin_slug; ?>/reviews/#new-post" title="<?php _e( 'Please rate plugin', 'hashtagger' ); ?>"><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span><span class="dashicons dashicons-star-filled"></span></a><div class="clear"></div></p>
    2276           </div>
    2277           <?php
    2278         }
    2279       }
    2280            
    2281     }
    2282    
    2283    
    2284     /**
    2285      * dismiss an admin notice
    2286      */
    2287     function dismiss_admin_notice() {
    2288      
    2289       // since v 7 check nonce
    2290       if ( $this->check_nonce() ) {
    2291      
    2292         if ( isset( $_POST['pp_hashtagger_dismiss_admin_notice'] ) ) {
    2293          
    2294           // since v 7 check value
    2295           if (strpos( $_POST['pp_hashtagger_dismiss_admin_notice'], 'pp-hashtagger-admin-notice-') === 0 ) {
    2296        
    2297             update_user_meta( get_current_user_id(), sanitize_key( $_POST['pp_hashtagger_dismiss_admin_notice'] ), 'dismissed' );
    2298          
    2299           }
    2300          
    2301         }
    2302        
    2303       }
    2304      
    2305       wp_die();
    2306      
    2307     }
    2308    
     2184   
    23092185   
    23102186    /**
  • hashtagger/trunk/loader.php

    r2803093 r2975290  
    2929    'slug'    => pathinfo( dirname( __FILE__ ) . '/hashtagger.php', PATHINFO_FILENAME ),
    3030    'name'    => '#hashtagger',
    31     'version' => '7.2.1'
     31    'version' => '7.2.2'
    3232  ) );
    3333   
  • hashtagger/trunk/readme.txt

    r2804816 r2975290  
    33Tags: hashtag, hashtags, tag, tags, tag archive, archive, social, twitter, facebook, classicpress
    44Requires at least: 4.0
    5 Tested up to: 6.1
    6 Stable tag: 7.2.1
     5Tested up to: 6.3
     6Stable tag: 7.2.2
    77Requires PHP: 5.4
    88License: GPLv2 or later
     
    1313== Description ==
    1414
    15 The [Smart Hashtags (formerly hashtagger) Plugin](https://petersplugins.com/free-wordpress-plugins/hashtagger/) allows you to use #hashtags, @usernames and $cashtags in your posts
     15The Smart Hashtags Plugin allows you to use #hashtags, @usernames and $cashtags in your posts
    1616
    1717This plugin uses the [WordPress Tag system](https://codex.wordpress.org/Posts_Tags_Screen) to automatically convert a #hashtag into a Post Tag. Each #hashtag is added as a "normal" tag (without leading hash) to the post, so it is fully compatible with existing tags!
     18
     19== Retired Plugin ==
     20
     21Development, maintenance and support of this plugin has been retired in october 2023. You can use this plugin as long as is works for you.
     22
     23There will be no more updates and I won't answer any support questions. Thanks for your understanding.
     24
     25Feel free to fork this plugin.
    1826
    1927== Usage ==
     
    6169
    6270There's an option to automatically add a hash symbol in front of tags (e.g. when using the Tag Cloud Widget).
    63 
    64 == Docs & Support ==
    65 
    66 [Plugin Manual](https://petersplugins.com/docs/hashtagger/)
    67 
    68 [Support Forum](https://wordpress.org/support/plugin/hashtagger)
    69 
    70 Video: [How to use hashtags in WordPress](https://youtu.be/cNNn1VLz4zs) (Note: The video is outdated! A new version will be created as soon as possible.)
    71 
    72 == Do you like this plugin? ==
    73 
    74 I spend some of my precious free time developing and maintaining my free WordPress plugins. You don’t need to make a donation. No money, no beer, no coffee. If you like this plugin then please do me a favor and [give it a good rating](https://wordpress.org/support/plugin/hashtagger/reviews/). Thanks.
    7571
    7672== Plugin Privacy Information ==
     
    8076* This plugin does not send any data to external servers
    8177
    82 [Peters' Plugins Privacy Information Page](https://petersplugins.com/plugin-privacy-information/)
    83 
    8478== ClassicPress ==
    8579
    8680This plugin is compatible with [ClassicPress](https://www.classicpress.net/).
    87 
    88 == More plugins from Peter ==
    89 
    90 Take a look at [my other plugins](https://profiles.wordpress.org/petersplugins/#content-plugins)
    9181
    9282== For developers ==
     
    1079710. Regeneration of all existing Objects with the current settings
    10898
    109 == Frequently Asked Questions ==
    110 
    111 = What characters can a hashtag include? =
    112 
    113 The hashtag detection follows the rules for hashtags used on Twitter, Instagram, YouTube, Pinterest and so on. The minimum length for a hashtag is 2 characters. A hashtag must not start with a number (this can be changed optionally). A hashtag not only ends at a space but also at punctuation marks and other special characters. A hashtag may contain underscores.
    114 
    115 = Does this also work for pages? =
    116 
    117 Yes and No. Yes - the plugin can add the tags also for pages. No - WordPress does not show the tags section for pages and also pages are not listed on tag archives.
    118 
    119 This plugin does not change this behavior of WordPress because there already exist several plugins that add the tag functionality for pages. Please use one of them if you want to tag your pages.
    120 
    121 = How to change the Tag base? =
    122 
    123 The Tag base for the Tag Archive Page URL (e.g. example.com/**tag**/anytag) can be set on the 'Permalink Settings' page under 'Tag base' in your WP admin.
    124 
    125 = Where does @username link to? =
    126 
    127 This can be set on hashtagger Settings Page. @username links can either link to the Users Profile Page or to the Users Webiste (Users Profile Page if no Webpage is set). When linking to Users Website the link can be opened in a new window if desired.
    128 
    129 = Why should I use @nicknames instead of @usernames =
    130 
    131 This is important to enhance WordPress security. Please take a look at the [Manual](https://petersplugins.com/docs/hashtagger/#usernames).
    132 
    133 = Can I use #hashtags and/or @usernames in Excerpts? =
    134 
    135 Yes, just activate this feature.
    136 
    137 = Can I use #hashtags and/or @usernames in Titles? =
    138 
    139 Yes, just activate this feature.
    140 
    141 = Can I regenerate all existing Posts after changing Settings? =
    142 
    143 Yes, you can regenerate all affected objects (Post, Pages, Custom Posts) using the current settings.
    144 
    145 = Where can I get help? =
    146 
    147 Please use the [Support Forum](https://wordpress.org/support/plugin/hashtagger).
    148 
    14999== Changelog ==
     100
     101= 7.2.2 (2022-10-05) FINAL VERSION =
     102* removed all links to webiste
     103* removed request for rating
     104* removed manual
    150105
    151106= 7.2.1 (2022-10-23) =
Note: See TracChangeset for help on using the changeset viewer.