version = $version; $this->settings = $settings; $this->assets_url = $assets_url; $this->renderer = $renderer; $this->helper = new TT_Arkam_Lite_Helper(); } /** * Add Arkam to admin menu * * @since 1.0.0 */ public function add_admin_menu() { add_menu_page( esc_html__( 'Arkam Lite', 'arkam-lite' ), // page title esc_html__( 'Arkam Lite', 'arkam-lite' ), // menu title 'manage_options', // capability 'arkam-lite', // menu slug array( $this, 'settings_page_callback' ), // callback $this->assets_url . 'img/icon_32.svg', // icon url 110 // position ); } /** * Admin page callback * * @since 1.0.0 */ public function settings_page_callback() { ?>

settings_form_handler(); ?>
esc_html__( 'Cache Results for', 'arkam-lite' ), 'option' => array( 'type' => 'select', 'name' => 'cache', 'choices' => array( '1' => esc_html__( '1 Minute', 'arkam-lite' ), '2' => esc_html__( '2 Minutes', 'arkam-lite' ), '5' => esc_html__( '5 Minutes', 'arkam-lite' ), '10' => esc_html__( '10 Minutes', 'arkam-lite' ), '30' => esc_html__( '30 Minutes', 'arkam-lite' ), '60' => esc_html__( '1 Hour', 'arkam-lite' ), '300' => esc_html__( '5 Hours', 'arkam-lite' ), '1440' => esc_html__( '1 Day', 'arkam-lite' ), '4320' => esc_html__( '3 Days', 'arkam-lite' ), '10080' => esc_html__( '1 Week', 'arkam-lite' ) ), 'default' => $this->settings['cache'] ) ); $this->renderer->render_field( $cache_field ); ?>
renderer->render_settings( $this->settings['profiles'] ); ?>

'. esc_html__( 'here', 'arkam-lite' ) .'' ); ?>

'. esc_html__( 'Support Forum', 'arkam-lite' ) .'' ); ?>

'. esc_html__( 'page', 'arkam-lite' ) .'' ); ?>

helper->sanitize_checkbox( $submitted['backlink'] ); } else { unset( $options['backlink'] ); } // Sanitize channel settings foreach ( $submitted as $key => $data ) { if ( array_key_exists( $key, $this->settings['profiles'] ) ) { // Sanitize ID field if ( isset( $data['id'] ) ) { $options[$key]['id'] = $this->helper->sanitize_url_var( $data['id'] ); } // Sanitize Access Token field if ( isset( $data['access'] ) ) { $options[$key]['access'] = $this->helper->sanitize_url_var( $data['access'] ); } // Sanitize Type field if ( isset( $data['type'] ) ) { $options[$key]['type'] = esc_attr( $data['type'] ); } // Sanitize URL field if ( isset( $data['url'] ) ) { $options[$key]['url'] = esc_url_raw( $data['url'] ); } // Sanitize Label (Text) field if ( isset( $data['text'] ) ) { $options[$key]['text'] = esc_attr( $data['text'] ); } // Sanitize Fallback field if ( isset( $data['fallback'] ) ) { $options[$key]['fallback'] = esc_attr( $data['fallback'] ); } } } // All data were sanitized, lets save them update_option( 'tt_arkam_lite', $options ); $class = 'notice notice-success is-dismissible'; $message = esc_html__( 'Settings Saved', 'arkam-lite' ); printf( '

%s

', $class, $message ); // Set new options $this->renderer->set_options( $_POST['tt_arkam_lite'] ); // Clear transients foreach ( $this->settings['profiles'] as $key => $value ) { delete_transient( 'tt_arkam_lite_'. $key ); } } } /** * Token Panel * * @since 1.0.0 */ public function token_panel() { ?> settings['profiles'] as $key => $data ) { $channels[$key] = $data['label']; } $ajaxurl = in_array( 'sitepress-multilingual-cms/sitepress.php', get_option( 'active_plugins' ) )? admin_url( 'admin-ajax.php?lang='. ICL_LANGUAGE_CODE ): admin_url( 'admin-ajax.php' ); wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_style( 'ark-lite-icons', $this->assets_url . 'css/fontello.css', null, $this->version ); // admin.css wp_enqueue_style( 'arkam-lite-admin', $this->assets_url . 'css/admin.css', array(), $this->version ); // theia-sticky-sidebar.min.js wp_enqueue_script( 'theia-sticky-sidebar', $this->assets_url . 'js/theia-sticky-sidebar.min.js', array( 'jquery' ), '1.7.0', true ); // admin.js wp_enqueue_script( 'arkam-lite-admin', $this->assets_url . 'js/admin.js', array( 'jquery', 'wp-color-picker' ), $this->version, true ); wp_localize_script( 'arkam-lite-admin', 'arkamLiteAdmin', array( 'arkam-lite' => esc_html__( 'Arkam Lite', 'arkam-lite' ), 'ajaxurl' => $ajaxurl, 'nonce' => wp_create_nonce( 'tt-arkam-lite-ajax' ), 'channels' => json_encode( $channels ), 'mce' => array( 'arkam' => esc_html__( 'Arkam Lite', 'arkam-lite' ), 'settings' => esc_html__( 'Arkam Lite Settings', 'arkam-lite' ), 'error' => esc_html__( 'An error accured.', 'arkam-lite' ), 'layout' => esc_html__( 'Layout', 'arkam-lite' ), 'grid' => esc_html__( 'Grid', 'arkam-lite' ), 'mosaic' => esc_html__( 'Mosaic', 'arkam-lite' ), 'block' => esc_html__( 'Block', 'arkam-lite' ), 'spacing' => esc_html__( 'Spacing', 'arkam-lite' ), 'pixels_0' => esc_html__( '0 Pixels', 'arkam-lite' ), 'pixel_1' => esc_html__( '1 Pixel', 'arkam-lite' ), 'pixels_2' => esc_html__( '2 Pixels', 'arkam-lite' ), 'pixels_3' => esc_html__( '3 Pixels', 'arkam-lite' ), 'pixels_4' => esc_html__( '4 Pixels', 'arkam-lite' ), 'pixels_5' => esc_html__( '5 Pixels', 'arkam-lite' ), 'size' => esc_html__( 'Size', 'arkam-lite' ), 'medium' => esc_html__( 'Medium', 'arkam-lite' ), 'small' => esc_html__( 'Small', 'arkam-lite' ), 'large' => esc_html__( 'Large', 'arkam-lite' ), 'color' => esc_html__( 'Color Scheme', 'arkam-lite' ), 'colored' => esc_html__( 'Colored', 'arkam-lite' ), 'light' => esc_html__( 'Light', 'arkam-lite' ), 'dark' => esc_html__( 'Dark', 'arkam-lite' ), 'el_class' => esc_html__( 'Extra Class Name', 'arkam-lite' ), ) ) ); } } }