コード例 #1
0
ファイル: EditView.php プロジェクト: cin-system/cinrepo
 public static function ReportGrouping(Vtiger_Request $request, $viewer)
 {
     //error_reporting(63);ini_set("display_errors",1);
     //global $adb;$adb->setDebug(true);
     $moduleName = $request->getModule();
     $record = $request->get('record');
     $R_Data = $request->getAll();
     $viewer->assign("MODULE", $moduleName);
     $reportModel = ITS4YouReports_Record_Model::getCleanInstance($record);
     if ($request->has("primarymodule") && !$request->isEmpty("primarymodule")) {
         $primary_moduleid = $request->get("primarymodule");
         $primary_module = vtlib_getModuleNameById($primary_moduleid);
     } else {
         $primary_module = $reportModel->getPrimaryModule();
         $primary_moduleid = $reportModel->getPrimaryModuleId();
     }
     // $primarymodule = $reportModel->getPrimaryModule();
     // $primarymoduleid = $reportModel->getPrimaryModuleId();
     $reportModel->module_list = $reportModel->report->module_list;
     $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);
     $viewer->assign("date_options_json", $date_options_json);
     $timelinecolumn = $reportModel->getTimeLineColumnHTML();
     $viewer->assign("timelinecolumn", $timelinecolumn);
     $Report_Informations = array();
     $secondarymodule = '';
     $secondarymodules = array();
     if ($record != "") {
         $Report_Informations = $reportModel->getReportInformations();
         if ($request->has('summaries_limit') && !$request->isEmpty('summaries_limit')) {
             $summaries_limit = $request->get("summaries_limit");
         } else {
             $summaries_limit = $Report_Informations["summaries_limit"];
         }
     } else {
         $summaries_limit = "20";
     }
     $viewer->assign("SUMMARIES_LIMIT", $summaries_limit);
     if ($primary_module != "") {
         $reportModel->getPriModuleColumnsList($primary_module);
         foreach ($reportModel->report->related_modules[$primary_module] as $key => $secmodid) {
             $rp = $reportModel->report->getSecModuleColumnsList($secmodid["id"]);
             if (!in_array($secmodid["id"], $reportModel->report->relatedmodulesarray)) {
                 $reportModel->report->relatedmodulesarray[] = $secmodid["id"];
             }
         }
     }
     for ($tc_i = 1; $tc_i < 4; $tc_i++) {
         $timelinecol = $selected_timeline_column = "";
         if ($request->has("group{$tc_i}") && !$request->isEmpty("group{$tc_i}")) {
             $group = $request->get("group{$tc_i}");
             $selected_timeline_column = $request->get("timeline_column{$tc_i}");
         } else {
             $group = $Report_Informations["Group{$tc_i}"];
             $selected_timeline_column = $Report_Informations["timeline_columnstr{$tc_i}"];
         }
         if (isset($selected_timeline_column) && !in_array($selected_timeline_column, array("", "none", "@vlv@"))) {
             $timelinecol = $reportModel->getTimeLineColumnHTML($tc_i, $selected_timeline_column);
             $viewer->assign("timelinecolumn" . $tc_i . "_html", $timelinecol);
         }
         $RG_BLOCK = getPrimaryColumns_GroupingHTML($primary_module, $group, $reportModel->report);
         if (!empty($reportModel->report->relatedmodulesarray)) {
             foreach ($reportModel->report->relatedmodulesarray as $secmodid) {
                 $secmodule_arr = explode("x", $secmodid);
                 $module_id = $secmodule_arr[0];
                 $field_id = isset($secmodule_arr[1]) && $secmodule_arr[1] != "" ? $secmodule_arr[1] : "";
                 if ($field_id != "MIF") {
                     // getSecondaryColumns_GroupingHTML($moduleid, $selected = "", $ogReport = "") -> return $shtml;
                     $RG_BLOCK .= getSecondaryColumns_GroupingHTML($secmodid, $group, $reportModel->report);
                 }
             }
         }
         // ITS4YOU-UP SlOl |24.8.2015 11:09
         // ITS4YOU-END
         $viewer->assign("RG_BLOCK{$tc_i}", $RG_BLOCK);
         if ($tc_i > 1) {
             if ($request->has("timeline_type{$tc_i}") && !$request->isEmpty("timeline_type{$tc_i}")) {
                 $timeline_type = $request->get("timeline_type{$tc_i}");
             } else {
                 $timeline_type = $Report_Informations["timeline_type{$tc_i}"];
             }
             $viewer->assign("timeline_type{$tc_i}", $timeline_type);
         }
     }
     //ITS4YouReports::sshow($RG_BLOCK);
     for ($sci = 1; $sci < 4; $sci++) {
         if ($request->has("sort{$sci}") && !$request->isEmpty("sort{$sci}")) {
             $sortorder = $request->get("sort{$sci}");
         } else {
             $sortorder = $Report_Informations["Sort" . $sci];
         }
         $sa = $sd = "";
         if ($sortorder == "Descending") {
             $sd = " selected='selected' ";
         } elseif ($sortorder == "Ascending") {
             $ss = " selected='selected' ";
         }
         /*
         $shtml =  '<input type="radio" id="Sort'.$sci.'a" name="Sort'.$sci.'" value="Ascending" '.$sa.'>'.vtranslate('Ascending').' &nbsp; 
                   <input type="radio" id="Sort'.$sci.'d" name="Sort'.$sci.'" value="Descending" '.$sd.'>'.vtranslate('Descending');
         */
         $shtml = '<select id="Sort' . $sci . '" name="Sort' . $sci . '" class="txtBox" style="float:left;width:8em;margin:auto;" >
                 <option value="Ascending" ' . $sa . ' >' . vtranslate('Ascending', $moduleName) . '</option>
                 <option value="Descending" ' . $sd . ' >' . vtranslate('Descending', $moduleName) . '</option>
             </select>';
         $viewer->assign("ASCDESC" . $sci, $shtml);
     }
     $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 = getTranslatedString($modulename, $modulename);
     $availModules[$module_array["id"]] = $modulename_lbl;
     $modulename_id = $module_array["id"];
     if (isset($selectedmodule)) {
         $secondarymodule_arr = $reportModel->getReportRelatedModules($module_array["id"]);
         $reportModel->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" => "");
             }
         }
         $viewer->assign("RG_BLOCK4", $RG_BLOCK4);
     }
     $viewer->assign("SummariesModules", $available_modules);
     $SumOptions = sgetSummariesOptions($selectedmodule);
     if (empty($SumOptions)) {
         $SumOptions = getTranslatedString("NO_SUMMARIES_COLUMNS", $currentModule);
     }
     $SPSumOptions[$module_array["id"]][$module_array["id"]] = $SumOptions;
     $viewer->assign("SUMOPTIONS", $SPSumOptions);
     if ($request->has("selectedSummariesString")) {
         $selectedSummariesString = $request->get("selectedSummariesString");
         //$selectedSummariesString = str_replace("@AMPKO@", "&", $selectedSummariesString);
         $selectedSummariesString = str_replace("&", "@AMPKO@", $selectedSummariesString);
         $selectedSummariesArr = explode(";", $selectedSummariesString);
         $summaries_orderby = vtlib_purify($request->get("summaries_orderby"));
         $RG_BLOCK6 = sgetSelectedSummariesHTMLOptions($selectedSummariesArr, $summaries_orderby);
     } else {
         if (!empty($Report_Informations["summaries_columns"])) {
             foreach ($Report_Informations["summaries_columns"] as $key => $summaries_columns_arr) {
                 $selectedSummariesArr[] = $summaries_columns_arr["columnname"];
             }
             if ($selectedSummariesString != "") {
                 $selectedSummariesString = implode(";", $selectedSummariesString);
             }
         }
         $summaries_orderby = "";
         if (isset($Report_Informations["summaries_orderby_columns"][0]) && $Report_Informations["summaries_orderby_columns"][0] != "") {
             $summaries_orderby = $Report_Informations["summaries_orderby_columns"][0];
         }
         $RG_BLOCK6 = sgetSelectedSummariesHTMLOptions($selectedSummariesArr, $summaries_orderby);
     }
     // sum_group_columns for group filters start
     $sm_arr = sgetSelectedSummariesOptions($selectedSummariesArr);
     $sm_str = "";
     if (!empty($sm_arr)) {
         foreach ($sm_arr as $key => $opt_arr) {
             if ($sm_str != "") {
                 $sm_str .= "(|@!@|)";
             }
             $sm_str .= $opt_arr["value"] . "(|@|)" . $opt_arr["text"];
         }
     }
     $viewer->assign("sum_group_columns", $sm_str);
     // sum_group_columns for group filters end
     $viewer->assign("selectedSummariesString", $selectedSummariesString);
     $viewer->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 = getTranslatedString($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" => getTranslatedString("LBL_NONE", $currentModule));
                 $RG_BLOCKx2 .= Zend_JSON::encode($optionsdata);
             }
             $all_fields_str .= $module_key . "(!#_ID@ID_#!)" . $r_modulename_lbl . "(!#_ID@ID_#!)" . $RG_BLOCKx2;
         }
     }
     $viewer->assign("ALL_FIELDS_STRING", $all_fields_str);
     // ITS4YOU-END 5. 3. 2014 14:50:47  SUMMARIES END
     if ($request->has("summaries_orderby") && !$request->isEmpty("summaries_orderby")) {
         $summaries_orderby = $request->get("summaries_orderby");
         $summaries_orderby_type = $request->get("summaries_orderby_type");
     } elseif (isset($Report_Informations["summaries_orderby_columns"]) && !empty($Report_Informations["summaries_orderby_columns"])) {
         $summaries_orderby = $Report_Informations["summaries_orderby_columns"][0]["column"];
         $summaries_orderby_type = $Report_Informations["summaries_orderby_columns"][0]["type"];
     } else {
         $summaries_orderby = "none";
         $summaries_orderby_type = "ASC";
     }
     $viewer->assign("summaries_orderby", $summaries_orderby);
     $viewer->assign("summaries_orderby_type", $summaries_orderby_type);
     return $viewer->view('ReportGrouping.tpl', $moduleName, true);
 }
