Skip to:
Content
Pages
Categories
Search
Top
Bottom

Search Results for 'private message button'

Viewing 6 results - 326 through 331 (of 331 total)
  • Author
    Search Results
  • #60859

    In reply to: Wire Posts in bp 1.2

    David Lewis
    Participant

    When you send a private message you see their name in a button beside the textarea. When you send a public message you get a textarea pre-populated with @username. I think if you instead got a textarea with their name in a button beside the textarea… just like a private message… that would be more consistent. It would also be less prone to user error. For instance, I can envision someone wanting to public message “Jim Smith” clicking the button and seeing “@unibomber” in the textarea and thinking… what the?! And then deleting the offending weird text. It sounds ridiculous… but sit down with some non-computer savvy users and you will be amazed :o)

    That said… it sounds like you’re aware of that and will be putting some thought into it in future releases. So that’s great.

    I guess the question is… if we your don’t rely on the @ shorthand… how would someone make mention of someone else without using the “Public Message” button? Could there be some kind of auto-complete text box for targeting your comments? Or would the @ shorthand simply remain as-is and be considered a “power user” feature.

    Just thinking out loud :o)

    #59885
    Anonymous User 96400
    Inactive

    @Bowe

    setting up different group types is fairly easy. You just have to attach some groupmeta to the group, that basically let you add as many types as you’d like. Then you just check the metadata to figure out what type of group you’re in. Using the groups API you can then add different functionality for different groups.

    I’ve written a types-plugin for one of my sites. It doesn’t have an interface, though. The 3 types I needed are hardcoded into it, so it’s really not suited for a release at the moment. There’s also a lot of more stuff, like a shopping cart, part of that plugin. So, I’ve stripped the functions needed for group types out (hopefully al of them).

    First we need to add the addtional fields to our registration form:

    function sv_add_registration_group_types()
    {
    ?>
    <div id="account-type" class="register-section">
    <h3 class="transform"><?php _e( 'Choose your account type (required)', 'group-types' ) ?></h3>

    <script type="text/javascript" defer="defer">
    jQuery(document).ready(function(){
    jQuery("#account-type-normal_user").attr("checked", true);
    jQuery("#group-details").hide();
    jQuery("#account-type-type_one,#account-type-type_two,#account-type-type_three").click(function(){
    if (jQuery(this).is(":checked")) {
    jQuery("#group-details").slideDown("slow");
    } else {
    jQuery("#group-details").slideUp("slow");
    }
    });
    jQuery("#account-type-normal_user").click(function(){
    if (jQuery(this).is(":checked")) {
    jQuery("#group-details").slideUp("slow");
    } else {
    jQuery("#group-details").slideDown("slow");
    }
    });
    });
    </script>

    <?php do_action( 'bp_account_type_errors' ) ?>
    <label><input type="radio" name="account_type" id="account-type-normal_user" value="normal_user" checked="checked" /><?php _e( 'User', 'group-types' ) ?></label>
    <label><input type="radio" name="account_type" id="account-type-type_one" value="type_one" /><?php _e( 'Type 1', 'group-types' ) ?></label>
    <label><input type="radio" name="account_type" id="account-type-type_two" value="type_two" /><?php _e( 'Type 2', 'group-types' ) ?></label>
    <label><input type="radio" name="account_type" id="account-type-type_three" value="type_three" /><?php _e( 'Type 3', 'group-types' ) ?></label>

    <div id="group-details">
    <p><?php _e( 'We will automatically create a group for your business or organization. This group will be tailored to your needs! You can change the description and the news later in the admin section of your group.', 'group-types' ); ?></p>

    <?php do_action( 'bp_group_name_errors' ) ?>
    <label for="group_name"><?php _e( 'Group Name', 'scuba' ) ?> <?php _e( '(required)', 'buddypress' ) ?></label>
    <input type="text" name="group_name" id="group_name" value="" />
    <br /><small><?php _e( 'We suggest you use the name of your business or organization', 'group-types' ) ?></small>

    <label for="group_desc"><?php _e( 'Group Description', 'scuba' ) ?></label>
    <textarea rows="5" cols="40" name="group_desc" id="group_desc"></textarea>
    <br /><small><?php _e( 'This description will be visible on your group profile, so it could be used to present your mission statement for example.', 'group-types' ) ?></small>

    <label for="group_news"><?php _e( 'Group News', 'scuba' ) ?></label>
    <textarea rows="5" cols="40" name="group_news" id="group_news"></textarea>
    <br /><small><?php _e( 'Enter any news that you want potential members to see.', 'group-types' ) ?></small>
    </div>
    </div>
    <?php
    }
    add_action( 'bp_before_registration_submit_buttons', 'sv_add_registration_group_types' );

    Then we have to validate things and add some usermeta when a regitration happens:

    /**
    * Add custom userdata from register.php
    * @since 1.0
    */
    function sv_add_to_signup( $usermeta )
    {
    $usermeta['account_type'] = $_POST['account_type'];

    if( isset( $_POST['group_name'] ) )
    $usermeta['group_name'] = $_POST['group_name'];

    if( isset( $_POST['group_desc'] ) )
    $usermeta['group_desc'] = $_POST['group_desc'];

    if( isset( $_POST['group_news'] ) )
    $usermeta['group_news'] = $_POST['group_news'];

    return $usermeta;
    }
    add_filter( 'bp_signup_usermeta', 'sv_add_to_signup' );

    /**
    * Update usermeta with custom registration data
    * @since 1.0
    */
    function sv_user_activate_fields( $user )
    {
    update_usermeta( $user['user_id'], 'account_type', $user['meta']['account_type'] );

    if( isset( $user['meta']['group_name'] ) )
    update_usermeta( $user['user_id'], 'group_name', $user['meta']['group_name'] );

    if( isset( $user['meta']['group_desc'] ) )
    update_usermeta( $user['user_id'], 'group_desc', $user['meta']['group_desc'] );

    if( isset( $user['meta']['group_news'] ) )
    update_usermeta( $user['user_id'], 'group_news', $user['meta']['group_news'] );

    return $user;
    }
    add_filter( 'bp_core_activate_account', 'sv_user_activate_fields' );

    /**
    * Perform checks for custom registration data
    * @since 1.0
    */
    function sv_check_additional_signup()
    {
    global $bp;

    if( empty( $_POST['account_type'] ) )
    $bp->signup->errors['account_type'] = __( 'You need to choose your account type', 'group-types' );

    if( empty( $_POST['group_name'] ) && $_POST['account_type'] != 'normal_user' )
    $bp->signup->errors['group_name'] = __( 'You need to pick a group name', 'group-types' );

    if( ! empty( $_POST['group_name'] ) && $_POST['account_type'] != 'normal_user' )
    {
    $slug = sanitize_title_with_dashes( $_POST['group_name'] );
    $exist = groups_check_group_exists( $slug );
    if( $exist )
    $bp->signup->errors['group_name'] = __( 'This name is not available. If you feel this is a mistake, please <a href="/contact">contact us</a>.', 'group-types' );
    }
    }
    add_action( 'bp_signup_validate', 'sv_check_additional_signup' );

    And then we set up the group for the user (there are some constants in this function, so you’ll need to change that):

    /**
    * Create custom groups for skools, biz and org accounts
    * @since 1.0
    */
    function sv_init_special_groups( $user )
    {
    global $bp;

    // get account type
    $type = get_usermeta( $user['user_id'], 'account_type' );

    if( $type == 'normal_user' )
    {
    // Do nothing
    }
    elseif( $type == 'type_one' || $type == 'type_two' || $type == 'type_three' )
    {
    // get some more data from sign up
    $group_name = get_usermeta( $user['user_id'], 'group_name' );
    $group_desc = get_usermeta( $user['user_id'], 'group_desc' );
    $group_news = get_usermeta( $user['user_id'], 'group_news' );

    $slug = sanitize_title_with_dashes( $group_name );

    // create dive skool group
    $group_id = groups_create_group( array(
    'creator_id' => $user['user_id'],
    'name' => $group_name,
    'slug' => $slug,
    'description' => $group_desc,
    'news' => $group_news,
    'status' => 'public',
    'enable_wire' => true,
    'enable_forum' => true,
    'date_created' => gmdate('Y-m-d H:i:s')
    )
    );
    // add the type to our group
    groups_update_groupmeta( $group_id, 'group_type', $type );

    // delete now useless data
    delete_usermeta( $user['user_id'], 'group_name' );
    delete_usermeta( $user['user_id'], 'group_desc' );
    delete_usermeta( $user['user_id'], 'group_news' );

    // include PHPMailer
    require_once( SV_MAILER . 'class.phpmailer.php' );

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->Host = SV_SMTP;

    $auth = get_userdata( $user['user_id'] );
    $profile_link = $bp->root_domain . '/' . $bp->groups->slug . '/' . $slug . '/admin';

    $message = sprintf( __( 'Hello %s,

    we have created a group for your business or organization. To get more out of your presence on Yoursitenamehere please take some time to set it up properly.

    Please follow this link to fill in the rest of your profile: %s

    We wish you all the best. Should you have any questions regarding your new group, please contact us at support@yoursitenamehere.com.

    Your Yoursitenamehere Team', 'group-types' ), $auth->display_name, $profile_link );

    $mail->SetFrom("support@yoursitenamehere.com","Yoursitenamehere");
    $mail->AddAddress( $auth->user_email );

    $mail->Subject = __( 'Your new group pages on Yoursitenamehere', 'group-types' );
    $mail->Body = $message;
    $mail->WordWrap = 75;
    $mail->Send();
    }
    }
    add_action( 'bp_core_account_activated', 'sv_init_special_groups' );

    When you write a group extension we’ll have to swap the activation call with a function like the one below to be able to check for group types.

    /**
    * Replacement activation function for group extension classes
    */
    function activate_type_one()
    {
    global $bp;
    $type = groups_get_groupmeta( $bp->groups->current_group->id, 'group_type' );
    if( $type == 'type_one' )
    {
    $extension = new Group_Type_One;
    add_action( "wp", array( &$extension, "_register" ), 2 );
    }
    }
    add_action( 'plugins_loaded', 'activate_type_one' );

    The last thing we need to do is add our group type names to group and directory pages:

    /**
    * Modify the group type status
    */
    function sv_get_group_type( $type, $group = false )
    {
    global $groups_template;

    if( ! $group )
    $group =& $groups_template->group;

    $gtype = groups_get_groupmeta( $group->id, 'group_type' );
    if( $gtype == 'type_one' )
    $name = __( 'Type 1', 'group-types' );

    elseif( $gtype == 'type_two' )
    $name = __( 'Type 2', 'group-types' );

    elseif( $gtype == 'type_three' )
    $name = __( 'Type 3', 'group-types' );

    else
    $name = __( 'User Group', 'group-types' );

    if( 'public' == $group->status )
    {
    $type = sprintf( __( "%s (public)", "group-types" ), $name );
    }
    elseif( 'hidden' == $group->status )
    {
    $type = sprintf( __( "%s (hidden)", "group-types" ), $name );
    }
    elseif( 'private' == $group->status )
    {
    $type = sprintf( __( "%s (private)", "group-types" ), $name );
    }
    else
    {
    $type = ucwords( $group->status ) . ' ' . __( 'Group', 'buddypress' );
    }

    return $type;
    }
    add_filter( 'bp_get_group_type', 'sv_get_group_type' );

    /**
    * Modify the group type status on directory pages
    */
    function sv_get_the_site_group_type()
    {
    global $site_groups_template;

    return sv_get_group_type( '', $site_groups_template->group );
    }
    add_filter( 'bp_get_the_site_group_type', 'sv_get_the_site_group_type' );

    It’s quite a bit of code, but it should get you started. This hasn’t been tested with 1.2 btw.

    #51858
    Jeff Sayre
    Participant

    @Erich73

    No, the privacy component will not be included in v1.1. It is on the roadmap to be a core feature of v1.2.

    But, first, we need to do some private alpha testing. Then some non-private beta testing–meaning available to all. Once all the kinks are worked out of it, Andy will evaluate it and decide if it meets the criteria to be merged into the BuddyPress codebase as a core component.

    Will there also be a feature like “hiding my activities” ?

    The privacy component will offer a user a full suite of privacy control options for:

    • profile privacy filtering at the field level
    • privacy filtering activity stream by action
    • privacy filtering friends list and hiding the “Add Friend” button
    • privacy filtering the groups list
    • deciding who can instant message you
    • privacy filtering for blogs
    • privacy filtering wire posts and deciding who can post on your wire

    There are also features for Site Admins that allow them to determine which privacy components are enabled (by default, all are enabled).

    #48709
    Greg
    Participant

    I went over to testbp.org and this issue repros there too. When sending a message to two people where the first one is added to the “to” line using the “send message” button and the second person is added manually, the message only goes to the first.

    @JJJ, did you follow exactly the repro steps that I provided?

    @Burt, thanks – I used the auto-upgrade and had forgotten the about the theme directory gymnastics that one needs to do at the end of an install.

    #2744
    Cristiano
    Participant

    User Profiles

    • Multi-part profiles

    The user profile page is perhaps the most important part of your social network. Along with the user’s profile data, all of the user’s photos, blog entries, comments, groups, friends, statistics, and other items can be displayed here. This page is often used as a point of contact between users, so various options are available to viewers (such as “Send Message”, “Add Friend”, “Block User”, and so forth). As the admin, you decide what goes on your users’ profiles.

    • Customizable profile fields

    The information that your users will provide about themselves will define your social network. Thusly, you should create profile fields that make users provide information that is relavant to your social network’s unique theme. For example, if you are building a social network for businesspeople, you might create fields like “Current Employer”, “Position”, “References”, etc. Similarly, if you are creating a dating network, you might create fields like “Height”, “Weight”, “Eye Color”, and so forth. Profile fields can be one of several types: Text fields, pull-down boxes, multi-line text areas, radio buttons, dates, etc.

    • Dependent profile fields

    If you create a pull-down box or radio button profile field, you can give it one or more dependent profile fields. For example, if your pull-down box profile field is named “Marital Status”, it might have possible values such as “Single” and “Married”. By creating a dependent field named “To” for the “Married” value, users that select “Married” can specify who they are married to.

    • Regex field validation

    Each profile field that you create can be given its own regular expression. If the data provided by the user does not match this expression, you can choose to display an error message of your choice. This ensures that users are inputting their profile data in the exact format you want.

    • Keyword links

    If enabled, some profile fields will be “linked, separated by commas.” This means that whatever data the user provides in these fields will be separated by commas and linked to browse pages. For example, if you create a field called “My Favorite Music” and a user enters “classical, jazz, soul”, each of those words will be linked on the user’s profile page. Then, when a viewer clicks “jazz”, they are taken to a page that lists all other users that have listed “jazz” in their “My Favorite Music” field.

    • Birthday fields

    Date fields on your users’ profiles can be set to “birthday mode”, which allows you to calculate the user’s age. With some minor modifications, you could use this to notify users of upcoming birthdays.

    • Personal photos (avatars)

    If allowed, users can easily upload a photo of themselves, which is automatically sized down and used as their personal photo (also known as an avatar). This is displayed on their profile, in search results, when they send a message, and on many other areas of your social network.

    • Profile privacy

    If allowed, users can select from several privacy levels when managing their profile. This limits who can view and write comments on their profile. You, the admin, can decide what privacy options are available to your users.

    • Comments

    If allowed, users can post comments on each other’s profiles. This is an excellent way to encourage user interaction. If an inappropriate or unwanted content is posted, the receiving user can delete it from his or her profile. Users also have the ability to choose who can post comments on their profile (if allowed by you, the admin).

    • Custom CSS styles

    If allowed, users can insert their own custom CSS styles to give their profiles a more personalized appearance.

    Network Structure & Customizability

    • Subnetworks

    Your social network has the ability to organize users into “subnetworks” based on profile information they have in common with each other. You can use this to limit access and privacy between subnetworks, display subnetwork-specific content in your templates, or to simply organize your users. For example, you might want your social network to be comprised of two subnetworks: “Males” and “Females”. Or, perhaps you might want to split these up into “Males In California”, “Males Outside California”, “Females In California”, “Females Outside California”. This is particularly useful because you can show different content (or advertisements) to users based on what subnetwork they are in. This allows you to serve them information or ads that are specifically relevant to their interests or personal characteristics.

    • Several friendship structures

    You can select from four distinct friendship structures: 1) Nobody can invite anyone to become friends, 2) Anybody can invite anyone to become friends, 3) Only people within the same subnetwork can become friends, and 4) Users can only invite their friends’ friends (second-level friends) to become their friends. With some minor customization, other structures can be implemented quite easily.

    • One-way or two-way friendships

    As the admin, you can decide if users have one-way or two-way friendships. Example: User A adds User B to his friend list. With a one-way friendship framework, User B is User A’s friend, but User A is not User B’s friend. With a two-way friendship framework, User B is User A’s friend and User A is User B’s friend.

    • Verified or unverified friendships

    As the admin, you can choose whether or not users will have to confirm friendship requests. Example: User A requests to become friends with User B. With a verified friendships framework, the two users will not become friends until User B confirms the friendship. With an unverified friendship framework, the two users will become friends immediately.

    • Friendship types (titles)

    As the admin, you can create a list of friendship types for users to pick when describing their relationships with their friends. Example: Your friendship type list may be something like “Co-worker”, “Significant Other”, “Acquaintance”, “Close Friend”, “Family”, and so forth. Users can pick from these when they add new friends or edit the details of their relationships with their friends. If you wish, you can also allow users to enter in their own friendship type instead of picking from your list.

    • Friendship explanations

    As the admin, you can allow users to type in a detailed explaination of their relationships with each of their friends.

    • Public/private sections

    As the admin, you can easily make portions of the social network available to the public or registered users only.

    • Custom privacy levels

    As the admin, you can decide what privacy levels your users can choose from when they decide who can view (or post comments on) their profiles, blogs, groups, albums, and so forth.

    • Signup by admin invitation

    As the admin, you can choose to allow users to signup only if you have invited them. This is an effective way to build a small, exclusive social network.

    • Signup by user invitation

    As the admin, you can choose to allow users to signup only if they have been invited by an existing user or an admin. You can even give each user a limited number of invitations to send out. By limiting signups in this way, invitations can become “valuable,” which is a known method of achieving viral growth.

    • Customizable signup process

    As the admin, you can decide what will take place during the new user signup process. You decide what fields they must fill out (and which are required), whether they are asked to upload a photo, whether they are prompted to invite other people, and so forth.

    • Email messages

    Your social network sends emails to your users when they do different things, like signup, receive friend requests, request their lost password, etc. These email messages are all customizable – you can easily replace the default messages with your own.

    Frontend, Look & Feel

    • Global CSS styles

    A single CSS stylesheet is used to set the colors, fonts, and other styles of your entire social network. This makes global changes to the look and feel of your social network easy!

    • Multi-language support

    All of the text on your social network is stored in a single language file, which makes translation simple.

    • Search engine friendly URLs

    As the admin, you can switch between standard (dynamic) or search engine friendly (static) URLs. This applies to the URLs of your users’ profile pages, albums, blogs, groups, etc.

    #34558

    In reply to: messages not working

    mfgmk
    Participant

    Oy, just upgraded to 1.0b1 and still have the same problem with messages not working. Here’s what I did for the upgrade:

    trial 1) overwrote all plugins with the latest releases (combo download), tested site — messaging didn’t work;

    trial 2) deleted all mu-plugins, re-downloaded 1.0b1 (in case the d/l botched the first time), uploaded everything it in their proper locations, tested site — messaging still didn’t work.

    I tested private messaging by doing the following:

    trial 1) My Account >> Messages >> Compose >> write a message >> Send — pressing Send cleared all fields (Send To, Subject, Message);

    trial 2) My Account >> Friends >> My Friends >> click on friend’s profile >> Send Message >> write a message >> Send — pressing Send cleared all fields again;

    trial 3) do the same stuff as trial 2 but with a different friend — still the same problem.

    Here’s the funny part, when I checked off “This is a notice to all users” the Send button did work. One other piece of information that might help troubleshoot this is that I have this text “(Use username – autocomplete coming soon)” next to the Send To label.

Viewing 6 results - 326 through 331 (of 331 total)
Skip to toolbar