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.'); } } } }
$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;
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; }
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> <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"> </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> <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 }
/** * 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 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); }
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"> </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> <?php echo vtranslate('LBL_PLEASE_SELECT_ATLEAST_ONE_GROUP_FIELD_AND_DATA_FIELD', $_smarty_tpl->tpl_vars['MODULE']->value); ?> </div><br><div> <?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> <button type="submit" class="btn btn-success" id="generateReport"><strong><?php echo vtranslate('LBL_GENERATE_CHART', $_smarty_tpl->tpl_vars['MODULE']->value); ?> </strong></button> <a class="cancelLink" onclick="window.history.back()"><?php echo vtranslate('LBL_CANCEL', $_smarty_tpl->tpl_vars['MODULE']->value); ?> </a> <br></div></form><?php }
public function __toString() { return Zend_JSON::encode($this->getData()); }
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);
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') . ' <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') . ' <input type="radio" name="SortOrderColumn" value="DESC">' . vtranslate('Descending'); } else { $shtml = '<input type="radio" name="SortOrderColumn" value="ASC">' . vtranslate('Ascending') . ' <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; } }
$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; }