Skip to:
Content

BuddyPress.org

Ticket #6680: 6680.01.patch

File 6680.01.patch, 20.0 KB (added by r-a-y, 4 years ago)
  • src/bp-activity/bp-activity-template.php

    diff --git src/bp-activity/bp-activity-template.php src/bp-activity/bp-activity-template.php
    index 5fd22f0..09f3618 100644
    function bp_activity_per_page() { 
    10051005        }
    10061006
    10071007/**
     1008 * Output the activity post form textarea placeholder.
     1009 *
     1010 * @since 2.4.0
     1011 *
     1012 * @uses bp_get_activity_whats_new_placeholder()
     1013 */
     1014function bp_activity_whats_new_placeholder() {
     1015        echo bp_get_activity_whats_new_placeholder();
     1016}
     1017
     1018        /**
     1019         * Return the activity post form textarea placeholder.
     1020         *
     1021         * @since 2.4.0
     1022         *
     1023         * @uses apply_filters() To call the 'bp_get_activity_per_page' hook.
     1024         *
     1025         * @return string The activity post form textarea placeholder.
     1026         */
     1027        function bp_get_activity_whats_new_placeholder() {
     1028                $placeholder = sprintf( __( "What's new, %s?", 'buddypress' ), bp_get_user_firstname( bp_get_loggedin_user_fullname() ) );
     1029
     1030                if ( bp_is_group() ) {
     1031                        $placeholder = sprintf( __( "What's new in %s, %s?", 'buddypress' ), bp_get_group_name(), bp_get_user_firstname( bp_get_loggedin_user_fullname() ) );
     1032                }
     1033
     1034                /**
     1035                 * Filters the activity post form textarea placeholder.
     1036                 *
     1037                 * @since 2.4.0
     1038                 *
     1039                 * @param string $placeholder the activity post form textarea placeholder.
     1040                 */
     1041                return apply_filters( 'bp_get_activity_whats_new_placeholder', $placeholder );
     1042        }
     1043
     1044/**
    10081045 * Output the activities title.
    10091046 *
    10101047 * @since 1.0.0
  • src/bp-templates/bp-legacy/buddypress-functions.php

    diff --git src/bp-templates/bp-legacy/buddypress-functions.php src/bp-templates/bp-legacy/buddypress-functions.php
    index c5974e2..1355835 100644
    class BP_Legacy extends BP_Theme_Compat { 
    278278                $min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
    279279
    280280                // Locate the BP JS file.
    281                 $asset = $this->locate_asset_in_stack( "buddypress{$min}.js", 'js' );
     281                $js = $this->locate_asset_in_stack( "buddypress{$min}.js", 'js' );
    282282
    283283                // Enqueue the global JS, if found - AJAX will not work
    284284                // without it.
    285                 if ( isset( $asset['location'], $asset['handle'] ) ) {
    286                         wp_enqueue_script( $asset['handle'], $asset['location'], bp_core_get_js_dependencies(), $this->version );
     285                if ( isset( $js['location'], $js['handle'] ) ) {
     286                        wp_enqueue_script( $js['handle'], $js['location'], bp_core_get_js_dependencies(), $this->version );
    287287                }
    288288
    289289                /**
    class BP_Legacy extends BP_Theme_Compat { 
    308308                        'unsaved_changes'     => __( 'Your profile has unsaved changes. If you leave the page, the changes will be lost.', 'buddypress' ),
    309309                        'view'                => __( 'View', 'buddypress' ),
    310310                ) );
    311                 wp_localize_script( $asset['handle'], 'BP_DTheme', $params );
     311                wp_localize_script( $js['handle'], 'BP_DTheme', $params );
    312312
    313313                // Maybe enqueue comment reply JS.
    314314                if ( is_singular() && bp_is_blog_page() && get_option( 'thread_comments' ) ) {
    315315                        wp_enqueue_script( 'comment-reply' );
    316316                }
    317317
     318                /**
     319                 * Enqueues Autosize 3.0.13.
     320                 *
     321                 * @link https://github.com/jackmoore/autosize
     322                 * @license MIT
     323                 */
     324                if ( bp_is_active( 'activity' ) ) {
     325                        // @todo locate_asset_in_stack() should allow us to omit child theme checks...
     326                        $asset = $this->locate_asset_in_stack( "autosize{$min}.js", 'js', 'bp-legacy-autosize' );
     327
     328                        wp_enqueue_script( $asset['handle'], $asset['location'], array( $js['handle'] ), '3.0.13' );
     329                }
     330
    318331                // Maybe enqueue password verify JS (register page or user settings page).
    319332                if ( bp_is_register_page() || ( function_exists( 'bp_is_user_settings_general' ) && bp_is_user_settings_general() ) ) {
    320333
    class BP_Legacy extends BP_Theme_Compat { 
    331344
    332345                // Star private messages.
    333346                if ( bp_is_active( 'messages', 'star' ) && bp_is_user_messages() ) {
    334                         wp_localize_script( $asset['handle'], 'BP_PM_Star', array(
     347                        wp_localize_script( $js['handle'], 'BP_PM_Star', array(
    335348                                'strings' => array(
    336349                                        'text_unstar'  => __( 'Unstar', 'buddypress' ),
    337350                                        'text_star'    => __( 'Star', 'buddypress' ),
  • src/bp-templates/bp-legacy/buddypress/activity/post-form.php

    diff --git src/bp-templates/bp-legacy/buddypress/activity/post-form.php src/bp-templates/bp-legacy/buddypress/activity/post-form.php
    index 5632973..5aa93d2 100644
     
    2525                </a>
    2626        </div>
    2727
    28         <p class="activity-greeting"><?php if ( bp_is_group() )
    29                 printf( __( "What's new in %s, %s?", 'buddypress' ), bp_get_group_name(), bp_get_user_firstname( bp_get_loggedin_user_fullname() ) );
    30         else
    31                 printf( __( "What's new, %s?", 'buddypress' ), bp_get_user_firstname( bp_get_loggedin_user_fullname() ) );
    32         ?></p>
    33 
    3428        <div id="whats-new-content">
     29
    3530                <div id="whats-new-textarea">
    36                         <label for="whats-new" class="bp-screen-reader-text"><?php _e( 'Post what\'s new', 'buddypress' ); ?></label>
    37                         <textarea class="bp-suggestions" name="whats-new" id="whats-new" cols="50" rows="10"
     31                        <textarea class="bp-suggestions" name="whats-new" id="whats-new" cols="50" rows="1"
    3832                                <?php if ( bp_is_group() ) : ?>data-suggestions-group-id="<?php echo esc_attr( (int) bp_get_current_group_id() ); ?>" <?php endif; ?>
    39                         ><?php if ( isset( $_GET['r'] ) ) : ?>@<?php echo esc_textarea( $_GET['r'] ); ?> <?php endif; ?></textarea>
     33                        placeholder="<?php echo esc_attr( bp_get_activity_whats_new_placeholder() ) ;?>"><?php if ( isset( $_GET['r'] ) ) : ?>@<?php echo esc_textarea( $_GET['r'] ); ?> <?php endif; ?></textarea>
    4034                </div>
    4135
    42                 <div id="whats-new-options">
    43                         <div id="whats-new-submit">
    44                                 <input type="submit" name="aw-whats-new-submit" id="aw-whats-new-submit" value="<?php esc_attr_e( 'Post Update', 'buddypress' ); ?>" />
    45                         </div>
     36                <div id="whats-new-actions">
     37                        <?php
     38                        /**
     39                         * Fires before the activity post form options.
     40                         *
     41                         * @since BuddyPress (2.4.0)
     42                         */
     43                        do_action( 'bp_activity_post_form_before_options' ); ?>
    4644
    47                         <?php if ( bp_is_active( 'groups' ) && !bp_is_my_profile() && !bp_is_group() ) : ?>
     45                        <div id="whats-new-options">
    4846
    49                                 <div id="whats-new-post-in-box">
     47                                <?php if ( bp_is_active( 'groups' ) && !bp_is_my_profile() && !bp_is_group() ) : ?>
    5048
    51                                         <?php _e( 'Post in', 'buddypress' ); ?>:
     49                                        <div id="whats-new-post-in-box">
    5250
    53                                         <label for="whats-new-post-in" class="bp-screen-reader-text"><?php _e( 'Post in', 'buddypress' ); ?></label>
    54                                         <select id="whats-new-post-in" name="whats-new-post-in">
    55                                                 <option selected="selected" value="0"><?php _e( 'My Profile', 'buddypress' ); ?></option>
     51                                                <?php _e( 'Post in', 'buddypress' ); ?>:
    5652
    57                                                 <?php if ( bp_has_groups( 'user_id=' . bp_loggedin_user_id() . '&type=alphabetical&max=100&per_page=100&populate_extras=0&update_meta_cache=0' ) ) :
    58                                                         while ( bp_groups() ) : bp_the_group(); ?>
     53                                                <select id="whats-new-post-in" name="whats-new-post-in">
     54                                                        <option selected="selected" value="0"><?php _e( 'My Profile', 'buddypress' ); ?></option>
    5955
    60                                                                 <option value="<?php bp_group_id(); ?>"><?php bp_group_name(); ?></option>
     56                                                        <?php if ( bp_has_groups( 'user_id=' . bp_loggedin_user_id() . '&type=alphabetical&max=100&per_page=100&populate_extras=0&update_meta_cache=0' ) ) :
     57                                                                while ( bp_groups() ) : bp_the_group(); ?>
    6158
    62                                                         <?php endwhile;
    63                                                 endif; ?>
     59                                                                        <option value="<?php bp_group_id(); ?>"><?php bp_group_name(); ?></option>
    6460
    65                                         </select>
    66                                 </div>
    67                                 <input type="hidden" id="whats-new-post-object" name="whats-new-post-object" value="groups" />
     61                                                                <?php endwhile;
     62                                                        endif; ?>
    6863
    69                         <?php elseif ( bp_is_group_activity() ) : ?>
     64                                                </select>
     65                                        </div>
     66                                        <input type="hidden" id="whats-new-post-object" name="whats-new-post-object" value="groups" />
    7067
    71                                 <input type="hidden" id="whats-new-post-object" name="whats-new-post-object" value="groups" />
    72                                 <input type="hidden" id="whats-new-post-in" name="whats-new-post-in" value="<?php bp_group_id(); ?>" />
     68                                <?php elseif ( bp_is_group_home() ) : ?>
    7369
    74                         <?php endif; ?>
     70                                        <input type="hidden" id="whats-new-post-object" name="whats-new-post-object" value="groups" />
     71                                        <input type="hidden" id="whats-new-post-in" name="whats-new-post-in" value="<?php bp_group_id(); ?>" />
    7572
    76                         <?php
     73                                <?php endif; ?>
    7774
     75                                <?php
     76
     77                                /**
     78                                 * Fires at the end of the activity post form options.
     79                                 *
     80                                 * @since BuddyPress (1.2.0)
     81                                 */
     82                                do_action( 'bp_activity_post_form_options' ); ?>
     83
     84                        </div><!-- #whats-new-options -->
     85
     86                        <?php
    7887                        /**
    79                          * Fires at the end of the activity post form markup.
     88                         * Fires before the activity post form submit.
    8089                         *
    81                          * @since 1.2.0
     90                         * @since BuddyPress (2.4.0)
    8291                         */
    83                         do_action( 'bp_activity_post_form_options' ); ?>
     92                        do_action( 'bp_activity_post_form_before_submit' ); ?>
     93
     94                        <div id="whats-new-submit">
     95
     96                                <input type="reset" name="aw-whats-new-reset" id="aw-whats-new-reset" value="<?php esc_attr_e( 'Cancel', 'buddypress' ); ?>" />
     97                                <input type="submit" name="aw-whats-new-submit" id="aw-whats-new-submit" value="<?php esc_attr_e( 'Post Update', 'buddypress' ); ?>" />
    8498
    85                 </div><!-- #whats-new-options -->
     99                                 <?php
     100                                /**
     101                                 * Fires at the end of the activity post form submit.
     102                                 *
     103                                 * @since BuddyPress (2.4.0)
     104                                 */
     105                                do_action( 'bp_activity_post_form_submit' ); ?>
     106                        </div><!-- #whats-new-submit -->
     107                </div><!-- #whats-new-actions -->
    86108        </div><!-- #whats-new-content -->
    87109
    88110        <?php wp_nonce_field( 'post_update', '_wpnonce_post_update' ); ?>
  • src/bp-templates/bp-legacy/css/buddypress.css

    diff --git src/bp-templates/bp-legacy/css/buddypress.css src/bp-templates/bp-legacy/css/buddypress.css
    index 5477d89..7efc086 100644
    Hello, this is the BuddyPress Legacy stylesheet. 
    135135        width: 100%;
    136136}
    137137body.no-js #buddypress form#whats-new-form textarea {
    138         height: 50px;
     138        height: 3.8em;
    139139}
    140140#buddypress form#whats-new-form #whats-new-options select {
    141141        max-width: 200px;
    body.no-js #buddypress form#whats-new-form textarea { 
    150150        content: "";
    151151        display: table;
    152152}
    153 body.no-js #buddypress #whats-new-options {
    154         height: auto;
    155 }
    156153#buddypress #whats-new:focus {
    157154        border-color: rgba(31, 179, 221, 0.9) !important;
    158155        outline-color: rgba(31, 179, 221, 0.9);
    159156}
    160157
     158#buddypress #whats-new-textarea {
     159        position: relative;
     160}
     161
     162#buddypress #whats-new-textarea:before,
     163#buddypress #whats-new-textarea:after {
     164        border-color: transparent;
     165        border-style: solid;
     166        content: ' ';
     167        height: 0;
     168        position: absolute;
     169        right: 99.8%;
     170        width: 0;
     171}
     172
     173#buddypress #whats-new-textarea:before {
     174        border-width: 10px;
     175        border-right-color: #ccc;
     176        top: 8px;
     177}
     178
     179#buddypress #whats-new-textarea:after {
     180        border-width: 9px;
     181        border-right-color: #fff;
     182        top: 9px;
     183}
     184
     185#buddypress #whats-new-textarea.active:before {
     186        border-right-color: rgba(31, 179, 221, 0.9) !important;
     187}
     188
    161189/*--------------------------------------------------------------
    1621903.1.1 - Activity Listing
    163191--------------------------------------------------------------*/
  • new file src/bp-templates/bp-legacy/js/autosize.js

    diff --git src/bp-templates/bp-legacy/js/autosize.js src/bp-templates/bp-legacy/js/autosize.js
    new file mode 100644
    index 0000000..70dd07c
    - +  
     1/*!
     2        Autosize 3.0.13
     3        license: MIT
     4        http://www.jacklmoore.com/autosize
     5*/
     6(function (global, factory) {
     7        if (typeof define === 'function' && define.amd) {
     8                define(['exports', 'module'], factory);
     9        } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
     10                factory(exports, module);
     11        } else {
     12                var mod = {
     13                        exports: {}
     14                };
     15                factory(mod.exports, mod);
     16                global.autosize = mod.exports;
     17        }
     18})(this, function (exports, module) {
     19        'use strict';
     20
     21        var set = typeof Set === 'function' ? new Set() : (function () {
     22                var list = [];
     23
     24                return {
     25                        has: function has(key) {
     26                                return Boolean(list.indexOf(key) > -1);
     27                        },
     28                        add: function add(key) {
     29                                list.push(key);
     30                        },
     31                        'delete': function _delete(key) {
     32                                list.splice(list.indexOf(key), 1);
     33                        } };
     34        })();
     35
     36        function assign(ta) {
     37                var _ref = arguments[1] === undefined ? {} : arguments[1];
     38
     39                var _ref$setOverflowX = _ref.setOverflowX;
     40                var setOverflowX = _ref$setOverflowX === undefined ? true : _ref$setOverflowX;
     41                var _ref$setOverflowY = _ref.setOverflowY;
     42                var setOverflowY = _ref$setOverflowY === undefined ? true : _ref$setOverflowY;
     43
     44                if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || set.has(ta)) return;
     45
     46                var heightOffset = null;
     47                var overflowY = null;
     48                var clientWidth = ta.clientWidth;
     49
     50                function init() {
     51                        var style = window.getComputedStyle(ta, null);
     52
     53                        overflowY = style.overflowY;
     54
     55                        if (style.resize === 'vertical') {
     56                                ta.style.resize = 'none';
     57                        } else if (style.resize === 'both') {
     58                                ta.style.resize = 'horizontal';
     59                        }
     60
     61                        if (style.boxSizing === 'content-box') {
     62                                heightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));
     63                        } else {
     64                                heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
     65                        }
     66                        // Fix when a textarea is not on document body and heightOffset is Not a Number
     67                        if (isNaN(heightOffset)) {
     68                                heightOffset = 0;
     69                        }
     70
     71                        update();
     72                }
     73
     74                function changeOverflow(value) {
     75                        {
     76                                // Chrome/Safari-specific fix:
     77                                // When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space
     78                                // made available by removing the scrollbar. The following forces the necessary text reflow.
     79                                var width = ta.style.width;
     80                                ta.style.width = '0px';
     81                                // Force reflow:
     82                                /* jshint ignore:start */
     83                                ta.offsetWidth;
     84                                /* jshint ignore:end */
     85                                ta.style.width = width;
     86                        }
     87
     88                        overflowY = value;
     89
     90                        if (setOverflowY) {
     91                                ta.style.overflowY = value;
     92                        }
     93
     94                        resize();
     95                }
     96
     97                function resize() {
     98                        var htmlTop = window.pageYOffset;
     99                        var bodyTop = document.body.scrollTop;
     100                        var originalHeight = ta.style.height;
     101
     102                        ta.style.height = 'auto';
     103
     104                        var endHeight = ta.scrollHeight + heightOffset;
     105
     106                        if (ta.scrollHeight === 0) {
     107                                // If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
     108                                ta.style.height = originalHeight;
     109                                return;
     110                        }
     111
     112                        ta.style.height = endHeight + 'px';
     113
     114                        // used to check if an update is actually necessary on window.resize
     115                        clientWidth = ta.clientWidth;
     116
     117                        // prevents scroll-position jumping
     118                        document.documentElement.scrollTop = htmlTop;
     119                        document.body.scrollTop = bodyTop;
     120                }
     121
     122                function update() {
     123                        var startHeight = ta.style.height;
     124
     125                        resize();
     126
     127                        var style = window.getComputedStyle(ta, null);
     128
     129                        if (style.height !== ta.style.height) {
     130                                if (overflowY !== 'visible') {
     131                                        changeOverflow('visible');
     132                                }
     133                        } else {
     134                                if (overflowY !== 'hidden') {
     135                                        changeOverflow('hidden');
     136                                }
     137                        }
     138
     139                        if (startHeight !== ta.style.height) {
     140                                var evt = document.createEvent('Event');
     141                                evt.initEvent('autosize:resized', true, false);
     142                                ta.dispatchEvent(evt);
     143                        }
     144                }
     145
     146                var pageResize = function pageResize() {
     147                        if (ta.clientWidth !== clientWidth) {
     148                                update();
     149                        }
     150                };
     151
     152                var destroy = (function (style) {
     153                        window.removeEventListener('resize', pageResize);
     154                        ta.removeEventListener('input', update);
     155                        ta.removeEventListener('keyup', update);
     156                        ta.removeEventListener('autosize:destroy', destroy);
     157                        set['delete'](ta);
     158
     159                        Object.keys(style).forEach(function (key) {
     160                                ta.style[key] = style[key];
     161                        });
     162                }).bind(ta, {
     163                        height: ta.style.height,
     164                        resize: ta.style.resize,
     165                        overflowY: ta.style.overflowY,
     166                        overflowX: ta.style.overflowX,
     167                        wordWrap: ta.style.wordWrap });
     168
     169                ta.addEventListener('autosize:destroy', destroy);
     170
     171                // IE9 does not fire onpropertychange or oninput for deletions,
     172                // so binding to onkeyup to catch most of those events.
     173                // There is no way that I know of to detect something like 'cut' in IE9.
     174                if ('onpropertychange' in ta && 'oninput' in ta) {
     175                        ta.addEventListener('keyup', update);
     176                }
     177
     178                window.addEventListener('resize', pageResize);
     179                ta.addEventListener('input', update);
     180                ta.addEventListener('autosize:update', update);
     181                set.add(ta);
     182
     183                if (setOverflowX) {
     184                        ta.style.overflowX = 'hidden';
     185                        ta.style.wordWrap = 'break-word';
     186                }
     187
     188                init();
     189        }
     190
     191        function destroy(ta) {
     192                if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA')) return;
     193                var evt = document.createEvent('Event');
     194                evt.initEvent('autosize:destroy', true, false);
     195                ta.dispatchEvent(evt);
     196        }
     197
     198        function update(ta) {
     199                if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA')) return;
     200                var evt = document.createEvent('Event');
     201                evt.initEvent('autosize:update', true, false);
     202                ta.dispatchEvent(evt);
     203        }
     204
     205        var autosize = null;
     206
     207        // Do nothing in Node.js environment and IE8 (or lower)
     208        if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {
     209                autosize = function (el) {
     210                        return el;
     211                };
     212                autosize.destroy = function (el) {
     213                        return el;
     214                };
     215                autosize.update = function (el) {
     216                        return el;
     217                };
     218        } else {
     219                autosize = function (el, options) {
     220                        if (el) {
     221                                Array.prototype.forEach.call(el.length ? el : [el], function (x) {
     222                                        return assign(x, options);
     223                                });
     224                        }
     225                        return el;
     226                };
     227                autosize.destroy = function (el) {
     228                        if (el) {
     229                                Array.prototype.forEach.call(el.length ? el : [el], destroy);
     230                        }
     231                        return el;
     232                };
     233                autosize.update = function (el) {
     234                        if (el) {
     235                                Array.prototype.forEach.call(el.length ? el : [el], update);
     236                        }
     237                        return el;
     238                };
     239        }
     240
     241        module.exports = autosize;
     242});
     243 No newline at end of file
  • src/bp-templates/bp-legacy/js/buddypress.js

    diff --git src/bp-templates/bp-legacy/js/buddypress.js src/bp-templates/bp-legacy/js/buddypress.js
    index cd063bb..b4a3055 100644
    jq(document).ready( function() { 
    3232        if ( $whats_new.length && bp_get_querystring('r') ) {
    3333                var $member_nicename = $whats_new.val();
    3434
    35                 jq('#whats-new-options').slideDown();
    36 
    37                 $whats_new.animate({
    38                         height:'3.8em'
    39                 });
     35                jq('#whats-new-actions').slideDown();
    4036
    4137                jq.scrollTo( $whats_new, 500, {
    4238                        offset:-125,
    jq(document).ready( function() { 
    4541
    4642                $whats_new.val('').focus().val( $member_nicename );
    4743        } else {
    48                 jq('#whats-new-options').hide();
     44                jq('#whats-new-actions').hide();
     45                jq('#whats-new-submit').hide();
    4946        }
    5047
    5148        /**** Activity Posting ********************************************************/
    5249
     50        /* Texarea auto-resize */
     51        autosize( $whats_new );
     52
    5353        /* Textarea focus */
    5454        $whats_new.focus( function(){
    55                 jq( '#whats-new-options' ).slideDown();
    56 
    57                 jq( this ).animate({
    58                         height:'3.8em'
    59                 });
     55                jq( '#whats-new-actions' ).slideDown();
     56                jq( '#whats-new-submit' ).slideDown();
    6057
    6158                jq('#aw-whats-new-submit').prop('disabled', false);
    6259
    jq(document).ready( function() { 
    8582        });
    8683
    8784        /* For the "What's New" form, do the following on focusout. */
    88         jq( '#whats-new-form' ).on( 'focusout', function( e ) {
    89                 var elem = jq( this );
     85        jq( '#whats-new-form' ).on( 'reset focusout', function( e ) {
     86                var elem = jq( this ),
     87                        doIt = false;
    9088
    9189                // Let child hover actions passthrough.
    9290                // This allows click events to go through without focusout.
    9391                setTimeout( function () {
     92                        if ( 'reset' === e.type ) {
     93                                doIt = true;
     94                        }
     95
    9496                        if ( ! elem.find(':hover').length ) {
    9597                                // Do not slide up if textarea has content.
    9698                                if ( '' !== $whats_new.val() ) {
    9799                                        return;
    98100                                }
    99101
    100                                 $whats_new.animate({
    101                                         height:'2.2em'
    102                                 });
     102                                doIt = true;
     103                        }
    103104
    104                                 jq( '#whats-new-options' ).slideUp();
     105                        if ( doIt ) {
     106                                jq( '#whats-new-actions' ).slideUp();
     107                                jq( '#whats-new-submit' ).slideUp();
    105108
    106109                                jq('#aw-whats-new-submit').prop( 'disabled', true );
    107110
    jq(document).ready( function() { 
    241244                                activity_last_recorded  = 0;
    242245                        }
    243246
    244                         jq('#whats-new-options').slideUp();
    245                         jq('#whats-new-form textarea').animate({
    246                                 height:'2.2em'
    247                         });
     247                        jq('#whats-new-actions').slideUp();
     248                        jq('#whats-new-submit').slideUp();
     249
    248250                        jq('#aw-whats-new-submit').prop('disabled', true).removeClass('loading');
    249251                        jq( '#whats-new-content' ).removeClass( 'active' );
    250252                });