parent = $parent; $this->base = 'dkpdf_'; // Initialise settings add_action( 'init', array( $this, 'init_settings' ), 11 ); // Register plugin settings add_action( 'admin_init' , array( $this, 'register_settings' ) ); // Add settings page to menu add_action( 'admin_menu' , array( $this, 'add_menu_item' ) ); // Add settings link to plugins page add_filter( 'plugin_action_links_' . plugin_basename( DKPDF_PLUGIN_FILE ) , array( $this, 'add_settings_link' ) ); } /** * Initialise settings * @return void */ public function init_settings () { $this->settings = $this->settings_fields(); } /** * Adds DK PDF admin menu * @return void */ public function add_menu_item () { // main menu $page = add_menu_page( 'DK PDF', 'DK PDF', 'manage_options', 'dkpdf' . '_settings', array( $this, 'settings_page' ) ); // Addons submenu //add_submenu_page( 'dkpdf' . '_settings', 'Addons', 'Addons', 'manage_options', 'dkpdf-addons', array( $this, 'dkpdf_addons_screen' )); // support add_submenu_page( 'dkpdf' . '_settings', 'Support', 'Support', 'manage_options', 'dkpdf-support', array( $this, 'dkpdf_support_screen' )); // settings assets add_action( 'admin_print_styles-' . $page, array( $this, 'settings_assets' ) ); } public function dkpdf_support_screen() { ?>

DK PDF Support

Dokumentcja

Wszystkie informacje, które potrzebujesz do uruchomienia oraz zarządznaia pluginem DK PDF

Dokuemtacja pluginu!

Pomoc

Masz problem? Nie przejmuj się! Utwórz wątek na stronie forum pomocy DK PDF!

Pomoc!

DK PDF Addons

DK PDF Generator

Allows creating PDF documents with your selected WordPress content, also allows adding a Cover and a Table of contents.

Go to DK PDF Generator

