Skip to:
Content

BuddyPress.org

Changeset 2863 for trunk/bp-activity.php


Ignore:
Timestamp:
03/22/2010 11:34:23 AM (15 years ago)
Author:
apeatling
Message:

Added new install/upgrade wizard. Removed root components and replaced them with actual WordPress pages. Testing on WordPress vhost/novhost and root profile support still to do.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-activity.php

    r2842 r2863  
    11<?php
    2 
    3 define ( 'BP_ACTIVITY_DB_VERSION', '2100' );
    4 
    5 /* Define the slug for the component */
    6 if ( !defined( 'BP_ACTIVITY_SLUG' ) )
    7     define ( 'BP_ACTIVITY_SLUG', 'activity' );
    8 
    92require ( BP_PLUGIN_DIR . '/bp-activity/bp-activity-classes.php' );
    103require ( BP_PLUGIN_DIR . '/bp-activity/bp-activity-templatetags.php' );
    114require ( BP_PLUGIN_DIR . '/bp-activity/bp-activity-filters.php' );
    125
    13 function bp_activity_install() {
    14     global $wpdb, $bp;
    15 
    16     if ( !empty($wpdb->charset) )
    17         $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
    18 
    19     /* Rename the old user activity cached table if needed. */
    20     if ( $wpdb->get_var( "SHOW TABLES LIKE '%{$wpdb->base_prefix}bp_activity_user_activity_cached%'" ) )
    21         $wpdb->query( "RENAME TABLE {$wpdb->base_prefix}bp_activity_user_activity_cached TO {$bp->activity->table_name}" );
    22 
    23     /* Rename fields from pre BP 1.2 */
    24     if ( $wpdb->get_var( "SHOW TABLES LIKE '%{$bp->activity->table_name}%'" ) ) {
    25         if ( $wpdb->get_var( "SHOW COLUMNS FROM {$bp->activity->table_name} LIKE 'component_action'" ) )
    26             $wpdb->query( "ALTER TABLE {$bp->activity->table_name} CHANGE component_action type varchar(75) NOT NULL" );
    27 
    28         if ( $wpdb->get_var( "SHOW COLUMNS FROM {$bp->activity->table_name} LIKE 'component_name'" ) )
    29             $wpdb->query( "ALTER TABLE {$bp->activity->table_name} CHANGE component_name component varchar(75) NOT NULL" );
    30     }
    31 
    32     /**
    33      * Build the tables
    34      */
    35     $sql[] = "CREATE TABLE {$bp->activity->table_name} (
    36                 id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    37                 user_id bigint(20) NOT NULL,
    38                 component varchar(75) NOT NULL,
    39                 type varchar(75) NOT NULL,
    40                 action text NOT NULL,
    41                 content longtext NOT NULL,
    42                 primary_link varchar(150) NOT NULL,
    43                 item_id varchar(75) NOT NULL,
    44                 secondary_item_id varchar(75) DEFAULT NULL,
    45                 date_recorded datetime NOT NULL,
    46                 hide_sitewide bool DEFAULT 0,
    47                 mptt_left int(11) NOT NULL DEFAULT 0,
    48                 mptt_right int(11) NOT NULL DEFAULT 0,
    49                 KEY date_recorded (date_recorded),
    50                 KEY user_id (user_id),
    51                 KEY item_id (item_id),
    52                 KEY secondary_item_id (secondary_item_id),
    53                 KEY component (component),
    54                 KEY type (type),
    55                 KEY mptt_left (mptt_left),
    56                 KEY mptt_right (mptt_right),
    57                 KEY hide_sitewide (hide_sitewide)
    58                ) {$charset_collate};";
    59 
    60     $sql[] = "CREATE TABLE {$bp->activity->table_name_meta} (
    61                 id bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    62                 activity_id bigint(20) NOT NULL,
    63                 meta_key varchar(255) DEFAULT NULL,
    64                 meta_value longtext DEFAULT NULL,
    65                 KEY activity_id (activity_id),
    66                 KEY meta_key (meta_key)
    67                ) {$charset_collate};";
    68 
    69     require_once( ABSPATH . 'wp-admin/upgrade-functions.php' );
    70     dbDelta($sql);
    71 
    72     update_site_option( 'bp-activity-db-version', BP_ACTIVITY_DB_VERSION );
    73 }
    74 
    756function bp_activity_setup_globals() {
    767    global $bp, $wpdb, $current_blog;
    778
    78     /* Internal identifier */
     9    if ( !defined( 'BP_ACTIVITY_SLUG' ) )
     10        define ( 'BP_ACTIVITY_SLUG', $bp->pages->activity->slug );
     11
     12    /* For internal identification */
    7913    $bp->activity->id = 'activity';
     14    $bp->activity->name = $bp->pages->activity->name;
     15    $bp->activity->slug = BP_ACTIVITY_SLUG;
    8016
    8117    $bp->activity->table_name = $wpdb->base_prefix . 'bp_activity';
    8218    $bp->activity->table_name_meta = $wpdb->base_prefix . 'bp_activity_meta';
    83     $bp->activity->slug = BP_ACTIVITY_SLUG;
    8419    $bp->activity->format_notification_function = 'bp_activity_format_notifications';
    8520
     
    9126add_action( 'bp_setup_globals', 'bp_activity_setup_globals' );
    9227
    93 function bp_activity_check_installed() {
    94     global $wpdb, $bp;
    95 
    96     if ( get_site_option( 'bp-activity-db-version' ) < BP_ACTIVITY_DB_VERSION )
    97         bp_activity_install();
    98 }
    99 add_action( 'admin_menu', 'bp_activity_check_installed' );
    100 
    101 function bp_activity_setup_root_component() {
    102     /* Register 'activity' as a root component (for RSS feed use) */
    103     bp_core_add_root_component( BP_ACTIVITY_SLUG );
    104 }
    105 add_action( 'bp_setup_root_components', 'bp_activity_setup_root_component' );
    106 
    10728function bp_activity_setup_nav() {
    10829    global $bp;
    10930
    11031    /* Add 'Activity' to the main navigation */
    111     bp_core_new_nav_item( array( 'name' => __( 'Activity', 'buddypress' ), 'slug' => $bp->activity->slug, 'position' => 10, 'screen_function' => 'bp_activity_screen_my_activity', 'default_subnav_slug' => 'just-me', 'item_css_id' => $bp->activity->id ) );
     32    bp_core_new_nav_item( array( 'name' => __( 'Activity', 'buddypress' ), 'slug' => $bp->activity->name, 'position' => 10, 'screen_function' => 'bp_activity_screen_my_activity', 'default_subnav_slug' => 'just-me', 'item_css_id' => $bp->activity->id ) );
    11233
    11334    $user_domain = ( !empty( $bp->displayed_user->domain ) ) ? $bp->displayed_user->domain : $bp->loggedin_user->domain;
    11435    $user_login = ( !empty( $bp->displayed_user->userdata->user_login ) ) ? $bp->displayed_user->userdata->user_login : $bp->loggedin_user->userdata->user_login;
    115     $activity_link = $user_domain . $bp->activity->slug . '/';
     36    $activity_link = $user_domain . $bp->activity->name . '/';
    11637
    11738    /* Add the subnav items to the activity nav item if we are using a theme that supports this */
    118     bp_core_new_subnav_item( array( 'name' => __( 'Personal', 'buddypress' ), 'slug' => 'just-me', 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->slug, 'screen_function' => 'bp_activity_screen_my_activity', 'position' => 10 ) );
     39    bp_core_new_subnav_item( array( 'name' => __( 'Personal', 'buddypress' ), 'slug' => 'just-me', 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->name, 'screen_function' => 'bp_activity_screen_my_activity', 'position' => 10 ) );
    11940
    12041    if ( bp_is_active( 'friends' ) )
    121         bp_core_new_subnav_item( array( 'name' => __( 'Friends', 'buddypress' ), 'slug' => BP_FRIENDS_SLUG, 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->slug, 'screen_function' => 'bp_activity_screen_friends', 'position' => 20, 'item_css_id' => 'activity-friends' ) );
     42        bp_core_new_subnav_item( array( 'name' => __( 'Friends', 'buddypress' ), 'slug' => BP_FRIENDS_SLUG, 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->name, 'screen_function' => 'bp_activity_screen_friends', 'position' => 20, 'item_css_id' => 'activity-friends' ) );
    12243
    12344    if ( bp_is_active( 'groups' ) )
    124         bp_core_new_subnav_item( array( 'name' => __( 'Groups', 'buddypress' ), 'slug' => BP_GROUPS_SLUG, 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->slug, 'screen_function' => 'bp_activity_screen_groups', 'position' => 30, 'item_css_id' => 'activity-groups' ) );
    125 
    126     bp_core_new_subnav_item( array( 'name' => __( 'Favorites', 'buddypress' ), 'slug' => 'favorites', 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->slug, 'screen_function' => 'bp_activity_screen_favorites', 'position' => 40, 'item_css_id' => 'activity-favs' ) );
    127     bp_core_new_subnav_item( array( 'name' => sprintf( __( '@%s Mentions', 'buddypress' ), $user_login ), 'slug' => 'mentions', 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->slug, 'screen_function' => 'bp_activity_screen_mentions', 'position' => 50, 'item_css_id' => 'activity-mentions' ) );
     45        bp_core_new_subnav_item( array( 'name' => __( 'Groups', 'buddypress' ), 'slug' => $bp->groups->name, 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->name, 'screen_function' => 'bp_activity_screen_groups', 'position' => 30, 'item_css_id' => 'activity-groups' ) );
     46
     47    bp_core_new_subnav_item( array( 'name' => __( 'Favorites', 'buddypress' ), 'slug' => 'favorites', 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->name, 'screen_function' => 'bp_activity_screen_favorites', 'position' => 40, 'item_css_id' => 'activity-favs' ) );
     48    bp_core_new_subnav_item( array( 'name' => sprintf( __( '@%s Mentions', 'buddypress' ), $user_login ), 'slug' => 'mentions', 'parent_url' => $activity_link, 'parent_slug' => $bp->activity->name, 'screen_function' => 'bp_activity_screen_mentions', 'position' => 50, 'item_css_id' => 'activity-mentions' ) );
    12849
    12950    if ( $bp->current_component == $bp->activity->slug ) {
     
    215136    global $bp;
    216137
    217     if ( !$bp->displayed_user->id || $bp->current_component != $bp->activity->slug )
     138    if ( !$bp->displayed_user->id || $bp->current_component != $bp->activity->name )
    218139        return false;
    219140
Note: See TracChangeset for help on using the changeset viewer.