/**
  * Define (add) particular steps this activity can have
  */
 protected function define_my_steps()
 {
     jclic_normalize_date();
     $this->add_step(new backup_jclic_activity_structure_step('jclic_structure', 'jclic.xml'));
 }
Esempio n. 2
0
/**
* Get user activity summary
*
* @return object	session object with score, totaltime, activities done and solved and attempts information
*/
function jclic_get_sessions_summary($jclicid, $userid)
{
    global $DB;
    jclic_normalize_date();
    $sessions_summary = new stdClass();
    $sessions_summary->attempts = '';
    $sessions_summary->score = '';
    $sessions_summary->totaltime = '';
    $sessions_summary->starttime = '';
    $sessions_summary->done = '';
    $sessions_summary->solved = '';
    if ($rs = $DB->get_record_sql("SELECT COUNT(*) AS attempts, AVG(t.qualification) AS qualification, SUM(t.totaltime) AS totaltime, MAX(t.starttime) AS starttime\n                        FROM (SELECT AVG(ja.qualification) AS qualification, SUM(ja.total_time) AS totaltime, MAX(js.session_datetime) AS starttime\n                              FROM {jclic} j, {jclic_sessions} js, {jclic_activities} ja\n                              WHERE j.id=js.jclicid AND js.user_id='{$userid}' AND js.jclicid={$jclicid} AND ja.session_id=js.session_id\n                              GROUP BY js.session_id) t")) {
        $sessions_summary->attempts = $rs->attempts;
        $sessions_summary->score = round($rs->qualification, 0);
        $sessions_summary->totaltime = jclic_format_time($rs->totaltime);
        $sessions_summary->starttime = $rs->starttime;
    }
    if ($rs = $DB->get_record_sql("SELECT COUNT(*) as done\n                        FROM (SELECT DISTINCT ja.activity_name\n                              FROM {jclic} j, {jclic_sessions} js, {jclic_activities} ja\n                              WHERE j.id=js.jclicid AND js.user_id='{$userid}' AND js.jclicid={$jclicid} AND js.session_id=ja.session_id)  t")) {
        $sessions_summary->done = $rs->done;
    }
    if ($rs = $DB->get_record_sql("SELECT COUNT(*) as solved\n                        FROM (SELECT DISTINCT ja.activity_name\n                              FROM {jclic} j, {jclic_sessions} js, {jclic_activities} ja\n                              WHERE j.id=js.jclicid AND js.user_id='{$userid}' AND js.jclicid={$jclicid} AND js.session_id=ja.session_id AND ja.activity_solved=1) t")) {
        $sessions_summary->solved = $rs->solved;
    }
    return $sessions_summary;
}
Esempio n. 3
0
 $jclic_session->user_id = $beans[0]['PARAMS']['user'];
 $jclic_session->session_datetime = date('Y-m-d h:i:s', round($beans[0]['PARAMS']['time'] / 1000));
 $jclic_session->session_id = 'X';
 // @TODO: Review
 //		$jclic_session->session_id=$beans[0]['PARAMS']['user'].'_'.$beans[0]['PARAMS']['time'];
 $jclic_session->project_name = $beans[0]['PARAMS']['project'];
 try {
     // ALTER TABLE m2jclic_sessions MODIFY (SESSION_DATETIME DATE null);
     //                    $params = array('jclicid'=>$jclic_session->jclicid, 'user_id'=>$jclic_session->user_id,
     //                            'session_datetime'=>$jclic_session->session_datetime,'session_id'=>$jclic_session->session_id,
     //                            'project_name'=>$jclic_session->project_name);
     //                    $sql = 'INSERT INTO {jclic_sessions} (jclicid, user_id, session_datetime, session_id, project_name)
     //                            VALUES (:jclicid,:user_id,:session_datetime,:session_id,:project_name)';
     //                    $sql = 'INSERT INTO {jclic_sessions} (jclicid, user_id, session_datetime, session_id, project_name)
     //                            VALUES ('.$jclic_session->jclicid.','.$jclic_session->user_id.',\'2008-11-03 11:49:30\',\''.$jclic_session->session_id.'\',\''.$jclic_session->project_name.'\')';
     jclic_normalize_date();
     $sessionid = $DB->insert_record("jclic_sessions", $jclic_session);
     $jclic_session->id = $sessionid;
     $jclic_session->session_id = $sessionid;
     $DB->update_record("jclic_sessions", $jclic_session);
 } catch (Exception $e) {
     echo 'Caught exception: ', $e->getMessage(), "\n";
     print_r($e);
 }
 if (!$DB->get_record('jclic_users', array('user_id' => $beans[0]['PARAMS']['user'] . ''))) {
     if ($user = $DB->get_record('user', array('id' => $beans[0]['PARAMS']['user'] . ''))) {
         $jclic_user = new stdClass();
         $jclic_user->user_id = $beans[0]['PARAMS']['user'];
         $jclic_user->group_id = '1';
         $jclic_user->user_name = $user->firstname . ' ' . $user->lastname;
         $DB->insert_record("jclic_users", $jclic_user);
 /**
  * Define (add) particular steps this activity can have
  */
 protected function define_my_steps()
 {
     jclic_normalize_date();
     // JClic only has one structure step
     $this->add_step(new restore_jclic_activity_structure_step('jclic_structure', 'jclic.xml'));
 }