plugin_version = $plugin_version; } /** * Add the menu entry */ public function add_menu() { $hook = add_options_page( __( 'Terms & Conditions Connector of IT-Recht Kanzlei', 'agb-connector' ), 'AGB Connector', 'edit_pages', 'agb_connector_settings', array( $this, 'page', ) ); add_action( 'load-' . $hook, array( $this, 'load' ) ); } /** * Add Settings link to plugin actions. * * @param array $links The links. * * @return array */ public function add_action_links( $links ) { $add_links = array( '' . __( 'Settings', 'agb-connector' ) . '', ); return array_merge( $add_links, $links ); } /** * All things must done in load */ public function load() { // Load css. if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) { wp_enqueue_style( 'agb-connector', plugins_url( '/assets/css/style.css', dirname( __FILE__ ) ), array(), time(), 'all' ); } else { wp_enqueue_style( 'agb-connector', plugins_url( '/assets/css/style.min.css', dirname( __FILE__ ) ), array(), $this->plugin_version, 'all' ); } // Save changes. if ( empty( $_POST['save'] ) && ! isset( $_GET['regen'] ) ) { // Input var okay. return; } if ( isset( $_GET['regen'] ) ) { // Input var okay. check_admin_referer( 'agb-connector-settings-page-regen' ); $user_auth_token = md5( wp_generate_password( 32, TRUE, TRUE ) ); update_option( 'agb_connector_user_auth_token', $user_auth_token ); $this->message .= '
' . __( 'New APT-Token generated.', 'agb-connector' ) . '
'; return; } check_admin_referer( 'agb-connector-settings-page' ); $text_types_allocation = array(); $append_email = array(); if ( ! empty( $_POST['page_agb'] ) && get_post( absint( $_POST['page_agb'] ) ) !== NULL ) { // Input var okay. $text_types_allocation['agb'] = absint( $_POST['page_agb'] ); // Input var okay. } if ( ! empty( $_POST['pdf_append_email_agb'] ) ) { // Input var okay. $append_email['agb'] = TRUE; } else { $append_email['agb'] = FALSE; } if ( ! empty( $_POST['page_datenschutz'] ) && get_post( absint( $_POST['page_datenschutz'] ) ) !== NULL ) { // Input var okay. $text_types_allocation['datenschutz'] = absint( $_POST['page_datenschutz'] ); // Input var okay. } if ( ! empty( $_POST['pdf_append_email_datenschutz'] ) ) { // Input var okay. $append_email['datenschutz'] = TRUE; } else { $append_email['datenschutz'] = FALSE; } if ( ! empty( $_POST['page_widerruf'] ) && get_post( absint( $_POST['page_widerruf'] ) ) !== NULL ) { // Input var okay. $text_types_allocation['widerruf'] = absint( $_POST['page_widerruf'] ); // Input var okay. } if ( ! empty( $_POST['pdf_append_email_widerruf'] ) ) { // Input var okay. $append_email['widerruf'] = TRUE; } else { $append_email['widerruf'] = FALSE; } if ( ! empty( $_POST['page_impressum'] ) && get_post( absint( $_POST['page_impressum'] ) ) !== NULL ) { // Input var okay. $text_types_allocation['impressum'] = absint( $_POST['page_impressum'] ); // Input var okay. } update_option( 'agb_connector_wc_append_email', $append_email ); update_option( 'agb_connector_text_types_allocation', $text_types_allocation ); $this->message .= '' . __( 'Settings updated.', 'agb-connector' ) . '
'; } /** * The settings page content */ public function page() { $text_types_allocation = get_option( 'agb_connector_text_types_allocation', array() ); $append_email = get_option( 'agb_connector_wc_append_email', array() ); ?>