English 中文(简体)
Parse差错: syntax误差,出乎意料的T_ELSE in ...... 模块。 第243条[封闭]
原标题:Parse error: syntax error, unexpected T_ELSE in ..... modules.php on line 243 [closed]

I m 在人工插入一个骨质商业模块之后,就发现这一错误。 我知道,在将模块添加到外观代码之后,它就能够做些什么。

是否有任何人认为这里有什么错误?

// STS V4.6 drop start
        } else {
            if($key ==  MODULE_STS_TEMPLATE_FOLDER ){
                $dir_name = array();
                if ($handle = opendir( ../ .MODULE_STS_TEMPLATES_FOLDER. / )) {
                   while (false !== ($file = readdir($handle))) {
                        $pos = strpos($file, ".");
                        if($pos === false){
                            $dir_name[] = array("id" => $file, "text" => $file);
                            $i++;
                        }
                    }
                    closedir($handle);
                }
                $keys .= tep_draw_pull_down_menu( configuration[MODULE_STS_TEMPLATE_FOLDER] , $dir_name, $value[ value ]);
            }else{
                $keys .= tep_draw_input_field( configuration[  . $key .  ] , $value[ value ]);
            }
        }
        // STS V4.6 drop end


<?php
/*
  $Id: modules.php,v 1.47 2003/06/29 22:50:52 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  require( includes/application_top.php );

  $set = (isset($HTTP_GET_VARS[ set ]) ? $HTTP_GET_VARS[ set ] :   );

  if (tep_not_null($set)) {

 switch ($set) {
 // START STS 4.1
case  sts :
$module_type =  sts ;
$module_directory = DIR_FS_CATALOG_MODULES .  sts/ ;
$module_key =  MODULE_STS_INSTALLED ;
define( HEADING_TITLE , HEADING_TITLE_MODULES_STS); 
break;
// END STS 4.1
      case  shipping :
        $module_type =  shipping ;
        $module_directory = DIR_FS_CATALOG_MODULES .  shipping/ ;
        $module_key =  MODULE_SHIPPING_INSTALLED ;
        define( HEADING_TITLE , HEADING_TITLE_MODULES_SHIPPING);
        break;
      case  ordertotal :
        $module_type =  order_total ;
        $module_directory = DIR_FS_CATALOG_MODULES .  order_total/ ;
        $module_key =  MODULE_ORDER_TOTAL_INSTALLED ;
        define( HEADING_TITLE , HEADING_TITLE_MODULES_ORDER_TOTAL);
        break;
      case  payment :
      default:
        $module_type =  payment ;
        $module_directory = DIR_FS_CATALOG_MODULES .  payment/ ;
        $module_key =  MODULE_PAYMENT_INSTALLED ;
        define( HEADING_TITLE , HEADING_TITLE_MODULES_PAYMENT);
        break;
    }
  }

  $action = (isset($HTTP_GET_VARS[ action ]) ? $HTTP_GET_VARS[ action ] :   );

  if (tep_not_null($action)) {
    switch ($action) {
      case  save :
        while (list($key, $value) = each($HTTP_POST_VARS[ configuration ])) {
          tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value =  " . $value . "  where configuration_key =  " . $key . " ");
        }
        tep_redirect(tep_href_link(FILENAME_MODULES,  set=  . $set .  &module=  . $HTTP_GET_VARS[ module ]));
        break;
      case  install :
      case  remove :
        $file_extension = substr($PHP_SELF, strrpos($PHP_SELF,  . ));
        $class = basename($HTTP_GET_VARS[ module ]);
        if (file_exists($module_directory . $class . $file_extension)) {
          include($module_directory . $class . $file_extension);
          $module = new $class;
          if ($action ==  install ) {
            $module->install();
          } elseif ($action ==  remove ) {
            $module->remove();
          }
        }
        tep_redirect(tep_href_link(FILENAME_MODULES,  set=  . $set .  &module=  . $class));
        break;
    }
  }
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<script language="javascript" src="includes/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<!-- header //-->
<?php require(DIR_WS_INCLUDES .  header.php ); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
  <tr>
    <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES .  column_left.php ); ?>
<!-- left_navigation_eof //-->
    </table></td>
<!-- body_text //-->
    <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
      <tr>
        <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
            <td class="pageHeading" align="right"><?php echo tep_draw_separator( pixel_trans.gif , HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
              <tr class="dataTableHeadingRow">
                <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_MODULES; ?></td>
                <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_SORT_ORDER; ?></td>
                <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
              </tr>
<?php
  $file_extension = substr($PHP_SELF, strrpos($PHP_SELF,  . ));
  $directory_array = array();
  if ($dir = @dir($module_directory)) {
    while ($file = $dir->read()) {
      if (!is_dir($module_directory . $file)) {
        if (substr($file, strrpos($file,  . )) == $file_extension) {
          $directory_array[] = $file;
        }
      }
    }
    sort($directory_array);
    $dir->close();
  }

  $installed_modules = array();
  for ($i=0, $n=sizeof($directory_array); $i<$n; $i++) {
    $file = $directory_array[$i];

    include(DIR_FS_CATALOG_LANGUAGES . $language .  /modules/  . $module_type .  /  . $file);
    include($module_directory . $file);

    $class = substr($file, 0, strrpos($file,  . ));
    if (tep_class_exists($class)) {
      $module = new $class;
      if ($module->check() > 0) {
        if ($module->sort_order > 0) {
          $installed_modules[$module->sort_order] = $file;
        } else {
          $installed_modules[] = $file;
        }
      }

      if ((!isset($HTTP_GET_VARS[ module ]) || (isset($HTTP_GET_VARS[ module ]) && ($HTTP_GET_VARS[ module ] == $class))) && !isset($mInfo)) {
        $module_info = array( code  => $module->code,
                              title  => $module->title,
                              description  => $module->description,
                              status  => $module->check());

        $module_keys = $module->keys();

        $keys_extra = array();
        for ($j=0, $k=sizeof($module_keys); $j<$k; $j++) {
          $key_value_query = tep_db_query("select configuration_title, configuration_value, configuration_description, use_function, set_function from " . TABLE_CONFIGURATION . " where configuration_key =  " . $module_keys[$j] . " ");
          $key_value = tep_db_fetch_array($key_value_query);

          $keys_extra[$module_keys[$j]][ title ] = $key_value[ configuration_title ];
          $keys_extra[$module_keys[$j]][ value ] = $key_value[ configuration_value ];
          $keys_extra[$module_keys[$j]][ description ] = $key_value[ configuration_description ];
          $keys_extra[$module_keys[$j]][ use_function ] = $key_value[ use_function ];
          $keys_extra[$module_keys[$j]][ set_function ] = $key_value[ set_function ];
        }

        $module_info[ keys ] = $keys_extra;

        $mInfo = new objectInfo($module_info);
      }

      if (isset($mInfo) && is_object($mInfo) && ($class == $mInfo->code) ) {
        if ($module->check() > 0) {
          echo                <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=   . tep_href_link(FILENAME_MODULES,  set=  . $set .  &module=  . $class .  &action=edit ) .   ">  . "
";
        } else {
          echo                <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)">  . "
";
        }
      } else {
        echo                <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=   . tep_href_link(FILENAME_MODULES,  set=  . $set .  &module=  . $class) .   ">  . "
";
      }
?>
                <td class="dataTableContent"><?php echo $module->title; ?></td>
                <td class="dataTableContent" align="right"><?php if (is_numeric($module->sort_order)) echo $module->sort_order; ?></td>
                <td class="dataTableContent" align="right"><?php if (isset($mInfo) && is_object($mInfo) && ($class == $mInfo->code) ) { echo tep_image(DIR_WS_IMAGES .  icon_arrow_right.gif ); } else { echo  <a href="  . tep_href_link(FILENAME_MODULES,  set=  . $set .  &module=  . $class) .  ">  . tep_image(DIR_WS_IMAGES .  icon_info.gif , IMAGE_ICON_INFO) .  </a> ; } ?>&nbsp;</td>
              </tr>
<?php
    }
  }

  ksort($installed_modules);
  $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key =  " . $module_key . " ");
  if (tep_db_num_rows($check_query)) {
    $check = tep_db_fetch_array($check_query);
    if ($check[ configuration_value ] != implode( ; , $installed_modules)) {
      tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value =  " . implode( ; , $installed_modules) . " , last_modified = now() where configuration_key =  " . $module_key . " ");
    }
  } else {
    tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ( Installed Modules ,  " . $module_key . " ,  " . implode( ; , $installed_modules) . " ,  This is automatically updated. No need to edit. ,  6 ,  0 , now())");
  }
?>
              <tr>
                <td colspan="3" class="smallText"><?php echo TEXT_MODULE_DIRECTORY .     . $module_directory; ?></td>
              </tr>
            </table></td>
<?php
  $heading = array();
  $contents = array();

  switch ($action) {
    case  edit :
      $keys =   ;
      reset($mInfo->keys);
      while (list($key, $value) = each($mInfo->keys)) {
        $keys .=  <b>  . $value[ title ] .  </b><br>  . $value[ description ] .  <br> ;

        if ($value[ set_function ]) {
          eval( $keys .=   . $value[ set_function ] . " " . $value[ value ] . " ,  " . $key . " );");
          // STS V4.6 drop start
        } else {
            if($key ==  MODULE_STS_TEMPLATE_FOLDER ){
                $dir_name = array();
                if ($handle = opendir( ../ .MODULE_STS_TEMPLATES_FOLDER. / )) {
                   while (false !== ($file = readdir($handle))) {
                        $pos = strpos($file, ".");
                        if($pos === false){
                            $dir_name[] = array("id" => $file, "text" => $file);
                            $i++;
                        }
                    }
                    closedir($handle);
                }
                $keys .= tep_draw_pull_down_menu( configuration[MODULE_STS_TEMPLATE_FOLDER] , $dir_name, $value[ value ]);
            }else{
                $keys .= tep_draw_input_field( configuration[  . $key .  ] , $value[ value ]);
            }
        }
        // STS V4.6 drop end

        } else {
          $keys .= tep_draw_input_field( configuration[  . $key .  ] , $value[ value ]);
        }
        $keys .=  <br><br> ;
      }
      $keys = substr($keys, 0, strrpos($keys,  <br><br> ));

      $heading[] = array( text  =>  <b>  . $mInfo->title .  </b> );

      $contents = array( form  => tep_draw_form( modules , FILENAME_MODULES,  set=  . $set .  &module=  . $HTTP_GET_VARS[ module ] .  &action=save ));
      $contents[] = array( text  => $keys);
      $contents[] = array( align  =>  center ,  text  =>  <br>  . tep_image_submit( button_update.gif , IMAGE_UPDATE) .   <a href="  . tep_href_link(FILENAME_MODULES,  set=  . $set .  &module=  . $HTTP_GET_VARS[ module ]) .  ">  . tep_image_button( button_cancel.gif , IMAGE_CANCEL) .  </a> );
      break;
    default:
      $heading[] = array( text  =>  <b>  . $mInfo->title .  </b> );

      if ($mInfo->status ==  1 ) {
        $keys =   ;
        reset($mInfo->keys);
        while (list(, $value) = each($mInfo->keys)) {
          $keys .=  <b>  . $value[ title ] .  </b><br> ;
          if ($value[ use_function ]) {
            $use_function = $value[ use_function ];
            if (ereg( -> , $use_function)) {
              $class_method = explode( -> , $use_function);
              if (!is_object(${$class_method[0]})) {
                include(DIR_WS_CLASSES . $class_method[0] .  .php );
                ${$class_method[0]} = new $class_method[0]();
              }
              $keys .= tep_call_function($class_method[1], $value[ value ], ${$class_method[0]});
            } else {
              $keys .= tep_call_function($use_function, $value[ value ]);
            }
          } else {
            $keys .= $value[ value ];
          }
          $keys .=  <br><br> ;
        }
        $keys = substr($keys, 0, strrpos($keys,  <br><br> ));

        $contents[] = array( align  =>  center ,  text  =>  <a href="  . tep_href_link(FILENAME_MODULES,  set=  . $set .  &module=  . $mInfo->code .  &action=remove ) .  ">  . tep_image_button( button_module_remove.gif , IMAGE_MODULE_REMOVE) .  </a> <a href="  . tep_href_link(FILENAME_MODULES,  set=  . $set . (isset($HTTP_GET_VARS[ module ]) ?  &module=  . $HTTP_GET_VARS[ module ] :   ) .  &action=edit ) .  ">  . tep_image_button( button_edit.gif , IMAGE_EDIT) .  </a> );
        $contents[] = array( text  =>  <br>  . $mInfo->description);
        $contents[] = array( text  =>  <br>  . $keys);
      } else {
        $contents[] = array( align  =>  center ,  text  =>  <a href="  . tep_href_link(FILENAME_MODULES,  set=  . $set .  &module=  . $mInfo->code .  &action=install ) .  ">  . tep_image_button( button_module_install.gif , IMAGE_MODULE_INSTALL) .  </a> );
        $contents[] = array( text  =>  <br>  . $mInfo->description);
      }
      break;
  }

  if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {
    echo              <td width="25%" valign="top">  . "
";

    $box = new box;
    echo $box->infoBox($heading, $contents);

    echo              </td>  . "
";
  }
?>
          </tr>
        </table></td>
      </tr>
    </table></td>
<!-- body_text_eof //-->
  </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES .  footer.php ); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES .  application_bottom.php ); ?>
最佳回答

页: 1 因此,你现在的就是:

if ($value[ set_function ]) {
    [...]
    // STS V4.6 drop start
} else {
    if($key ==  MODULE_STS_TEMPLATE_FOLDER ){
        [...]
    }
// STS V4.6 drop end
} else {
    $keys .= tep_draw_input_field( configuration[  . $key .  ] , $value[ value ]);
}

这毫无意义。 如果不确切了解守则正在做些什么,那么我就很难知道什么是固定的,但我猜测你指的是:

if ($value[ set_function ]) {
    [...]

} else if ($key ==  MODULE_STS_TEMPLATE_FOLDER ) {
    // STS V4.6 drop start
    [...]
    // STS V4.6 drop end
} else {
    $keys .= tep_draw_input_field( configuration[  . $key .  ] , $value[ value ]);
}
问题回答

暂无回答




相关问题
Brute-force/DoS prevention in PHP [closed]

I am trying to write a script to prevent brute-force login attempts in a website I m building. The logic goes something like this: User sends login information. Check if username and password is ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

定值美元

如何确认来自正确来源的数字。

Generating a drop down list of timezones with PHP

Most sites need some way to show the dates on the site in the users preferred timezone. Below are two lists that I found and then one method using the built in PHP DateTime class in PHP 5. I need ...

Text as watermarking in PHP

I want to create text as a watermark for an image. the water mark should have the following properties front: Impact color: white opacity: 31% Font style: regular, bold Bevel and Emboss size: 30 ...

How does php cast boolean variables?

How does php cast boolean variables? I was trying to save a boolean value to an array: $result["Users"]["is_login"] = true; but when I use debug the is_login value is blank. and when I do ...

热门标签