'Public Domain Dedication (CC0)', '10' => 'Public Domain Mark', '4' => 'Attribution License', '6' => 'Attribution-NoDerivs License', '3' => 'Attribution-NonCommercial-NoDerivs License', '2' => 'Attribution-NonCommercial License', '1' => 'Attribution-NonCommercial-ShareAlike License', '5' => 'Attribution-ShareAlike License', '7' => 'No known copyright restrictions', '0' => 'All Rights Reserved', ]; var $flickr_sort = [ 'date-posted-asc' => 'Date Posted Asc', 'date-posted-desc' => 'Date posted Desc', 'date-taken-asc' => 'Date taken Asc', 'date-taken-desc' => 'Date taken Desc', 'interestingness-desc' => 'Interestingness Desc', 'interestingness-asc' => 'Interestingness Asc', 'relevance' => 'Relevance', ]; var $pixabay_languages = [ 'cs' => 'Čeština', 'da' => 'Dansk', 'de' => 'Deutsch', 'en' => 'English', 'es' => 'Español', 'fr' => 'Français', 'id' => 'Indonesia', 'it' => 'Italiano', 'hu' => 'Magyar', 'nl' => 'Nederlands', 'no' => 'Norsk', 'pl' => 'Polski', 'pt' => 'Português', 'ro' => 'Română', 'sk' => 'Slovenčina', 'fi' => 'Suomi', 'sv' => 'Svenska', 'tr' => 'Türkçe', 'vi' => 'Việt', 'th' => 'ไทย', 'bg' => 'Български', 'ru' => 'Русский', 'el' => 'Ελληνική', 'ja' => '日本語', 'ko' => '한국어', 'zh' => '简体中文', ]; var $default_options = [ 'per_page' => 20, 'flickr_apikey' => '30be21caefc972bea242e36538228f76', 'flickr_licenses' => '9,10', 'flickr_sort' => 'relevance', 'pixabay_apikey' => '1327034-ae6fb68dd3c92b86568b1cd4d', 'pixabay_language' => 'en', 'pixabay_image_type' => 'all', 'pixabay_orientation' => 'all', ]; /** * Acf_Images_Search_And_Insert_Settings constructor. */ function __construct() { $options = get_option( 'aisai_options' ); if ( empty( $options ) ) { update_option( 'aisai_options', $this->default_options ); } add_action( 'admin_menu', [ $this, 'aisai_add_settings_menu' ] ); } /** * Handle mthod for admin_menu */ function aisai_add_settings_menu() { add_options_page( __( 'ACF Images Search And Insert Settings', $this->ltd, 'aisai' ), __( 'ACF Images Search And Insert', $this->ltd, 'aisai' ), 'manage_options', 'aisai_settings', [ $this, 'aisai_settings_page' ] ); add_action( 'admin_init', [ $this, 'register_aisai_options' ] ); } /** * Handle method for add_options_page */ function aisai_settings_page() { ?>

ltd, 'aisai' ); ?>

register_aisai_options_common( $options ); $this->register_aisai_options_flickr( $options ); $this->register_aisai_options_pixabay( $options ); /** * This closure handles saving options */ register_setting( 'aisai_options', 'aisai_options', function ( $input ) use ( $options ) { /** * Common Settings */ if ( 1 <= $options['per_page'] && $options['per_page'] <= 100 ) { $options['per_page'] = $input['per_page']; } /** * Flickr Settings */ $options['flickr_apikey'] = $input['flickr_apikey']; $licenses = $input['flickr_licenses']; if ( count( $licenses ) > 0 ) { $options['flickr_licenses'] = implode( ',', $licenses ); } if ( array_key_exists( $input['flickr_sort'], $this->flickr_sort ) ) { $options['flickr_sort'] = $input['flickr_sort']; } /** * Pixabay Settings */ $options['pixabay_apikey'] = $input['pixabay_apikey']; if ( array_key_exists( $input['pixabay_language'], $this->pixabay_languages ) ) { $options['pixabay_language'] = $input['pixabay_language']; } if ( in_array( $input['pixabay_image_type'], [ 'all', 'photo', 'vector' ] ) ) { $options['pixabay_image_type'] = $input['pixabay_image_type']; } if ( in_array( $input['pixabay_orientation'], [ 'all', 'horizontal', 'vertical' ] ) ) { $options['pixabay_orientation'] = $input['pixabay_orientation']; } return $options; } ); } /** * Display common settings * @param $options */ function register_aisai_options_common( $options ) { add_settings_section( 'aisai_options_common_section', 'Common', '', 'aisai_settings' ); add_settings_field( 'common-perpage', __( 'Images Per Page', $this->ltd, 'aisai' ), function () use ( $options ) { ?> flickr_licenses; $sorts = $this->flickr_sort; add_settings_section( 'aisai_options_flickr_section', 'Flickr', '', 'aisai_settings' ); add_settings_field( 'flickr-apikey', __( 'API Key', $this->ltd, 'aisai' ), function () use ( $options ) { ?> ltd, 'aisai' ), function () use ( $options, $licenses ) { $selected_licenses = explode( ',', $options['flickr_licenses'] ); foreach ( $licenses as $k => $v ) { ?> value="">
ltd, 'aisai' ), function () use ( $options, $sorts ) { ?> pixabay_languages; add_settings_section( 'aisai_options_pixabay_section', 'Pixabay', '', 'aisai_settings' ); add_settings_field( 'pixabay-apikey', __( 'API Key', $this->ltd, 'aisai' ), function () use ( $options ) { ?> ltd, 'aisai' ), function () use ( $options, $langs ) { $set_lang = substr( get_locale(), 0, 2 ); if ( ! $options['pixabay_language'] ) { $options['pixabay_language'] = $langs[ $set_lang ] ? $set_lang : 'en'; } ?> ltd, 'aisai' ), function () use ( $options ) { ?>

ltd, 'aisai' ), function () use ( $options ) { ?>