/**
  * Returns the amount of disk space used by the project.
  *  
  *  Returned format:
  *  <code>
  *  array(
  *      "services" => array(
  *          'service name' => total size in bytes
  *      ),
  *      "total"    => total size in bytes,
  *      "quota"    => allowed size in bytes
  *  )
  *  </code>
  *  
  *  Example:
  *  <code>
  *  array(
  *      "services" => array(
  *          'svn' => 60,
  *          'docman' => 2500
  *      ),
  *      "total" => 2560,
  *      "quota" => 52428800,
  *  )
  *  </code>
  *  -> On a quota of 50MB (52428800 bytes), 2.5kB are used.
  *
  *
  * Error codes:
  * * 3001, Invalid session (wrong $sessionKey)
  * * 3002, User do not have access to the project
  *
  * @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 statistics
  *
  * @return ArrayOfStatistics
  */
 function getProjectDiskStats($sessionKey, $group_id)
 {
     try {
         $user = $this->soap_request_validator->continueSession($sessionKey);
         $this->assertUserCanAccessProject($user, $group_id);
         return $this->getDiskStatsForUser($user, $group_id);
     } catch (Exception $e) {
         return new SoapFault((string) $e->getCode(), $e->getMessage());
     }
 }
Example #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());
     }
 }
Example #3
0
 /**
  * Add values to tracker's selectBox field
  *
  * @param String $session_key
  * @param int $tracker_id
  * @param int $field_id
  * @param ArrayOfString $values
  */
 public function addSelectBoxValues($session_key, $tracker_id, $field_id, $values)
 {
     try {
         $current_user = $this->soap_request_validator->continueSession($session_key);
         $tracker = $this->tracker_factory->getTrackerById($tracker_id);
         if ($tracker == null) {
             throw new SoapFault(add_selectbox_fields_fault, "Invalid tracker Id", "addSelectBoxValues");
         }
         $this->checkUserCanAdminTracker($current_user, $tracker);
         $field = $this->getStaticSelectBoxField($tracker, $field_id);
         return $this->createSelectBoxValues($field, $values);
     } catch (Exception $e) {
         return new SoapFault((string) $e->getCode(), $e->getMessage());
     }
 }
Example #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());
     }
 }