function isValidForUpdate($release, $group_id) { $frspf = new FRSPackageFactory(); $frsrf = new FRSReleaseFactory(); $frsff = new FRSFileFactory(); if (isset($release['package_id']) && $release['package_id'] != 'null') { if (!isset($release['name']) || !$release['name'] || $release['name'] == '') { $this->addError($GLOBALS['Language']->getText('file_admin_editreleases', 'rel_name_empty')); } else { //see if this package belongs to this project $res1 =& $frsrf->getFRSReleaseFromDb($release['release_id'], $group_id); if (!$res1 || count($res1) < 1) { $this->addError($GLOBALS['Language']->getText('file_admin_editreleases', 'p_rel_not_yours')); } else { if ($release['package_id'] != $res1->getPackageID()) { //changing to a different package for this release $res2 = $frspf->getFRSPackageFromDb($release['package_id'], $group_id); if (!$res2 || count($res2) < 1) { //new package_id isn't theirs $this->addError($GLOBALS['Language']->getText('file_admin_editreleases', 'p_not_yours')); } } //check if release name exists already if ($res1->getPackageID() != $release['package_id'] || $res1->getPackageID() == $release['package_id'] && $res1->getName() != $release['name']) { $release_exists = $frsrf->getReleaseIdByName($release['name'], $release['package_id']); } if (!isset($release_exists) || count($release_exists) < 1) { //now check the date if (!ereg("[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}", $release['date'])) { $this->addError($GLOBALS['Language']->getText('file_admin_editreleases', 'data_not_parsed')); } } else { $this->addError($GLOBALS['Language']->getText('file_admin_editreleases', 'rel_name_exists')); } } } } else { $this->addError($GLOBALS['Language']->getText('file_admin_editreleases', 'create_p_before_rel_status')); } return count($this->_errors) ? false : true; }