File "Id_Generator.php"

Full Path: /home/romayxjt/public_html/wp-content/plugins/the-events-calendar/src/Tribe/Utils/Id_Generator.php
File size: 774 bytes
MIME-type: text/x-php
Charset: utf-8

<?php


class Tribe__Events__Utils__Id_Generator {

	protected static $count = [];

	public static function generate_id( $string, $group = 'default' ) {

		if ( ! ( is_string( $string ) || ( is_int( $string ) ) ) ) {
			throw new InvalidArgumentException( 'First argument must be a string or an int' );
		}

		if ( ! ( is_string( $group ) || is_int( $group ) ) ) {
			throw new InvalidArgumentException( 'Group argument must be a string' );
		}

		if ( ! isset( self::$count[ $group ] ) ) {
			self::$count[ $group ] = 0;
		}

		$out = $string . '-' . self::$count[ $group ];
		self::$count[ $group ] ++;

		return $out;
	}

	public static function reset( $group = null ) {
		if ( empty( $group ) ) {
			self::$count = [];
		} else {
			self::$count[ $group ] = 0;
		}
	}
}