示例#1
0
                    $date = $request->get('date');
                    $group_id = $request->get('group_id');
                    $release_id = $request->get('release_id');
                    $validator = new frsValidator();
                    $release = array('name' => $name, 'release_id' => $release_id, 'package_id' => $package_id, 'date' => $date);
                    if ($validator->isValidForUpdate($release, $group_id)) {
                        //frs valid
                        $header = array('valid' => true);
                    } else {
                        //frs non valid
                        $errors = $validator->getErrors();
                        $feedback = new Feedback();
                        $feedback->log('error', $errors[0]);
                        $header = array('valid' => false, 'msg' => $feedback->fetch());
                    }
                    header(json_header($header));
                }
            } else {
                if ($action == 'refresh_file_list') {
                    $project = $request->getProject();
                    $frsff = new FRSFileFactory();
                    $file_list = $frsff->getUploadedFileNames($project);
                    $available_ftp_files = implode(",", $file_list);
                    $purifier = Codendi_HTMLPurifier::instance();
                    $available_ftp_files = $purifier->purify($available_ftp_files, CODENDI_PURIFIER_JS_DQUOTE);
                    echo '{"valid":true, "msg":"' . $available_ftp_files . '"}';
                }
            }
        }
    }
}
示例#2
0
 /**
  * getUploadedFiles - get the names of the files present in the incoming directory
  *
  * @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 add the file
  * @return array of string the names of the files present in the incoming directory, 
  *              or a soap fault if :
  *              - group_id does not match with a valid project, 
  *              - the user does not have the permissions to see the incoming directory (must be project admin, file admin or super user)
  */
 function getUploadedFiles($sessionKey, $group_id)
 {
     if (session_continue($sessionKey)) {
         try {
             $pm = ProjectManager::instance();
             $project = $pm->getGroupByIdForSoap($group_id, 'getUploadedFiles');
         } catch (SoapFault $e) {
             return $e;
         }
         $file_fact = new FRSFileFactory();
         if ($file_fact->userCanAdd($group_id)) {
             $soap_files = array();
             $file_names = $file_fact->getUploadedFileNames($project);
             return $file_names;
         } else {
             return new SoapFault(invalid_file_fault, 'User not allowed to see the uploaded files', 'getUploadedFiles');
         }
     } else {
         return new SoapFault(invalid_session_fault, 'Invalid Session', 'getUploadedFiles');
     }
 }
示例#3
0
                if ($request->valid($vName) && $request->valid($vDate) && $request->valid($vGroupId) && $request->valid($vPackageId) && $request->valid($vReleaseId)) {
                    $name = $request->get('name');
                    $package_id = $request->get('package_id');
                    $date = $request->get('date');
                    $group_id = $request->get('group_id');
                    $release_id = $request->get('release_id');
                    $validator = new frsValidator();
                    $release = array('name' => $name, 'release_id' => $release_id, 'package_id' => $package_id, 'date' => $date);
                    if ($validator->isValidForUpdate($release, $group_id)) {
                        //frs valid
                        $header = array('valid' => true);
                    } else {
                        //frs non valid
                        $errors = $validator->getErrors();
                        $feedback = new Feedback();
                        $feedback->log('error', $errors[0]);
                        $header = array('valid' => false, 'msg' => $feedback->fetch());
                    }
                    header(json_header($header));
                }
            } else {
                if ($action == 'refresh_file_list') {
                    $frsff = new FRSFileFactory();
                    $file_list = $frsff->getUploadedFileNames();
                    $available_ftp_files = implode(",", $file_list);
                    echo '{"valid":true, "msg":"' . $available_ftp_files . '"}';
                }
            }
        }
    }
}