From 4febd64eff9e0f5f15aeec2c0053e335acb92038 Mon Sep 17 00:00:00 2001
From: "lee.5151" <lee.5151@osu.edu>
Date: Tue, 23 Jan 2024 11:51:21 -0500
Subject: [PATCH] Add Imagecache Render custom module

---
 .../imagecache_render.info.yml                |  4 ++++
 .../imagecache_render.module                  | 21 +++++++++++++++++++
 2 files changed, 25 insertions(+)
 create mode 100644 web/modules/custom/imagecache_render/imagecache_render.info.yml
 create mode 100644 web/modules/custom/imagecache_render/imagecache_render.module

diff --git a/web/modules/custom/imagecache_render/imagecache_render.info.yml b/web/modules/custom/imagecache_render/imagecache_render.info.yml
new file mode 100644
index 0000000000..f6f2f4546e
--- /dev/null
+++ b/web/modules/custom/imagecache_render/imagecache_render.info.yml
@@ -0,0 +1,4 @@
+name: Imagecache Render
+type: module
+description: Adds a custom cronjob to re-render People Directory views after flushing external OPIC images
+core_version_requirement: ^10
diff --git a/web/modules/custom/imagecache_render/imagecache_render.module b/web/modules/custom/imagecache_render/imagecache_render.module
new file mode 100644
index 0000000000..d327b01a43
--- /dev/null
+++ b/web/modules/custom/imagecache_render/imagecache_render.module
@@ -0,0 +1,21 @@
+<?php
+function imagecache_render_cron()
+{
+    // Load the view
+    $view = \Drupal\views\Views::getView('people_directory');
+
+    if ($view) {
+        // Select /people view
+        $view->setDisplay('page_1');
+
+        // Clear the view's cache
+        $view->storage->invalidateCaches();
+
+        // Execute the view and build the render
+        $view->execute();
+        $view_build = $view->buildRenderable('page_1', []);
+
+        // Render the output
+        \Drupal::service('renderer')->renderPlain($view_build);
+    }
+}
-- 
GitLab