From d3e24237ff9b36d234d3dea977a0757164a37759 Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Sun, 1 Nov 2020 23:17:47 -0500 Subject: [PATCH 01/42] Set up auto updates for deps --- .github/dependabot.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..ad9ec43 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,16 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "npm" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + + - package-ecosystem: "composer" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" From dd8fcc44d724d0a0ec43d0fd9f28fe3579377e77 Mon Sep 17 00:00:00 2001 From: ajiang2363 <42986508+ajiang2363@users.noreply.github.com> Date: Tue, 3 Nov 2020 20:00:27 -0500 Subject: [PATCH 02/42] Update timeFunctions.php Changing non-schedule items to go in 15 minute intervals to account for weird class start and end times due to corona. --- inc/timeFunctions.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/timeFunctions.php b/inc/timeFunctions.php index fc306dd..75cf2ce 100644 --- a/inc/timeFunctions.php +++ b/inc/timeFunctions.php @@ -45,7 +45,7 @@ function getDayField($fieldname, $selectedDay, $numeric = false) { } /** - * Generates a drop down list of every hour and half hour. + * Generates a drop down list of every hour and quarter hour. * * @param string $fieldname The name of the select tag, also the id * @param int $selectedTime The time that is preselected. Defaults to @@ -57,8 +57,8 @@ function getTimeField($fieldname, $selectedTime = "720", $twelve = true) { // Generate a list of times $times = []; - // Start at 0 and add 30 for every hour and every half hour - for ($i = 0; $i <= 1440; $i += 30) { + // Start at 0 and add 15 for every hour and every quarter hour + for ($i = 0; $i <= 1440; $i += 15) { $times[] = $i; } From 13e6ce3de3e3b6ce57d869ce9a48b2af2380bb6e Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Tue, 8 Dec 2020 15:43:11 -0500 Subject: [PATCH 03/42] One less layer --- Dockerfile | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2a3b423..c9ec67e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ COPY assets ./assets RUN npm run-script build -FROM php:7.3-apache as php-setup +FROM php:7.3-apache LABEL author="Devin Matte " RUN echo "deb-src http://deb.debian.org/debian buster main" >> /etc/apt/sources.list @@ -51,13 +51,8 @@ RUN wget https://github.com/ImageMagick/ImageMagick6/archive/6.9.11-22.tar.gz && RUN docker-php-ext-install mysqli && \ yes '' | pecl install imagick && docker-php-ext-enable imagick - RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer - -FROM php-setup -LABEL author="Devin Matte " - COPY apache-config.conf /etc/apache2/sites-enabled/000-default.conf RUN a2enmod rewrite && a2enmod headers && a2enmod expires && \ From 01c3c4ccfd29dc1ddc0587da5b5209e80e07d690 Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Sat, 10 Apr 2021 19:00:19 -0400 Subject: [PATCH 04/42] Updating datadog rum --- index.php | 4 +++- package.json | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/index.php b/index.php index fee07d2..8675103 100644 --- a/index.php +++ b/index.php @@ -127,7 +127,7 @@ ga('create', '', 'rit.edu'); diff --git a/package.json b/package.json index fff30a3..a5eae2f 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ }, "homepage": "http://schedule.csh.rit.edu", "devDependencies": { - "@datadog/browser-rum": "^1.11.4", + "@datadog/browser-rum-recorder": "^2.7.1", "@types/angular": "1.5", "@types/google.analytics": "0.0.40", "@types/mousetrap": "^1.6.3", From 3415969c7f203c5feb3616769dc5cb88134df5cf Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Sat, 10 Apr 2021 19:23:34 -0400 Subject: [PATCH 05/42] Bump to 3.2.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a5eae2f..a58bc16 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "schedulemaker", - "version": "3.2.0", + "version": "3.2.1", "private": true, "description": "A course database lookup tool and schedule building web application for use at Rochester Institute of Technology.", "main": "index.php", From 0f0133a4889805e39fb0ad082698e1f454a73101 Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Wed, 6 Oct 2021 21:33:18 -0400 Subject: [PATCH 06/42] Adding API to fetch images from s3 --- .htaccess | 5 +---- api/img.php | 32 ++++++++++++++++++++++++++++++++ api/src/S3Manager.php | 14 ++++++++++++++ api/src/Schedule.php | 3 +-- 4 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 api/img.php diff --git a/.htaccess b/.htaccess index 6b32b62..26c8968 100644 --- a/.htaccess +++ b/.htaccess @@ -19,10 +19,7 @@ RewriteRule ^(generate|roulette|search|status).php$ /$1 [R=302,L] RewriteCond %{HTTP:Accept} application/json [NC] RewriteRule ^(schedule|generate|entity|search|status|rmp)(?:/([^/]*))*$ api/$1.php [L] RewriteRule ^schedule/[^/]*/ical$ api/schedule.php [L] - -# Redirect all images to assets -# TODO Get it to redirect properly -# RewriteRule /([^.]+\.png)$ https://assets.csh.rit.edu/schedulemaker/$1 [R=301,L,NC] +RewriteRule ^img/schedules/[^/]*.png$ api/img.php [L] # Don't rewrite files or directories RewriteCond %{REQUEST_FILENAME} -f [OR] diff --git a/api/img.php b/api/img.php new file mode 100644 index 0000000..24a97b0 --- /dev/null +++ b/api/img.php @@ -0,0 +1,32 @@ +returnImage($id); diff --git a/api/src/S3Manager.php b/api/src/S3Manager.php index 891ca17..517f983 100644 --- a/api/src/S3Manager.php +++ b/api/src/S3Manager.php @@ -52,4 +52,18 @@ public function saveImage(Imagick $im, $id) { 'Body' => $im->getImageBlob() ]); } + + public function getImage(string $id) { + return $this->s3Client->getObject([ + 'Bucket' => $this->imageBucket, + 'ContentType' => 'image/png', + 'Key' => "{$id}.png", + ]); + } + + public function returnImage(string $id) { + $result = $this->getImage($id); + + return $result['Body']; + } } diff --git a/api/src/Schedule.php b/api/src/Schedule.php index 10fb377..15db9a3 100644 --- a/api/src/Schedule.php +++ b/api/src/Schedule.php @@ -204,10 +204,9 @@ public function renderSvg($svg, $id) { $im->scaleimage(1000, 600, true); - // Write it to the filesystem and s3 + // Write it to s3 //TODO Generate non-white image $s3ImageManager->saveImage($im, $id); - $im->writeimage("../img/schedules/{$id}.png"); $im->clear(); $im->destroy(); From aafc0f56a9ebc6ef65ed73408dcde09e0417c8ab Mon Sep 17 00:00:00 2001 From: Devin Matte Date: Wed, 6 Oct 2021 22:20:43 -0400 Subject: [PATCH 07/42] Updating Angular js to 1.3.20 --- assets/src/modules/sm/App/providers/cartFilterFilter.ts | 4 ++-- assets/src/modules/sm/App/templates/cart.html | 2 +- assets/src/modules/sm/app.ts | 5 ++++- index.php | 8 ++++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/assets/src/modules/sm/App/providers/cartFilterFilter.ts b/assets/src/modules/sm/App/providers/cartFilterFilter.ts index 300fc60..b8ecaad 100644 --- a/assets/src/modules/sm/App/providers/cartFilterFilter.ts +++ b/assets/src/modules/sm/App/providers/cartFilterFilter.ts @@ -1,7 +1,7 @@ angular.module('sm').filter('cartFilter', function () { - return function (input) { + return function (input, $scope) { const parsed = [] - const SSFN = this.courseCart.count.course.selectedSections + const SSFN = $scope.courseCart.count.course.selectedSections angular.forEach(input, function (course: Course) { if (course && course.sections.length > 0 && !course.sections[0].isError && SSFN(course) > 0) { parsed.push(course) diff --git a/assets/src/modules/sm/App/templates/cart.html b/assets/src/modules/sm/App/templates/cart.html index e9a166b..398ff79 100644 --- a/assets/src/modules/sm/App/templates/cart.html +++ b/assets/src/modules/sm/App/templates/cart.html @@ -20,7 +20,7 @@

