function do_create() { global $feedback; $request =& HTTPRequest::instance(); // Sanity check if (!$request->get('group_id') || !$request->get('keyword') || !$request->get('link')) { exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('project_reference', 'missing_parameter')); } $force = $request->get('force'); if (!user_is_super_user()) { $force = false; } $reference_manager =& ReferenceManager::instance(); if ($request->get('service_short_name') == 100) { // none $service_short_name = ""; } else { $service_short_name = $request->get('service_short_name'); } $ref = new Reference(0, $request->get('keyword'), $request->get('description'), $request->get('link'), $request->get('scope'), $service_short_name, $request->get('nature'), $request->get('is_used'), $request->get('group_id')); if ($ref->getGroupId() == 100 && $ref->isSystemReference()) { // Add reference to ALL active projects! $result = $reference_manager->createSystemReference($ref, $force); if (!$result) { exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('project_reference', 'create_fail')); } else { $feedback .= " " . $GLOBALS['Language']->getText('project_reference', 'system_r_create_success'); } } else { $result = $reference_manager->createReference($ref, $force); if (!$result) { exit_error($GLOBALS['Language']->getText('global', 'error'), $GLOBALS['Language']->getText('project_reference', 'create_fail')); } else { $feedback .= " " . $GLOBALS['Language']->getText('project_reference', 'r_create_success') . " "; } } }