예제 #1
0
$self = whoami();
$GLOBALS['dh'] = AMACompleteDataHandler::instance(MultiPort::getDSN($_SESSION['sess_selected_tester']));
$data = '';
$containerDIV = CDOMElement::create('div', 'id:moduleContent');
try {
    if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST)) {
        // there are post datas, save them
        $conditionPOST = $_POST['condition'];
        $conditionParamsPOST = $_POST['param'];
        $savedOK = false;
        fixPOSTArray($conditionPOST, $conditionParamsPOST);
        if (!empty($conditionPOST)) {
            $conditionSetId = isset($_POST['conditionSetId']) && intval($_POST['conditionSetId']) > 0 ? intval($_POST['conditionSetId']) : null;
            $description = isset($_POST['description']) && trim($_POST['description']) !== '' ? trim($_POST['description']) : '';
            if ($description !== '') {
                $saveCondition = new CompleteConditionSet($conditionSetId, $description);
                $saveCondition->setOperation(Operation::buildOperationTreeFromPOST($conditionPOST));
                $savedOK = $GLOBALS['dh']->saveCompleteConditionSet($saveCondition);
                if ($savedOK) {
                    $msg = translateFN('set di condizioni salvato');
                } else {
                    $msg = translateFN('problemi con il salvataggio');
                }
            } else {
                $msg = translateFN('la descrizione non può essere vuota');
            }
        } else {
            $msg = translateFN('niente da salvare');
        }
        /// if it's an ajax request, output html and die
        if (isset($_POST['requestType']) && trim($_POST['requestType']) === 'ajax') {
    /**
     * loads a CompleteConditionSet from the DB,
     * returning the generated object
     * 
     * @param int $id_conditionSet the id of the condition set to be loaded
     * @throws Exception
     * @return CompleteConditionSet
     * @access public
     */
    public function getCompleteConditionSet($id_conditionSet)
    {
        $sql = 'SELECT A.descrizione, B.*
				FROM  `' . self::$PREFIX . 'conditionset` A,  `' . self::$PREFIX . 'operations` B
				WHERE A.id=? AND A.id = B.id_conditionset
				ORDER BY priority ASC, A.id ASC ';
        $arrOperations = $this->getAllPrepared($sql, $id_conditionSet, AMA_FETCH_ASSOC);
        if (!AMA_DB::isError($arrOperations) && !empty($arrOperations)) {
            $conditionSet = new CompleteConditionSet($arrOperations[0]['id_conditionset'], $arrOperations[0]['descrizione']);
            $conditionSet->setOperation(Operation::buildOperationTreeFromArray($arrOperations));
            return $conditionSet;
        } else {
            throw new Exception('Could not load conditionSet', ADA_ERROR_ID_UNKNOWN_ERROR);
            return null;
        }
    }