コード例 #1
0
ファイル: Results.php プロジェクト: rogergraves/emotethis
}
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');
コード例 #2
0
ファイル: index.php プロジェクト: rogergraves/emotethis
<?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();
コード例 #3
0
ファイル: Survey.php プロジェクト: rogergraves/emotethis
            }
            $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');