%PDF- %PDF-
Direktori : /var/www/projetos/suporte.iigd.com.br/plugins/dashboard/front/inc/ |
Current File : /var/www/projetos/suporte.iigd.com.br/plugins/dashboard/front/inc/functions.php |
<?php function conv_data($data) { if($data != "") { $source = $data; $date = new DateTime($source); switch ($_SESSION['glpidate_format']) { case "0": $dataf = $date->format('Y-m-d'); break; case "1": $dataf = $date->format('d-m-Y'); break; case "2": $dataf = $date->format('m-d-Y'); break; } return $dataf;} else { return ""; } } function conv_data_hora($data) { if($data != "") { $source = $data; $date = new DateTime($source); switch ($_SESSION['glpidate_format']) { case "0": $dataf = $date->format('Y-m-d H:i'); break; case "1": $dataf = $date->format('d-m-Y H:i'); break; case "2": $dataf = $date->format('m-d-Y H:i'); break; } return $dataf; } else { return ""; } } function time_ext($solvedate) { $time = $solvedate; // time duration in seconds if ($time == 0){ return ''; } $days = floor($time / (60 * 60 * 24)); $time -= $days * (60 * 60 * 24); $hours = floor($time / (60 * 60)); $time -= $hours * (60 * 60); $minutes = floor($time / 60); $time -= $minutes * 60; $seconds = floor($time); $time -= $seconds; $return = "{$days}d {$hours}h {$minutes}m {$seconds}s"; // 1d 6h 50m 31s return $return; } function time_hrs($time) { if ($time == 0){ return ''; } // $days = floor($time / 86400); // 60*60*24 // $time -= $days * 86400; $hours = floor($time / (60 * 60)); $time -= $hours * (60 * 60); $minutes = floor($time / 60); $time -= $minutes * 60; $seconds = floor($time); $time -= $seconds; $return = "{$hours}h {$minutes}m {$seconds}s"; // 1d 6h 50m 31s return $return; } function time_hrs2($time) { if ($time == 0){ return ''; } $hours = floor($time / (60 * 60)); $time -= $hours * (60 * 60); $minutes = floor($time / 60); $time -= $minutes * 60; $seconds = floor($time); $time -= $seconds; $return = $hours; // 1d 6h 50m 31s return $return; } function dropdown($name, array $options, $selected=null) { /*** begin the select ***/ $dropdown = '<select id="sel1" style="width: 300px;" autofocus onChange="javascript: document.form1.submit.focus()" name="'.$name.'" id="'.$name.'">'."\n"; $selected = $selected; /*** loop over the options ***/ foreach( $options as $key=>$option ) { /*** assign a selected value ***/ $select = $selected==$key ? ' selected' : null; /*** add each option to the dropdown ***/ $dropdown .= '<option value="'.$key.'"'.$select.'>'.$option.'</option>'."\n"; } /*** close the select ***/ $dropdown .= '</select>'."\n"; /*** and return the completed dropdown ***/ return $dropdown; } function dropdown2( $name, array $options, $selected=null ) { /*** begin the select ***/ $dropdown = '<select style="width: 300px; height: 27px;" autofocus name="'.$name.'" id="'.$name.'">'."\n"; $selected = $selected; /*** loop over the options ***/ foreach( $options as $key=>$option ) { /*** assign a selected value ***/ $select = $selected==$key ? ' selected' : null; /*** add each option to the dropdown ***/ $dropdown .= '<option value="'.$key.'"'.$select.'>'.$option.'</option>'."\n"; } /*** close the select ***/ $dropdown .= '</select>'."\n"; /*** and return the completed dropdown ***/ return $dropdown; } function margins() { global $DB; $query_lay = "SELECT value FROM glpi_plugin_dashboard_config WHERE name = 'layout' AND users_id = ".$_SESSION['glpiID']." "; $result_lay = $DB->query($query_lay); $layout = $DB->result($result_lay,0,'value'); //redirect to index if($layout == '0') { // sidebar $margin = '0px 3% 0px 5%'; } if($layout == 1 || $layout == '' ) { //top menu $margin = '0px 2% 0px 2%'; } return $margin; } //segundos para h:m:s /* $segundos = 15058084; //$converter = date('H:i:s',mktime(0,0,$segundos,15,03,2013));//Converter os segundos em no formato mm:ss $converter = date('H:i:s',mktime(0,0,$segundos));//Converter os segundos em no formato mm:ss echo $converter;//no exemplo ira retornar 02:15 */ function getEntityName($id) { global $DB; if ($id == ''){ return ''; } else { $sql_ent = " SELECT name FROM `glpi_entities` WHERE id = ".$id." "; $result_ent = $DB->query($sql_ent); $name = $DB->result($result_ent,0,'name'); return $name; } } function getEntityLevel($id) { global $DB; if ($id == ''){ return ''; } else { $sql_ent = " SELECT level FROM `glpi_entities` WHERE id = ".$id." "; $result_ent = $DB->query($sql_ent); $level = $DB->result($result_ent,0,'level'); return $level; } } function getChildren($node) { global $DB; global $nodes; if ($node == -1) { $pos = 0; foreach ($_SESSION['glpiactiveprofile']['entities'] as $entity) { $ID = $entity['id']; $is_recursive = $entity['is_recursive']; $path = [ // append r for root nodes, id are uniques in jstree. // so, in case of presence of this id in subtree of other nodes, // it will be removed from root nodes 'id' => $ID.'r', 'text' => Dropdown::getDropdownName("glpi_entities", $ID) ]; if ($is_recursive) { $path['children'] = true; $query2 = "SELECT count(*) FROM `glpi_entities` WHERE `entities_id` = '$ID'"; $result2 = $DB->query($query2); if ($DB->result($result2, 0, 0) > 0) { //apend a i tag (one of shortest tags) to have the is_recursive link //$path['text'].= '<i/>'; if (isset($ancestors[$ID])) { $path['state']['opened'] = 'true'; } } } $nodes[] = $path; } } else { // standard node $node_id = $node; $query = "SELECT ent.`id`, ent.`name`, ent.`sons_cache`, count(sub_entities.id) as nb_subs, ent.`level` FROM `glpi_entities` as ent LEFT JOIN `glpi_entities` as sub_entities ON sub_entities.entities_id = ent.id WHERE ent.`entities_id` = '$node_id' GROUP BY ent.`id`, ent.`name`, ent.`sons_cache` ORDER BY `name`"; if ($result = $DB->query($query)) { while ($row = $DB->fetchAssoc($result)) { $path = [ 'id' => $row['id'], 'text' => $row['name'], 'level' => $row['level'], ]; if ($row['nb_subs'] > 0) { //apend a i tag (one of shortest tags) to have the is_recursive link //$path['text'].= '<i/>'; $path['children'] = true; if (isset($ancestors[$row['id']])) { $path['state']['opened'] = 'true'; } } $nodes[] = $path; } } } //return json_encode($nodes); return $nodes; } function unique_multidim_array($array, $key) { $temp_array = array(); $i = 0; $key_array = array(); foreach($array as $val) { if (!in_array($val[$key], $key_array)) { $key_array[$i] = $val[$key]; $temp_array[$i] = $val; } $i++; } return $temp_array; } function super_unique($array) { $result = array_map("unserialize", array_unique(array_map("serialize", $array))); foreach ($result as $key => $value) { if ( is_array($value) ) { $result[$key] = super_unique($value); } } return $result; } //calcular custos de chamado function computeCost($item) { global $DB; $totalcost = 0; $query = "SELECT `glpi_ticketcosts`.* FROM `glpi_tickets`, `glpi_ticketcosts` WHERE `glpi_ticketcosts`.`tickets_id` = `glpi_tickets`.`id` AND glpi_tickets.id = ".$item." AND (`glpi_ticketcosts`.`cost_time` > '0' OR `glpi_ticketcosts`.`cost_fixed` > '0' OR `glpi_ticketcosts`.`cost_material` > '0')"; $result = $DB->query($query); $i = 0; if ($DB->numrows($result)) { while ($data = $DB->fetchAssoc($result)) { $totalcost += TicketCost::computeTotalCost($data["actiontime"], $data["cost_time"], $data["cost_fixed"], $data["cost_material"]); } } return $totalcost; } ?>