isError()) { exit_error($group->getErrorMessage(), 'scm'); } // Check permissions session_require_perm('project_admin', $group_id); if (getStringFromRequest('form_create_repo')) { $hook_params = array(); $hook_params['group_id'] = $group_id; plugin_hook('scm_admin_form', $hook_params); exit; } if (getStringFromRequest('create_repository') && getStringFromRequest('submit')) { $repo_name = trim(getStringFromRequest('repo_name')); $description = preg_replace('/[\r\n]/', ' ', getStringFromRequest('description')); $clone = getStringFromRequest('clone'); $hook_params = array () ; $hook_params['group_id'] = $group_id; $hook_params['repo_name'] = $repo_name; $hook_params['description'] = $description; $hook_params['clone'] = $clone; $hook_params['error_msg'] = ''; plugin_hook_by_reference('scm_add_repo', $hook_params); if ($hook_params['error_msg']) { $error_msg = $hook_params['error_msg']; } else { $feedback = sprintf(_('New repository %s registered, will be created shortly.'), $repo_name); } } elseif (getStringFromRequest('delete_repository') && getStringFromRequest('submit')) { $repo_name = trim(getStringFromRequest('repo_name')); $hook_params = array () ; $hook_params['group_id'] = $group_id; $hook_params['repo_name'] = $repo_name; $hook_params['error_msg'] = ''; plugin_hook_by_reference('scm_delete_repo', $hook_params); if ($hook_params['error_msg']) { $error_msg = $hook_params['error_msg']; } else { $feedback = sprintf(_('Repository %s is marked for deletion (actual deletion will happen shortly).'), $repo_name); } } elseif (getStringFromRequest('submit')) { $hook_params = array(); $hook_params['group_id'] = $group_id; $scmradio = ''; $scmvars = array_keys(_getRequestArray()); foreach (_getRequestArray() as $key => $value) { foreach ($scm_list as $scm) { if ($key == strstr($key, $scm . "_")) { $hook_params[$key] = $value; } else { $hook_params[$scm] = getArrayFromRequest($scm); } } if ($key == strstr($key, "scm_")) { $hook_params[$key] = $value; } elseif ($key == 'scmradio') { $scmradio = $value; } } $SCMFactory = new SCMFactory(); $scm_plugins = $SCMFactory->getSCMs(); if (in_array($scmradio, $scm_plugins)) { foreach ($scm_plugins as $plugin) { $myPlugin = plugin_get_object($plugin); if ($scmradio == $myPlugin->name) { $group->setPluginUse($myPlugin->name, 1); if ($myPlugin->getDefaultServer()) { $group->setSCMBox($myPlugin->getDefaultServer()); } } else { $group->setPluginUse($myPlugin->name, 0); } } } plugin_hook("scm_admin_update", $hook_params); } $hook_params = array(); $hook_params['group_id'] = $group_id; plugin_hook('scm_admin_buttons', $hook_params); scm_header(array('title'=>_('SCM Repository'),'group'=>$group_id)); ?>