Esempio n. 1
1
 public function indexAction()
 {
     $this->view->form = $form = new Ynnotification_Form_Admin_Style();
     $values = Engine_Api::_()->getApi('settings', 'core')->getSetting('avdnotification.customcssobj', 0);
     $values = Zend_JSON::decode($values);
     if ($values) {
         $form->populate($values);
     }
     if ($this->getRequest()->isPost() && $form->isValid($this->_getAllParams())) {
         $values = $form->getValues();
         if (isset($_POST['submit'])) {
             // $str = $this->view->partial("_css.tpl");
             $arr_keys = array_keys($values);
             $arr_values = array_values($values);
             $arr_keys = array_map(array($this, 'map'), $arr_keys);
             $str = str_replace($arr_keys, $arr_values, $str);
             Engine_Api::_()->getApi('settings', 'core')->setSetting('avdnotification.customcssobj', Zend_JSON::encode($values));
             Engine_Api::_()->getApi('settings', 'core')->setSetting('avdnotification', $str);
             $form->addNotice('Your changes have been saved.');
         } else {
             if (isset($_POST['clear'])) {
                 Engine_Api::_()->getApi('settings', 'core')->setSetting('avdnotification.customcssobj', '');
                 Engine_Api::_()->getApi('settings', 'core')->setSetting('avdnotification', '');
                 $form->populate(array('mes_background' => '79B4D4', 'text_color' => ''));
                 $form->addNotice('You have set default styles.');
             }
         }
     }
 }
Esempio n. 2
1
 public function create($doc, $id = null)
 {
     if (!$doc instanceof CouchDocument) {
         if (!is_array($doc)) {
             $doc = Zend_JSON::decode($doc);
         }
         $data = new CouchData($doc);
         $doc = CouchDocument::create($this, $data);
     }
     if (!is_null($id)) {
         $doc->id = $id;
     }
     if (isset($doc->id)) {
         $request = new CouchRequest('PUT', urlencode($doc->id), $doc);
     } else {
         $request = new CouchRequest('POST', "", $doc);
     }
     $response = $this->send($request);
     $responseObject = $response->getObject();
     $doc->id = $responseObject['id'];
     $doc->rev = $responseObject['rev'];
     return $doc;
 }
Esempio n. 3
1
 function getSearchFilterModel($module, $search)
 {
     return Mobile_WS_SearchFilterModel::modelWithCriterias($module, Zend_JSON::decode($search));
 }
Esempio n. 4
0
 public static function ReportFiltersAjax(Vtiger_Request $request)
 {
     $BLOCK_R = $BLOCK1 = $BLOCK2 = '';
     $Options = array();
     $secondarymodule = '';
     $secondarymodules = array();
     $record = $request->get('record');
     $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
     $primary_moduleid = $request->get("primarymodule");
     $primary_module = vtlib_getModuleNameById($primary_moduleid);
     //$reportModel->report->init_list_for_module($primary_module);
     $related_modules = $reportModel->getReportRelatedModulesList();
     if (!empty($related_modules[$primary_module])) {
         foreach ($related_modules[$primary_module] as $key => $value) {
             $exploded_mid = explode("x", $value["id"]);
             if (strtolower($exploded_mid[1]) != "mif") {
                 $secondarymodules[] = $value["id"];
             }
         }
     }
     $Options = $reportModel->getPrimaryColumns($Options, $primary_module, true);
     // $Options = array_merge(array(vtranslate("LBL_NONE")=>array("0"=>array("value"=>"","text"=>vtranslate("LBL_NONE"),))), $p_options);
     $secondarymodules_str = implode(":", $secondarymodules);
     $reportModel->getSecModuleColumnsList($secondarymodules_str);
     $Options_sec = $reportModel->getSecondaryColumns(array(), $secondarymodules_str);
     foreach ($Options_sec as $moduleid => $sec_options) {
         $Options = array_merge($Options, $sec_options);
     }
     // ITS4YOU-CR SlOl 16. 9. 2015 10:49:04 OTHER COLUMNS
     if ($request->has("selectedColumnsStr") && $request->get("selectedColumnsStr") != "") {
         $selectedColumnsStr = $request->get("selectedColumnsStr");
         $selectedColumnsStringDecoded = html_entity_decode($selectedColumnsStr, ENT_QUOTES, $default_charset);
         $selectedColumns_arr = explode("<_@!@_>", $selectedColumnsStringDecoded);
     } else {
         $selectedColumnsStr = $reportModel->report->reportinformations["selectedColumnsString"];
         $selectedColumnsStringDecoded = html_entity_decode($selectedColumnsStr, ENT_QUOTES, $default_charset);
         $selectedColumns_arr = explode(";", $selectedColumnsStringDecoded);
     }
     if (!empty($selectedColumns_arr)) {
         $opt_label = vtranslate("LBL_Filter_SelectedColumnsGroup", "ITS4YouReports");
         foreach ($selectedColumns_arr as $sc_key => $sc_col_str) {
             if ($sc_col_str != "") {
                 $in_options = false;
                 foreach ($Options as $opt_group => $opt_array) {
                     if ($reportModel->report->in_multiarray($sc_col_str, $opt_array, "value") === true) {
                         $in_options = true;
                         continue;
                     }
                 }
                 if ($in_options) {
                     continue;
                 } else {
                     $Options[$opt_label][] = array("value" => $sc_col_str, "text" => $reportModel->report->getColumnStr_Label($sc_col_str));
                 }
             }
         }
     }
     // ITS4YOU-END
     foreach ($Options as $optgroup => $optionsdata) {
         if ($BLOCK1 != "") {
             $BLOCK1 .= "(|@!@|)";
         }
         $BLOCK1 .= $optgroup;
         $BLOCK1 .= "(|@|)";
         $BLOCK1 .= Zend_JSON::encode($optionsdata);
     }
     $BLOCK_R .= $BLOCK1;
     // ITS4YOU-CR SlOl 21. 3. 2014 10:20:17 summaries columns for frouping filters start
     $selectedSummariesString = $request->get("selectedSummariesString");
     $selectedSummariesArr = explode(";", $selectedSummariesString);
     $sm_arr = sgetSelectedSummariesOptions($selectedSummariesArr);
     $sm_str = "";
     foreach ($sm_arr as $key => $opt_arr) {
         if ($sm_str != "") {
             $sm_str .= "(|@!@|)";
         }
         $sm_str .= $opt_arr["value"] . "(|@|)" . $opt_arr["text"];
     }
     $BLOCK_S = $sm_str;
     $BLOCK_R .= "__BLOCKS__" . $BLOCK_S;
     $Report_Informations = $reportModel->getReportInformations();
     if (isset($Report_Informations["advft_criteria"]) && $Report_Informations["advft_criteria"] != "") {
         $advft_criteria = $Report_Informations["advft_criteria"];
     } else {
         $advft_criteria = "";
     }
     $BLOCK_R .= "__ADVFTCRI__" . Zend_JSON::encode($advft_criteria);
     $adv_sel_fields = $reportModel->getAdvSelFields();
     $sel_fields = Zend_Json::encode($adv_sel_fields);
     $BLOCK_R .= "__ADVFTCRI__" . $sel_fields;
     $default_charset = vglobal("default_charset");
     $std_filter_columns = $reportModel->getStdFilterColumns();
     $std_filter_columns_js = implode("<%jsstdjs%>", $std_filter_columns);
     $std_filter_columns_js = html_entity_decode($std_filter_columns_js, ENT_QUOTES, $default_charset);
     $BLOCK_R .= "__ADVFTCRI__" . $std_filter_columns_js;
     return $BLOCK_R;
 }
