2 $previousScript=
"showhavetrans";
3 require_once(
"adm_reports.prg");
4 require_once(
"cu_flagconst.i");
6 dms_import(array(
"report" =>
"string",
"operation" =>
"string",
"servers" =>
"string",
"showServer" =>
"string"));
9 $title=
"Allowed Transaction Settings";
10 $cookieName=
"showhavetrans";
11 $url= $_SERVER[
"PHP_SELF"];
12 $defaultDateFormat=
"MM/dd/yyyy";
14 $showhavetransSQLTemplate=
"select a.cu, a.orgname, # from (select cu, orgname from cuadmin where livebatch <> 'C') a";
15 $createReportList=
true;
21 if (isset($_COOKIE[$cookieName]))
23 parse_str($_COOKIE[$cookieName]);
25 if ($transListEncoded ==
"")
27 $transList= setTransList($link, $cookieName, $errors, $sqls, $usedTransEncoded);
32 $transList= json_decode($transListEncoded,
true);
35 $usedTrans= $usedTransEncoded ==
"" ? array() : json_decode($usedTransEncoded, true);
37 createReportListFromFlags($link, $showSQL, $reportList, $errors, $sqls, $transList, $usedTrans, $cookieName, $showhavetransSQLTemplate);
41 $transList= setTransList($link, $cookieName, $errors, $sqls, $cookieName);
44 function setTransList($link, $cookieName, &$errors, &$sqls, $usedTransEncoded=
"")
46 $sql=
"select trancode, trandesc from cutrans order by trancode";
48 $results= runSelectStatementMap($sql, $link);
49 $errors= array_merge($errors, $results[
"error"]);
51 $transList= $results[
"record"];
53 $expiresInDay= time()+86400;
54 $cookie=
"usedTransEncoded=$usedTransEncoded&transListEncoded=" . urlencode(json_encode($transList));
56 HCU_setcookie_env($SYSENV, $cookieName, $cookie, $expiresInDay);
60 function createReportListFromFlags($link, $showSQL, &$reportList, &$errors, &$sqls, $transList, $usedTrans, $cookieName, $showhavetransSQLTemplate)
66 $colList= array(
"CU" =>
"string",
"Org Name" =>
"string");
68 $colSelectList= array();
72 if (is_array($usedTrans)) {
73 foreach($usedTrans as $trans)
75 $text= isset($transList[$trans]) ? $transList[$trans] :
"t$index";
76 $colSelectList[]=
"t$index.trancode";
77 $joinList[]=
"left join (select * from cuhavetrans where trancode='$trans') as t$index on a.cu= t$index.cu";
78 $colList[$text]=
"string";
79 $values[$text]= array(array(
"text" =>
"+",
"value" => $trans), array(
"text" =>
" ",
"value" =>
""));
84 if (count($colSelectList) == 0)
87 foreach($transList as $value => $text)
89 $colSelectList[]=
"t$index.trancode";
90 $joinList[]=
"left join (select * from cuhavetrans where trancode='$value') as t$index on a.cu= t$index.cu";
91 $colList[$text]=
"string";
92 $values[$text]= array(array(
"text" =>
"+",
"value" => $value), array(
"text" =>
" ",
"value" =>
""));
97 $sql= str_replace(
"#", implode(
", ", $colSelectList), $showhavetransSQLTemplate) .
"\n" . implode(
"\n", $joinList);
99 $reportList= array(
"loanAddon" => array(
"title" =>
"",
"sql" => $sql,
"cols" => $colList,
"values" => $values));
102 function outputFlagRows($transList)
104 print
"<div class='grid_16 flagHeader'>Transcode</div>\n";
108 foreach($transList as $value => $text)
110 $modulus= $index % 4;
112 $row=
"<div class='grid_16'> 113 <div class='grid_4 alpha'>#0#</div> 114 <div class='grid_4'>#1#</div> 115 <div class='grid_4'>#2#</div> 116 <div class='grid_4 omega'>#3#</div> 118 $row= str_replace(
"#$modulus#",
"<input type='checkbox' class='transFlag' value=$value>$text</input>", $row);
129 $row= preg_replace(
"/#[0-3]#/",
" ", $row);
132 print
"<div class='grid_16'><hr></div><div class='grid_16'> </div>\n";
135 function outputLegend($transList, $usedTrans)
141 foreach($usedTrans as $index => $value)
143 $modulus= $index % $cols;
145 $row= array(
"rowIndex" => ++$rowIndex);
146 $row[
"property$modulus"]= $transList[$value];
147 $row[
"value$modulus"]= $value;
149 if ($modulus == $cols-1)
156 if ($row !=
"not started")
159 if (count($data) == 0)
165 foreach($transList as $value => $text)
167 $modulus= $index % $cols;
169 $row= array(
"rowIndex" => ++$rowIndex);
170 $row[
"property$modulus"]= $text;
171 $row[
"value$modulus"]= $value;
173 if ($modulus == $cols-1)
181 if ($row !=
"not started")
185 print
"gridDefinition.dataSource.data= " . json_encode($data) .
";\n";
188 if (!isset($operation)) {$operation =
"";}
189 if ($operation ==
"setReportCookie")
191 $parameters= array();
192 dms_import_v2($parameters,
"BOTTOM_LEVEL", array(
"usedTrans" =>
"string"));
194 $usedTrans= $parameters[
"BOTTOM_LEVEL"][
"usedTrans"];
196 $expiresInDay= time()+86400;
197 $cookie=
"usedTransEncoded=$usedTrans&transListEncoded=" . urlencode(json_encode($transList));
198 HCU_setcookie_env($SYSENV, $cookieName, $cookie, $expiresInDay);
200 header(
"Location: $url?report=loanAddon&servers=$servers&showServer=$showServer");
203 else if ($operation !=
"")
212 readReport($link, $showSQL, $errors, $sqls, $reportList, $defaultDateFormat, $cookieName);
214 case "readReportSQL":
215 readReport($link,
true, $errors, $sqls, $reportList, $defaultDateFormat, $cookieName);
218 generateCSV($link, $errors, $sqls, $reportList, $defaultDateFormat, $cookieName);
221 header(
'Content-type: application/json');
222 $errors[]=
"Operation not specified: '$operation'";
223 $returnArray= array(
"error" => $errors,
"record" =>
"",
"operation" =>
"");
224 print json_encode($returnArray);
234 if (!isset($report)) {$report =
"";}
235 $report= trim($report);
237 $reportMenuDDL= array(
"REDIRECT" => array(
"list" => array(
"Selection List" => array(
"url" => $presentationFile))),
238 "Download CSV" => array(
"id" =>
"downloadCSVBtn"),
"Help <img src=\"/monitor/images/q1.gif\" border=\"0\" alt=\"View Help\" align=\"top\">" => array(
"id" =>
"helpBtn"));
244 printMonitorPageTop($title, $homecuKendoVersion, $cloudfrontDomainName);
249 background-color: #B2B3C2 !important;
250 text-align: center !important;
255 <script type=
"text/javascript">
257 getErrorsAreShownFunction();
258 getEscapeHTMLFunction();
260 function initReportSelectPage()
262 var localServer =
"<?php echo $_SERVER['SERVER_NAME']; ?>";
263 var serverMultiselect= $(
"#serverMultiselect").kendoMultiSelect({
265 data: [
"www3",
"www5",
"www6", localServer]
267 value: [
"www3",
"www5",
"www6", localServer]
268 }).data(
"kendoMultiSelect");
270 $(
"#serverMultiselect").prev().css({height: 25});
272 $(
"#runReportBtn").click(
function() {
274 var data= {error: []};
275 if (!errorsAreShown(data,
"formValidateMainDiv"))
277 var url=
"<?php echo $url; ?>?operation=setReportCookie";
278 var showServer= $(
"#showServerCheckbox:checked").length > 0 ?
"Y" :
"N";
279 var servers= kendo.stringify(serverMultiselect.value());
281 url+=
"&showServer=" + showServer +
"&servers=" + servers;
284 $(
".transFlag").each(
function() {
285 if ($(
this).is(
":checked"))
286 flags.push($(
this).val());
288 url+=
"&usedTrans=" + kendo.stringify(flags);
290 window.location.href= url;
297 $(document).ready(
function () {
298 initReportSelectPage();
301 <?php printMonitorPageMiddle($title); ?>
303 <div
id=
'hideSubmitWait' style=
'position:relative; left:-2000px;top:-2000px;'>
304 <div
id=
'homecuSubmitWait' class=
'k-block' >
305 <div
class=
'k-loading-image'></div>
308 <div
class=
"container_16">
309 <?php outputFlagRows($transList, $usedTrans); ?>
310 <div
class=
"grid_16">
311 Include Data From: <div
id=
"serverMultiselect"></div>
313 <div
class=
"grid_16">
314 Show Server: <input type=
"checkbox" id=
"showServerCheckbox">
316 <div
class=
"grid_16">
317 <a href=
"#" class=
"k-button k-button-icontext" id=
"runReportBtn">Go</a>
325 printMonitorPageTop($title, $homecuKendoVersion, $cloudfrontDomainName);
329 #legendDiv .k-grid-toolbar { 330 background-color: #9BAFBE !important;
331 font-weight: bold !important;
332 text-align: center !important;
334 #legendDiv .firstGridToolbar { 335 background-color: #B2B3C2 !important;
339 border: 1px solid black;
349 <script type=
"text/javascript">
353 getErrorsAreShownFunction();
354 getEscapeHTMLFunction();
355 getShowSQLFunction($showSQL);
356 getShowWaitFunctions();
357 getIsFilterChanged();
358 initReportClientSide($presentationFile, $report, $title, array(
"servers" => $servers,
"showServer" => $showServer),
true,
"addWidthsPre",
"addWidthsPost");
361 function addWidthsPre(gridDefinition)
363 gridDefinition.columns[0].width=
"100px";
364 gridDefinition.columns[1].width=
"200px";
367 function addWidthsPost(grid)
369 for(var i=2, length=grid.columns.length; i!=length; i++)
371 grid.autoFitColumn(i);
374 $(
"#reportGrid").css({width: $(
"#reportGrid table").css(
"width")});
377 function initOptions()
379 var gridDefinition= {
385 rowIndex: {type:
"number"},
386 property0: {type:
"string"},
387 value0: {type:
"string"},
388 property1: {type:
"string"},
389 value1: {type:
"string"}
395 {field:
"property0", title:
"Flag"},
396 {field:
"value0", title:
"Value"},
397 {title:
" ",
template:
" ", width:
"3px"},
398 {field:
"property1", title:
"Flag"},
399 {field:
"value1", title:
"Value"}
402 <?php outputLegend($transList, $usedTrans); ?>
403 var legendGrid= $(
"#legendGrid").kendoGrid(gridDefinition).data(
"kendoGrid");
405 $(
"#includeLegend").click(
function () {
406 if ($(
this).is(
":checked"))
407 $(
"#legendDiv").show();
409 $(
"#legendDiv").hide();
412 $(
"#legendDiv .k-grid-toolbar:eq(0)").addClass(
"firstGridToolbar");
414 var cuOptionsDDL= $(
"#cuOptionsDDL").kendoDropDownList({
416 data: [{text:
"Show Selected Flags for All Credit Unions", value: 1}, {text:
"Show Credit Unions w/ All Selected Flags Set", value: 2},
417 {text:
"Show Credit Unions w/ Any Selected Flag Set", value: 3}]
419 dataTextField:
"text",
420 dataValueField:
"value",
423 var dataRows = $(
"#reportGrid").data(
"kendoGrid").dataSource.data();
424 var dataColumns = $(
"#reportGrid").data(
"kendoGrid").columns;
426 if (this.value() != 1) {
428 for (var i = 0; i < dataRows.length; i++) {
432 var row = dataRows[i];
436 for (var j = 0; j < dataColumns.length; j++) {
437 var column = dataColumns[j];
438 var columnName = column.field.trim();
441 if (columnName ==
"cu" || columnName ==
"orgName" || columnName ==
"server") {
446 if (row[columnName] ==
"") {
456 if (this.value() == 2 && hasAll) {
457 filter.push({field:
"cu",
operator:
"eq", value: rowCu});
458 }
else if (this.value() == 3 && (hasOne || hasAll)) {
459 filter.push({field:
"cu",
operator:
"eq", value: rowCu});
468 if (filter.length == 0) {
469 filter.push({field:
"cu",
operator:
"eq", value:
""});
472 filter= {logic:
"or", filters: filter};
474 $(
"#reportGrid").data(
"kendoGrid").dataSource.filter(filter);
476 }).data(
"kendoDropDownList");
478 cuOptionsDDL.value(1);
481 $(document).ready(
function () {
487 printMonitorPageMiddle($title, $reportMenuDDL); ?>
488 <div
id=
'hideSubmitWait' style=
'position:relative; left:-2000px;top:-2000px;'>
489 <div
id=
'homecuSubmitWait' class=
'k-block' >
490 <div
class=
'k-loading-image'></div>
494 <div
id=
"notification"></div>
495 <div
class=
"container_12">
496 <div
class=
"grid_12">
497 <div
id=
"sqlOutput"></div>
499 <fieldset
id=
"optionsDiv">
500 <div
class=
"grid_12">
501 <div
class=
"grid_3">Include Legend:</div>
502 <div
class=
"grid_9"><input
id=
"includeLegend" type=
"checkbox"></div>
504 <div
class=
"grid_12">
505 <div
class=
"grid_3">Filter: </div>
506 <div
class=
"grid_9"><div
id=
"cuOptionsDDL" style=
"width:100%"></div></div>
509 <div
class=
"grid_12" id=
"legendDiv" style=
"display:none;">
510 <div
id=
"legendGrid" ></div>
512 <div
class=
"grid_12" style=
"margin-bottom:5px;">
513 <div
id=
"formValidateMainDiv" class=
"k-block k-error-colored" style=
"display:none;"></div>
515 <div
class=
"grid_12">
516 <div
id=
"reportGrid"></div>
519 <?php printMonitorPageBottom();