| | 326 | |
|---|
| | 327 | function doUpgrade($modulename, $force) { |
|---|
| | 328 | // either will exit() if there's a problem |
|---|
| | 329 | doDownload($modulename, $force); |
|---|
| | 330 | doInstall($modulename, $force); |
|---|
| | 331 | } |
|---|
| | 332 | |
|---|
| | 333 | function getUpgradableModules() { |
|---|
| | 334 | $modules_local = module_getinfo(false, MODULE_STATUS_ENABLED); |
|---|
| | 335 | $modules_online = module_getonlinexml(); |
|---|
| | 336 | $modules_upgradable = array(); |
|---|
| | 337 | |
|---|
| | 338 | foreach (array_keys($modules_local) as $name) { |
|---|
| | 339 | if (isset($modules_online[$name])) { |
|---|
| | 340 | if (version_compare($modules_local[$name]['version'], $modules_online[$name]['version']) < 0) { |
|---|
| | 341 | $modules_upgradable[] = $name; |
|---|
| | 342 | } |
|---|
| | 343 | } |
|---|
| | 344 | } |
|---|
| | 345 | return $modules_upgradable; |
|---|
| | 346 | } |
|---|
| | 347 | |
|---|
| | 348 | function doUpgradeAll($force) { |
|---|
| | 349 | $modules = getUpgradableModules(); |
|---|
| | 350 | out("Upgrading: ".implode(', ',$modules)); |
|---|
| | 351 | sleep(1); // a bit of time to ^C abort.. |
|---|
| | 352 | foreach ($modules as $modulename) { |
|---|
| | 353 | out("Upgrading $modulename.."); |
|---|
| | 354 | doUpgrade($modulename, $force); |
|---|
| | 355 | } |
|---|
| | 356 | out("Done all upgrades."); |
|---|
| | 357 | } |
|---|
| | 358 | |
|---|
| | 359 | |
|---|
| | 458 | if (empty($param)) { |
|---|
| | 459 | fatal("Missing module name"); |
|---|
| | 460 | } |
|---|
| | 461 | doInstall($param, $force); |
|---|
| | 462 | break; |
|---|
| | 463 | case 'enable': |
|---|
| | 464 | if (empty($param)) { |
|---|
| | 465 | fatal("Missing module name"); |
|---|
| | 466 | } |
|---|
| | 467 | doEnable($param, $force); |
|---|
| | 468 | break; |
|---|
| | 469 | case 'disable': |
|---|
| | 470 | if (empty($param)) { |
|---|
| | 471 | fatal("Missing module name"); |
|---|
| | 472 | } |
|---|
| | 473 | doDisable($param, $force); |
|---|
| | 474 | break; |
|---|
| | 475 | case 'uninstall': |
|---|
| | 476 | if (empty($param)) { |
|---|
| | 477 | fatal("Missing module name"); |
|---|
| | 478 | } |
|---|
| | 479 | doUninstall($param, $force); |
|---|
| | 480 | break; |
|---|
| | 481 | case 'delete': |
|---|
| | 482 | if (empty($param)) { |
|---|
| | 483 | fatal("Missing module name"); |
|---|
| | 484 | } |
|---|
| | 485 | doDelete($param, $force); |
|---|
| | 486 | break; |
|---|
| 433 | | if (empty($param)) { |
|---|
| 434 | | fatal("Missing module name"); |
|---|
| 435 | | } |
|---|
| 436 | | doInstall($param, $force); |
|---|
| 437 | | break; |
|---|
| 438 | | case 'enable': |
|---|
| 439 | | if (empty($param)) { |
|---|
| 440 | | fatal("Missing module name"); |
|---|
| 441 | | } |
|---|
| 442 | | doEnable($param, $force); |
|---|
| 443 | | break; |
|---|
| 444 | | case 'disable': |
|---|
| 445 | | if (empty($param)) { |
|---|
| 446 | | fatal("Missing module name"); |
|---|
| 447 | | } |
|---|
| 448 | | doDisable($param, $force); |
|---|
| 449 | | break; |
|---|
| 450 | | case 'uninstall': |
|---|
| 451 | | if (empty($param)) { |
|---|
| 452 | | fatal("Missing module name"); |
|---|
| 453 | | } |
|---|
| 454 | | doUninstall($param, $force); |
|---|
| 455 | | break; |
|---|
| 456 | | case 'delete': |
|---|
| 457 | | if (empty($param)) { |
|---|
| 458 | | fatal("Missing module name"); |
|---|
| 459 | | } |
|---|
| 460 | | doDelete($param, $force); |
|---|
| | 488 | doUpgrade($param, $force); |
|---|
| | 489 | break; |
|---|
| | 490 | case 'upgradeall': |
|---|
| | 491 | doUpgradeAll($force); |
|---|