' . __( 'Settings', 'dkpdf' ) . ''; array_push( $links, $settings_link ); return $links; } /** * Build settings fields * @return array Fields to be displayed on settings page */ private function settings_fields () { $post_types_arr = dkpdf_get_post_types(); // pdf button settings $settings['pdfbtn'] = array( 'title' => __( 'PDF Button', 'dkpdf' ), 'description' => '', 'fields' => array( array( 'id' => 'pdfbutton_text', 'label' => __( 'Button text' , 'dkpdf' ), 'description' => ' Tekst jaki będzie wyświetlany na przyciskach', 'type' => 'text', 'default' => 'Generuj PDF',//PDF Button 'placeholder' => '' ), array( 'id' => 'pdfbutton_post_types', 'label' => __( 'Post types to apply:', 'dkpdf' ), 'description' => 'Domyślne wprowadzenie typów treści, w których będą umieszczone przyciski', 'type' => 'checkbox_multi', 'options' => $post_types_arr, 'default' => array() ), array( 'id' => 'pdfbutton_action', 'label' => __( 'Action', 'dkpdf' ), 'description' => 'Sposób w którym będzie można pobrać dokument PDF', 'type' => 'radio', 'options' => array( 'open' => 'Otwórz plik PDF w nowym oknie', 'download' => 'Bezpośrenio pobierz plik PDF' ),//'open' => 'Open PDF in new Window', 'download' => 'Download PDF directly' 'default' => 'open' ), array( 'id' => 'pdfbutton_position', 'label' => __( 'Position', 'dkpdf' ), 'description' => 'Sposób umieszczenia przycisku generowania pliku', 'type' => 'radio', 'options' => array( 'shortcode' => 'Wykorzystuj shortcode', 'before' => 'Przed zawartością', 'after' => 'Po zawartości' ), //'shortcode' => 'Use shortcode', 'before' => 'Before content', 'after' => 'After content' 'default' => 'shortcode'//before ), array( 'id' => 'pdfbutton_align', 'label' => __( 'Align', 'dkpdf' ), 'description' => 'Wyrównanie przycisku', 'type' => 'radio', 'options' => array( 'left' => 'Lewo', 'center' => 'Środek', 'right' => 'Prawo' ),//'left' => 'Left', 'center' => 'Center', 'right' => 'Right' 'default' => 'right' ), ) ); // pdf setup $settings['dkpdf_setup'] = array( 'title' => __( 'Ustawienia DK PDF', 'dkpdfg' ),//PDF Setup 'description' => '', 'fields' => array( array( 'id' => 'page_orientation', 'label' => __( 'Orientacja strony', 'dkpdfg' ),//Page orientation 'description' => 'Ustawienie domyślnej orintacji strony', 'type' => 'radio', 'options' => array( 'vertical' => 'Vertical', 'horizontal' => 'Horizontal' ), 'default' => 'vertical' ), array( 'id' => 'font_size', 'label' => __( 'Rozmiar czcionki', 'dkpdfg' ),//Font size 'description' => 'Ustawienie rozmiaru czcionki w punktach (pt)', 'type' => 'number', 'default' => '12', 'placeholder' => '12' ), array( 'id' => 'margin_left', 'label' => __( 'Lewy margines', 'dkpdfg' ),//Margin left 'description' => 'Ustawienie rozmiaru lewego marginesu w punktach (pt)', 'type' => 'number', 'default' => '15', 'placeholder' => '15' ), array( 'id' => 'margin_right', 'label' => __( 'Prawy margines', 'dkpdfg' ),//Margin right 'description' => 'Ustawienie rozmiaru prawego marginesu w punktach (pt)', 'type' => 'number', 'default' => '15', 'placeholder' => '15' ), array( 'id' => 'margin_top', 'label' => __( 'Górny margines', 'dkpdfg' ),//Margin top 'description' => 'Ustawienie rozmiaru górnego marginesu w punktach (pt)', 'type' => 'number', 'default' => '50', 'placeholder' => '50' ), array( 'id' => 'margin_bottom', 'label' => __( 'Dolny margines', 'dkpdfg' ),//Margin bottom 'description' => 'Ustawienie rozmiaru dolnego marginesu w punktach (pt)', 'type' => 'number', 'default' => '30', 'placeholder' => '30' ), array( 'id' => 'margin_header', 'label' => __( 'Margines nagłówka', 'dkpdfg' ),//Margin header 'description' => 'Ustawienie rozmiaru dolnego marginesu w punktach (pt)', 'type' => 'number', 'default' => '15', 'placeholder' => '15' ), ) ); // header & footer settings $settings['pdf_header_footer'] = array( 'title' => __( 'PDF Header & Footer', 'dkpdf' ), 'description' => '', 'fields' => array( array( 'id' => 'pdf_header_image', 'label' => __( 'Header logo' , 'dkpdf' ), 'description' => '', 'type' => 'image', 'default' => '', 'placeholder' => '' ), array( 'id' => 'pdf_header_show_title', 'label' => __( 'Header show title', 'dkpdf' ), 'description' => '', 'type' => 'checkbox', 'default' => 'true' ), array( 'id' => 'pdf_header_show_pagination', 'label' => __( 'Header show pagination', 'dkpdf' ), 'description' => '', 'type' => 'checkbox', 'default' => 'true' ), array( 'id' => 'pdf_footer_text', 'label' => __( 'Footer text' , 'dkpdf' ), 'description' => __( 'HTML tags: a, br, em, strong, hr, p, h1 to h4', 'dkpdf' ), 'type' => 'textarea', 'default' => '', 'placeholder' => '' ), array( 'id' => 'pdf_footer_show_title', 'label' => __( 'Footer show title', 'dkpdf' ), 'description' => '', 'type' => 'checkbox', 'default' => '' ), array( 'id' => 'pdf_footer_show_pagination', 'label' => __( 'Footer show pagination', 'dkpdf' ), 'description' => '', 'type' => 'checkbox', 'default' => '' ), ) ); // style settings $settings['pdf_css'] = array( 'title' => __( 'PDF CSS', 'dkpdf' ), 'description' => '', 'fields' => array( array( 'id' => 'pdf_custom_css', 'label' => __( 'PDF Custom CSS' , 'dkpdf' ), 'description' => __( 'Wprowadź odpowiedi kod CSS by zmanipulować wyściowym plikiem PDF', 'dkpdf' ), 'type' => 'textarea_code', 'default' => '.AnkietyGO { display:none; }', 'placeholder' => '' ), array( 'id' => 'print_wp_head', 'label' => __( 'Use your enqueued theme and plugin CSS', 'dkpdf' ), 'description' => __( 'Adds wp_head() in PDF head', 'dkpdf' ), 'type' => 'checkbox', 'default' => '' ), ) ); $settings = apply_filters( 'dkpdf' . '_settings_fields', $settings ); return $settings; } /** * Register plugin settings * @return void */ public function register_settings () { if ( is_array( $this->settings ) ) { // Check posted/selected tab $current_section = ''; if ( isset( $_POST['tab'] ) && $_POST['tab'] ) { $current_section = $_POST['tab']; } else { if ( isset( $_GET['tab'] ) && $_GET['tab'] ) { $current_section = $_GET['tab']; } } foreach ( $this->settings as $section => $data ) { if ( $current_section && $current_section != $section ) continue; // Add section to page add_settings_section( $section, $data['title'], array( $this, 'settings_section' ), 'dkpdf' . '_settings' ); foreach ( $data['fields'] as $field ) { // Validation callback for field $validation = ''; if ( isset( $field['callback'] ) ) { $validation = $field['callback']; } // Register field $option_name = $this->base . $field['id']; register_setting( 'dkpdf' . '_settings', $option_name, $validation ); // Add field to page add_settings_field( $field['id'], $field['label'], array( $this->parent->admin, 'display_field' ), 'dkpdf' . '_settings', $section, array( 'field' => $field, 'prefix' => $this->base ) ); } if ( ! $current_section ) break; } } } public function settings_section ( $section ) { $html = '

' . $this->settings[ $section['id'] ]['description'] . '

' . "\n"; echo $html; } /** * Load settings page content * @return void */ public function settings_page () { if( isset( $_GET['settings-updated']) ) { ?>

' . "\n"; $html .= '

' . __( 'DK PDF Settings' , 'dkpdf' ) . '

' . "\n"; $tab = ''; if ( isset( $_GET['tab'] ) && $_GET['tab'] ) { $tab .= $_GET['tab']; } // Show page tabs if ( is_array( $this->settings ) && 1 < count( $this->settings ) ) { $html .= '' . "\n"; } $html .= '
' . "\n"; // Get settings fields ob_start(); settings_fields( 'dkpdf' . '_settings' ); do_settings_sections( 'dkpdf' . '_settings' ); $html .= ob_get_clean(); $html .= '

' . "\n"; $html .= '' . "\n"; $html .= '' . "\n"; $html .= '

' . "\n"; $html .= '
' . "\n"; $html .= '' . "\n"; echo $html; } /** * Main DKPDF_Settings Instance */ public static function instance ( $parent ) { if ( is_null( self::$_instance ) ) { self::$_instance = new self( $parent ); } return self::$_instance; } // End instance() /** * Cloning is forbidden. */ public function __clone () { _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?' ), $this->parent->_version ); } // End __clone() /** * Unserializing instances of this class is forbidden. */ public function __wakeup () { _doing_it_wrong( __FUNCTION__, __( 'Cheatin’ huh?' ), $this->parent->_version ); } // End __wakeup() }