コード例 #2
0
ファイル: ReportGrouping.php プロジェクト: hardikk/HNH
    $BLOCK1 .= getSecondaryColumns_GroupingHTML($oReport->secmodule, $list_array[0]);
    $report_group->assign("BLOCK1", $BLOCK1);
    $BLOCK2 = getPrimaryColumns_GroupingHTML($oReport->primodule, $list_array[1]);
    $BLOCK2 .= getSecondaryColumns_GroupingHTML($oReport->secmodule, $list_array[1]);
    $report_group->assign("BLOCK2", $BLOCK2);
    $BLOCK3 = getPrimaryColumns_GroupingHTML($oReport->primodule, $list_array[2]);
    $BLOCK3 .= getSecondaryColumns_GroupingHTML($oReport->secmodule, $list_array[2]);
    $report_group->assign("BLOCK3", $BLOCK3);
    $sortorder = $oReport->ascdescorder;
} else {
    $primarymodule = vtlib_purify($_REQUEST["primarymodule"]);
    $BLOCK1 = getPrimaryColumns_GroupingHTML($primarymodule);
    $ogReport = new Reports();
    if (!empty($ogReport->related_modules[$primarymodule])) {
        foreach ($ogReport->related_modules[$primarymodule] as $key => $value) {
            $BLOCK1 .= getSecondaryColumns_GroupingHTML($_REQUEST["secondarymodule_" . $value]);
        }
    }
    $report_group->assign("BLOCK1", $BLOCK1);
    $report_group->assign("BLOCK2", $BLOCK1);
    $report_group->assign("BLOCK3", $BLOCK1);
}
/** Function to get the combo values for the Primary module Columns 
 *  @ param $module(module name) :: Type String
 *  @ param $selected (<selected or ''>) :: Type String
 *  This function generates the combo values for the columns  for the given module 
 *  and return a HTML string 
 */
function getPrimaryColumns_GroupingHTML($module, $selected = "")
{
    global $ogReport, $app_list_strings, $current_language;