Improved caching system.
[com.zyxware.civiwci.git] / CRM / Wci / WidgetCode.php
CommitLineData
1008246f
J
1<?php
2require_once '../wci-helper-functions.php';
3
4class CRM_Wci_WidgetCode {
5
3ebd2f4b 6 static function generate_widget_code($widgetId, $preview = 0) {
1008246f
J
7 $data = CRM_Wci_BAO_Widget::getWidgetData($widgetId);
8 $template = CRM_Core_Smarty::singleton();
9 $template->assign('wciform', $data);
10 $template->assign('cpageId', $data['button_link_to']);
5a5c3cd9 11 $template->assign('preview', $preview);
1008246f
J
12
13 if ($data["override"] == '0') {
14 $template->template_dir[] = getWciWidgetTemplatePath();
15 $wcidata = $template->fetch('wciwidget.tpl');
16 } else {
17 $wcidata = $template->fetch('string:' . html_entity_decode($data['custom_template']));
18 }
19 $code = json_encode($wcidata);
1008246f
J
20 return $code;
21 }
22
3ebd2f4b
VJ
23 static function get_widget_code($embedId, $preview = 0) {
24 $code = '';
25 if ($preview) {
26 return CRM_Wci_WidgetCode::generate_widget_code($embedId, $preview);
27 }
28 else {
1008246f
J
29 $widgetId = CRM_Wci_BAO_EmbedCode::getWidgetId($embedId);
30 $code = CRM_Wci_BAO_WidgetCache::getWidgetCache($widgetId);
1008246f 31 }
3ebd2f4b
VJ
32
33 if (!$code) {
34 $code = CRM_Wci_WidgetCode::generate_widget_code($widgetId);
35 CRM_Wci_BAO_WidgetCache::setWidgetCache($widgetId, $code);
36 }
37
1008246f
J
38 return $code;
39 }
40}
41