get_results( $wpdb->prepare( 'select * from `%1s` order by menu_name', // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders array( WPDA::remove_backticks( self::get_base_table_name() ), ) ) ); // phpcs:ignore Standard.Category.SniffName.ErrorCode } catch( \Exception $e ) { return array(); } } /** * Get menus defined for a specific table * * @param string $menu_table_name Table name * @param string $menu_schema_name Schema name * * @return array List of menus for the requested table name */ public static function get_table_menus( $menu_table_name, $menu_schema_name ) { global $wpdb; if ( self::table_exists() ) { return $wpdb->get_results( $wpdb->prepare( 'select * from `%1s` where menu_schema_name = %s and menu_table_name = %s order by menu_name', // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders array( WPDA::remove_backticks( self::get_base_table_name() ), $menu_schema_name, $menu_table_name, ) ), 'ARRAY_A' ); // phpcs:ignore Standard.Category.SniffName.ErrorCode } else { return array(); } } /** * Insert a record in the base table * * @param string $menu_table_name Table name * @param string $menu_name Menu name * @param string $menu_slug Menu slug * @param string $menu_role Menu role(s) * @param string $menu_schema_name Schema name * * @return bool TRUE = Insert was successful */ public static function insert( $menu_table_name, $menu_name, $menu_slug, $menu_role, $menu_schema_name ) { global $wpdb; if ( self::table_exists() ) { return ( 1 === $wpdb->insert( static::get_base_table_name(), array( 'menu_schema_name' => $menu_schema_name, 'menu_table_name' => $menu_table_name, 'menu_name' => $menu_name, 'menu_slug' => $menu_slug, 'menu_role' => $menu_role, ) ) ); } } /** * Update a record in the base table * * @param int $menu_id Menu id * @param string $menu_table_name Table name * @param string $menu_name Menu name * @param string $menu_slug Menu slug * @param string $menu_role Menu role(s) * @param string $menu_schema_name Schema name * * @return mixed Transaction status */ public static function update( $menu_id, $menu_table_name, $menu_name, $menu_slug, $menu_role, $menu_schema_name ) { global $wpdb; return $wpdb->update( static::get_base_table_name(), array( 'menu_schema_name' => $menu_schema_name, 'menu_table_name' => $menu_table_name, 'menu_name' => $menu_name, 'menu_slug' => $menu_slug, 'menu_role' => $menu_role, ), array( 'menu_id' => $menu_id, ) ); } /** * Delete a record fro the base table * * @param int $menu_id Menu id * * @return mixed Transaction status */ public static function delete( $menu_id ) { global $wpdb; return $wpdb->delete( static::get_base_table_name(), array( 'menu_id' => $menu_id, ) ); } } }