コード例 #1
0
ファイル: experiment.php プロジェクト: nickavv/iSENSE
function createExperiment($token, $name, $description, $fields, $defaultJoin = true, $joinKey = "", $defaultBrowse = true, $browseKey = "")
{
    global $db;
    $uid = $token['uid'];
    $session = $token['session'];
    if ($name == "") {
        return false;
    }
    if ($defaultJoin == false && $joinKey == "") {
        return false;
    }
    if ($defaultBrowse == false && $browseKey == "") {
        return false;
    }
    $db->query("INSERT INTO experiments ( experiment_id, owner_id, name, description, timecreated, timemodified, default_read, default_join) VALUES ( NULL, {$uid}, '{$name}', '{$description}', NOW(), NOW(), {$defaultBrowse}, {$defaultJoin})");
    if ($db->numOfRows) {
        $eid = $db->lastInsertId();
        $db->query("INSERT INTO experiment_user_permissions (`experiment_id`, `user_id`, `read`, `write`, `join`) VALUES({$eid}, {$uid}, 1, 1, 1)");
        publishToDelicious($name, 'http://isense.cs.uml.edu/rc1/experiment.php?id=' . $eid, $description);
        return getExperiment($eid);
    }
    return false;
}
コード例 #2
0
ファイル: upload-videos.php プロジェクト: nickavv/iSENSE
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 */
require_once 'includes/config.php';
ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '20M');
$id = -1;
$done = false;
$ownerid = -1;
$errors = array();
$collabs = array();
$values = array();
if (isset($_GET['id'])) {
    $id = safeString($_GET['id']);
}
if ($meta = getExperiment($id)) {
    $ownerid = $meta['owner_id'];
    $collabs = getExperimentCollaborators($session->userid, $id);
}
if (isset($_POST['video_create'])) {
    /* Setup Zend */
    require_once 'Zend/Loader.php';
    Zend_Loader::loadClass('Zend_Gdata_YouTube');
    Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
    $appId = 'iSENSE';
    $clientId = 'iSENSE';
    $httpClient = null;
    try {
        $authURL = 'https://www.google.com/youtube/accounts/ClientLogin';
        $httpClient = Zend_Gdata_ClientLogin::getHttpClient($username = YOUTUBE_USER, $password = YOUTUBE_PASS, $service = 'youtube', $client = null, $source = 'iSENSE', $loginToken = null, $loginCaptcha = null, $authURL);
    } catch (Zend_Gdata_App_AuthException $e) {
コード例 #3
0
\t<a href="{$phpself}?action=planilha&id={$experiment['id']}">Gerar planilha</a>
BODY;
                    $evaluators = query("\r\n\t\tSELECT e.email, ee.start_datetime, ee.end_datetime FROM evaluator AS e\r\n\t\tINNER JOIN experiment_evaluation AS ee ON ee.experiment_id = e.experiment_id AND ee.evaluator_id = e.id\r\n\t\tWHERE e.experiment_id = {$experiment['id']}\r\n\t\tORDER BY e.email");
                    if (empty($evaluators)) {
                        error('Falha ao carregar avaliadores.');
                    }
                    $body .= '<p><table border="1"><thead><tr><td>Avaliador</td><td>Início</td><td>Fim</td></tr></thead><tbody>';
                    foreach ($evaluators as $evaluator) {
                        $body .= "<tr><td>{$evaluator['email']}</td><td>{$evaluator['start_datetime']}</td><td>{$evaluator['end_datetime']}</td></tr>";
                    }
                    $body .= '</tbody></table></p>';
                    $body .= '<p><a href="' . $phpself . '?action=admin">Voltar</a></p>';
                    success();
                } else {
                    if ($action == 'planilha') {
                        $experiment = getExperiment();
                        $min_evals = isset($_GET['min_evals']) ? clean($_GET['min_evals']) : 3;
                        $header = "Planilha do experimento {$experiment['id']} - {$experiment['subject']}";
                        $docs = query("\r\n\t\tSELECT d.id, d.url\r\n\t\tFROM document AS d\r\n\t\tWHERE d.experiment_id = {$experiment['id']} AND ((SELECT COUNT(DISTINCT evaluator_id) FROM document_evaluation AS de WHERE \tde.document_id = d.id AND de.linguistic_term_id IS NOT NULL) >= {$min_evals})");
                        $body = '<table border="1"><thead><tr>';
                        $body .= '<td>ID</td><td>URL</td>';
                        $queries = query("\r\n\t\tSELECT id FROM query WHERE experiment_id = {$experiment['id']} ORDER BY id\r\n\t");
                        $lvs = query("\r\n\t\tSELECT id, name FROM linguistic_variable\r\n\t\tWHERE experiment_id = {$experiment['id']}\r\n\t\tORDER BY id\r\n\t");
                        $pesos = array('Péssima' => -2, 'Ruim' => -1, 'Regular' => 0, 'Boa' => 1, 'Excelente' => 2);
                        $pesos_flip = array_flip($pesos);
                        for ($i = 1; $i <= count($queries); ++$i) {
                            for ($j = 1; $j <= $min_evals; ++$j) {
                                $body .= "<td>Q{$i}/E{$j}</td>";
                            }
                        }
                        foreach ($lvs as $lv) {
コード例 #4
0
ファイル: experiment-edit.php プロジェクト: nickavv/iSENSE
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 */
require_once 'includes/config.php';
$eid = -1;
$created = false;
$title = "Done";
if (isset($_GET['id'])) {
    $eid = (int) safeString($_GET['id']);
    // Get the experiment meta data
    $values = getExperiment($eid);
    $title = "Edit Experiment - {$values['name']}";
    $tags = getTagsForExperiment($eid);
    $tag_string = "";
    foreach ($tags as $tag) {
        $tag_string .= "{$tag['tag']}, ";
    }
    // Remove last ", " from $tag_string
    $tag_string = substr($tag_string, 0, strlen($tag_string) - 2);
    $values['tags'] = $tag_string;
    // Output to view
    $smarty->assign('values', $values);
}
if (isset($_POST['experiment_create'])) {
    $eid = (int) safeString($_POST['id']);
    $values = array('name' => safeString($_POST['experiment_name']), 'description' => safeString($_POST['experiment_description']));
コード例 #5
0
ファイル: json.php プロジェクト: nickavv/iSENSE
if (isset($_GET['state'])) {
    $state = $_GET['state'];
}
if (isset($_GET['sessions'])) {
    $aid = isset($_GET['aid']) ? safeString($_GET['aid']) : -1;
    $sessionIds = explode(" ", $_GET['sessions']);
    if ($flot_enabled == false) {
        // Get experiment Id for each session
        foreach ($sessionIds as $sid) {
            $eid = getSessionExperimentId($sid);
            $data[] = array('experimentId' => $aid != -1 ? $aid : $eid, 'sessionId' => $sid, 'fields' => getFields($eid), 'meta' => array(getSession($sid)), 'data' => getData($eid, $sid));
        }
    } else {
        $eid = getSessionExperimentId($sessionIds[0]);
        $data['id'] = $eid;
        $data['meta'] = getExperiment($eid);
        $data['sessions'] = array();
        foreach ($sessionIds as $sid) {
            $x = array();
            $x['id'] = $sid;
            $x['meta'] = array(getSession($sid));
            $x['data'] = getData($eid, $sid);
            $x['fields'] = getFields($eid);
            $x['visibility'] = true;
            $data['sessions'][] = $x;
        }
    }
} else {
    if (isset($_GET['vsessions'])) {
    }
}
コード例 #6
0
ファイル: api.php プロジェクト: nickavv/iSENSE
 case "sessiondata":
     if (isset($_REQUEST['sessions'])) {
         $sessionIds = split(" ", $_REQUEST['sessions']);
         $dataset = array();
         foreach ($sessionIds as $sid) {
             $eid = getSessionExperimentId($sid);
             $dataset[] = array('experimentId' => $eid, 'sessionId' => $sid, 'fields' => getFields($eid), 'meta' => array(getSession($sid)), 'data' => getData($eid, $sid));
         }
         $data = $dataset;
         $status = 200;
     }
     break;
 case "getExperiment":
     if (isset($_REQUEST['experiment'])) {
         $id = safeString($_REQUEST['experiment']);
         $dataset = getExperiment($id);
         if ($dataset) {
             $data = $dataset;
             $status = 200;
         }
     }
     break;
 case "getUserProfile":
     if (isset($_REQUEST['user'])) {
         $id = safeString($_REQUEST['user']);
         $dataset = array();
         $exp = browseExperimentsByUser($id);
         $vid = getVideosByUser($id);
         $ses = browseMySessions($id);
         $img = getImagesByUser($id);
         $vis = getVisByUser($id);
コード例 #7
0
ファイル: experiment.php プロジェクト: nickavv/iSENSE
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 */
require_once 'includes/config.php';
$id = -1;
$errors = array();
$title = "Experiment Not Found";
$time = false;
$is_activity = false;
if (isset($_GET['id'])) {
    $id = (int) safeString($_GET['id']);
    $meta = getExperiment($id);
    $is_activity = $meta['activity'] == 1;
    if (count($meta) > 0) {
        // Grab some meta data
        $title = $meta['name'];
        $ownerid = $meta['owner_id'];
        $meta['create_diff'] = dateDifference(time(), strtotime($meta['timecreated']));
        $meta['mod_diff'] = dateDifference(time(), strtotime($meta['timemodified']));
        // Make calls to pull data from db
        $fields = array();
        $vises = array();
        $tags = array();
        $videos = array();
        $images = array();
        $sessions = array();
        $collabs = array();