Location: PHPKode > projects > PHD Help Desk > phd_2_00/setup/esp/make_checks.inc
<?PHP
/*
    Nombre: make_checks.inc
    Autor: Julio Tuozzo
    Función: Controles de la instalación.
    Ver: 2.00
*/



## 1. Verifico que estén disponibles las librerías MySQL y GD

if (!function_exists('mysql_connect'))
    { echo "<p class='danger'>ERROR -
    No se encuentran disponibles las funciones de acceso a la base de datos MySQL desde PHP.<br/>
            Verifique la instalaci&oacute;n de su servidor.</p>
            <p class = 'danger'> Proceso de configuración de <b>PHD Help Desk</b> suspendido, solucione el problema e intente nuevamente. </p> ";
      exit();
    }

if (!function_exists('gd_info'))
    { echo "<p class='danger'>ERROR -
    No se encuentra disponible la liber&iacute;a para gr&aacute;ficos GD.<br/>
            Verifique la instalaci&oacute;n de su servidor.</p>
            <p class = 'danger'> Proceso de configuración de <b>PHD Help Desk</b> suspendido, solucione el problema e intente nuevamente. </p> ";
      exit();
    }



## 2. Verifico que include_path apunte a donde estan phd.inc y lang.inc

$path_phd_inc=$path_lang="";
$a_include = explode( PATH_SEPARATOR, ini_get('include_path') );
$a_long=count($a_include);

for ($I=0; $I<$a_long; $I++)
    {$f_path=str_replace("\\","/",$a_include[$I]);
     if (substr($f_path,-1)!='/')
        {$f_path.='/';
        }
     if (is_readable($f_path."phd.inc"))
        {if (strlen($path_phd_inc)>0)
                {echo "<p class='danger'><b>ERROR - EXISTEN POR LO MENOS DOS ARCHIVOS <i>phd.inc</i></p>
                 <p class='ok'>Uno se encuentra en <i>$path_phd_inc</i> y otro en <i>$f_path</i>.<br />
                 Aseg&uacute;rese que solo quede accesible en la variable <i>include_path</i> el archivo
                 phd.inc que se encuentra inicialmente en <i>/phd_2_00/include/.</i></p>
                 <p class = 'danger'> Proceso de configuración de <b>PHD Help Desk</b> suspendido, solucione el problema e intente nuevamente. </p>  ";
                 exit();
                }
           else
              {$path_phd_inc=$f_path;
              }
        }
     if (is_readable($f_path."lang.inc"))
        { if (strlen($path_lang)>0)
                {echo "<p class='danger'><b>ERROR - EXISTEN POR LO MENOS DOS ARCHIVOS <i>lang.inc</i></p>
                 <p class='ok'>Uno se encuentra en <i>$path_lang</i> y otro en <i>$f_path</i>.<br />
                 Aseg&uacute;rese que solo quede accesible en la variable <i>include_path</i> el archivo
                 lang.inc que se encuentra inicialmente en <i>/phd_2_00/include/.</i></p>
                 <p class = 'danger'> Proceso de configuración de <b>PHD Help Desk</b> suspendido, solucione el problema e intente nuevamente. </p>  ";
                 exit();
                }
           else
              {$path_lang=$f_path;
              }
        }
    }

if (strlen($path_phd_inc)<1)
    { $incl_path=str_replace(PATH_SEPARATOR,PATH_SEPARATOR." ",ini_get('include_path'));
      echo "
     <p class = 'danger'> Error: no hay acceso al archivo <b>phd.inc</b> </p>
     <p>El contenido del parámetro <i>\"include_path\"</i> en <i>php.ini</i> es <b>$incl_path</b>,
     dentro de estos subdirectorios no se encuentra el archivo del tipo include <b>phd.inc</b>. </p>
    <p>Verifique que exista el archivo phd.inc, inicialmente se encuentra en la carpeta <b>/phd_2_00/include/</b></p>
    <p>Incluya en <i>\"include_path\"</i> el camino donde se encuentran los archivos <b>.inc</b> de <b>PHD Help Desk</b> o bien mueva los archivos <b>.inc</b> que se encuentran en la carpeta <b>/phd_2_00/include/</b> a alguno de los subdirectorios especificados en <i>\"include_path\"</i>.</p>
     <p class = 'danger'> Proceso de configuración de <b>PHD Help Desk</b> suspendido, solucione el problema e intente nuevamente. </p>    ";
    exit();
    }

