User.php
975 Bytes
<?php
namespace ACA\MetaBox\Search\Factory;
use ACA\MetaBox\Column;
use ACA\MetaBox\Search;
use ACP;
use ACP\Search\Comparison;
final class User extends Search\Factory implements Search\CloneableFactory, Search\TableStorageFactory {
public function create_table_storage( Column $column, Comparison $default ) {
if ( $column->is_multiple() ) {
return new Search\Comparison\Table\Users( $default->get_operators(), $column->get_storage_table(), $column->get_meta_key(), (array) $column->get_field_setting( 'query_args' ), ACP\Search\Value::STRING );
}
return new Search\Comparison\Table\User( $default->get_operators(), $column->get_storage_table(), $column->get_meta_key(), (array) $column->get_field_setting( 'query_args' ) );
}
public function create_default( Column $column ) {
return new ACP\Search\Comparison\Meta\User( $column->get_meta_key(), $column->get_meta_type() );
}
public function create_cloneable( Column $column ) {
return false;
}
}