Course Cart
    -
  • +
diff --git a/package.json b/package.json index dbe5acd..c447d84 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "config": { "stateVersion": 1 }, - "homepage": "http://schedule.csh.rit.edu", + "homepage": "https://schedule.csh.rit.edu", "devDependencies": { "@datadog/browser-rum": "^3.6.10", "@types/angular": "1.5", From 9c268925fe99e85061d87a7a448e70316c35f27d Mon Sep 17 00:00:00 2001 From: Galen Guyer Date: Tue, 22 Mar 2022 15:08:34 -0400 Subject: [PATCH 14/42] Fix spelling of delimited Closes issue #293 --- assets/src/modules/sm/Search/templates/search.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/src/modules/sm/Search/templates/search.html b/assets/src/modules/sm/Search/templates/search.html index a428858..07aa90c 100644 --- a/assets/src/modules/sm/Search/templates/search.html +++ b/assets/src/modules/sm/Search/templates/search.html @@ -87,7 +87,7 @@

Search Courses

- +
From 2a72708f7fe5df3be6442035dc8f34bd81939b2a Mon Sep 17 00:00:00 2001 From: veggiebob Date: Sun, 27 Mar 2022 14:31:08 -0400 Subject: [PATCH 15/42] add option tag with value 1 to page size drop down --- assets/src/modules/sm/Search/templates/search.html | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/src/modules/sm/Search/templates/search.html b/assets/src/modules/sm/Search/templates/search.html index 07aa90c..2702dab 100644 --- a/assets/src/modules/sm/Search/templates/search.html +++ b/assets/src/modules/sm/Search/templates/search.html @@ -166,6 +166,7 @@

Search Courses