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; }
* 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) {
\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) {
* 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']));
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'])) { } }
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);
* 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();