decode($content); return $result; } return false; } } } register_widget( 'Alpine_PhotoTile_for_Instagram' ); } add_action('widgets_init','APTFINbyTAP_widget_register'); /** * Load Admin JS and CSS * * @ Since 1.0.0 * @ Updated 1.2.3 */ function APTFINbyTAP_admin_widget_script($hook){ $bot = new PhotoTileForInstagramBot(); // Bot needed to clean cache wp_register_script($bot->get_private('ajs'),$bot->get_script('admin'),'',$bot->get_private('ver') ); wp_register_style($bot->get_private('acss'),$bot->get_style('admin'),'',$bot->get_private('ver') ); $bot->do_alpine_method('register_style_and_script'); // Register widget styles and scripts if( 'widgets.php' != $hook ){ return; } wp_enqueue_script( 'jquery'); wp_enqueue_script($bot->get_private('ajs')); wp_enqueue_style($bot->get_private('acss')); add_action('admin_print_footer_scripts', 'APTFINbyTAP_menu_toggles'); // Only admin can trigger two week cache cleaning by visiting widgets.php $disablecache = $bot->get_option( 'cache_disable' ); if ( empty($disablecache) ) { $bot->do_alpine_method('cleanCache'); } } add_action('admin_enqueue_scripts', 'APTFINbyTAP_admin_widget_script'); /** * Load JS to activate menu toggles * * @ Since 1.0.0 * */ function APTFINbyTAP_menu_toggles(){ $bot = new PhotoTileForInstagramPrimary(); ?> do_alpine_method('register_style_and_script'); // Register widget styles and scripts } add_action('wp_enqueue_scripts', 'APTFINbyTAP_enqueue_display_scripts'); /** * Setup the Theme Admin Settings Page * * @ Since 1.0.1 */ function APTFINbyTAP_admin_options() { $bot = new PhotoTileForInstagramPrimary(); $page = add_options_page(__($bot->get_private('page')), __($bot->get_private('page')), 'manage_options', $bot->get_private('settings') , 'APTFINbyTAP_admin_options_page'); /* Using registered $page handle to hook script load */ add_action('admin_print_scripts-' . $page, 'APTFINbyTAP_enqueue_admin_scripts'); } // Load the Admin Options page add_action('admin_menu', 'APTFINbyTAP_admin_options'); /** * Enqueue admin scripts (and related stylesheets) * * @ Since 1.0.0 */ function APTFINbyTAP_enqueue_admin_scripts() { $bot = new PhotoTileForInstagramPrimary(); wp_enqueue_script( 'jquery' ); wp_enqueue_style( 'farbtastic' ); wp_enqueue_script( 'farbtastic' ); wp_enqueue_script($bot->get_private('ajs')); wp_enqueue_style($bot->get_private('acss')); add_action('admin_print_footer_scripts', 'APTFINbyTAP_menu_toggles'); add_action('admin_print_footer_scripts', 'APTFINbyTAP_shortcode_select'); } /** * Settings Page Markup * * @ Since 1.0.2 */ function APTFINbyTAP_admin_options_page() { if (!current_user_can('manage_options')) { wp_die( __('You do not have sufficient permissions to access this page.') ); } $adminbot = new PhotoTileForInstagramAdmin(); $adminbot->do_alpine_method('admin_build_settings_page'); } /** * Settings link on plugin page * * @ Since 1.2.5 * @ Updated 1.2.7 */ function APTFINbyTAP_plugin_settings_link($links) { $bot = new PhotoTileForInstagramPrimary(); $user_link = ''. __('Add User') .''; array_push($links, $user_link); $generator_link = ''. __('Shortcode') .''; array_push($links, $generator_link); $settings_link = ''. __('Settings') .''; array_push($links, $settings_link); $tools_link = ''. __('Tools') .''; array_push($links, $tools_link); return $links; } $plugin = plugin_basename(__FILE__); add_filter("plugin_action_links_$plugin", 'APTFINbyTAP_plugin_settings_link' ); /** * Meta link on plugin page * * @ Since 1.2.5 */ function APTFINbyTAP_plugin_meta_links($links, $file) { $plugin = plugin_basename(__FILE__); $bot = new PhotoTileForInstagramPrimary(); if ($file == $plugin){ // only for this plugin $donate_link = '' . __('Donate') . ''; array_push($links, $donate_link); } return $links; } add_filter( 'plugin_row_meta', 'APTFINbyTAP_plugin_meta_links', 10, 2 ); ?>