public function call() { try { $survey_code = strtoupper($this->getArgument('uid')); $session = $this->getArgument('session'); $result_id = $this->getArgument('id'); $survey_mng = new SurveyManager(); if (!$survey_code || !$survey_mng->isSurvey($survey_code)) { $answer = new Answer('error', array("error" => "Survey not found"), 'xml'); $answer->setXMLOpt("rootName", "result"); $answer->setXMLOpt("rootAttributes", array("success" => "false")); return $answer; } //check access if (!session_id()) { session_start(); } if (!array_key_exists('survey_results', $_SESSION) || !array_key_exists($survey_code, $_SESSION['survey_results']) || !$_SESSION['survey_results'][$survey_code]) { //user not logined $answer = new Answer('error', array("error" => 'User not logined'), 'xml'); $answer->setXMLOpt("rootAttributes", array("success" => "false")); $answer->setXMLOpt("rootName", "result"); return $answer; } $survey_result_mng = new SurveyResultManager(); if (!$survey_result_mng->isResult($survey_code, $result_id)) { $answer = new Answer('error', array("error" => 'Result not found'), 'xml'); $answer->setXMLOpt("rootAttributes", array("success" => "false")); $answer->setXMLOpt("rootName", "result"); return $answer; } $survey_result_mng->removeResult($survey_code, $result_id); $answer = new Answer('ok', array(), 'xml'); $answer->setXMLOpt("rootAttributes", array("success" => "true")); $answer->setXMLOpt("rootName", "result"); return $answer; } catch (Exception $e) { $answer = new Answer('error', array("error" => $e->getMessage()), 'xml'); $answer->setXMLOpt("rootAttributes", array("success" => "false")); $answer->setXMLOpt("rootName", "result"); return $answer; } }