_emailKey = array_shift($this->argv); $this->_locales = array_shift($this->argv); if ($this->_emailKey === null || $this->_locales === null) { $this->usage(); exit(); } } /** * Print command usage information. */ function usage() { echo "Command-line tool for installing email templates.\n" . "Usage:\n" . "\t{$this->scriptName} emailKey aa_BB[,cc_DD,...] [path/to/emails.po]\n" . "\t\temailKey: The email key of the email to install, e.g. ANNOUNCEMENT\n" . "\t\taa_BB[,cc_DD,...]: The comma-separated list of locales to install\n"; } /** * Execute upgrade task */ function execute() { // Load the necessary locale data $locales = explode(',', $this->_locales); foreach ($locales as $locale) AppLocale::requireComponents(LOCALE_COMPONENT_APP_EMAIL, $locale); // Install to the database $emailTemplateDao = DAORegistry::getDAO('EmailTemplateDAO'); /* @var $emailTemplateDao EmailTemplateDAO */ $emailTemplateDao->installEmailTemplates($emailTemplateDao->getMainEmailTemplatesFilename(), $locales, false, $this->_emailKey); } } $tool = new installEmailTemplates(isset($argv) ? $argv : array()); $tool->execute();