'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 ) {
?>