Esempio n. 5
0
    $reporttype = vtlib_purify($_REQUEST['selectedreporttype']);
    if ($reporttype == 'timeline' || $reporttype == 'grouping') {
        $SumOptions = sgetColumntoTotalOptions($SumOptions, $primarymodule, array());
    }
}
$search_for = vtlib_purify(trim($_REQUEST["search_for"]));
if (isset($search_for) && $search_for != "") {
    foreach ($SumOptions as $block_name => $fields) {
        $fi = 0;
        foreach ($fields as $key => $field_array) {
            $pos = strpos(strtolower($field_array["text"]), strtolower($search_for));
            if ($pos === false) {
                // show("The string '$search_for' was not found in the string '".$field_array["text"]."'");
            } else {
                $new_SumOptions[$block_name][$fi] = $field_array;
                $fi++;
            }
        }
    }
    $SumOptions = $new_SumOptions;
}
foreach ($SumOptions as $optgroup => $optionsdata) {
    if ($BLOCK1 != "") {
        $BLOCK1 .= "(|@!@|)";
    }
    $BLOCK1 .= $optgroup;
    $BLOCK1 .= "(|@|)";
    $BLOCK1 .= Zend_JSON::encode($optionsdata);
}
$BLOCK1 = $BLOCK1 != '' ? $BLOCK1 : "EMPTY_RELS(|@!@|)" . $mod_strings['NO_REL_FIELDS'];
echo $BLOCK1;
Esempio n. 6
0
 /**
  * Invalide Angabe von Parametern
  *
  * @test
  * @group integration
  * @dataProvider invalidParamsProvider
  */
 public function invalidParams($runId, $id, $websiteId, $type, $override, $expectedErrorParams)
 {
     // Login Test-User 1
     $this->doLogin(1, false);
     // Parameter aufbereiten
     $params = array();
     if (isset($runId)) {
         $params['runid'] = $runId;
     }
     if (isset($id)) {
         $params['id'] = $id;
     }
     if (isset($websiteId)) {
         $params['websiteid'] = $websiteId;
     }
     if (isset($type)) {
         $params['type'] = $type;
     }
     if (isset($override)) {
         $params['override'] = $override;
     }
     $request = sprintf('/lock/lock/params/%s', urlencode(\Zend_JSON::encode($params)));
     $this->dispatch($request);
     $response = $this->getResponseBody();
     $responseObject = json_decode($response);
     $this->assertResponseBodyError($responseObject);
     $errors = $responseObject->error;
     $expectedErrorCode = 3;
     $actualErrorCode = $errors[0]->code;
     $assertionMessage = sprintf("Expected error code '%d' doesn't match actual code '%d'", $expectedErrorCode, $actualErrorCode);
     $this->assertSame($expectedErrorCode, $actualErrorCode, $assertionMessage);
     foreach ($errors as $error) {
         $this->assertObjectHasAttribute('param', $error);
         $this->assertInstanceOf('stdClass', $error->param);
         $this->assertObjectHasAttribute('field', $error->param);
         $this->assertInternalType('string', $error->param->field);
         $this->assertContains($error->param->field, $expectedErrorParams, 'Parameter "' . $error->param->field . '" wird invalid zurückgegeben, obwohl er korrekt ist');
         $key = array_search($error->param->field, $expectedErrorParams);
         unset($expectedErrorParams[$key]);
     }
     $this->assertSame(0, count($expectedErrorParams), 'Parameter "' . implode(', ', $expectedErrorParams) . '" wurde nicht als Fehler zurückgegeben');
 }
    function content_5685e6404d8b1($_smarty_tpl)
    {
        ?>
<div id="toggleButton" class="toggleButton" title="<?php 
        echo vtranslate('LBL_LEFT_PANEL_SHOW_HIDE', 'Vtiger');
        ?>
"><i id="tButtonImage" class="<?php 
        if ($_smarty_tpl->tpl_vars['LEFTPANELHIDE']->value != '1') {
            ?>
icon-chevron-left<?php 
        } else {
            ?>
icon-chevron-right<?php 
        }
        ?>
"></i></div><div class="container-fluid"><div class="row-fluid reportsDetailHeader"><input type="hidden" name="date_filters" data-value='<?php 
        echo ZEND_JSON::encode($_smarty_tpl->tpl_vars['DATE_FILTERS']->value);
        ?>
' /><div class="reportHeader row-fluid"><div class='span8 btn-toolbar'><h3><?php 
        echo $_smarty_tpl->tpl_vars['REPORT_MODEL']->value->getName();
        ?>
</h3></div><div class='span4'><div class="btn-toolbar pull-right"><?php 
        if ($_smarty_tpl->tpl_vars['REPORT_MODEL']->value->isEditable() == true) {
            ?>
<div class="btn-group"><button onclick='window.location.href="<?php 
            echo $_smarty_tpl->tpl_vars['REPORT_MODEL']->value->getEditViewUrl();
            ?>
"' type="button" class="cursorPointer btn"><strong><?php 
            echo vtranslate('LBL_CUSTOMIZE', $_smarty_tpl->tpl_vars['MODULE']->value);
            ?>
</strong>&nbsp;<i class="icon-pencil"></i></button></div><?php 
        }
        ?>
<div class="btn-group"><button onclick='window.location.href="<?php 
        echo $_smarty_tpl->tpl_vars['REPORT_MODEL']->value->getDuplicateRecordUrl();
        ?>
"' type="button" class="cursorPointer btn"><strong><?php 
        echo vtranslate('LBL_DUPLICATE', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</strong></button></div></div></div></div><div class="well"><form name='chartDetailForm' id='chartDetailForm'><input type="hidden" name="module" value="<?php 
        echo $_smarty_tpl->tpl_vars['MODULE']->value;
        ?>
" /><input type="hidden" name="action" value="ChartSave" /><input type="hidden" name="recordId" id="recordId" value="<?php 
        echo $_smarty_tpl->tpl_vars['RECORD']->value;
        ?>
" /><input type="hidden" name="reportname" value="<?php 
        echo $_smarty_tpl->tpl_vars['REPORT_MODEL']->value->get('reportname');
        ?>
" /><input type="hidden" name="folderid" value="<?php 
        echo $_smarty_tpl->tpl_vars['REPORT_MODEL']->value->get('folderid');
        ?>
" /><input type="hidden" name="reports_description" value="<?php 
        echo $_smarty_tpl->tpl_vars['REPORT_MODEL']->value->get('reports_description');
        ?>
" /><input type="hidden" name="primary_module" value="<?php 
        echo $_smarty_tpl->tpl_vars['PRIMARY_MODULE']->value;
        ?>
" /><input type="hidden" name="secondary_modules" value=<?php 
        echo ZEND_JSON::encode($_smarty_tpl->tpl_vars['SECONDARY_MODULES']->value);
        ?>
 /><input type="hidden" name="advanced_filter" id="advanced_filter" value=<?php 
        echo ZEND_JSON::encode($_smarty_tpl->tpl_vars['ADVANCED_FILTERS']->value);
        ?>
 /><input type="hidden" name='groupbyfield' value=<?php 
        echo $_smarty_tpl->tpl_vars['CHART_MODEL']->value->getGroupByField();
        ?>
 /><input type="hidden" name='datafields' value=<?php 
        echo Zend_JSON::encode($_smarty_tpl->tpl_vars['CHART_MODEL']->value->getDataFields());
        ?>
 /><input type="hidden" name='charttype' value="<?php 
        echo $_smarty_tpl->tpl_vars['CHART_MODEL']->value->getChartType();
        ?>
" /><?php 
        $_smarty_tpl->tpl_vars['RECORD_STRUCTURE'] = new Smarty_variable(array(), null, 0);
        $_smarty_tpl->tpl_vars['PRIMARY_MODULE_LABEL'] = new Smarty_variable(vtranslate($_smarty_tpl->tpl_vars['PRIMARY_MODULE']->value, $_smarty_tpl->tpl_vars['PRIMARY_MODULE']->value), null, 0);
        $_smarty_tpl->tpl_vars['BLOCK_FIELDS'] = new Smarty_Variable();
        $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->_loop = false;
        $_smarty_tpl->tpl_vars['BLOCK_LABEL'] = new Smarty_Variable();
        $_from = $_smarty_tpl->tpl_vars['PRIMARY_MODULE_RECORD_STRUCTURE']->value;
        if (!is_array($_from) && !is_object($_from)) {
            settype($_from, 'array');
        }
        foreach ($_from as $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->key => $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->value) {
            $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->_loop = true;
            $_smarty_tpl->tpl_vars['BLOCK_LABEL']->value = $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->key;
            $_smarty_tpl->tpl_vars['PRIMARY_MODULE_BLOCK_LABEL'] = new Smarty_variable(vtranslate($_smarty_tpl->tpl_vars['BLOCK_LABEL']->value, $_smarty_tpl->tpl_vars['PRIMARY_MODULE']->value), null, 0);
            $_smarty_tpl->tpl_vars['key'] = new Smarty_variable($_smarty_tpl->tpl_vars['PRIMARY_MODULE_LABEL']->value . " " . $_smarty_tpl->tpl_vars['PRIMARY_MODULE_BLOCK_LABEL']->value, null, 0);
            if ($_smarty_tpl->tpl_vars['LINEITEM_FIELD_IN_CALCULATION']->value == false && $_smarty_tpl->tpl_vars['BLOCK_LABEL']->value == 'LBL_ITEM_DETAILS') {
            } else {
                $_smarty_tpl->createLocalArrayVariable('RECORD_STRUCTURE', null, 0);
                $_smarty_tpl->tpl_vars['RECORD_STRUCTURE']->value[$_smarty_tpl->tpl_vars['key']->value] = $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->value;
            }
        }
        $_smarty_tpl->tpl_vars['SECONDARY_MODULE_RECORD_STRUCTURE'] = new Smarty_Variable();
        $_smarty_tpl->tpl_vars['SECONDARY_MODULE_RECORD_STRUCTURE']->_loop = false;
        $_smarty_tpl->tpl_vars['MODULE_LABEL'] = new Smarty_Variable();
        $_from = $_smarty_tpl->tpl_vars['SECONDARY_MODULE_RECORD_STRUCTURES']->value;
        if (!is_array($_from) && !is_object($_from)) {
            settype($_from, 'array');
        }
        foreach ($_from as $_smarty_tpl->tpl_vars['SECONDARY_MODULE_RECORD_STRUCTURE']->key => $_smarty_tpl->tpl_vars['SECONDARY_MODULE_RECORD_STRUCTURE']->value) {
            $_smarty_tpl->tpl_vars['SECONDARY_MODULE_RECORD_STRUCTURE']->_loop = true;
            $_smarty_tpl->tpl_vars['MODULE_LABEL']->value = $_smarty_tpl->tpl_vars['SECONDARY_MODULE_RECORD_STRUCTURE']->key;
            $_smarty_tpl->tpl_vars['SECONDARY_MODULE_LABEL'] = new Smarty_variable(vtranslate($_smarty_tpl->tpl_vars['MODULE_LABEL']->value, $_smarty_tpl->tpl_vars['MODULE_LABEL']->value), null, 0);
            $_smarty_tpl->tpl_vars['BLOCK_FIELDS'] = new Smarty_Variable();
            $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->_loop = false;
            $_smarty_tpl->tpl_vars['BLOCK_LABEL'] = new Smarty_Variable();
            $_from = $_smarty_tpl->tpl_vars['SECONDARY_MODULE_RECORD_STRUCTURE']->value;
            if (!is_array($_from) && !is_object($_from)) {
                settype($_from, 'array');
            }
            foreach ($_from as $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->key => $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->value) {
                $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->_loop = true;
                $_smarty_tpl->tpl_vars['BLOCK_LABEL']->value = $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->key;
                $_smarty_tpl->tpl_vars['SECONDARY_MODULE_BLOCK_LABEL'] = new Smarty_variable(vtranslate($_smarty_tpl->tpl_vars['BLOCK_LABEL']->value, $_smarty_tpl->tpl_vars['MODULE_LABEL']->value), null, 0);
                $_smarty_tpl->tpl_vars['key'] = new Smarty_variable($_smarty_tpl->tpl_vars['SECONDARY_MODULE_LABEL']->value . " " . $_smarty_tpl->tpl_vars['SECONDARY_MODULE_BLOCK_LABEL']->value, null, 0);
                $_smarty_tpl->createLocalArrayVariable('RECORD_STRUCTURE', null, 0);
                $_smarty_tpl->tpl_vars['RECORD_STRUCTURE']->value[$_smarty_tpl->tpl_vars['key']->value] = $_smarty_tpl->tpl_vars['BLOCK_FIELDS']->value;
            }
        }
        ?>
<div><div><div class='row-fluid'><span class="span4"><div><span><?php 
        echo vtranslate('LBL_SELECT_GROUP_BY_FIELD', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</span><span class="redColor">*</span></div><br><div class="row-fluid"><select id='groupbyfield' name='groupbyfield' class="span10" data-validation-engine="validate[required]" style='min-width:300px;'></select></div></span><span class="span2">&nbsp;</span><span class="span4"><div><span><?php 
        echo vtranslate('LBL_SELECT_DATA_FIELD', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</span><span class="redColor">*</span></div><br><div class="row-fluid"><select id='datafields' name='datafields[]' class="span10" data-validation-engine="validate[required]" style='min-width:300px;'></select></div></span></div><br><div class='hide'><?php 
        echo $_smarty_tpl->getSubTemplate(vtemplate_path("chartReportHiddenContents.tpl", $_smarty_tpl->tpl_vars['MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);
        ?>
</div></div><br><div class='row-fluid'><?php 
        $_smarty_tpl->tpl_vars['filterConditionNotExists'] = new Smarty_variable(count($_smarty_tpl->tpl_vars['SELECTED_ADVANCED_FILTER_FIELDS']->value[1]['columns']) == 0 && count($_smarty_tpl->tpl_vars['SELECTED_ADVANCED_FILTER_FIELDS']->value[2]['columns']) == 0, null, 0);
        ?>
<button class="btn" name="modify_condition" data-val="<?php 
        echo $_smarty_tpl->tpl_vars['filterConditionNotExists']->value;
        ?>
"><strong><?php 
        echo vtranslate('LBL_MODIFY_CONDITION', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</strong>&nbsp;&nbsp;<i class="<?php 
        if ($_smarty_tpl->tpl_vars['filterConditionNotExists']->value == true) {
            ?>
 icon-chevron-right <?php 
        } else {
            ?>
 icon-chevron-down <?php 
        }
        ?>
"></i></button></div><br><div id='filterContainer' class='<?php 
        if ($_smarty_tpl->tpl_vars['filterConditionNotExists']->value == true) {
            ?>
 hide <?php 
        }
        ?>
'><?php 
        echo $_smarty_tpl->getSubTemplate(vtemplate_path('AdvanceFilter.tpl'), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array('RECORD_STRUCTURE' => $_smarty_tpl->tpl_vars['RECORD_STRUCTURE']->value, 'ADVANCE_CRITERIA' => $_smarty_tpl->tpl_vars['SELECTED_ADVANCED_FILTER_FIELDS']->value, 'COLUMNNAME_API' => 'getReportFilterColumnName'), 0);
        ?>
</div></div><div class="row-fluid textAlignCenter"><button class="btn btn-success generateReport" data-mode="save" value="<?php 
        echo vtranslate('LBL_SAVE', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
"/><strong><?php 
        echo vtranslate('LBL_SAVE', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</strong></button></div></div></form></div></div><div id="reportContentsDiv"><?php 
    }
    function content_5679a04042dc3($_smarty_tpl)
    {
        ?>
<form class="form-horizontal recordEditView padding1per" id="chart_report_step3" method="post" action="index.php"><input type="hidden" name="module" value="<?php 
        echo $_smarty_tpl->tpl_vars['MODULE']->value;
        ?>
" ><input type="hidden" name="action" value="ChartSave" ><input type="hidden" name="record" value="<?php 
        echo $_smarty_tpl->tpl_vars['RECORD_ID']->value;
        ?>
" ><input type="hidden" name="reportname" value="<?php 
        echo $_smarty_tpl->tpl_vars['REPORT_MODEL']->value->get('reportname');
        ?>
" ><input type="hidden" name="folderid" value="<?php 
        echo $_smarty_tpl->tpl_vars['REPORT_MODEL']->value->get('folderid');
        ?>
" ><input type="hidden" name="reports_description" value="<?php 
        echo $_smarty_tpl->tpl_vars['REPORT_MODEL']->value->get('reports_description');
        ?>
" ><input type="hidden" name="primary_module" value="<?php 
        echo $_smarty_tpl->tpl_vars['PRIMARY_MODULE']->value;
        ?>
" ><input type="hidden" name="secondary_modules" value=<?php 
        echo ZEND_JSON::encode($_smarty_tpl->tpl_vars['SECONDARY_MODULES']->value);
        ?>
 ><input type="hidden" name="isDuplicate" value="<?php 
        echo $_smarty_tpl->tpl_vars['IS_DUPLICATE']->value;
        ?>
" ><input type="hidden" name="advanced_filter" id="advanced_filter" value="" ><input type="hidden" class="step" value="3" ><input type="hidden" name='groupbyfield' value=<?php 
        echo $_smarty_tpl->tpl_vars['CHART_MODEL']->value->getGroupByField();
        ?>
 ><input type="hidden" name='datafields' value=<?php 
        echo Zend_JSON::encode($_smarty_tpl->tpl_vars['CHART_MODEL']->value->getDataFields());
        ?>
><input type="hidden" name='charttype' value=<?php 
        echo $_smarty_tpl->tpl_vars['CHART_MODEL']->value->getChartType();
        ?>
><div class="padding1per border1px"><div class="row-fluid"><div><div><h4><strong><?php 
        echo vtranslate('LBL_SELECT_CHART_TYPE', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</strong></h4></div><br><div><div><ul class="nav nav-tabs" name="charttab" style="text-align:center;font-size:14px;font-weight: bold;margin:0 3%;border:0px"><li class="active marginRight5px" ><a data-type="pieChart" data-toggle="tab"><div><img src="<?php 
        echo vimage_path('pie.PNG');
        ?>
" style="border:1px solid #ccc;"/></div><br><div><?php 
        echo vtranslate('LBL_PIE_CHART', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</div></a></li><li class="marginRight5px"><a data-type="verticalbarChart" data-toggle="tab"><div><img src="<?php 
        echo vimage_path('vbar.PNG');
        ?>
" style="border:1px solid #ccc;"/></div><br><div><?php 
        echo vtranslate('LBL_VERTICAL_BAR_CHART', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</div></a></li><li class="marginRight5px"><a data-type="horizontalbarChart" data-toggle="tab"><div><img src="<?php 
        echo vimage_path('hbar.PNG');
        ?>
" style="border:1px solid #ccc;"/></div><br><div><?php 
        echo vtranslate('LBL_HORIZONTAL_BAR_CHART', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</div></a></li><li class="marginRight5px" ><a data-type="lineChart" data-toggle="tab"><div><img src="<?php 
        echo vimage_path('line.PNG');
        ?>
" style="border:1px solid #ccc;"/></div><br><div><?php 
        echo vtranslate('LBL_LINE_CHART', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</div></a></li></ul><div class='tab-content contentsBackground' style="height:auto;padding:4%;border:1px solid #ccc;"><br><div class="row-fluid tab-pane active"><div><span class="span4"><div><span><?php 
        echo vtranslate('LBL_SELECT_GROUP_BY_FIELD', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</span><span class="redColor">*</span></div><br><div class="row-fluid"><select id='groupbyfield' name='groupbyfield' class="span10 validate[required]" data-validation-engine="validate[required]" style='min-width:300px;'></select></div></span><span class="span2">&nbsp;</span><span class="span4"><div><span><?php 
        echo vtranslate('LBL_SELECT_DATA_FIELD', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</span><span class="redColor">*</span></div><br><div class="row-fluid"><select id='datafields' name='datafields[]' class="span10 validate[required]" data-validation-engine="validate[required]" style='min-width:300px;'></select></div></span></div></div><div class='row-fluid alert-info well' style="position: relative; top: 50px;width:95%"><span class='span alert-info'><div><i class="icon-info-sign"></i>&nbsp;&nbsp;<?php 
        echo vtranslate('LBL_PLEASE_SELECT_ATLEAST_ONE_GROUP_FIELD_AND_DATA_FIELD', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</div><br><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?php 
        echo vtranslate('LBL_FOR_BAR_GRAPH_AND_LINE_GRAPH_SELECT_3_MAX_DATA_FIELDS', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</div></span></div></div></div></div><div class='hide'><?php 
        echo $_smarty_tpl->getSubTemplate(vtemplate_path("chartReportHiddenContents.tpl", $_smarty_tpl->tpl_vars['MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);
        ?>
</div></div></div></div><br><div class="pull-right block padding20px"><button type="button" class="btn btn-danger backStep"><strong><?php 
        echo vtranslate('LBL_BACK', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</strong></button>&nbsp;&nbsp;<button type="submit" class="btn btn-success" id="generateReport"><strong><?php 
        echo vtranslate('LBL_GENERATE_CHART', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</strong></button>&nbsp;&nbsp;<a  class="cancelLink" onclick="window.history.back()"><?php 
        echo vtranslate('LBL_CANCEL', $_smarty_tpl->tpl_vars['MODULE']->value);
        ?>
</a>&nbsp;&nbsp;<br></div></form><?php 
    }
Esempio n. 9
0
 /**
  * Function saves a Report
  */
 function save()
 {
     $adb = PearDatabase::getInstance();
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $export_sql = false;
     //$export_sql = true;
     $export_to_file = false;
     //$export_to_file = true;
     $debug_save = false;
     //$debug_save = true;
     $request = new Vtiger_Request($_REQUEST, $_REQUEST);
     $request_data = $request->getAll();
     if ($export_sql) {
         ITS4YouReports::sshow($_REQUEST);
         //exit;
     }
     $reportid = $this->getId();
     $r4u_sesstion_name = ITS4YouReports::getITS4YouReportStoreName();
     $r4u_sesstion_unset = ITS4YouReports::unsetITS4YouReportsSerialize($r4u_sesstion_name);
     if ($debug_save) {
         echo "<pre>UNSET Session: ";
         print_r($r4u_sesstion_unset);
         echo "</pre>";
     }
     $ITS4YouReports = ITS4YouReports::getStoredITS4YouReport();
     $std_filter_columns = $ITS4YouReports->getStdFilterColumns();
     //<<<<<<<report>>>>>>>>>
     global $default_charset;
     $reportname = $request->get('reportname');
     $reportname = html_entity_decode($reportname, ENT_QUOTES, $default_charset);
     $reportdescription = $request->get("reportdesc");
     $reportdescription = html_entity_decode($reportdescription, ENT_QUOTES, $default_charset);
     $reporttype = $request->get("reporttype");
     $folderid = $request->get("reportfolder");
     $isDuplicate = $request->get("isDuplicate");
     //<<<<<<<report>>>>>>>>>
     //<<<<<<<selectcolumn>>>>>>>>>
     $selectedcolumnstring = $request->get("selectedColumnsString");
     $selectedcolumnstring = str_replace("@AMPKO@", "&", $selectedcolumnstring);
     $saveselectedcolumns = explode(";", trim($selectedcolumnstring, ";"));
     $selectedcolumns = array();
     foreach ($saveselectedcolumns as $sc) {
         $selectedcolumns[] = $sc;
     }
     //<<<<<<<selectcolumn>>>>>>>>>
     //<<<<<<<selectedSummaries>>>>>>>>>
     $selectedSummariesString = $request->get("selectedSummariesString");
     $selectedSummariesString = str_replace("@AMPKO@", "&", $selectedSummariesString);
     $selectedSummaries_array = explode(";", trim($selectedSummariesString, ";"));
     $selectedSummaries = array();
     foreach ($selectedSummaries_array as $sm) {
         $selectedSummaries[] = $sm;
     }
     //<<<<<<<selectedSummaries>>>>>>>>>
     //<<<<<<<SummariesOrderBy>>>>>>>>>
     $summaries_orderby = $request->get("summaries_orderby_columnString");
     $summaries_orderby_type = $request->get("summaries_orderby_type");
     //<<<<<<<SummariesOrderBy>>>>>>>>>
     // ITS4YOU-CR SlOl 13. 3. 2014 10:17:31
     $lbl_array = array();
     $lbl_url_string = $request->get("labels_to_go");
     $lbl_url_string = str_replace("@AMPKO@", "&", $lbl_url_string);
     $lbl_url_string = urldecode($lbl_url_string);
     $lbl_url_string = html_entity_decode($lbl_url_string, ENT_QUOTES, $default_charset);
     if ($lbl_url_string != "") {
         $lbl_url_arr = explode('$_@_$', $lbl_url_string);
         foreach ($lbl_url_arr as $key => $lbl_value) {
             if (strpos($lbl_value, '_SC_lLbLl_') !== false) {
                 $temp = explode('_SC_lLbLl_', $lbl_value);
                 $temp_lbls = explode('_lLGbGLl_', $temp[1]);
                 $lbl_key = $temp_lbls[0];
                 $lbl_value = $temp_lbls[1];
                 $lbl_array["SC"][$lbl_key] = $lbl_value;
             }
             if (strpos($lbl_value, '_SM_lLbLl_') !== false) {
                 $temp = explode('_SM_lLbLl_', $lbl_value);
                 $temp_lbls = explode('_lLGbGLl_', $temp[1]);
                 $lbl_key = $temp_lbls[0];
                 $lbl_value = $temp_lbls[1];
                 $lbl_array["SM"][$lbl_key] = $lbl_value;
             }
             if (strpos($lbl_value, '_CT_lLbLl_') !== false) {
                 $temp = explode('_CT_lLbLl_', $lbl_value);
                 $temp_lbls = explode('_lLGbGLl_', $temp[1]);
                 $lbl_key = $temp_lbls[0];
                 $lbl_value = $temp_lbls[1];
                 $lbl_array["CT"][$lbl_key] = $lbl_value;
             }
         }
     }
     // ITS4YOU-END 13. 3. 2014 10:17:32
     //<<<<<<<reportsortcol>>>>>>>>>
     $sort_by1 = decode_html($request->get("Group1"));
     $sort_order1 = $request->get("Sort1");
     $sort_by2 = decode_html($request->get("Group2"));
     $sort_order2 = $request->get("Sort2");
     $sort_by3 = decode_html($request->get("Group3"));
     $sort_order3 = $request->get("Sort3");
     $timeline_type2 = $request->get("timeline_type2");
     $timeline_type3 = $request->get("timeline_type3");
     if ($request->has("TimeLineColumn_Group1") && !$request->isEmpty("TimeLineColumn_Group1") && $sort_by1 != "none") {
         $TimeLineColumn_Group1 = $request->get("TimeLineColumn_Group1");
         $TimeLineColumn_Group1_arr = explode("@vlv@", $TimeLineColumn_Group1);
         $TimeLineColumn_str1 = $TimeLineColumn_Group1_arr[0];
         $TimeLineColumn_frequency1 = $TimeLineColumn_Group1_arr[1];
     }
     if ($request->has("TimeLineColumn_Group2") && !$request->isEmpty("TimeLineColumn_Group2") && $sort_by2 != "none") {
         $TimeLineColumn_Group2 = $request->get("TimeLineColumn_Group2");
         $TimeLineColumn_Group2_arr = explode("@vlv@", $TimeLineColumn_Group2);
         $TimeLineColumn_str2 = $TimeLineColumn_Group2_arr[0];
         $TimeLineColumn_frequency2 = $TimeLineColumn_Group2_arr[1];
     }
     if ($request->has("TimeLineColumn_Group3") && !$request->isEmpty("TimeLineColumn_Group3") && $sort_by3 != "none") {
         $TimeLineColumn_Group3 = $request->get("TimeLineColumn_Group3");
         $TimeLineColumn_Group3_arr = explode("@vlv@", $TimeLineColumn_Group3);
         $TimeLineColumn_str3 = $TimeLineColumn_Group3_arr[0];
         $TimeLineColumn_frequency3 = $TimeLineColumn_Group3_arr[1];
     }
     $sort_by_column = decode_html($request->get("SortByColumn"));
     $sort_order_column = $request->get("SortOrderColumn");
     //<<<<<<<reportsortcol>>>>>>>>>
     //<<<<<<<reportmodules>>>>>>>>>
     $pmodule = $request->get("primarymodule");
     $smodule = trim($request->get("secondarymodule"), ":");
     //<<<<<<<reportmodules>>>>>>>>>
     //<<<<<<<shared entities>>>>>>>>>
     $sharetype = $request->get("sharing");
     $shared_entities = $request->get("sharingSelectedColumnsString");
     //<<<<<<<shared entities>>>>>>>>>
     //<<<<<<<columnstototal>>>>>>>>>>
     if ($request->has("curl_to_go") && !$request->isEmpty("curl_to_go")) {
         $columnstototal = explode('$_@_$', $request->get("curl_to_go"));
     }
     //<<<<<<<columnstototal>>>>>>>>>
     //<<<<<<<advancedfilter>>>>>>>>check
     $json = new Zend_Json();
     $std_filter_columns = $ITS4YouReports->getStdFilterColumns();
     $advft_criteria_groups = $request->get('advft_criteria_groups');
     $new_criteria_groups = $gi_change = array();
     if (!empty($advft_criteria_groups)) {
         $new_gi = 1;
         foreach ($advft_criteria_groups as $advftg_i => $advftg_array) {
             if (!empty($advftg_array)) {
                 $gi_change[$advftg_i] = $new_gi;
                 $new_criteria_groups[$new_gi] = $advftg_array;
                 $new_gi++;
             }
         }
     }
     $advft_criteria_groups = $new_criteria_groups;
     //advft_criteria_groups = $json->decode($advft_criteria_groups);
     $new_advft_criteria = array();
     $advft_criteria = $request->get('advft_criteria');
     if (!empty($advft_criteria)) {
         $new_i = 0;
         foreach ($advft_criteria as $advft_i => $advft_array) {
             if (!empty($advft_array)) {
                 $advft_array["groupid"] = $gi_change[$advft_array["groupid"]];
                 $new_advft_criteria[$new_i] = $advft_array;
                 $new_i++;
             }
         }
     }
     $advft_criteria = $new_advft_criteria;
     //$advft_criteria = $json->decode($advft_criteria);
     //<<<<<<<advancedfilter>>>>>>>>
     //<<<<<<<groupconditioncolumn>>>>>>>>
     $groupft_criteria = $request->get('groupft_criteria');
     //$groupft_criteria = $json->decode($groupft_criteria);
     //<<<<<<<groupconditioncolumn>>>>>>>>
     //<<<<<<<limit>>>>>>>>
     $limit = $summaries_limit = 0;
     if ($request->has("columns_limit") && !$request->isEmpty("columns_limit")) {
         $limit = $request->get("columns_limit");
     }
     if ($request->has("summaries_limit") && !$request->isEmpty("summaries_limit")) {
         $summaries_limit = $request->get("summaries_limit");
     }
     //<<<<<<<limit>>>>>>>>
     //<<<<<<<scheduled report>>>>>>>>
     $isReportScheduled = $request->get('isReportScheduled');
     $scheduledFormat = "";
     $r_key_arr = array();
     if ($isReportScheduled == 'on' || $isReportScheduled == '1') {
         foreach ($request_data as $r_key => $r_val) {
             if (strpos($r_key, "scheduledReportFormat_") !== false) {
                 $r_key_arr[] = substr($r_key, 22);
             }
         }
     }
     if (!empty($r_key_arr)) {
         $scheduledFormat = implode(";", $r_key_arr);
     }
     $selectedRecipients = $request->get('selectedRecipientsString');
     $selectedRecipients = Zend_JSON::encode($selectedRecipients);
     //$scheduledFormat = $request->get('scheduledReportFormat');
     $scheduledInterval = $request->get('scheduledIntervalString');
     $scheduledInterval = Zend_JSON::encode($scheduledInterval);
     //<<<<<<<scheduled report>>>>>>>>
     // ITS4YOU-CR SlOl 20. 3. 2014 12:02:47
     for ($tg_i = 1; $tg_i < 4; $tg_i++) {
         if ($request->has("TimeLineColumn_Group{$tg_i}") && !$request->isEmpty("TimeLineColumn_Group{$tg_i}") && $request->get("TimeLineColumn_Group{$tg_i}") != "none") {
             $tg_col_str = $request->get("TimeLineColumn_Group{$tg_i}");
             $tg_col_arr = explode("@vlv@", $tg_col_str);
             $timelinecols_arr[$tg_i] = $tg_col_str;
             $timelinecols_frequency[$tg_i] = $tg_col_arr[1];
         }
     }
     // ITS4YOU-END 20. 3. 2014 12:02:48
     // ITS4YOU-CR SlOl | 2.7.2014 15:18
     //
     // chartType1 data_series1
     if ($request->has("chartType1") && !$request->isEmpty("chartType1")) {
         $charttitle = $request->get("charttitle");
         $x_group = $request->get("x_group");
         $charts = array();
         for ($chi = 1; $chi < 4; $chi++) {
             // charttype 	dataseries 	charttitle 	chart_seq 	x_group
             if ($request->has("chartType{$chi}") && !$request->isEmpty("chartType{$chi}")) {
                 $charttype = $request->get("chartType{$chi}");
                 if ($charttype != "none") {
                     $ch_params = array("charttype" => $charttype, "dataseries" => $request->get("data_series{$chi}"), "charttitle" => $charttitle, "chart_seq" => $chi, "x_group" => $x_group);
                     $charts[$chi] = $ch_params;
                 } else {
                     break;
                 }
             } else {
                 break;
             }
         }
     }
     /*
      if ($request->has("chartType") && !$request->isEmpty("chartType")) {
      $chartType = $request->get("chartType");
      if ($chartType != "" && $chartType != "none") {
      $data_series = $request->get("data_series");
      $charttitle = $request->get("charttitle");
      }
      }
     */
     // ITS4YOU-END 2.7.2014 15:18
     // ITS4YOU-CR SlOl | 20.8.2015 11:30
     if ($reporttype == "custom_report") {
         $customSql = ITS4YouReports::validateCustomSql($request->get("reportcustomsql"));
     }
     // ITS4YOU-END 20.8.2015 11:30
     if ($reportid != "" && $isDuplicate != "true") {
         $d_selectedcolumns = "DELETE FROM its4you_reports4you_selectcolumn WHERE its4you_reports4you_selectcolumn.queryid = ?";
         $d_columnsqlresult = $adb->pquery($d_selectedcolumns, array($reportid));
         if (!empty($selectedcolumns)) {
             for ($i = 0; $i < count($selectedcolumns); $i++) {
                 if (!empty($selectedcolumns[$i])) {
                     $icolumnsql = "INSERT INTO its4you_reports4you_selectcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) VALUES (?,?,?)";
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $params = array($reportid, $i, decode_html($selectedcolumns[$i]));
                     $params_tofile = array("@reportid", $i, decode_html($selectedcolumns[$i]));
                     $report_array['its4you_reports4you_selectcolumn'][] = $params_tofile;
                     $icolumnsqlresult = $adb->pquery($icolumnsql, $params);
                     $export_sql === true ? $adb->setDebug(false) : "";
                 }
             }
         }
         // ITS4YOU-CR SlOl 7. 3. 2014 11:24:46 Summaries Save
         $d_selectedSummaries = "DELETE FROM its4you_reports4you_summaries WHERE reportsummaryid = ?";
         $d_Summariessqlqfresult = $adb->pquery($d_selectedSummaries, array($reportid));
         if (!empty($selectedSummaries)) {
             for ($i = 0; $i < count($selectedSummaries); $i++) {
                 if (!empty($selectedSummaries[$i])) {
                     $iSmmariessql = "INSERT INTO its4you_reports4you_summaries (reportsummaryid,summarytype,columnname) VALUES (?,?,?)";
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $params = array($reportid, $i, decode_html($selectedSummaries[$i]));
                     $params_tofile = array("@reportid", $i, decode_html($selectedSummaries[$i]));
                     $report_array['its4you_reports4you_summaries'][] = $params_tofile;
                     $iSummariessqlresult = $adb->pquery($iSmmariessql, $params);
                     $export_sql === true ? $adb->setDebug(false) : "";
                 }
             }
         }
         // ITS4YOU-END 7. 3. 2014 11:24:48
         // ITS4YOU-CR SlOl 24. 3. 2014 8:52:40
         $d_selected_s_orderby = "DELETE FROM its4you_reports4you_summaries_orderby WHERE reportid = ?";
         $d_selected_s_orderbyresult = $adb->pquery($d_selected_s_orderby, array($reportid));
         if ($summaries_orderby != "" && $summaries_orderby_type != "") {
             $d_selected_s_orderby_sql = "INSERT INTO  its4you_reports4you_summaries_orderby (reportid,columnindex,summaries_orderby,summaries_orderby_type) VALUES (?,?,?,?)";
             $export_sql === true ? $adb->setDebug(true) : "";
             $params = array($reportid, 0, $summaries_orderby, $summaries_orderby_type);
             $params_tofile = array("@reportid", 0, $summaries_orderby, $summaries_orderby_type);
             $report_array['its4you_reports4you_summaries_orderby'] = $params_tofile;
             $d_selected_s_orderby_result = $adb->pquery($d_selected_s_orderby_sql, $params);
             $export_sql === true ? $adb->setDebug(false) : "";
         }
         // ITS4YOU-END 24. 3. 2014 8:52:42
         // ITS4YOU-CR SlOl 13. 3. 2014 11:34:24
         $d_selectedLabels = "DELETE FROM its4you_reports4you_labels WHERE reportid = ?";
         $d_Labelssqlqfresult = $adb->pquery($d_selectedLabels, array($reportid));
         if (!empty($lbl_array)) {
             foreach ($lbl_array as $type => $type_array) {
                 foreach ($type_array as $column_str => $column_lbl) {
                     $iLabelssql = "INSERT INTO its4you_reports4you_labels (reportid,type,columnname,columnlabel) VALUES (?,?,?,?)";
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $params = array($reportid, $type, $column_str, $column_lbl);
                     $params_tofile = array("@reportid", $type, $column_str, $column_lbl);
                     $report_array['its4you_reports4you_labels'][] = $params_tofile;
                     $iLabelssqlresult = $adb->pquery($iLabelssql, $params);
                     $export_sql === true ? $adb->setDebug(false) : "";
                 }
             }
         }
         $d_selectedqfcolumns = "DELETE FROM its4you_reports4you_selectqfcolumn WHERE queryid = ?";
         $d_columnsqlqfresult = $adb->pquery($d_selectedqfcolumns, array($reportid));
         if (!empty($selectedqfcolumns)) {
             for ($i = 0; $i < count($selectedqfcolumns); $i++) {
                 if (!empty($selectedqfcolumns[$i])) {
                     $icolumnsql = "INSERT INTO its4you_reports4you_selectqfcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) VALUES (?,?,?)";
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $params = array($reportid, $i, decode_html($selectedqfcolumns[$i]));
                     $params_tofile = array("@reportid", $i, decode_html($selectedqfcolumns[$i]));
                     $report_array['its4you_reports4you_selectqfcolumn'][] = $params_tofile;
                     $icolumnsqlresult = $adb->pquery($icolumnsql, $params);
                     $export_sql === true ? $adb->setDebug(false) : "";
                 }
             }
         }
         $d_shared = "DELETE FROM its4you_reports4you_sharing WHERE reports4youid = ?";
         $d_sharedresult = $adb->pquery($d_shared, array($reportid));
         if ($shared_entities != "") {
             if ($sharetype == "share") {
                 $selectedsharecolumn = explode("|", $shared_entities);
                 for ($i = 0; $i < count($selectedsharecolumn) - 1; $i++) {
                     $temp = split("::", $selectedsharecolumn[$i]);
                     $icolumnsql = "INSERT INTO its4you_reports4you_sharing (reports4youid,shareid,setype) VALUES (?,?,?)";
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $params = array($reportid, $temp[1], $temp[0]);
                     $params_tofile = array("@reportid", $temp[1], $temp[0]);
                     $report_array['its4you_reports4you_sharing'][] = $params_tofile;
                     $icolumnsqlresult = $adb->pquery($icolumnsql, $params);
                     $export_sql === true ? $adb->setDebug(false) : "";
                 }
             }
         }
         if ($reportid != "") {
             $ireportsql = "UPDATE its4you_reports4you SET reports4youname=?, description=?, folderid=?, reporttype=?, columns_limit=?, summaries_limit=? WHERE reports4youid=?";
             $ireportparams = array($reportname, $reportdescription, $folderid, $reporttype, $limit, $summaries_limit, $reportid);
             $params_tofile = array("@reportid", $reportname, $reportdescription, $folderid, $reporttype, 0, $limit, $summaries_limit);
             // ITS4YOU-END
             $export_sql === true ? $adb->setDebug(true) : "";
             $report_array['its4you_reports4you'] = $params_tofile;
             $ireportresult = $adb->pquery($ireportsql, $ireportparams);
             $export_sql === true ? $adb->setDebug(false) : "";
             if ($ireportresult != false) {
                 if ($reporttype != "custom_report") {
                     //<<<<reportmodules>>>>>>>
                     $d_modules = "DELETE FROM its4you_reports4you_modules WHERE reportmodulesid = ?";
                     $d_modulesresult = $adb->pquery($d_modules, array($reportid));
                     $ireportmodulesql = "INSERT INTO its4you_reports4you_modules (REPORTMODULESID,PRIMARYMODULE,SECONDARYMODULES) VALUES (?,?,?)";
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $params = array($reportid, $pmodule, $smodule);
                     $params_tofile = array("@reportid", $pmodule, $smodule);
                     $report_array['its4you_reports4you_modules'] = $params_tofile;
                     $ireportmoduleresult = $adb->pquery($ireportmodulesql, $params);
                     $export_sql === true ? $adb->setDebug(false) : "";
                     //<<<<reportmodules>>>>>>>
                     //<<<<step3 its4you_reports4you_sortcol>>>>>>>
                     $d_sortcol1 = "DELETE FROM its4you_reports4you_sortcol WHERE reportid = ? AND sortcolid=?";
                     $d_sortcol1_result = $adb->pquery($d_sortcol1, array($reportid, 1));
                     if ($sort_by1 != "") {
                         $sort_by1sql = "INSERT INTO its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_columnstr,timeline_columnfreq) VALUES (?,?,?,?,?,?)";
                         $export_sql === true ? $adb->setDebug(true) : "";
                         $params = array(1, $reportid, $sort_by1, $sort_order1, $TimeLineColumn_str1, $TimeLineColumn_frequency1);
                         $params_tofile = array(1, "@reportid", $sort_by1, $sort_order1, "rows", $TimeLineColumn_str1, $TimeLineColumn_frequency1);
                         $report_array['its4you_reports4you_sortcol'][] = $params_tofile;
                         $sort_by1result = $adb->pquery($sort_by1sql, $params);
                         $export_sql === true ? $adb->setDebug(false) : "";
                     }
                     $d_sortcol2 = "DELETE FROM its4you_reports4you_sortcol WHERE reportid = ? AND sortcolid=?";
                     $d_sortcol2_result = $adb->pquery($d_sortcol2, array($reportid, 2));
                     if ($sort_by2 != "") {
                         $sort_by2sql = "INSERT INTO its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_type,timeline_columnstr,timeline_columnfreq) VALUES (?,?,?,?,?,?,?)";
                         $export_sql === true ? $adb->setDebug(true) : "";
                         $params = array(2, $reportid, $sort_by2, $sort_order2, $timeline_type2, $TimeLineColumn_str2, $TimeLineColumn_frequency2);
                         $params_tofile = array(2, "@reportid", $sort_by2, $sort_order2, $timeline_type2, $TimeLineColumn_str2, $TimeLineColumn_frequency2);
                         $report_array['its4you_reports4you_sortcol'][] = $params_tofile;
                         $sort_by2result = $adb->pquery($sort_by2sql, $params);
                         $export_sql === true ? $adb->setDebug(false) : "";
                     }
                     $d_sortcol3 = "DELETE FROM its4you_reports4you_sortcol WHERE reportid = ? AND sortcolid=?";
                     $d_sortcol3_result = $adb->pquery($d_sortcol3, array($reportid, 3));
                     if ($sort_by3 != "") {
                         $sort_by3sql = "INSERT INTO its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_type,timeline_columnstr,timeline_columnfreq) VALUES (?,?,?,?,?,?,?)";
                         $export_sql === true ? $adb->setDebug(true) : "";
                         $params = array(3, $reportid, $sort_by3, $sort_order3, $timeline_type3, $TimeLineColumn_str3, $TimeLineColumn_frequency3);
                         $params_tofile = array(3, "@reportid", $sort_by3, $sort_order3, $timeline_type3, $TimeLineColumn_str3, $TimeLineColumn_frequency3);
                         $report_array['its4you_reports4you_sortcol'][] = $params_tofile;
                         $sort_by3result = $adb->pquery($sort_by3sql, $params);
                         $export_sql === true ? $adb->setDebug(false) : "";
                     }
                     $d_sortcol4 = "DELETE FROM its4you_reports4you_sortcol WHERE reportid = ? AND sortcolid=?";
                     $d_sortcol4_result = $adb->pquery($d_sortcol4, array($reportid, 4));
                     if ($sort_by_column != "") {
                         $sort_by_columnsql = "INSERT INTO its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) VALUES (?,?,?,?)";
                         $export_sql === true ? $adb->setDebug(true) : "";
                         $params = array(4, $reportid, $sort_by_column, $sort_order_column);
                         $params_tofile = array(4, "@reportid", $sort_by_column, $sort_order_column, "", "", "");
                         $report_array['its4you_reports4you_sortcol'][] = $params_tofile;
                         ${$sort_by_columnresult} = $adb->pquery($sort_by_columnsql, $params);
                         $export_sql === true ? $adb->setDebug(false) : "";
                     }
                     //<<<<step3 its4you_reports4you_sortcol>>>>>>>
                     //<<<<step5 standarfilder>>>>>>>
                     $d_datefilter = "DELETE FROM its4you_reports4you_datefilter WHERE datefilterid = ?";
                     $d_datefilter_result = $adb->pquery($d_datefilter, array($reportid));
                     $ireportmodulesql = "INSERT INTO its4you_reports4you_datefilter (DATEFILTERID,DATECOLUMNNAME,DATEFILTER,STARTDATE,ENDDATE) VALUES (?,?,?,?,?)";
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $params = array($reportid, $stdDateFilterField, $stdDateFilter, $startdate, $enddate);
                     $params_tofile = array("@reportid", $stdDateFilterField, $stdDateFilter, $startdate, $enddate);
                     $report_array['its4you_reports4you_datefilter'] = $params_tofile;
                     $ireportmoduleresult = $adb->pquery($ireportmodulesql, $params);
                     $export_sql === true ? $adb->setDebug(false) : "";
                     //<<<<step5 standarfilder>>>>>>>
                     //<<<<step4 columnstototal>>>>>>>
                     $d_summary = "DELETE FROM its4you_reports4you_summary WHERE reportsummaryid = ?";
                     $d_summary_result = $adb->pquery($d_summary, array($reportid));
                     for ($i = 0; $i < count($columnstototal); $i++) {
                         $ireportsummarysql = "INSERT INTO its4you_reports4you_summary (REPORTSUMMARYID,SUMMARYTYPE,COLUMNNAME) VALUES (?,?,?)";
                         $export_sql === true ? $adb->setDebug(true) : "";
                         $params = array($reportid, $i, $columnstototal[$i]);
                         $params_tofile = array("@reportid", $i, $columnstototal[$i]);
                         $report_array['its4you_reports4you_summary'][] = $params_tofile;
                         $ireportsummaryresult = $adb->pquery($ireportsummarysql, $params);
                         $export_sql === true ? $adb->setDebug(false) : "";
                     }
                     //<<<<step4 columnstototal>>>>>>>
                     //<<<<step5 advancedfilter>>>>>>>
                     $default_charset = vglobal("default_charset");
                     $this->saveAdvancedFilters($advft_criteria, $advft_criteria_groups, $std_filter_columns, $export_sql);
                     $d_adv_criteria = "DELETE FROM its4you_reports4you_relcriteria_summaries WHERE reportid = ?";
                     $d_adv_criteria_result = $adb->pquery($d_adv_criteria, array($reportid));
                     foreach ($groupft_criteria as $column_index => $column_condition) {
                         if (empty($column_condition)) {
                             continue;
                         }
                         $adv_filter_column = $column_condition["columnname"];
                         $adv_filter_comparator = $column_condition["comparator"];
                         $adv_filter_value = $column_condition["value"];
                         $adv_filter_column_condition = $column_condition["column_condition"];
                         $adv_filter_groupid = $column_condition["groupid"];
                         $column_info = explode(":", $adv_filter_column);
                         $temp_val = explode(",", $adv_filter_value);
                         if (($column_info[4] == 'D' || $column_info[4] == 'T' && $column_info[1] != 'time_start' && $column_info[1] != 'time_end' || $column_info[4] == 'DT') && ($column_info[4] != '' && $adv_filter_value != '')) {
                             $val = array();
                             for ($x = 0; $x < count($temp_val); $x++) {
                                 if (trim($temp_val[$x]) != '') {
                                     $date = new DateTimeField(trim($temp_val[$x]));
                                     if ($column_info[4] == 'D') {
                                         $val[$x] = DateTimeField::convertToDBFormat(trim($temp_val[$x]));
                                     } elseif ($column_info[4] == 'DT') {
                                         $val[$x] = $date->getDBInsertDateTimeValue();
                                     } else {
                                         $val[$x] = $date->getDBInsertTimeValue();
                                     }
                                 }
                             }
                             $adv_filter_value = implode(",", $val);
                         }
                         $irelcriteriasql = "INSERT INTO its4you_reports4you_relcriteria_summaries(reportid,COLUMNINDEX,COLUMNNAME,COMPARATOR,VALUE,GROUPID,COLUMN_CONDITION) VALUES (?,?,?,?,?,?,?)";
                         $export_sql === true ? $adb->setDebug(true) : "";
                         $params = array($reportid, $column_index, $adv_filter_column, $adv_filter_comparator, $adv_filter_value, $adv_filter_groupid, $adv_filter_column_condition);
                         $params_tofile = array("@reportid", $column_index, $adv_filter_column, $adv_filter_comparator, $adv_filter_value, $adv_filter_groupid, $adv_filter_column_condition);
                         $report_array['its4you_reports4you_relcriteria_summaries'][] = $params_tofile;
                         $irelcriteriaresult = $adb->pquery($irelcriteriasql, $params);
                         $export_sql === true ? $adb->setDebug(false) : "";
                         // Update the condition expression for the group to which the condition column belongs
                         $groupConditionExpression = '';
                         if (!empty($advft_criteria_groups[$adv_filter_groupid]["conditionexpression"])) {
                             $groupConditionExpression = $advft_criteria_groups[$adv_filter_groupid]["conditionexpression"];
                         }
                         $groupConditionExpression = $groupConditionExpression . ' ' . $column_index . ' ' . $adv_filter_column_condition;
                         $advft_criteria_groups[$adv_filter_groupid]["conditionexpression"] = $groupConditionExpression;
                     }
                     //<<<<step5 advancedfilter>>>>>>>
                 }
                 $owner = vtlib_purify($_REQUEST["template_owner"]);
                 $sharingtype = vtlib_purify($_REQUEST["sharing"]);
                 if ($owner != "" && $owner != "") {
                     $limitsql = "UPDATE its4you_reports4you_settings SET owner=?, sharingtype=? WHERE reportid=?";
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $params = array($owner, $sharingtype, $reportid);
                     $params_tofile = array("@reportid", $owner, $sharingtype);
                     $report_array['its4you_reports4you_settings'] = $params_tofile;
                     $limitresult = $adb->pquery($limitsql, $params);
                     $export_sql === true ? $adb->setDebug(false) : "";
                 }
                 //<<<<step7 scheduledReport>>>>>>>
                 if ($isReportScheduled == 'off' || $isReportScheduled == '0' || $isReportScheduled == '') {
                     $deleteScheduledReportSql = "DELETE FROM its4you_reports4you_scheduled_reports WHERE reportid=?";
                     $adb->pquery($deleteScheduledReportSql, array($reportid));
                 } else {
                     $checkScheduledResult = $adb->pquery('SELECT 1 FROM its4you_reports4you_scheduled_reports WHERE reportid=?', array($reportid));
                     if ($adb->num_rows($checkScheduledResult) > 0) {
                         $scheduledReportSql = 'UPDATE its4you_reports4you_scheduled_reports SET recipients=?,schedule=?,format=? WHERE reportid=?';
                         $export_sql === true ? $adb->setDebug(true) : "";
                         $params = array($selectedRecipients, $scheduledInterval, $scheduledFormat, $reportid);
                         $params_tofile = array("@reportid", $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s"));
                         $report_array['its4you_reports4you_scheduled_reports'] = $params_tofile;
                         $adb->pquery($scheduledReportSql, $params);
                         $export_sql === true ? $adb->setDebug(false) : "";
                     } else {
                         $scheduleReportSql = 'INSERT INTO its4you_reports4you_scheduled_reports (reportid,recipients,schedule,format,next_trigger_time) VALUES (?,?,?,?,?)';
                         $export_sql === true ? $adb->setDebug(true) : "";
                         $params = array($reportid, $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s"));
                         $params_tofile = array("@reportid", $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s"));
                         $report_array['its4you_reports4you_scheduled_reports'] = $params_tofile;
                         $adb->pquery($scheduleReportSql, $params);
                         $export_sql === true ? $adb->setDebug(false) : "";
                     }
                 }
                 //<<<<step7 scheduledReport>>>>>>>
                 if ($reporttype != "custom_report") {
                     //<<<<step12 Report Charts >>>>>>>
                     $deleteChartsSql = "DELETE FROM its4you_reports4you_charts WHERE reports4youid=?";
                     $adb->pquery($deleteChartsSql, array($reportid));
                     if (!empty($charts)) {
                         foreach ($charts as $chi => $ch_params) {
                             $ChartsSql = 'INSERT INTO its4you_reports4you_charts (reports4youid,charttype,dataseries,charttitle,chart_seq,x_group) VALUES (?,?,?,?,?,?)';
                             $ch_params_tofile = array_merge(array("reports4youid" => "@reportid"), $ch_params);
                             $ch_params = array_merge(array($reportid), $ch_params);
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $report_array['its4you_reports4you_charts'][] = $ch_params_tofile;
                             $adb->pquery($ChartsSql, array($ch_params));
                             $export_sql === true ? $adb->setDebug(false) : "";
                         }
                     }
                     /*
                      if ($chartType != "" && $chartType != "none") {
                      $ChartsSql = 'INSERT INTO its4you_reports4you_charts (reports4youid,charttype,dataseries,charttitle) VALUES (?,?,?,?)';
                      $export_sql === true ? $adb->setDebug(true) : "";
                      $adb->pquery($ChartsSql, array($reportid, $chartType, $data_series, $charttitle));
                      $export_sql === true ? $adb->setDebug(false) : "";
                      }
                     */
                     //<<<<step12 Report Charts >>>>>>>
                 }
                 //<<<<step13 Custom Report SQL >>>>>>>
                 if ($reporttype == "custom_report") {
                     $deleteCustomSql = "DELETE FROM its4you_reports4you_customsql WHERE reports4youid=?";
                     $adb->pquery($deleteCustomSql, array($reportid));
                     $CustomSqlQry = 'INSERT INTO its4you_reports4you_customsql (reports4youid,custom_sql) VALUES (?,?)';
                     $params = array($reportid, $customSql);
                     $params_tofile = array("@reportid", $customSql);
                     $report_array['its4you_reports4you_customsql'] = $params_tofile;
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $adb->pquery($CustomSqlQry, array($params));
                     $export_sql === true ? $adb->setDebug(false) : "";
                 }
                 //<<<<step13 Custom Report SQL >>>>>>>
             } else {
                 $errormessage = "<font color='red'><B>Error Message<ul>\n                                            <li><font color='red'>Error while inserting the record</font>\n                                            </ul></B></font> <br>";
                 echo $errormessage;
                 die;
             }
         }
         if ($export_sql === true) {
             ITS4YouReports::sshow("EDIT");
         }
     } else {
         $genQueryId = $adb->getUniqueID("its4you_reports4you_selectquery");
         if ($genQueryId < 1) {
             $adb->pquery("DELETE FROM its4you_reports4you_selectquery_seq ", array());
             $adb->pquery("SELECT @max_reportid:=max(reports4youid)+1 FROM `its4you_reports4you`;", array());
             $adb->pquery("INSERT INTO its4you_reports4you_selectquery_seq (id) VALUES (@max_reportid); ", array());
             $genQueryId = $adb->getUniqueID("its4you_reports4you_selectquery");
         }
         $reportid = $genQueryId;
         $this->setId($reportid);
         if ($genQueryId != "") {
             $iquerysql = "insert into its4you_reports4you_selectquery (QUERYID,STARTINDEX,NUMOFOBJECTS) values (?,?,?)";
             $export_sql === true ? $adb->setDebug(true) : "";
             $params = array($genQueryId, 0, 0);
             $params_tofile = array("@reportid", 0, 0);
             $report_array['its4you_reports4you_selectquery'] = $params_tofile;
             $iquerysqlresult = $adb->pquery($iquerysql, $params);
             $export_sql === true ? $adb->setDebug(false) : "";
             if ($iquerysqlresult != false) {
                 //<<<<step2 vtiger_rep4u_selectcolumn>>>>>>>>
                 if (!empty($selectedcolumns)) {
                     for ($i = 0; $i < count($selectedcolumns); $i++) {
                         if (!empty($selectedcolumns[$i])) {
                             $icolumnsql = "insert into its4you_reports4you_selectcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) values (?,?,?)";
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $params = array($genQueryId, $i, decode_html($selectedcolumns[$i]));
                             $params_tofile = array("@reportid", $i, decode_html($selectedcolumns[$i]));
                             $report_array['its4you_reports4you_selectcolumn'][] = $params_tofile;
                             $icolumnsqlresult = $adb->pquery($icolumnsql, $params);
                             $export_sql === true ? $adb->setDebug(false) : "";
                         }
                     }
                 }
                 //<<<< its4you_reports4you_summaries>>>>>>>>
                 if (!empty($selectedSummaries)) {
                     for ($i = 0; $i < count($selectedSummaries); $i++) {
                         if (!empty($selectedSummaries[$i])) {
                             $iSmmariessql = "INSERT INTO its4you_reports4you_summaries (reportsummaryid,summarytype,columnname) VALUES (?,?,?)";
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $params = array($genQueryId, $i, decode_html($selectedSummaries[$i]));
                             $params_tofile = array("@reportid", $i, decode_html($selectedSummaries[$i]));
                             $report_array['its4you_reports4you_summaries'][] = $params_tofile;
                             $iSummariessqlresult = $adb->pquery($iSmmariessql, $params);
                             $export_sql === true ? $adb->setDebug(false) : "";
                         }
                     }
                 }
                 if ($summaries_orderby != "" && $summaries_orderby_type != "") {
                     $d_selected_s_orderby_sql = "INSERT INTO  its4you_reports4you_summaries_orderby (reportid,columnindex,summaries_orderby,summaries_orderby_type) VALUES (?,?,?,?)";
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $params = array($genQueryId, 0, $summaries_orderby, $summaries_orderby_type);
                     $params_tofile = array("@reportid", 0, $summaries_orderby, $summaries_orderby_type);
                     $report_array['its4you_reports4you_summaries_orderby'] = $params_tofile;
                     $d_selected_s_orderby_result = $adb->pquery($d_selected_s_orderby_sql, $params);
                     $export_sql === true ? $adb->setDebug(false) : "";
                 }
                 if (!empty($lbl_array)) {
                     foreach ($lbl_array as $type => $type_array) {
                         foreach ($type_array as $column_str => $column_lbl) {
                             $iLabelssql = "INSERT INTO its4you_reports4you_labels (reportid,type,columnname,columnlabel) VALUES (?,?,?,?)";
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $params = array($genQueryId, $type, $column_str, $column_lbl);
                             $params_tofile = array("@reportid", $type, $column_str, $column_lbl);
                             $report_array['its4you_reports4you_labels'][] = $params_tofile;
                             $iLabelssqlresult = $adb->pquery($iLabelssql, $params);
                             $export_sql === true ? $adb->setDebug(false) : "";
                         }
                     }
                 }
                 if (!empty($selectedqfcolumns)) {
                     for ($i = 0; $i < count($selectedqfcolumns); $i++) {
                         if (!empty($selectedqfcolumns[$i])) {
                             $icolumnsql = "insert into its4you_reports4you_selectqfcolumn (QUERYID,COLUMNINDEX,COLUMNNAME) values (?,?,?)";
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $params = array($genQueryId, $i, decode_html($selectedqfcolumns[$i]));
                             $params_tofile = array("@reportid", $i, decode_html($selectedqfcolumns[$i]));
                             $report_array['its4you_reports4you_selectqfcolumn'][] = $params_tofile;
                             $icolumnsqlresult = $adb->pquery($icolumnsql, $params);
                             $export_sql === true ? $adb->setDebug(false) : "";
                         }
                     }
                 }
                 if ($shared_entities != "") {
                     if ($sharetype == "share") {
                         $selectedsharecolumn = explode("|", $shared_entities);
                         for ($i = 0; $i < count($selectedsharecolumn) - 1; $i++) {
                             $temp = split("::", $selectedsharecolumn[$i]);
                             $icolumnsql = "INSERT INTO its4you_reports4you_sharing (reports4youid,shareid,setype) VALUES (?,?,?)";
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $params = array($reportid, $temp[1], $temp[0]);
                             $params_tofile = array("@reportid", $temp[1], $temp[0]);
                             $report_array['its4you_reports4you_sharing'][] = $params_tofile;
                             $icolumnsqlresult = $adb->pquery($icolumnsql, $params);
                             $export_sql === true ? $adb->setDebug(false) : "";
                         }
                     }
                 }
                 if ($genQueryId != "") {
                     $ireportsql = "insert into its4you_reports4you (reports4youid,reports4youname,description,folderid,reporttype,columns_limit,summaries_limit) values (?,?,?,?,?,?,?)";
                     $ireportparams = array($genQueryId, $reportname, $reportdescription, $folderid, $reporttype, $limit, $summaries_limit);
                     $params_tofile = array("@reportid", $reportname, $reportdescription, $folderid, $reporttype, 0, $limit, $summaries_limit);
                     // ITS4YOU-END
                     $export_sql === true ? $adb->setDebug(true) : "";
                     $report_array['its4you_reports4you'] = $params_tofile;
                     $ireportresult = $adb->pquery($ireportsql, $ireportparams);
                     $export_sql === true ? $adb->setDebug(false) : "";
                     if ($ireportresult != false) {
                         if ($reporttype != "custom_report") {
                             //<<<<reportmodules>>>>>>>
                             $ireportmodulesql = "insert into its4you_reports4you_modules (REPORTMODULESID,PRIMARYMODULE,SECONDARYMODULES) values (?,?,?)";
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $params = array($genQueryId, $pmodule, $smodule);
                             $params_tofile = array("@reportid", $pmodule, $smodule);
                             $report_array['its4you_reports4you_modules'] = $params_tofile;
                             $ireportmoduleresult = $adb->pquery($ireportmodulesql, $params);
                             $export_sql === true ? $adb->setDebug(false) : "";
                             //<<<<reportmodules>>>>>>>
                             //<<<<step3 its4you_reports4you_sortcol>>>>>>>
                             if ($sort_by1 != "") {
                                 $sort_by1sql = "insert into its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_columnstr,timeline_columnfreq) values (?,?,?,?,?,?)";
                                 $export_sql === true ? $adb->setDebug(true) : "";
                                 $params = array(1, $genQueryId, $sort_by1, $sort_order1, $TimeLineColumn_str1, $TimeLineColumn_frequency1);
                                 $params_tofile = array(1, "@reportid", $sort_by1, $sort_order1, "rows", $TimeLineColumn_str1, $TimeLineColumn_frequency1);
                                 $report_array['its4you_reports4you_sortcol'][] = $params_tofile;
                                 $sort_by1result = $adb->pquery($sort_by1sql, $params);
                                 $export_sql === true ? $adb->setDebug(false) : "";
                             }
                             if ($sort_by2 != "") {
                                 $sort_by2sql = "insert into its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_type,timeline_columnstr,timeline_columnfreq) values (?,?,?,?,?,?,?)";
                                 $export_sql === true ? $adb->setDebug(true) : "";
                                 $params = array(2, $genQueryId, $sort_by2, $sort_order2, $timeline_type2, $TimeLineColumn_str2, $TimeLineColumn_frequency2);
                                 $params_tofile = array(2, "@reportid", $sort_by2, $sort_order2, $timeline_type2, $TimeLineColumn_str2, $TimeLineColumn_frequency2);
                                 $report_array['its4you_reports4you_sortcol'][] = $params_tofile;
                                 $sort_by2result = $adb->pquery($sort_by2sql, $params);
                                 $export_sql === true ? $adb->setDebug(false) : "";
                             }
                             if ($sort_by3 != "") {
                                 $sort_by3sql = "insert into its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER,timeline_type,timeline_columnstr,timeline_columnfreq) values (?,?,?,?,?,?,?)";
                                 $export_sql === true ? $adb->setDebug(true) : "";
                                 $params = array(3, $genQueryId, $sort_by3, $sort_order3, $timeline_type3, $TimeLineColumn_str3, $TimeLineColumn_frequency3);
                                 $params_tofile = array(3, "@reportid", $sort_by3, $sort_order3, $timeline_type3, $TimeLineColumn_str3, $TimeLineColumn_frequency3);
                                 $report_array['its4you_reports4you_sortcol'][] = $params_tofile;
                                 $sort_by3result = $adb->pquery($sort_by3sql, $params);
                                 $export_sql === true ? $adb->setDebug(false) : "";
                             }
                             if ($sort_by_column != "") {
                                 $sort_by_columnsql = "insert into its4you_reports4you_sortcol (SORTCOLID,REPORTID,COLUMNNAME,SORTORDER) values (?,?,?,?)";
                                 $export_sql === true ? $adb->setDebug(true) : "";
                                 $params = array(4, $genQueryId, $sort_by_column, $sort_order_column);
                                 $params_tofile = array(4, "@reportid", $sort_by_column, $sort_order_column, "", "", "");
                                 $report_array['its4you_reports4you_sortcol'][] = $params_tofile;
                                 $sort_by_columnresult = $adb->pquery($sort_by_columnsql, $params);
                                 $export_sql === true ? $adb->setDebug(false) : "";
                             }
                             //<<<<step3 its4you_reports4you_sortcol>>>>>>>
                             //<<<<step5 standarfilder>>>>>>>
                             $ireportmodulesql = "insert into its4you_reports4you_datefilter (DATEFILTERID,DATECOLUMNNAME,DATEFILTER,STARTDATE,ENDDATE) values (?,?,?,?,?)";
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $params = array($genQueryId, $stdDateFilterField, $stdDateFilter, $startdate, $enddate);
                             $params_tofile = array("@reportid", $stdDateFilterField, $stdDateFilter, $startdate, $enddate);
                             $report_array['its4you_reports4you_datefilter'] = $params_tofile;
                             $ireportmoduleresult = $adb->pquery($ireportmodulesql, $params);
                             $export_sql === true ? $adb->setDebug(false) : "";
                             //<<<<step5 standarfilder>>>>>>>
                             //<<<<step4 columnstototal>>>>>>>
                             for ($i = 0; $i < count($columnstototal); $i++) {
                                 $ireportsummarysql = "insert into its4you_reports4you_summary (REPORTSUMMARYID,SUMMARYTYPE,COLUMNNAME) values (?,?,?)";
                                 $export_sql === true ? $adb->setDebug(true) : "";
                                 $params = array($genQueryId, $i, $columnstototal[$i]);
                                 $params_tofile = array("@reportid", $i, $columnstototal[$i]);
                                 $report_array['its4you_reports4you_summary'][] = $params_tofile;
                                 $ireportsummaryresult = $adb->pquery($ireportsummarysql, $params);
                                 $export_sql === true ? $adb->setDebug(false) : "";
                             }
                             //<<<<step4 columnstototal>>>>>>>
                             //<<<<step5 advancedfilter>>>>>>>
                             // DOKONC SAVE TO FILE OLDO
                             $this->saveAdvancedFilters($advft_criteria, $advft_criteria_groups, $std_filter_columns, $export_sql);
                             foreach ($groupft_criteria as $column_index => $column_condition) {
                                 if (empty($column_condition)) {
                                     continue;
                                 }
                                 $adv_filter_column = $column_condition["columnname"];
                                 $adv_filter_comparator = $column_condition["comparator"];
                                 $adv_filter_value = $column_condition["value"];
                                 $adv_filter_column_condition = $column_condition["column_condition"];
                                 $adv_filter_groupid = $column_condition["groupid"];
                                 $column_info = explode(":", $adv_filter_column);
                                 $temp_val = explode(",", $adv_filter_value);
                                 if (($column_info[4] == 'D' || $column_info[4] == 'T' && $column_info[1] != 'time_start' && $column_info[1] != 'time_end' || $column_info[4] == 'DT') && ($column_info[4] != '' && $adv_filter_value != '')) {
                                     $val = array();
                                     for ($x = 0; $x < count($temp_val); $x++) {
                                         if (trim($temp_val[$x]) != '') {
                                             $date = new DateTimeField(trim($temp_val[$x]));
                                             if ($column_info[4] == 'D') {
                                                 $val[$x] = DateTimeField::convertToDBFormat(trim($temp_val[$x]));
                                             } elseif ($column_info[4] == 'DT') {
                                                 $val[$x] = $date->getDBInsertDateTimeValue();
                                             } else {
                                                 $val[$x] = $date->getDBInsertTimeValue();
                                             }
                                         }
                                     }
                                     $adv_filter_value = implode(",", $val);
                                 }
                                 $irelcriteriasql = "INSERT INTO its4you_reports4you_relcriteria_summaries(reportid,COLUMNINDEX,COLUMNNAME,COMPARATOR,VALUE,GROUPID,COLUMN_CONDITION) VALUES (?,?,?,?,?,?,?)";
                                 $export_sql === true ? $adb->setDebug(true) : "";
                                 $params = array($reportid, $column_index, $adv_filter_column, $adv_filter_comparator, $adv_filter_value, $adv_filter_groupid, $adv_filter_column_condition);
                                 $params_tofile = array("@reportid", $column_index, $adv_filter_column, $adv_filter_comparator, $adv_filter_value, $adv_filter_groupid, $adv_filter_column_condition);
                                 $report_array['its4you_reports4you_relcriteria_summaries'][] = $params_tofile;
                                 $irelcriteriaresult = $adb->pquery($irelcriteriasql, $params);
                                 $export_sql === true ? $adb->setDebug(false) : "";
                                 // Update the condition expression for the group to which the condition column belongs
                                 $groupConditionExpression = '';
                                 if (!empty($advft_criteria_groups[$adv_filter_groupid]["conditionexpression"])) {
                                     $groupConditionExpression = $advft_criteria_groups[$adv_filter_groupid]["conditionexpression"];
                                 }
                                 $groupConditionExpression = $groupConditionExpression . ' ' . $column_index . ' ' . $adv_filter_column_condition;
                                 $advft_criteria_groups[$adv_filter_groupid]["conditionexpression"] = $groupConditionExpression;
                             }
                             //<<<<step5 advancedfilter>>>>>>>
                         }
                         //<<<<step6 sharing >>>>>>>
                         $owner = vtlib_purify($_REQUEST["template_owner"]);
                         $sharingtype = vtlib_purify($_REQUEST["sharing"]);
                         if ($owner != "" && $owner != "") {
                             $limitsql = "insert into its4you_reports4you_settings (reportid,owner,sharingtype) VALUES (?,?,?)";
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $params = array($genQueryId, $owner, $sharingtype);
                             $params_tofile = array("@reportid", $owner, $sharingtype);
                             $report_array['its4you_reports4you_settings'] = $params_tofile;
                             $limitresult = $adb->pquery($limitsql, $params);
                             $export_sql === true ? $adb->setDebug(false) : "";
                         }
                         //<<<<step6 sharing >>>>>>>
                         //<<<<step7 scheduledReport>>>>>>>
                         if ($isReportScheduled == 'off' || $isReportScheduled == '0' || $isReportScheduled == '') {
                             $deleteScheduledReportSql = "DELETE FROM its4you_reports4you_scheduled_reports WHERE reportid=?";
                             $adb->pquery($deleteScheduledReportSql, array($reportid));
                         } else {
                             $checkScheduledResult = $adb->pquery('SELECT 1 FROM its4you_reports4you_scheduled_reports WHERE reportid=?', array($reportid));
                             if ($adb->num_rows($checkScheduledResult) > 0) {
                                 $scheduledReportSql = 'UPDATE its4you_reports4you_scheduled_reports SET recipients=?,schedule=?,format=? WHERE reportid=?';
                                 $export_sql === true ? $adb->setDebug(true) : "";
                                 $params = array($selectedRecipients, $scheduledInterval, $scheduledFormat, $reportid);
                                 $params_tofile = array("@reportid", $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s"));
                                 $report_array['its4you_reports4you_scheduled_reports'] = $params_tofile;
                                 $adb->pquery($scheduledReportSql, $params);
                                 $export_sql === true ? $adb->setDebug(false) : "";
                             } else {
                                 $scheduleReportSql = 'INSERT INTO its4you_reports4you_scheduled_reports (reportid,recipients,schedule,format,next_trigger_time) VALUES (?,?,?,?,?)';
                                 $export_sql === true ? $adb->setDebug(true) : "";
                                 $params = array($reportid, $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s"));
                                 $params_tofile = array("@reportid", $selectedRecipients, $scheduledInterval, $scheduledFormat, date("Y-m-d H:i:s"));
                                 $report_array['its4you_reports4you_scheduled_reports'] = $params_tofile;
                                 $adb->pquery($scheduleReportSql, $params);
                                 $export_sql === true ? $adb->setDebug(false) : "";
                             }
                         }
                         if ($reporttype != "custom_report") {
                             //<<<<step12 Report Charts >>>>>>>
                             $deleteChartsSql = "DELETE FROM its4you_reports4you_charts WHERE reports4youid=?";
                             $adb->pquery($deleteChartsSql, array($reportid));
                             /*
                              if ($chartType != "" && $chartType != "none") {
                              $ChartsSql = 'INSERT INTO its4you_reports4you_charts (reports4youid,charttype,dataseries,charttitle) VALUES (?,?,?,?)';
                              $export_sql === true ? $adb->setDebug(true) : "";
                              $adb->pquery($ChartsSql, array($reportid, $chartType, $data_series, $charttitle));
                              $export_sql === true ? $adb->setDebug(false) : "";
                              }
                             */
                             if (!empty($charts)) {
                                 foreach ($charts as $chi => $ch_params) {
                                     $ChartsSql = 'INSERT INTO its4you_reports4you_charts (reports4youid,charttype,dataseries,charttitle,chart_seq,x_group) VALUES (?,?,?,?,?,?)';
                                     $ch_params = array_merge(array($reportid), $ch_params);
                                     $ch_params_tofile = array_merge(array("@reportid"), $ch_params);
                                     $export_sql === true ? $adb->setDebug(true) : "";
                                     $params = array($ch_params);
                                     $report_array['its4you_reports4you_charts'][] = array($ch_params_tofile);
                                     $adb->pquery($ChartsSql, $params);
                                     $export_sql === true ? $adb->setDebug(false) : "";
                                 }
                             }
                             //<<<<step12 Report Charts >>>>>>>
                         }
                         //<<<<step13 Custom Report SQL >>>>>>>
                         if ($reporttype == "custom_report") {
                             $CustomSqlQry = 'INSERT INTO its4you_reports4you_customsql (reports4youid,custom_sql) VALUES (?,?)';
                             $params = array($reportid, $customSql);
                             $params_tofile = array("@reportid", $customSql);
                             $report_array['its4you_reports4you_customsql'] = $params_tofile;
                             $export_sql === true ? $adb->setDebug(true) : "";
                             $adb->pquery($CustomSqlQry, array($params));
                             $export_sql === true ? $adb->setDebug(false) : "";
                         }
                         //<<<<step13 Custom Report SQL >>>>>>>
                     } else {
                         $errormessage = "<font color='red'><B>Error Message<ul>\n                                                            <li><font color='red'>Error while inserting the record</font>\n                                                            </ul></B></font> <br>";
                         echo $errormessage;
                         die;
                     }
                 }
             } else {
                 $errormessage = "<font color='red'><B>Error Message<ul>\n                                            <li><font color='red'>Error while inserting the record (QUERYID)</font>\n                                            </ul></B></font> <br>";
                 echo $errormessage;
                 die;
             }
         }
         if ($export_sql === true && $isDuplicate != "true") {
             ITS4YouReports::sshow("EDIT");
         } elseif ($export_sql === true) {
             ITS4YouReports::sshow("DUPLICATE");
         }
     }
     if ($export_to_file === true) {
         $report_array_json = Zend_JSON::encode($report_array);
         //			ITS4YouReports::sshow($report_array['its4you_reports4you_charts']);
         //			ITS4YouReports::sshow($report_array_json);
         $fileReportContent = "<?php " . '$report_array_json = ' . "'" . $report_array_json . "'; ";
         $file_path = "test/ITS4YouReports/ITS4YouReports_" . $this->getId() . ".php";
         $exportOfReport = fopen($file_path, 'w');
         fwrite($exportOfReport, $fileReportContent);
         fclose($exportOfReport);
         echo "DONE {$file_path}";
         exit;
     }
     if ($export_sql === true) {
         exit;
     }
     return true;
     // ini_set("display_errors", 1);error_reporting(63);
 }
Esempio n. 10
0
 public function __toString()
 {
     return Zend_JSON::encode($this->getData());
 }
Esempio n. 11
0
 function getColumns(Vtiger_Request $request, $is_sum = false)
 {
     $BLOCK0 = $BLOCK1 = $BLOCK2 = "";
     $selectedmodule = $request->get("selectedmodule");
     $SumOptions = array();
     $secondarymodule = '';
     $secondarymodules = array();
     $record = $request->get('record');
     $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
     $primarymodule = $reportModel->getPrimaryModule();
     $primarymoduleid = $reportModel->getPrimaryModuleId();
     $modulename_prefix = "";
     if ($selectedmodule != $primarymoduleid && $selectedmodule != "") {
         $modulename = $selectedmodule;
         $reportModel->getSecModuleColumnsList($modulename);
         $module_array["id"] = $modulename;
         $modulename_arr = explode("x", $modulename);
         $modulename_id = $modulename_arr[0];
         if ($modulename_arr[1] != "") {
             $modulename_prefix = $modulename_arr[1];
         }
     } else {
         $module_array["module"] = $primarymodule;
         $module_array["id"] = $primarymoduleid;
         $modulename = $module_array["module"];
         $modulename_lbl = vtranslate($modulename, $modulename);
         $availModules[$module_array["id"]] = $modulename_lbl;
         $modulename_id = $module_array["id"];
     }
     $relmod_arr = explode("x", $modulename);
     if (is_numeric($relmod_arr[0])) {
         $stabid = $relmod_arr[0];
         $smodule = vtlib_getModuleNameById($stabid);
     }
     if ($is_sum) {
         $SPSumOptions[$module_array["id"]][$modulename_id] = sgetSummariesOptions($modulename);
     } else {
         if ($selectedmodule != $primarymoduleid && $selectedmodule != "") {
             $SPSumOptions[$modulename] = $reportModel->getSecondaryColumns(array(), $modulename);
         } else {
             $SPSumOptions[$module_array["id"]][$modulename_id] = $reportModel->getPrimaryColumns(array(), $modulename, true);
         }
     }
     $step5_result = "";
     if ($selectedmodule != $primarymoduleid && $selectedmodule == "") {
         $secondarymodule_arr = $reportModel->getReportRelatedModules($module_array["id"]);
         $reportModel->getSecModuleColumnsList($secondarymodule);
         $available_modules[] = array("id" => $primarymoduleid, "name" => $modulename_lbl, "checked" => "checked");
         foreach ($secondarymodule_arr as $key => $value) {
             $available_modules[] = array("id" => $value["id"], "name" => $value["name"], "checked" => "");
         }
         $AV_M = Zend_JSON::encode($available_modules);
         $step5_result .= $AV_M . "(!A#V_M@M_M#A!)";
     }
     $BLOCK1 = "";
     foreach ($SPSumOptions as $module_key => $SumOptions) {
         $BLOCK2 = "";
         $r_modulename = vtlib_getModuleNameById($module_key);
         $r_modulename_lbl = vtranslate($r_modulename, $r_modulename);
         foreach ($SumOptions as $SumOptions_key => $SumOptions_value) {
             foreach ($SumOptions_value as $optgroup => $optionsdata) {
                 if ($BLOCK2 != "") {
                     $BLOCK2 .= "(|@!@|)";
                 }
                 $BLOCK2 .= $optgroup;
                 $BLOCK2 .= "(|@|)";
                 $BLOCK2 .= Zend_JSON::encode($optionsdata);
             }
             $BLOCK1 .= $module_key . "(!#_ID@ID_#!)" . $r_modulename_lbl . "(!#_ID@ID_#!)" . $BLOCK2;
         }
     }
     $step5_result .= $BLOCK1;
     echo $step5_result;
 }
        $contents = $homeObj->getNoteBookContents($widgetId);
        $smarty->assign("NOTEBOOK_CONTENTS", $contents);
        $smarty->assign("NOTEBOOKID", $widgetId);
        $html = $smarty->fetch("Home/notebook.tpl");
    } elseif ($widgetType == 'URL') {
        $url = $homeObj->getWidgetURL($widgetId);
        if (strpos($url, "://") === false) {
            $url = "http://" . trim($url);
        }
        $smarty->assign("URL", $url);
        $smarty->assign("WIDGETID", $widgetId);
        $html = $smarty->fetch("Home/HomeWidgetURL.tpl");
    } else {
        $homestuff_values = $homeObj->getHomePageStuff($widgetId, $widgetType);
        $html = '';
        if ($widgetType == "DashBoard") {
            $homeObj->getDashDetails($widgetId, 'type');
            $dashdet = $homeObj->dashdetails;
            $smarty->assign("DASHDETAILS", $dashdet);
        }
    }
    $smarty->assign("HOME_STUFFTYPE", $widgetType);
    $smarty->assign("HOME_STUFFID", $widgetId);
    $smarty->assign("HOME_STUFF", $homestuff_values);
    $smarty->assign("THEME", $theme);
    $smarty->assign("IMAGE_PATH", $image_path);
    $html .= $smarty->fetch("Home/HomeBlock.tpl");
    $widgetHTML[$widgetId] = $html;
}
echo Zend_JSON::encode($widgetHTML);
Esempio n. 13
0
    public function getSelectedValuesToSmarty($smarty_obj = "", $step_name = "")
    {
        if ($smarty_obj != "" && $step_name != "") {
            global $app_strings;
            global $mod_strings;
            global $default_charset;
            global $current_language;
            global $image_path;
            global $theme;
            $theme_path = "themes/" . $theme . "/";
            $image_path = $theme_path . "images/";
            $smarty_obj->assign("THEME", $theme_path);
            $smarty_obj->assign("IMAGE_PATH", $image_path);
            $adb = PEARDatabase::getInstance();
            $get_all_steps = "all";
            if (isset($_REQUEST["record"]) && $_REQUEST['record'] != '') {
                $recordid = vtlib_purify($_REQUEST["record"]);
            } else {
                $recordid = "";
            }
            $smarty_obj->assign("RECORDID", $recordid);
            $smarty_obj->assign("DISPLAY_FILTER_HEADER", false);
            if (in_array($step_name, array("ReportsStep1"))) {
                if (isset($_REQUEST["reportname"]) && $_REQUEST["reportname"] != "") {
                    $reportname = htmlspecialchars(vtlib_purify($_REQUEST["reportname"]));
                } else {
                    $reportname = $this->reportinformations["reports4youname"];
                }
                $smarty_obj->assign("REPORTNAME", $reportname);
                if (isset($_REQUEST["reportdesc"]) && $_REQUEST["reportdesc"] != "") {
                    $reportdesc = htmlspecialchars(vtlib_purify($_REQUEST["reportdesc"]));
                } else {
                    $reportdesc = $this->reportinformations["reportdesc"];
                }
                $smarty_obj->assign("REPORTDESC", $reportdesc);
                $smarty_obj->assign("REP_MODULE", $this->reportinformations["primarymodule"]);
                $smarty_obj->assign("PRIMARYMODULES", $this->getPrimaryModules());
                $smarty_obj->assign("REP_FOLDERS", $this->getReportFolders());
                if (isset($this->primarymodule) && $this->primarymodule != '') {
                    $rel_modules = $this->getReportRelatedModules($this->primarymoduleid);
                    foreach ($rel_modules as $key => $relmodule) {
                        $restricted_modules .= $relmodule['id'] . ":";
                    }
                    $smarty_obj->assign("REL_MODULES_STR", trim($restricted_modules, ":"));
                    $smarty_obj->assign("RELATEDMODULES", $rel_modules);
                }
                $smarty_obj->assign("FOLDERID", vtlib_purify($_REQUEST['folder']));
            }
            if (in_array($step_name, array("ReportsStep2", $get_all_steps))) {
                if (isset($this->primarymodule) && $this->primarymodule != '') {
                    $rel_modules = $this->getReportRelatedModules($this->primarymoduleid);
                    foreach ($rel_modules as $key => $relmodule) {
                        $restricted_modules .= $relmodule['id'] . ":";
                    }
                    $smarty_obj->assign("REL_MODULES_STR", trim($restricted_modules, ":"));
                    $smarty_obj->assign("RELATEDMODULES", $rel_modules);
                }
            }
            if (in_array($step_name, array("ReportGrouping", $get_all_steps))) {
                // TIMELINE COLUMNS DEFINITION CHANGED New Code 13.5.2014 11:58
                // ITS4YOU-CR SlOl | 13.5.2014 11:53
                if (isset($_REQUEST["primarymodule"]) && $_REQUEST["primarymodule"] != "") {
                    $primary_moduleid = $_REQUEST["primarymodule"];
                    $primary_module = vtlib_getModuleNameById($_REQUEST["primarymodule"]);
                    if (vtlib_isModuleActive($primary_module)) {
                        $primary_df_arr = getPrimaryTLStdFilter($primary_module, $this);
                    }
                } else {
                    $primary_module = $this->primarymodule;
                    $primary_moduleid = $this->primarymoduleid;
                    $primary_df_arr = getPrimaryTLStdFilter($primary_module, $this);
                }
                $date_options = array();
                if (!empty($primary_df_arr)) {
                    foreach ($primary_df_arr as $val_arr) {
                        foreach ($val_arr as $val_dtls) {
                            $date_options[] = $val_dtls["value"];
                        }
                    }
                }
                $date_options_json = Zend_JSON::encode($date_options);
                $smarty_obj->assign("date_options_json", $date_options_json);
                $timelinecolumn = $this->getTimeLineColumnHTML();
                $smarty_obj->assign("timelinecolumn", $timelinecolumn);
                // ITS4YOU-END 13.5.2014 11:53
                if (isset($_REQUEST["record"]) && $_REQUEST['record'] != '') {
                    $reportid = vtlib_purify($_REQUEST["record"]);
                    $secondarymodule = '';
                    $secondarymodules = array();
                    if (!empty($this->related_modules[$primary_module])) {
                        foreach ($this->related_modules[$primary_module] as $key => $value) {
                            if (isset($_REQUEST["secondarymodule_" . $value])) {
                                $secondarymodules[] = vtlib_purify($_REQUEST["secondarymodule_" . $value]);
                            }
                        }
                    }
                    if ($primary_moduleid == getTabid('Invoice')) {
                        $secondarymodules[] = getTabid('Products');
                        $secondarymodules[] = getTabid('Services');
                    }
                    $secondarymodule = implode(":", $secondarymodules);
                    if ($secondarymodule != '') {
                        $this->secondarymodules .= $secondarymodule;
                    }
                    if (isset($_REQUEST["summaries_limit"])) {
                        $summaries_limit = vtlib_purify($_REQUEST["summaries_limit"]);
                    } else {
                        $summaries_limit = $this->reportinformations["summaries_limit"];
                    }
                } else {
                    $secondarymodule = '';
                    $secondarymodules = array();
                    $this->getPriModuleColumnsList($primary_module);
                    foreach ($this->secondarymodules as $key => $secmodid) {
                        $this->getSecModuleColumnsList(vtlib_getModuleNameById($secmodid));
                    }
                    $summaries_limit = "20";
                }
                $smarty_obj->assign("SUMMARIES_MAX_LIMIT", $summaries_limit);
                for ($tc_i = 1; $tc_i < 4; $tc_i++) {
                    $timelinecol = $selected_timeline_column = "";
                    if (isset($_REQUEST["group{$tc_i}"]) && $_REQUEST["group{$tc_i}"] != "" && $step_name != "ReportGrouping") {
                        $group = vtlib_purify($_REQUEST["group{$tc_i}"]);
                        if (isset($_REQUEST["timeline_column{$tc_i}"]) && $_REQUEST["timeline_column{$tc_i}"] != "") {
                            $selected_timeline_column = vtlib_purify($_REQUEST["timeline_column{$tc_i}"]);
                        }
                    } else {
                        $group = $this->reportinformations["Group{$tc_i}"];
                        $selected_timeline_column = $this->reportinformations["timeline_columnstr{$tc_i}"];
                    }
                    if (isset($selected_timeline_column) && !in_array($selected_timeline_column, array("", "none", "@vlv@"))) {
                        $timelinecol = $this->getTimeLineColumnHTML($tc_i, $selected_timeline_column);
                        $smarty_obj->assign("timelinecolumn" . $tc_i . "_html", $timelinecol);
                    }
                    $RG_BLOCK = getPrimaryColumns_GroupingHTML($primary_module, $group, $this);
                    $smarty_obj->assign("RG_BLOCK{$tc_i}", $RG_BLOCK);
                    if ($tc_i > 1) {
                        if (isset($_REQUEST["timeline_type{$tc_i}"]) && $_REQUEST["timeline_type{$tc_i}"] != "") {
                            $timeline_type = vtlib_purify($_REQUEST["timeline_type{$tc_i}"]);
                        } else {
                            $timeline_type = $this->reportinformations["timeline_type{$tc_i}"];
                        }
                        $smarty_obj->assign("timeline_type{$tc_i}", $timeline_type);
                    }
                }
                for ($sci = 1; $sci < 4; $sci++) {
                    if (isset($_REQUEST["sort" . $sci]) && $_REQUEST["sort" . $sci] != "") {
                        $sortorder = vtlib_purify($_REQUEST["sort" . $sci]);
                    } else {
                        $sortorder = $this->reportinformations["Sort" . $sci];
                    }
                    $sa = $sd = "";
                    if ($sortorder != "Descending") {
                        $sa = "checked";
                    } else {
                        $sd = "checked";
                    }
                    $shtml = '<input type="radio" id="Sort' . $sci . 'a" name="Sort' . $sci . '" value="Ascending" ' . $sa . '>' . vtranslate('Ascending') . ' &nbsp; 
				              <input type="radio" id="Sort' . $sci . 'd" name="Sort' . $sci . '" value="Descending" ' . $sd . '>' . vtranslate('Descending');
                    $smarty_obj->assign("ASCDESC" . $sci, $shtml);
                }
                // ITS4YOU-CR SlOl 5. 3. 2014 14:50:45 SUMMARIES START
                $module_id = $primary_moduleid;
                $modulename_prefix = "";
                $module_array["module"] = $primary_module;
                $module_array["id"] = $module_id;
                $selectedmodule = $module_array["id"];
                $modulename = $module_array["module"];
                $modulename_lbl = vtranslate($modulename, $modulename);
                $availModules[$module_array["id"]] = $modulename_lbl;
                $modulename_id = $module_array["id"];
                if (isset($selectedmodule)) {
                    $secondarymodule_arr = $this->getReportRelatedModules($module_array["id"]);
                    $this->getSecModuleColumnsList($selectedmodule);
                    $RG_BLOCK4 = sgetSummariesHTMLOptions($module_array["id"], $module_id);
                    $available_modules[] = array("id" => $module_id, "name" => $modulename_lbl, "checked" => "checked");
                    foreach ($secondarymodule_arr as $key => $value) {
                        $exploded_mid = explode("x", $value["id"]);
                        if (strtolower($exploded_mid[1]) != "mif") {
                            $available_modules[] = array("id" => $value["id"], "name" => "- " . $value["name"], "checked" => "");
                        }
                    }
                    $smarty_obj->assign("RG_BLOCK4", $RG_BLOCK4);
                }
                $smarty_obj->assign("SummariesModules", $available_modules);
                $SumOptions = sgetSummariesOptions($selectedmodule);
                if (empty($SumOptions)) {
                    $SumOptions = vtranslate("NO_SUMMARIES_COLUMNS", $this->currentModule);
                }
                $SPSumOptions[$module_array["id"]][$module_array["id"]] = $SumOptions;
                $smarty_obj->assign("SUMOPTIONS", $SPSumOptions);
                if (isset($_REQUEST["selectedSummariesString"])) {
                    $selectedSummariesString = vtlib_purify($_REQUEST["selectedSummariesString"]);
                    $selectedSummariesArr = explode(";", $selectedSummariesString);
                    $summaries_orderby = vtlib_purify($_REQUEST["summaries_orderby"]);
                    $RG_BLOCK6 = sgetSelectedSummariesHTMLOptions($selectedSummariesArr, $summaries_orderby);
                } else {
                    if (!empty($this->reportinformations["summaries_columns"])) {
                        foreach ($this->reportinformations["summaries_columns"] as $key => $summaries_columns_arr) {
                            $selectedSummariesArr[] = $summaries_columns_arr["columnname"];
                        }
                    }
                    $selectedSummariesString = implode(";", $selectedSummariesString);
                    $summaries_orderby = "";
                    if (isset($this->reportinformations["summaries_orderby_columns"][0]) && $this->reportinformations["summaries_orderby_columns"][0] != "") {
                        $summaries_orderby = $this->reportinformations["summaries_orderby_columns"][0];
                    }
                    $RG_BLOCK6 = sgetSelectedSummariesHTMLOptions($selectedSummariesArr, $summaries_orderby);
                }
                // sum_group_columns for group filters start
                $sm_arr = sgetSelectedSummariesOptions($selectedSummariesArr);
                $sm_str = "";
                foreach ($sm_arr as $key => $opt_arr) {
                    if ($sm_str != "") {
                        $sm_str .= "(|@!@|)";
                    }
                    $sm_str .= $opt_arr["value"] . "(|@|)" . $opt_arr["text"];
                }
                $smarty_obj->assign("sum_group_columns", $sm_str);
                // sum_group_columns for group filters end
                $smarty_obj->assign("selectedSummariesString", $selectedSummariesString);
                $smarty_obj->assign("RG_BLOCK6", $RG_BLOCK6);
                $RG_BLOCKx2 = array();
                $all_fields_str = "";
                foreach ($SPSumOptions as $module_key => $SumOptions) {
                    $RG_BLOCKx2 = "";
                    $r_modulename = vtlib_getModuleNameById($module_key);
                    $r_modulename_lbl = vtranslate($r_modulename, $r_modulename);
                    foreach ($SumOptions as $SumOptions_key => $SumOptions_value) {
                        if (is_array($SumOptions_value)) {
                            foreach ($SumOptions_value as $optgroup => $optionsdata) {
                                if ($RG_BLOCKx2 != "") {
                                    $RG_BLOCKx2 .= "(|@!@|)";
                                }
                                $RG_BLOCKx2 .= $optgroup;
                                $RG_BLOCKx2 .= "(|@|)";
                                $RG_BLOCKx2 .= Zend_JSON::encode($optionsdata);
                            }
                        } else {
                            $RG_BLOCKx2 .= $SumOptions_value;
                            $RG_BLOCKx2 .= "(|@|)";
                            $optionsdata[] = array("value" => "none", "text" => vtranslate("LBL_NONE", $this->currentModule));
                            $RG_BLOCKx2 .= Zend_JSON::encode($optionsdata);
                        }
                        $all_fields_str .= $module_key . "(!#_ID@ID_#!)" . $r_modulename_lbl . "(!#_ID@ID_#!)" . $RG_BLOCKx2;
                    }
                }
                $smarty_obj->assign("ALL_FIELDS_STRING", $all_fields_str);
                // ITS4YOU-END 5. 3. 2014 14:50:47  SUMMARIES END
                if (isset($_REQUEST["summaries_orderby"]) && $_REQUEST["summaries_orderby"] != "" && isset($_REQUEST["summaries_orderby_type"]) && $_REQUEST["summaries_orderby_type"] != "") {
                    $summaries_orderby = vtlib_purify($_REQUEST["summaries_orderby"]);
                    $summaries_orderby_type = vtlib_purify($_REQUEST["summaries_orderby_type"]);
                } elseif (isset($this->reportinformations["summaries_orderby_columns"]) && !empty($this->reportinformations["summaries_orderby_columns"])) {
                    $summaries_orderby = $this->reportinformations["summaries_orderby_columns"][0]["column"];
                    $summaries_orderby_type = $this->reportinformations["summaries_orderby_columns"][0]["type"];
                } else {
                    $summaries_orderby = "none";
                    $summaries_orderby_type = "ASC";
                }
                $smarty_obj->assign("summaries_orderby", $summaries_orderby);
                $smarty_obj->assign("summaries_orderby_type", $summaries_orderby_type);
            }
            if (in_array($step_name, array("ReportColumns", $get_all_steps))) {
                if (isset($_REQUEST["record"]) && $_REQUEST['record'] != '') {
                    $RC_BLOCK1 = getPrimaryColumnsHTML($this->primarymodule);
                    $secondarymodule = '';
                    $secondarymodules = array();
                    if (!empty($this->related_modules[$this->primarymodule])) {
                        foreach ($this->related_modules[$this->primarymodule] as $key => $value) {
                            if (isset($_REQUEST["secondarymodule_" . $value])) {
                                $secondarymodules[] = $_REQUEST["secondarymodule_" . $value];
                            }
                        }
                    }
                    $secondarymodule = implode(":", $secondarymodules);
                    $RC_BLOCK2 = $this->getSelectedColumnsList($this->selected_columns_list_arr);
                    $smarty_obj->assign("RC_BLOCK1", $RC_BLOCK1);
                    $smarty_obj->assign("RC_BLOCK2", $RC_BLOCK2);
                    $sreportsortsql = "SELECT columnname, sortorder FROM  its4you_reports4you_sortcol WHERE reportid =? AND sortcolid = 4";
                    $result_sort = $adb->pquery($sreportsortsql, array($recordid));
                    $num_rows = $adb->num_rows($result_sort);
                    if ($num_rows > 0) {
                        $columnname = $adb->query_result($result_sort, 0, "columnname");
                        $sortorder = $adb->query_result($result_sort, 0, "sortorder");
                        $RC_BLOCK3 = $this->getSelectedColumnsList($this->selected_columns_list_arr, $columnname);
                    } else {
                        $RC_BLOCK3 = $RC_BLOCK2;
                    }
                    $smarty_obj->assign("RC_BLOCK3", $RC_BLOCK3);
                    $this->secmodule = $secondarymodule;
                    $RC_BLOCK4 = "";
                    $RC_BLOCK4 = getSecondaryColumnsHTML($this->relatedmodulesstring, $this);
                    $smarty_obj->assign("RC_BLOCK4", $RC_BLOCK4);
                } else {
                    $primarymodule = vtlib_purify($_REQUEST["primarymodule"]);
                    $RC_BLOCK1 = getPrimaryColumnsHTML($primarymodule);
                    if (!empty($this->related_modules[$primarymodule])) {
                        foreach ($this->related_modules[$primarymodule] as $key => $value) {
                            $RC_BLOCK1 .= getSecondaryColumnsHTML($_REQUEST["secondarymodule_" . $value], $this);
                        }
                    }
                    $smarty_obj->assign("RC_BLOCK1", $RC_BLOCK1);
                    $this->reportinformations["columns_limit"] = "20";
                }
                $smarty_obj->assign("MAX_LIMIT", $this->reportinformations["columns_limit"]);
                if ($sortorder != "DESC") {
                    $shtml = '<input type="radio" name="SortOrderColumn" value="ASC" checked>' . vtranslate('Ascending') . ' &nbsp; 
								<input type="radio" name="SortOrderColumn" value="DESC">' . vtranslate('Descending');
                } else {
                    $shtml = '<input type="radio" name="SortOrderColumn" value="ASC">' . vtranslate('Ascending') . ' &nbsp; 
								<input type="radio" name="SortOrderColumn" value="DESC" checked>' . vtranslate('Descending');
                }
                $smarty_obj->assign("COLUMNASCDESC", $shtml);
                $timelinecolumns .= '<input type="radio" name="TimeLineColumn" value="DAYS" checked>' . $mod_strings['TL_DAYS'] . ' ';
                $timelinecolumns .= '<input type="radio" name="TimeLineColumn" value="WEEK" >' . $mod_strings['TL_WEEKS'] . ' ';
                $timelinecolumns .= '<input type="radio" name="TimeLineColumn" value="MONTH" >' . $mod_strings['TL_MONTHS'] . ' ';
                $timelinecolumns .= '<input type="radio" name="TimeLineColumn" value="YEAR" >' . $mod_strings['TL_YEARS'] . ' ';
                $timelinecolumns .= '<input type="radio" name="TimeLineColumn" value="QUARTER" >' . $mod_strings['TL_QUARTERS'] . ' ';
                $smarty_obj->assign("TIMELINE_FIELDS", $timelinecolumns);
                // ITS4YOU-CR SlOl  19. 2. 2014 16:30:20
                $SPSumOptions = $availModules = array();
                $RC_BLOCK0 = "";
                $smarty_obj->assign("availModules", $availModules);
                $smarty_obj->assign("ALL_FIELDS_STRING", $RC_BLOCK0);
                // ITS4YOU-END 19. 2. 2014 16:30:23
                $smarty_obj->assign("currentModule", $this->currentModule);
            }
            if (in_array($step_name, array("ReportColumnsTotal", $get_all_steps))) {
                $Objects = array();
                $curl_array = array();
                if (isset($_REQUEST["curl"])) {
                    $curl = vtlib_purify($_REQUEST["curl"]);
                    $curl_array = explode('$_@_$', $curl);
                    $selectedColumnsString = str_replace("@AMPKO@", "&", $_REQUEST["selectedColumnsStr"]);
                    $R_Objects = explode("<_@!@_>", $selectedColumnsString);
                } else {
                    $curl_array = $this->getSelectedColumnsToTotal($this->record);
                    $curl = implode('$_@_$', $curl_array);
                    $selectedColumnsString = str_replace("@AMPKO@", "&", $this->reportinformations["selectedColumnsString"]);
                    $R_Objects = explode(";", $selectedColumnsString);
                }
                $smarty_obj->assign("CURL", $curl);
                $Objects = sgetNewColumnstoTotalHTMLScript($R_Objects);
                $this->columnssummary = $Objects;
                $CT_BLOCK1 = $this->sgetNewColumntoTotalSelected($recordid, $R_Objects, $curl_array);
                $smarty_obj->assign("CT_BLOCK1", $CT_BLOCK1);
                //added to avoid displaying "No data avaiable to total" when using related modules in report.
                $rows_count = 0;
                $rows_count = count($CT_BLOCK1);
                $smarty_obj->assign("ROWS_COUNT", $rows_count);
            }
            if (in_array($step_name, array("ReportLabels", $get_all_steps))) {
                // selected labels from url
                $lbl_url_string = html_entity_decode(vtlib_purify($_REQUEST["lblurl"]), ENT_QUOTES, $default_charset);
                if ($lbl_url_string != "") {
                    $lbl_url_arr = explode('$_@_$', $lbl_url_string);
                    foreach ($lbl_url_arr as $key => $lbl_value) {
                        if (strpos($lbl_value, 'hidden_') === false) {
                            if (strpos($lbl_value, '_SC_lLbLl_') !== false) {
                                $temp = explode('_SC_lLbLl_', $lbl_value);
                                $temp_lbls = explode('_lLGbGLl_', $temp[1]);
                                $lbl_key = trim($temp_lbls[0]);
                                $lbl_value = trim($temp_lbls[1]);
                                $lbl_url_selected["SC"][$lbl_key] = $lbl_value;
                            }
                            if (strpos($lbl_value, '_SM_lLbLl_') !== false) {
                                $temp = explode('_SM_lLbLl_', $lbl_value);
                                $temp_lbls = explode('_lLGbGLl_', $temp[1]);
                                $lbl_key = trim($temp_lbls[0]);
                                $lbl_value = trim($temp_lbls[1]);
                                $lbl_url_selected["SM"][$lbl_key] = $lbl_value;
                            }
                            if (strpos($lbl_value, '_CT_lLbLl_') !== false) {
                                $temp = explode('_CT_lLbLl_', $lbl_value);
                                $temp_lbls = explode('_lLGbGLl_', $temp[1]);
                                $lbl_key = trim($temp_lbls[0]);
                                $lbl_value = trim($temp_lbls[1]);
                                $lbl_url_selected["CT"][$lbl_key] = $lbl_value;
                            }
                        }
                    }
                }
                // COLUMNS labeltype SC
                if (isset($_REQUEST["selectedColumnsStr"]) && $_REQUEST["selectedColumnsStr"] != "") {
                    $selectedColumnsString = vtlib_purify($_REQUEST["selectedColumnsStr"]);
                    $selectedColumnsString = html_entity_decode($selectedColumnsString, ENT_QUOTES, $default_charset);
                    $selected_columns_array = explode("<_@!@_>", $selectedColumnsString);
                    $decode_labels = true;
                } else {
                    $selectedColumnsString = html_entity_decode($this->reportinformations["selectedColumnsString"], ENT_QUOTES, $default_charset);
                    $selected_columns_array = explode(";", $selectedColumnsString);
                    $decode_labels = false;
                }
                $labels_html["SC"] = $this->getLabelsHTML($selected_columns_array, "SC", $lbl_url_selected, $decode_labels);
                // SUMMARIES labeltype SM
                $selectedSummariesString = vtlib_purify($_REQUEST["selectedSummariesString"]);
                if ($selectedSummariesString != "") {
                    $selectedSummaries_array = explode(";", trim($selectedSummariesString, ";"));
                } else {
                    foreach ($this->reportinformations["summaries_columns"] as $key => $sum_arr) {
                        $selectedSummaries_array[] = $sum_arr["columnname"];
                    }
                }
                $labels_html["SM"] = $this->getLabelsHTML($selectedSummaries_array, "SM", $lbl_url_selected, $decode_labels);
                $smarty_obj->assign("labels_html", $labels_html);
                $smarty_obj->assign("LABELS", $curl);
                //added to avoid displaying "No data avaiable to total" when using related modules in report.
                $rows_count = count($labels_html);
                foreach ($labels_html as $key => $labels_type_arr) {
                    $rows_count += count($labels_type_arr);
                }
                $smarty_obj->assign("ROWS_COUNT", $rows_count);
            }
            if (in_array($step_name, array("ReportFilters", $get_all_steps))) {
                require_once 'modules/ITS4YouReports/FilterUtils.php';
                if (isset($_REQUEST["primarymodule"]) && $_REQUEST["primarymodule"] != "") {
                    $primary_moduleid = $_REQUEST["primarymodule"];
                    $primary_module = vtlib_getModuleNameById($_REQUEST["primarymodule"]);
                } else {
                    $primary_module = $this->primarymodule;
                    $primary_moduleid = $this->primarymoduleid;
                }
                // NEW ADVANCE FILTERS START
                $this->getGroupFilterList($this->record);
                $this->getAdvancedFilterList($this->record);
                $this->getSummariesFilterList($this->record);
                $sel_fields = Zend_Json::encode($this->adv_sel_fields);
                $smarty_obj->assign("SEL_FIELDS", $sel_fields);
                if (isset($_REQUEST["reload"])) {
                    $criteria_groups = $this->getRequestCriteria($sel_fields);
                } else {
                    $criteria_groups = $this->advft_criteria;
                }
                $smarty_obj->assign("CRITERIA_GROUPS", $criteria_groups);
                $smarty_obj->assign("EMPTY_CRITERIA_GROUPS", empty($criteria_groups));
                $smarty_obj->assign("SUMMARIES_CRITERIA", $this->summaries_criteria);
                $FILTER_OPTION = getAdvCriteriaHTML();
                $smarty_obj->assign("FOPTION", $FILTER_OPTION);
                $COLUMNS_BLOCK_JSON = $this->getAdvanceFilterOptionsJSON($primary_module);
                $smarty_obj->assign("COLUMNS_BLOCK", $COLUMNS_BLOCK);
                if ($mode != "ajax") {
                    echo "<textarea style='display:none;' id='filter_columns'>" . $COLUMNS_BLOCK_JSON . "</textarea>";
                    $smarty_obj->assign("filter_columns", $COLUMNS_BLOCK_JSON);
                    $sel_fields = Zend_Json::encode($this->adv_sel_fields);
                    $smarty_obj->assign("SEL_FIELDS", $sel_fields);
                    global $default_charset;
                    $std_filter_columns = $this->getStdFilterColumns();
                    $std_filter_columns_js = implode("<%jsstdjs%>", $std_filter_columns);
                    $std_filter_columns_js = html_entity_decode($std_filter_columns_js, ENT_QUOTES, $default_charset);
                    $smarty_obj->assign("std_filter_columns", $std_filter_columns_js);
                    $std_filter_criteria = Zend_Json::encode($this->Date_Filter_Values);
                    $smarty_obj->assign("std_filter_criteria", $std_filter_criteria);
                }
                $rel_fields = $this->adv_rel_fields;
                $smarty_obj->assign("REL_FIELDS", Zend_Json::encode($rel_fields));
                // NEW ADVANCE FILTERS END
                $BLOCKJS = $this->getCriteriaJS();
                $smarty_obj->assign("BLOCKJS_STD", $BLOCKJS);
            }
            if (in_array($step_name, array("ReportSharing", $get_all_steps))) {
                $roleid = $this->current_user->column_fields['roleid'];
                $user_array = getRoleAndSubordinateUsers($roleid);
                $userIdStr = "";
                $userNameStr = "";
                $m = 0;
                foreach ($user_array as $userid => $username) {
                    if ($userid != $this->current_user->id) {
                        if ($m != 0) {
                            $userIdStr .= ",";
                            $userNameStr .= ",";
                        }
                        $userIdStr .= "'" . $userid . "'";
                        $userNameStr .= "'" . escape_single_quotes(decode_html($username)) . "'";
                        $m++;
                    }
                }
                require_once 'include/utils/GetUserGroups.php';
                // ITS4YOU-UP SlOl 26. 4. 2013 9:47:59
                $template_owners = get_user_array(false);
                if (isset($this->reportinformations["owner"]) && $this->reportinformations["owner"] != "") {
                    $selected_owner = $this->reportinformations["owner"];
                } else {
                    $selected_owner = $this->current_user->id;
                }
                $smarty_obj->assign("TEMPLATE_OWNERS", $template_owners);
                $owner = isset($_REQUEST['template_owner']) && $_REQUEST['template_owner'] != '' ? $_REQUEST['template_owner'] : $selected_owner;
                $smarty_obj->assign("TEMPLATE_OWNER", $owner);
                $sharing_types = array("public" => vtranslate("PUBLIC_FILTER"), "private" => vtranslate("PRIVATE_FILTER"), "share" => vtranslate("SHARE_FILTER"));
                $smarty_obj->assign("SHARINGTYPES", $sharing_types);
                $sharingtype = "public";
                if (isset($_REQUEST['sharing']) && $_REQUEST['sharing'] != '') {
                    $sharingtype = $_REQUEST['sharing'];
                } elseif (isset($this->reportinformations["sharingtype"]) && $this->reportinformations["sharingtype"] != "") {
                    $sharingtype = $this->reportinformations["sharingtype"];
                }
                $smarty_obj->assign("SHARINGTYPE", $sharingtype);
                $cmod = return_specified_module_language($current_language, "Settings");
                $smarty_obj->assign("CMOD", $cmod);
                $sharingMemberArray = array();
                if (isset($_REQUEST['sharingSelectedColumns']) && $_REQUEST['sharingSelectedColumns'] != '') {
                    $sharingMemberArray = explode("|", trim($_REQUEST['sharingSelectedColumns'], "|"));
                } elseif (isset($this->reportinformations["members_array"]) && !empty($this->reportinformations["members_array"])) {
                    $sharingMemberArray = $this->reportinformations["members_array"];
                }
                $sharingMemberArray = array_unique($sharingMemberArray);
                if (count($sharingMemberArray) > 0) {
                    $outputMemberArr = array();
                    foreach ($sharingMemberArray as $setype => $shareIdArr) {
                        $shareIdArr = explode("::", $shareIdArr);
                        $shareIdArray = array();
                        $shareIdArray[$shareIdArr[0]] = $shareIdArr[1];
                        foreach ($shareIdArray as $shareType => $shareId) {
                            switch ($shareType) {
                                case "groups":
                                    $memberName = fetchGroupName($shareId);
                                    $memberDisplay = "Group::";
                                    break;
                                case "roles":
                                    $memberName = getRoleName($shareId);
                                    $memberDisplay = "Roles::";
                                    break;
                                case "rs":
                                    $memberName = getRoleName($shareId);
                                    $memberDisplay = "RoleAndSubordinates::";
                                    break;
                                case "users":
                                    $memberName = getUserFullName($shareId);
                                    $memberDisplay = "User::";
                                    break;
                            }
                            $outputMemberArr[] = $shareType . "::" . $shareId;
                            $outputMemberArr[] = $memberDisplay . $memberName;
                        }
                    }
                    $smarty_obj->assign("MEMBER", array_chunk($outputMemberArr, 2));
                }
                // ITS4YOU-END
                $userGroups = new GetUserGroups();
                $userGroups->getAllUserGroups($this->current_user->id);
                $user_groups = $userGroups->user_groups;
                $groupIdStr = "";
                $groupNameStr = "";
                $l = 0;
                foreach ($user_groups as $i => $grpid) {
                    $grp_details = getGroupDetails($grpid);
                    if ($l != 0) {
                        $groupIdStr .= ",";
                        $groupNameStr .= ",";
                    }
                    $groupIdStr .= "'" . $grp_details[0] . "'";
                    $groupNameStr .= "'" . escape_single_quotes(decode_html($grp_details[1])) . "'";
                    $l++;
                }
                $visiblecriteria = getVisibleCriteria();
                $smarty_obj->assign("VISIBLECRITERIA", $visiblecriteria);
                $smarty_obj->assign("GROUPNAMESTR", $groupNameStr);
                $smarty_obj->assign("USERNAMESTR", $userNameStr);
                $smarty_obj->assign("GROUPIDSTR", $groupIdStr);
                $smarty_obj->assign("USERIDSTR", $userIdStr);
            }
            if (in_array($step_name, array("ReportScheduler", $get_all_steps))) {
                // SEE ReportScheduler.php for this step for a reason of problem with incomplemete ReportScheduler object
            }
            if (in_array($step_name, array("ReportGraphs", $get_all_steps))) {
                if (isset($_REQUEST["chart_type"]) && $_REQUEST["chart_type"] != "" && $_REQUEST["chart_type"] != "none") {
                    $selected_chart_type = vtlib_purify($_REQUEST["chart_type"]);
                } else {
                    $selected_chart_type = $this->reportinformations["charts"]["charttype"];
                }
                $smarty_obj->assign("IMAGE_PATH", $chart_type);
                if (isset($_REQUEST["data_series"]) && $_REQUEST["data_series"] != "" && $_REQUEST["data_series"] != "none") {
                    $selected_data_series = vtlib_purify($_REQUEST["data_series"]);
                } else {
                    $selected_data_series = $this->reportinformations["charts"]["dataseries"];
                }
                if (isset($_REQUEST["charttitle"]) && $_REQUEST["charttitle"] != "") {
                    $selected_charttitle = htmlspecialchars(vtlib_purify($_REQUEST["charttitle"]));
                } else {
                    $selected_charttitle = $this->reportinformations["charts"]["charttitle"];
                }
                $chart_type["horizontal"] = array("value" => vtranslate("LBL_CHART_horizontal", $this->currentModule), "selected" => $selected_chart_type == "horizontal" ? "selected" : "");
                $chart_type["vertical"] = array("value" => vtranslate("LBL_CHART_vertical", $this->currentModule), "selected" => $selected_chart_type == "vertical" ? "selected" : "");
                $chart_type["linechart"] = array("value" => vtranslate("LBL_CHART_linechart", $this->currentModule), "selected" => $selected_chart_type == "linechart" ? "selected" : "");
                $chart_type["pie"] = array("value" => vtranslate("LBL_CHART_pie", $this->currentModule), "selected" => $selected_chart_type == "pie" ? "selected" : "");
                $chart_type["pie3d"] = array("value" => vtranslate("LBL_CHART_pie3D", $this->currentModule), "selected" => $selected_chart_type == "pie3d" ? "selected" : "");
                $chart_type["funnel"] = array("value" => vtranslate("LBL_CHART_funnel", $this->currentModule), "selected" => $selected_chart_type == "funnel" ? "selected" : "");
                $smarty_obj->assign("CHART_TYPE", $chart_type);
                // selected labels from url
                if (isset($_REQUEST["lblurl"])) {
                    global $default_charset;
                    $lbl_url_string = html_entity_decode(vtlib_purify($_REQUEST["lblurl"]), ENT_QUOTES, $default_charset);
                }
                $lbl_url_string = str_replace("@AMPKO@", "&", $lbl_url_string);
                if ($lbl_url_string != "") {
                    $lbl_url_arr = explode('$_@_$', $lbl_url_string);
                    foreach ($lbl_url_arr as $key => $lbl_value) {
                        if (strpos($lbl_value, 'hidden_') === false) {
                            if (strpos($lbl_value, '_SC_lLbLl_') !== false) {
                                $temp = explode('_SC_lLbLl_', $lbl_value);
                                $temp_lbls = explode('_lLGbGLl_', $temp[1]);
                                $lbl_key = $temp_lbls[0];
                                $lbl_value = $temp_lbls[1];
                                $lbl_url_selected["SC"][$lbl_key] = $lbl_value;
                            }
                            if (strpos($lbl_value, '_SM_lLbLl_') !== false) {
                                $temp = explode('_SM_lLbLl_', $lbl_value);
                                $temp_lbls = explode('_lLGbGLl_', $temp[1]);
                                $lbl_key = $temp_lbls[0];
                                $lbl_value = $temp_lbls[1];
                                $lbl_url_selected["SM"][$lbl_key] = $lbl_value;
                            }
                            if (strpos($lbl_value, '_CT_lLbLl_') !== false) {
                                $temp = explode('_CT_lLbLl_', $lbl_value);
                                $temp_lbls = explode('_lLGbGLl_', $temp[1]);
                                $lbl_key = $temp_lbls[0];
                                $lbl_value = $temp_lbls[1];
                                $lbl_url_selected["CT"][$lbl_key] = $lbl_value;
                            }
                        }
                    }
                }
                $selectedSummariesString = vtlib_purify($_REQUEST["selectedSummariesString"]);
                if ($selectedSummariesString != "") {
                    $selectedSummariesArray = explode(";", $selectedSummariesString);
                    if (!empty($selectedSummariesArray)) {
                        foreach ($selectedSummariesArray as $column_str) {
                            if ($column_str != "") {
                                if (isset($lbl_url_selected["SM"][$column_str]) && $lbl_url_selected["SM"][$column_str] != "") {
                                    $column_lbl = $lbl_url_selected["SM"][$column_str];
                                } else {
                                    $column_str_arr = explode(":", $column_str);
                                    $translate_arr = explode("_", $column_str_arr[2]);
                                    $translate_module = $translate_arr[0];
                                    unset($translate_arr[0]);
                                    $translate_str = implode("_", $translate_arr);
                                    $translate_mod_str = return_module_language($current_language, $translate_module);
                                    if (isset($translate_mod_str[$translate_str])) {
                                        $column_lbl = $translate_mod_str[$translate_str];
                                    } else {
                                        $column_lbl = $translate_str;
                                    }
                                }
                                $data_series[$column_str] = array("value" => $column_lbl, "selected" => $column_str == $selected_data_series ? "selected" : "");
                            }
                        }
                    }
                }
                if (empty($data_series) && $selected_data_series != "") {
                    $column_lbl = $this->getColumnStr_Label($selected_data_series, "SM");
                    $data_series[$selected_data_series] = array("value" => $column_lbl, "selected" => "selected");
                }
                $smarty_obj->assign("DATA_SERIES", $data_series);
                $smarty_obj->assign("CHART_TITLE", $selected_charttitle);
            }
            return $smarty_obj;
        }
    }
Esempio n. 14
0
        $primarymodulename = $ITS4YouReports->primarymodule;
        $ITS4YouReports->getPriModuleColumnsList($primarymodule);
    } else {
        $primarymodule = $ITS4YouReports->primarymoduleid;
        $primarymodulename = $ITS4YouReports->primarymodule;
        $ITS4YouReports->getPriModuleColumnsList($ITS4YouReports->primarymodule);
        $Options = getPrimaryColumns($Options, $ITS4YouReports->primarymodule);
    }
    if (!empty($ITS4YouReports->related_modules[$primarymodulename])) {
        foreach ($ITS4YouReports->related_modules[$primarymodulename] as $key => $value) {
            if (in_array(getTabid($value), $ITS4YouReports->secondarymodules)) {
                $secondarymodules[] = $value;
                $secondarymoduleids[] = getTabid($value);
            }
        }
    }
    $ITS4YouReports->getSecModuleColumnsList($ITS4YouReports->relatedmodulesstring);
    $Options = getPrimaryStdFilter($ITS4YouReports->primarymodule, $ITS4YouReports);
    if (!empty($ITS4YouReports->related_modules[$ITS4YouReports->primarymodule])) {
        foreach ($ITS4YouReports->related_modules[$ITS4YouReports->primarymodule] as $key => $value) {
            // $Options = getSecondaryStdFilter($value["id"],$Options);
            $Options = getSecondaryStdFilter($value, $Options);
        }
    }
    if (isset($_REQUEST["selectedStdFilter"]) && $_REQUEST["selectedStdFilter"] != "") {
        $selected_option = vtlib_purify($_REQUEST["selectedStdFilter"]);
    } else {
        $selected_option = $ITS4YouReports->reportinformations["stdDateFilterField"];
    }
    echo Zend_JSON::encode($Options) . "#@!@#" . $selected_option;
}
Esempio n. 15
0
    protected function _toHtml()
    {
        $this->zmodel = Mage::getModel('livechat/livechat')->load(1);
        $zoptions = $this->zmodel->_data;
        $greetings = Zend_JSON::Decode($zoptions['greetings']);
        if ($zoptions["code"] == "") {
            $zoptions["code"] = "zopim";
        }
        $html = "";
        if ($this->getRequest()->getParam('zopimColor') != "" || $this->getRequest()->getParam('zopimTheme') != "") {
            $this->zmodel->setGetvisitorinfo($this->checkbox_helper("zopimGetVisitorInfo"));
            $this->zmodel->setHideonoffline($this->checkbox_helper("zopimHideOnOffline"));
            $this->zmodel->setBubbleenable($this->checkbox_helper("zopimBubbleEnable"));
            $this->zmodel->setLang($this->getRequest()->getParam('zopimLang'));
            $this->zmodel->setPosition($this->getRequest()->getParam('zopimPosition'));
            $this->zmodel->setTheme($this->getRequest()->getParam('zopimTheme'));
            $this->zmodel->setBubbletitle($this->getRequest()->getParam('zopimBubbleTitle'));
            $this->zmodel->setBubbletext($this->getRequest()->getParam('zopimBubbleText'));
            $this->zmodel->setColor($this->getRequest()->getParam('zopimColor'));
            $greetings["online"]["window"] = stripslashes($this->getRequest()->getParam("zopimOnlineLong"));
            $greetings["away"]["window"] = stripslashes($this->getRequest()->getParam("zopimAwayLong"));
            $greetings["offline"]["window"] = stripslashes($this->getRequest()->getParam("zopimOfflineLong"));
            $greetings["online"]["bar"] = stripslashes($this->getRequest()->getParam("zopimOnlineShort"));
            $greetings["away"]["bar"] = stripslashes($this->getRequest()->getParam("zopimAwayShort"));
            $greetings["offline"]["bar"] = stripslashes($this->getRequest()->getParam("zopimOfflineShort"));
            $this->zmodel->setGreetings(Zend_JSON::Encode($greetings));
            $this->zmodel->save();
            $zoptions = $this->zmodel->_data;
            $html = '
         <div id="messagesbox"><ul class="messages"><li class="success-msg"><ul><li><div id="themessage">Settings saved. Thank you for customizing Zopim Live Chat!</div></li></ul></li></ul><br></div>
         ';
        }
        //      print_r(Mage::app()->getLocale());
        $html .= "\n      <!-- start of zopim live chat script -->\n      <script type=\"text/javascript\">\ndocument.write(unescape(\"%3cscript src='\" + document.location.protocol + \"//zopim.com/?" . $zoptions["code"] . "' charset='utf-8' type='text/javascript'%3e%3c/script%3e\"));\n         var thisLocale = '" . substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2) . "';\n      </script>\n         <!-- end of zopim live chat script -->";
        $html .= <<<EOT
   <script type="text/javascript">

   function updateWidget() {

      var lang = document.getElementById('zopimLang').options[ document.getElementById('zopimLang').options.selectedIndex ].value;
      if (lang == 'md') { lang = thisLocale; }
      \$zopim.livechat.setLanguage(lang);

      if (document.getElementById("zopimHideOnOffline").checked) {
         \$zopim.livechat.button.setHideWhenOffline(true);
      } else {
         \$zopim.livechat.button.setHideWhenOffline(false);
      }

      \$zopim.livechat.window.setColor(document.getElementById("zopimColor").value);
      \$zopim.livechat.window.setTheme(document.getElementById("zopimTheme").value);

      \$zopim.livechat.bubble.setTitle(document.getElementById("zopimBubbleTitle").value);
      \$zopim.livechat.bubble.setText(document.getElementById("zopimBubbleText").value);

      \$zopim.livechat.setGreetings({
         'online': [document.getElementById("zopimOnlineShort").value, document.getElementById("zopimOnlineLong").value],
            'offline': [document.getElementById("zopimOfflineShort").value, document.getElementById("zopimOfflineLong").value],
            'away': [document.getElementById("zopimAwayShort").value, document.getElementById("zopimAwayLong").value]
      });
   }

   function updatePosition() {

      var position = document.getElementById('zopimPosition').options[ document.getElementById('zopimPosition').options.selectedIndex ].value;
      \$zopim.livechat.button.setPosition(position);
   }

   function updateBubbleStatus() {
      if (document.getElementById("zopimBubbleEnable").checked) {
         \$zopim.livechat.bubble.show();
         \$zopim.livechat.bubble.reset();
      } else {
         \$zopim.livechat.bubble.hide();
      }
   }

   var timer;
   function updateSoon() {

      clearTimeout(timer);
      timer = setTimeout("updateWidget()", 300);
   }
   </script>
<style type="text/css">
td{
vertical-align:middle;}
}
.smallExplanation {
background:#FAFAFA;
color:#667788;
font-size:8pt;
line-height:13px;
margin:4px 0 0 0;
padding:8px;
display: inline-block;
}
.inputtextshort {
width:200px;
padding:2px;
}
.inputtext {
width:450px;
padding:2px;
}
.secthead {
border-bottom:1px solid #EEEEEE;
color:#8899AA;
font-size:13px;
line-height:21px;
}
.sethead {
\twidth:200px;
}
.swatch {
\tfloat: left;
\twidth: 15px;
\theight:20px;
}
.swatch:hover {
\tbackground-image:url(http://www.zopim.com/static/images/colorselectbg.gif);
\tcursor:pointer;
}
.sorry {
  color:#c33;
}
</style>
EOT;
        if ($zoptions['hideonoffline'] && $zoptions['hideonoffline'] != "disabled") {
            $hideonoffline = "checked='checked'";
        } else {
            $hideonoffline = '';
        }
        $html .= '
         <form method="get" action="' . $this->curpageurl() . '" id="customize_form">
         <div class="content-header" style="visibility: visible;">
					<h3 class="icon-head head-categories" style="background-image: url(https://zopim.com/assets/branding/zopim.com/chatman/online.png")>Customize your widget</h3><p class="content-buttons form-buttons" style=""><button style="" onclick="document.getElementById(\'customize_form\').submit()" class="scalable save" type="button" id="id_0b860228d9b3c83ba14a7ae8fed1a587"><span>Save Changes</span></button></p>
         </div><p>
         <div class="entry-edit">
         <div class="entry-edit-head">
         <h4 class="icon-head head-edit-form fieldset-legend">General Settings</h4>
         </div>
         <div id="sales_report_base_fieldset" class="fieldset ">
         <div class="hor-scroll">
         <table cellspacing="0" class="form-list">
         <tbody>
         <tr>
         <td class="label" style="width:180px;">Language</td>
         <td class="value">
         <select name="zopimLang" id="zopimLang" onchange="updateWidget()">
         ' . $this->generate_options($this->get_languages(), $zoptions["lang"]) . '
         </selct>
         </td>
         </tr>
         <tr>
         <td class="label" style="width:180px;">Position</td>
         <td class="value">
         <select name="zopimPosition" id="zopimPosition" onchange="updatePosition()">
         ' . $this->generate_options(array("br" => "Bottom Right", "bl" => "Bottom Left", "mr" => "Right", "ml" => "Left"), $zoptions["position"]) . '
         </select>
         </td>
         </tr>
         <tr>
         <td class="label" style="width:180px;">Hide chat bar when offline</td>
         <td><input onchange="updateWidget()" type="checkbox" id="zopimHideOnOffline" name="zopimHideOnOffline" value="checked" ' . $hideonoffline . ' /> This prevents visitors from sending you offline messages</td>
         </tr>
         </tbody>
         </table>
         </div>
         </div>
         </div>
         ';
        $colorpick = "<div style='display:inline-block;border:11px solid #888;background:#888;color:#fee;'>";
        $colors = $this->curl_get_url(ZOPIM_COLORS_LIST);
        $colors = explode("\n", $colors);
        $i = 0;
        foreach ($colors as $color) {
            $colorpick .= "<div class='swatch' style='background-color: {$color};' onclick=\"document.getElementById('zopimColor').value='{$color}'; updateWidget();\">&nbsp</div>";
            if (++$i % 40 == 0) {
                $colorpick .= "<br>";
            }
        }
        $colorpick .= "<br><a href=# style='color:#ff8' onclick=\"document.getElementById('zopimColor').value=''; updateWidget();\">Restore default color</a></div>";
        $themeselect = '<select name="zopimTheme" id="zopimTheme" onchange="updateWidget()">';
        $themes = $this->curl_get_url(ZOPIM_THEMES_LIST);
        $themes = $this->valuekeys(explode("\n", $themes));
        ksort($themes);
        $themeselect .= $this->generate_options($themes, $zoptions['theme']);
        $themeselect .= "</select> <a href='#' onclick='\$zopim.livechat.window.toggle();return false;'>View the Chat Panel</a> for changes";
        $html .= '
         <div class="entry-edit">
         <div class="entry-edit-head">
         <h4 class="icon-head head-edit-form fieldset-legend">Color & Theme Settings</h4>
         </div>
         <div id="sales_report_base_fieldset" class="fieldset ">
         <div class="hor-scroll">
         <table cellspacing="0" class="form-list">
         <tbody>
         <tr>
         <td class="label" style="width:180px; vertical-align:top;">
         <input type="hidden" id="zopimColor" name="zopimColor" value="' . $zoptions["color"] . '">
         Color
         </td>
         <td class="value">
         ' . $colorpick . '
         </td>
         </tr>
         <tr>
         <td class="label" style="width:180px;">Theme</td>
         <td class="value">' . $themeselect . '</td>
         </tr>
         </tbody>
         </table>
         </div>
         </div>

         </div>
         ';
        $bubbleCheck = "";
        if ($zoptions["bubbleenable"] != "disabled") {
            $bubbleCheck = "checked='checked'";
        }
        $html .= '
         <div class="entry-edit">
         <div class="entry-edit-head">
         <h4 class="icon-head head-edit-form fieldset-legend">Help Bubble Settings</h4>
         </div>
         <div id="sales_report_base_fieldset" class="fieldset ">
         <div class="hor-scroll">
         <table cellspacing="0" class="form-list">
         <tbody>
         <tr>
         <td class="label" style="width:180px;">Display Help Bubble</td>
         <td><input onchange="updateBubbleStatus()" type="checkbox" id="zopimBubbleEnable" name="zopimBubbleEnable" value="zopimBubbleEnable" ' . $bubbleCheck . ' /> Use this pretty chat bubble to grab attention!</td>
         </tr>
         <tr>
         <td class="label" style="width:180px;">Help Bubble Title</td>
         <td class="value">
         <input class="inputtextshort" name="zopimBubbleTitle" id="zopimBubbleTitle" onKeyup="updateSoon()" value="' . $zoptions["bubbletitle"] . '"> <a href="#" onclick="updateBubbleStatus();">Refresh</a>
         </td>
         </tr>
         <tr>
         <td class="label" style="width:180px;">Help Bubble Message</td>
         <td class="value">
         <input class="inputtext" name="zopimBubbleText" id="zopimBubbleText" onKeyup="updateSoon()" value="' . $zoptions["bubbletext"] . '">
         </td>
         </tr>
         </tbody>
         </table>
         </div>
         </div>
         </div>
         </div>
         ';
        $html .= '
         <div class="entry-edit">
         <div class="entry-edit-head">
         <h4 class="icon-head head-edit-form fieldset-legend">Greeting Message Settings</h4>
         </div>
         <div id="sales_report_base_fieldset" class="fieldset ">
         <div class="hor-scroll">
         <table cellspacing="0" class="form-list">
         <tbody>
    	 <tr><td colspan="2"><div class="secthead">Message Shown on Chat Bar</div></td></tr>
         <tr>
         <td class="label" style="width:180px;">Online</td>
         <td class="value">
         <input class="inputtextshort" name="zopimOnlineShort" id="zopimOnlineShort" onKeyup="updateSoon()" value="' . $greetings["online"]["bar"] . '">
         </td>
         </tr>
         <tr>
         <td class="label" style="width:180px;">Away</td>
         <td class="value">
        <input class="inputtextshort" name="zopimAwayShort" id="zopimAwayShort" onKeyup="updateSoon()"  value="' . $greetings["away"]["bar"] . '">
         </td>
         </tr>
         <tr>
         <td class="label" style="width:180px;">Offline</td>
         <td class="value">
        <input class="inputtextshort" name="zopimOfflineShort" id="zopimOfflineShort" onKeyup="updateSoon()" value="' . $greetings["offline"]["bar"] . '">
         </td>
         </tr>
    	 <tr><td colspan="2"><div class="secthead">Message Shown on Chat Panel</div></td></tr>
         <tr>
         <td class="label" style="width:180px;vertical-align:top;">Online</td>
         <td style="padding:5px">
         <textarea class="inputtext" name="zopimOnlineLong" id="zopimOnlineLong" onKeyup="updateSoon()">' . $greetings["online"]["window"] . '</textarea>
         </td>
         </tr>
         <tr>
         <td class="label" style="width:180px;vertical-align:top;">Away</td>
         <td style="padding:5px">
         <textarea class="inputtext" name="zopimAwayLong" id="zopimAwayLong" onKeyup="updateSoon()">' . $greetings["away"]["window"] . '</textarea>
         </td>
         </tr>
         <tr>
         <td class="label" style="width:180px;vertical-align:top;">Offline</td>
         <td style="padding:5px">
         <textarea class="inputtext" name="zopimOfflineLong" id="zopimOfflineLong" onKeyup="updateSoon()">' . $greetings["offline"]["window"] . '</textarea>
         </td>
         </tr>
         </tbody>
         </table>
         </div>
         </div>

         ';
        $html .= '
         <div align="right">
         <button style="" onclick="document.getElementById(\'customize_form\').submit()" class="scalable save" type="button" id="id_0b860228d9b3c83ba14a7ae8fed1a587"><span>Save Changes</span></button></div><br>
         <script language="javascript">
            updateWidget();
            updatePosition();
         </script>
         ';
        return $html;
    }