/** * Renders Google line chart * * @param array $params data in format like * $params=array( * 0=>array('month','total','active','inactive'), * 1=>array('Февраль',200,150,50), * 2=>array('Сентябрь',200,160,40) * ); * @param string $title chart title * @param string $width chart width in px or %, 500px default * @param string $height chart height in px or %, 500px default * @param string $options google charts options * * @return string */ function wf_gchartsLine($params, $title = '', $width = '', $height = '', $options = '') { global $ubillingConfig; $altCfg = $ubillingConfig->getAlter(); $containerId = wf_InputId(); $width = $width ? $width : '500px'; $height = $height ? $height : '500px'; $result = ''; $chartData = ''; $enableFlag = true; if (!isset($altCfg['GCHARTS_ENABLED'])) { $enableFlag = true; } else { if ($altCfg['GCHARTS_ENABLED']) { $enableFlag = true; } else { $enableFlag = false; } } if ($enableFlag) { if (!empty($params)) { $chartData = json_encode($params, JSON_NUMERIC_CHECK); } $result = wf_tag('script', false, '', 'type="text/javascript" src="https://www.gstatic.com/charts/loader.js"') . wf_tag('script', true); $result .= wf_tag('script', false, '', 'type="text/javascript"'); $result .= 'google.charts.load(\'current\', {\'packages\':[\'corechart\']}); google.charts.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable( ' . $chartData . ' ); var options = { title: \'' . $title . '\', curveType: \'function\', ' . $options . ' legend: { position: \'bottom\' } }; var chart = new google.visualization.LineChart(document.getElementById(\'' . $containerId . '\')); chart.draw(data, options); } '; $result .= wf_tag('script', true); $result .= wf_tag('div', false, '', 'id="' . $containerId . '" style="width: ' . $width . '; height: ' . $height . ';"') . wf_tag('div', true); } return $result; }
function wf_FullCalendar($data) { $elementid = wf_InputId(); $calendar = "<script type='text/javascript'>\n\n\t\$(document).ready(function() {\n\t\n\t\tvar date = new Date();\n\t\tvar d = date.getDate();\n\t\tvar m = date.getMonth();\n\t\tvar y = date.getFullYear();\n \n\t\t\$('#" . $elementid . "').fullCalendar({\n\t\t\teditable: false,\n theme: true,\n \n monthNamesShort: [\n '" . rcms_date_localise('Jan') . "',\n '" . rcms_date_localise('Feb') . "',\n '" . rcms_date_localise('Mar') . "',\n '" . rcms_date_localise('Apr') . "',\n '" . rcms_date_localise('May') . "',\n '" . rcms_date_localise('Jun') . "',\n '" . rcms_date_localise('Jul') . "',\n '" . rcms_date_localise('Aug') . "',\n '" . rcms_date_localise('Sep') . "',\n '" . rcms_date_localise('Oct') . "',\n '" . rcms_date_localise('Nov') . "',\n '" . rcms_date_localise('Dec') . "'\n ],\n\n monthNames: [\n '" . rcms_date_localise('January') . "',\n '" . rcms_date_localise('February') . "',\n '" . rcms_date_localise('March') . "',\n '" . rcms_date_localise('April') . "',\n '" . rcms_date_localise('May') . "',\n '" . rcms_date_localise('June') . "',\n '" . rcms_date_localise('July') . "',\n '" . rcms_date_localise('August') . "',\n '" . rcms_date_localise('September') . "',\n '" . rcms_date_localise('October') . "',\n '" . rcms_date_localise('November') . "',\n '" . rcms_date_localise('December') . "'\n ],\n \n dayNamesShort: [\n '" . rcms_date_localise('Sun') . "',\n '" . rcms_date_localise('Mon') . "',\n '" . rcms_date_localise('Tue') . "',\n '" . rcms_date_localise('Wed') . "',\n '" . rcms_date_localise('Thu') . "',\n '" . rcms_date_localise('Fri') . "',\n '" . rcms_date_localise('Sat') . "'\n ],\n \n dayNames: [\n '" . rcms_date_localise('Sunday') . "',\n '" . rcms_date_localise('Monday') . "',\n '" . rcms_date_localise('Tuesday') . "',\n '" . rcms_date_localise('Wednesday') . "',\n '" . rcms_date_localise('Thursday') . "',\n '" . rcms_date_localise('Friday') . "',\n '" . rcms_date_localise('Saturday') . "'\n ],\n \n buttonText: {\n today: '" . __('Today') . "',\n month: '" . __('Month') . "',\n week: '" . __('Week') . "',\n day: '" . __('Day') . "'\n },\n\n header: {\n\t\t\t\tleft: 'prev,next today',\n\t\t\t\tcenter: 'title',\n\t\t\t\tright: 'month,basicWeek,basicDay'\n\t\t\t},\n \n\t\t\tevents: [\n\t\t\t\t" . $data . "\n\t\t\t\n\t\t\t]\n \n\t\t});\n\t\t\n\t});\n\n</script>\n<div id='" . $elementid . "'></div>\n"; return $calendar; }
/** * Return check box Web From element * * @param string $name name of element * @param string $label text label for input * @param bool $br append new line * @param bool $checked is checked? * * @return string */ protected function CheckInput($name, $label = '', $value = '', $br = false, $checked = false) { $inputid = wf_InputId(); if ($br) { $newline = '<br>'; } else { $newline = ''; } if ($checked) { $check = 'checked=""'; } else { $check = ''; } if ($value != '') { $result = '<input type="checkbox" id="' . $inputid . '" name="' . $name . '" ' . $check . ' value=' . $value . ' />'; } else { $result = '<input type="checkbox" id="' . $inputid . '" name="' . $name . '" ' . $check . ' />'; } if ($label != '') { $result .= ' <label for="' . $inputid . '">' . __($label) . '</label>' . "\n"; } $result .= $newline . "\n"; return $result; }
/** * Returns typical answer preset insertion form * * @return string */ function web_TicketsTAPLister() { $result = ''; $maxLen = 50; $allReplies = zb_TicketsTAPgetAll(); if (!empty($allReplies)) { $result .= wf_delimiter() . wf_tag('h3') . __('Typical answers presets') . wf_tag('h3', true); $result .= wf_tag('ul', false); foreach ($allReplies as $io => $each) { $randId = wf_InputId(); $rawText = trim($each); $result .= wf_tag('script', false, '', 'language="javascript" type="text/javascript"'); $result .= ' function jsAddReplyText_' . $randId . '() { var replytext=\'' . json_encode($rawText) . '\'; $("#ticketreplyarea").val(replytext); } '; $result .= wf_tag('script', true); $linkText = htmlspecialchars($rawText); if (mb_strlen($linkText, 'UTF-8') > $maxLen) { $linkText = mb_substr($rawText, 0, $maxLen, 'UTF-8') . '..'; } else { $linkText = $rawText; } $result .= wf_tag('li') . wf_tag('a', false, '', 'href="#" onClick="jsAddReplyText_' . $randId . '();"') . $linkText . wf_tag('a', true) . wf_tag('li', true); } $result .= wf_tag('ul', true); } return $result; }
/** * Renders Google 3d pie chart * * @param array $params data in format like string=>count * @param string $title chart title * @param string $width chart width in px or %, 500px default * @param string $height chart height in px or %, 500px default * @param string $options google charts options, useful examples see below<br> * pieSliceText: percentage/value/label/none OR pieSliceText: 'value-and-percentage'<br> * is3D: true/false <br> * backgroundColor: '#666', <br> * legend : {position: 'bottom', textStyle: {color: 'red', fontSize: 12 }}, <br> * chartArea: { width: '90%', height: '90%' }, <br> * * @return string */ function wf_gcharts3DPie($params, $title = '', $width = '', $height = '', $options = '') { global $ubillingConfig; $altCfg = $ubillingConfig->getAlter(); $containerId = wf_InputId(); $width = $width ? $width : '500px'; $height = $height ? $height : '500px'; $result = ''; $chartData = ''; $enableFlag = true; if (!isset($altCfg['GCHARTS_ENABLED'])) { $enableFlag = true; } else { if ($altCfg['GCHARTS_ENABLED']) { $enableFlag = true; } else { $enableFlag = false; } } if ($enableFlag) { if (!empty($params)) { foreach ($params as $io => $each) { $chartData .= '[\'' . $io . '\',' . $each . '],'; } $chartData = substr($chartData, 0, -1); } //legend.scrollArrows.activeColor $result = wf_tag('script', false, '', 'type="text/javascript" src="https://www.google.com/jsapi"') . wf_tag('script', true); $result .= wf_tag('script', false, '', 'type="text/javascript"'); $result .= ' google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable([ [\'X\', \'Y\'], ' . $chartData . ' ]); var options = { title: \'' . $title . '\', is3D: true, ' . $options . ' \'tooltip\' : { trigger: \'none\' } }; var chart = new google.visualization.PieChart(document.getElementById(\'' . $containerId . '\')); chart.draw(data, options); } '; $result .= wf_tag('script', true); $result .= wf_tag('div', false, '', 'id="' . $containerId . '" style="width: ' . $width . '; height: ' . $height . ';"') . wf_tag('div', true); } return $result; }