} WebCallFactory::registryCall('verbatims', 'Verbatims'); class ReportCSV extends ACall { public function call() { try { $pw = $this->getArgument('pw'); if (!$pw || $pw != 'thedoor') { return new Answer('error', "Access denied"); } $survey_code = $this->getArgument('survey'); $survey_manager = new SurveyManager(); if (!$survey_manager->isSurvey($survey_code)) { return new Answer('error', "Survey not found"); } $survey_result_mng = new SurveyResultManager(); $a_result = $survey_result_mng->getReport($survey_code); $answer = new Answer('ok', $a_result, 'csv', 'results_' . $survey_code . '.csv'); return $answer; } catch (Exception $e) { return new Answer('error', $e->getMessage()); } } public function listArguments() { return array('survey', 'pw'); } } WebCallFactory::registryCall('reportcsv', 'ReportCSV');
<?php //ini_set('display_errors',0); error_reporting(E_ALL); require_once 'config.php'; require_once ROOT_PATH . 'includes/WebCalls/Survey.php'; require_once ROOT_PATH . 'includes/WebCalls/Results.php'; require_once ROOT_PATH . 'includes/Call.php'; require_once ROOT_PATH . 'includes/Routes.php'; //ob_start();//Start buffering try { //set_error_handler("userErrorHandler",E_ALL | E_STRICT); $call_mapper = new CallMapper(); $method = $call_mapper->getCallName($_SERVER['QUERY_STRING'], $_REQUEST); //print "Method: $method"; $call_factory = new WebCallFactory($_REQUEST); if (!$method || !$call_factory->isCall($method)) { $out_type = 'html'; if (array_key_exists("out", $_REQUEST)) { $out_type = $_REQUEST['out']; } $answer = new Answer('error', 'Unknow method: "' . $method . '"', $out_type); } else { $call_obj = $call_factory->getCall($method); $answer = $call_obj->call(); } $answer_mime = $answer->output_mime(); if (!$answer_mime) { $answer_mime = 'text/html'; } $answer_str = $answer->output();
} $survey_code =& $_SESSION['survey_code']; $result_id =& $_SESSION['result_id']; $user_data_id =& $_SESSION['user_data_id']; if (!$result_id) { return new Answer('error', 'Unknow result id', 'json'); } $email = $this->getArgument('email'); $s_user_obj = NULL; if ($user_data_id) { $survey_result_manager = new SurveyResultManager(); $s_user_obj = $survey_result_manager->getUserData($user_data_id); } if (!$s_user_obj) { $s_user_obj = new SurveyUserData($result_id); } $s_user_obj->setEmail($email); $s_user_obj->save(); $_SESSION['user_data_id'] = $s_user_obj->getId(); return new Answer('ok', "User data save", 'json'); } catch (Exception $e) { return new Answer('error', $e->getMessage(), 'json'); } } public function listArguments() { return array('email'); } } WebCallFactory::registryCall('setemail', 'SetEmail');