sarhanm/sms-survey

此软件包最新版本(v1.0.5)没有可用的许可证信息。

SMS 驱动调查 - PHP

v1.0.5 2015-04-26 17:22 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:16:55 UTC


README

Build Status

SMS 调查管理器

关于此库

Twilio 是一种短信服务,允许您通过短信与您的用户/客户/社区互动。无需智能手机或构建应用程序。

此库使用 Twilio 进行调查。该项目源于非营利组织对其社区进行调查(大多数情况下是在活动/课程/研讨会之后)的需求,无需支付大量金钱。Twilio.org 为 501(c)3 组织提供折扣价,使其变得理想。

## 截图

添加调查

Add a survey

活动调查和禁用调查列表

survey list

向调查添加问题

Adding Questions

调查报告(文本全部为示例文本)

Survey Report

功能

管理调查

您可以创建任意数量的调查,所有调查可以同时运行。可以通过管理员界面创建调查。管理员界面还为您提供了调查答案的饼图和柱状图,以便轻松查看结果。

调查问题

调查问题可以是以下类型

  1. 文本
  2. 是/否
  3. 5 星评级。

每个调查可以包含任意数量的问题。尽管您应该将问题数量最小化到 2 或 3 个。

开始调查

通过短信将调查名称发送到您分配的 Twilio 电话号码来激活调查。用户有 10 分钟的时间完成调查。

# 安装

通过 Composer 安装

    "require": {
        "sarhanm/sms-survey": "1.0.2"        
    }

手动安装

  1. 克隆此存储库。

  2. 运行 composer 安装所有依赖项

php composer.phar install

注意:您可以从 https://composer.php.ac.cn/ 下载 composer.phar

测试手动设置

php vendor/bin/phpunit tests/

注意:默认情况下,此测试不会测试您的数据库设置,因为测试是针对内存数据库运行的。如果您想测试真实数据库,只需将 $testsurvey-db-config.php 中更改为引用您的数据库即可。

数据库配置

1. 创建一个名为 "survey-db-config.php" 的文件

文件应包含以下内容

<?php
if(!defined('SARHAN_SURVEY'))
    die("Improper use of file!");

return array(
    "test" => array(
        'driver' => 'pdo_sqlite',
        'memory' => true)
    ,
    "production" => array(
        'driver' => 'pdo_mysql',
        'dbname'=>'your_dbname',
        'user'=>'your_dbuser',
        'password'=>'you_dbpasswd',
        'host'=>'your_dbhost'
    )
);
?>

驱动程序选项可以在 Doctrin 的文档页面 上找到。

此文件将以以下方式被发现

  1. 查找名为常量的 PHP 文件,其路径为上述文件。确保在实例化任何调查类之前定义它。

    define('SURVEY_DB_CONFIG_PATH', 'path/to/db/config/survey-db-config.php');
  2. 通过 stream_resolve_include_pathinclude_path 中查找 survey-db-config.php 文件。

  3. cwd()cwd()/config 中查找 survey-db-config.php 文件。

2. 设置 Doctrine 的 cli-config.php 文件

注意:此仅适用于通过 composer 安装此库的情况。否则,cli-config.php 文件已存在于正确的位置。

Doctrine 在根目录中查找 cli-config.php 文件。

在根目录或根目录中名为 "config" 的文件夹中添加 cli-config.php 文件。

cli-config.php 的内容应为

require './vendor/sarhanm/sms-survey/config/cli-config.php';

3. 生成创建 DB 表的 SQL 代码。

php vendor/bin/doctrine orm:schema-tool:create  --dump-sql

运行输出并将其放入您的数据库中。

只要您已正确配置数据库,您可以让 Doctrine 执行 SQL 语句。通常,您会先运行 dump-sql 以验证设置是否正确,然后再运行以下命令。

php vendor/bin/doctrine orm:schema-tool:create

通过传递 -h 到上述命令,您可以查看其他选项。

Twilio配置

注意:您需要创建并设置自己的twilio.com账户

在您的Twilio请求处理器中,添加以下内容

//Order does matter. 
//Do the require before the session start so (de)serialization is aware
//of all the loaded classes.
require_once("survey-sms/src/request/TwilioRequestHandler.php");
session_start();

$twilioRequest = new \sarhan\survey\TwilioRequestHandler();

$twilioAccountAuthToken = "myTwilioAuthToken";

$response = $twilioRequest->handleRequest($twilioAccountAuthToken);

if(!is_null($response))
{
    header($response->getHeader());
    echo $response->getContent();
}
else
{
    echo "Invalid Twilio Request";
}

管理页面

管理页面可用于管理您的调查和查看报告。

警告:这些页面是粗糙、快速且不规范的实现。它们需要大量的工作。它们也不安全。您应该在那些目录/文件上设置一些密码保护

http://您的主机名.com/path-to-survey-sms/src/web/admin