Пример #1
0
 /**
  * load the current message from the data base
  */
 public function load()
 {
     $tableName = get_module_main_tbl(array('im_message', 'im_message_status', 'user', 'im_recipient'));
     $messageSQL = "SELECT U.nom AS lastName, U.prenom AS firstName, M.message_id, M.sender, M.subject, \n" . "M.message, M.send_time, R.is_read, R.is_deleted, R.user_id , M.course, M.group, M.tools, \n" . "RE.sent_to" . " FROM `" . $tableName['im_message'] . "` as M \n" . " LEFT JOIN `" . $tableName['im_message_status'] . "` as R ON M.message_id = R.message_id\n" . " LEFT JOIN `" . $tableName['user'] . "` AS U ON M.sender = U.user_id\n" . " LEFT JOIN `" . $tableName['im_recipient'] . "` AS RE ON M.message_id = RE.message_id\n" . " WHERE R.user_id = " . (int) $this->userId . "\n" . " AND M.message_id = " . (int) $this->messageId . "\n";
     $this->setFromArray(claro_sql_query_fetch_single_row($messageSQL));
 }
Пример #2
0
 protected function mergeCourseUsers($uidToRemove, $uidToKeep, $courseId)
 {
     $courseTbl = claro_sql_get_course_tbl(claro_get_course_db_name_glued($courseId));
     // Get groups for the user to remove
     $sql = "SELECT team\n                FROM `{$courseTbl['group_rel_team_user']}`\n                WHERE user= "******"\n                    SELECT user, team, role, status\n                    FROM `{$courseTbl['group_rel_team_user']}`\n                    WHERE user = "******"\n                      AND team = " . (int) $thisTeam);
         $toRemove_team_entry = claro_sql_query_fetch_single_row("\n                    SELECT user, team, role, status\n                    FROM `{$courseTbl['group_rel_team_user']}`\n                    WHERE user = "******"\n                      AND team = " . (int) $thisTeam);
         if ($toKeep_team_entry) {
             $status = $toKeep_team_entry['status'] > $toRemove_team_entry['status'] ? null : $toRemove_team_entry['status'];
             $role = empty($toKeep_team_entry['role']) ? $toRemove_team_entry['role'] : null;
             if (!is_null($role) || !is_null($status)) {
                 if (!claro_sql_query("UPDATE `{$courseTbl['group_rel_team_user']}`\n                           SET role = '" . $role . "',\n                               status = " . $status . "\n                         WHERE user = "******"\n                           AND team = " . (int) $thisTeam)) {
                     Console::error("Cannot update user group status for +{$uidToKeep} in group_rel_team_user in {$courseId}:{$thisTeam}");
                     $this->hasError = true;
                 }
             }
             if (!claro_sql_query("DELETE FROM `{$courseTbl['group_rel_team_user']}`\n                         WHERE user  = "******"\n                           AND team  = " . (int) $thisTeam)) {
                 Console::error("Cannot delete user -{$uidToRemove} in group_rel_team_user in {$courseId}:{$thisTeam}");
                 $this->hasError = true;
             }
         } else {
             if (!claro_sql_query("UPDATE `{$courseTbl['group_rel_team_user']}`\n                           SET user = "******"\n                         WHERE user = "******"\n                           AND team = " . (int) $thisTeam)) {
                 Console::error("Cannot replace -{$uidToRemove} with +{$uidToKeep} in group_rel_team_user {$courseId}:{$thisTeam}");
                 $this->hasError = true;
             }
         }
     }
     // Update tracking
     $sql = "UPDATE `{$courseTbl['tracking_event']}`\n                SET   user_id = " . (int) $uidToKeep . "\n                WHERE user_id = " . (int) $uidToRemove;
     if (!claro_sql_query($sql)) {
         Console::error("Cannot replace -{$uidToRemove} with +{$uidToKeep} in tracking_event in course {$courseId}");
         $this->hasError = true;
     }
     $qwz_tbl_names = get_module_course_tbl(array('qwz_tracking'), $courseId);
     $sql = "UPDATE `{$qwz_tbl_names['qwz_tracking']}`\n                SET   user_id  = " . (int) $uidToKeep . "\n                WHERE user_id  = " . (int) $uidToRemove;
     if (!claro_sql_query($sql)) {
         Console::error("Cannot replace -{$uidToRemove} with +{$uidToKeep} in qwz_tracking in {$courseId}");
         $this->hasError = true;
     }
     // Update user info in course
     $sql = "DELETE FROM `{$courseTbl['userinfo_content']}`\n                WHERE user_id = " . (int) $uidToRemove;
     if (!claro_sql_query($sql)) {
         Console::error("Cannot remove user info for user -{$uidToRemove} in {$courseId}");
         $this->hasError = true;
     }
 }
