Skip to:
Content
Pages
Categories
Search
Top
Bottom

Search Results for 'buddypress'

Viewing 25 results - 13,126 through 13,150 (of 73,985 total)
  • Author
    Search Results
  • #259074
    BillRox
    Participant

    Thanks Venutius,

    Yes, the icons are from the Kleo theme and replace the links from Buddypress. I want to remove those sections.

    Here are the default links in BP.

    Links

    I want to remove some of those.

    #259073
    Venutius
    Moderator

    THose icons don’t come with Buddypress, they may be something from your theme?

    danbp
    Participant

    For 1), it’s no easy to do, if even it is doable ! Activities have already a filter for posts, but nothing for post categories. Main reason is given in this 6 years old topic – but technically still available i think:
    https://buddypress.org/support/topic/highlight-specific-post-categories-in-the-activity-stream/#post-72043

    More recently, slightly different, but just in case of.

    Filtering Activity Loops

    #259067
    tirux
    Participant

    Hello,

    I installed BuddyPress 2.6.2 in my website https://staging1.hatzosc.com which uses WordPress 4.6.1 and when I try to upload a personal image profile/avatar the following error appears: “There was a problem cropping your image.”

    The filename size shouldn’t be a problem since the filename is “tree.jpg”. I also checked that GD support is enabled too in PHP 5.6.26

    Is there a way to fix this issue?

    daspiyali
    Participant

    In my WordPress site I need to send email to all members in a group for all activity.If any one posts then all the members should receive an email.I have installed BuddyPress Group Email Subscription, but only admin had received email for all activity and one member received his own activity mail.He should receive email for all group activity like other member posts or new member joins.If anybody has any solution please help me.

    BexxBl
    Participant

    I have this very specific problem I need to solve. The thing is I have this BuddyPress-Setup that is linked to my WP and WC Vendors. What I’m trying to achive is a sidebar/seller info tab displaying the BuddyPress-Profil informations from the Vendor. Something like this when the User is logged in:

    • Profile name (BuddyPress/WP)
    • Storename (from WC Vendors)
    • phone number
    • email-address
    • Button to send Private Message to Seller

    If the User is not logged in there should be a Button with the meassgae to please login. I already know how to do that button.
    I already linked my BuddyPress Profile with the WC Vendors store. So that the “Visit-Store”-Button is displayed on the BuddyPress profile of my Users (from knowledge Base of WC Vendors)

    How is the best way to approche this problem?

    I’m not looking for a fullywritten out solution just some suggestions where to start.

    I’m running the current versions of WP, BuddyPress, WooCommerce and WC Vendors(free) with the Socialize Theme. Also posted the question on the WC Vendors Support Site.

    Thank you for your help.

    #259059
    danbp
    Participant

    Hi,

    user metas are part of wordpress and stored in wp_usermeta table
    xprofile datas are part of BuddyPress and stored in 4 different tables wp_bp_xprofile_ > data, meta, fields, groups

    BuddyPress Database Diagram


    https://codex.wordpress.org/Database_Description

    bikerwp000
    Participant
    <?php
    /**
     * Plugin Name:       BP Loop Filters
     * Plugin URI:        https://codex.buddypress.org/add-custom-filters-to-loops-and-enjoy-them-within-your-plugin
     * Description:       Plugin example to illustrate loop filters
     * Version:           1.0
     * Author:            imath
     * Author URI:        http://imathi.eu
     * License:           GPL-2.0+
     * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
     */
    
    // Exit if accessed directly
    if ( !defined( 'ABSPATH' ) ) exit;
    
    class BP_Loop_Filters {
    
    	/**
    	 * Constructor
    	 */
    	public function __construct() {
    		$this->setup_actions();
    		$this->setup_filters();
    	}
    
    	/**
    	 * Actions
    	 *
    	 * @uses bp_is_active()
    	 * @uses is_multisite()
    	 */
    	private function setup_actions() {
    		/**
    		 * Adds the random order to the select boxes of the Members, Groups and Blogs directory pages
    		 */
    		// Members component is core, so it will be available
    		add_action( 'bp_members_directory_order_options', array( $this, 'random_order' ) );
    
    		// You need to check Groups component is available
    		if ( bp_is_active( 'groups' ) ) {
    			add_action( 'bp_groups_directory_order_options',  array( $this, 'random_order' ) );
    		}
    
    		// You need to check WordPress config and that Blogs Component is available
    		if ( is_multisite() && bp_is_active( 'blogs' ) ) {
    			add_action( 'bp_blogs_directory_order_options',   array( $this, 'random_order' ) );
    		}
    
    		/**
    		 * Registers the Activity actions so that they are available in the Activity Administration Screen
    		 */
    		// You need to check Activity component is available
    		if ( bp_is_active( 'activity' ) ) {
    
    			add_action( 'bp_register_activity_actions', array( $this, 'register_activity_actions' ) );
    
    			// Adds a new filter into the select boxes of the Activity directory page,
    			// of group and member single items activity screens
    			add_action( 'bp_activity_filter_options',        array( $this, 'display_activity_actions' ) );
    			add_action( 'bp_member_activity_filter_options', array( $this, 'display_activity_actions' ) );
    
    			// You need to check Groups component is available
    			if ( bp_is_active( 'groups' ) ) {
    				add_action( 'bp_group_activity_filter_options', array( $this, 'display_activity_actions' ) );
    			}
    
    	        // You're going to output the favorite count after action buttons
    			add_action( 'bp_activity_entry_meta', array( $this, 'display_favorite_count' ) );
    		}
    
    	}
    
    	/**
    	 * Displays a new option in the Members/Groups & Blogs directories
    	 *
    	 * @return string html output
    	 */
    	public function random_order() {
    		?>
    		<option value="random"><?php _e( 'Random', 'buddypress' ); ?></option>
    		<?php
    	}
    
    	/**
    	 * Registering the Activity actions for your component
    	 *
    	 * The registered actions will also be available in Administration
    	 * screens
    	 *
    	 * @uses bp_activity_set_action()
    	 * @uses is_admin()
    	 */
    	public function register_activity_actions() {
    		/* arguments are :
    		- 'component_id', 'component_action_type' to use in {$wpdb->prefix}bp_activity database
    		- and 'caption' to display in the select boxes */
    		bp_activity_set_action( 'bp_plugin', 'bpplugin_action', __( 'BP Plugin Action' ) );
    
    		/* Activity Administration screen does not use bp_ajax_querystring
    		Moreover This action type is reordering instead of filtering so you will only
    		use it on front end */
    		if ( ! is_admin() ) {
    			bp_activity_set_action( 'bp_plugin', 'activity_mostfavs', __( 'Most Favorited' ) );
    		}
    	}
    
    	/**
    	 * Building an array to loop in from our display function
    	 *
    	 * Using bp_activity_get_types() will list all registered activity actions
    	 * but you need to get the ones for your plugin, and this particular function
    	 * directly returns an array of key => value. As you need to filter activity
    	 * with your component id, the global buddypress()->activity->actions will be
    	 * more helpful.
    	 *
    	 * @uses buddypress()
    	 * @return array the list of your plugin actions.
    	 */
    	private function list_actions() {
    
    		$bp_activity_actions = buddypress()->activity->actions;
    
    		$bp_plugin_actions = array();
    
    		if ( !empty( $bp_activity_actions->bp_plugin ) ) {
    			$bp_plugin_actions = array_values( (array) $bp_activity_actions->bp_plugin );
    		}
    
    		return $bp_plugin_actions;
    	}
    
    	/**
    	 * Displays new actions into the Activity select boxes
    	 * to filter activities
    	 * - Activity Directory
    	 * - Single Group and Member activity screens
    	 *
    	 * @return string html output
    	 */
    	public function display_activity_actions() {
    		$bp_plugin_actions = $this->list_actions();
    
    		if ( empty( $bp_plugin_actions ) ) {
    			return;
    		}
    
    		foreach ( $bp_plugin_actions as $type ):?>
    			<option value="<?php echo esc_attr( $type['key'] );?>"><?php echo esc_attr( $type['value'] ); ?></option>
    		<?php endforeach;
    	}
    
    	/**
    	 * Displays a mention to inform about the number of time the activity
    	 * was favorited.
    	 *
    	 * @global BP_Activity_Template $activities_template
    	 * @return string html output
    	 */
    	public function display_favorite_count() {
    		global $activities_template;
    
    		// BuddyPress < 2.0 or filtering bp_use_legacy_activity_query
    		if ( ! empty( $activities_template->activity->favorite_count ) ) {
    			$fav_count = $activities_template->activity->favorite_count;
    		} else {
    			// This meta should already have been cached by BuddyPress :)
    			$fav_count = (int) bp_activity_get_meta( bp_get_activity_id(), 'favorite_count' );
    		}
    
    		if ( ! empty( $fav_count ) ): ?>
    			<a name="favorite-<?php bp_activity_id();?>" class="button bp-primary-action">Favorited <span><?php printf( _n( 'once', '%s times', $fav_count ), $fav_count );?></span></a>
    		<?php endif;
    	}
    
    	/**
    	 * Filters
    	 */
    	private function setup_filters() {
    		add_filter( 'bp_ajax_querystring',              array( $this, 'activity_querystring_filter' ), 12, 2 );
    		add_filter( 'bp_activity_get_user_join_filter', array( $this, 'order_by_most_favorited' ),     10, 6 );
    		add_filter( 'bp_activity_paged_activities_sql', array( $this, 'order_by_most_favorited'),      10, 2 );
    
    		// Maybe Fool Heartbeat Activities!
    		add_filter( 'bp_before_activity_latest_args_parse_args', array( $this, 'maybe_fool_heartbeat' ), 10, 1 );
    	}
    
    	/**
    	 * Builds an Activity Meta Query to retrieve the favorited activities
    	 *
    	 * @param  string $query_string the front end arguments for the Activity loop
    	 * @param  string $object       the Component object
    	 * @uses   wp_parse_args()
    	 * @uses   bp_displayed_user_id()
    	 * @return array()|string $query_string new arguments or same if not needed
    	 */
    	public function activity_querystring_filter( $query_string = '', $object = '' ) {
    		if ( $object != 'activity' ) {
    			return $query_string;
    		}
    
    		// You can easily manipulate the query string
    		// by transforming it into an array and merging
    		// arguments with these default ones
    		$args = wp_parse_args( $query_string, array(
    			'action'  => false,
    			'type'    => false,
    			'user_id' => false,
    			'page'    => 1
    		) );
    
    		/* most favorited */
    		if ( $args['action'] == 'activity_mostfavs' ) {
    			unset( $args['action'], $args['type'] );
    
    			// on user's profile, shows the most favorited activities for displayed user
    			if( bp_is_user() ) {
    				$args['user_id'] = bp_displayed_user_id();
    			}
    
    			// An activity meta query :)
    			$args['meta_query'] = array(
    				array(
    					/* this is the meta_key you want to filter on */
    					'key'     => 'favorite_count',
    					/* You need to get all values that are >= to 1 */
    					'value'   => 1,
    					'type'    => 'numeric',
    					'compare' => '>='
    				),
    			);
    
    			$query_string = empty( $args ) ? $query_string : $args;
            }
    
            return apply_filters( 'bp_plugin_activity_querystring_filter', $query_string, $object );
    	}
    
    	/**
    	 * Ninja Warrior trick to reorder the Activity Loop
    	 * regarding the activities favorite count
    	 *
    	 * @param  string $sql        the sql query that will be run
    	 * @param  string $select_sql the select part of the query
    	 * @param  string $from_sql   the from part of the query
    	 * @param  string $where_sql  the where part of the query
    	 * @param  string $sort       the sort order (leaving it to DESC will be helpful!)
    	 * @param  string $pag_sql    the offset part of the query
    	 * @return string $sql        the current or edited query
    	 */
    	public function order_by_most_favorited( $sql = '', $select_sql = '', $from_sql = '', $where_sql = '', $sort = '', $pag_sql = '' ) {
    		if ( apply_filters( 'bp_use_legacy_activity_query', false ) ) {
    			preg_match( '/\'favorite_count\' AND CAST\((.*) AS/', $where_sql, $match );
    
    			if ( ! empty( $match[1] ) ) {
    				$new_order_by = 'ORDER BY '. $match[1] .' + 0';
    				$new_select_sql = $select_sql . ', '. $match[1] .' AS favorite_count';
    
    				$sql = str_replace(
    					array( $select_sql, 'ORDER BY a.date_recorded' ),
    					array( $new_select_sql, $new_order_by ),
    					$sql
    				);
    			}
    
    		// $select_sql is carrying the requested argument since BuddyPress 2.0.0
    		} else {
    			$r = $select_sql;
    
    			if ( empty( $r['meta_query'] ) || ! is_array( $r['meta_query'] ) ) {
    				return $sql;
    			} else {
    				$meta_query_keys = wp_list_pluck( $r['meta_query'], 'key' );
    
    				if ( ! in_array( 'favorite_count', $meta_query_keys ) ) {
    					return $sql;
    				}
    
    				preg_match( '/\'favorite_count\' AND CAST\((.*) AS/', $sql, $match );
    
    				if ( ! empty( $match[1] ) ) {
    					$sql = str_replace( 'ORDER BY a.date_recorded', 'ORDER BY '. $match[1] .' + 0', $sql );
    				}
    			}
    		}
    
    		return $sql;
    	}
    
    	/**
    	 * Cannot pass the favorite data for now so just fool heartbeat activities
    	 */
    	public function maybe_fool_heartbeat( $r = array() ) {
    		if ( empty( $r['meta_query'] ) ) {
    			return $r;
    		}
    
    		$meta_query_keys = wp_list_pluck( $r['meta_query'], 'key' );
    
    		if ( ! in_array( 'favorite_count', $meta_query_keys ) ) {
    			return $r;
    		} else {
    			$r['since'] = '3000-12-31 00:00:00';
    		}
    
    		return $r;
    	}
    }
    
    // 1, 2, 3 go !
    function bp_loop_filters() {
    	return new BP_Loop_Filters();
    }
    
    add_action( 'bp_include', 'bp_loop_filters' );
    
    
    bikerwp000
    Participant

    Hi danbp,

    Thanks for the link. The link is more for adding filter options for Memebers, but you included a link in that thread to a tutorial that’s more for adding filter options for Activity,

    Add custom filters to loops and enjoy them within your plugin

    ,which is what I need.

    Due to my feeble coding comprehension level, I read through that entire tutorial, the whole afternoon trying to understand and implement it to no avail. I did download, install and activate the plugin referred by the tutorial for this purpose from

    https://github.com/imath/bp-loop-filters

    and I can now see the “BP Plugin Action” in my Activity filter dropdown, both site-wide and member profile.

    What I don’t know is how to transform the “BP Plugin Action” into the categories I created for my blog posts.

    I don’t really need to change anything for Members and Groups so I can skip those. As for the “Most Favorited” filter option, if that’s readily available in the php then of course I can use it. If it takes more work, then it’s not really necessary for my site, either.

    The entire php file from this plugin for adding custom filters is below. I’m guessing in order to transform the “BP Plugin Action” into the categories I created for my blog posts, I probably need to physically write something on Line 59 – 60, where it reads,

    
    			add_action( 'bp_activity_filter_options',        array( $this, 'display_activity_actions' ) );
    			add_action( 'bp_member_activity_filter_options', array( $this, 'display_activity_actions' ) );

    and Line 132 – 150,

    
    	/**
    	 * Displays new actions into the Activity select boxes
    	 * to filter activities
    	 * - Activity Directory
    	 * - Single Group and Member activity screens
    	 *
    	 * @return string html output
    	 */
    	public function display_activity_actions() {
    		$bp_plugin_actions = $this->list_actions();
    
    		if ( empty( $bp_plugin_actions ) ) {
    			return;
    		}
    
    		foreach ( $bp_plugin_actions as $type ):?>
    			<option value="<?php echo esc_attr( $type['key'] );?>"><?php echo esc_attr( $type['value'] ); ?></option>
    		<?php endforeach;
    	}

    , is that correct? If correct, where should I go to find the exact data I need and where exactly in those lines I need to paste those data over?

    And besides those lines, are there any other spots I need to do anything about in order to complete this effort?

    I assume I need to do this from the php file because, after activating the plugin, I did not find anywhere at backend that will allow me to easily change the “BP Plugin Action” to other filter options of my choice.

    Thank you.

    I tried to post the php file here but for some reason it’s not going through. I’ll try to post it in a separate post below.

    #259043
    danbp
    Participant

    Hi,

    To get the link to a user profile:
    $link = bp_get_loggedin_user_link();

    Many use examples can be found on the forum. Ie:

    [Resolved] BuddyPress Links URLs

    Is it possible to make Activity and Forum profile tabs private?

    #259029
    Chosker
    Participant

    Hello,

    I’m adding TinyMCE support to my front end at bbpress and buddypress.
    so far so good, most of what I want is working except one thing: on the Private Messages reply form I can’t send a message because I get the following error:
    There was a problem sending that reply. Please try again.

    It works fine for the Compose page, just not on replying to another message.
    it’s basically this, like @bossataxiatogether describes at the bottom. but that thread is closed so I had to make this new one.

    I’m calling wp_editor like this:
    wp_editor( '', 'message_content', $settings );
    and my settings have this:
    'textarea_name' => 'message_content',

    I’ve already tried changing ‘message_content’ to just ‘content’ (I have it as ‘content’ in my compose page and it works there)
    also tried having and not having the original textarea (in my compose page its removed and it works there)
    just fyi: this is all in new php files under my template/buddypress folder

    so I don’t know what to try anymore
    any suggestions?

    thanks 🙂

    #259028
    danbp
    Participant

    Hi,

    did you tried to use the Email API ?
    Dashboard > Emails. From there you can modify the email title.

    Other possibility
    https://buddypress.org/support/topic/customizing-emails-template/

    #259027
    danbp
    Participant

    For 2) the idea is to sort users alphabetically by birthdate.

    Members Loop

    The snippets i indicated use a field called contributor. You could try to replace by birthdate, or whatever you named that profile field.

    popmythology
    Participant

    When I click on a user’s profile, it doesn’t display the field labels properly. For example, it should say “Name,” “Gender,” “Website,” etc. but it doesn’t say anything. It shows the answers but not the fields.

    I’ve tried a couple of BuddyPress compatible themes so I know now that it’s not a theme issue but something within BuddyPress itself. Does anyone know how to fix this?

    Screenshot:
    https://sithism.org/wp-content/uploads/2016/09/sithism-buddypress-issue.jpg

    danbp
    Participant

    Hi @bikerwp000,

    read here and see if you can do something with the snippets

    https://buddypress.org/support/topic/adding-new-order-by-on-members-loop/

    #259017
    danbp
    Participant
    #259016
    danbp
    Participant

    Please don’t double post !

    Closing this topic as duplicate in favor of

    On updation blank screen appears

    #259013

    In reply to: Hello!

    Paul Wong-Gibbs
    Keymaster

    (This error message in your screenshot refers to some other plugin, not BuddyPress. But anyway:)

    To remove any plugin in WordPress, go into wp-content/plugins/ with FPT or however, and delete the plugin folder — in this case, BuddyPress.

    If you visit your-site.com/wp-admin/plugins.php directly, WordPress should disable the missing plugin.

    If you happen to not be logged in, and so can’t get into wp-admin because of the error… you could edit something in the database with SQL, but it sounds like you aren’t technically proficient with SQL to do this (it’s easy to break something else), so the last option — and this is a nuke — rename your theme folder to something else, rename the entire plugins folder to something else, then you should be able to log into wp-admin. WordPress will switch to one of the default twenty* themes. You can then rename the plugin folder back and start reactivating them one-by-one, and then switch the theme back.

    #259007

    In reply to: Hello!

    hatndustrialguy112
    Participant

    The script failed catastrophically and buddypress has made it entirely impossible to even access the website. This is what I get

    So I need a way to remove Buddypress, so I can access my clients website. Its ridiculous how this script fails only after a single update. And now my clients are pissed off they cannot add crap to their site. So I need a way to remove this script from the website that will not allow me to login to the website.

    #259006

    In reply to: Hello!

    djsteveb
    Participant

    “need a FTP script” – tried filezilla?
    I use smart ftp more often, but filezilla is free last I checked.

    ftp in, download a backup of all the files.

    Don’t know what you mean by “SQL script to remove buddypress” – I would use phpmyadmin to login to your sql database, click export, custom, check ‘add drop table’ – and save a copy..

    then I would go to (via ftp or file manager in cpanel) – site / wp-content/plugins

    I’d rename the plugins folder to /plugins-hold – then create a new /plugins folder

    at that point you should be able to login to the site if you to sitename/wp-admin/

    I’d immediately check appearance – themes – change to default.. then start adding the needed plugins one by one.. if you find that enabled two plugins at once causes a problem – you probably have found the conflict.

    Of course it could be a theme issue, a corrupt database, a hacked site – who knows.. but that’s what I would do.. I’m not an expert, and double check the documentation at wordpress.org for making backups. ( https://codex.wordpress.org/WordPress_Backups )
    Hope that helps.

    #259005
    djsteveb
    Participant

    @phound1

    have you tried to see if bp emails work when the other plugins are disabled?

    maybe some of things we posted about in the forums long ago may offer some clues as to where the hiccup is. I stiff refer to https://buddypress.org/support/topic/not-receiving-notification-of-new-user-registration/ on occasion.

    #259003
    phound1
    Participant

    Hello. Please help, I really need to get my site live but ever since installing buddypress, new users who register are not getting a confirmation email so that they may log in. I can do it manually from the backend but I want users just be able to confirm and get into the site themselves.

    ALSO when an order is placed, no confirmation email is sent to the customer or vendor. Rather it is only sent to me the admin that a new customer order has been made. Please help.

    I did check woocommerce email settings>emails and emails are supposed to be send after purchasing and after making an account.

    I am using wordpress 4.6.1, woocommerce 2.4.6, wc vendors pro 1.3.6 , ninja forms 3.0.5, BP WC vendors 1.0.8, Buddypress 2.6.2.

    Thank you.

    #258998
    bikerwp000
    Participant

    Hi Paul,

    I just copy/paste my original inquiry to pastebin.com. I’m not sure how that works, but I assume just by posting it there, people will potentially respond, right?

    Anyway, this whole afternoon I’ve been testing the 3 paragraphs rule you graciously advised me and found it a true statement.

    My conclusion is I need to have
    at least 4 paragraphs separated by [Enter],
    there must be at least one blank line in between paragraphs, and
    each paragraph needs to have at least 1 character, either letter or numeral,

    when I got all those covered, and when I have both feature image and embed video in the post, the feature image will appear in the member’s Activity feed, not the video, which is what I want.

    And there can be more than one embed video.

    What wasted me a lot of time was after successfully achieving the result I want (4 paragraphs and all those other above requirements), I experimentally deleted 1 paragraph at a time to test what makes it fail and what makes it work. After all was done, when I restored it back to the way it originally worked, suddenly either the featured image wouldn’t show up like it did the first time on Activity feed or the embed video only show the URL link but not the video itself in the post.

    I kept tweaking it every possible way hoping to find out what went wrong or if the 3 paragraphs rule was in effect incorrect.

    In the end, I realized it would work again if I simply abandoned the messed-up post and started a new post by following all the above requirements.

    So that’s what you should try if something were to go wrong and you’re at a loss of what’s going on.

    I may also need to point out that all the posts in this upcoming website of mine will be contributed by frontend members via WP User Frontend plugin, which was what I used testing this 3 paragraph rule. But I think the conclusion I came up above should remain the same if you post via backend admin.

    @ Paul, thanks again for your help. Not sure if you’d care to help me out on my the other thread “How to add self-created category to member Activity filter dropdown box?”

    How to add self-created category to member Activity filter dropdown box?

    I’d really appreciate if you, or anybody, could help me out on that one.

    I had another quickie inquiry appended at the end of that thread. That one is not as important, so please don’t worry about if if you’re not interested.

    Thank you.

    #258994

    Topic: Hello!

    in group forum Installing BuddyPress
    hatndustrialguy112
    Participant

    Hi, my Name is Chancellor Purvis. You can find me at @spectre.grimm on facebook. Well here is my issue.

    On the latest version of WordPress all of a sudden Buddypress refuses to work. I can’t even login to the website to remove it. I need a FTP script to remove buddypress to remove it as I need to be able to update worshiphouston.org. I have used this script this module this plugin on 18 websites and never encountered this issue. But I install it to my clients page that is a christian worship organization all of a sudden on the newest version of WordPress it no longer works nor is compatible. I need this script fixed. I need a SQL script to remove buddypress before I lose my livelihood. As they have issued that if I don’t fix this issue within the week I’m losing the job. And right now I can’t afford the rent to lose this. I’m asking you to help me.

    #258976
    danbp
    Participant

    Hi,

    for 1) try
    <?php if ( bp_has_members( bp_ajax_querystring( 'members' ) . 'type=alphabetical' ) ) : ?>

    For 2) read here perhaps it helps

Viewing 25 results - 13,126 through 13,150 (of 73,985 total)
Skip to toolbar