function validate($data)
 {
     $is_valid = true;
     if (!$data['project']['form_full_name'] || !$data['project']['form_unix_name']) {
         $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_projectname', 'info_missed'));
         $is_valid = false;
     } else {
         //check for valid group name
         $form_unix_name = $data['project']['form_unix_name'];
         $rule = new Rule_ProjectName();
         if (!$rule->isValid($form_unix_name)) {
             $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_license', 'invalid_short_name'));
             $GLOBALS['Response']->addFeedback('error', $rule->getErrorMessage());
         } else {
             $form_full_name = $data['project']['form_full_name'];
             $rule = new Rule_ProjectFullName();
             if (!$rule->isValid($form_full_name)) {
                 $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_license', 'invalid_full_name'));
                 $GLOBALS['Response']->addFeedback('error', $rule->getErrorMessage());
                 $is_valid = false;
             }
         }
     }
     return $is_valid;
 }
 /**
  * Build a new project
  *
  * @param ProjectCreationData $data project data
  * @return Project created
  */
 public function build(ProjectCreationData $data)
 {
     if (!$this->ruleShortName->isValid($data->getUnixName())) {
         throw new Project_InvalidShortName_Exception($this->ruleShortName->getErrorMessage());
     }
     if (!$this->ruleFullName->isValid($data->getFullName())) {
         throw new Project_InvalidFullName_Exception($this->ruleFullName->getErrorMessage());
     }
     $id = $this->createProject($data);
     if ($id) {
         return $this->projectManager->getProject($id);
     }
     throw new Project_Creation_Exception();
 }
Esempio n. 3
0
 /**
  * Create a new project
  * 
  * $data['project']['form_unix_name']
  * $data['project']['form_full_name']
  * $data['project']['form_license']
  * $data['project']['form_license_other']
  * $data['project']['form_short_description']
  * $data['project']['built_from_template']
  * $data['project']['is_test']
  * $data['project']['is_public']
  * $data['project']["form_".$descfieldsinfos[$i]["group_desc_id"]]
  * foreach($data['project']['trove'] as $root => $values);
  * $data['project']['services'][$arr['service_id']]['is_used'];
  * $data['project']['services'][$arr['service_id']]['server_id'];
  * 
  * @param String $shortName
  * @param String $publicName
  * @param Array $data
  * 
  * @return Project
  */
 public function create($shortName, $publicName, $data)
 {
     if (!$this->ruleShortName->isValid($shortName)) {
         throw new Project_InvalidShortName_Exception($this->ruleShortName->getErrorMessage());
     }
     $data['project']['form_unix_name'] = $shortName;
     if (!$this->ruleFullName->isValid($publicName)) {
         throw new Project_InvalidFullName_Exception($this->ruleFullName->getErrorMessage());
     }
     $data['project']['form_full_name'] = $publicName;
     $id = $this->create_project($data);
     if ($id) {
         return $this->projectManager->getProject($id);
     }
     throw new Project_Creation_Exception();
 }
