Modified cache system.
[com.zyxware.civiwci.git] / CRM / Wci / WidgetCode.php
index e53c46051ba42433b34cffc4fbfab4cfd3d23073..e870456b8c7d2e534ec95f54106e402f73253993 100644 (file)
@@ -4,6 +4,8 @@ require_once '../wci-helper-functions.php';
 class CRM_Wci_WidgetCode {
 
   static function generate_widget_code($widgetId, $preview = 0) {
+    $code = '';
+    $dynamic_content = FALSE;
     $data = CRM_Wci_BAO_Widget::getWidgetData($widgetId);
     $template = CRM_Core_Smarty::singleton();
     $template->assign('wciform', $data);
@@ -16,23 +18,29 @@ class CRM_Wci_WidgetCode {
     } else {
       $wcidata = $template->fetch('string:' . html_entity_decode($data['custom_template']));
     }
+    
     $code = json_encode($wcidata);
-    return $code;
+    
+    if ($data['progress_bar_id'] != 0) {
+      $dynamic_content = TRUE;
+    }
+    return array('dynamic' => $dynamic_content, 'code' => $code);
   }
   
   static function get_widget_code($embedId, $preview = 0) {
     $code = '';
     if ($preview) {
-      return CRM_Wci_WidgetCode::generate_widget_code($embedId, $preview);
+      $widget = CRM_Wci_WidgetCode::generate_widget_code($embedId, $preview);
+      return $widget['code'];
     }
     else {
       $widgetId = CRM_Wci_BAO_EmbedCode::getWidgetId($embedId);
       $code = CRM_Wci_BAO_WidgetCache::getWidgetCache($widgetId);
     }
-    
     if (!$code) {
-      $code = CRM_Wci_WidgetCode::generate_widget_code($widgetId);
-      CRM_Wci_BAO_WidgetCache::setWidgetCache($widgetId, $code);
+      $widget = CRM_Wci_WidgetCode::generate_widget_code($widgetId);
+      CRM_Wci_BAO_WidgetCache::setWidgetCache($widgetId, $widget);
+      $code = $widget['code'];
     }
 
     return $code;