'', 'favicon_icon16' => '', 'favicon_shortcut_icon' => '', ]; $favicon_options = []; foreach ($defaults as $key => $default_value) { $val = yourls_get_option($key); if ($val === false) $val = $default_value; $favicon_options[$key] = $val; } $escape_attr = function($str) { return htmlspecialchars($str, ENT_QUOTES | ENT_HTML5); }; echo <<Webmaster Settings

Logo Settings

Title Settings

Footer Settings

Custom CSS

Favicon Lines Settings


Ivan Carlos » GitHub » Buy Me a Coffee

HTML; } // Update options function icc_config_update_option() { $fields_logo = ['icc_logo_imageurl', 'icc_logo_imageurl_tag', 'icc_logo_imageurl_title']; foreach ($fields_logo as $key) { if (isset($_POST[$key])) yourls_update_option($key, strval($_POST[$key])); } if (isset($_POST['icc_title_custom'])) yourls_update_option('icc_title_custom', strval($_POST['icc_title_custom'])); if (isset($_POST['icc_footer_text'])) yourls_update_option('icc_footer_text', $_POST['icc_footer_text']); if (isset($_POST['icc_custom_css'])) yourls_update_option('icc_custom_css', $_POST['icc_custom_css']); $fields_favicon = ['favicon_icon32','favicon_icon16','favicon_shortcut_icon']; foreach ($fields_favicon as $key) { if (isset($_POST[$key])) yourls_update_option($key, strval($_POST[$key])); } } // Show custom logo yourls_add_filter( 'pre_html_logo', 'icc_hideoriginallogo' ); function icc_hideoriginallogo() { echo ''; echo '

'; echo ''; echo ''.yourls_get_option( 'icc_logo_imageurl_tag' ).''; echo '

'; } // Show custom title yourls_add_filter( 'html_title', 'icc_change_title' ); function icc_change_title( $value ) { $custom = yourls_get_option( 'icc_title_custom' ); if ($custom !== '') return $custom; return $value; } // Replace footer text with custom footer from option yourls_add_filter( 'html_footer_text', 'icc_change_footer' ); function icc_change_footer( $value ) { $custom_footer = yourls_get_option( 'icc_footer_text' ); if ( !empty($custom_footer) ) return $custom_footer; return $value; } // Output favicon lines (only if set) yourls_add_filter('shunt_html_favicon', 'icc_plugin_favicon'); function icc_plugin_favicon() { $opts = [ 'favicon_icon32' => yourls_get_option('favicon_icon32'), 'favicon_icon16' => yourls_get_option('favicon_icon16'), 'favicon_shortcut_icon' => yourls_get_option('favicon_shortcut_icon'), ]; if (!empty($opts['favicon_icon32'])) { echo ''."\n"; } if (!empty($opts['favicon_icon16'])) { echo ''."\n"; } if (!empty($opts['favicon_shortcut_icon'])) { echo ''."\n"; } return true; } // Output custom CSS if set yourls_add_action('html_head', 'icc_print_custom_css'); function icc_print_custom_css() { $css = yourls_get_option('icc_custom_css'); if ($css !== false && trim($css) !== '') { echo "\n"; } }