__( 'Project ID', 'wp-data-access' ), 'project_name' => __( 'Project Name', 'wp-data-access' ), 'project_description' => __( 'Project Description', 'wp-data-access' ), 'add_to_menu' => __( 'Add To Menu', 'wp-data-access' ), 'menu_name' => __( 'Menu Name', 'wp-data-access' ), 'project_sequence' => __( 'Seq#', 'wp-data-access' ), ); $args['edit_form_class'] = 'WPDataProjects\\Project\\WPDP_Project_Page_Form'; if ( isset( $args['mode'] ) ) { $mode = $args['mode']; } else { wp_die( __( 'ERROR: Wrong arguments [missing mode]', 'wp-data-access' ) ); } if ( 'view' === $mode ) { $args['list_form_class'] = 'WPDataProjects\\Project\\WPDP_Project_Page_List_View'; } else { $args['list_form_class'] = 'WPDataProjects\\Project\\WPDP_Project_Page_List'; } parent::__construct( $schema_name, $table_name, $wpda_list_columns, $args, $relationship ); $this->title = 'Project'; } /** * Overwrites method show to add debug info * * This debug info can be helpful in case of project page structure errors * * @param bool $allow_save * @param string $add_param */ public function show( $allow_save = true, $add_param = '' ) { if ( 'on' === WPDA::get_option( WPDA::OPTION_PLUGIN_DEBUG ) && isset( $_REQUEST['project_id'] ) ) { $project_id = sanitize_text_field( wp_unslash( $_REQUEST['project_id'] ) ); // input var okay. global $wpdb; $project_page_table_name = $wpdb->prefix . 'wpda_project_page'; $pages = $wpdb->get_results( $wpdb->prepare( " select * from `%1s` where project_id = %d and add_to_menu = 'Yes' order by page_sequence", // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders array( WPDA::remove_backticks( $project_page_table_name ), $project_id, ) ), 'ARRAY_A' ); // phpcs:ignore Standard.Category.SniffName.ErrorCode $project_info = ''; $first_page = true; foreach ( $pages as $page ) { $wpdp = new WPDP_Project( $project_id, $page['page_id'] ); if ( null === $wpdp->get_project() ) { wp_die( __( 'Data Project page not found [need a valid project_id and page_id]', 'wp-data-access' ) ); } if ( ! $first_page ) { $project_info .= '

'; } $project_info .= "Project $project_id, page {$page['page_id']}:
"; $project_info .= json_encode( $wpdp->get_project() ); $first_page = false; } ?>
">
DEBUG
action_posted || $this->child_request ) { ?> get_item_index( 'project_description' ); $this->form_items[ $column_index ]->set_item_class( 'row-show-less-more' ); $column_index = $this->get_item_index( 'project_sequence' ); $this->form_items[ $column_index ]->set_item_class( 'row-show-less-more' ); } } }