support forums and sign up for the mailing list to receive updates and news. By Husani Oakley. Version: 1.4 */ /* Copyright 2009 Husani Oakley (email : This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /** SETTINGS AND REQUIRED FILES */ define("LINKSHORTCUT_NAME", "/link-shortcut"); define("LINKSHORTCUT_UI_LOC", ABSPATH . PLUGINDIR . LINKSHORTCUT_NAME . "/admin"); require_once(ABSPATH . PLUGINDIR . LINKSHORTCUT_NAME . "/lib/Linkshortcut.php"); require_once(ABSPATH . PLUGINDIR . LINKSHORTCUT_NAME . "/lib/LinkshortcutInstaller.php"); require_once(ABSPATH . PLUGINDIR . LINKSHORTCUT_NAME . "/lib/LinkshortcutAdmin.php"); require_once(ABSPATH . PLUGINDIR . LINKSHORTCUT_NAME . "/lib/LinkshortcutDataManager.php"); //grab control of the flow during template_redirect. add_action('template_redirect', 'linkshortcut'); /** * MAIN WORK FUNCTION. At this point, we know if WP has found the content. if we're a * 404, we'll check to see if it's a linkshortcut. if it is, redirect; otherwise, do nothing * and let WP continue with the error process. */ function linkshortcut(){ global $wp_query; //are we a 404? if(is_404()){ //yes. send to linkshortcut, which will determine if we redirect or not. $LinkshortcutManager = new LinkshortcutManager; $LinkshortcutManager->go(); } } /********* HOOKS AND ACTIONS REGISTRATION FOR INSTALL/UNINSTALL AND ADMIN PANELS ***********/ /** create options page and menu structure/pages */ add_action('admin_menu', 'linkshortcutAdminMenuCreation'); function linkshortcutAdminMenuCreation() { $LinkshortcutAdmin = new LinkshortcutAdmin(); add_menu_page("Link Shortcuts", "Link Shortcuts", 8, 'linkshortcut_list', array($LinkshortcutAdmin, 'displayMain')); add_submenu_page('linkshortcut_list', "addnew", "Add New", 8, 'linkshortcut_addnew', array($LinkshortcutAdmin, 'displayAddNewForm')); if(is_admin()){ //include javascript add_action('wp_print_scripts', array($LinkshortcutAdmin,'displayJS')); } add_options_page('Link Shortcut Options', 'Link Shortcut Options', 8, 'linkshortcut_options', array($LinkshortcutAdmin, 'displayOptionsPanel')); } /** set up ajax for admin custom ident check */ $LinkshortcutAdmin = new LinkshortcutAdmin(); add_action('wp_ajax_linkshortcut_check_ident', array($LinkshortcutAdmin, 'checkIdentWithAjax')); /** register activation/deactivation hooks. since i can't seem to get a class's method used as a callback, doing it ghetto style. */ $LinkshortcutInstaller = new LinkshortcutInstaller; register_activation_hook(__FILE__,array($LinkshortcutInstaller,'doInstall')); register_deactivation_hook(__FILE__,array($LinkshortcutInstaller,'doUninstall')); ?> outubro 2019 – Meu App