Explorar el Código

Remove unnecessary quotes from queries using track_e_course_access - refs #7555

Yannick Warnier hace 10 años
padre
commit
f68990d44d

+ 15 - 13
main/admin/user_move_stats.php

@@ -190,7 +190,7 @@ if (isset($_REQUEST['load_ajax'])) {
 
                 //3. track_e_course_access
                 $sql = "SELECT * FROM $TBL_TRACK_E_COURSE_ACCESS
-                        WHERE c_id  = '$course_id' AND session_id = $origin_session_id  AND user_id = $user_id ";
+                        WHERE c_id  = $course_id AND session_id = $origin_session_id  AND user_id = $user_id ";
                 $res = Database::query($sql);
                 $list = array();
                 while($row = Database::fetch_array($res,'ASSOC')) {
@@ -200,7 +200,7 @@ if (isset($_REQUEST['load_ajax'])) {
                 if (!empty($list))
                     foreach ($list as $id => $data) {
                         if ($update_database) {
-                            $sql = "UPDATE $TBL_TRACK_E_COURSE_ACCESS SET session_id = '$new_session_id' WHERE course_access_id = $id";
+                            $sql = "UPDATE $TBL_TRACK_E_COURSE_ACCESS SET session_id = $new_session_id WHERE course_access_id = $id";
                             if ($debug) echo $sql;
                             $res = Database::query($sql);
                             if ($debug) var_dump($res);
@@ -210,7 +210,9 @@ if (isset($_REQUEST['load_ajax'])) {
                 //4. track_e_lastaccess
 
                 $sql = "SELECT access_id FROM $TBL_TRACK_E_LAST_ACCESS
-                        WHERE c_id = '$course_id' AND access_session_id = $origin_session_id  AND access_user_id = $user_id ";
+                        WHERE c_id = $course_id
+                        AND access_session_id = $origin_session_id
+                        AND access_user_id = $user_id ";
                 $res = Database::query($sql);
                 $list = array();
                 while($row = Database::fetch_array($res,'ASSOC')) {
@@ -219,7 +221,7 @@ if (isset($_REQUEST['load_ajax'])) {
                 if (!empty($list))
                     foreach ($list as $id) {
                         if ($update_database) {
-                            $sql = "UPDATE $TBL_TRACK_E_LAST_ACCESS SET access_session_id = '$new_session_id' WHERE access_id = $id";
+                            $sql = "UPDATE $TBL_TRACK_E_LAST_ACCESS SET access_session_id = $new_session_id WHERE access_id = $id";
                             if ($debug) echo $sql;
                             $res = Database::query($sql);
                             if ($debug) var_dump($res);
@@ -249,7 +251,7 @@ if (isset($_REQUEST['load_ajax'])) {
                 if (!empty($list))
                     foreach ($list as $id=>$data) {
                         if ($update_database) {
-                            $sql = "UPDATE $TBL_LP_VIEW SET session_id = '$new_session_id' WHERE c_id = $course_id AND id = $id ";
+                            $sql = "UPDATE $TBL_LP_VIEW SET session_id = $new_session_id WHERE c_id = $course_id AND id = $id ";
                             if ($debug) var_dump($sql);
                             $res = Database::query($sql);
                             if ($debug) var_dump($res);
@@ -297,7 +299,7 @@ if (isset($_REQUEST['load_ajax'])) {
                 while($row = Database::fetch_array($res,'ASSOC')) {
                     $id = $row['ref'];
                     if ($update_database) {
-                        $sql = "UPDATE $TBL_AGENDA SET session_id = '$new_session_id' WHERE c_id = $course_id AND id = $id ";
+                        $sql = "UPDATE $TBL_AGENDA SET session_id = $new_session_id WHERE c_id = $course_id AND id = $id ";
                         if ($debug) var_dump($sql);
                         $res_update = Database::query($sql);
                         if ($debug) var_dump($res_update);
@@ -361,7 +363,7 @@ if (isset($_REQUEST['load_ajax'])) {
                                     //Creating directory
                                     $sql_add_publication = "INSERT INTO " . $TBL_STUDENT_PUBLICATION . " SET " .
                                         "url         = '".$created_dir."',
-	                                       c_id        = '".$course_id."',
+	                                       c_id        = $course_id,
 	                                       title        = '".$parent_data['title']."',
 	                                       description  = '".$parent_data['description']." folder_moved_from_session_id_$origin_session_id ',
 	                                       author       = '',
@@ -424,15 +426,15 @@ if (isset($_REQUEST['load_ajax'])) {
                                 //Creating a new work
                                 $sql_add_publication = "INSERT INTO " . $TBL_STUDENT_PUBLICATION . " SET " .
                                     "url         = '" . $new_url . "',
-                                               c_id        = '".$course_id."',
+                                               c_id        = $course_id,
                                                title       = '" . $data['title']. "',
                                                description = '" . $data['description'] . " file moved',
                                                author      = '" . $data['author'] . "',
                                                active       = '" . $data['active']. "',
                                                accepted     = '" . $data['accepted']. "',
-                                               post_group_id = '" . $data['post_group_id'] . "',
+                                               post_group_id = " . $data['post_group_id'] . ",
                                                sent_date    =  '".$data['sent_date'] ."',
-                                               parent_id    =  '".$new_parent_id ."' ,
+                                               parent_id    =  ".$new_parent_id ." ,
                                                session_id = ".$new_session_id;
 
                                 if ($debug) echo $sql_add_publication;
@@ -472,12 +474,12 @@ if (isset($_REQUEST['load_ajax'])) {
                 while($row = Database::fetch_array($res,'ASSOC')) {
                     $id = $row['id'];
                     if ($update_database) {
-                        $sql = "UPDATE $TBL_DROPBOX_FILE SET session_id = '$new_session_id' WHERE c_id = $course_id AND id = $id";
+                        $sql = "UPDATE $TBL_DROPBOX_FILE SET session_id = $new_session_id WHERE c_id = $course_id AND id = $id";
                         if ($debug) var_dump($sql);
                         $res = Database::query($sql);
                         if ($debug) var_dump($res);
 
-                        $sql = "UPDATE $TBL_DROPBOX_POST SET session_id = '$new_session_id' WHERE file_id = $id";
+                        $sql = "UPDATE $TBL_DROPBOX_POST SET session_id = $new_session_id WHERE file_id = $id";
                         if ($debug)
                             var_dump($sql);
                         $res = Database::query($sql);
@@ -496,7 +498,7 @@ if (isset($_REQUEST['load_ajax'])) {
                 while($row = Database::fetch_array($res,'ASSOC')) {
                     $id = $row['notebook_id'];
                     if ($update_database) {
-                        $sql = "UPDATE $TBL_NOTEBOOK SET session_id = '$new_session_id' WHERE c_id = $course_id AND notebook_id = $id";
+                        $sql = "UPDATE $TBL_NOTEBOOK SET session_id = $new_session_id WHERE c_id = $course_id AND notebook_id = $id";
                         if ($debug) var_dump($sql);
                         $res = Database::query($sql);
                         if ($debug) var_dump($res);

+ 1 - 1
main/inc/lib/course.lib.php

@@ -5229,7 +5229,7 @@ class CourseManager
 
         $sql = "SELECT * FROM $table
                 WHERE
-                    c_id = '$courseId' AND
+                    c_id = $courseId AND
                     session_id = $sessionId AND
                     login_course_date BETWEEN '$startDate' AND '$endDate'
                 ";

+ 1 - 10
main/inc/lib/myspace.lib.php

@@ -1046,22 +1046,13 @@ class MySpace
         $return .= Display::grid_html($tableId);
         return $return;
     }
-    /**
-     * get the numer of users on track_e_course_access
-     *
-     * @return integer
-     *
-     * @author César Perales <cesar.perales@beeznest.com>, Beeznest Team
-     * @version Chamilo 1.9.6
-     */
-
 
     /**
      * Displays a form with all the additionally defined user fields of the profile
      * and give you the opportunity to include these in the CSV export
      *
      * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, Belgium
-     * @version Dokeos 1.8.6
+     * @version 1.8.6
      * @since November 2008
      */
     public static function display_user_overview_export_options()

+ 1 - 1
main/inc/lib/sessionmanager.lib.php

@@ -1145,7 +1145,7 @@ class SessionManager
      * @todo track_e_course_access table should have ip so we dont have to look for it in track_e_login
      *
      * @author César Perales <cesar.perales@beeznest.com>, Beeznest Team
-     * @version Chamilo 1.9.6
+     * @version 1.9.6
      */
     public static function get_user_data_access_tracking_overview(
         $sessionId,

+ 24 - 21
main/inc/lib/tracking.lib.php

@@ -1534,7 +1534,7 @@ class Tracking
     	$sql = "SELECT count(*) as count_connections
                 FROM $tbl_track_e_course_access
                 WHERE
-                    c_id = '$courseId' AND
+                    c_id = $courseId AND
                     session_id = $session_id
                     $month_filter";
     	$rs = Database::query($sql);
@@ -3809,7 +3809,7 @@ class Tracking
     public static function get_documents_most_downloaded_by_course($course_code, $session_id = null, $limit = 0)
     {
         //protect data
-        $course_code = Database::escape_string($course_code);
+        $courseId = api_get_course_int_id($course_code);
         $data = array();
 
         $TABLETRACK_DOWNLOADS   = Database::get_main_table(TABLE_STATISTIC_TRACK_E_DOWNLOADS);
@@ -3820,8 +3820,8 @@ class Tracking
         }
         $sql = "SELECT down_doc_path, COUNT(DISTINCT down_user_id), COUNT(down_doc_path) as count_down
                 FROM $TABLETRACK_DOWNLOADS
-                WHERE down_cours_id = '$course_code'
-                $condition_session
+                WHERE c_id = $courseId
+                    $condition_session
                 GROUP BY down_doc_path
                 ORDER BY count_down DESC
                 LIMIT 0,  $limit";
@@ -3863,7 +3863,7 @@ class Tracking
                 FROM $TABLETRACK_LINKS AS sl, $TABLECOURSE_LINKS AS cl
                 WHERE cl.c_id = $course_id AND
                       sl.links_link_id = cl.id
-                      AND sl.links_cours_id = '$course_code'
+                      AND sl.c_id = $course_id
                       $condition_session
                 GROUP BY cl.title, cl.url
                 ORDER BY count_visits DESC
@@ -6407,9 +6407,10 @@ class TrackingUserLog
      * Displays the links followed for a specific user in a specific course.
      * @todo remove globals
      */
-    public function display_links_tracking_info($view, $user_id, $course_id)
+    public function display_links_tracking_info($view, $user_id, $courseCode)
     {
     	global $TABLETRACK_LINKS, $TABLECOURSE_LINKS;
+        $courseId = api_get_course_int_id($courseCode);
     	if (substr($view,3,1) == '1') {
     		$new_view = substr_replace($view,'0',3,1);
     		echo "
@@ -6423,8 +6424,8 @@ class TrackingUserLog
     		$sql = "SELECT cl.title, cl.url
                         FROM $TABLETRACK_LINKS AS sl, $TABLECOURSE_LINKS AS cl
                         WHERE sl.links_link_id = cl.id
-                            AND sl.links_cours_id = '".Database::escape_string($course_id)."'
-                            AND sl.links_user_id = '".intval($user_id)."'
+                            AND sl.c_id = $courseId
+                            AND sl.links_user_id = ".intval($user_id)."
                         GROUP BY cl.title, cl.url";
     		echo "<tr><td style='padding-left : 40px;padding-right : 40px;'>";
     		$results = StatsUtils::getManyResults2Col($sql);
@@ -6467,11 +6468,11 @@ class TrackingUserLog
      * @param    int        Session id (optional, default = 0)
      * @return     void
      */
-    public static function display_document_tracking_info($view, $user_id, $course_id, $session_id = 0) {
+    public static function display_document_tracking_info($view, $user_id, $course_code, $session_id = 0) {
 
     	// protect data
     	$user_id     = intval($user_id);
-    	$course_id     = Database::escape_string($course_id);
+        $courseId = api_get_course_int_id($course_code);
     	$session_id = intval($session_id);
 
     	$downloads_table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_DOWNLOADS);
@@ -6488,9 +6489,9 @@ class TrackingUserLog
 
     		$sql = "SELECT down_doc_path
                         FROM $downloads_table
-                        WHERE down_cours_id = '".$course_id."'
-                            AND down_user_id = '$user_id'
-                            AND down_session_id = '$session_id'
+                        WHERE c_id = $courseId
+                            AND down_user_id = $user_id
+                            AND down_session_id = $session_id
                         GROUP BY down_doc_path";
 
     		echo "<tr><td style='padding-left : 40px;padding-right : 40px;'>";
@@ -6724,9 +6725,11 @@ class TrackingUserLogCSV
      * Displays the links followed for a specific user in a specific course.
      * @todo remove globals
      */
-    public function display_links_tracking_info($view, $user_id, $course_id)
+    public function display_links_tracking_info($view, $userId, $courseCode)
     {
     	global $TABLETRACK_LINKS, $TABLECOURSE_LINKS;
+        $courseId = api_get_course_int_id($courseCode);
+        $userId = intval($userId);
         $line = null;
     	if (substr($view,3,1) == '1') {
     		$new_view = substr_replace($view,'0',3,1);
@@ -6734,8 +6737,8 @@ class TrackingUserLogCSV
     		$sql = "SELECT cl.title, cl.url
                         FROM $TABLETRACK_LINKS AS sl, $TABLECOURSE_LINKS AS cl
                         WHERE sl.links_link_id = cl.id
-                            AND sl.links_cours_id = '$course_id'
-                            AND sl.links_user_id = '$user_id'
+                            AND sl.c_id = $courseId
+                            AND sl.links_user_id = $userId
                         GROUP BY cl.title, cl.url";
     		$results = StatsUtils::getManyResults2Col($sql);
     		$title_line= get_lang('LinksTitleLinkColumn')."\n";
@@ -6760,11 +6763,11 @@ class TrackingUserLogCSV
      * @param    int        Session id (optional, default = 0)
      * @return     void
      */
-    public function display_document_tracking_info($view, $user_id, $course_id, $session_id = 0)
+    public function display_document_tracking_info($view, $user_id, $courseCode, $session_id = 0)
     {
     	// protect data
     	$user_id     = intval($user_id);
-    	$course_id     = Database::escape_string($course_id);
+        $courseId = api_get_course_int_id($courseCode);
     	$session_id = intval($session_id);
 
     	$downloads_table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_DOWNLOADS);
@@ -6775,9 +6778,9 @@ class TrackingUserLogCSV
 
     		$sql = "SELECT down_doc_path
                         FROM $downloads_table
-                        WHERE down_cours_id = '$course_id'
-                            AND down_user_id = '$user_id'
-                            AND down_session_id = '$session_id'
+                        WHERE c_id = $courseId
+                            AND down_user_id = $user_id
+                            AND down_session_id = $session_id
                         GROUP BY down_doc_path";
 
     		$results = StatsUtils::getManyResults1Col($sql);

+ 4 - 10
main/install/db_stats.sql

@@ -81,7 +81,6 @@ DROP TABLE IF EXISTS track_e_default;
 CREATE TABLE track_e_default (
   default_id int NOT NULL auto_increment,
   default_user_id int unsigned NOT NULL default 0,
-  default_cours_code varchar(40) NOT NULL default '',
   c_id int not null,
   default_date datetime NOT NULL default '0000-00-00 00:00:00',
   default_event_type varchar(20) NOT NULL default '',
@@ -95,13 +94,12 @@ CREATE TABLE track_e_downloads (
   down_id int NOT NULL auto_increment,
   down_user_id int unsigned default NULL,
   down_date datetime NOT NULL default '0000-00-00 00:00:00',
-  down_cours_id varchar(40) NOT NULL default '',
   c_id int NOT NULL,
   down_doc_path varchar(255) NOT NULL default '',
   down_session_id INT NOT NULL DEFAULT 0,
   PRIMARY KEY  (down_id),
-  KEY down_user_id (down_user_id),
-  KEY down_cours_id (down_cours_id)
+  KEY idx_ted_user_id (down_user_id),
+  KEY idx_ted_c_id (c_id)
 );
 
 DROP TABLE IF EXISTS track_e_exercises;
@@ -186,13 +184,12 @@ CREATE TABLE track_e_links (
   links_id int NOT NULL auto_increment,
   links_user_id int unsigned default NULL,
   links_date datetime NOT NULL default '0000-00-00 00:00:00',
-  links_cours_id varchar(40) NOT NULL default '' ,
   c_id int NOT NULL,
   links_link_id int NOT NULL default 0,
   links_session_id INT NOT NULL DEFAULT 0,
   PRIMARY KEY  (links_id),
-  KEY links_cours_id (links_cours_id),
-  KEY links_user_id (links_user_id)
+  KEY idx_tel_c_id (links_cours_id),
+  KEY idx_tel_user_id (links_user_id)
 );
 
 DROP TABLE IF EXISTS track_e_login;
@@ -246,7 +243,6 @@ CREATE TABLE track_e_uploads (
 DROP TABLE IF EXISTS track_e_course_access;
 CREATE TABLE track_e_course_access (
   course_access_id int NOT NULL auto_increment,
-  course_code varchar(40) NOT NULL,
   c_id int NOT NULL,
   user_id int NOT NULL,
   login_course_date datetime NOT NULL default '0000-00-00 00:00:00',
@@ -291,11 +287,9 @@ CREATE TABLE track_e_item_property (
 
 ALTER TABLE track_e_course_access ADD INDEX (user_id);
 ALTER TABLE track_e_course_access ADD INDEX (login_course_date);
-ALTER TABLE track_e_course_access ADD INDEX (course_code);
 ALTER TABLE track_e_course_access ADD INDEX (session_id);
 ALTER TABLE track_e_access ADD INDEX (access_session_id);
 
-ALTER TABLE track_e_online ADD INDEX (course);
 ALTER TABLE track_e_online ADD INDEX (session_id);
 
 ALTER TABLE track_e_item_property ADD INDEX (course_id, item_property_id, session_id);

+ 1 - 1
main/install/update-db-1.9.0-1.10.0.inc.php

@@ -116,7 +116,7 @@ if (defined('SYSTEM_INSTALLATION')) {
                 );
 
                 foreach ($fields as $table => $key) {
-                    $sql = "UPDATE $dbNameForm.$table SET c_id = '$courseId'
+                    $sql = "UPDATE $dbNameForm.$table SET c_id = $courseId
                             WHERE $key = '$courseCode'";
                     iDatabase::query($sql);
                 }

+ 8 - 8
main/tracking/courseLogCSV.php

@@ -186,7 +186,7 @@ if ($is_allowedToTrack) {
         //Total
         $sql = "SELECT count(*)
                 FROM $TABLETRACK_ACCESS
-                WHERE c_id = '" . $courseId . "'
+                WHERE c_id = $courseId
                     AND access_tool IS NULL";
         $count = StatsUtils::getOneResult($sql);
 
@@ -195,7 +195,7 @@ if ($is_allowedToTrack) {
         // last 31 days
         $sql = "SELECT count(*)
                 FROM $TABLETRACK_ACCESS
-                WHERE c_id = '$courseId'
+                WHERE c_id = $courseId
                     AND (access_date > DATE_ADD(CURDATE(), INTERVAL -31 DAY))
                     AND access_tool IS NULL";
         $count = StatsUtils::getOneResult($sql);
@@ -205,7 +205,7 @@ if ($is_allowedToTrack) {
         // last 7 days
         $sql = "SELECT count(*)
                 FROM $TABLETRACK_ACCESS
-                WHERE c_id = '$courseId'
+                WHERE c_id = $courseId
                     AND (access_date > DATE_ADD(CURDATE(), INTERVAL -7 DAY))
                     AND access_tool IS NULL";
         $count = StatsUtils::getOneResult($sql);
@@ -215,7 +215,7 @@ if ($is_allowedToTrack) {
         // today
         $sql = "SELECT count(*)
                 FROM $TABLETRACK_ACCESS
-                WHERE c_id = '$courseId'
+                WHERE c_id = $courseId
                     AND ( access_date > CURDATE() )
                     AND access_tool IS NULL";
         $count = StatsUtils::getOneResult($sql);
@@ -236,7 +236,7 @@ if ($is_allowedToTrack) {
         $sql = "SELECT access_tool, COUNT(DISTINCT access_user_id),count( access_tool )
                 FROM $TABLETRACK_ACCESS
                 WHERE access_tool IS NOT NULL
-                    AND c_id = '$courseId'
+                    AND c_id = $courseId
                 GROUP BY access_tool";
 
         $results = getManyResults3Col($sql);
@@ -261,9 +261,9 @@ if ($is_allowedToTrack) {
         $sql = "SELECT cl.title, cl.url,count(DISTINCT sl.links_user_id), count(cl.title)
                     FROM $TABLETRACK_LINKS AS sl, $TABLECOURSE_LINKS AS cl
                     WHERE
-                    	cl.c_id = $course_id AND
+                    	cl.c_id = $courseId AND
                     	sl.links_link_id = cl.id AND
-                    	sl.links_cours_id = '$_cid'
+                    	sl.c_id = $courseId
                     GROUP BY cl.title, cl.url";
 
         $results = StatsUtils::getManyResultsXCol($sql, 4);
@@ -291,7 +291,7 @@ if ($is_allowedToTrack) {
 
         $sql = "SELECT down_doc_path, COUNT(DISTINCT down_user_id), COUNT(down_doc_path)
                     FROM $TABLETRACK_DOWNLOADS
-                    WHERE down_cours_id = '$_cid'
+                    WHERE c_id = $courseId
                     GROUP BY down_doc_path";
 
         $results = getManyResults3Col($sql);