WordPress.org

Ready to get started?Download WordPress

Forums

People Lists
[resolved] People-Lists profile rich-text editor HTML and Link-Button fixes (10 posts)

  1. jZed
    Member
    Posted 3 years ago #

    Great plugin, thanks! Two problems with the rich text editor on the profile page: (1) user entered HTML is filtered out from the description field and therefore can't be used (2) the add-link button doesn't pop-up a form to enter the URL.

    Fixes: add these three lines to the people-lists.php function "people_lists_tinymce_init_scripts()" :

    add_action('admin_print_footer_scripts', 'wp_tiny_mce_preload_dialogs', 30 );
    remove_filter('pre_user_description', 'wp_filter_kses');
    add_filter( 'pre_user_description', 'wp_filter_post_kses' );

    The first line adds the dialog popup for links to the editor. The next two lines change the filter for the description field from one that filters out all HTML to one that only filters out dangerous HTML.

    http://wordpress.org/extend/plugins/people-lists/

  2. enej
    Member
    Plugin Contributor

    Posted 3 years ago #

    Hi jZed

    Thanks for spotting the bugs and also for providing the solution.
    :) You Rock!
    The only change I made was making sure that the js only loads on the edit user page and the profile page, instead of on every admin page.

    I updated the plugin. 1.3.2

  3. jZed
    Member
    Posted 3 years ago #

    You're welcome :-). It's the open source way :-). So I have an even better thing you might want to add to the plugin - the ability to use the full thickbox media-uploader to insert images, video, and sound into the profile just as you can if you create a new page from url, computer or media library or nextgen gallery if in use. I have the code working, including respecting the general wp settings of who is allowed to upload media. What's the best way to get it to you? I can paste it here, though it might be better to take this onto private email or give me access to the cvs or whatever.

    Or, I suppose if you're not interested I could just make a stand-alone plugin, but if you're into it, I'd rather add it to yours than increase the already too large number of plugins.

  4. enej
    Member
    Plugin Contributor

    Posted 3 years ago #

    Sure that would be great! I except patch files.
    Here are some instruction on how to create one.
    http://markjaquith.wordpress.com/2005/11/02/my-wordpress-toolbox/

    Thanks for helping taking the time and interest in making the plugin better.

    Cheers

  5. jZed
    Member
    Posted 3 years ago #

    Here's the diff against version 1.3.2 of people-lists-tinymce.js. Enjoy!

    34c34
    <       $("#description").before("<a href='#' class='plain'>HTML</a> <a href='#' class='visual active'>Visual</a>");
    ---
    >       $("#description").before("<span id='editor-tabs'><a href='#' class='plain'>HTML</a> <a href='#' class='visual active'>Visual</a></span>");
    54c54,97
    <
    ---
    >         jQuery("#editor-tabs").before( " \
    >                 <div id='media-buttons'> Upload/Insert Media :               \
    >                         <img id  = 'image_button'                            \
    >                              src = '/wp-admin/images/media-button-image.gif' \
    >                              alt = 'upload an image'                         \
    >                            title = 'upload an image'                         \
    >                         />                                                   \
    >                         <img id  = 'video_button'                            \
    >                              src = '/wp-admin/images/media-button-video.gif' \
    >                              alt = 'upload a video'                          \
    >                            title = 'upload a video'                          \
    >                         />                                                   \
    >                         <img id  = 'audio_button'                            \
    >                              src = '/wp-admin/images/media-button-music.gif' \
    >                              alt = 'upload an audio file'                    \
    >                            title = 'upload an audio file'                    \
    >                         />                                                   \
    >                         <img id  = 'other_button'                            \
    >                              src = '/wp-admin/images/media-button-other.gif' \
    >                              alt = 'upload other media'                      \
    >                            title = 'upload other media'                      \
    >                         />                                                   \
    >                 </div>"
    >         );
    >         jQuery('#image_button').click(function() {
    >                 tb_show('', 'media-upload.php?type=image&TB_iframe=true');
    >                 return false;
    >         });
    >         jQuery('#video_button').click(function() {
    >                 tb_show('', 'media-upload.php?type=video&TB_iframe=true');
    >                 return false;
    >         });
    >         jQuery('#audio_button').click(function() {
    >                 tb_show('', 'media-upload.php?type=audio&TB_iframe=true');
    >                 return false;
    >         });
    >         jQuery('#other_button').click(function() {
    >                 tb_show('', 'media-upload.php?TB_iframe=true');
    >                 return false;
    >         });
    >         window.send_to_editor = function(html) {
    >                 tinyMCE.activeEditor.selection.setContent( html );
    >                 tb_remove();
    >         }
  6. jZed
    Member
    Posted 3 years ago #

    My apologies, please forget that last patch and use the two patches below instead. Yesterday's patch circumvented WP's media_button_context action so didn't show extra media buttons (such as people-lists's own add-a-people-list button) and also didn't check if user had upload perms. This one solves those by using WP's do_action('media_buttons')and current_user_can(). It kludges things by printing that in the footer as a hidden div and then inserting it in the right place in the form with jQuery - I couldn't think of any other way to insert content into the user-edit page itself.

    So there are now two short patches for the php and for the js:

    diff agaist people-lists.php 1.3.2
    ----------------------------------

    215a216,227
    >
    > add_action('admin_footer-user-edit.php', 'people_lists_media_buttons', 40 );
    > add_action('admin_footer-profile.php', 'people_lists_media_buttons', 40 );
    >
    > function people_lists_media_buttons() {
    >         if ( !current_user_can( 'upload_files' ) ) return;
    >         echo '<span id="media-buttons" class="hide-if-no-js" '
    >            . 'style="display:none">';
    >         do_action( 'media_buttons' );
    >         echo '</span>';
    > }
    >

    diff against people-lists-tinymce.js 1.3.2
    -------------------------------------------

    34c34
    <       $("#description").before("<a href='#' class='plain'>HTML</a> <a href='#' class='visual active'>Visual</a>");
    ---
    >       $("#description").before("<div id='editor-tabs'><a href='#' class='plain'>HTML</a> <a href='#' class='visual active'>Visual</a></div>");
    54c54,61
    <
    ---
    >         var mbuttons = jQuery("#media-buttons").html();
    >         jQuery("#media-buttons").remove();
    >         jQuery("#editor-tabs").before( mbuttons );
    >         jQuery("#media-buttons").css('display','block');
    >         window.send_to_editor = function(html) {
    >                 tinyMCE.activeEditor.selection.setContent( html );
    >                 tb_remove();
    >         }
  7. enej
    Member
    Plugin Contributor

    Posted 3 years ago #

    Hi jZed

    I updated the plugin, Thanks for making it happen.

  8. flayakaya
    Member
    Posted 3 years ago #

    Hi enejb,
    it seams that in the last revision (372986 / 14th april 2011)

    You wipped out the "better way to filter the description"

    Rich HTML isn't enabled anymore but if I put back jZed's lines :

    remove_filter('pre_user_description', 'wp_filter_kses');
    add_filter( 'pre_user_description', 'wp_filter_post_kses' );

    It works fine

  9. eraleks
    Member
    Posted 2 years ago #

    Hi!

    This plug-in is fantastic =) Thanks a lot!

    I have some issues with it though... I'm running a multisite, that might be the reason?

    On the bottom of every profile page there's an error message saying:

    Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, 'clf_base_tiny_filter_remove_fullscreen' was given in /home/revyport/public_html/wp-includes/plugin.php on line 170
    
    Warning: Invalid argument supplied for foreach() in /home/revyport/public_html/wp-admin/includes/post.php on line 1674

    The other problem is that the rich text editor that is supposed to be displayed in the profile "general information" field isn't showing. However I can see media-upload buttons but they'r not working.

    Do you have any ideas how to fix this? Would be great with 100% mu compability since this plug-in is really great for mu-sites with lots of users!

  10. colvinson
    Member
    Posted 2 years ago #

    How exactly can I customize the output of the people lists on a page? Ive been playing with the css files but have had absolutely no luck.

    im also getting this error message

    Warning: Invalid argument supplied for foreach() in /home/trees45/public_html/vinsonsvigilantes.com/wp-content/plugins/people-lists/people-lists.php on line 571

Topic Closed

This topic has been closed to new replies.

About this Plugin

About this Topic