addRoleAssignment(array(ROLE_ID_AUTHOR, ROLE_ID_SUB_EDITOR, ROLE_ID_MANAGER), array('index', 'wizard', 'step', 'saveStep', 'fetchChoices')); } // // Public methods // /** * Retrieves a JSON list of available choices for a tagit metadata input field. * @param $args array * @param $request Request */ function fetchChoices($args, $request) { $term = $request->getUserVar('term'); switch ($request->getUserVar('list')) { case 'languages': $languageDao = DAORegistry::getDAO('LanguageDAO'); $languages = $languageDao->getLanguages(AppLocale::getLocale()); $matches = array(); foreach ($languages as $language) { if (stristr($language->getName(), $term)) $matches[$language->getCode()] = $language->getName(); } header('Content-Type: text/json'); echo json_encode($matches); } assert(false); } // // Protected helper methods // /** * Setup common template variables. * @param $request Request */ function setupTemplate($request) { AppLocale::requireComponents(LOCALE_COMPONENT_APP_AUTHOR); return parent::setupTemplate($request); } /** * Get the step numbers and their corresponding title locale keys. * @return array */ function getStepsNumberAndLocaleKeys() { return array( 1 => 'author.submit.start', 2 => 'author.submit.upload', 3 => 'author.submit.metadata', 4 => 'author.submit.confirmation', 5 => 'author.submit.nextSteps', ); } /** * Get the number of submission steps. * @return int */ function getStepCount() { return 5; } } ?>