Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
0.00% |
0 / 64 |
|
0.00% |
0 / 10 |
CRAP | n/a |
0 / 0 |
|
| tablaid | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| kvTablaID | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| kvAccionID | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| kvRenglon | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| kvTabla | |
0.00% |
0 / 7 |
|
0.00% |
0 / 1 |
20 | |||
| kvLogDefault | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
| kvLogInsert | |
0.00% |
0 / 2 |
|
0.00% |
0 / 1 |
2 | |||
| Logme | |
0.00% |
0 / 3 |
|
0.00% |
0 / 1 |
2 | |||
| generaKvLog | |
0.00% |
0 / 18 |
|
0.00% |
0 / 1 |
42 | |||
| haz_update_con_log | |
0.00% |
0 / 29 |
|
0.00% |
0 / 1 |
156 | |||
| 1 | <?php |
| 2 | function tablaid($tabla) |
| 3 | { |
| 4 | return ia_singleread("SELECT tabla_id FROM tablas WHERE tabla = ". strit($tabla)); |
| 5 | } |
| 6 | |
| 7 | function kvTablaID($tabla) |
| 8 | { |
| 9 | return tablaid($tabla); |
| 10 | } |
| 11 | |
| 12 | function kvAccionID($accion) |
| 13 | { |
| 14 | return ia_singleread("SELECT kv_accion_log_id FROM kv_accion_log WHERE accion = ". strit($accion)); |
| 15 | } |
| 16 | |
| 17 | function kvRenglon($campo='',$valor='',$anterior='') |
| 18 | { |
| 19 | return array('campo'=>$campo,'valor'=>$valor,'anterior'=>$anterior); |
| 20 | } |
| 21 | |
| 22 | function kvTabla($arrCampos=array()) |
| 23 | { |
| 24 | $html = ''; |
| 25 | if(!empty($arrCampos) && is_array($arrCampos)) |
| 26 | { |
| 27 | $html = "<table style=\"width:100%;\"><thead><tr><th style=\"width:25%;\" class=\"lbl\">Campo</th><th style=\"width:40%;\" class=\"lbl\">Valor Nuevo</th><th style=\"width:35%;\" class=\"lbl\">Valor Anterior</th></tr><tr><td colspan=\"3\"><hr/></td></tr></thead><tbody>"; |
| 28 | foreach($arrCampos as $campo) |
| 29 | { |
| 30 | $html.="<tr><td class=\"txt_bold_black\">$campo[campo]</td><td class=\"txt_bold_red\">$campo[valor]</td><td class=\"txt_bold_black\">$campo[anterior]</td></tr>"; |
| 31 | } |
| 32 | $html .= "</tbody><tfoot><tr><td colspan=\"3\"> </td></tr></tfoot></table>"; |
| 33 | } |
| 34 | |
| 35 | return $html; |
| 36 | } |
| 37 | |
| 38 | function kvLogDefault() |
| 39 | { |
| 40 | return array('kv_record_log' => null, 'collection_id' => '', 'record_id' => '', 'alta_db' => '', 'usuario' => '', 'kv_accion_log_id' => '', 'note' => ''); |
| 41 | } |
| 42 | |
| 43 | function kvLogInsert($arrCampos=array()) |
| 44 | { |
| 45 | $arrCampos['kv_record_log'] = null; |
| 46 | return ia_insert('kv_record_log', $arrCampos); |
| 47 | } |
| 48 | |
| 49 | function Logme($tabla = '', $record_id = '', $usuario = '', $accion_id = '', $note = '') |
| 50 | { |
| 51 | $collection = tablaid($tabla); |
| 52 | $logsql = "INSERT INTO kv_record_log (kv_record_log, collection_id, record_id, alta_db, usuario, kv_accion_log_id, note) VALUES (NULL, $collection, '$record_id', NULL, '$usuario', '$accion_id', '$note')"; |
| 53 | return !ia_query($logsql,true,false); |
| 54 | } |
| 55 | |
| 56 | function generaKvLog($arrPar = array('collection_id'=>'', 'record_id'=>'', 'accion'=>'alta', 'enDB'=>'', 'enND'=>'')) |
| 57 | { |
| 58 | $usuario = $_SESSION['usuario']; |
| 59 | $now = date('Y-m-d H:i:s'); |
| 60 | /** Ultimo movimiento en deposita_en **/ |
| 61 | $kv_log_arr = kvLogDefault(); |
| 62 | $kv_log_arr['collection_id'] = kvTablaID($arrPar['collection_id']); |
| 63 | $kv_log_arr['record_id'] = $arrPar['record_id']; |
| 64 | $kv_log_arr['alta_db'] = $now; |
| 65 | $kv_log_arr['usuario'] = $usuario; |
| 66 | $kv_log_arr['kv_accion_log_id'] = kvAccionID($arrPar['accion']); |
| 67 | |
| 68 | switch($arrPar['collection_id']) |
| 69 | { |
| 70 | case 'depositar_en': |
| 71 | $agrupa = $arrPar['enND']['dep_agrupa_por'] == 1 ? "EMPRESA" : ($arrPar['enND']['dep_agrupa_por'] == 2 ? "BANCO" : "CUENTA"); |
| 72 | $monto = $arrPar['enND']['dep_amount_ini'] == 0 ? "Sin límite" : "$ ".echonf($arrPar['enND']['dep_amount_ini'],true); |
| 73 | |
| 74 | if($arrPar['enDB']['dep_amount_ini'] != $arrPar['enND']['dep_amount_ini']) |
| 75 | $monto .= ", <span class=\"txt_bold_blue\">era $ ".echonf($arrPar['enDB']['dep_amount_ini'],true)."</span>"; |
| 76 | |
| 77 | $fecha = $now; |
| 78 | |
| 79 | $kv_log_arr['note'] = "<em>Último cambio por <span class=\"txt_bold_blue\">$usuario</span></em> <span class=\"rojo\">(<em>$arrPar[accion]</em>).</span> <span class=\"txt_bold_blue\">$agrupa:</span> <span class=\"rojo\"><em>".$arrPar['enDB']['dep_label']."</em>.</span> <span class=\"txt_bold_blue\">Fecha:</span> <span class=\"rojo\"><em>".get_date_spanish(strtotime($fecha), false, 'small_date', 'month_mini')."</em>.</span> <span class=\"txt_bold_blue\">Monto:</span> <span class=\"rojo\"><em>$monto</em>.</span>"; |
| 80 | break; |
| 81 | } |
| 82 | |
| 83 | ia_query(kvLogInsert($kv_log_arr)); |
| 84 | |
| 85 | generaCatalogos($arrPar['collection_id']); |
| 86 | /** ***********************************/ |
| 87 | } |
| 88 | |
| 89 | /** |
| 90 | * @param array $arr_ND Array con los datos nuevos. |
| 91 | * @param array $arr_en_DB Array con los datos en la DB. |
| 92 | * @param string $table tabla |
| 93 | * @param string $pk_field campo id |
| 94 | * @param string $id id del registro |
| 95 | * @param array $arr_diff Array con los datos distintos. |
| 96 | * @param bool $hacer_bitacora Genera o no la bitacora |
| 97 | * @return array $sql |
| 98 | */ |
| 99 | function haz_update_con_log(&$arr_ND = array(), &$arr_en_DB = array(), $table = '', $pk_field = '', $id = '', &$arr_diff = array(), $hacer_bitacora = true) |
| 100 | { |
| 101 | $sql = array(); |
| 102 | if(empty($arr_ND) || !is_array($arr_ND) || empty($table) || empty($pk_field) || empty($id) ) |
| 103 | return $sql; |
| 104 | |
| 105 | if(empty($arr_en_DB)) |
| 106 | { |
| 107 | if(empty($table)) |
| 108 | return $sql; |
| 109 | |
| 110 | $arr_en_DB = ia_singleton("SELECT * FROM $table WHERE $pk_field=".strit($id)); |
| 111 | if(empty($arr_en_DB)) |
| 112 | return $sql; |
| 113 | } |
| 114 | |
| 115 | $usuario = isset($_SESSION['usuario']) ? $_SESSION['usuario'] : 1; |
| 116 | $now = date('Y-m-d H:i:s'); |
| 117 | |
| 118 | ksort($arr_ND); |
| 119 | ksort($arr_en_DB); |
| 120 | //$arr_diff = array(); |
| 121 | $arr_log = array(); |
| 122 | compara2Arrays($arr_ND, $arr_en_DB, array(), true, $arr_diff, $arr_log, $table); |
| 123 | |
| 124 | //echo "<pre>".print_r($arr_diff, true)."</pre>"; |
| 125 | |
| 126 | |
| 127 | $kv_log_arr = kvLogDefault(); |
| 128 | $kv_log_arr['alta_db'] = $now; |
| 129 | $kv_log_arr['usuario'] = $usuario; |
| 130 | |
| 131 | if (!empty($arr_diff)) { |
| 132 | $arr_diff['ultimo_cambio'] = $now; |
| 133 | $arr_diff['ultimo_cambio_por'] = $usuario; |
| 134 | $sql[] = ia_update($table, $arr_diff, " $pk_field=".strit($id)); |
| 135 | $kv_log_arr['collection_id'] = kvTablaID($table); |
| 136 | $kv_log_arr['record_id'] = $id; |
| 137 | $kv_log_arr['kv_accion_log_id'] = kvAccionID('Editar'); |
| 138 | $kv_log_arr['note'] = kvTabla($arr_log); |
| 139 | |
| 140 | if($hacer_bitacora) |
| 141 | $sql[] = kvLogInsert($kv_log_arr); |
| 142 | } |
| 143 | |
| 144 | return $sql; |
| 145 | } |