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