. namespace mod_bigbluebuttonbn; /** * Class plugin. * * @package mod_bigbluebuttonbn * @copyright 2019 onwards, Blindside Networks Inc * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @author Darko Miletic (darko.miletic [at] gmail [dt] com) */ abstract class plugin { /** * Component name. */ const COMPONENT = 'mod_bigbluebuttonbn'; /** * Helper function to convert an html string to plain text. * * @param string $html * @param int $len * * @return string */ public static function html2text($html, $len = 0) { $text = strip_tags($html); $text = str_replace(' ', ' ', $text); $textlen = strlen($text); $text = mb_substr($text, 0, $len); if ($textlen > $len) { $text .= '...'; } return $text; } /** * Helper generates a random password. * * @param int $length * @param string $unique * * @return string */ public static function random_password($length = 8, $unique = "") { $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; do { $password = substr(str_shuffle($chars), 0, $length); } while ($unique == $password); return $password; } }