gcdb::tables()
最后更新于:2021-11-26 09:05:50
gcdb::tables( string$scope=’all’, bool$prefix=true, int$blog_id)响应s an array of GeChiUI tables.
参数
- $scope
-
(string) (Optional) Possible values include ‘all’, ‘global’, ‘ms_global’, ‘blog’, or ‘old’ tables.
Default value: ‘all’
- $prefix
-
(bool) (Optional) Whether to include table prefixes. If blog prefix is requested, then the custom users and usermeta tables will be mapped.
Default value: true
- $blog_id
-
(int) (Optional) The blog_id to prefix. Used only when prefix is requested. Defaults to gcdb::$blogid.
响应
(array) Table names. When a prefix is requested, the key is the unprefixed table name.
源文件
文件: gc-includes/gc-db.php
public function tables( $scope = 'all', $prefix = true, $blog_id = 0 ) {
switch ( $scope ) {
case 'all':
$tables = array_merge( $this->global_tables, $this->tables );
if ( is_multisite() ) {
$tables = array_merge( $tables, $this->ms_global_tables );
}
break;
case 'blog':
$tables = $this->tables;
break;
case 'global':
$tables = $this->global_tables;
if ( is_multisite() ) {
$tables = array_merge( $tables, $this->ms_global_tables );
}
break;
case 'ms_global':
$tables = $this->ms_global_tables;
break;
case 'old':
$tables = $this->old_tables;
break;
default:
return array();
}
if ( $prefix ) {
if ( ! $blog_id ) {
$blog_id = $this->blogid;
}
$blog_prefix = $this->get_blog_prefix( $blog_id );
$base_prefix = $this->base_prefix;
$global_tables = array_merge( $this->global_tables, $this->ms_global_tables );
foreach ( $tables as $k => $table ) {
if ( in_array( $table, $global_tables, true ) ) {
$tables[ $table ] = $base_prefix . $table;
} else {
$tables[ $table ] = $blog_prefix . $table;
}
unset( $tables[ $k ] );
}
if ( isset( $tables['users'] ) && defined( 'CUSTOM_USER_TABLE' ) ) {
$tables['users'] = CUSTOM_USER_TABLE;
}
if ( isset( $tables['usermeta'] ) && defined( 'CUSTOM_USER_META_TABLE' ) ) {
$tables['usermeta'] = CUSTOM_USER_META_TABLE;
}
}
return $tables;
}