if (strlen($path_lang)<1)
    { $incl_path=str_replace(PATH_SEPARATOR,PATH_SEPARATOR." ",ini_get('include_path'));
      echo "
     <p class = 'danger'> Error: no hay acceso al archivo <b>lang.inc</b> </p>
     <p>El contenido del parámetro <i>\"include_path\"</i> en <i>php.ini</i> es <b>$incl_path</b>,
     dentro de estos subdirectorios no se encuentra el archivo del tipo include <b>lang.inc</b>. </p>
    <p>Verifique que exista el archivo lang.inc, inicialmente se encuentra en la carpeta <b>/phd_2_00/include/</b></p>
    <p>Incluya en <i>\"include_path\"</i> el camino donde se encuentran los archivos <b>.inc</b> de <b>PHD Help Desk</b> o bien mueva los archivos <b>.inc</b> que se encuentran en la carpeta <b>/phd_2_00/include/</b> a alguno de los subdirectorios especificados en <i>\"include_path\"</i>.</p>
     <p class = 'danger'> Proceso de configuración de <b>PHD Help Desk</b> suspendido, solucione el problema e intente nuevamente. </p>


    ";
    exit();
    }

require('lang.inc');
require('phd.inc');

## 3. Verifico que los archivos phd.inc y lang.inc correspondan a la versión 2.00

if ($VPHD!="2.00")
    {echo "<p class='danger'> Error: el archivo $path_phd_inc phd.inc no corresponde a la versi&oacute;n 2.00 de <b>PHD Help Desk</b></p>
    <p> Puede suceder que tenga otra instalaci&oacute;n de <b>PHD Help Desk</b> en su servidor y que la variable <i>include_path</i> del archivo <i>php.ini</i> se encuentre configurada para ese subdirecotrio.</p>
     <p class = 'danger'> Proceso de configuración de <b>PHD Help Desk</b> suspendido, solucione el problema e intente nuevamente. </p>";

    exit();
    }

if ($Vlang!="2.00")
    {echo "<p class='danger'> Error: el archivo $path_lang lang.inc no corresponde a la versi&oacute;n 2.00 de <b>PHD Help Desk</b></p>
    <p> Puede suceder que tenga otra instalaci&oacute;n de <b>PHD Help Desk</b> en su servidor y que la variable <i>include_path</i> del archivo <i>php.ini</i> se encuentre configurada para ese subdirectorio.</p>
       <p class = 'danger'> Proceso de configuración de <b>PHD Help Desk</b> suspendido, solucione el problema e intente nuevamente. </p>";
    exit();
    }

## 4. Verifico que ya se haya especificado el lenguaje.

    if (!isset($Contact) or !isset($Process) or !isset($State) or !isset($Type))
        { $c_lang='now';
          $c_base_dato=$c_param=$c_create=$c_mail=$c_admin=$c_atrib='danger';
        }
    else
        {$c_lang='ok';

## 5. Verifico los parámetros de acceso a la base de datos.
         if(!@mysql_connect($Host,$Usuario,$Contrasena) or !@mysql_select_db($Base))
            {$c_base_dato='now';
             $c_param=$c_create=$c_mail=$c_admin=$c_atrib='danger';
            }
         else
            { $c_base_dato='ok';


## 6. Verifico que esten creadas las tablas en la base.
              $tablas="(area)(atributo)(ticket)(hist_pass)(operador)(parametros)(sector)(sigo_ticket)(solicitud)(usuario)";
              $query="SHOW TABLES";
              $result=mysql_query($query) or die ("<p class='danger'> ERROR EN QUERY </p>".mysql_error());
              while ($row = mysql_fetch_array($result))
                    {$tablas=str_replace("(".$row[0].")","",$tablas);
                    }
              if (strlen($tablas)>1)
                    {$c_create='now';
                     $c_param=$c_mail=$c_admin=$c_atrib='danger';
                    }
              else
                    {$c_create='ok';


## 7. Verifico que este configurado para enviar correo electrónico

              if ($Mail_host == 'your.mail.server.com' or $Mail_usuario == 'hide@address.com')
                    {$c_mail='now';
                     $c_param=$c_admin=$c_atrib='danger';
                    }
              else
                    {$c_mail='ok';



## 8. Verifico que haya algún operador con permiso de administrador.
                     $query="SELECT * FROM operador WHERE nivel>=20";
                     $result=mysql_query($query) or die ("<p class='danger'> ERROR EN QUERY </p>".mysql_error());
                     $q_admin=mysql_num_rows($result);

                     if ($q_admin<1)
                        {$c_admin='now';
                         $c_param=$c_atrib='danger';
                        }
                     else
                        {$c_admin='ok';

## 9. Verifico que se hayan ingresado atributos.

                         if ($PHD_Ins=="NO")
                            {$c_atrib='now';
                             $c_param='danger';
                            }
                         else
                            {$c_atrib='ok';
## 10. Verifico que se hayan configurado los parámetros generales.
                             $query="SELECT * FROM parametros";
                             $result=mysql_query($query) or die ("<p class='danger'> ERROR EN QUERY </p>".mysql_error());
                             $q_param=mysql_num_rows($result);

                             if($q_param<1)
                                {$c_param='now';
                                }
                             else
                                {$c_param='ok';


                                }
                            }
                        }
                    }
                }
            }
        }



?>
Return current item: PHD Help Desk