24) { elgg_create_upgrade_show_usage('Upgrade names cannot be longer than 24 characters.'); } require_once '../../../version.php'; require_once '../elgglib.php'; $upgrade_path = dirname(__FILE__); $upgrade_name = strtolower($name); $upgrade_name = str_replace(array(' ', '-'), '_', $upgrade_name); $upgrade_release = str_replace(array(' ', '-'), '_', $release); $time = time(); $upgrade_rnd = substr(md5($time), 0, 16); $upgrade_date = date('Ymd', $time); // determine the inc count $upgrade_inc = 0; $files = elgg_get_file_list($upgrade_path); sort($files); foreach ($files as $filename) { $filename = basename($filename); $date = (int)substr($filename, 0, 8); $inc = (int)substr($filename, 8, 2); if ($upgrade_date == $date) { if ($inc >= $upgrade_inc) { $upgrade_inc = $inc + 1; } } } // zero-pad // if there are more than 10 upgrades in a day, someone needs talking to. if ($upgrade_inc < 10) { $upgrade_inc = "0$upgrade_inc"; } $upgrade_version = $upgrade_date . $upgrade_inc; // make filename if (substr($release, 0, 3) == '1.7') { // 1.7 upgrades are YYYYMMDDXX $upgrade_name = $upgrade_version . '.php'; } else { // 1.8+ upgrades are YYYYMMDDXX-release-friendly_name-rnd $upgrade_name = $upgrade_version . "-$upgrade_release-$name-$upgrade_rnd.php"; } $upgrade_file = $upgrade_path . '/' . $upgrade_name; if (is_file($upgrade_file)) { elgg_create_upgrade_show_usage("Upgrade file $upgrade_file already exists. This script has failed you."); } $upgrade_code = <<<___UPGRADE