/** * Adds contextual help to Soliloquy pages. * * @since 1.0.0 * * @global object $post The current post object */ public function contextual_help() { global $post; $current_screen = get_current_screen(); /** Set a 'global' help sidebar for all Soliloquy related pages */ if (Tgmsp_Lite::is_soliloquy_screen()) { $current_screen->set_help_sidebar(sprintf('<p><strong>%1$s</strong></p><p><strong><a href="' . apply_filters('tgmsp_affiliate_url', 'http://soliloquywp.com/pricing/?utm_source=orgrepo&utm_medium=link&utm_campaign=Soliloquy%2BLite') . '" title="%2$s" target="_blank">%2$s</a></strong></p>', Tgmsp_Lite_Strings::get_instance()->strings['sidebar_help_title'], Tgmsp_Lite_Strings::get_instance()->strings['sidebar_help_upgrade'])); } /** Set help for the main edit screen */ if ('edit-soliloquy' == $current_screen->id && Tgmsp_Lite::is_soliloquy_screen()) { $current_screen->add_help_tab(array('id' => 'soliloquy-main-help', 'title' => Tgmsp_Lite_Strings::get_instance()->strings['overview'], 'content' => sprintf('<p>%s</p><p>%s</p><p><strong>%s</strong></p>', Tgmsp_Lite_Strings::get_instance()->strings['main_help'], Tgmsp_Lite_Strings::get_instance()->strings['main_help_two'], sprintf(Tgmsp_Lite_Strings::get_instance()->strings['upgrade_nag'], sprintf('<a href="' . apply_filters('tgmsp_affiliate_url', 'http://soliloquywp.com/pricing/?utm_source=orgrepo&utm_medium=link&utm_campaign=Soliloquy%2BLite') . '" title="%1$s" target="_blank">%1$s</a>', Tgmsp_Lite_Strings::get_instance()->strings['upgrade_nag_link']), '')))); } /** Set help for the Add New and Edit screens */ if (Tgmsp_Lite::is_soliloquy_add_edit_screen()) { $current_screen->add_help_tab(array('id' => 'soliloquy-add-help', 'title' => Tgmsp_Lite_Strings::get_instance()->strings['overview'], 'content' => sprintf('<p>%s</p>', Tgmsp_Lite_Strings::get_instance()->strings['add_edit_help']))); $current_screen->add_help_tab(array('id' => 'soliloquy-advanced-help', 'title' => Tgmsp_Lite_Strings::get_instance()->strings['advanced_help'], 'content' => sprintf('<p><strong>%1$s</strong></p><p><a href="' . apply_filters('tgmsp_affiliate_url', 'http://soliloquywp.com/pricing/?utm_source=orgrepo&utm_medium=link&utm_campaign=Soliloquy%2BLite') . '" title="%2$s" target="_blank"><strong>%2$s</strong></a></p><p><a href="http://demo.soliloquywp.com/wp-admin/" title="%3$s" target="_blank"><em>%3$s</em></a></p>', Tgmsp_Lite_Strings::get_instance()->strings['advanced_help_desc'], Tgmsp_Lite_Strings::get_instance()->strings['advanced_help_up'], Tgmsp_Lite_Strings::get_instance()->strings['advanced_help_demo']))); } }
/** * Enqueue custom scripts and styles for the Soliloquy post type. * * @since 1.0.0 * * @global int $id The current post ID * @global object $post The current post object */ public function load_assets() { global $id, $post; /** Load for any Soliloquy screen */ if (Tgmsp_Lite::is_soliloquy_screen()) { wp_enqueue_style('soliloquy-admin'); /** Send the post ID along with our script */ if (Tgmsp_Lite::is_soliloquy_add_edit_screen()) { $post_id = null === $id ? $post->ID : $id; } else { $post_id = 0; } /** Store script arguments in an array */ $args = apply_filters('tgmsp_slider_object_args', array('alt' => Tgmsp_Lite_Strings::get_instance()->strings['image_alt'], 'ajaxurl' => admin_url('admin-ajax.php'), 'caption' => Tgmsp_Lite_Strings::get_instance()->strings['image_caption'], 'dismissnonce' => wp_create_nonce('soliloquy_dismissing'), 'dismissing' => Tgmsp_Lite_Strings::get_instance()->strings['dismissing'], 'duration' => 600, 'id' => $post_id, 'height' => 300, 'link' => Tgmsp_Lite_Strings::get_instance()->strings['image_link'], 'linknonce' => wp_create_nonce('soliloquy_linking'), 'linktitle' => Tgmsp_Lite_Strings::get_instance()->strings['image_url_title'], 'loading' => Tgmsp_Lite_Strings::get_instance()->strings['loading'], 'metadesc' => Tgmsp_Lite_Strings::get_instance()->strings['image_meta'], 'metanonce' => wp_create_nonce('soliloquy_meta'), 'metatitle' => Tgmsp_Lite_Strings::get_instance()->strings['update_meta'], 'modify' => Tgmsp_Lite_Strings::get_instance()->strings['modify_image'], 'modifytb' => Tgmsp_Lite_Strings::get_instance()->strings['modify_image_tb'], 'nonce' => wp_create_nonce('soliloquy_uploader'), 'remove' => Tgmsp_Lite_Strings::get_instance()->strings['remove_image'], 'removenonce' => wp_create_nonce('soliloquy_remove'), 'removing' => Tgmsp_Lite_Strings::get_instance()->strings['removing'], 'saving' => Tgmsp_Lite_Strings::get_instance()->strings['saving'], 'sortnonce' => wp_create_nonce('soliloquy_sortable'), 'speed' => 7000, 'spinner' => plugins_url('css/images/loading.gif', dirname(dirname(__FILE__))), 'savemeta' => Tgmsp_Lite_Strings::get_instance()->strings['save_meta'], 'upload' => Tgmsp_Lite_Strings::get_instance()->strings['upload_images_tb'], 'tab' => Tgmsp_Lite_Strings::get_instance()->strings['new_tab'], 'title' => Tgmsp_Lite_Strings::get_instance()->strings['image_title'], 'url' => Tgmsp_Lite_Strings::get_instance()->strings['image_url'], 'width' => 600)); wp_enqueue_script('soliloquy-admin'); wp_localize_script('soliloquy-admin', 'soliloquy', $args); } /** Only load for the Soliloquy post type add and edit screens */ if (Tgmsp_Lite::is_soliloquy_add_edit_screen()) { wp_enqueue_script('jquery-ui-sortable'); add_thickbox(); } }
/** * Filter out unnecessary row actions from the Soliloquy post table. * * @since 1.0.0 * * @param array $actions Default slider row actions * @return array $actions Amended slider row actions */ public function soliloquy_row_actions($actions) { if (Tgmsp_Lite::is_soliloquy_screen()) { unset($actions['inline hide-if-no-js']); unset($actions['view']); } return $actions; }
/** * Save extra image meta field to store image links. * * @since 1.0.0 * * @param object $attachment The current attachment object * @param array $post_var The submitted $_POST array */ public function save_image_link($attachment, $post_var) { if ($this->is_our_context() || Tgmsp_Lite::is_soliloquy_screen()) { /** Update image meta link field */ update_post_meta($attachment['ID'], '_soliloquy_image_link', isset($post_var['soliloquy_link']) ? esc_url($post_var['soliloquy_link']) : ''); update_post_meta($attachment['ID'], '_soliloquy_image_link_title', isset($post_var['soliloquy_link_title']) ? esc_attr(strip_tags($post_var['soliloquy_link_title'])) : ''); update_post_meta($attachment['ID'], '_soliloquy_image_link_tab', isset($post_var['soliloquy_link_tab']) ? (int) 1 : (int) 0); do_action('tgmsp_update_media_fields', $attachment, $post_var); } return $attachment; }
/** * Outputs any error messages when verifying license keys. * * @since 1.0.0 */ public function admin_notices() { if (Tgmsp_Lite::is_soliloquy_screen() && current_user_can('manage_options')) { /** If a user hasn't dismissed the notice yet, output it for them to upgrade */ if (!get_user_meta(get_current_user_id(), 'soliloquy_dismissed_notice', true)) { add_settings_error('tgmsp', 'tgmsp-upgrade-soliloquy', sprintf(Tgmsp_Lite_Strings::get_instance()->strings['upgrade_nag'], sprintf('<a href="' . apply_filters('tgmsp_affiliate_url', 'http://soliloquywp.com/pricing/?utm_source=orgrepo&utm_medium=link&utm_campaign=Soliloquy%2BLite') . '" title="%1$s" target="_blank">%1$s</a>', Tgmsp_Lite_Strings::get_instance()->strings['upgrade_nag_link']), sprintf('<a id="soliloquy-dismiss-notice" href="#" title="%1$s">%1$s</a>', Tgmsp_Lite_Strings::get_instance()->strings['upgrade_nag_dismiss'])), 'updated'); } /** Allow settings notices to be filtered */ apply_filters('tgmsp_output_notices', settings_errors('tgmsp')); } }