'',
'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
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 '';
}
yourls_add_filter( 'html_logo', 'icc_logo' );
function icc_logo() {
echo '';
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";
}
}