fair-plugin/inc/icons/namespace.php

49 lines
930 B
PHP

<?php
/**
* Adds a local source for default icon SVG.
*
* @package FAIR
*/
namespace FAIR\Icons;
use const FAIR\PLUGIN_FILE;
/**
* Bootstrap
*/
function bootstrap() {
add_filter( 'site_transient_update_plugins', __NAMESPACE__ . '\\set_default_icon', 99, 1 );
}
/**
* Set default icon in update transient.
*
* @param stdClass $transient Update transient.
*
* @return stdClass
*/
function set_default_icon( $transient ) {
if ( ! property_exists( $transient, 'response' ) ) {
return $transient;
}
foreach ( $transient->response as $updates ) {
$url = plugin_dir_url( PLUGIN_FILE ) . 'inc/icons/svg.php';
$url = add_query_arg( 'color', set_random_color(), $url );
$updates->icons['default'] = $url;
}
return $transient;
}
/**
* Set random color.
*
* @return string
*/
function set_random_color() {
$rand = str_pad( dechex( wp_rand( 0x000000, 0xFFFFFF ) ), 6, 0, STR_PAD_LEFT );
return $rand;
}