Give Editor Access to Custom Theme Options

The problem is that the default Editor role does not have enough capabilities to change theme options. You are allowing users with ‘moderate_comments’ capabilities to view the page. That in itself is not enough. When the user attempts to update, it fails because the user does not have the proper capabilities, hence the ‘Cheatin’ uh?’ message. I believe you need to give Editors ‘manage_options’ capabilities and possibly others. You can achieve this using various WP plugins that can change role or user capabilities. Here is one that I have used – http://wordpress.org/plugins/user-role-editor/

Your function to add the option menu page should only be viewable to users with ‘manage_options’ capability

function theme_options_add_page() {
    add_theme_page( __( 'Theme Options', 'sampletheme' ), __( 'Theme Options', 'sampletheme' ), 'manage_options', 'theme_options', 'theme_options_do_page' );
}

error code: 523