← All changes
|
WPDataAccess/Settings/WPDA_Settings_ManageRepository.php
+256
-65
5.5.4
→
5.5.85
View file →
| @@ -1,8 +1,11 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | namespace WPDataAccess\Settings { |
| 4 | 4 | |
| 5 | + use WPDataAccess\Plugin_Table_Models\WPDA_App_Apps_Model; | |
| 6 | + use WPDataAccess\Plugin_Table_Models\WPDA_App_Container_Model; | |
| 7 | + use WPDataAccess\Plugin_Table_Models\WPDA_App_Model; | |
| 5 | 8 | use WPDataAccess\Plugin_Table_Models\WPDA_CSV_Uploads_Model; |
| 6 | 9 | use WPDataAccess\Plugin_Table_Models\WPDA_Design_Table_Model; |
| 7 | 10 | use WPDataAccess\Plugin_Table_Models\WPDA_Logging_Model; |
| 8 | 11 | use WPDataAccess\Plugin_Table_Models\WPDA_Media_Model; |
| @@ -18,10 +21,10 @@ | ||
| 18 | 21 | use WPDataAccess\WPDA; |
| 19 | 22 | |
| 20 | 23 | class WPDA_Settings_ManageRepository extends WPDA_Settings { |
| 21 | 24 | |
| 22 | - public function __construct( $current_tab, $help_url ) { | |
| 23 | - parent::__construct( $current_tab, $help_url ); | |
| 25 | + public function __construct( $current_tab ) { | |
| 26 | + parent::__construct( $current_tab ); | |
| 24 | 27 | |
| 25 | 28 | // Recreation of repository must be performed before checking the availability of menu items (done next). |
| 26 | 29 | if ( isset( $_REQUEST['repos'] ) && 'true' === sanitize_text_field( wp_unslash( $_REQUEST['repos'] ) ) ) { |
| 27 | 30 | // Security check. |
| @@ -26,9 +29,9 @@ | ||
| 26 | 29 | if ( isset( $_REQUEST['repos'] ) && 'true' === sanitize_text_field( wp_unslash( $_REQUEST['repos'] ) ) ) { |
| 27 | 30 | // Security check. |
| 28 | 31 | $wp_nonce = isset( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ) : ''; // input var okay. |
| 29 | 32 | if ( ! wp_verify_nonce( $wp_nonce, 'wpda-settings-recreate-repository-' . WPDA::get_current_user_login() ) ) { |
| 30 | - wp_die( __( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 33 | + wp_die( esc_attr__( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 31 | 34 | } |
| 32 | 35 | |
| 33 | 36 | // Recreate repository. |
| 34 | 37 | $wpda_repository = new WPDA_Repository(); |
| @@ -51,9 +54,9 @@ | ||
| 51 | 54 | protected function count_repository_backup_table( $table_name ) { |
| 52 | 55 | global $wpdb; |
| 53 | 56 | |
| 54 | 57 | $suppress = $wpdb->suppress_errors( true ); |
| 55 | - $wpdb->get_results( | |
| 58 | + $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- plugin table | |
| 56 | 59 | $wpdb->prepare( |
| 57 | 60 | 'select 1 from `%1s`', // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders |
| 58 | 61 | array( |
| 59 | 62 | WPDA::remove_backticks( $table_name ), |
| @@ -81,9 +84,9 @@ | ||
| 81 | 84 | |
| 82 | 85 | // Security check. |
| 83 | 86 | $wp_nonce = isset( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ) : ''; // input var okay. |
| 84 | 87 | if ( ! wp_verify_nonce( $wp_nonce, 'wpda-repository-settings-' . WPDA::get_current_user_login() ) ) { |
| 85 | - wp_die( __( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 88 | + wp_die( esc_attr__( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 86 | 89 | } |
| 87 | 90 | |
| 88 | 91 | if ( 'save' === $action ) { |
| 89 | 92 | // Save changes. |
| @@ -116,8 +119,20 @@ | ||
| 116 | 119 | |
| 117 | 120 | $keep_backup_tables = WPDA::get_option( WPDA::OPTION_MR_KEEP_BACKUP_TABLES ); |
| 118 | 121 | $backup_tables_kept = WPDA::get_option( WPDA::OPTION_MR_BACKUP_TABLES_KEPT ); |
| 119 | 122 | |
| 123 | + // Check table wp_wpda_app. | |
| 124 | + $app_table_name = WPDA_App_Model::get_base_table_name(); | |
| 125 | + $app_table_name_exists = WPDA_App_Model::table_exists(); | |
| 126 | + | |
| 127 | + // Check table wp_wpda_app_container. | |
| 128 | + $app_container_table_name = WPDA_App_Container_Model::get_base_table_name(); | |
| 129 | + $app_container_table_name_exists = WPDA_App_Container_Model::table_exists(); | |
| 130 | + | |
| 131 | + // Check table wp_wpda_app_apps. | |
| 132 | + $app_apps_table_name = WPDA_App_Apps_Model::get_base_table_name(); | |
| 133 | + $app_apps_table_name_exists = WPDA_App_Apps_Model::table_exists(); | |
| 134 | + | |
| 120 | 135 | // Check table wp_wpda_menus. |
| 121 | 136 | $menus_table_name = WPDA_User_Menus_Model::get_base_table_name(); |
| 122 | 137 | $menus_table_name_exists = WPDA_User_Menus_Model::table_exists(); |
| 123 | 138 | |
| @@ -174,8 +189,11 @@ | ||
| 174 | 189 | or table_name like %s |
| 175 | 190 | or table_name like %s |
| 176 | 191 | or table_name like %s |
| 177 | 192 | or table_name like %s |
| 193 | + or table_name like %s | |
| 194 | + or table_name like %s | |
| 195 | + or table_name like %s | |
| 178 | 196 | ) |
| 179 | 197 | order by 1 desc'; |
| 180 | 198 | |
| 181 | 199 | if ( isset( $_REQUEST['create_backup'] ) && 'true' === $_REQUEST['create_backup'] ) { |
| @@ -181,9 +199,9 @@ | ||
| 181 | 199 | if ( isset( $_REQUEST['create_backup'] ) && 'true' === $_REQUEST['create_backup'] ) { |
| 182 | 200 | // Security check |
| 183 | 201 | $wp_nonce = isset( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ) : ''; // input var okay. |
| 184 | 202 | if ( ! wp_verify_nonce( $wp_nonce, 'wpda-settings-create_backup-repository-' . WPDA::get_current_user_login() ) ) { |
| 185 | - wp_die( __( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 203 | + wp_die( esc_attr__( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 186 | 204 | } |
| 187 | 205 | |
| 188 | 206 | $wpda_repository = new WPDA_Repository(); |
| 189 | 207 | $wpda_repository->create_new_backup(); |
| @@ -190,9 +208,9 @@ | ||
| 190 | 208 | } elseif ( isset( $_REQUEST['remove_one_backup'] ) && 'true' === $_REQUEST['remove_one_backup'] ) { |
| 191 | 209 | // Security check |
| 192 | 210 | $wp_nonce = isset( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ) : ''; // input var okay. |
| 193 | 211 | if ( ! wp_verify_nonce( $wp_nonce, 'wpda-settings-remove_backup-repository-' . WPDA::get_current_user_login() ) ) { |
| 194 | - wp_die( __( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 212 | + wp_die( esc_attr__( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 195 | 213 | } |
| 196 | 214 | |
| 197 | 215 | if ( isset( $_REQUEST['backup_date'] ) ) { |
| 198 | 216 | $backup_date = sanitize_text_field( wp_unslash( $_REQUEST['backup_date'] ) ); // input var okay. |
| @@ -210,13 +228,13 @@ | ||
| 210 | 228 | } |
| 211 | 229 | } elseif ( isset( $_REQUEST['remove_backup'] ) && 'true' === $_REQUEST['remove_backup'] ) { |
| 212 | 230 | $wp_nonce = isset( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ) : ''; // input var okay. |
| 213 | 231 | if ( ! wp_verify_nonce( $wp_nonce, 'wpda-settings-remove_backup-repository-' . WPDA::get_current_user_login() ) ) { |
| 214 | - wp_die( __( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 232 | + wp_die( esc_attr__( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 215 | 233 | } |
| 216 | 234 | |
| 217 | 235 | // Remove all repository backups |
| 218 | - $backup_tables = $wpdb->get_results( | |
| 236 | + $backup_tables = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, PluginCheck.Security.DirectDB.UnescapedDBParameter -- plugin table | |
| 219 | 237 | $wpdb->prepare( |
| 220 | 238 | $query, // phpcs:ignore WordPress.DB.PreparedSQL |
| 221 | 239 | array( |
| 222 | 240 | $wpdb->dbname, |
| @@ -229,16 +247,19 @@ | ||
| 229 | 247 | "$csv_import_table_name{$bck_postfix}%", |
| 230 | 248 | "$data_projects_project_name{$bck_postfix}%", |
| 231 | 249 | "$data_projects_page_name{$bck_postfix}%", |
| 232 | 250 | "$data_projects_table_name{$bck_postfix}%", |
| 251 | + "$app_table_name{$bck_postfix}%", | |
| 252 | + "$app_container_table_name{$bck_postfix}%", | |
| 253 | + "$app_apps_table_name{$bck_postfix}%", | |
| 233 | 254 | ) |
| 234 | 255 | ), |
| 235 | 256 | 'ARRAY_N' |
| 236 | 257 | ); |
| 237 | 258 | foreach ( $backup_tables as $backup_table ) { |
| 238 | - $wpdb->query( | |
| 259 | + $wpdb->query( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching -- plugin table | |
| 239 | 260 | $wpdb->prepare( |
| 240 | - 'drop table `%1s`', // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders | |
| 261 | + 'drop table `%1s`', // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders, WordPress.DB.DirectDatabaseQuery.SchemaChange | |
| 241 | 262 | array( |
| 242 | 263 | WPDA::remove_backticks( $backup_table[0] ), |
| 243 | 264 | ) |
| 244 | 265 | ) |
| @@ -254,9 +275,9 @@ | ||
| 254 | 275 | } elseif ( isset( $_REQUEST['restore_backup'] ) ) { |
| 255 | 276 | if ( isset( $_REQUEST['restore_date'] ) ) { |
| 256 | 277 | $wp_nonce = isset( $_REQUEST['_wpnonce'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['_wpnonce'] ) ) : ''; // input var okay. |
| 257 | 278 | if ( ! wp_verify_nonce( $wp_nonce, 'wpda-settings-restore_backup-repository-' . WPDA::get_current_user_login() ) ) { |
| 258 | - wp_die( __( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 279 | + wp_die( esc_attr__( 'ERROR: Not authorized', 'wp-data-access' ) ); | |
| 259 | 280 | } |
| 260 | 281 | |
| 261 | 282 | // Start repository restore procedure |
| 262 | 283 | $restore_date = sanitize_text_field( wp_unslash( $_REQUEST['restore_date'] ) ); // input var okay. |
| @@ -265,61 +286,76 @@ | ||
| 265 | 286 | } |
| 266 | 287 | } |
| 267 | 288 | |
| 268 | 289 | // Count backup tables rows |
| 290 | + if ( $app_table_name_exists ) { | |
| 291 | + $no_app_items = WPDA_App_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 292 | + } else { | |
| 293 | + $no_app_items = 0; | |
| 294 | + } | |
| 295 | + if ( $app_container_table_name_exists ) { | |
| 296 | + $no_app_container_items = WPDA_App_Container_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 297 | + } else { | |
| 298 | + $no_app_container_items = 0; | |
| 299 | + } | |
| 300 | + if ( $app_apps_table_name_exists ) { | |
| 301 | + $no_app_apps_items = WPDA_App_Apps_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 302 | + } else { | |
| 303 | + $no_app_apps_items = 0; | |
| 304 | + } | |
| 269 | 305 | if ( $menus_table_name_exists ) { |
| 270 | - $no_menu_items = WPDA_User_Menus_Model::count();//phpcs:ignore - 8.1 proof | |
| 306 | + $no_menu_items = WPDA_User_Menus_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 271 | 307 | } else { |
| 272 | 308 | $no_menu_items = 0; |
| 273 | 309 | } |
| 274 | 310 | if ( $design_table_name_exists ) { |
| 275 | - $no_table_designs = WPDA_Design_Table_Model::count();//phpcs:ignore - 8.1 proof | |
| 311 | + $no_table_designs = WPDA_Design_Table_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 276 | 312 | } else { |
| 277 | 313 | $no_table_designs = 0; |
| 278 | 314 | } |
| 279 | 315 | if ( $logging_table_exists ) { |
| 280 | - $no_logs = WPDA_Logging_Model::count();//phpcs:ignore - 8.1 proof | |
| 316 | + $no_logs = WPDA_Logging_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 281 | 317 | } else { |
| 282 | 318 | $no_logs = 0; |
| 283 | 319 | } |
| 284 | 320 | if ( $media_table_exists ) { |
| 285 | - $no_media = WPDA_Media_Model::count();//phpcs:ignore - 8.1 proof | |
| 321 | + $no_media = WPDA_Media_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 286 | 322 | } else { |
| 287 | 323 | $no_media = 0; |
| 288 | 324 | } |
| 289 | 325 | if ( $data_projects_project_name_exists ) { |
| 290 | - $no_projects = WPDP_Project_Model::count();//phpcs:ignore - 8.1 proof | |
| 326 | + $no_projects = WPDP_Project_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 291 | 327 | } else { |
| 292 | 328 | $no_projects = 0; |
| 293 | 329 | } |
| 294 | 330 | if ( $data_projects_page_name_exists ) { |
| 295 | - $no_pages = WPDP_Page_Model::count();//phpcs:ignore - 8.1 proof | |
| 331 | + $no_pages = WPDP_Page_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 296 | 332 | } else { |
| 297 | 333 | $no_pages = 0; |
| 298 | 334 | } |
| 299 | 335 | if ( $data_projects_table_name_exists ) { |
| 300 | - $no_project_table_designs = WPDP_Project_Design_Table_Model::count();//phpcs:ignore - 8.1 proof | |
| 336 | + $no_project_table_designs = WPDP_Project_Design_Table_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 301 | 337 | } else { |
| 302 | 338 | $no_project_table_designs = 0; |
| 303 | 339 | } |
| 304 | 340 | if ( $data_publication_table_name_exists ) { |
| 305 | - $no_data_publication = WPDA_Publisher_Model::count();//phpcs:ignore - 8.1 proof | |
| 341 | + $no_data_publication = WPDA_Publisher_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 306 | 342 | } else { |
| 307 | 343 | $no_data_publication = 0; |
| 308 | 344 | } |
| 309 | 345 | if ( $table_settings_table_exists ) { |
| 310 | - $no_table_settings = WPDA_Table_Settings_Model::count();//phpcs:ignore - 8.1 proof | |
| 346 | + $no_table_settings = WPDA_Table_Settings_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 311 | 347 | } else { |
| 312 | 348 | $no_table_settings = 0; |
| 313 | 349 | } |
| 314 | 350 | if ( $csv_import_table_exists ) { |
| 315 | - $no_csv_import = WPDA_CSV_Uploads_Model::count();//phpcs:ignore - 8.1 proof | |
| 351 | + $no_csv_import = WPDA_CSV_Uploads_Model::count(); // phpcs:ignore -- 8.1 proof | |
| 316 | 352 | } else { |
| 317 | 353 | $no_csv_import = 0; |
| 318 | 354 | } |
| 319 | 355 | |
| 320 | 356 | // Count backup tables |
| 321 | - $backup_tables = $wpdb->get_results( | |
| 357 | + $backup_tables = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, PluginCheck.Security.DirectDB.UnescapedDBParameter -- plugin tables | |
| 322 | 358 | $wpdb->prepare( |
| 323 | 359 | $query, // phpcs:ignore WordPress.DB.PreparedSQL |
| 324 | 360 | array( |
| 325 | 361 | $wpdb->dbname, |
| @@ -332,8 +368,11 @@ | ||
| 332 | 368 | "$csv_import_table_name{$bck_postfix}%", |
| 333 | 369 | "$data_projects_project_name{$bck_postfix}%", |
| 334 | 370 | "$data_projects_page_name{$bck_postfix}%", |
| 335 | 371 | "$data_projects_table_name{$bck_postfix}%", |
| 372 | + "$app_table_name{$bck_postfix}%", | |
| 373 | + "$app_container_table_name{$bck_postfix}%", | |
| 374 | + "$app_apps_table_name{$bck_postfix}%", | |
| 336 | 375 | ) |
| 337 | 376 | ), |
| 338 | 377 | 'ARRAY_N' |
| 339 | 378 | ); |
| @@ -382,9 +421,9 @@ | ||
| 382 | 421 | $wpnonce_download_backup = wp_create_nonce( 'wpda-export-' . WPDA::get_current_user_login() ); |
| 383 | 422 | ?> |
| 384 | 423 | <form id="wpda-download-actual-respository" |
| 385 | 424 | method="post" |
| 386 | - action="<?php echo admin_url( 'admin.php' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>?action=wpda_export" | |
| 425 | + action="<?php echo esc_url( admin_url( 'admin.php' ) ); ?>?action=wpda_export" | |
| 387 | 426 | target="_blank" |
| 388 | 427 | style="display: none" |
| 389 | 428 | > |
| 390 | 429 | <input type="hidden" name="type" value="table"> |
| @@ -389,8 +428,11 @@ | ||
| 389 | 428 | > |
| 390 | 429 | <input type="hidden" name="type" value="table"> |
| 391 | 430 | <input type="hidden" name="_wpnonce" value="<?php echo esc_attr( $wpnonce_download_backup ); ?>"> |
| 392 | 431 | <input type="hidden" name="show_create" value="off"> |
| 432 | + <input type="hidden" name="table_names[]" value="<?php echo esc_attr( $app_table_name ); ?>"> | |
| 433 | + <input type="hidden" name="table_names[]" value="<?php echo esc_attr( $app_container_table_name ); ?>"> | |
| 434 | + <input type="hidden" name="table_names[]" value="<?php echo esc_attr( $app_apps_table_name ); ?>"> | |
| 393 | 435 | <input type="hidden" name="table_names[]" value="<?php echo esc_attr( $table_settings_table_name ); ?>"> |
| 394 | 436 | <input type="hidden" name="table_names[]" value="<?php echo esc_attr( $media_table_name ); ?>"> |
| 395 | 437 | <input type="hidden" name="table_names[]" value="<?php echo esc_attr( $design_table_name ); ?>"> |
| 396 | 438 | <input type="hidden" name="table_names[]" value="<?php echo esc_attr( $data_projects_project_name ); ?>"> |
| @@ -403,9 +445,9 @@ | ||
| 403 | 445 | <input type="submit"> |
| 404 | 446 | </form> |
| 405 | 447 | <form id="wpda-download-backup" |
| 406 | 448 | method="post" |
| 407 | - action="<?php echo admin_url( 'admin.php' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>?action=wpda_export" | |
| 449 | + action="<?php echo esc_url( admin_url( 'admin.php' ) ); ?>?action=wpda_export" | |
| 408 | 450 | target="_blank" |
| 409 | 451 | style="display: none" |
| 410 | 452 | > |
| 411 | 453 | <input type="hidden" name="type" value="table"> |
| @@ -410,8 +452,11 @@ | ||
| 410 | 452 | > |
| 411 | 453 | <input type="hidden" name="type" value="table"> |
| 412 | 454 | <input type="hidden" name="_wpnonce" value="<?php echo esc_attr( $wpnonce_download_backup ); ?>"> |
| 413 | 455 | <input type="hidden" name="show_create" value="off"> |
| 456 | + <input type="hidden" name="table_names[]" id="app_table_name"> | |
| 457 | + <input type="hidden" name="table_names[]" id="app_container_table_name"> | |
| 458 | + <input type="hidden" name="table_names[]" id="app_apps_table_name"> | |
| 414 | 459 | <input type="hidden" name="table_names[]" id="table_settings_table_name"> |
| 415 | 460 | <input type="hidden" name="table_names[]" id="media_table_name"> |
| 416 | 461 | <input type="hidden" name="table_names[]" id="design_table_name"> |
| 417 | 462 | <input type="hidden" name="table_names[]" id="data_projects_project_name"> |
| @@ -424,9 +469,9 @@ | ||
| 424 | 469 | <input type="submit"> |
| 425 | 470 | </form> |
| 426 | 471 | <form id="wpda-remove-backup" |
| 427 | 472 | method="post" |
| 428 | - action="<?php echo admin_url( 'admin.php' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository" | |
| 473 | + action="<?php esc_url( admin_url( 'admin.php' ) ); ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository" | |
| 429 | 474 | style="display: none" |
| 430 | 475 | > |
| 431 | 476 | <input type="hidden" name="backup_date" id="remove_backup_date"> |
| 432 | 477 | <input type="hidden" name="remove_one_backup" value="true"> |
| @@ -434,9 +479,9 @@ | ||
| 434 | 479 | <input type="submit"> |
| 435 | 480 | </form> |
| 436 | 481 | <form id="wpda-create-backup" |
| 437 | 482 | method="post" |
| 438 | - action="<?php echo admin_url( 'admin.php' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository" | |
| 483 | + action="<?php esc_url( admin_url( 'admin.php' ) ); ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository" | |
| 439 | 484 | style="display: none" |
| 440 | 485 | > |
| 441 | 486 | <input type="hidden" name="create_backup" value="true"> |
| 442 | 487 | <input type="hidden" name="_wpnonce" value="<?php echo esc_attr( $wpnonce_create_backup ); ?>"> |
| @@ -443,9 +488,9 @@ | ||
| 443 | 488 | <input type="submit"> |
| 444 | 489 | </form> |
| 445 | 490 | <form id="wpda-remove-all-backups" |
| 446 | 491 | method="post" |
| 447 | - action="<?php echo admin_url( 'admin.php' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository" | |
| 492 | + action="<?php esc_url( admin_url( 'admin.php' ) ); ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository" | |
| 448 | 493 | style="display: none" |
| 449 | 494 | > |
| 450 | 495 | <input type="hidden" name="remove_backup" value="true"> |
| 451 | 496 | <input type="hidden" name="_wpnonce" value="<?php echo esc_attr( $wpnonce_remove_backup ); ?>"> |
| @@ -452,11 +497,14 @@ | ||
| 452 | 497 | <input type="submit"> |
| 453 | 498 | </form> |
| 454 | 499 | <form id="wpda-restore-respository" |
| 455 | 500 | method="post" |
| 456 | - action="<?php echo admin_url( 'admin.php' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository" | |
| 501 | + action="<?php esc_url( admin_url( 'admin.php' ) ); ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository" | |
| 457 | 502 | style="display: none" |
| 458 | 503 | > |
| 504 | + <input type="hidden" name="wpda_app" id="restore_app_table_name"> | |
| 505 | + <input type="hidden" name="wpda_app_container" id="restore_app_container_table_name"> | |
| 506 | + <input type="hidden" name="wpda_app_apps" id="restore_app_apps_table_name"> | |
| 459 | 507 | <input type="hidden" name="wpda_table_settings" id="restore_table_settings_table_name"> |
| 460 | 508 | <input type="hidden" name="wpda_media" id="restore_media_table_name"> |
| 461 | 509 | <input type="hidden" name="wpda_table_design" id="restore_design_table_name"> |
| 462 | 510 | <input type="hidden" name="wpda_project" id="restore_data_projects_project_name"> |
| @@ -471,21 +519,21 @@ | ||
| 471 | 519 | <input type="hidden" name="_wpnonce" value="<?php echo esc_attr( $wpnonce_restore_backup ); ?>"> |
| 472 | 520 | <input type="submit"> |
| 473 | 521 | </form> |
| 474 | 522 | <form id="wpda_settings_repository" method="post" |
| 475 | - action="<?php echo admin_url( 'admin.php' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository"> | |
| 523 | + action="<?php esc_url( admin_url( 'admin.php' ) ); ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository"> | |
| 476 | 524 | <table class="wpda-table-settings"> |
| 477 | 525 | |
| 478 | 526 | <tr> |
| 479 | 527 | <th> |
| 480 | - <?php echo __( 'On Plugin Update', 'wp-data-access' ); ?> | |
| 528 | + <?php esc_html_e( 'On Plugin Update', 'wp-data-access' ); ?> | |
| 481 | 529 | </th> |
| 482 | 530 | <td> |
| 483 | 531 | <label> |
| 484 | 532 | <input type="checkbox" name="keep_backup_tables" |
| 485 | 533 | <?php echo 'on' === $keep_backup_tables ? 'checked' : ''; ?>> |
| 486 | - <strong><?php echo __( 'Keep backup of repository tables', 'wp-data-access' ); ?></strong> | |
| 487 | - <?php echo __( '(creates backup tables on plugin updates)', 'wp-data-access' ); ?> | |
| 534 | + <strong><?php esc_html_e( 'Keep backup of repository tables', 'wp-data-access' ); ?></strong> | |
| 535 | + <?php esc_html_e( '(creates backup tables on plugin updates)', 'wp-data-access' ); ?> | |
| 488 | 536 | </label> |
| 489 | 537 | <br/> |
| 490 | 538 | <label style="display: inline-block; margin-top: 5px"> |
| 491 | 539 | <strong>Max backups saved:</strong> |
| @@ -495,10 +543,11 @@ | ||
| 495 | 543 | <a href="javascript:void(0)" |
| 496 | 544 | class="button" |
| 497 | 545 | onclick="jQuery('#wpda-download-actual-respository').submit()" |
| 498 | 546 | > |
| 499 | - <?php echo __( 'Download actual repository tables' ); ?> | |
| 547 | + <?php esc_html_e( 'Download actual repository tables', 'wp-data-access' ); ?> | |
| 500 | 548 | </a> |
| 549 | + <div style="width: fit-content"> | |
| 501 | 550 | <?php |
| 502 | 551 | if ( $no_backup_tables > 0 ) { |
| 503 | 552 | ?> |
| 504 | 553 | <table class="wpda-table-backup"> |
| @@ -506,8 +555,11 @@ | ||
| 506 | 555 | <th style="vertical-align: bottom">Current repository backups</th> |
| 507 | 556 | <th class="wpda-repository-column"></th> |
| 508 | 557 | <th class="wpda-repository-column"></th> |
| 509 | 558 | <th class="wpda-repository-column"></th> |
| 559 | + <th class="wpda-repository-column"><span>Apps</span></th> | |
| 560 | + <th class="wpda-repository-column"><span>App Containers</span></th> | |
| 561 | + <th class="wpda-repository-column"><span>App Apps</span></th> | |
| 510 | 562 | <th class="wpda-repository-column"><span>Table Settings</span></th> |
| 511 | 563 | <th class="wpda-repository-column"><span>Media Columns</span></th> |
| 512 | 564 | <th class="wpda-repository-column"><span>Data Designer</span></th> |
| 513 | 565 | <th class="wpda-repository-column"><span>Data Projects</span></th> |
| @@ -541,9 +593,9 @@ | ||
| 541 | 593 | </td> |
| 542 | 594 | <td> |
| 543 | 595 | <span class="dashicons dashicons-download wpda_tooltip" |
| 544 | 596 | title="Download backup: <?php echo esc_attr( $display_date ); ?>" |
| 545 | - onclick="backup_respository_tables('<?php echo "{$table_settings_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$media_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$design_table_name}{$bck_postfix}{$backup_date}"; ?>', '<?php echo "{$data_projects_project_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$data_projects_page_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$data_projects_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$data_publication_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$menus_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$csv_import_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$logging_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>')" | |
| 597 | + onclick="backup_respository_tables('<?php echo "{$app_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$app_container_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$app_apps_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$table_settings_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$media_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$design_table_name}{$bck_postfix}{$backup_date}"; ?>', '<?php echo "{$data_projects_project_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$data_projects_page_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$data_projects_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$data_publication_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$menus_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$csv_import_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>', '<?php echo "{$logging_table_name}{$bck_postfix}{$backup_date}"; // phpcs:ignore WordPress.Security.EscapeOutput ?>')" | |
| 546 | 598 | > |
| 547 | 599 | </span> |
| 548 | 600 | </td> |
| 549 | 601 | <td> |
| @@ -559,8 +611,11 @@ | ||
| 559 | 611 | onclick="if (confirm('Remove backup?')) { jQuery('#remove_backup_date').val('<?php echo esc_attr( $backup_date ); ?>'); jQuery('#wpda-remove-backup').submit(); }" |
| 560 | 612 | > |
| 561 | 613 | </span> |
| 562 | 614 | </td> |
| 615 | + <td class="wpda-repository-column"><?php echo esc_attr( $this->count_repository_backup_table( $app_table_name . $bck_postfix . $backup_date ) ); ?></td> | |
| 616 | + <td class="wpda-repository-column"><?php echo esc_attr( $this->count_repository_backup_table( $app_container_table_name . $bck_postfix . $backup_date ) ); ?></td> | |
| 617 | + <td class="wpda-repository-column"><?php echo esc_attr( $this->count_repository_backup_table( $app_apps_table_name . $bck_postfix . $backup_date ) ); ?></td> | |
| 563 | 618 | <td class="wpda-repository-column"><?php echo esc_attr( $this->count_repository_backup_table( $table_settings_table_name . $bck_postfix . $backup_date ) ); ?></td> |
| 564 | 619 | <td class="wpda-repository-column"><?php echo esc_attr( $this->count_repository_backup_table( $media_table_name . $bck_postfix . $backup_date ) ); ?></td> |
| 565 | 620 | <td class="wpda-repository-column"><?php echo esc_attr( $this->count_repository_backup_table( $design_table_name . $bck_postfix . $backup_date ) ); ?></td> |
| 566 | 621 | <td class="wpda-repository-column"><?php echo esc_attr( $this->count_repository_backup_table( $data_projects_project_name . $bck_postfix . $backup_date ) ); ?></td> |
| @@ -579,15 +634,78 @@ | ||
| 579 | 634 | <?php |
| 580 | 635 | $replace_title = __( 'CAREFULL This will truncate your actual repository table before restoring the selected version. Make a backup first!', 'wp-data-access' ); |
| 581 | 636 | $add_title = __( 'IMPORTANT This option fails for which existing rows.', 'wp-data-access' ); |
| 582 | 637 | ?> |
| 583 | - <div id="wpda-restore-repository-backup" style="display: none"> | |
| 584 | - <fieldset class="wpda_fieldset wpda-restore-repository-backup"> | |
| 638 | + <div id="wpda-restore-repository-backup" style="display: none; margin-top: 10px;"> | |
| 639 | + <fieldset class="wpda_fieldset wpda-restore-repository-backup" style="box-sizing: border-box; width: 100%;"> | |
| 585 | 640 | <legend> |
| 586 | 641 | Restore repository backup |
| 587 | 642 | </legend> |
| 588 | 643 | <table class="wpda-restore-repository-backup"> |
| 589 | 644 | <tr> |
| 645 | + <td>Apps</td> | |
| 646 | + <th> | |
| 647 | + <label title="<?php echo esc_attr( $replace_title ); ?>" class="wpda_tooltip"> | |
| 648 | + <input type="radio" name="restore_app_table_name" value="replace"/> | |
| 649 | + Replace | |
| 650 | + </label> | |
| 651 | + </th> | |
| 652 | + <th> | |
| 653 | + <label title="<?php echo esc_attr( $add_title ); ?>" class="wpda_tooltip"> | |
| 654 | + <input type="radio" name="restore_app_table_name" value="add"/> | |
| 655 | + Add | |
| 656 | + </label> | |
| 657 | + </th> | |
| 658 | + <th> | |
| 659 | + <label> | |
| 660 | + <input type="radio" name="restore_app_table_name" value="noaction" checked/> | |
| 661 | + No action | |
| 662 | + </label> | |
| 663 | + </th> | |
| 664 | + </tr> | |
| 665 | + <tr> | |
| 666 | + <td>App Containers</td> | |
| 667 | + <th> | |
| 668 | + <label title="<?php echo esc_attr( $replace_title ); ?>" class="wpda_tooltip"> | |
| 669 | + <input type="radio" name="restore_app_container_table_name" value="replace"/> | |
| 670 | + Replace | |
| 671 | + </label> | |
| 672 | + </th> | |
| 673 | + <th> | |
| 674 | + <label title="<?php echo esc_attr( $add_title ); ?>" class="wpda_tooltip"> | |
| 675 | + <input type="radio" name="restore_app_container_table_name" value="add"/> | |
| 676 | + Add | |
| 677 | + </label> | |
| 678 | + </th> | |
| 679 | + <th> | |
| 680 | + <label> | |
| 681 | + <input type="radio" name="restore_app_container_table_name" value="noaction" checked/> | |
| 682 | + No action | |
| 683 | + </label> | |
| 684 | + </th> | |
| 685 | + </tr> | |
| 686 | + <tr> | |
| 687 | + <td>App Apps</td> | |
| 688 | + <th> | |
| 689 | + <label title="<?php echo esc_attr( $replace_title ); ?>" class="wpda_tooltip"> | |
| 690 | + <input type="radio" name="restore_app_apps_table_name" value="replace"/> | |
| 691 | + Replace | |
| 692 | + </label> | |
| 693 | + </th> | |
| 694 | + <th> | |
| 695 | + <label title="<?php echo esc_attr( $add_title ); ?>" class="wpda_tooltip"> | |
| 696 | + <input type="radio" name="restore_app_apps_table_name" value="add"/> | |
| 697 | + Add | |
| 698 | + </label> | |
| 699 | + </th> | |
| 700 | + <th> | |
| 701 | + <label> | |
| 702 | + <input type="radio" name="restore_app_apps_table_name" value="noaction" checked/> | |
| 703 | + No action | |
| 704 | + </label> | |
| 705 | + </th> | |
| 706 | + </tr> | |
| 707 | + <tr> | |
| 590 | 708 | <td>Table Settings</td> |
| 591 | 709 | <th> |
| 592 | 710 | <label title="<?php echo esc_attr( $replace_title ); ?>" class="wpda_tooltip"> |
| 593 | 711 | <input type="radio" name="restore_table_settings_table_name" value="replace"/> |
| @@ -780,15 +898,15 @@ | ||
| 780 | 898 | <a href="javascript:void(0)" |
| 781 | 899 | class="button" |
| 782 | 900 | onclick="jQuery('.wpda-restore-repository-backup-selected').removeClass('wpda-restore-repository-backup-selected'); jQuery('#wpda-restore-repository-backup').hide();" |
| 783 | 901 | > |
| 784 | - <?php echo __( 'Cancel' ); ?> | |
| 902 | + <?php esc_html_e( 'Cancel', 'wp-data-access' ); ?> | |
| 785 | 903 | </a> |
| 786 | 904 | <a href="javascript:void(0)" |
| 787 | 905 | class="button" |
| 788 | 906 | onclick="restore_respository_tables()" |
| 789 | 907 | > |
| 790 | - <?php echo __( 'Restore' ); ?> | |
| 908 | + <?php esc_html_e( 'Restore', 'wp-data-access' ); ?> | |
| 791 | 909 | </a> |
| 792 | 910 | </div> |
| 793 | 911 | </fieldset> |
| 794 | 912 | </div> |
| @@ -794,20 +912,21 @@ | ||
| 794 | 912 | </div> |
| 795 | 913 | <?php |
| 796 | 914 | } |
| 797 | 915 | ?> |
| 916 | + </div> | |
| 798 | 917 | <div class="wpda-spacer"></div> |
| 799 | 918 | <a href="javascript:void(0)" |
| 800 | 919 | class="button" |
| 801 | - onclick=" if (confirm('<?php echo __( 'Backup repository tables?', 'wp-data-access' ); ?>')) { jQuery('#wpda-create-backup').submit(); }" | |
| 920 | + onclick=" if (confirm('<?php esc_html_e( 'Backup repository tables?', 'wp-data-access' ); ?>')) { jQuery('#wpda-create-backup').submit(); }" | |
| 802 | 921 | > |
| 803 | - <?php echo __( 'Create new repository backup' ); ?> | |
| 922 | + <?php esc_html_e( 'Create new repository backup', 'wp-data-access' ); ?> | |
| 804 | 923 | </a> |
| 805 | 924 | <a href="javascript:void(0)" |
| 806 | 925 | class="button <?php echo 0 === $no_backup_tables ? 'disabled' : ''; ?>" |
| 807 | - onclick="if (confirm('<?php echo __( 'Delete all backup tables?', 'wp-data-access' ) . '\n' . __( 'This action cannot be undone.', 'wp-data-access' ) . '\n' . __( '\\\'Cancel\\\' to stop, \\\'OK\\\' to delete.', 'wp-data-access' ); ?>')) { jQuery('#wpda-remove-all-backups').submit(); }" | |
| 926 | + onclick="if (confirm('<?php echo esc_attr__( 'Delete all backup tables?', 'wp-data-access' ) . '\n' . esc_attr__( 'This action cannot be undone.', 'wp-data-access' ) . '\n' . esc_attr__( '\\\'Cancel\\\' to stop, \\\'OK\\\' to delete.', 'wp-data-access' ); ?>')) { jQuery('#wpda-remove-all-backups').submit(); }" | |
| 808 | 927 | > |
| 809 | - <?php echo __( 'Delete all (' ) . esc_html( $no_backup_tables ) . __( ') repository backup tables' ); ?> | |
| 928 | + <?php echo esc_attr__( 'Delete all (', 'wp-data-access' ) . esc_attr( $no_backup_tables ) . esc_attr__( ') repository backup tables', 'wp-data-access' ); ?> | |
| 810 | 929 | </a> |
| 811 | 930 | </td> |
| 812 | 931 | </tr> |
| 813 | 932 | |
| @@ -812,11 +931,83 @@ | ||
| 812 | 931 | </tr> |
| 813 | 932 | |
| 814 | 933 | <tr> |
| 815 | 934 | <th> |
| 816 | - <?php echo __( 'Table Settings', 'wp-data-access' ); ?> | |
| 935 | + <?php esc_html_e( 'Apps', 'wp-data-access' ); ?> | |
| 817 | 936 | </th> |
| 818 | 937 | <td> |
| 938 | + <span class="dashicons <?php echo $app_table_name_exists ? 'dashicons-yes' : 'dashicons-no'; ?>"></span> | |
| 939 | + <?php echo esc_attr( $table ); ?> | |
| 940 | + <strong><?php echo esc_attr( $app_table_name ); ?></strong> | |
| 941 | + <?php echo $app_table_name_exists ? esc_attr( $found ) : esc_attr( $not_found ); ?> | |
| 942 | + <?php | |
| 943 | + if ( $app_table_name_exists ) { | |
| 944 | + ?> | |
| 945 | + <br/><br/> | |
| 946 | + <span class="dashicons dashicons-yes"></span> | |
| 947 | + <strong> | |
| 948 | + <?php echo esc_attr( $no_app_items ); ?> | |
| 949 | + <?php esc_html_e( 'apps defined in repository', 'wp-data-access' ); ?> | |
| 950 | + </strong> | |
| 951 | + <?php | |
| 952 | + } | |
| 953 | + ?> | |
| 954 | + </td> | |
| 955 | + </tr> | |
| 956 | + | |
| 957 | + <tr> | |
| 958 | + <th> | |
| 959 | + <?php esc_html_e( 'App Containers', 'wp-data-access' ); ?> | |
| 960 | + </th> | |
| 961 | + <td> | |
| 962 | + <span class="dashicons <?php echo $app_container_table_name_exists ? 'dashicons-yes' : 'dashicons-no'; ?>"></span> | |
| 963 | + <?php echo esc_attr( $table ); ?> | |
| 964 | + <strong><?php echo esc_attr( $app_container_table_name ); ?></strong> | |
| 965 | + <?php echo $app_container_table_name_exists ? esc_attr( $found ) : esc_attr( $not_found ); ?> | |
| 966 | + <?php | |
| 967 | + if ( $app_container_table_name_exists ) { | |
| 968 | + ?> | |
| 969 | + <br/><br/> | |
| 970 | + <span class="dashicons dashicons-yes"></span> | |
| 971 | + <strong> | |
| 972 | + <?php echo esc_attr( $no_app_container_items ); ?> | |
| 973 | + <?php esc_html_e( 'apps containers defined in repository', 'wp-data-access' ); ?> | |
| 974 | + </strong> | |
| 975 | + <?php | |
| 976 | + } | |
| 977 | + ?> | |
| 978 | + </td> | |
| 979 | + </tr> | |
| 980 | + | |
| 981 | + <tr> | |
| 982 | + <th> | |
| 983 | + <?php esc_html_e( 'App Apps', 'wp-data-access' ); ?> | |
| 984 | + </th> | |
| 985 | + <td> | |
| 986 | + <span class="dashicons <?php echo $app_apps_table_name_exists ? 'dashicons-yes' : 'dashicons-no'; ?>"></span> | |
| 987 | + <?php echo esc_attr( $table ); ?> | |
| 988 | + <strong><?php echo esc_attr( $app_apps_table_name ); ?></strong> | |
| 989 | + <?php echo $app_apps_table_name_exists ? esc_attr( $found ) : esc_attr( $not_found ); ?> | |
| 990 | + <?php | |
| 991 | + if ( $app_apps_table_name_exists ) { | |
| 992 | + ?> | |
| 993 | + <br/><br/> | |
| 994 | + <span class="dashicons dashicons-yes"></span> | |
| 995 | + <strong> | |
| 996 | + <?php echo esc_attr( $no_app_apps_items ); ?> | |
| 997 | + <?php esc_html_e( 'app apps defined in repository', 'wp-data-access' ); ?> | |
| 998 | + </strong> | |
| 999 | + <?php | |
| 1000 | + } | |
| 1001 | + ?> | |
| 1002 | + </td> | |
| 1003 | + </tr> | |
| 1004 | + | |
| 1005 | + <tr> | |
| 1006 | + <th> | |
| 1007 | + <?php esc_html_e( 'Table Settings', 'wp-data-access' ); ?> | |
| 1008 | + </th> | |
| 1009 | + <td> | |
| 819 | 1010 | <span class="dashicons <?php echo $table_settings_table_exists ? 'dashicons-yes' : 'dashicons-no'; ?>"></span> |
| 820 | 1011 | <?php echo esc_attr( $table ); ?> |
| 821 | 1012 | <strong><?php echo esc_attr( $table_settings_table_name ); ?></strong> |
| 822 | 1013 | <?php echo $table_settings_table_exists ? esc_attr( $found ) : esc_attr( $not_found ); ?> |
| @@ -826,9 +1017,9 @@ | ||
| 826 | 1017 | <br/><br/> |
| 827 | 1018 | <span class="dashicons dashicons-yes"></span> |
| 828 | 1019 | <strong> |
| 829 | 1020 | <?php echo esc_attr( $no_table_settings ); ?> |
| 830 | - <?php echo __( 'table settings defined in repository', 'wp-data-access' ); ?> | |
| 1021 | + <?php esc_html_e( 'table settings defined in repository', 'wp-data-access' ); ?> | |
| 831 | 1022 | </strong> |
| 832 | 1023 | <?php |
| 833 | 1024 | } |
| 834 | 1025 | ?> |
| @@ -836,9 +1027,9 @@ | ||
| 836 | 1027 | </tr> |
| 837 | 1028 | |
| 838 | 1029 | <tr> |
| 839 | 1030 | <th> |
| 840 | - <?php echo __( 'Manage Media', 'wp-data-access' ); ?> | |
| 1031 | + <?php esc_html_e( 'Manage Media', 'wp-data-access' ); ?> | |
| 841 | 1032 | </th> |
| 842 | 1033 | <td> |
| 843 | 1034 | <span class="dashicons <?php echo $media_table_exists ? 'dashicons-yes' : 'dashicons-no'; ?>"></span> |
| 844 | 1035 | <?php echo esc_attr( $table ); ?> |
| @@ -850,9 +1041,9 @@ | ||
| 850 | 1041 | <br/><br/> |
| 851 | 1042 | <span class="dashicons dashicons-yes"></span> |
| 852 | 1043 | <strong> |
| 853 | 1044 | <?php echo esc_attr( $no_media ); ?> |
| 854 | - <?php echo __( 'media columns defined in repository', 'wp-data-access' ); ?> | |
| 1045 | + <?php esc_html_e( 'media columns defined in repository', 'wp-data-access' ); ?> | |
| 855 | 1046 | </strong> |
| 856 | 1047 | <?php |
| 857 | 1048 | } |
| 858 | 1049 | ?> |
| @@ -874,9 +1065,9 @@ | ||
| 874 | 1065 | <br/><br/> |
| 875 | 1066 | <span class="dashicons dashicons-yes"></span> |
| 876 | 1067 | <strong> |
| 877 | 1068 | <?php echo esc_attr( $no_table_designs ); ?> |
| 878 | - <?php echo __( 'table designs in repository', 'wp-data-access' ); ?> | |
| 1069 | + <?php esc_html_e( 'table designs in repository', 'wp-data-access' ); ?> | |
| 879 | 1070 | </strong> |
| 880 | 1071 | <?php |
| 881 | 1072 | } |
| 882 | 1073 | ?> |
| @@ -912,9 +1103,9 @@ | ||
| 912 | 1103 | <br/> |
| 913 | 1104 | <span class="dashicons dashicons-yes"></span> |
| 914 | 1105 | <strong> |
| 915 | 1106 | <?php echo esc_attr( $no_projects ); ?> |
| 916 | - <?php echo __( 'data projects in repository', 'wp-data-access' ); ?> | |
| 1107 | + <?php esc_html_e( 'data projects in repository', 'wp-data-access' ); ?> | |
| 917 | 1108 | </strong> |
| 918 | 1109 | <?php |
| 919 | 1110 | } |
| 920 | 1111 | if ( $data_projects_page_name_exists ) { |
| @@ -922,9 +1113,9 @@ | ||
| 922 | 1113 | <br/> |
| 923 | 1114 | <span class="dashicons dashicons-yes"></span> |
| 924 | 1115 | <strong> |
| 925 | 1116 | <?php echo esc_attr( $no_pages ); ?> |
| 926 | - <?php echo __( 'project pages in repository', 'wp-data-access' ); ?> | |
| 1117 | + <?php esc_html_e( 'project pages in repository', 'wp-data-access' ); ?> | |
| 927 | 1118 | </strong> |
| 928 | 1119 | <?php |
| 929 | 1120 | } |
| 930 | 1121 | if ( $data_projects_table_name_exists ) { |
| @@ -932,9 +1123,9 @@ | ||
| 932 | 1123 | <br/> |
| 933 | 1124 | <span class="dashicons dashicons-yes"></span> |
| 934 | 1125 | <strong> |
| 935 | 1126 | <?php echo esc_attr( $no_project_table_designs ); ?> |
| 936 | - <?php echo __( 'project tables in repository', 'wp-data-access' ); ?> | |
| 1127 | + <?php esc_html_e( 'project tables in repository', 'wp-data-access' ); ?> | |
| 937 | 1128 | </strong> |
| 938 | 1129 | <?php |
| 939 | 1130 | } |
| 940 | 1131 | ?> |
| @@ -956,9 +1147,9 @@ | ||
| 956 | 1147 | <br/><br/> |
| 957 | 1148 | <span class="dashicons dashicons-yes"></span> |
| 958 | 1149 | <strong> |
| 959 | 1150 | <?php echo esc_attr( $no_data_publication ); ?> |
| 960 | - <?php echo __( 'data tables in repository', 'wp-data-access' ); ?> | |
| 1151 | + <?php esc_html_e( 'data tables in repository', 'wp-data-access' ); ?> | |
| 961 | 1152 | </strong> |
| 962 | 1153 | <?php |
| 963 | 1154 | } |
| 964 | 1155 | ?> |
| @@ -980,9 +1171,9 @@ | ||
| 980 | 1171 | <br/><br/> |
| 981 | 1172 | <span class="dashicons dashicons-yes"></span> |
| 982 | 1173 | <strong> |
| 983 | 1174 | <?php echo esc_attr( $no_menu_items ); ?> |
| 984 | - <?php echo __( 'menus in repository', 'wp-data-access' ); ?> | |
| 1175 | + <?php esc_html_e( 'menus in repository', 'wp-data-access' ); ?> | |
| 985 | 1176 | </strong> |
| 986 | 1177 | <?php |
| 987 | 1178 | } |
| 988 | 1179 | ?> |
| @@ -990,9 +1181,9 @@ | ||
| 990 | 1181 | </tr> |
| 991 | 1182 | |
| 992 | 1183 | <tr> |
| 993 | 1184 | <th> |
| 994 | - <?php echo __( 'CSV Uploads', 'wp-data-access' ); ?> | |
| 1185 | + <?php esc_html_e( 'CSV Uploads', 'wp-data-access' ); ?> | |
| 995 | 1186 | </th> |
| 996 | 1187 | <td> |
| 997 | 1188 | <span class="dashicons <?php echo $csv_import_table_exists ? 'dashicons-yes' : 'dashicons-no'; ?>"></span> |
| 998 | 1189 | <?php echo esc_attr( $table ); ?> |
| @@ -1004,9 +1195,9 @@ | ||
| 1004 | 1195 | <br/><br/> |
| 1005 | 1196 | <span class="dashicons dashicons-yes"></span> |
| 1006 | 1197 | <strong> |
| 1007 | 1198 | <?php echo esc_attr( $no_csv_import ); ?> |
| 1008 | - <?php echo __( 'menus in repository', 'wp-data-access' ); ?> | |
| 1199 | + <?php esc_html_e( 'menus in repository', 'wp-data-access' ); ?> | |
| 1009 | 1200 | </strong> |
| 1010 | 1201 | <?php |
| 1011 | 1202 | } |
| 1012 | 1203 | ?> |
| @@ -1028,9 +1219,9 @@ | ||
| 1028 | 1219 | <br/><br/> |
| 1029 | 1220 | <span class="dashicons dashicons-yes"></span> |
| 1030 | 1221 | <strong> |
| 1031 | 1222 | <?php echo esc_attr( $no_logs ); ?> |
| 1032 | - <?php echo __( 'logging rows in repository', 'wp-data-access' ); ?> | |
| 1223 | + <?php esc_html_e( 'logging rows in repository', 'wp-data-access' ); ?> | |
| 1033 | 1224 | </strong> |
| 1034 | 1225 | <?php |
| 1035 | 1226 | } |
| 1036 | 1227 | ?> |
| @@ -1041,27 +1232,27 @@ | ||
| 1041 | 1232 | <div class="wpda-table-settings-button"> |
| 1042 | 1233 | <input type="hidden" name="action" value="save"/> |
| 1043 | 1234 | <button type="submit" class="button button-primary"> |
| 1044 | 1235 | <i class="fas fa-check wpda_icon_on_button"></i> |
| 1045 | - <?php echo __( 'Save Manage Respository Settings', 'wp-data-access' ); ?> | |
| 1236 | + <?php esc_html_e( 'Save Manage Respository Settings', 'wp-data-access' ); ?> | |
| 1046 | 1237 | </button> |
| 1047 | 1238 | <a href="javascript:void(0)" |
| 1048 | - onclick="if (confirm('<?php echo __( 'Reset to defaults?', 'wp-data-access' ); ?>')) { | |
| 1239 | + onclick="if (confirm('<?php esc_html_e( 'Reset to defaults?', 'wp-data-access' ); ?>')) { | |
| 1049 | 1240 | jQuery('input[name=\'action\']').val('setdefaults'); |
| 1050 | 1241 | jQuery('#wpda_settings_repository').trigger('submit'); |
| 1051 | 1242 | }" |
| 1052 | 1243 | class="button button-secondary"> |
| 1053 | 1244 | <i class="fas fa-times-circle wpda_icon_on_button"></i> |
| 1054 | - <?php echo __( 'Reset Manage Repository Settings To Defaults', 'wp-data-access' ); ?> | |
| 1245 | + <?php esc_html_e( 'Reset Manage Repository Settings To Defaults', 'wp-data-access' ); ?> | |
| 1055 | 1246 | </a> |
| 1056 | 1247 | <?php |
| 1057 | 1248 | $wpnonce_recreate = wp_create_nonce( 'wpda-settings-recreate-repository-' . WPDA::get_current_user_login() ); |
| 1058 | 1249 | ?> |
| 1059 | - <a href="<?php echo admin_url( 'admin.php' ); // phpcs:ignore WordPress.Security.EscapeOutput ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository&repos=true&_wpnonce=<?php echo esc_attr( $wpnonce_recreate ); ?>" | |
| 1250 | + <a href="<?php esc_url( admin_url( 'admin.php' ) ); ?>?page=<?php echo esc_attr( $this->page ); ?>&tab=repository&repos=true&_wpnonce=<?php echo esc_attr( $wpnonce_recreate ); ?>" | |
| 1060 | 1251 | class="button button-secondary"> |
| 1061 | 1252 | <i class="fas fa-redo wpda_icon_on_button"></i> |
| 1062 | - <?php echo __( 'Recreate', 'wp-data-access' ); ?> WP Data Access | |
| 1063 | - <?php echo __( 'Repository', 'wp-data-access' ); ?> | |
| 1253 | + <?php esc_html_e( 'Recreate', 'wp-data-access' ); ?> WP Data Access | |
| 1254 | + <?php esc_html_e( 'Repository', 'wp-data-access' ); ?> | |
| 1064 | 1255 | </a> |
| 1065 | 1256 | </div> |
| 1066 | 1257 | <?php wp_nonce_field( 'wpda-repository-settings-' . WPDA::get_current_user_login(), '_wpnonce', false ); ?> |
| 1067 | 1258 | </form> |
| @@ -1081,12 +1272,12 @@ | ||
| 1081 | 1272 | ! $data_projects_table_name_exists || |
| 1082 | 1273 | ! $data_publication_table_name_exists |
| 1083 | 1274 | ) { |
| 1084 | 1275 | ?> |
| 1085 | - <p><strong><?php echo __( 'Your repository has errors!', 'wp-data-access' ); ?></strong></p> | |
| 1276 | + <p><strong><?php esc_html_e( 'Your repository has errors!', 'wp-data-access' ); ?></strong></p> | |
| 1086 | 1277 | <p> |
| 1087 | - <?php echo __( 'Recreate the WP Data Access repository to solve this problem.', 'wp-data-access' ); ?> | |
| 1088 | - <?php echo __( 'Please leave your comments on the support forum if the problem remains.', 'wp-data-access' ); ?> | |
| 1278 | + <?php esc_html_e( 'Recreate the WP Data Access repository to solve this problem.', 'wp-data-access' ); ?> | |
| 1279 | + <?php esc_html_e( 'Please leave your comments on the support forum if the problem remains.', 'wp-data-access' ); ?> | |
| 1089 | 1280 | (<a href="https://wordpress.org/support/plugin/wp-data-access/" target="_blank">go to forum</a>) |
| 1090 | 1281 | </p> |
| 1091 | 1282 | <?php |
| 1092 | 1283 | |