'; foreach ( $pages as $key => $page ) { $class = ( absint( $checked ) === $key ) ? ' selected' : ''; echo ''; } echo ''; echo '
'; foreach ( $pages as $key => $page ) { $file = DashboardHelper::get_folder_path( 'settings' ) . '/' . $key . '.' . $page['file'] . '.php'; echo ''; if ( file_exists( $file ) ) { echo '
'; require_once $file; echo '
'; } } echo '
'; } public static function save_item() { $verify = AdminActions::verify( WOWP_Plugin::PREFIX . '_settings' ); if ( ! $verify ) { return false; } if ( empty( $_POST['submit_settings'] ) ) { return false; } $id = isset( $_POST['tool_id'] ) ? absint( wp_unslash( $_POST['tool_id'] ) ) : 0; $settings = apply_filters( WOWP_Plugin::PREFIX . '_save_settings', '' ); $removes = [ 'wpie_buttons_settings', '_wp_http_referer', 'submit_settings' ]; $keys_flipped = array_flip( $removes ); $settings = array_diff_key( $settings, $keys_flipped ); $data = [ 'title' => isset( $_POST['title'] ) ? sanitize_text_field( wp_unslash( $_POST['title'] ) ) : '', 'status' => isset( $_POST['status'] ) ? 1 : 0, 'mode' => isset( $_POST['mode'] ) ? 1 : 0, 'tag' => isset( $_POST['tag'] ) ? sanitize_text_field( wp_unslash( $_POST['tag'] ) ) : '', 'param' => maybe_serialize( $settings ), ]; $formats = [ '%s', '%d', '%d', '%s', '%s' ]; if ( empty( $id ) ) { $id_item = DBManager::insert( $data, $formats ); } else { $where = [ 'id' => absint( $id ), ]; DBManager::update( $data, $where, $formats ); $id_item = $id; } wp_safe_redirect( Link::save_item( $id_item ) ); exit; } public static function deactivate_item( $id = 0 ): void { $verify = AdminActions::verify( WOWP_Plugin::PREFIX . '_deactivate_item' ); if ( ! $verify ) { return; } $id = isset( $_GET['id'] ) ? absint( $_GET['id'] ) : $id; if ( ! empty( $id ) ) { DBManager::update( [ 'status' => '1' ], [ 'ID' => $id ], [ '%d' ] ); } } public static function activate_item( $id = 0 ): void { $verify = AdminActions::verify( WOWP_Plugin::PREFIX . '_activate_item' ); if ( ! $verify ) { return; } $id = isset( $_GET['id'] ) ? absint( $_GET['id'] ) : $id; if ( ! empty( $id ) ) { DBManager::update( [ 'status' => '' ], [ 'ID' => $id ], [ '%d' ] ); } } public static function deactivate_mode( $id = 0 ): void { $verify = AdminActions::verify( WOWP_Plugin::PREFIX . '_deactivate_mode' ); if ( ! $verify ) { return; } $id = isset( $_GET['id'] ) ? absint( $_GET['id'] ) : $id; if ( ! empty( $id ) ) { DBManager::update( [ 'mode' => '' ], [ 'ID' => $id ], [ '%d' ] ); } } public static function activate_mode( $id = 0 ): void { $verify = AdminActions::verify( WOWP_Plugin::PREFIX . '_activate_mode' ); if ( ! $verify ) { return; } $id = isset( $_GET['id'] ) ? absint( $_GET['id'] ) : $id; if ( ! empty( $id ) ) { DBManager::update( [ 'mode' => '1' ], [ 'ID' => $id ], [ '%d' ] ); } } public static function get_options() { $id = isset( $_REQUEST['id'] ) ? absint( $_REQUEST['id'] ) : 0; if ( empty( $id ) ) { return false; } $action = isset( $_REQUEST['action'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['action'] ) ) : 'update'; $result = DBManager::get_data_by_id( $id ); if ( empty( $result ) || empty( $result->param ) ) { return false; } $param = maybe_unserialize( $result->param ); $param['title'] = $result->title; $param['status'] = $result->status; $param['mode'] = $result->mode; $param['tag'] = $result->tag; if ( ! empty( $param ) ) { $param['id'] = $id; } if ( $action === 'duplicate' ) { $param['id'] = ''; $param['title'] = ''; } return $param; } public static function option( $name, $option ) { return $options[ $name ] ?? ''; } }