public static function getInstance()
 {
     if (!TrackingManagerRegistry::$instance) {
         TrackingManagerRegistry::$instance = new TrackingManagerRegistry();
     }
     return TrackingManagerRegistry::$instance;
 }
示例#2
0
            }
        }
        return true;
    }
    public function deleteForUser($userId, $date = null)
    {
        if (!is_null($date) && !empty($date)) {
            $dateCondition = " AND `date` < FROM_UNIXTIME('" . (int) $date . "') ";
        }
        // get data to delete from exercise tracking table
        $sql = "SELECT `id`\n                FROM `" . $this->tbl_qwz_tracking . "`\n                WHERE  `user_id` = " . (int) $userId . $dateCondition;
        $exeList = claro_sql_query_fetch_all_cols($sql);
        if (is_array($exeList['id']) && !empty($exeList['id'])) {
            // delete
            $sql = "DELETE FROM `" . $this->tbl_qwz_tracking . "`\n                    WHERE  `user_id` = " . (int) $userId . $dateCondition;
            claro_sql_query($sql);
            // get data to delete
            $sql = "SELECT `id` FROM `" . $this->tbl_qwz_tracking_questions . "` WHERE `exercise_track_id` IN ('" . implode("', '", $exeList['id']) . "')";
            $detailList = claro_sql_query_fetch_all_cols($sql);
            if (is_array($detailList['id']) && !empty($detailList['id'])) {
                $sql = "DELETE FROM `" . $this->tbl_qwz_tracking_questions . "` WHERE `exercise_track_id` IN ('" . implode("', '", $exeList['id']) . "')";
                claro_sql_query($sql);
                $sql = "DELETE FROM `" . $this->tbl_qwz_tracking_answers . "` WHERE details_id  IN ('" . implode("', '", $detailList['id']) . "')";
                claro_sql_query($sql);
            }
        }
        return true;
    }
}
TrackingManagerRegistry::register('CLQWZ_TrackingManager');
        $sql = "DELETE\n                FROM `" . $this->tbl_course_tracking_event . "`\n                WHERE `type` = 'tool_access'";
        if (claro_sql_query($sql)) {
            return true;
        } else {
            return false;
        }
    }
    public function deleteBefore($date)
    {
        $sql = "DELETE\n                FROM `" . $this->tbl_course_tracking_event . "`\n                WHERE `type` = 'tool_access'\n                  AND `date` < FROM_UNIXTIME('" . (int) $date . "')";
        if (claro_sql_query($sql)) {
            return true;
        } else {
            return false;
        }
    }
    public function deleteForUser($userId, $date = null)
    {
        if (!is_null($date) && !empty($date)) {
            $dateCondition = " AND `date` < FROM_UNIXTIME('" . (int) $date . "')";
        }
        $sql = "DELETE\n                FROM `" . $this->tbl_course_tracking_event . "`\n                WHERE `type` = 'tool_access'\n                  AND `user_id` = " . (int) $userId . $dateCondition;
        if (claro_sql_query($sql)) {
            return true;
        } else {
            return false;
        }
    }
}
TrackingManagerRegistry::register('CLTRACK_ToolAccessTrackingManager');
示例#4
0
        $trackingManagerList = $trackingManagerRegistry->getManagerList();
        // perform delete on each manager found
        foreach ($trackingManagerList as $ctr) {
            $manager = new $ctr(claro_get_current_course_id());
            $manager->deleteBefore($beforeDate);
        }
        $dialogBox->success(get_block('All events before %date have been successfully deleted', array('%date' => claro_html_localised_date(get_locale('dateFormatLong'), $beforeDate))));
        Console::log("In course " . claro_get_current_course_id() . " : tracking events before " . date('Y-m-d', $beforeDate) . " deleted by " . claro_get_current_user_id(), 'COURSE_RESET_TRACKING_BEFORE');
    } else {
        $dialogBox->error(get_block('%date not valid', array('%date' => claro_html_localised_date(get_locale('dateFormatLong')))));
    }
    $display = DISP_FLUSH_RESULT;
}
if ('exDelete' == $cmd && 'ALL' == $scope) {
    // load all available managers
    $trackingManagerRegistry = TrackingManagerRegistry::getInstance();
    // get the loaded list
    $trackingManagerList = $trackingManagerRegistry->getManagerList();
    // perform delete on each manager found
    foreach ($trackingManagerList as $ctr) {
        $manager = new $ctr(claro_get_current_course_id());
        $manager->deleteAll();
    }
    $dialogBox->success(get_lang('Course statistics are now empty'));
    Console::log("In course " . claro_get_current_course_id() . " : all tracking events deleted by user " . claro_get_current_user_id(), 'COURSE_RESET_ALL_TRACKING');
    $display = DISP_FLUSH_RESULT;
}
/*
 * Prepare output
 */
$nameTools = get_lang('Delete all course statistics');
示例#5
0
        $sql = "DELETE\n                FROM `" . $this->tbl_course_tracking_event . "`\n                WHERE `type` = 'download'";
        if (claro_sql_query($sql)) {
            return true;
        } else {
            return false;
        }
    }
    public function deleteBefore($date)
    {
        $sql = "DELETE\n                FROM `" . $this->tbl_course_tracking_event . "`\n                WHERE `type` = 'download'\n                  AND `date` < FROM_UNIXTIME('" . (int) $date . "')";
        if (claro_sql_query($sql)) {
            return true;
        } else {
            return false;
        }
    }
    public function deleteForUser($userId, $date = null)
    {
        if (!is_null($date) && !empty($date)) {
            $dateCondition = " AND `T`.`date` < FROM_UNIXTIME('" . (int) $date . "')";
        }
        $sql = "DELETE\n                FROM `" . $this->tbl_course_tracking_event . "`\n                WHERE `type` = 'download'\n                  AND `user_id` = " . (int) $userId . $dateCondition;
        if (claro_sql_query($sql)) {
            return true;
        } else {
            return false;
        }
    }
}
TrackingManagerRegistry::register('CLDOC_TrackingManager');