get_error_message(), "error", true );
}
} else {
SessionStatusMessage::set( "".__("The submitted data did not validate.", "atr-server-status")."
".__("This could either be you have entered incorrect values, or someone, somewhere is doing something really nasty, like a CSRF attack.", "atr-server-status"),
"error", true );
}
} );
/**
* Saves a modified server to the database
*/
add_action( "admin_post_ass_edit_server", function() {
$submitted_server = $_POST["server"];
if( ass_validate_server( $submitted_server ) && wp_verify_nonce( $_POST["_wpnonce"], "ass-edit-server") ) {
$server_id = ass_save_server( $submitted_server );
if( !is_wp_error($server_id) ) {
wp_redirect( "admin.php?page=ass-admin-servers&server=".$server_id ); exit;
} else {
SessionStatusMessage::set( $server_id->get_error_message(), "error", true );
}
} else {
SessionStatusMessage::set( "".__("The submitted data did not validate.", "atr-server-status")."
".__("This could either be you have entered incorrect values, or someone, somewhere is doing something really nasty, like a CSRF attack.", "atr-server-status"),
"error", true );
}
} );
/**
* Updates the sorting for server rows
*/
add_action( "wp_ajax_ass_sort_server", function() {
if( ass_current_user_has_access() ) {
$update = wp_update_post( ["ID" => $_POST["ID"], "menu_order" => $_POST["weight"] ] );
}
exit;
} );
/**
* Remove a server from the list
*/
add_action( "wp_ajax_ass_remove_server", function() {
if(wp_verify_nonce($_POST["_wpnonce"], "ass-remove-server")) {
$remove = ass_remove_server($_POST["server_id"]);
if( is_wp_error($remove) ) {
SessionStatusMessage::set( $remove->get_error_message(), "error", false );
}
}
} );
/**
* Validates the availability of a given server
*/
add_action( "wp_ajax_nopriv_ass_check_server", "ass_check_server_availability" );
add_action( "wp_ajax_ass_check_server", "ass_check_server_availability" );
/**
* Add the shortcode used for server checking
*/
add_shortcode(ASS_SERVER_STATUS_SHORTCODE, function( $atts ) {
$GLOBALS["ass_shortcode_atts"] = shortcode_atts( array(
'id' => null
), $atts );
ob_start();
ass_include_template("view-servers");
return ob_get_clean();
});
if( SessionStatusMessage::has_messages() === true) {
add_action( "admin_notices", function() {
ass_include_template("session-messages");
} );
}