Уже 2 дня колупаю и не могу найти ошибку

Статус
В этой теме нельзя размещать новые ответы.

seriousman

Новичок
Уже 2 дня колупаю и не могу найти ошибку

Код скрипта следующий:

Код:
<?php
function ShowModSetupPage( $tpl_f = "" )
{
 global $O_HW;
 global $err_msg;
 global $MOD_CFG;
 $A_CFG = array( );
 include( SITE_PATH."modules/".HW_MOD."/hw_info.php" );
 if ( $A_CFG )
 {
  $a_v = $O_HW->GetModOptions( HW_MOD );
  if ( is_array( $a_v ) )
  {
   foreach ( array_keys( $a_v ) as $k )
   {
    if ( !isset( $A_CFG[$k] ) )
    {
     unset( $a_v[$k] );
    }
   }
   if ( $a_v )
   {
    $A_CFG = array_merge( $A_CFG, $a_v );
   }
   unset( $a_v );
  }
 }
 if ( $_POST['go'] )
 {
  if ( $A_CFG )
  {
   foreach ( array_keys( $A_CFG ) as $k )
   {
    if ( !isset( $_POST[$k] ) && substr( $k, 0, 3 ) != "EN_" )
    {
     continue;
    }
    $A_CFG[$k] = $_POST[$k];
   }
  }
  $func = HW_MOD."_SetupValidate";
  if ( function_exists( $func ) )
  {
   $err_msg = $func( );
  }
  if ( !$err_msg )
  {
   $func = HW_MOD."_SetupOnSave";
   if ( function_exists( $func ) )
   {
    $func( $A_CFG );
   }
   $O_HW->SetModOptions( HW_MOD, $A_CFG );
   $MOD_CFG = $O_HW->GetModOptions( HW_MOD );
   $err_msg = hwlng( "updated_ok" );
  }
 }
 $z = array( );
 if ( $A_CFG )
 {
  foreach ( $A_CFG as $k => $v )
  {
   if ( substr( $k, 0, 3 ) == "EN_" )
   {
    $z[$k] = $v ? "checked" : "";
   }
   else
   {
    $z[$k] = $v;
   }
  }
 }
 $func = HW_MOD."_SetupPrepare";
 if ( function_exists( $func ) )
 {
  $func( $z );
 }
 if ( !$tpl_f )
 {
  $tpl_f = HW_MOD_TPL."setup.htm";
 }
 return evaladvtpl( $tpl_f, $z );
}

function hwGetModuleDescr( $mod )
{
 global $db;
 list( $state, $descr ) = $db->one_row( "SELECT state,descr FROM ".TBL_MODULES." WHERE dir=".$db->esc( $mod )." AND admin_capable=\"1\"" );
 if ( $state != "A" && $state != "I" )
 {
  showadmheader( );
  echo "Module is not available";
  showadmfooter( );
  exit( );
 }
 return $descr;
}

define( "HTTP_HOST", $_SERVER['HTTP_HOST'] );
define( "ADMIN_AREA", 1 );
require( "../inc/application.php" );
if ( basename( __FILE__ ) != "modules.php" )
{
 exit( "Access Denied" );
}
$mod = $_POST['mod'] ? $_POST['mod'] : $_GET['mod'];
$mod = ( boolean )$mod;
$a_mods = hwmodgetarray( );
if ( !$mod || !$a_mods[$mod] )
{
 exit( "Module not found" );
}
checkloggedinadm( );
$HW_MOD = $mod;
$HW_MOD_DIR = MOD_DIR.$HW_MOD."/";
$HW_MOD_URL = "modules.php?mod=".$HW_MOD;
define( "HW_MOD", $mod );
define( "HW_MOD_DIR", MOD_DIR.HW_MOD."/" );
define( "HW_MOD_URL", "modules.php?mod=".HW_MOD );
define( "HW_MOD_TPL", HW_MOD_DIR."tpl/admin/" );
$MOD_CFG = $O_HW->GetModOptions( HW_MOD );
$mod_descr = hwgetmoduledescr( HW_MOD );
if ( !hwhasvalidkey( HW_MOD ) )
{
 exit( "Module is not licensed for this domain : ".HW_MOD );
}
include( HW_MOD_DIR."hw_admin.php" );
hwmodloadlng( HW_MOD );
$HW_WRAP = 1;
if ( $pg == "setup" || $_GET['pg'] == "setup" )
{
 $buf = showmodsetuppage( );
}
else
{
 $func = HW_MOD."_main";
 if ( !function_exists( $func ) )
 {
  exit( );
 }
 ob_start( );
 $ret_buf = $func( );
 $buf = ob_get_contents( );
 ob_end_clean( );
 if ( empty( $buf ) )
 {
  $buf = $ret_buf;
 }
 unset( $ret_buf );
}
if ( $HW_WRAP )
{
 $buf = showadmheader( 0 ).$buf.showadmfooter( 0 );
}
hwprocesstags( $buf );
echo $buf;
printparsetime( );
?>

Запускаю в системе - получаю ответ

Очевидно, шибка в отрезке

Код:
define( "HTTP_HOST", $_SERVER['HTTP_HOST'] );
define( "ADMIN_AREA", 1 );
require( "../inc/application.php" );
if ( basename( __FILE__ ) != "modules.php" )
{
 exit( "Access Denied" );
}
$mod = $_POST['mod'] ? $_POST['mod'] : $_GET['mod'];
$mod = ( boolean )$mod;
$a_mods = hwmodgetarray( );
if ( !$mod || !$a_mods[$mod] )
{
 exit( "Module not found" );
}
а особенно в
Код:
$mod = $_POST['mod'] ? $_POST['mod'] : $_GET['mod'];
$mod = ( boolean )$mod;
$a_mods = hwmodgetarray( );

Прошу помочь. Подозрение общее на ошибку в цикле, либо пропущена запятая или скобка!
 

StUV

Rotaredom
Тема закрыта.

Формулируйте вопрос так, чтобы его могли понять не только Вы.
Не пишите больше 10-15 строк кода.
Никто не будет вникать в Ваш код длиной 100 строк.
Правила форума: http://phpclub.ru/talk/announcement.php?s=&forumid=12
 

StUV

Rotaredom
для начала
http://phpfaq.ru/debug

потом - меньше кода - больше дела
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху