languages.php

来自「全新且完善的强大网上商店系统」· PHP 代码 · 共 276 行

PHP
276
字号
<?php
/*
  [SOOBIC!] admin/languages.php 

	Version: 1.5
	Author: soolan (soolan@qq.com)
	Copyright: soolan (www.soobic.com)
	Last Modified: 2005/4/4 10:00

*/

if(!defined('IN_SOOBIC')) {
        exit('Access Denied');
}

cpheader();

include ("admin/languages/".$language."/languages.php");

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

if ($action) {
    switch ($action) {
      case 'new':
        $name = safe_input($HTTP_POST_VARS['name']);
        $code = safe_input($HTTP_POST_VARS['code']);
        $image = safe_input($HTTP_POST_VARS['image']);
        $directory = safe_input($HTTP_POST_VARS['directory']);
        $sort_order = safe_input($HTTP_POST_VARS['sort_order']);

        $db->query("insert into $table_languages (name, code, image, directory, sort_order) values ('" . ($name) . "', '" . ($code) . "', '" .($image) . "', '" . ($directory) . "', '" .($sort_order) . "')");
        $insert_id = $db->insert_id();
        
        $categories_query = $db->query("select c.categories_id, cd.categories_name from $table_categories c left join $table_categories_description cd on c.categories_id = cd.categories_id where cd.language_id = '" . (int)$languages_id . "'");
        while ($categories = $db->fetch_array($categories_query)) {
          $db->query("insert into $table_categories_description (categories_id, language_id, categories_name) values ('" . (int)$categories['categories_id'] . "', '" . (int)$insert_id . "', '" . safe_input($categories['categories_name']) . "')");
        }

        $products_query = $db->query("select p.products_id, pd.products_name, pd.products_description, pd.products_url from $table_products p left join $table_products_description pd on p.products_id = pd.products_id where pd.language_id = '" . (int)$languages_id . "'");
        while ($products = $db->fetch_array($products_query)) {
          $db->query("insert into $table_products_description (products_id, language_id, products_name, products_description, products_url) values ('" . (int)$products['products_id'] . "', '" . (int)$insert_id . "', '" . safe_input($products['products_name']) . "', '" . safe_input($products['products_description']) . "', '" . safe_input($products['products_url']) . "')");
        }

        $products_options_query = $db->query("select products_options_id, products_options_name from $table_products_options where language_id = '" . (int)$languages_id . "'");
        while ($products_options = $db->fetch_array($products_options_query)) {
          $db->query("insert into $table_products_options (products_options_id, language_id, products_options_name) values ('" . (int)$products_options['products_options_id'] . "', '" . (int)$insert_id . "', '" . safe_input($products_options['products_options_name']) . "')");
        }

        $products_options_values_query = $db->query("select products_options_values_id, products_options_values_name from $table_products_options_values where language_id = '" . (int)$languages_id . "'");
        while ($products_options_values = $db->fetch_array($products_options_values_query)) {
          $db->query("insert into $table_products_options_values (products_options_values_id, language_id, products_options_values_name) values ('" . (int)$products_options_values['products_options_values_id'] . "', '" . (int)$insert_id . "', '" . safe_input($products_options_values['products_options_values_name']) . "')");
        }

        $manufacturers_query = $db->query("select m.manufacturers_id, mi.manufacturers_url from $table_manufacturers m left join $table_manufacturers_info mi on m.manufacturers_id = mi.manufacturers_id where mi.languages_id = '" . (int)$languages_id . "'");
        while ($manufacturers = $db->fetch_array($manufacturers_query)) {
          $db->query("insert into $table_manufacturers_info (manufacturers_id, languages_id, manufacturers_url) values ('" . $manufacturers['manufacturers_id'] . "', '" . (int)$insert_id . "', '" . safe_input($manufacturers['manufacturers_url']) . "')");
        }

        $orders_status_query = $db->query("select orders_status_id, orders_status_name from $table_orders_status where language_id = '" . (int)$languages_id . "'");
        while ($orders_status = $db->fetch_array($orders_status_query)) {
          $db->query("insert into $table_orders_status (orders_status_id, language_id, orders_status_name) values ('" . (int)$orders_status['orders_status_id'] . "', '" . (int)$insert_id . "', '" . safe_input($orders_status['orders_status_name']) . "')");
        }

        if (isset($HTTP_POST_VARS['default']) && ($HTTP_POST_VARS['default'] == 'on')) {
           $db->query("update $table_configuration set configuration_value = '" . safe_input($code) . "' where configuration_key = 'DEFAULT_LANGUAGE'");
        }
				
				updatecache('categories');
				cpmsg("Soolan!语言成功添加。",tep_href_link('admincp.php', 'act=languages&page=' . $HTTP_GET_VARS['page'] )); 
        break;
      case 'save':
        $lID = safe_input($HTTP_POST_VARS['lID']);
        
        $name = safe_input($HTTP_POST_VARS['name']);
        $code = safe_input($HTTP_POST_VARS['code']);
        $image = safe_input($HTTP_POST_VARS['image']);
        $directory = safe_input($HTTP_POST_VARS['directory']);
        $sort_order = safe_input($HTTP_POST_VARS['sort_order']);

        
        $db->query("update $table_languages set 
                                name = '$name',
                                code = '$code',
                                image = '$image',
                                directory = '$directory',
                                sort_order = '$sort_order'

                      where languages_id = '" . (int)$lID . "'");
        
				if (isset($HTTP_POST_VARS['default']) && ($HTTP_POST_VARS['default'] == 'on')) {
            $db->query("update $table_configuration set configuration_value = '" . ($code) . "' where configuration_key = 'DEFAULT_LANGUAGE'");
        }
				updatecache('categories');
				cpmsg("Soolan!语言成功编辑。",tep_href_link('admincp.php', 'act=languages&page=' . $HTTP_GET_VARS['page'] )); 
      break;
      case 'delete':
        $lID = safe_input($HTTP_GET_VARS['lID']);
        
        $lng_query = $db->query("select languages_id from $table_languages where code = '" . DEFAULT_LANGUAGE . "'");
        $lng = $db->fetch_array($lng_query);
        if ($lng['languages_id'] == $lID) {
            cpmsg(ERROR_REMOVE_DEFAULT_LANGUAGE,'');
        }

        $db->query("delete from $table_categories_description where language_id = '" . (int)$lID . "'");
        $db->query("delete from $table_products_description where language_id = '" . (int)$lID . "'");
        $db->query("delete from $table_products_options where language_id = '" . (int)$lID . "'");
        $db->query("delete from $table_products_options_values where language_id = '" . (int)$lID . "'");
        $db->query("delete from $table_manufacturers_info where languages_id = '" . (int)$lID . "'");
        $db->query("delete from $table_orders_status where language_id = '" . (int)$lID . "'");
        $db->query("delete from $table_languages where languages_id = '" . (int)$lID . "'");

				updatecache('categories');
				cpmsg("Soolan!语言成功删除。",tep_href_link('admincp.php', 'act=languages&page=' . $HTTP_GET_VARS['page']));  
        break;
    }
}elseif($type){
    switch ($type) {
      case 'delete':
        $lID = safe_input($HTTP_GET_VARS['lID']);

        $lng_query = $db->query("select code from $table_languages where languages_id = '" . (int)$lID . "'");
        $lng = $db->fetch_array($lng_query);
				
				$remove_language = true;
        if ($lng['code'] == DEFAULT_LANGUAGE) {
           cpmsg(ERROR_REMOVE_DEFAULT_LANGUAGE,'');
        }
        cpmsg("本操作不可恢复,您确定要删除该语言?", tep_href_link('admincp.php', 'act=languages&page=' . $HTTP_GET_VARS['page'].'&lID='.$lID.'&action=delete', 'NONSSL'), "form");
      break;
      case 'edit':
        $query = $db->query("select languages_id, name, code, image, directory, sort_order from $table_languages  where languages_id='".$lID."' ");
		    $languages = $db->fetch_array($query); 
		    $checked= (DEFAULT_LANGUAGE == $languages['code'])  ? 'checked' : '';
?>

<form method="post" action="<?=tep_href_link('admincp.php','act=languages')?>">
<input type="hidden" name="action" value="save">
<input type="hidden" name="lID" value="<?=$languages['languages_id']?>">
<table cellspacing="0" cellpadding="0" border="0" width="80%" align="center">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">

<tr class="header"><td colspan="2"><?=TEXT_INFO_HEADING_EDIT_LANGUAGE?>--<?=TEXT_INFO_EDIT_INTRO?></td></tr>

<tr align="center" bgcolor="<?=ALTBG2?>"><td width="40%" align="right"><?=TEXT_INFO_LANGUAGE_NAME?></td>
<td align="left"><input type="text" size="30" name="name" value="<?=$languages['name']?>"></td>
</tr>

<tr align="center" bgcolor="<?=ALTBG1?>"><td width="40%" align="right"><?=TEXT_INFO_LANGUAGE_CODE?></td>
<td align="left"><input type="text" size="30" name="code" value="<?=$languages['code']?>"></td>
</tr>

<tr align="center" bgcolor="<?=ALTBG2?>"><td width="40%" align="right"><?=TEXT_INFO_LANGUAGE_IMAGE?></td>
<td align="left"><input type="text" size="30" name="image" value="<?=$languages['image']?>"></td>
</tr>

<tr align="center" bgcolor="<?=ALTBG2?>"><td align="right"><?=TEXT_INFO_LANGUAGE_DIRECTORY?></td>
<td align="left"><input type="text" size="30" name="directory" value="<?=$languages['directory']?>"></td>
</tr>

<tr align="center" bgcolor="<?=ALTBG2?>"><td align="right"><?=TEXT_INFO_LANGUAGE_SORT_ORDER?></td>
<td align="left"><input type="text" size="5" name="sort_order" value="<?=$languages['sort_order']?>"></td>
</tr>
<?if(!$checked){
?>
<tr align="center" bgcolor="<?=ALTBG2?>"><td align="right"><?=TEXT_SET_DEFAULT?></td>
<td align="left"><input type="checkbox" name="default"></td>
</tr>
<?}?>
</table></td></tr></table><br><center><?=$warning?>
<input type="submit" name="submit" value="提   交">&nbsp;
</center></form><br><br>


<?
      break;
      
    }

}else{
?>
<br>
<table cellspacing="0" cellpadding="0" border="0" width="95%" align="center">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">
<tr class="header"><td>特别提示</td></tr>
<tr bgcolor="<?=ALTBG1?>"><td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr><td><li>默认语言不能删除<br>
<li>如果您要删除,请先将其它语言设为默认语言,然后在执行删除操作</td>

</tr></table></td></tr></table></td></tr></table>

<?
   if($page) {
	     $start_limit = ($page - 1) * MAX_DISPLAY_SEARCH_RESULTS ;
   } else {
	     $start_limit = 0;
	     $page = 1;
   }

   $query = $db->query("SELECT COUNT(*) from $table_languages ");
   $multipage = multi($db->result($query, 0), MAX_DISPLAY_SEARCH_RESULTS, $page, "admincp.php?act=languages".($desc ? "&desc=$desc" : NULL));
    
   $query = $db->query("select languages_id, name, code, image, directory, sort_order from $table_languages order by sort_order LIMIT $start_limit, ".MAX_DISPLAY_SEARCH_RESULTS);
   $altbg1 = ALTBG1;
   $altbg2 = ALTBG2;
   $productcount = 0;
?>
<br><br>
<?=$multipage?> 
<table cellspacing="0" cellpadding="0" border="0" width="95%" align="center" style="word-break:break-all;">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">
<tr class="header"><td><?=TABLE_HEADING_LANGUAGE_NAME?></td><td><?=TABLE_HEADING_LANGUAGE_CODE?></td><td width="20%" align="center"><?=TABLE_HEADING_ACTION?></td></tr>
<?
		while ($languages = $db->fetch_array($query)) {
         $bgno = $productcount++ % 2 + 1;
         //echo DEFAULT_CURRENCY;
?>
<tr bgcolor="<?=${'altbg'.$bgno}?>">
<? 
         if (DEFAULT_LANGUAGE == $languages['code']) {
             echo '<td><b>' . $languages['name'] . ' (' . TEXT_DEFAULT . ')</b></td>' . "\n";
         } else {
             echo '<td>' . $languages['name'] . '</td>' . "\n";
         }
?>
<td><?=$languages['code']?></td><td align="center"><a href="<?=tep_href_link('admincp.php', 'act=languages&page=' . $HTTP_GET_VARS['page'] . '&type=edit&lID=' .$languages['languages_id'])?>">详情</a>&nbsp;&nbsp;&nbsp;<a href="<?=tep_href_link('admincp.php', 'act=languages&page=' . $HTTP_GET_VARS['page'] . '&type=delete&lID=' .$languages['languages_id'])?>">删除</a></td></tr>
<?
    }
?>
</table></td></tr></table>   
<?=$multipage?>      
<br><br>

<form method="post" action="<?=tep_href_link('admincp.php','act=languages')?>">

<input type="hidden" name="action" value="new">
<table cellspacing="0" cellpadding="0" border="0" width="80%" align="center">
<tr><td bgcolor="<?=BORDERCOLOR?>">
<table border="0" cellspacing="<?=BORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%">
<tr class="header"><td colspan="7"><?=TEXT_INFO_HEADING_NEW_LANGUAGE?>--<?=TEXT_INFO_INSERT_INTRO?></td></tr>

<tr align="center" bgcolor="<?=ALTBG2?>"><td width="40%" align="right"><?=TEXT_INFO_LANGUAGE_NAME?></td>
<td align="left"><input type="text" size="30" name="name"></td>
</tr>

<tr align="center" bgcolor="<?=ALTBG1?>"><td width="40%" align="right"><?=TEXT_INFO_LANGUAGE_CODE?></td>
<td align="left"><input type="text" size="30" name="code"></td>
</tr>

<tr align="center" bgcolor="<?=ALTBG2?>"><td width="40%" align="right"><?=TEXT_INFO_LANGUAGE_IMAGE?></td>
<td align="left"><input type="text" size="30" name="image" value="icon.gif"></td>
</tr>

<tr align="center" bgcolor="<?=ALTBG2?>"><td align="right"><?=TEXT_INFO_LANGUAGE_DIRECTORY?></td>
<td align="left"><input type="text" size="30" name="directory"></td>
</tr>

<tr align="center" bgcolor="<?=ALTBG2?>"><td align="right"><?=TEXT_INFO_LANGUAGE_SORT_ORDER?></td>
<td align="left"><input type="text" size="5" name="sort_order"></td>
</tr>

<tr align="center" bgcolor="<?=ALTBG2?>"><td align="right"><?=TEXT_SET_DEFAULT?></td>
<td align="left"><input type="checkbox" name="default"></td>
</tr>

</table></td></tr></table><br><center><?=$warning?>
<input type="submit" name="submit" value="提   交">&nbsp;
</center></form><br><br>
    
<?}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?