/** * Hook in tabs. * * @since 3.0.0 */ public function __construct() { if (simcal_is_admin_screen() !== false) { add_action('simcal_settings_meta_calendar_panel', array($this, 'add_settings_meta_calendar_panel'), 10, 1); } add_action('simcal_process_settings_meta', array($this, 'process_meta'), 10, 1); }
/** * Hook in tabs. * * @since 3.0.0 * * @param Grouped_Calendars $feed */ public function __construct(Grouped_Calendars $feed) { $this->feed = $feed; if ('calendar' == simcal_is_admin_screen()) { add_filter('simcal_settings_meta_tabs_li', array($this, 'add_settings_meta_tab_li'), 10, 1); add_action('simcal_settings_meta_panels', array($this, 'add_settings_meta_panel'), 10, 1); } add_action('simcal_process_settings_meta', array($this, 'process_meta'), 10, 1); }
/** * Hook in tabs. * * @since 3.0.0 * * @param Google $feed * @param string $google_api_key * @param string $google_calendar_id */ public function __construct(Google $feed, $google_api_key, $google_calendar_id) { $this->feed = $feed; $this->google_api_key = $google_api_key; $this->google_calendar_id = $google_calendar_id; $screen = simcal_is_admin_screen(); if ('calendar' == $screen) { $this->test_api_key_connection($this->google_calendar_id); add_filter('simcal_settings_meta_tabs_li', array($this, 'add_settings_meta_tab_li'), 10, 1); add_action('simcal_settings_meta_panels', array($this, 'add_settings_meta_panel'), 10, 1); } add_action('simcal_process_settings_meta', array($this, 'process_meta'), 10, 1); }
/** * Enqueue scripts and styles. * * @since 3.0.0 */ public function load() { $css_path = SIMPLE_CALENDAR_ASSETS . 'css/'; $css_path_vendor = $css_path . 'vendor/'; $js_path = SIMPLE_CALENDAR_ASSETS . 'js/'; $js_path_vendor = $js_path . 'vendor/'; /* ====================== * * Register Admin Scripts * * ====================== */ // TipTip uses ".minified.js" filename ending. wp_register_script('simcal-tiptip', $js_path_vendor . 'jquery.tipTip' . ($this->min !== '' ? '.minified' : '') . '.js', array('jquery'), SIMPLE_CALENDAR_VERSION, true); wp_register_script('simcal-select2', $js_path_vendor . 'select2' . $this->min . '.js', array(), SIMPLE_CALENDAR_VERSION, true); wp_register_script('simcal-admin', $js_path . 'admin' . $this->min . '.js', array('jquery', 'jquery-ui-sortable', 'jquery-ui-datepicker', 'wp-color-picker', 'simcal-tiptip', 'simcal-select2'), SIMPLE_CALENDAR_VERSION, true); wp_register_script('simcal-admin-add-calendar', $js_path . 'admin-add-calendar' . $this->min . '.js', array('simcal-select2'), SIMPLE_CALENDAR_VERSION, true); /* ===================== * * Register Admin Styles * * ===================== */ wp_register_style('simcal-select2', $css_path_vendor . 'select2' . $this->min . '.css', array(), SIMPLE_CALENDAR_VERSION); wp_register_style('simcal-admin', $css_path . 'admin' . $this->min . '.css', array('wp-color-picker', 'simcal-select2'), SIMPLE_CALENDAR_VERSION); wp_register_style('simcal-admin-add-calendar', $css_path . 'admin-add-calendar' . $this->min . '.css', array('simcal-select2'), SIMPLE_CALENDAR_VERSION); if (simcal_is_admin_screen() !== false) { wp_enqueue_script('simcal-admin'); wp_localize_script('simcal-admin', 'simcal_admin', simcal_common_scripts_variables()); wp_enqueue_style('simcal-admin'); } else { global $post_type; $screen = get_current_screen(); $post_types = array(); $settings = get_option('simple-calendar_settings_calendars'); if (isset($settings['general']['attach_calendars_posts'])) { $post_types = $settings['general']['attach_calendars_posts']; } $conditions = array(in_array($post_type, (array) $post_types), $screen->id == 'widgets'); if (in_array(true, $conditions)) { wp_enqueue_script('simcal-admin-add-calendar'); wp_localize_script('simcal-admin-add-calendar', 'simcal_admin', array('locale' => get_locale(), 'text_dir' => is_rtl() ? 'rtl' : 'ltr')); wp_enqueue_style('simcal-admin-add-calendar'); } } }
/** * Newsletter signup form. * * @since 3.0.0 * * @return void */ function simcal_newsletter_signup() { if ($screen = simcal_is_admin_screen()) { global $current_user; wp_get_current_user(); $name = $current_user->user_firstname ? $current_user->user_firstname : ''; ?> <div id="simcal-drip" class="<?php echo $screen; ?> "> <div class="signup"> <p> <?php _e("Enter your name and email and we'll send you a coupon code for 20% off our Google Calendar Pro add-on.", 'google-calendar-events'); ?> </p> <p> <label for="simcal-drip-field-email"><?php _e('Your Email', 'google-calendar-events'); ?> </label><br /> <input type="email" id="simcal-drip-field-email" name="fields[email]" value="<?php echo $current_user->user_email; ?> " /> </p> <p> <label for="simcal-drip-field-first_name"><?php _e('First Name', 'google-calendar-events'); ?> </label><br /> <input type="text" id="simcal-drip-field-first_name" name="fields[first_name]" value="<?php echo $name; ?> " /> </p> <p class="textright"> <a href="#" id="simcal-drip-signup" class="button button-primary"><?php _e('Send me the coupon', 'google-calendar-events'); ?> </a> </p> <div class="textright"> <a href="<?php echo simcal_ga_campaign_url(simcal_get_url('gcal-pro'), 'core-plugin', 'sidebar-link'); ?> " target="_blank"><?php _e('Just take me to GCal Pro', 'google-calendar-events'); ?> </a> </div> </div> <div class="thank-you" style="display: none;"> <?php _e('Thank you!', 'google-calendar-events'); ?> </div> <div class="clear"> </div> </div> <?php } }
/** * Admin footer text filter callback. * * Change this plugin screens admin footer text. * * @since 3.0.0 * * @param $footer_text * * @return string|void */ public function admin_footer_text($footer_text) { // Check to make sure we're on a SimpleCal admin page $screen = simcal_is_admin_screen(); if ($screen !== false) { if ('calendar' == $screen) { // Add Drip promo signup form (@see Newsletter meta box). $drip_form_id = '9817628'; ?> <form id="simcal-drip-form" method="post" target="_blank" action="https://www.getdrip.com/forms/<?php echo $drip_form_id; ?> /submissions/" data-drip-embedded-form="<?php echo $drip_form_id; ?> "> <input type="hidden" id="simcal-drip-real-field-first_name" name="fields[first_name]" value="" /> <input type="hidden" id="simcal-drip-real-field-email" name="fields[email]" value="" /> <input type="submit" class="hidden"/> </form> <?php } // Change the footer text if (!get_option('simple-calendar_admin_footer_text_rated')) { $footer_text = sprintf(__('If you like <strong>Simple Calendar</strong> please leave us a %s★★★★★ rating on WordPress.org%s. A huge thank you in advance!', 'google-calendar-events'), '<a href="https://wordpress.org/support/view/plugin-reviews/google-calendar-events?filter=5#postform" target="_blank" class="simcal-rating-link" data-rated="' . esc_attr__('Thanks :)', 'google-calendar-events') . '">', '</a>'); $footer_text .= '<script type="text/javascript">'; $footer_text .= "jQuery( 'a.simcal-rating-link' ).click( function() {\n\t\t\t\t\t\tjQuery.post( '" . \SimpleCalendar\plugin()->ajax_url() . "', { action: 'simcal_rated' } );\n\t\t\t\t\t\tjQuery( this ).parent().text( jQuery( this ).data( 'rated' ) );\n\t\t\t\t\t});"; $footer_text .= '</script>'; } else { $footer_text = __('Thank you for using Simple Calendar!', 'google-calendar-events'); } } return $footer_text; }
/** * Upgrade to Premium Add-ons HTML. * * @since 3.1.6 * * @return void */ function simcal_upgrade_to_premium() { if ($screen = simcal_is_admin_screen()) { ?> <div class="main"> <p class="heading centered"> <?php _e('Some of the features included with our premium add-ons', 'google-calendar-events'); ?> </p> <ul> <li><div class="dashicons dashicons-yes"></div> <?php _e('Display color coded events', 'google-calendar-events'); ?> </li> <li><div class="dashicons dashicons-yes"></div> <?php _e('Show week & day views', 'google-calendar-events'); ?> </li> <li><div class="dashicons dashicons-yes"></div> <?php _e('Fast view switching', 'google-calendar-events'); ?> </li> <li><div class="dashicons dashicons-yes"></div> <?php _e('Event titles & start times in grid', 'google-calendar-events'); ?> </li> <li><div class="dashicons dashicons-yes"></div> <?php _e('Limit event display times', 'google-calendar-events'); ?> </li> <li><div class="dashicons dashicons-yes"></div> <?php _e('Display private calendar events', 'google-calendar-events'); ?> </li> <li><div class="dashicons dashicons-yes"></div> <?php _e('Show attendees & RSVP status', 'google-calendar-events'); ?> </li> <li><div class="dashicons dashicons-yes"></div> <?php _e('Display attachments', 'google-calendar-events'); ?> </li> <li><div class="dashicons dashicons-yes"></div> <?php _e('Priority email support', 'google-calendar-events'); ?> </li> </ul> <div class="centered"> <a href="<?php echo simcal_ga_campaign_url(simcal_get_url('addons'), 'core-plugin', 'sidebar-link'); ?> " class="button-primary button-large" target="_blank"> <?php _e('Upgrade to Premium Now', 'google-calendar-events'); ?> </a> </div> </div> <?php } }
/** * Edit calendars table hooks. * * @since 3.0.0 * @internal */ public function edit_table_hooks() { $screen = simcal_is_admin_screen(); if ('edit-calendar' == $screen) { add_action('in_admin_footer', function () { }); } }