* GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Tuleap; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ $immutable_tags_handler = new SVN_Immutable_Tags_Handler(new SVN_Immutable_Tags_DAO()); $request->valid(new Valid_String('post_changes')); $request->valid(new Valid_String('SUBMIT')); if ($request->isPost() && $request->existAndNonEmpty('post_changes')) { $vImmutableTagsWhitelist = new Valid_Text('immutable-tags-whitelist'); $vImmutableTagsPath = new Valid_Text('immutable-tags-path'); if ($request->valid($vImmutableTagsWhitelist) && $request->valid($vImmutableTagsPath)) { $immutable_tags_whitelist = trim($request->get('immutable-tags-whitelist')); $immutable_tags_path = trim($request->get('immutable-tags-path')); $immutable_tags_handler->saveImmutableTagsForProject($group_id, $immutable_tags_whitelist, $immutable_tags_path); } else { $GLOBALS['Response']->addFeedback('error', $Language->getText('svn_admin_general_settings', 'upd_fail')); } $GLOBALS['Response']->redirect('/svn/admin/?func=immutable_tags&group_id=' . $group_id); } // Display the form svn_header_admin(array('title' => $Language->getText('svn_admin_immutable_tags', 'title'), 'help' => 'svn.html#subversion-administration-interface')); $pm = ProjectManager::instance(); $project = $pm->getProject($group_id); $template_dir = ForgeConfig::get('codendi_dir') . '/src/templates/svn/'; $renderer = TemplateRendererFactory::build()->getRenderer($template_dir); $svnlook = new SVN_Svnlook(); $presenter = new SVN_ImmutableTagsPresenter($project, $immutable_tags_handler->getImmutableTagsWhitelistForProject($group_id), $immutable_tags_handler->getImmutableTagsPathForProject($group_id), $svnlook->getTree($project)); $renderer->renderToPage('immutable-tags', $presenter); svn_footer(array());
// group_id was validated in index. $form_tracked = $request->get('form_tracked'); $form_preamble = $request->get('form_preamble'); $form_mandatory_ref = $request->get('form_mandatory_ref'); $form_can_change_svn_log = $request->get('form_can_change_svn_log'); $form_tag_immutable = $request->get('form_tag_immutable'); $immutable_tags_whitelist = $request->get('immutable-tags-whitelist'); $ret = svn_data_update_general_settings($group_id, $form_tracked, $form_preamble, $form_mandatory_ref, $form_can_change_svn_log, $form_tag_immutable); if ($ret) { $immutable_tags_handler->saveWhitelistForProject($group_id, $immutable_tags_whitelist); EventManager::instance()->processEvent(Event::SVN_UPDATE_HOOKS, array('group_id' => $group_id)); $GLOBALS['Response']->addFeedback('info', $Language->getText('svn_admin_general_settings', 'upd_success')); } else { $GLOBALS['Response']->addFeedback('error', $Language->getText('svn_admin_general_settings', 'upd_fail')); } } else { $GLOBALS['Response']->addFeedback('error', $Language->getText('svn_admin_general_settings', 'upd_fail')); } $GLOBALS['Response']->redirect('/svn/admin/?func=general_settings&group_id=' . $group_id); } // Note: no need to purify the output since the svn preamble is stored // htmlcharized and displayed with the entities. // Display the form svn_header_admin(array('title' => $Language->getText('svn_admin_general_settings', 'gen_settings'), 'help' => 'svn.html#general-settings')); $pm = ProjectManager::instance(); $project = $pm->getProject($group_id); $template_dir = ForgeConfig::get('codendi_dir') . '/src/templates/svn/'; $renderer = TemplateRendererFactory::build()->getRenderer($template_dir); $presenter = new SVN_GeneralSettingsPresenter($project, $immutable_tags_handler->getImmutableTagsWhitelistForProject($group_id)); $renderer->renderToPage('general-settings', $presenter); svn_footer(array());