function &_getCriterias($sectionId, $decisionType, $decisionStatus, $decisionAfter, $decisionBefore, $studentResearch, $startAfter, $startBefore, $endAfter, $endBefore, $kiiField, $multiCountry, $countries, $geoAreas, $researchDomains, $researchFields, $withHumanSubjects, $proposalTypes, $dataCollection, $budgetOption, $budget, $sources, $identityRevealed, $unableToConsent, $under18, $dependentRelationship, $ethnicMinority, $impairment, $pregnant, $newTreatment, $bioSamples, $exportHumanTissue, $exportReason, $radiation, $distress, $inducements, $sensitiveInfo, $reproTechnology, $genetic, $stemCell, $biosafety) { $institutionDao =& DAORegistry::getDAO('InstitutionDAO'); $proposalDetailsDao =& DAORegistry::getDAO('ProposalDetailsDAO'); $criterias = array(); if ($decisionType && $decisionStatus) { $decisionTypesMap = array(INITIAL_REVIEW => 'submission.initialReview', PROGRESS_REPORT => 'submission.progressReport', PROTOCOL_AMENDMENT => 'submission.protocolAmendment', SERIOUS_ADVERSE_EVENT => 'submission.seriousAdverseEvents', FINAL_REPORT => 'submission.finalReport'); $decisionStatusMap = array(98 => 'editor.reports.aDecisionsIUR', 99 => 'editor.reports.aDecisionsEUR', SUBMISSION_SECTION_DECISION_APPROVED => 'editor.article.decision.approved', SUBMISSION_SECTION_DECISION_RESUBMIT => 'editor.article.decision.resubmit', SUBMISSION_SECTION_DECISION_DECLINED => 'editor.article.decision.declined'); if ($sectionId != 0) { $sectionDao =& DAORegistry::getDAO('SectionDAO'); $section =& $sectionDao->getSection($sectionId); $string = Locale::translate('editor.reports.fromCommittee') . ' ' . $section->getLocalizedAbbrev(); } else { $string = Locale::translate('editor.reports.fromCommittee') . ' ' . Locale::translate('editor.reports.anyCommittee'); } array_push($criterias, Locale::translate('editor.reports.oneDecisionIs') . ': ' . Locale::translate($decisionTypesMap[$decisionType]) . ' ' . Locale::translate($decisionStatusMap[$decisionStatus]) . ' ' . $string); } if ($decisionAfter && $decisionAfter != "") { if ($decisionStatus != 98) { array_push($criterias, Locale::translate('editor.reports.criterias.decisionAfter') . ' ' . $decisionAfter . ' ' . Locale::translate('editor.reports.dateInclusive')); } else { array_push($criterias, Locale::translate('editor.reports.criterias.submittedAfter') . ' ' . $decisionAfter . ' ' . Locale::translate('editor.reports.dateInclusive')); } } if ($decisionBefore && $decisionBefore != "") { if ($decisionStatus != 98) { array_push($criterias, Locale::translate('editor.reports.criterias.decisionBefore') . ' ' . $decisionBefore . ' ' . Locale::translate('editor.reports.dateInclusive')); } else { array_push($criterias, Locale::translate('editor.reports.criterias.submittedBefore') . ' ' . $decisionBefore . ' ' . Locale::translate('editor.reports.dateInclusive')); } } $proposalDetails = new ProposalDetails(); if ($studentResearch) { array_push($criterias, Locale::translate('proposal.studentInitiatedResearch') . ': ' . Locale::translate($proposalDetails->getYesNoKey($studentResearch))); } if ($startAfter && $startAfter != "") { array_push($criterias, Locale::translate('editor.reports.researchStartAfter') . ' ' . $startAfter . ' ' . Locale::translate('editor.reports.dateInclusive')); } if ($startBefore && $startBefore != "") { array_push($criterias, Locale::translate('editor.reports.researchStartBefore') . ' ' . $startBefore . ' ' . Locale::translate('editor.reports.dateInclusive')); } if ($endAfter && $endAfter != "") { array_push($criterias, Locale::translate('editor.reports.researchEndAfter') . ' ' . $endAfter . ' ' . Locale::translate('editor.reports.dateInclusive')); } if ($endBefore && $endBefore != "") { array_push($criterias, Locale::translate('editor.reports.researchEndBefore') . ' ' . $endBefore . ' ' . Locale::translate('editor.reports.dateInclusive')); } $kiiField = array_filter($kiiField); if (!empty($kiiField)) { $string = Locale::translate('proposal.keyImplInstitution') . ': '; for ($i = 0; $i < count($kiiField); $i++) { $institution = $institutionDao->getInstitutionById($kiiField[$i]); if ($i == 0) { $string .= $institution->getInstitutionName(); } else { $string .= ' ' . Locale::translate('common.or') . ' ' . $institution->getInstitutionName(); } } array_push($criterias, $string); unset($string); } if ($multiCountry) { array_push($criterias, Locale::translate('proposal.multiCountryResearch') . ': ' . Locale::translate($proposalDetails->getYesNoKey($multiCountry))); if ($multiCountry == PROPOSAL_DETAIL_YES) { $countries = array_filter($countries); if (!empty($countries)) { $string = Locale::translate('common.country') . ': '; for ($i = 0; $i < count($countries); $i++) { $countryDao =& DAORegistry::getDAO('CountryDAO'); if ($i == 0) { $string .= $countryDao->getCountry($countries[$i]); } else { $string .= ' ' . Locale::translate('common.or') . ' ' . $countryDao->getCountry($countries[$i]); } } array_push($criterias, $string); unset($string); } } } $geoAreas = array_filter($geoAreas); if (!empty($geoAreas)) { $extraFieldDao =& DAORegistry::getDAO('ExtraFieldDAO'); $string = Locale::translate('proposal.geoArea') . ': '; for ($i = 0; $i < count($geoAreas); $i++) { $extraField =& $extraFieldDao->getExtraField($geoAreas[$i]); if ($i == 0) { $string .= isset($extraField) ? $extraField->getLocalizedExtraFieldName() : null; } else { $string .= ' ' . Locale::translate('common.or') . ' ' . (isset($extraField) ? $extraField->getLocalizedExtraFieldName() : null); } unset($extraField); } array_push($criterias, $string); unset($string); } $researchDomains = array_filter($researchDomains); if (!empty($researchDomains)) { $string = Locale::translate('proposal.researchDomains') . ': '; for ($i = 0; $i < count($researchDomains); $i++) { $extraField =& $extraFieldDao->getExtraField($researchDomains[$i]); if ($i == 0) { $string .= isset($extraField) ? $extraField->getLocalizedExtraFieldName() : null; } else { $string .= ' ' . Locale::translate('common.or') . ' ' . (isset($extraField) ? $extraField->getLocalizedExtraFieldName() : null); } unset($extraField); } array_push($criterias, $string); unset($string); } $researchFields = array_filter($researchFields); if (!empty($researchFields)) { $string = Locale::translate('proposal.researchField') . ': '; for ($i = 0; $i < count($researchFields); $i++) { $extraField =& $extraFieldDao->getExtraField($researchFields[$i]); if ($i == 0) { $string .= isset($extraField) ? $extraField->getLocalizedExtraFieldName() : null; } else { $string .= ' ' . Locale::translate('common.or') . ' ' . (isset($extraField) ? $extraField->getLocalizedExtraFieldName() : null); } unset($extraField); } array_push($criterias, $string); unset($string); } if ($withHumanSubjects) { array_push($criterias, Locale::translate('proposal.withHumanSubjects') . ': ' . Locale::translate($proposalDetails->getYesNoKey($withHumanSubjects))); if ($withHumanSubjects == PROPOSAL_DETAIL_YES) { $proposalTypes = array_filter($proposalTypes); if (!empty($proposalTypes)) { $string = Locale::translate('proposal.proposalType') . ': '; for ($i = 0; $i < count($proposalTypes); $i++) { $extraField =& $extraFieldDao->getExtraField($proposalTypes[$i]); if ($i == 0) { $string .= isset($extraField) ? $extraField->getLocalizedExtraFieldName() : null; } else { $string .= ' ' . Locale::translate('common.or') . ' ' . (isset($extraField) ? $extraField->getLocalizedExtraFieldName() : null); } unset($extraField); } array_push($criterias, $string); unset($string); } } } if ($dataCollection) { array_push($criterias, Locale::translate('proposal.dataCollection') . ': ' . Locale::translate($proposalDetails->getYesNoKey($dataCollection))); } if ($budget && $budget != "") { array_push($criterias, Locale::translate('proposal.fundsRequired') . ' ' . $budgetOption . ' ' . $budget); } $sources = array_filter($sources); if (!empty($sources)) { $string = Locale::translate('proposal.source') . ': '; for ($i = 0; $i < count($sources); $i++) { $institution = $institutionDao->getInstitutionById($sources[$i]); if ($i == 0) { $string .= $institution->getInstitutionName(); } else { $string .= ' ' . Locale::translate('common.or') . ' ' . $institution->getInstitutionName(); } } array_push($criterias, $string); unset($string); } $riskAssessment = new RiskAssessment(); if ($identityRevealed != null) { array_push($criterias, Locale::translate('proposal.researchIncludesHumanSubject') . ' ' . Locale::translate('proposal.identityRevealed') . ' ' . Locale::translate($riskAssessment->getYesNoKey($identityRevealed))); } if ($unableToConsent != null) { array_push($criterias, Locale::translate('proposal.researchIncludesHumanSubject') . ' ' . Locale::translate('proposal.unableToConsent') . ' ' . Locale::translate($riskAssessment->getYesNoKey($unableToConsent))); } if ($under18 != null) { array_push($criterias, Locale::translate('proposal.researchIncludesHumanSubject') . ' ' . Locale::translate('proposal.under18') . ' ' . Locale::translate($riskAssessment->getYesNoKey($under18))); } if ($dependentRelationship != null) { array_push($criterias, Locale::translate('proposal.researchIncludesHumanSubject') . ' ' . Locale::translate('proposal.dependentRelationship') . ' ' . Locale::translate($riskAssessment->getYesNoKey($dependentRelationship))); } if ($ethnicMinority != null) { array_push($criterias, Locale::translate('proposal.researchIncludesHumanSubject') . ' ' . Locale::translate('proposal.ethnicMinority') . ' ' . Locale::translate($riskAssessment->getYesNoKey($ethnicMinority))); } if ($impairment != null) { array_push($criterias, Locale::translate('proposal.researchIncludesHumanSubject') . ' ' . Locale::translate('proposal.impairment') . ' ' . Locale::translate($riskAssessment->getYesNoKey($impairment))); } if ($pregnant != null) { array_push($criterias, Locale::translate('proposal.researchIncludesHumanSubject') . ' ' . Locale::translate('proposal.pregnant') . ' ' . Locale::translate($riskAssessment->getYesNoKey($pregnant))); } if ($newTreatment != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.newTreatment') . ' ' . Locale::translate($riskAssessment->getYesNoKey($newTreatment))); } if ($bioSamples != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.bioSamples') . ' ' . Locale::translate($riskAssessment->getYesNoKey($bioSamples))); if ($bioSamples == RISK_ASSESSMENT_YES) { if ($exportHumanTissue != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.exportHumanTissue') . ' ' . Locale::translate($riskAssessment->getYesNoKey($exportHumanTissue))); if ($exportHumanTissue == RISK_ASSESSMENT_YES) { if ($exportReason != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.exportReason') . ' ' . Locale::translate($riskAssessment->getExportReasonKey())); } } } } } if ($radiation != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.radiation') . ' ' . Locale::translate($riskAssessment->getYesNoKey($radiation))); } if ($distress != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.distress') . ' ' . Locale::translate($riskAssessment->getYesNoKey($distress))); } if ($inducements != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.inducements') . ' ' . Locale::translate($riskAssessment->getYesNoKey($inducements))); } if ($sensitiveInfo != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.sensitiveInfo') . ' ' . Locale::translate($riskAssessment->getYesNoKey($sensitiveInfo))); } if ($reproTechnology != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.reproTechnology') . ' ' . Locale::translate($riskAssessment->getYesNoKey($reproTechnology))); } if ($genetic != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.genetic') . ' ' . Locale::translate($riskAssessment->getYesNoKey($genetic))); } if ($stemCell != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.stemCell') . ' ' . Locale::translate($riskAssessment->getYesNoKey($stemCell))); } if ($biosafety != null) { array_push($criterias, Locale::translate('proposal.researchIncludes') . ' ' . Locale::translate('proposal.biosafety') . ' ' . Locale::translate($riskAssessment->getYesNoKey($biosafety))); } return $criterias; }