Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //include the main class file
- require_once("admin/admin-page-class.php");
- /**
- * configure your admin page
- */
- $config = array(
- 'menu' => 'theme', //sub page to settings page
- 'page_title' => __('Asteria Options','asteria'), //The name of this page
- 'capability' => 'edit_themes', // The capability needed to view the page
- 'option_group' => 'asteria_options', //the name of the option to create in the database
- 'id' => 'admin_page', // meta box id, unique per page
- 'fields' => array(), // list of fields (can be added by field arrays)
- 'local_images' => false, // Use local or hosted images (meta box images for add/remove)
- 'use_with_theme' => get_template_directory_uri() . '/admin/', //change path if used with theme set to true, false for a plugin or anything else for a custom path(default false).
- 'google_fonts' => true
- );
- register_activation_hook( __FILE__, 'admin_pageplugin_activate' );
- /**
- * instantiate your admin page
- */
- $options_panel = new BF_Admin_Page_Class($config);
- $options_panel->OpenTabs_container('');
- /**
- * define your admin page tabs listing
- */
- $options_panel->TabsListing(array(
- 'links' => array(
- 'options_1' => __('Basic','asteria'),
- 'options_2' => __('Front Page','asteria'),
- 'options_3' => __('Slider','asteria'),
- 'options_4' => __('Style','asteria'),
- 'options_5' => __('TypoGraphy','asteria'),
- 'options_6' => __('Social','asteria'),
- 'options_7' => __('Miscellaneous','asteria'),
- 'options_8' => __('Mobile Layout','asteria'),
- 'options_9' => __('Custom CSS','asteria'),
- 'options_10' => __('Maintanace Mode','asteria'),
- 'options_11' => __('Import/Export','asteria'),
- 'options_12' => __('About The Theme','asteria'),
- 'options_13' => __('Upgrade to PRO','asteria'),
- 'options_14' => __('Documentation','asteria'),
- )
- ));
- /**
- * Open admin page first tab
- */
- $options_panel->OpenTab('options_1');
- /**
- * Add fields to your admin page first tab
- *
- * Simple options:
- * input text, checbox, select, radio
- * textarea
- */
- //title
- $options_panel->Title(__("Basic Settings","asteria"));
- //LOGO Image field
- $options_panel->addImage('logo_image_id',array('name'=> __('Logo/Header Image ','asteria'),'preview_height' => 'auto', 'preview_width' => '300px', 'desc' => __('Click the "Upload" button to upload your logo Image.','asteria')));
- //Site Width
- $options_panel->addRadio('site_width_id',array('fixed'=>'Fixed Width','full_width'=>'Full Width'),array('name'=> __('Site Width','asteria'), 'std'=> array('fixed'), 'desc' => __('No matter which layout you select the site will be responsive','asteria')));
- //Header Type
- $options_panel->addSelect('page_type_id',array('page_head1'=>'Big Page header','page_head2'=>'Normal Page Header'),array('name'=> __('Page Header Type','asteria'), 'std'=> array('page_head1'), 'desc' => __('Change how the Page Title Looks','asteria')));
- //Disable Ajax Pagination
- $options_panel->addCheckbox('ajax_id',array('name'=> __('Ajax Pagination','asteria'), 'std' => true, 'desc' => __('Ajax pagination(Go to next page without reloading the page) ','asteria')));
- //Disable Ajax Pagination
- $options_panel->addCheckbox('totop_id',array('name'=> __('To Top Button','asteria'), 'std' => true, 'desc' => __('Turn On/Off "To Top Button"(The button that appears on bottom right when you scroll down to pages.) ','asteria')));
- //wysiwyg field
- $options_panel->addWysiwyg('footer_text_id',array('name'=> __('Footer Copyright Text ','asteria'), 'desc' => __('Your copyright text here','asteria')));
- /**
- * Close first tab
- */
- $options_panel->CloseTab();
- /**
- * Open admin page Second tab
- */
- $options_panel->OpenTab('options_2');
- /**
- * Add fields to your admin page 2nd tab
- *
- * Fancy options:
- * typography field
- * image uploader
- * Pluploader
- * date picker
- * time picker
- * color picker
- */
- //title
- $options_panel->Title(__('Front Page Options','asteria'));
- $options_panel->Title(__('<span class="ast_smalltit">Frontpage Elements Settings</span>','asteria'));
- //BLOCKS---------------------------------------
- $options_panel->addCheckbox('hide_blocks',array('name'=> '','class' => 'show-hide', 'std' => true));
- $options_panel->Title(__('Blocks','asteria'));
- //Disable Block1
- $options_panel->addCheckbox('hide_block1',array('name'=> __('Hide Block 1','asteria'),'class' => 'no-fancy', 'std' => false));
- //text field
- $options_panel->addText('block1_text_id', array('name'=> __('Block 1 Title ','asteria'), 'std'=> ''));
- //ICON SELCET
- $options_panel->addSelect('block1_icon',$fontawesome,array('name'=> __('Block 1 Icon','asteria'),'class' => 'no-fancy iconselect' , 'std'=> array('icon-camera-retro')));
- //wysiwyg field
- $options_panel->addWysiwyg('block1_textarea_id',array('name'=> __('Block 1 Content','asteria'), 'std'=> ''));
- //Disable Block2
- $options_panel->addCheckbox('hide_block2',array('name'=> __('Hide Block 2','asteria'),'class' => 'no-fancy', 'std' => false));
- //text field
- $options_panel->addText('block2_text_id', array('name'=> __('Block 2 Title ','asteria'), 'std'=> ''));
- //ICON SELCET
- $options_panel->addSelect('block2_icon',$fontawesome,array('name'=> __('Block 2 Icon','asteria'),'class' => 'no-fancy iconselect' , 'std'=> array('icon-rocket')));
- //wysiwyg field
- $options_panel->addWysiwyg('block2_textarea_id',array('name'=> __('Block 2 Content','asteria'), 'std'=> ''));
- //Disable Block3
- $options_panel->addCheckbox('hide_block3',array('name'=> __('Hide Block 3','asteria'),'class' => 'no-fancy', 'std' => false));
- //text field
- $options_panel->addText('block3_text_id', array('name'=> __('Block 3 Title ','asteria'), 'std'=> ''));
- //ICON SELCET
- $options_panel->addSelect('block3_icon',$fontawesome,array('name'=> __('Block 3 Icon','asteria'),'class' => 'no-fancy iconselect' , 'std'=> array('icon-signal')));
- //wysiwyg field
- $options_panel->addWysiwyg('block3_textarea_id',array('name'=> __('Block 3 Content','asteria'), 'std'=> ''));
- //Disable Block4
- $options_panel->addCheckbox('hide_block4',array('name'=> __('Hide Block 4','asteria'),'class' => 'no-fancy', 'std' => false));
- //text field
- $options_panel->addText('block4_text_id', array('name'=> __('Block 4 Title ','asteria'), 'std'=> ''));
- //ICON SELCET
- $options_panel->addSelect('block4_icon',$fontawesome,array('name'=> __('Block 4 Icon','asteria'),'class' => 'no-fancy iconselect' , 'std'=> array('icon-cogs')));
- //wysiwyg field
- $options_panel->addWysiwyg('block4_textarea_id',array('name'=> __('Block 4 Content','asteria'), 'std'=> ''));
- //Welcome Text---------------------------------------
- $options_panel->addCheckbox('hide_welcmtxt',array('name'=> '','class' => 'show-hide', 'std' => true));
- $options_panel->Title(__('Welcome Text','asteria'));
- //wysiwyg field
- $options_panel->addWysiwyg('welcm_textarea_id',array('name'=> __('Welcome Text','asteria'), 'std'=> ''));
- //Background Color
- $options_panel->addColor('welcome_color_id',array('name'=> __('Background Color ','asteria'), 'std'=> '#333333'));
- //Frontpage Posts---------------------------------------
- $options_panel->addCheckbox('hide_posts',array('name'=> '','class' => 'show-hide', 'std' => true));
- $options_panel->Title(__('Frontpage Posts','asteria'));
- //wysiwyg field
- $options_panel->addWysiwyg('posts_title_id',array('name'=> __('Title & Description','asteria'), 'std'=> ''));
- //Front Page posts layout
- $options_panel->addRadio('front_layout_id',array('layout1'=>'Layout 1'),array('name'=> __('Posts layout','asteria'), 'std'=> array('layout1'), 'desc' => __('Select how you want to display posts on Front page','asteria')));
- /**
- * To Create a Conditional Block first create an array of fields (just like a repeater block
- * use the same functions as above but add true as a last param
- */
- $options_panel->addCheckbox('enable_cat',array('name'=> __('Display posts from a Category', 'asteria'),'class' => 'enablecat', 'std' => false));
- //taxonomy select field
- $options_panel->addTaxonomy('posts_cat_id',array('taxonomy' => 'category'),array('name'=> __('Category Name','asteria'),'class' => 'fancy inline-txt', 'std' => "1" ));
- //is_numeric
- $options_panel->addText('n_posts_field_id', array('name' => __('Number of Posts ','asteria'),'class' => 'inline-txt', 'std' => 9,'validate' => array( 'numeric' => array('param' => '','message' => __("must be numeric value","asteria")))));
- //Tabs---------------------------------------
- $options_panel->Title(__('Tabs','asteria'));
- //Location Map---------------------------------------
- $options_panel->Title(__('Location Map','asteria'));
- //Call to Action---------------------------------------
- $options_panel->Title(__('Call to Action','asteria'));
- //Frontpage Widgets Area---------------------------------------
- $options_panel->Title(__('Frontpage Widgets Area','asteria') );
- //sortable field
- $options_panel->addSortable('home_sort_id',array('1' => __('Blocks', 'asteria'),'2'=> __('Welcome Text', 'asteria'), '3'=> 'Posts'),array('name' => __('Frontpage Elements position','asteria'), 'desc' => __('Drag and Drop each element to reorder their position.','asteria')));
- /**
- * Close second tab
- */
- $options_panel->CloseTab();
- /**
- * Open admin page 3rd tab
- */
- $options_panel->OpenTab('options_3');
- /**
- * Add fields to your admin page 3rd tab
- *
- * Editor options:
- * WYSIWYG (tinyMCE editor)
- * Syntax code editor (css,html,js,php)
- */
- //title
- $options_panel->Title(__("Slider Setup","asteria"));
- //Slider Type
- $options_panel->addSelect('slider_type_id',array('nivo'=>'Nivo Slider','noslider'=>'Disable Slider'),array('name'=> __('Slider Type','asteria'), 'std'=> array('nivo')));
- //Slider Paustime - is_numeric
- $options_panel->addText('n_slide_time_id', array('name' => __('Pause Time Between Each Slide ','asteria'), 'std' => 4000,'validate' => array( 'numeric' => array('param' => '','message' => __("must be numeric value","asteria")))));
- //Slider Height
- $options_panel->addText('slide_height', array('name' => __('Slider Height ','asteria'), 'std'=> ''));
- //Slider Title Font
- //Slider Font Size
- $options_panel->addText('slidefont_size_id', array('name' => __('Slide Font Style','asteria'), 'std'=> '' , 'class' => 'smalltxt'));
- //Slider Font Weight
- $options_panel->addSelect('slidefont_weight_id',array('normal'=>'Normal','bold'=>'Bold'),array('name'=> __('','asteria'), 'std'=> array('normal'), 'class' => 'no-fancy smalltxt'));
- /*
- * To Create a reapeater Block first create an array of fields
- * use the same functions as above but add true as a last param
- */
- $repeater_fields[] = $options_panel->addText('re_text_field_id',array('name'=> __('Title ','asteria')),true);
- $repeater_fields[] = $options_panel->addImage('image_field_id',array('name'=> __('Image','asteria'),'preview_height' => 'auto', 'preview_width' => '300px'),true);
- $repeater_fields[] = $options_panel->addTextarea('re_textarea_field_id',array('name'=> __('Content ','asteria')),true);
- $repeater_fields[] = $options_panel->addText('re_link_field_id',array('name'=> __('Link ','asteria')),true);
- $repeater_fields[] = $options_panel->addRadio('slider_content_id',array('sldcontent1'=>'Layout 1','sldcontent2'=>'Layout 2','sldcontent3'=>'Layout 3'),array('name'=> __('Slide Text Layout','asteria'), 'std'=> array('sldcontent1')),true);
- /*
- * Then just add the fields to the repeater block
- */
- //repeater block
- $options_panel->addRepeaterBlock('re_blockid',array('sortable' => true, 'inline' => false, 'name' => __('Create Slides','asteria'),'fields' => $repeater_fields));
- /**
- * Close 3rd tab
- */
- $options_panel->CloseTab();
- /**
- * Open admin page 4th tab
- */
- $options_panel->OpenTab('options_4');
- /**
- */
- //title
- $options_panel->Title(__("Style","asteria"));
- $options_panel->addParagraph(__("To change the color settings, Use the ","asteria"));
- //Logo Color
- $options_panel->addColor('sec_color_id',array('name'=> __('Secondary Element background Color','asteria'), 'std' => '#2dcb73'));
- $options_panel->addColor('head_color_id',array('name'=> __('Header Background Color','asteria'), 'std' => '#333333'));
- $options_panel->addParagraph(__("<h3 style='margin-top:60px;'>Text Colors</h3>","asteria"));
- $options_panel->addColor('primtxt_color_id',array('name'=> __('Site wide Text Color','asteria'), 'std' => '#888888'));
- $options_panel->addColor('sectxt_color_id',array('name'=> __('Text Color on secondary elements','asteria'), 'std' => '#ffffff'));
- $options_panel->addColor('menutxt_color_id',array('name'=> __('Menu Text Color','asteria'), 'std' => '#ffffff'));
- $options_panel->addColor('leavreplytxt_color_id',array('name'=> __('"Leave a Reply" Text Color','asteria'), 'std' => '#333333'));
- //ROUNDED CORNER
- $options_panel->addCheckbox('rounded_id',array('name'=> __('Rounded Corners','asteria'), 'std' => false));
- $options_panel->addCheckbox('shadow_id',array('name'=> __('Drop Shadow','asteria'), 'std' => false));
- /**
- * Close 4th tab
- */
- $options_panel->CloseTab();
- /**
- * Open admin page 5th tab
- */
- $options_panel->OpenTab('options_5');
- //title
- $options_panel->Title(__("Typography Settings","asteria"));
- //Logo Font Family
- $options_panel->addText('logo_font_id', array('name' => __('Logo Style','asteria'), 'std'=> '' , 'class' => 'fontloader'));
- //Logo Font Size
- $options_panel->addText('logo_size_id', array('name' => __('','asteria'), 'std'=> '' , 'class' => 'smalltxt'));
- //Logo Weight
- $options_panel->addSelect('logo_weight_id',array('normal'=>'Normal','bold'=>'Bold'),array('name'=> __('','asteria'), 'std'=> array('normal'), 'class' => 'no-fancy smalltxt'));
- //Logo Color
- $options_panel->addColor('logo_color_id',array('name'=> __('','asteria'), 'std' => '#FFFFFF'));
- /**
- * Close 5th tab
- */
- $options_panel->CloseTab();
- /**
- * Open admin page 6th tab
- */
- $options_panel->OpenTab('options_6');
- //title
- $options_panel->Title(__("Social Buttons","asteria"));
- //checkbox field
- $options_panel->addCheckbox('social_single_id',array('name'=> __('Social Share Icons under Posts ','asteria'), 'std' => true));
- //Facebook
- $options_panel->addText('facebook_field_id',array('name' => __('Facebook URL ','asteria')));
- //Twitter
- $options_panel->addText('twitter_field_id',array('name' => __('Twitter URL ','asteria')));
- //Google Plus
- $options_panel->addText('gplus_field_id',array('name' => __('Google Plus URL ','asteria')));
- //Youtube
- $options_panel->addText('youtube_field_id',array('name' => __('Youtube URL ','asteria')));
- //Flickr
- $options_panel->addText('flickr_field_id',array('name' => __('Flickr URL ','asteria')));
- //Linkedin
- $options_panel->addText('linkedin_field_id',array('name' => __('Linkedin URL ','asteria')));
- //Pinterest
- $options_panel->addText('pinterest_field_id',array('name' => __('Pinterest URL ','asteria')));
- //Tumblr
- $options_panel->addText('tumblr_field_id',array('name' => __('Tumblr URL ','asteria')));
- //Instagram
- $options_panel->addText('instagram_field_id',array('name' => __('Instagram URL ','asteria')));
- //RSS
- $options_panel->addText('rss_field_id',array('name' => __('RSS URL ','asteria')));
- /**
- * Close 6th tab
- */
- $options_panel->CloseTab();
- /**
- * Open admin page 7th tab
- */
- $options_panel->OpenTab('options_7');
- //title
- $options_panel->Title(__("Miscellaneous Settings","asteria"));
- //Category, Archive Page posts layout
- $options_panel->addRadio('cat_layout_id',array('layout1'=>'Layout 1'),array('name'=> __('Category, Archive Page posts layout','asteria'), 'std'=> array('layout1'), 'desc' => __('Select how you want to display posts on category and archive pages','asteria')));
- //checkbox field
- $options_panel->addCheckbox('post_info_id',array('name'=> __('Show Post Info - Date, Author Name, Categories etc..','asteria'), 'std' => true));
- //checkbox field
- $options_panel->addCheckbox('post_nextprev_id',array('name'=> __('Show Next and Previous Posts','asteria'), 'std' => true));
- //checkbox field
- $options_panel->addCheckbox('post_comments_id',array('name'=> __('Show Comments','asteria'), 'std' => true));
- //checkbox field
- $options_panel->addCheckbox('post_lightbox_id',array('name'=> __('Lightbox Feature','asteria'), 'std' => true));
- //taxonomy select field
- $options_panel->addTaxonomy('blog_cat_id',array('taxonomy' => 'category'),array('name'=> __('Display Blog Posts from a selected Category','asteria'),'class' => 'fancy' , 'desc' => __("If you have setup a Blog page with Blog Page Template, choose a category to get the posts from","asteria")));
- /**
- * Close 7th tab
- */
- $options_panel->CloseTab();
- /**
- * Open 8th tab
- */
- $options_panel->OpenTab('options_8');
- //title
- $options_panel->Title(__("Mobile Layout","asteria"));
- $options_panel->addParagraph(__("Checking each of these below option will only hide these elements from the Mobile layout.", "asteria"));
- //checkbox field
- $options_panel->addCheckbox('hide_mob_slide',array('name'=> __('Hide Slider','asteria'),'class' => 'no-fancy', 'std' => false));
- $options_panel->addCheckbox('hide_mob_blocks',array('name'=> __('Hide Front Page Blocks','asteria'),'class' => 'no-fancy', 'std' => false));
- $options_panel->addCheckbox('hide_mob_welcm',array('name'=> __('Hide Front Page Welcome Text','asteria'),'class' => 'no-fancy', 'std' => false));
- $options_panel->addCheckbox('hide_mob_frontposts',array('name'=> __('Hide Front Page Posts','asteria'),'class' => 'no-fancy', 'std' => false));
- $options_panel->addCheckbox('hide_mob_footwdgt',array('name'=> __('Hide Footer Widgets','asteria'),'class' => 'no-fancy', 'std' => false));
- $options_panel->addCheckbox('hide_mob_rightsdbr',array('name'=> __('Hide Right Sidebar','asteria'),'class' => 'no-fancy', 'std' => false));
- $options_panel->CloseTab();
- /**
- * Close 8th tab
- /**
- * Open 8th tab
- */
- $options_panel->OpenTab('options_9');
- //title
- $options_panel->Title(__("Custom CSS","asteria"));
- //textarea field
- $options_panel->addTextarea('css_textarea_id',array('name'=> __('Write your custom css here ','asteria')));
- $options_panel->CloseTab();
- /**
- * Close 8th tab
- */
- /**
- * Open 10th tab
- */
- $options_panel->OpenTab('options_10');
- //title
- $options_panel->Title(__("Maintenance Mode","asteria"));
- //checkbox field
- $options_panel->addCheckbox('offline_id',array('name'=> __('Maintenance Mode','asteria'), 'std' => false));
- //title
- $options_panel->Title(__("Back Time","asteria"));
- //date field
- $options_panel->addDate('offline_date_id',array('name'=> __('Date ','asteria'), 'std' => '18 September, 2013'));
- //Time field
- $options_panel->addTime('offline_time_id',array('name'=> __('Time ','asteria'), 'std' => '06:06'));
- $options_panel->addText('offline_text_id', array('name'=> __('Title ','asteria'), 'std'=> ''));
- //wysiwyg field
- $options_panel->addWysiwyg('offline_msg_id',array('name'=> __('Message ','asteria'), 'std'=> '' , 'desc' => __('wysiwyg field description','asteria')));
- $options_panel->CloseTab();
- /**
- * Close 10th tab
- */
- /**
- * Open 11th tab
- */
- $options_panel->OpenTab('options_11');
- //title
- $options_panel->Title(__("Import Export","asteria"));
- /**
- * add import export functionallty
- */
- $options_panel->addImportExport();
- $options_panel->CloseTab();
- /**
- * Close 11th tab
- */
- /**
- * Open 12th tab
- */
- $options_panel->OpenTab('options_12');
- //title
- $options_panel->Title(__("About The Theme","asteria"));
- $options_panel->CloseTab();
- /**
- * Close 12th tab
- */
- /**
- * Open 13th tab
- */
- $options_panel->OpenTab('options_13');
- //title
- $options_panel->Title(__("Upgrade to PRO","asteria"));
- $options_panel->CloseTab();
- /**
- * Close 13th tab
- */
- /**
- * Open 8th tab
- */
- $options_panel->OpenTab('options_14');
- //title
- $options_panel->Title(__("Documentation","asteria"));
- $options_panel->CloseTab();
- /**
- * Close 8th tab
- */
- $options_panel->CloseTab();
- //Now Just for the fun I'll add Help tabs
- $options_panel->HelpTab(array(
- 'id' =>'tab_id',
- 'title' => __('My help tab title','asteria'),
- 'content' =>'<p>'.__('This is my Help Tab content','asteria').'</p>'
- ));
- $options_panel->HelpTab(array(
- 'id' => 'tab_id2',
- 'title' => __('My 2nd help tab title','asteria'),
- 'callback' => 'help_tab_callback_demo'
- ));
- //help tab callback function
- function help_tab_callback_demo(){
- echo '<p>'.__('This is my 2nd Help Tab content from a callback function','asteria').'</p>';
- }
- function admin_pageplugin_activate(){
- $option_default_values = array(
- "block1_text_id" => "Lorem Ipsum",
- "block2_text_id" => "Lorem Ipsum",
- "block3_text_id" => "Lorem Ipsum",
- "block4_text_id" => "Lorem Ipsum",
- "slide_height" => "550px",
- "slidefont_size_id" => "60px",
- "logo_font_id" => "Cinzel+Decorative:regular",
- "logo_size_id" => "60px",
- "content_size_id" => "14px",
- "menu_size_id" => "18px",
- "offline_text_id" => "Maintenance Mode",
- "offline_msg_id" => "We are currently undergoing maintenance. Please try back after",
- "block1_textarea_id" => "Lorem ipsum dolor sit amet, consectetur dol adipiscing elit. Nam nec rhoncus risus. In ultrices lacinia ipsum, posuere faucibus velit bibe.",
- "block2_textarea_id" => "Lorem ipsum dolor sit amet, consectetur dol adipiscing elit. Nam nec rhoncus risus. In ultrices lacinia ipsum, posuere faucibus velit bibe.",
- "block3_textarea_id" => "Lorem ipsum dolor sit amet, consectetur dol adipiscing elit. Nam nec rhoncus risus. In ultrices lacinia ipsum, posuere faucibus velit bibe.",
- "block4_textarea_id" => "Lorem ipsum dolor sit amet, consectetur dol adipiscing elit. Nam nec rhoncus risus. In ultrices lacinia ipsum, posuere faucibus velit bibe.",
- "welcm_textarea_id" => "Lorem ipsum dolor sit amet, consectetur dol adipiscing elit. Nam nec rhoncus risus. In ultrices lacinia ipsum, posuere faucibus velit bibe.",
- "posts_title_id" => "<h2 style='text-align: center;'><span style='color: #e2341d;'>Check Out Our Portfolio</span></h2><p style='text-align: center;'>The Very recent work for our clients</p>",
- );
- update_option("asteria_options",$option_default_values);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement