/**
  * Updates the access_url_rel_course_category table with a given list
  * @author Julio Montoya
  * @param array course category list
  * @param int access_url_id
  **/
 public static function updateUrlRelCourseCategory($list, $urlId)
 {
     $table = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE_CATEGORY);
     $sql = "SELECT course_category_id FROM {$table} WHERE access_url_id = " . intval($urlId);
     $result = Database::query($sql);
     $existingItems = array();
     while ($row = Database::fetch_array($result)) {
         $existingItems[] = $row['course_category_id'];
     }
     // Adding
     foreach ($list as $id) {
         UrlManager::addCourseCategoryToUrl($id, $urlId);
         $categoryInfo = CourseCategoryManager::getCategoryById($id);
         $children = CourseCategoryManager::getChildren($categoryInfo['code']);
         if (!empty($children)) {
             foreach ($children as $category) {
                 UrlManager::addCourseCategoryToUrl($category['id'], $urlId);
             }
         }
     }
     // Deleting old items
     foreach ($existingItems as $id) {
         if (!in_array($id, $list)) {
             UrlManager::deleteUrlRelCourseCategory($id, $urlId);
             $categoryInfo = CourseCategoryManager::getCategoryById($id);
             $children = CourseCategoryManager::getChildren($categoryInfo['code']);
             if (!empty($children)) {
                 foreach ($children as $category) {
                     UrlManager::deleteUrlRelCourseCategory($category['id'], $urlId);
                 }
             }
         }
     }
 }