Ejemplo n.º 1
0
 private function getProjectById($group_id, $method_name)
 {
     $project = $this->soap_request_validator->getProjectById($group_id, $method_name);
     if (!$project->usesService('plugin_tracker')) {
         throw new SoapFault(get_service_fault, 'Tracker service is not used for this project.', $method_name);
     }
     return $project;
 }
Ejemplo n.º 2
0
 /**
  * Return top most modified files during the given period
  * 
  * @param String  $sessionKey Session key of the requesting user
  * @param Integer $group_id    ID of the project the subversion repository belongs to
  * @param Integer $start_date  Start of period (unix timestamp)
  * @param Integer $end_date    End of period   (unix timestamp)
  * @param Integer $limit       Max number of files to return
  * 
  * @return ArrayOfSvnPathInfo
  */
 public function getSvnStatsFiles($sessionKey, $group_id, $start_date, $end_date, $limit)
 {
     try {
         $current_user = $this->soap_request_validator->continueSession($sessionKey);
         $project = $this->soap_request_validator->getProjectById($group_id, 'getSvnStatsFiles');
         $this->soap_request_validator->assertUserCanAccessProject($current_user, $project);
         $svn_log = new SVN_LogFactory($project);
         $files = $svn_log->getTopModifiedFiles($current_user, TimeInterval::fromUnixTimestamps($start_date, $end_date), $limit);
         return $files;
     } catch (Exception $e) {
         return new SoapFault((string) $e->getCode(), $e->getMessage());
     }
 }
Ejemplo n.º 3
0
 private function assertUserCanAccessProject(User $user, $group_id)
 {
     $project = $this->soap_request_validator->getProjectById($group_id);
     $this->soap_request_validator->assertUserCanAccessProject($user, $project);
 }
Ejemplo n.º 4
0
 function getProjectGroupsAndUsers($session_key, $group_id)
 {
     try {
         require_once 'common/soap/SOAP_RequestValidator.class.php';
         $project_manager = ProjectManager::instance();
         $user_manager = UserManager::instance();
         $soap_request_validator = new SOAP_RequestValidator($project_manager, $user_manager);
         $user = $soap_request_validator->continueSession($session_key);
         $project = $soap_request_validator->getProjectById($group_id, 'getProjectGroupsAndUsers');
         $soap_request_validator->assertUserCanAccessProject($user, $project);
         $ugroups = ugroup_get_ugroups_with_members($group_id);
         $dyn_members = ugroup_get_all_dynamic_members($group_id);
         return ugroups_to_soap(array_merge($dyn_members, $ugroups));
     } catch (SoapFault $e) {
         return $e;
     } catch (Exception $e) {
         return new SoapFault((string) $e->getCode(), $e->getMessage());
     }
 }