Comunidad de diseño web y desarrollo en internet online

problema con codigo de sistema erp en php

Citar            
MensajeEscrito el 28 Oct 2009 05:26 pm
Hola. Primero que todo quiero felicitar por este foro ya que me ha servido un monton y creo que no solo a mi sino que a muchos

el motivo de este post es porque estoy con un problema en un sistema ERP con el cual contamos, el cual esta desarrollado en php con bases mysql.

el sistema estaba funcionando sin problemas, pero tubimos que cambiarlo de servidor y ahí nos quedo la crema.

lo que sucede es que al logearce, carga una pagina en blanco, no carga los menus ni nada.



no se si sirva de algo pero agrego el codigo del archivo admin_session.php

Código PHP :

<?php

include_once("validate_session.php");

include_once("config.inc");



// Variables

$usuario = $_SESSION["usuario"];

$id_empresa_seleccionada = 7;

//$_SESSION["id_empresa_seleccionada"] = 7;

//$id_empresa_seleccionada = $_SESSION["id_empresa_seleccionada"];



$filtro_sucursal["id_empresa"] = $id_empresa_seleccionada;

$clog_sucursal = new Controlador_Logico_Cont_sucursal();

$listado_sucursal = $clog_sucursal->getListadoCont_sucursal($filtro_sucursal);



$clog_proceso = new Controlador_Logico_Cont_proceso();

$filtro_proceso["id_empresa"] = $id_empresa_seleccionada;

$proceso = $clog_proceso->getListadoCont_proceso($filtro_proceso);

$proceso = $proceso[0];



if (!$proceso){

   $proceso = new Cont_proceso();

   $proceso->set_id_empresa($id_empresa_seleccionada);

   $id_proceso = $clog_proceso->guardarCont_proceso($proceso);

   $proceso = $clog_proceso->getCont_proceso($id_proceso);

         



}



$op = checkGET("op","");

if (checkPOST("id_sucursal","")){

   $id_sucursal_seleccionada = checkPOST("id_sucursal","");

   $_SESSION["id_sucursal_seleccionada"] = $id_sucursal_seleccionada;

   $proceso->set_sucursal($id_sucursal_seleccionada);

   $clog_proceso->actualizarCont_proceso($proceso);

}

else{

   if ($_SESSION["id_sucursal_seleccionada"])

      $id_sucursal_seleccionada = $_SESSION["id_sucursal_seleccionada"];

   else{

      if ($proceso){

         $id_sucursal_seleccionada = $proceso->get_sucursal();

         $_SESSION["id_sucursal_seleccionada"] = $id_sucursal_seleccionada;

      }

   } 

}



if (checkPOST("Proc_Month","") && checkPOST("Proc_Year",""))

{

   $mes_proceso = checkPOST("Proc_Month","");

   $año_proceso = checkPOST("Proc_Year","");

   $_SESSION["mes_proceso"] = $mes_proceso;

   $_SESSION["año_proceso"] = $año_proceso;

   if ($proceso){

      $proceso->set_mes($mes_proceso);

      $proceso->set_ano($año_proceso);

   }

}

else

{

   if (($_SESSION["mes_proceso"])  && $_SESSION["año_proceso"])

   {

      $mes_proceso = $_SESSION["mes_proceso"];

      $año_proceso = $_SESSION["año_proceso"];

   }else{

      if ($proceso){

         if ($proceso->get_mes() && $proceso->get_ano()){

            $mes_proceso = $proceso->get_mes();

            $año_proceso = $proceso->get_ano();   

         }

      }else{

         $mes_proceso = substr(hoy(),4,2);

         $año_proceso = substr(hoy(),0,4);

      }

      $_SESSION["mes_proceso"] = $mes_proceso;

      $_SESSION["año_proceso"] = $año_proceso;      

   }

}



$clog_proceso->actualizarCont_proceso($proceso);





$empresa_seleccionada = Empresa_getEmpresa($id_empresa_seleccionada);

//debug($empresa_seleccionada);