Esempio n. 4
0
require_once 'www/project/admin/project_admin_utils.php';
require_once 'www/project/export/project_export_utils.php';
require_once 'www/project/admin/project_history.php';
require_once 'common/include/TemplateSingleton.class.php';
require_once 'common/event/EventManager.class.php';
session_require(array('group' => '1', 'admin_flags' => 'A'));
$pm = ProjectManager::instance();
$group = $pm->getProject($group_id, false, true);
$currentproject = new project($group_id);
$em = EventManager::instance();
$Rename = $request->get('Rename');
if ($Rename) {
    $new_name = $request->get('new_name');
    if (isset($new_name) && $group_id) {
        if (SystemEventManager::instance()->canRenameProject($group)) {
            $rule = new Rule_ProjectName();
            if (!$rule->isValid($new_name)) {
                $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('admin_groupedit', 'invalid_short_name'));
                $GLOBALS['Response']->addFeedback('error', $rule->getErrorMessage());
                $GLOBALS['Response']->redirect('/admin/groupedit.php?group_id=' . $group_id);
            } else {
                $em->processEvent(Event::PROJECT_RENAME, array('group_id' => $group_id, 'new_name' => $new_name));
                //update group history
                group_add_history('rename_request', $group->getUnixName(false) . ' :: ' . $new_name, $group_id);
                $GLOBALS['Response']->addFeedback('info', $Language->getText('admin_groupedit', 'rename_project_msg', array($group->getUnixName(false), $new_name)));
                $GLOBALS['Response']->addFeedback('warning', $Language->getText('admin_groupedit', 'rename_project_warn'));
                $GLOBALS['Response']->redirect('/admin/groupedit.php?group_id=' . $group_id);
            }
        } else {
            $GLOBALS['Response']->addFeedback('warning', $Language->getText('admin_groupedit', 'rename_project_already_queued'), CODENDI_PURIFIER_DISABLED);
            $GLOBALS['Response']->redirect('/admin/groupedit.php?group_id=' . $group_id);
Esempio n. 5
0
/**
 * Check groupname validity. DEPRECATED
 * 
 * @deprecated
 * @see Rule_ProjectName
 * @param String $name
 * @return Integer
 */
function account_groupnamevalid($name)
{
    $rule = new Rule_ProjectName();
    if (!$rule->isValid($name)) {
        $GLOBALS['register_error'] = $rule->getErrorMessage();
        return 0;
    }
    return 1;
}
 /**
  *
  * @return \Project_OneStepCreation_OneStepCreationValidator
  */
 private function validateUnixName()
 {
     if ($this->creation_request->getUnixName() == null) {
         $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_projectname', 'info_missed'));
         $this->setIsNotValid();
         return $this;
     }
     //check for valid group name
     $rule = new Rule_ProjectName();
     if (!$rule->isValid($this->creation_request->getUnixName())) {
         $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('register_license', 'invalid_short_name'));
         $GLOBALS['Response']->addFeedback('error', $rule->getErrorMessage());
         $this->setIsNotValid();
     }
     return $this;
 }
 function testReservedNamesUpperCase()
 {
     $r = new Rule_ProjectName();
     $this->assertTrue($r->isReservedName("WWW"));
     $this->assertTrue($r->isReservedName("WWW1"));
     $this->assertTrue($r->isReservedName("CVS"));
     $this->assertTrue($r->isReservedName("CVS1"));
     $this->assertTrue($r->isReservedName("SHELL"));
     $this->assertTrue($r->isReservedName("SHELL1"));
     $this->assertTrue($r->isReservedName("FTP"));
     $this->assertTrue($r->isReservedName("FTP1"));
     $this->assertTrue($r->isReservedName("IRC"));
     $this->assertTrue($r->isReservedName("IRC1"));
     $this->assertTrue($r->isReservedName("NEWS"));
     $this->assertTrue($r->isReservedName("NEWS1"));
     $this->assertTrue($r->isReservedName("MAIL"));
     $this->assertTrue($r->isReservedName("MAIL1"));
     $this->assertTrue($r->isReservedName("NS"));
     $this->assertTrue($r->isReservedName("NS1"));
     $this->assertTrue($r->isReservedName("DOWNLOAD"));
     $this->assertTrue($r->isReservedName("DOWNLOAD1"));
     $this->assertTrue($r->isReservedName("PUB"));
     $this->assertTrue($r->isReservedName("USERS"));
     $this->assertTrue($r->isReservedName("COMPILE"));
     $this->assertTrue($r->isReservedName("LISTS"));
     $this->assertTrue($r->isReservedName("SLAYER"));
     $this->assertTrue($r->isReservedName("ORBITAL"));
     $this->assertTrue($r->isReservedName("TOKYOJOE"));
     $this->assertTrue($r->isReservedName("WEBDEV"));
     $this->assertTrue($r->isReservedName("MONITOR"));
     $this->assertTrue($r->isReservedName("MIRRORS"));
     $this->assertTrue($r->isReservedName("MIRROR"));
 }