Пример #3
0
         }
         $dataText = $dataBeginText . $totalTime;
         $sql = "UPDATE `" . $TABLETRACKINGEVENT . "`\n                               SET `date` = '" . claro_sql_escape($currentDate) . "',\n                                   `data` = '" . claro_sql_escape($dataText) . "'\n                             WHERE `id` = " . claro_sql_escape((int) $moduleStart['id']);
         claro_sql_query($sql);
     } else {
         $trackingTime = $timeSpentOnDoc;
         $dataText = $dataBeginText . $timeSpentOnDoc;
         $sql = "INSERT INTO `" . $TABLETRACKINGEVENT . "`\n                            ( `course_code`, `user_id`, `date`, `type`, `data` )\n                            VALUES ( '" . claro_sql_escape(claro_get_current_course_id()) . "', " . claro_sql_escape((int) claro_get_current_user_id()) . ", '" . claro_sql_escape($currentDate) . "', 'document_start', '" . claro_sql_escape($dataText) . "' )";
         claro_sql_query($sql);
     }
 } else {
     $trackingTime = $timeSpentOnDoc;
 }
 // Get total time spent on the module
 $sql = "SELECT `user_module_progress_id`, `total_time`\n                      FROM `" . $TABLEUSERMODULEPROGRESS . "`\n                     WHERE `user_id` = " . (int) claro_get_current_user_id() . "\n                       AND `learnPath_module_id` = " . (int) $learnPathModuleId;
 $progressRow = claro_sql_query_fetch_single_row($sql);
 $currentTime = $progressRow['total_time'];
 $currentTimeTab = explode(':', $currentTime);
 $currentTimeSecTab = explode(',', $currentTimeTab[2]);
 $currentTimeInSec = $currentTimeTab[0] * 3600 + $currentTimeTab[1] * 60 + $currentTimeSecTab[0];
 if ((int) $currentTimeInSec == 0) {
     $updateTime = $trackingTime;
 } elseif (get_conf('cllnp_documentDefaultTimeOnce')) {
     $updateTime = $progressRow['total_time'];
     $trackingTime = '0000:00:00';
 } else {
     $trackingTimeTab = explode(':', $trackingTime);
     $trackingTimeInSec = $trackingTimeTab[0] * 3600 + $trackingTimeTab[1] * 60 + $trackingTimeTab[2];
     $updateTimeInSec = $currentTimeInSec + $trackingTimeInSec;
     $updateTimeInHour = (int) ($updateTimeInSec / 3600);
     $updateTimeInSec %= 3600;
Пример #4
0
function getModuleProgression($user_id = 0, $learnPath_id = 0, $learnPath_module_id = 0)
{
    if (empty($user_id) || empty($learnPath_module_id) || empty($learnPath_id)) {
        return false;
    }
    $courseTableList = get_module_course_tbl(array('lp_user_module_progress'));
    $sql = 'SELECT * ' . ' FROM `' . $courseTableList['lp_user_module_progress'] . '`' . ' WHERE learnPath_module_id = ' . (int) $learnPath_module_id . ' AND learnPath_id = ' . (int) $learnPath_id . ' AND user_id = ' . (int) $user_id;
    return claro_sql_query_fetch_single_row($sql);
}
Пример #5
0
 /**
  * @see StoredMessage
  */
 public function load()
 {
     $tableName = get_module_main_tbl(array('im_message'));
     $readDataSQL = "SELECT M.message_id, M.sender, M.subject, M.message, M.send_time\n" . " FROM `" . $tableName['im_message'] . "` AS M\n" . " WHERE message_id = " . (int) $this->messageId;
     $this->setFromArray(claro_sql_query_fetch_single_row($readDataSQL));
 }