if (isset($_GET["i"])){

   $includefile = $_GET["i"] . ".php";

   if (!file_exists($includefile)){

      $includefile = "";

   }

}else{

   $includefile = "";

}



// SECCION DIBUJAR **************************************************************************

$smarty = new  mySmarty();



$smarty -> debugging = false;



if ($op == "form"){

   $smarty->assign("form_sel_empresa",true);

}



$smarty -> assign("includefile", $includefile);

$smarty -> assign("empresa_seleccionada", $empresa_seleccionada);

$smarty -> assign("id_sucursal_seleccionada", $id_sucursal_seleccionada);

$smarty -> assign("listado_sucursal", format_array_combobox($listado_sucursal,"id_sucursal","descripcion"));

$smarty -> assign("año_proceso",$año_proceso);

$smarty -> assign("mes_proceso",$mes_proceso);

$smarty -> assign("fecha_proceso",$año_proceso.$mes_proceso."01");



$smarty -> assign("usuario", $usuario);



include_once("menu_session.inc");

//include_once("menux.htm");



$smarty -> display("admin_session.tpl");

?>



espero puedan ayudarme porque de verdad que lo necesito

mil gracias

Por disisweis

5 de clabLevel



 

chile

firefox
Citar            
MensajeEscrito el 28 Oct 2009 05:49 pm
Mira que la RUTA del archivo que al logearte te direcciona al menu principal u a otra pagina sea correcta, por ejemplo:
Si tenemos una carpeta que contiene todo mi proyecto que llamaremos MI TRABAJO, y dentro de ella tenemos 2 carpetas FORMULARIOS(y dento de ella tenemos entrada.html y menuprincipal.html) - VALIDACION (validaentrada.php).
En el script validaentrada.php la ruta que te enviaria al menu principal despues de validar tu usuario seria :
../FORMULARIOS/ menuprincipal.html.
Mira la ruta que esta en el script de (validate_session.php) si esta correctamente direccionada a la pagina de tu menu principal y si los archivos del menu principal estan bien direccionados.

Cualquier cosa comentame, que estamos para ayudarte. :)
El servir nos hace grandes :cool:

Por crmauricio

52 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Oct 2009 06:03 pm
mira, este es el archivo validate_session.php

Código :

<?php
   
   include_once("fachada/fachada.inc");
   session_start();
   global $id_empresa_seleccionada;
   $id_empresa_seleccionada = $_SESSION["id_empresa_seleccionada"];   
   include_once("variables_globales.inc");
   require_once("smarty.php");
   
   
   $user = $_SESSION["usuario"];
   
   global $volver;
   
   
//   debug($seguridad);
   switch ($seguridad){
      case "1":
         if (!get_permiso($seguridad)){
            include("acceso_restringido.php");
         }
         break;
      case "2":
         if (!get_permiso($seguridad)){
            include("acceso_restringido.php");
         }
         break;            
   }
   
   if (checkGET("back",checkPOST("back",""))){
      $back = explode("?",$_SERVER["HTTP_REFERER"]);
      $back =& $back[1];
   }
   
   if ($user == NULL){
      header("Location: admin.php?what=expired");   
   }   
?>


lo raro es que como explicaba arriba, lo unico que hice fue cambiarlo de servidor. pero no realize cambios en la estructura.

bueno no se si te sirve esto sino me dices que codigo debiera subir.

gracias por tu respuesta tan rapida son unos capos

no se si sirv

Por disisweis

5 de clabLevel



 

chile

firefox
Citar            
MensajeEscrito el 28 Oct 2009 09:20 pm

Código PHP :

 session_start(); // esto debería ir primero...
include_once("fachada/fachada.inc");
// codigo
  


session_start deberia ejecutarse ante que cualquier salida.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 28 Oct 2009 09:32 pm
Maikel.

Gracias por tu respuesta.

Mira hice el cambio que me dijiste pero ahora cuando me logeo me da este error:

