add_query_arg( 'tab', $t, $base_url );
$suggestions_on = get_option( 'aicom_skill_suggestions', '1' ) === '1';
$count_suggested = (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}aicom_skills WHERE status = 'suggested'" );
$count_proposals = (int) $wpdb->get_var( "SELECT COUNT(*) FROM {$wpdb->prefix}aicom_skills WHERE status = 'update_proposal'" );
include AICOM_DIR . 'admin/partials/layout-top.php';
?>
'Simple', 'guided' => 'Guided', 'advanced' => 'Advanced' ];
$status_class = [
'active' => 'aicom-status-active',
'draft' => 'aicom-status-suspended',
'archived' => 'aicom-status-archived',
];
$back_url = esc_url( $tab_url( 'skills' ) );
?>
$search,
'type' => $filter_type,
'status' => $filter_status ?: null,
] );
if ( ! $filter_status ) {
$all_results = [];
$total_count = 0;
foreach ( [ 'active', 'draft', 'archived' ] as $st ) {
$r = AICOM_Skills::list( array_merge( $filters, [ 'status' => $st ] ), 200, 0 );
$all_results = array_merge( $all_results, $r['items'] );
$total_count += $r['total'];
}
usort( $all_results, fn( $a, $b ) => strcmp( $b['updated_at'], $a['updated_at'] ) );
$items = array_slice( $all_results, $offset, $per_page );
} else {
$r = AICOM_Skills::list( $filters, $per_page, $offset );
$items = $r['items'];
$total_count = $r['total'];
}
$total_pages = (int) ceil( $total_count / $per_page );
$type_labels = [
'simple' => __( 'Simple', 'aicom' ),
'guided' => __( 'Guided', 'aicom' ),
'advanced' => __( 'Advanced', 'aicom' ),
];
$status_class = [
'active' => 'aicom-status-active',
'draft' => 'aicom-status-suspended',
'archived' => 'aicom-status-archived',
];
// Notices
if ( isset( $_GET['imported'] ) ) :
$imp_skill = AICOM_Skills::get( absint( $_GET['imported'] ) );
?>
'suggested' ], 50, 0 );
$items = $r['items'];
?>
'update_proposal' ], 50, 0 );
$items = $r['items'];
?>