Files
ultimatemember/core/um-profile.php
T

129 lines
2.6 KiB
PHP
Raw Normal View History

2014-12-29 15:51:55 +02:00
<?php
class UM_Profile {
function __construct() {
2015-01-24 23:39:43 +02:00
add_action('template_redirect', array(&$this, 'active_tab'), 10002);
2015-02-01 01:30:04 +02:00
add_action('template_redirect', array(&$this, 'active_subnav'), 10002);
2015-01-24 23:39:43 +02:00
}
/***
2015-02-01 01:30:04 +02:00
*** @all tab data
2015-01-24 23:39:43 +02:00
***/
function tabs(){
return apply_filters('um_profile_tabs', $tabs = array() );
}
/***
2015-02-01 01:30:04 +02:00
*** @tabs that are active
***/
function tabs_active(){
$tabs = $this->tabs();
foreach( $tabs as $id => $info ) {
2015-11-05 19:51:31 +08:00
if ( !um_get_option('profile_tab_'.$id) && !isset( $info['_builtin'] ) && !isset( $info['custom'] ) )
2015-02-01 01:30:04 +02:00
unset( $tabs[$id] );
}
return $tabs;
}
/***
*** @primary tabs only
***/
function tabs_primary(){
$tabs = $this->tabs();
foreach( $tabs as $id => $info ){
2015-04-25 21:41:47 +02:00
if ( isset( $info['name'] ) ) {
$primary[$id] = $info['name'];
}
2015-02-01 01:30:04 +02:00
}
return $primary;
}
2015-05-02 02:49:05 +03:00
/***
*** @Activated tabs in backend
***/
function tabs_enabled(){
$tabs = $this->tabs();
foreach( $tabs as $id => $info ){
if ( isset( $info['name'] ) ) {
if ( um_get_option('profile_tab_'.$id) || isset( $info['_builtin'] ) ) {
$primary[$id] = $info['name'];
}
}
}
return ( isset( $primary ) ) ? $primary : '';
}
2015-02-01 01:30:04 +02:00
/***
*** @Get active_tab
2015-01-24 23:39:43 +02:00
***/
function active_tab() {
2015-05-02 02:49:05 +03:00
2015-02-01 01:30:04 +02:00
$this->active_tab = um_get_option('profile_menu_default_tab');
2015-05-02 02:49:05 +03:00
2015-01-24 23:39:43 +02:00
if ( get_query_var('profiletab') ) {
$this->active_tab = get_query_var('profiletab');
}
2015-03-01 00:44:04 +02:00
$this->active_tab = apply_filters( 'um_profile_active_tab', $this->active_tab );
2015-02-01 01:30:04 +02:00
return $this->active_tab;
}
/***
*** @Get active active_subnav
***/
function active_subnav() {
$this->active_subnav = null;
2015-01-24 23:39:43 +02:00
if ( get_query_var('subnav') ) {
$this->active_subnav = get_query_var('subnav');
}
2015-02-01 01:30:04 +02:00
return $this->active_subnav;
2014-12-29 15:51:55 +02:00
}
2015-01-24 23:39:43 +02:00
/***
*** @Show meta in profile
***/
2014-12-29 15:51:55 +02:00
function show_meta( $array ) {
2014-12-29 21:14:22 +02:00
global $ultimatemember;
2014-12-29 15:51:55 +02:00
$output = '';
2014-12-31 22:14:55 +02:00
foreach( $array as $key ) {
2014-12-29 21:14:22 +02:00
$data = '';
2015-03-01 00:44:04 +02:00
if ( $key && um_filtered_value( $key ) ) {
2014-12-31 22:14:55 +02:00
2015-02-06 02:38:41 +02:00
if ( isset( $ultimatemember->builtin->all_user_fields[$key]['icon'] ) ) {
$icon = $ultimatemember->builtin->all_user_fields[$key]['icon'];
} else {
$icon = '';
}
$icon = ( isset( $icon ) && !empty( $icon ) ) ? '<i class="'.$icon.'"></i>' : '';
if ( !um_get_option('profile_show_metaicon') )
$icon = '';
2015-01-03 15:31:15 +02:00
$value = um_filtered_value( $key );
2014-12-29 21:14:22 +02:00
2015-02-06 02:38:41 +02:00
$items[] = '<span>' . $icon . $value . '</span>';
2014-12-29 15:51:55 +02:00
$items[] = '<span class="b">&bull;</span>';
2014-12-29 21:14:22 +02:00
2014-12-29 15:51:55 +02:00
}
}
if ( isset( $items ) ) {
array_pop($items);
foreach( $items as $item ) {
$output .= $item;
}
}
return $output;
}
}