Fatal error: get_permiso() [<a href='function.get-permiso'>function.get-permiso</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition &quot;Usuario&quot; of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in /home/eproject/public_html/e-ges/contabilidad/fachada/sistema/util_php2.php on line 5

estoy mas perdido que nadie. mira agrego el codigo del archivo util_php2.php por si sirve de algo

Código PHP :

<?php

function get_permiso($seguridad){

   $usuario = $_SESSION["usuario"];

   //debug($usuario);

   $resp_us = $usuario->get_privilegio();

   //debug($resp_us);

   if ($usuario->get_privilegio() >= $seguridad){

      return true;

   }else{

      return false;

   }

}





function obtener_fecha_actual() {

   $hoy = getdate();

   $año = $hoy["year"];

   $mes = $hoy["mon"];

   $dia = $hoy["mday"];



   if ($mes < 10)

      $mes = "0".$mes;



   if ($dia < 10)

      $dia = "0".$dia;



   return ($año.$mes.$dia);

}



function obtener_hora_actual() {

   $hoy = getdate();

   $horas = $hoy["hours"];

   $minutos = $hoy["minutes"];

   $segundos = $hoy["seconds"];



   if ($horas < 10)

      $horas = "0".$horas;



   if ($minutos < 10)

      $minutos = "0".$minutos;



   if ($segundos < 10)

      $segundos = "0".$segundos;



   return ($horas.$minutos.$segundos);

}



function expandir_hora($hora) {

   $hor = substr($hora, 0, 2);

   $min = substr($hora, 2, 2);

   $seg = substr($hora, 4, 2);

   return "$hor:$min";

}



function cero_izq($valor) {

   if ($valor < 10)

      $valor = "0".$valor;

   return $valor;

}



function convertir_fecha_proceso($mes, $año) {

   switch ($mes) {

      case "01" :

         return "Enero/$año";

         break;

      case "02" :

         return "Febrero/$año";

         break;

      case "03" :

         return "Marzo/$año";

         break;

      case "04" :

         return "Abril/$año";

         break;

      case "05" :

         return "Mayo/$año";

         break;

      case "06" :

         return "Junio/$año";

         break;

      case "07" :

         return "Julio/$año";

         break;

      case "08" :

         return "Agosto/$año";

         break;

      case "09" :

         return "Septiembre/$año";

         break;

      case "10" :

         return "Octubre/$año";

         break;

      case "11" :

         return "Noviembre/$año";

         break;

      case "12" :

         return "Diciembre/$año";

         break;

   }

}



function calcular_fecha($numero, $fecha, $tipo) {

   $fecha = explode("/", $fecha);

   $date = mktime(0, 0, 0, $fecha[1], $fecha[0], $fecha[2]);

   switch ($tipo) {

      case "futuro" :

         $date2 = strtotime("+$numero days", $date);

         break;



      case "pasado" :

         $date2 = strtotime("-$numero days", $date);

         break;

   }

   $date2 = strtotime("+$numero days", $date);

   $date2 = getdate($date2);

   $año = $date2["year"];

   $mes = cero_izq($date2["mon"]);

   $dia = cero_izq($date2["mday"]);



   return ($año.$mes.$dia);

   //debug($fecha);

}



function calcular_dias_entre($fecha1, $fecha2) {

   $fecha1 = convertirFechaBD_fecha($fecha1);

   $fecha2 = convertirFechaBD_fecha($fecha2);



   $fecha1 = explode("/", $fecha1);

   $fecha2 = explode("/", $fecha2);



   $fecha1 = mktime(1, 0, 0, $fecha1[1], $fecha1[0], $fecha1[2]);

   $fecha2 = mktime(1, 0, 0, $fecha2[1], $fecha2[0], $fecha2[2]);



   $dia = 24 * 60 * 60;

   $dif = $fecha1 - $fecha2;

   $dias = $dif / $dia;

   $dias = ceil($dias);



   return $dias;

}



function to_string($object, $inicial, $final) {

   if (!$inicial)

      $inicial = -1;

   if (!$final)

      $final = 99999999;

   $variables = get_class_vars(get_class($object));

   $str = "";

   $key2 = 0;

   foreach ($variables as $key => $value) {

      if (($key2 > $inicial) && ($key2 <= $final)) {

         $ext = "get_$key";

         $tok = strtok($key, "_");

         

         if ($tok != "id" && $tok != "info" && $tok != "extra1" && $tok != "extra2" && $tok != "extra3" && $tok != "mensaje") {



            $nombre = ucfirst(str_replace("_", " ", $key));

            if ($nombre != 'Lista stand') {

               $new_str = $object->$ext();

               $new_str = str_replace("\"","&quot;",$new_str);

               $str .= $nombre.": ".$new_str."<br>";

            }

         }

      }

      $key2 ++;

   }

   return ($str);

}



function money_php($val) {



   $number = $val;

   $decimals = "0";

   $decpoint = ".";

   $thousandsep = ".";



   return "$".number_format($number, $decimals, $decpoint, $thousandsep);

}



function format_rut_php($val) {

   $rut = $val;

   //debug($rut);

   if (strlen($rut) > 6) {

      $rut = number_format($rut, 0, ',', '.').substr($rut, -2, 2);

      if (strlen($rut) < 12)

         $rut = "0".$rut;

      return $rut;

   } else {

      return "- -";

   }

}



function expandirFechaFactura($val){



   $dia = substr($val, 6, 2);

   $mes = substr($val, 4, 2);

   $año = substr($val, 0, 4);



   $fecha = getdate(mktime (0,0,0,$mes,$dia,$año));

   $wdia = $fecha['wday'];



   // Día de la Semana

   switch ($wdia){

      case "1": $tdia = "Lunes";break;

      case "2": $tdia = "Martes";break;

      case "3": $tdia = "Mi&eacute;rcoles";break;

      case "4": $tdia = "Jueves";break;

      case "5": $tdia = "Viernes";break;

      case "6": $tdia = "S&aacute;bado";break;

      case "0": $tdia = "Domingo";break;

   }



   // Mes

   switch ($mes){

      case "01": $mes = "Enero";break;

      case "02": $mes = "Febrero";break;

      case "03": $mes = "Marzo";break;

      case "04": $mes = "Abril";break;

      case "05": $mes = "Mayo";break;

      case "06": $mes = "Junio";break;

      case "07": $mes = "Julio";break;

      case "08": $mes = "Agosto";break;

      case "09": $mes = "Septiembre";break;

      case "10": $mes = "Octubre";break;

      case "11": $mes = "Noviembre";break;

      case "12": $mes = "Diciembre";break;

   }

   $arreglo["dia"] = $tdia;

   $arreglo["mes"] = $mes;

   $arreglo["ano"] = $año;

   return $arreglo;

}



function actualiza_numero_factura($id_documento_venta){



   $clog_comprobante       = new Controlador_Logico_Cont_comprobante();

   $clog_comprobante_pago    = new Controlador_Logico_Cont_comprobante_pago();

   

   $clog_detalle_comp       = new Controlador_Logico_Cont_detalle_comprobante();

   $clog_detalle_compago    = new Controlador_Logico_Cont_detalle_comprobante_pago();

   

   $documento = Documento_venta_getDocumento_venta($id_documento_venta);

   $numero = $documento->get_numero_documento();

   

   $comprobante_control = $clog_comprobante->getCont_comprobante($documento->get_id_comprobante());

   if ($comprobante_control){

      $comprobante_control->set_descripcion("Ingreso de Factura N° $numero a Libro de Ventas");

         

      $clog_comprobante->actualizarCont_comprobante($comprobante_control);

   

      $filtro_detalle_comp["id_comprobante"] = $comprobante_control->get_id_comprobante();

      $listado_detalle = $clog_detalle_comp->getListadoCont_detalle_comprobante($filtro_detalle_comp);

   

      foreach($listado_detalle as $detalle){

         $detalle->set_descripcion("Ingreso de Factura N° $numero a Libro de Ventas");

         $clog_detalle_comp->actualizarCont_detalle_comprobante($detalle);

      } 

   }

   

   

   $comprobante_pago = $clog_comprobante_pago->getCont_comprobante_pago($documento->get_id_comprobante_pago());

   if ($comprobante_pago){

      switch ($documento->get_tipo_documento()){

         case "1":

            $comprobante_pago->set_glosa("Pago de Factura de Venta N° $numero");

         break;

         case "6":

            $comprobante_pago->set_glosa("Pago de Boleta de Venta N° $numero");

         break;

         case "7":

            $comprobante_pago->set_glosa("Pago de Guía de Despacho N° $numero");

         break;

      }

         

      $clog_comprobante_pago->actualizarCont_comprobante_pago($comprobante_pago);

   

      $cc = $clog_comprobante->getCont_comprobante($comprobante_pago->get_id_comprobante_contable());

   

      switch ($documento->get_tipo_documento()){

         case "1":

            $cc->set_descripcion("Pago de Factura de Venta N° $numero");

         break;   

         case "6":

            $cc->set_descripcion("Pago de Boleta de Venta N° $numero");

         break;

         case "7":

            $cc->set_descripcion("Pago de Guía de Despacho N° $numero");

         break;

      }

         

      $filtro_detalle_cc["id_comprobante"] = $cc->get_id_comprobante();

      $listado_cc_detalle = $clog_detalle_comp->getListadoCont_detalle_comprobante($filtro_detalle_cc);

      foreach ($listado_cc_detalle as $detallecc){

         if ($detallecc->get_haber()>0){

            switch ($documento->get_tipo_documento()){

               case "1":

                  $detallecc->set_descripcion("Pago/Abono Factura de Venta N° $numero");

               break;

               case "6":

                  $detallecc->set_descripcion("Pago/Abono Boleta de Venta N° $numero");

               break;

               case "7":

                  $detallecc->set_descripcion("Pago/Abono Guía de Despacho N° $numero");

               break;

            }

            $clog_detalle_comp->actualizarCont_detalle_comprobante($detallecc);

         }

      }

      $clog_comprobante->actualizarCont_comprobante($cc);

   }

   

   

   

}

?>


disculpen que moleste tanto pero de verdad estoy un poco frustrado con esto

gracias de ante mano.

Por disisweis

5 de clabLevel



 

chile

firefox
Citar            
MensajeEscrito el 28 Oct 2009 09:43 pm
geez... ese include no es lo que pensaba ( mejor dicho, hace más cosas de lo que pensaba) vuelve a poner las lineas como estaban... y deja leer bien los códigos que has posteado.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 28 Oct 2009 09:50 pm
Ok, haz algo... lee los archivos de logs de php, normalmente en linux estan en: /var/logs/httpd/error_log. y busca si hay errores de Smarty (sospecho que vas a conseguir uno que diga que no puedes escribir en la carpeta cache).

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 29 Oct 2009 12:12 pm
Hola, mira no encontre los error_log, lo que sucede es que el sistema esta instalado en un hosting, este es hosting linux pero no tiene la carpeta var/logs/httpd..... revise en todas las carpetas y no encontre nada.

si quieres te puedo dar acceso por privado a el ftp.

gracias por tu interes

Por disisweis

5 de clabLevel



 

chile

firefox
Citar            
MensajeEscrito el 29 Oct 2009 01:42 pm
No, ftp no me servirá... en el panel de control del alojamiento debería estar los archivos de logs. No se si tenga display_errors en off o algo, pero la cuestión es que creo que no estas viendo unos errores que deberias ver.

Revisa en la carpeta de Smarty que la carpeta templates_c tenga permiso de escritura, sino colocalo 777.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 29 Oct 2009 08:04 pm
ClabLevel.

No se como agradecerte, eres un genio funciono a la perfeccion, era lo que decias.


Muchisimas pero muchisimas gracias, y si hay algo en lo que te pueda ayudar por favor hasmelo saber.

muchas gracias nuevamente y estoy en deuda con tigo

Por disisweis

5 de clabLevel



 

chile

firefox
Citar            
MensajeEscrito el 30 Oct 2009 01:31 am
Mi nick es Maikel (tambien mi nombre real en verdad), clabLevel es otra cosa jeje... si te fijas tu tambien tienes clabLevel

De nada, un gusto ayudarte.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.