/**
  * Refresh all questionnaire signatures
  */
 private function refreshSignatures()
 {
     $this->auth();
     $questionnaires = QuestionnaireModel::getAllQuestionnaires();
     foreach ($questionnaires as $questionnaire) {
         $questionnaire->refreshSignature();
     }
     QFrame_Db_Table::reset('questionnaire');
 }
Beispiel #2
0
 private function resetDatabase()
 {
     $db = Zend_Db_Table_Abstract::getDefaultAdapter();
     foreach (QFrame_Db_Table::getTables() as $table) {
         $db->getConnection()->exec("TRUNCATE TABLE " . $table);
         QFrame_Db_Table::reset($table);
     }
 }
Beispiel #3
0
 /**
  * Helper function for importXML.  Logic specifically for rules.
  *
  * @param  See importXML.
  */
 private static function importXMLRules($questionnaireID, $instanceID, &$rulesMap, &$pageGuidMap, &$sectionGuidMap, &$questionGuidMap)
 {
     foreach ($rulesMap as $questionPromptID => $questionPromptIDArray) {
         foreach ($questionPromptIDArray as $name => $nameArray) {
             foreach ($nameArray as $targetGUID) {
                 if ($name === 'enableQuestion') {
                     $questionID = $questionGuidMap[$targetGUID];
                     if (!isset($questionID)) {
                         throw new Exception("questionGUID referenced in XML Questionnaire Definition does not exist: {$targetID}");
                     }
                     $ruleID = self::$ruleTable->insertBulk(array('questionnaireID' => $questionnaireID, 'instanceID' => $instanceID, 'sourceID' => $questionPromptID, 'targetID' => $questionID, 'targetGUID' => $targetGUID, 'type' => $name, 'enabled' => 'N'));
                 } elseif ($name === 'enableSection') {
                     $sectionID = $sectionGuidMap[$targetGUID];
                     if (!isset($sectionID)) {
                         throw new Exception("sectionGUID referenced in XML Questionnaire Definition does not exist: {$targetID}");
                     }
                     $ruleID = self::$ruleTable->insertBulk(array('questionnaireID' => $questionnaireID, 'instanceID' => $instanceID, 'sourceID' => $questionPromptID, 'targetID' => $sectionID, 'targetGUID' => $targetGUID, 'type' => $name, 'enabled' => 'N'));
                 } elseif ($name === 'enablePage') {
                     $pageID = $pageGuidMap[$targetGUID];
                     if (!isset($pageID)) {
                         throw new Exception("pageGUID referenced in XML Questionnaire Definition does not exist: {$targetID}");
                     }
                     $ruleID = self::$ruleTable->insertBulk(array('questionnaireID' => $questionnaireID, 'instanceID' => $instanceID, 'sourceID' => $questionPromptID, 'targetID' => $pageID, 'targetGUID' => $targetGUID, 'type' => $name, 'enabled' => 'N'));
                 } elseif ($name === 'disableQuestion') {
                     $questionID = $questionGuidMap[$targetGUID];
                     if (!isset($questionID)) {
                         throw new Exception("questionGUID referenced in XML Questionnaire Definition does not exist: {$targetID}");
                     }
                     $ruleID = self::$ruleTable->insertBulk(array('questionnaireID' => $questionnaireID, 'instanceID' => $instanceID, 'sourceID' => $questionPromptID, 'targetID' => $questionID, 'targetGUID' => $targetGUID, 'type' => $name, 'enabled' => 'N'));
                 } elseif ($name === 'disableSection') {
                     $sectionID = $sectionGuidMap[$targetGUID];
                     if (!isset($sectionID)) {
                         throw new Exception("sectionGUID referenced in XML Questionnaire Definition does not exist: {$targetID}");
                     }
                     $ruleID = self::$ruleTable->insertBulk(array('questionnaireID' => $questionnaireID, 'instanceID' => $instanceID, 'sourceID' => $questionPromptID, 'targetID' => $sectionID, 'targetGUID' => $targetGUID, 'type' => $name, 'enabled' => 'N'));
                 } elseif ($name === 'disablePage') {
                     $pageID = $pageGuidMap[$targetGUID];
                     if (!isset($pageID)) {
                         throw new Exception("pageGUID referenced in XML Questionnaire Definition does not exist: {$targetID}");
                     }
                     $ruleID = self::$ruleTable->insertBulk(array('questionnaireID' => $questionnaireID, 'instanceID' => $instanceID, 'sourceID' => $questionPromptID, 'targetID' => $pageID, 'targetGUID' => $targetGUID, 'type' => $name, 'enabled' => 'N'));
                 }
             }
         }
     }
     // reset table cache as there are now new rules
     QFrame_Db_Table::reset('rules');
 }
Beispiel #4
0
 public static function resetAll()
 {
     $adapter = Zend_Db_Table_Abstract::getDefaultAdapter();
     $tableNames = self::getTables();
     foreach ($tableNames as $tableName) {
         QFrame_Db_Table::reset($tableName);
     }
 }