コード例 #1
0
ファイル: frs.php プロジェクト: neymanna/fusionforge
function getReleases($session_ser, $group_id, $package_id)
{
    continue_session($session_ser);
    $grp =& group_get_object($group_id);
    if (!$grp || !is_object($grp)) {
        return new soap_fault('', 'getReleases', 'Could Not Get Group', 'Could Not Get Group');
    } elseif ($grp->isError()) {
        return new soap_fault('', 'getReleases', $grp->getErrorMessage(), $grp->getErrorMessage());
    }
    $frsp =& frspackage_get_object($package_id);
    if (!$frsp || !is_object($frsp)) {
        return new soap_fault('', 'getReleases', 'Could Not Get Package', 'Could Not Get Package');
    } else {
        if ($frsp->isError()) {
            return new soap_fault('', 'getReleases', $frsp->getErrorMessage(), $frsp->getErrorMessage());
        }
    }
    $release_arr =& $frsp->getReleases();
    return releases_to_soap($release_arr);
}
コード例 #2
0
ファイル: frs.php プロジェクト: pombredanne/tuleap
 /**
  * getReleases - returns an array of FRSReleases that belongs to the project identified by group_id and package package_id
  *
  * @param string $sessionKey the session hash associated with the session opened by the person who calls the service
  * @param int $group_id the ID of the group we want to retrieve the array of releases
  * @param int $package_id the ID of the package we want to retrieve the array of releases
  * @return array the array of SOAPFRSRelease that belongs to the project identified by $group_id, in the package $package_id, or a soap fault if group_id does not match with a valid project or if package_id does not match with group_id.
  */
 function getReleases($sessionKey, $group_id, $package_id)
 {
     if (session_continue($sessionKey)) {
         try {
             $pm = ProjectManager::instance();
             $pm->getGroupByIdForSoap($group_id, 'getReleases');
         } catch (SoapFault $e) {
             return $e;
         }
         // retieve the package
         $pkg_fact = new FRSPackageFactory();
         $package =& $pkg_fact->getFRSPackageFromDb($package_id);
         if (!$package || $package->isDeleted() || $package->getGroupID() != $group_id) {
             return new SoapFault(invalid_package_fault, 'Invalid Package', 'getReleases');
         }
         // check access rights to this package
         if (!$package->userCanRead() || !$package->isActive()) {
             return new SoapFault(invalid_package_fault, 'Permission to this Package denied', 'getReleases');
         }
         $release_fact = new FRSReleaseFactory();
         // we get only the active releases, even if we are project admin or file admin
         $releases =& $release_fact->getFRSReleasesFromDb($package_id, 1, $group_id);
         // 1 for active releases
         return releases_to_soap($releases);
     } else {
         return new SoapFault(invalid_session_fault, 'Invalid Session', 'getReleases');
     }
 }