×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: PHP
Posted by: user7784c
Added: Jul 26, 2017 9:28 PM
Views: 5
Tags: no tags
  1. <?php
  2. /**
  3.  * Description of classControles
  4.  *
  5.  * @author gesfor.rgonzalez
  6.  */
  7. class classControles
  8. {
  9.     //==============================================================================================
  10.    
  11.     public static function MenuLateral($Bandeja, $area)
  12.     {
  13.         if($area === 'usr'){
  14.             $area = '';
  15.         }
  16.         else if($area === 'cc'){
  17.             $area = '_cc';          
  18.         }
  19.         else if($area === 'sifn'){
  20.             $area = '_sifn';
  21.         }
  22.         else if($area === 'subd'){
  23.             $area = '_subd';
  24.         }
  25.         else if($area === 'admin'){
  26.             $area = '_admin';
  27.         }
  28.        
  29.         $ControlMenu = <<<EOT
  30.             <ul class="nav nav-pills nav-stacked" id="taby" name="taby">
  31.                 <li class="active" >
  32.                     <a href="#bandeja$area" data-toggle="tab"><span class="badge pull-right">$Bandeja</span>Nuevos</a>
  33.                 </li>
  34.                 <li>
  35.                     <a href="#enProceso$area" data-toggle="tab">En proceso</a>
  36.                 </li>
  37.                 <li>
  38.                     <a href="#completados$area" data-toggle="tab">Cerrados</a>
  39.                 </li>
  40.                 <li>
  41.                     <a href="#cancelados$area" data-toggle="tab">Cancelados</a>
  42.                 </li>  
  43.             </ul>
  44. EOT;
  45.    
  46.         return $ControlMenu;
  47.     }
  48.    
  49.     //==============================================================================================
  50.    
  51.     public static function GeneraDropDown($datos, $Vals, $Texts, $Clases = "", $Ids = "", $disabled = "",$AddFirsRow = false , $Funcion = "")
  52.     {
  53.         $IdUser = $_SESSION['IDusr'];
  54.         $IniSelect = '<select class="' . $Clases . '" id="' . $Ids . '" onblur="' . $Funcion . '" '.$disabled.'>';
  55.        
  56.         if($AddFirsRow === false)
  57.         {
  58.             $Options = '';            
  59.         }
  60.         else
  61.         {
  62.             $Options = '<option value="0">.::Seleccione Elemento::.</option>';
  63.         }
  64.        
  65.         foreach ($datos as $key => $value)
  66.         {
  67.             if($IdUser === $value->$Vals)
  68.             {
  69.                 $Options = $Options . '<option selected value="' . $value->$Vals . '">' . $value->$Texts . '</option>';                
  70.             }
  71.             else
  72.             {
  73.                 $Options = $Options . '<option value="' . $value->$Vals . '">' . $value->$Texts . '</option>';
  74.             }
  75.         }
  76.         $FinSelect = '</select>';
  77.         return $IniSelect . $Options . $FinSelect;
  78.     }  
  79.    
  80.     //==============================================================================================
  81.    
  82.     public static function GeneraListBox($datos, $Vals, $Texts, $Clases = "", $Ids = "", $Funcion = "")
  83.     {
  84.         $IdUser = $_SESSION['IDusr'];
  85.         $IniSelect = '<select multiple class="' . $Clases . '" id="' . $Ids . '" onblur="' . $Funcion . '">';
  86.         $Options = '';
  87.         foreach ($datos as $key => $value)
  88.         {
  89.             if($IdUser === $value->$Vals)
  90.             {
  91.                 $Options = $Options . '<option selected value="' . $value->$Vals . '">' . $value->$Texts . '</option>';                
  92.             }
  93.             else
  94.             {
  95.                 $Options = $Options . '<option value="' . $value->$Vals . '">' . $value->$Texts . '</option>';
  96.             }
  97.         }
  98.         $FinSelect = '</select>';
  99.         return $IniSelect . $Options . $FinSelect;
  100.     }      
  101.    
  102.     //==============================================================================================
  103.    
  104.     public static function GeneraTabla($array, $i, $area)
  105.     {  
  106.         //Si la tabla debe contener columnas finales con botones en esta función se deben agregar
  107.         //los nombres de los encabezados de las columnas con botones
  108.         $header = classControles::creaHeader($i, $area);
  109.         $ts = '';
  110.         foreach ($array as $key => $value)
  111.         {
  112.             if($value->leido === "1")
  113.             {
  114.                 $ts = $ts . '<tr class="info">';
  115.             }
  116.             else
  117.             {
  118.                 $ts = $ts . '<tr>';
  119.             }
  120.             $ts = $ts . '<td style="cursor: pointer;" onclick="href_folio(\'' . ROOTPATH . 'control_cambios.php' . '?IDcc=' . $value->ID_cc . '&type=vista\')"><span class="badge"><strong>' . $value->ID_cc . '</strong></span></td>';
  121.             $ts = $ts . '<td>' . $value->nombreActividad . '</td>';
  122.             $ts = $ts . '<td>' . $value->fechaActividad . '</td>';
  123.             $ts = $ts . '<td>' . $value->duracionAprox . '</td>';
  124.             $ts = $ts . '<td>' . $value->Ambiente . '</td>';
  125.             $ts = $ts . '<td>' . $value->Nombre_Completo . '</td>';
  126.             $ts = $ts . '<td>' . classControles::nombreEstatus($value->estatus) . '</td>';
  127.             // Si la tabla debe contener columnas finales con botones en esta función se deben agregar los botones
  128.             $ts = $ts . classControles::creaBotones($area, $value->ID_cc);
  129.         }
  130.         $ts = $ts . '</tbody></table>';
  131.         return $header . $ts;
  132.     }
  133.  
  134.     // Se agregan encabezados de columnas de botones al final de la tabla si se requieren    
  135.     static function creaHeader($i, $area)
  136.     {
  137.         $ColumBotons = '';
  138.        
  139.         if($area === 'usr'){
  140.             $ColumBotons = '<th>Clonar</th><th>Editar</th></tr>';
  141.         }
  142.         else if($area === 'cc'){
  143.             $ColumBotons = '';          
  144.         }
  145.         else if($area === 'sifn'){
  146.             $ColumBotons = '';
  147.         }
  148.         else if($area === 'subd'){
  149.            $ColumBotons = '';
  150.         }
  151.         else if($area === 'admin'){
  152.             $ColumBotons = '';
  153.         }        
  154.        
  155.         $header = <<<EOT
  156.                     <table data-order='[[ 1, "desc" ]]'
  157.                     cellpadding="0"
  158.                     cellspacing="0"
  159.                     border="0"
  160.                     class="table table-condensed table-bordered"
  161.                     id="table_$i">
  162.             <thead>
  163.                 <tr>
  164.                     <th>ID</th>
  165.                     <th>Actividad</th>
  166.                     <th>Fecha</th>
  167.                     <th>Duracion</th>
  168.                     <th>Ambiente</th>
  169.                     <th>Usuario</th>
  170.                     <th>Estatus</th>
  171.                     $ColumBotons
  172.             </thead>
  173.         <tbody>
  174. EOT;
  175.        
  176.         return $header;
  177.     }
  178.    
  179.     // Se agregan columnas de botones al final de la tabla si se requieren
  180.     static function creaBotones($area, $IDcc)
  181.     {
  182.         $Botones = '';
  183.        
  184.         if($area === 'usr'){
  185.             $Botones = <<<EOT
  186.  
  187.             <td><a href="control_cambios.php?IDcc=$IDcc&type=clonar" type="button" class="btn btn-default">
  188.             <span class="glyphicon glyphicon-duplicate data-toggle="tooltip" title="Crea un nuevo folio basado en este formulario."></span><a></td>
  189.             <td><a href="control_cambios.php?IDcc=$IDcc&type=editar" type="button" class="btn btn-default">
  190.             <span class="glyphicon glyphicon-edit data-toggle="tooltip" title="Editar o modificar este folio."></span><a></td></tr>
  191.    
  192. EOT;
  193.         }
  194.         else if($area === 'cc'){
  195.             $Botones = '';
  196.         }
  197.         else if($area === 'sifn'){
  198.             $Botones = '';
  199.         }
  200.         else if($area === 'subd'){
  201.             $Botones = '';
  202.         }
  203.         else if($area === 'admin'){
  204.             $Botones = '';
  205.         }        
  206.        
  207.         return $Botones;
  208.     }
  209.    
  210.     static function nombreEstatus($i)
  211.     {
  212.         switch ($i)
  213.         {
  214.             case 0:
  215.                 return '<span class="label label-info">Pendiente</span>';
  216.             case 1:
  217.                 return '<span class="label label-primary" >En Proceso</span>';
  218.             case 2:
  219.                 return '<span class="label label-success" >Terminado</span>';
  220.             case 3:
  221.                 return '<span class="label label-danger" >Cancelado</span>';
  222.             case 4:
  223.                 return '<span class="label label-warning" >Atribuible al negocio</span>';
  224.             case 5:
  225.                 return '<span class="label label-warning" >En Validacion</span>';
  226.             default:
  227.                 return '';
  228.         }
  229.     }
  230.    
  231.     //==============================================================================================
  232.    
  233.     public static function ControlAvanceStatus($EstatusFolio_)
  234.     {
  235.         $estatus0 = 'disabled'; $estatus123 = 'disabled'; $estatus4 = 'disabled'; $estatus5 = 'disabled';
  236.         $infor0 = ''; $infor123 = ''; $infor4 = ''; $infor5 = '';
  237.        
  238.         $ArrayFinal = end($EstatusFolio_);
  239.         $EstatusFinal = $ArrayFinal->Id_Seguimiento;
  240.        
  241.         foreach ($EstatusFolio_ as $key => $value)
  242.         {
  243.             switch ($value->Id_Seguimiento)
  244.             {
  245.                 case "0":
  246.                     $estatus0 = classControles::Estatus("0", $EstatusFinal);
  247.                     $infor0 = classControles::Informacion('0', $value->nombre);
  248.                     break;
  249.                 case "1":
  250.                     $estatus123 = classControles::Estatus("1", $EstatusFinal);
  251.                     $infor123 = classControles::Informacion('1');
  252.                     break;
  253.                 case "2":
  254.                     $estatus123 = classControles::Estatus("2", $EstatusFinal);
  255.                     $infor123 = $infor123 . '<br/>' . classControles::Informacion('2');  
  256.                     break;
  257.                 case "3":
  258.                     $estatus123 = classControles::Estatus("3", $EstatusFinal);
  259.                     $infor123 = classControles::Informacion('3', $value->nombre);    
  260.                     break;
  261.                 case "4":
  262.                     $estatus4 = classControles::Estatus("4", $EstatusFinal);
  263.                     $infor4 = classControles::Informacion('4', $value->area);
  264.                     break;
  265.                 case "5":
  266.                     $estatus5 = classControles::Estatus("5", $EstatusFinal);
  267.                     $infor5 = classControles::Informacion('5', $value->nombre);
  268.                     break;
  269.                 default:
  270.                     break;
  271.             }
  272.         }
  273.             $AvanceEstatus = <<<EOT
  274.         <div class="step_progress">
  275.              <div class="row bs-wizard" style="border-bottom:0;">
  276.                 <div class="col-xs-3 bs-wizard-step $estatus0">
  277.                   <div class="text-center bs-wizard-stepnum">Pendiente</div>
  278.                   <div class="progress"><div class="progress-bar"></div></div>
  279.                   <a href="#" class="bs-wizard-dot"></a>
  280.                   <div class="bs-wizard-info text-center">$infor0</div>
  281.                 </div>
  282.                 <div class="col-xs-3 bs-wizard-step $estatus123"><!-- complete -->
  283.                   <div class="text-center bs-wizard-stepnum">Validacion</div>
  284.                   <div class="progress"><div class="progress-bar"></div></div>
  285.                   <a href="#" class="bs-wizard-dot"></a>
  286.                   <div class="bs-wizard-info text-center">$infor123</div>
  287.                 </div>
  288.                 <div class="col-xs-3 bs-wizard-step $estatus4"><!-- complete -->
  289.                   <div class="text-center bs-wizard-stepnum">Aplicación Cambios</div>
  290.                   <div class="progress"><div class="progress-bar"></div></div>
  291.                   <a href="#" class="bs-wizard-dot"></a>
  292.                   <div class="bs-wizard-info text-center">$infor4</div>
  293.                  </div>
  294.                  <div class="col-xs-3 bs-wizard-step $estatus5"><!-- active -->
  295.                   <div class="text-center bs-wizard-stepnum">Cerrado</div>
  296.                   <div class="progress"><div class="progress-bar"></div></div>
  297.                   <a href="#" class="bs-wizard-dot"></a>
  298.                   <div class="bs-wizard-info text-center">$infor5</div>
  299.                 </div>
  300.             </div>
  301.         </div>  
  302. EOT;
  303.    
  304.         return classControles::EstiloAvanceStatus() .'<br/>'. $AvanceEstatus;
  305.     }
  306.    
  307.     static function Estatus($est, $estfin)
  308.     {
  309.         $estatus = '';
  310.         if($est === $estfin)
  311.         {
  312.             $estatus = 'active';
  313.         }
  314.         else
  315.         {
  316.             $estatus = 'complete';
  317.         }
  318.         return $estatus;
  319.     }
  320.    
  321.     static function Informacion($estatus, $info = '')
  322.     {
  323.         $inform = '';
  324.         switch ($estatus)
  325.         {
  326.             case "0":
  327.                 $inform = $info;
  328.                 break;
  329.             case "1":
  330.                 $inform = 'Control de Cambios';
  331.                 break;
  332.             case "2":
  333.                 $inform = 'Seguridad de la informacion';
  334.                 break;
  335.             case "3":
  336.                 $inform = 'Subdirector:<br/>' . $info;
  337.                 break;
  338.             case "4":
  339.                 $inform = $info;
  340.                 break;
  341.             case "5":
  342.                 $inform = $info;
  343.                 break;
  344.             default:
  345.                 break;
  346.         }        
  347.         return $inform;
  348.     }
  349.    
  350.     static function EstiloAvanceStatus()
  351.     {
  352.         $Estilo = <<<EOT
  353.         <style>
  354.             .bs-wizard {margin-top: 40px;}
  355.             /*Form Wizard*/
  356.             .bs-wizard {border-bottom: solid 1px #e0e0e0; padding: 0 0 10px 0;}
  357.             .bs-wizard > .bs-wizard-step {padding: 0; position: relative;}
  358.             .bs-wizard > .bs-wizard-step + .bs-wizard-step {}
  359.             .bs-wizard > .bs-wizard-step .bs-wizard-stepnum {color: #595959; font-size: 16px; margin-bottom: 5px;}
  360.             .bs-wizard > .bs-wizard-step .bs-wizard-info {color: #999; font-size: 14px;}
  361.             .bs-wizard > .bs-wizard-step > .bs-wizard-dot {position: absolute; width: 30px; height: 30px; display: block; background: #aaccfb; top: 45px; left: 50%; margin-top: -15px; margin-left: -15px; border-radius: 50%;}
  362.             .bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {content: ' '; width: 14px; height: 14px; background: #37b8fb; border-radius: 50px; position: absolute; top: 8px; left: 8px; }
  363.             .bs-wizard > .bs-wizard-step > .progress {position: relative; border-radius: 0px; height: 8px; box-shadow: none; margin: 20px 0; background: #CCCCCC;}
  364.             .bs-wizard > .bs-wizard-step > .progress > .progress-bar {width:0px; box-shadow: none; background: #aaccfb;}
  365.             .bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {width:100%;}
  366.             .bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {width:50%;}
  367.             .bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {width:0%;}
  368.             .bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {width: 100%;}
  369.             .bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {background-color: #CCCCCC;}
  370.             .bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {opacity: 0;}
  371.             .bs-wizard > .bs-wizard-step:first-child  > .progress {left: 50%; width: 50%;}
  372.             .bs-wizard > .bs-wizard-step:last-child  > .progress {width: 50%;}
  373.             .bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot{ pointer-events: none; }
  374.         </style>
  375. EOT;
  376.         return $Estilo;
  377.     }
  378.    
  379.     //==============================================================================================
  380.  
  381.    
  382. }
  383.