Standalone: fix url() fragment, and implement theme() for maintenance mode
authorMathieu Lutfy <mathieu@symbiotic.coop>
Fri, 17 Dec 2021 02:08:34 +0000 (21:08 -0500)
committerbgm <bgm@bagdad.bidon.ca>
Fri, 24 Jun 2022 17:59:43 +0000 (13:59 -0400)
CRM/Utils/System/Standalone.php

index 24c9898ab987610dad9e7f86f68da1e527748dd3..c973ac838139ef04e69549317027d6b2ae48bb82 100644 (file)
@@ -150,7 +150,8 @@ class CRM_Utils_System_Standalone extends CRM_Utils_System_Base {
     $htmlize = TRUE
   ) {
     // @todo Implement absolute etc
-    $url = "/{$path}?{$query}";
+    $fragment = $fragment ? ('#' . $fragment) : '';
+    $url = "/{$path}?{$query}$fragment";
     return $url;
   }
 
@@ -214,12 +215,27 @@ class CRM_Utils_System_Standalone extends CRM_Utils_System_Base {
   }
 
   /**
-   *
+   * @inheritDoc
    */
   public function logout() {
     // @todo
   }
 
+  /**
+   * @inheritDoc
+   */
+  public function theme(&$content, $print = FALSE, $maintenance = FALSE) {
+    if ($maintenance) {
+      $smarty = CRM_Core_Smarty::singleton();
+      echo implode('', $smarty->_tpl_vars['pageHTMLHead']);
+    }
+
+    // @todo Add variables from the body tag? (for Shoreditch)
+
+    print $content;
+    return NULL;
+  }
+
   /**
    * Load drupal bootstrap.
    *