public function run() { global $pagenow; // Connection overview script if (isset($_GET['page']) && $_GET['page'] == 'post_connector') { // Load PTL JS wp_enqueue_script('post-connector-ptl', plugins_url('core/assets/js/post-connector-ptl' . (!SCRIPT_DEBUG ? '.min' : '') . '.js', Post_Connector::get_plugin_file()), array('jquery')); // Make PTL JavaScript strings translatable wp_localize_script('post-connector-ptl', 'sp_js', SP_Javascript_Strings::get()); } // Connection edit script if (isset($_GET['page']) && $_GET['page'] == 'post_connector_edit') { // Load PTL JS wp_enqueue_script('pc-connection-edit', plugins_url('core/assets/js/post-connector-connection-edit' . (!SCRIPT_DEBUG ? '.min' : '') . '.js', Post_Connector::get_plugin_file()), array('jquery')); // Make PTL JavaScript strings translatable wp_localize_script('pc-connection-edit', 'sp_js', SP_Javascript_Strings::get()); } // Post Link script if ($pagenow == 'post.php' || $pagenow == 'post-new.php') { // Load PL JS wp_enqueue_script('post-connector-pl', plugins_url('core/assets/js/post-connector-pl' . (!SCRIPT_DEBUG ? '.min' : '') . '.js', Post_Connector::get_plugin_file()), array('jquery', 'jquery-ui-sortable')); // Make PL JavaScript strings translatable wp_localize_script('post-connector-pl', 'sp_js', SP_Javascript_Strings::get()); } // Widget & Shortcode script if ($pagenow == 'post.php' || $pagenow == 'post-new.php' || $pagenow == 'widgets.php') { // Load Widget & Shortcode script wp_enqueue_script('post-connector-widget-shortcode', plugins_url('core/assets/js/post-connector-widget-shortcode' . (!SCRIPT_DEBUG ? '.min' : '') . '.js', Post_Connector::get_plugin_file()), array('jquery')); // Make Widget / Shortcode JavaScript strings translatable wp_localize_script('post-connector-widget-shortcode', 'sp_js', SP_Javascript_Strings::get()); } // CSS wp_enqueue_style('post_connector', plugins_url('core/assets/css/post-connector' . (!SCRIPT_DEBUG ? '.min' : '') . '.css', Post_Connector::get_plugin_file())); }
/** * Initialize the plugin */ public function init() { // Load plugin textdomain load_plugin_textdomain('post-connector', false, dirname(plugin_basename(Post_Connector::get_plugin_file())) . '/languages/'); // Setup autoloader require_once self::get_core_dir() . '/classes/class-autoloader.php'; $autoloader = new SP_Autoloader(self::get_core_dir()); spl_autoload_register(array($autoloader, 'load')); // Filters $manager_filter = new SP_Manager_Filter(plugin_dir_path(__FILE__) . 'filters/'); $manager_filter->load_filters(); // Hooks $manager_hook = new SP_Manager_Hook(plugin_dir_path(__FILE__) . 'hooks/'); $manager_hook->load_hooks(); // Shortcodes $manager_shortcode = new SP_Manager_Shortcode(); $manager_shortcode->load_shortcodes(); // Widgets $manager_widget = new SP_Manager_Widget(plugin_dir_path(__FILE__) . 'widgets/'); $manager_widget->load(); // Menu init SP_Admin_Menu::get(); // Plugin upgrader if (is_admin()) { $plugin_updater = new SP_Upgrade_Manager(); $plugin_updater->check_update(); } }
public function run($plugin_array) { if (!current_user_can('edit_posts') && !current_user_can('edit_pages')) { return $plugin_array; } if (get_user_option('rich_editing') != 'true') { return $plugin_array; } $plugin_array['Post_Connector_Shortcodes'] = plugins_url('core/assets/js/tinymce/editor_shortcode.js', Post_Connector::get_plugin_file()); return $plugin_array; }
public function __construct() { parent::__construct(SP_Constants::EDD_STORE_URL, SP_Constants::EDD_PLUGIN_NAME, plugin_basename(Post_Connector::get_plugin_file()), SP_Constants::PLUGIN_VERSION_NAME, 'https://www.post-connector.com/', 'admin.php?page=post_connector_license', 'post-connector', SP_Constants::PLUGIN_AUTHOR); }
/** * Get the Post Connector Core directory * * @return string */ public static function get_core_dir() { return dirname(Post_Connector::get_plugin_file()) . '/core/'; }
/** * Get Premium directory * * @return string */ public static function get_premium_dir() { return dirname(Post_Connector::get_plugin_file()) . '/premium/'; }
/** * Metabox content * * @access public * @return void */ public function callback($post) { echo "<div class='sp_mb_manage'>\n"; // Add nonce echo "<input type='hidden' name='sp-ajax-nonce' id='sp-ajax-nonce' value='" . wp_create_nonce('post-connector-ajax-nonce-omgrandomword') . "' />\n"; // Output plugin URL in hidden val echo "<input type='hidden' name='sp-dir-img' id='sp-dir-img' value='" . plugins_url('/core/assets/images/', Post_Connector::get_plugin_file()) . "' />\n"; // Setup vars $sp_parent = isset($_GET['sp_parent']) ? $_GET['sp_parent'] : ''; $sp_pt_link = isset($_GET['sp_pt_link']) ? $_GET['sp_pt_link'] : ''; // Create a Post Link Manager object $post_link_manager = new SP_Post_Link_Manager(); // Get the children $children = $post_link_manager->get_children($this->connection->get_slug(), $post->ID); $child_post_type = get_post_type_object($this->connection->get_child()); echo "<div class='pt_button_holder'>\n"; // Check if user is allowed to add new children if ($this->connection->get_add_new() == '1') { // Build the Post Connector link existing post URL $url = get_admin_url() . "post-new.php?post_type=" . $this->connection->get_child() . "&sp_parent=" . SP_Parent_Param::generate_sp_parent_param($post->ID, $sp_pt_link, $sp_parent, 0) . "&sp_pt_link=" . $this->connection->get_id(); // WPML check if (isset($_GET['lang'])) { $url .= "&lang=" . $_GET['lang']; } echo "<span id='view-post-btn'>"; echo "<a href='" . $url . "' class='button'>"; printf(__('Add new %s', 'post-connector'), $child_post_type->labels->singular_name); echo "</a>"; echo "</span>\n"; } // Check if user is allowed to add existing children if ($this->connection->get_add_existing() == '1') { // Build the Post Connector link existing post URL $url = get_admin_url() . "admin.php?page=link_post_screen&sp_parent=" . SP_Parent_Param::generate_sp_parent_param($post->ID, $sp_pt_link, $sp_parent, 0) . "&sp_pt_link=" . $this->connection->get_id(); // WPML check if (isset($_GET['lang'])) { $url .= "&lang=" . $_GET['lang']; } /** * Action: 'pc_meta_box_manage_add_existing_url' - Allow adjusting of 'add existing' URL * * @api string $url The URL * @param SP_Connection $connection The connection */ $url = apply_filters('pc_meta_box_manage_add_existing_url', $url, $this->connection); echo "<span id='view-post-btn'>"; echo "<a href='" . $url . "' class='button'>"; printf(__('Add existing %s', 'post-connector'), $child_post_type->labels->singular_name); echo "</a>"; echo "</span>\n"; } echo "</div>\n"; if (count($children) > 0) { $table_classes = 'wp-list-table widefat fixed pages pt_table_manage'; /** * Action: 'pc_meta_box_manage_table_classes' - Allow adjusting meta box manage table classes * * @api string $table_classes The table classes * @param SP_Connection $connection The connection */ $table_classes = apply_filters('pc_meta_box_manage_table_classes', $table_classes, $this->connection); // Managet table echo "<table class='" . $table_classes . "'>\n"; echo "<tbody>\n"; $i = 0; foreach ($children as $link_id => $child) { $child_id = $child->ID; $edit_url = get_admin_url() . "post.php?post={$child_id}&action=edit&sp_parent=" . SP_Parent_Param::generate_sp_parent_param($post->ID, $sp_pt_link, $sp_parent, 0) . "&sp_pt_link=" . $this->connection->get_id(); echo "<tr id='{$link_id}'>\n"; echo "<td>"; echo "<strong><a href='{$edit_url}' class='row-title' title='{$child->post_title}'>{$child->post_title}</a></strong>\n"; echo "<div class='row-actions'>\n"; echo "<span class='edit'><a href='{$edit_url}' title='" . __('Edit this item', 'post-connector') . "'>"; _e('Edit', 'post-connector'); echo "</a> | </span>"; echo "<span class='trash'><a class='submitdelete' title='" . __('Delete this item', 'post-connector') . "' href='javascript:;'>"; _e('Delete', 'post-connector'); echo "</a></span>"; echo "</div>\n"; echo "</td>\n"; echo "</tr>\n"; $i++; } echo "</tbody>\n"; echo "</table>\n"; } else { echo '<br/>'; printf(__('No %s found.', 'post-connector'), $child_post_type->labels->name); } // Reset Post Data wp_reset_postdata(); echo "</div>\n"; }