/** * Try to guess next episode number/id from previous slug. * * The slug is expected to consist of the podcast slug and the episode number. * Something like these: cre162, ppp000, wrint42 * I am looking for the first number and add one. If there is no episode, * start with number 1. * * Add leading zeroes if it is configured. * * @return string episode number/id with or without leading zeroes */ public function guess_next_episode_id_for_show() { // try to derive next number from previous episode slug $number = 1; $episode = Model\Episode::last(); if ($episode && preg_match("/\\d+/", $episode->slug, $matches)) { $number = (int) $matches[0] + 1; } $number = "{$number}"; // add leading zeros $leading_zeros = $this->get_module_option('leading_zeros', 3); if ($leading_zeros !== 'no') { while (strlen($number) < $leading_zeros) { $number = "0{$number}"; } } return $number; }