[TEP-COMMIT] [CVS admin] create an administration tool version of the languages class, which extends
hpdl-OfajU3CKLf1/[email protected] 29 Nov 2004 14:36:21 -0000
| Newsgroups | gmane.comp.web.oscommerce.cvs |
|---|---|
| Message-ID | <[email protected]> |
<html>
<head>
<style><!--
body {background-color:#ffffff;}
.file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
.pathname {font-family:monospace; float:right;}
.fileheader {margin-bottom:.5em;}
.diff {margin:0;}
.tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
.tasklist ul {margin-top:0;margin-bottom:0;}
tr.alt {background-color:#eeeeee}
#added {background-color:#ddffdd;}
#addedchars {background-color:#99ff99;font-weight:bolder;}
tr.alt #added {background-color:#ccf7cc;}
#removed {background-color:#ffdddd;}
#removedchars {background-color:#ff9999;font-weight:bolder;}
tr.alt #removed {background-color:#f7cccc;}
#info {color:#888888;}
#context {background-color:#eeeeee;}
td {padding-left:.3em;padding-right:.3em;}
tr.head {border-bottom-width:1px;border-bottom-style:solid;}
tr.head td {padding:0;padding-top:.2em;}
.task {background-color:#ffff00;}
.comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd}
.error {color:red;}
hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="4">Commit in <b><tt>admin/admin</tt></b><span id="info"> on MAIN</span></td></tr>
<tr><td><tt><a href="#file1">languages.php</a></tt></td><td align="right" id="added">+9</td><td align="right" id="removed">-278</td><td nowrap="nowrap" align="center"><a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/languages.php?rev=1.38&content-type=text/vnd.viewcvs-markup">1.38</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/languages.php.diff?r1=1.38&r2=1.39">-></a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/languages.php?rev=1.39&content-type=text/vnd.viewcvs-markup">1.39</a></td></tr>
<tr class="alt"><td><tt>includes/<a href="#file2">application_top.php</a></tt></td><td align="right" id="added">+2</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center"><a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/application_top.php?rev=1.182&content-type=text/vnd.viewcvs-markup">1.182</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/application_top.php.diff?r1=1.182&r2=1.183">-></a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/application_top.php?rev=1.183&content-type=text/vnd.viewcvs-markup">1.183</a></td></tr>
<tr><td><tt>includes/classes/<a href="#file3">language.php</a></tt></td><td align="right" id="added">+363</td><td></td><td nowrap="nowrap" align="center"><a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/classes/language.php?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/classes/language.php.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/classes/language.php?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></td></tr>
<tr><td></td><td align="right" id="added">+374</td><td align="right" id="removed">-280</td><td></td></tr>
</table>
<small id="info">3 modified files</small><br />
<pre class="comment">
create an administration tool version of the languages class, which extends
on the catalog class version, where administration logic is kept
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname"><a href="http://cvs.oscommerce.com/viewcvs.cgi/admin">admin</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin">admin</a><br /></span>
<div class="fileheader"><big><b>languages.php</b></big> <small id="info"><a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/languages.php?rev=1.38&content-type=text/vnd.viewcvs-markup">1.38</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/languages.php.diff?r1=1.38&r2=1.39">-></a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/languages.php?rev=1.39&content-type=text/vnd.viewcvs-markup">1.39</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.38 -r1.39
--- languages.php 2004/11/29 00:14:16 1.38
+++ languages.php 2004/11/29 14:36:10 1.39
@@ -23,297 +23,28 @@
</small></pre><pre class="diff" id="context"> if (!empty($action)) {
switch ($action) {
case 'save':
</pre><pre class="diff" id="removed">- $error = false;
</pre><pre class="diff" id="added">+ $default = (isset($_POST['default']) && ($_POST['default'] == 'on')) ? true : false;
</pre><pre class="diff" id="context">
</pre><pre class="diff" id="removed">- $osC_Database->startTransaction();
-
</pre><pre class="diff" id="context"> if (isset($_GET['lID']) && is_numeric($_GET['lID'])) {
</pre><pre class="diff" id="removed">- $Qlanguage = $osC_Database->query('update :table_languages set name = :name, code = :code, image = :image, directory = :directory, sort_order = :sort_order where languages_id = :languages_id');
- $Qlanguage->bindInt(':languages_id', $_GET['lID']);
</pre><pre class="diff" id="added">+ $result = $osC_Language->update($_GET['lID'], $_POST, $default);
</pre><pre class="diff" id="context"> } else {
</pre><pre class="diff" id="removed">- $Qlanguage = $osC_Database->query('insert into :table_languages (name, code, image, directory, sort_order) values (:name, :code, :image, :directory, :sort_order)');
- }
- $Qlanguage->bindTable(':table_languages', TABLE_LANGUAGES);
- $Qlanguage->bindValue(':name', $_POST['name']);
- $Qlanguage->bindValue(':code', $_POST['code']);
- $Qlanguage->bindValue(':image', $_POST['image']);
- $Qlanguage->bindValue(':directory', $_POST['directory']);
- $Qlanguage->bindInt(':sort_order', $_POST['sort_order']);
- $Qlanguage->execute();
-
- if ($osC_Database->isError() === false) {
- if (isset($_GET['lID']) && is_numeric($_GET['lID'])) {
- $language_id = $_GET['lID'];
- } else {
- $language_id = $osC_Database->nextID();
- $default_language = $osC_Language->get(DEFAULT_LANGUAGE);
-
-// create additional categories_description records
- $Qcategories = $osC_Database->query('select categories_id, categories_name from :table_categories_description where language_id = :language_id');
- $Qcategories->bindTable(':table_categories_description', TABLE_CATEGORIES_DESCRIPTION);
- $Qcategories->bindInt(':language_id', $default_language['id']);
- $Qcategories->execute();
-
- while ($Qcategories->next()) {
- $Qinsert = $osC_Database->query('insert into :table_categories_description (categories_id, language_id, categories_name) values (:categories_id, :language_id, :categories_name)');
- $Qinsert->bindTable(':table_categories_description', TABLE_CATEGORIES_DESCRIPTION);
- $Qinsert->bindInt(':categories_id', $Qcategories->valueInt('categories_id'));
- $Qinsert->bindInt(':language_id', $language_id);
- $Qinsert->bindValue(':categories_name', $Qcategories->value('categories_name'));
- $Qinsert->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- break;
- }
- }
-
- if ($error === false) {
-// create additional products_description records
- $Qproducts = $osC_Database->query('select products_id, products_name, products_description, products_url from :table_products_description where language_id = :language_id');
- $Qproducts->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
- $Qproducts->bindInt(':language_id', $default_language['id']);
- $Qproducts->execute();
-
- while ($Qproducts->next()) {
- $Qinsert = $osC_Database->query('insert into :table_products_description (products_id, language_id, products_name, products_description, products_url) values (:products_id, :language_id, :products_name, :products_description, :products_url)');
- $Qinsert->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
- $Qinsert->bindInt(':products_id', $Qproducts->valueInt('products_id'));
- $Qinsert->bindInt(':language_id', $language_id);
- $Qinsert->bindInt(':products_name', $Qproducts->value('products_name'));
- $Qinsert->bindInt(':products_description', $Qproducts->value('products_description'));
- $Qinsert->bindInt(':products_url', $Qproducts->value('products_url'));
- $Qinsert->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- break;
- }
- }
- }
-
- if ($error === false) {
-// create additional products_options records
- $Qoptions = $osC_Database->query('select products_options_id, products_options_name from :table_products_options where language_id = :language_id');
- $Qoptions->bindTable(':table_products_options', TABLE_PRODUCTS_OPTIONS);
- $Qoptions->bindInt(':language_id', $default_language['id']);
- $Qoptions->execute();
-
- while ($Qoptions->next()) {
- $Qinsert = $osC_Database->query('insert into :table_products_options (products_options_id, language_id, products_options_name) values (:products_options_id, :language_id, :products_options_name)');
- $Qinsert->bindTable(':table_products_options', TABLE_PRODUCTS_OPTIONS);
- $Qinsert->bindInt(':products_options_id', $Qoptions->valueInt('products_options_id'));
- $Qinsert->bindInt(':language_id', $language_id);
- $Qinsert->bindValue(':products_options_name', $Qoptions->value('products_options_name'));
- $Qinsert->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- break;
- }
- }
- }
-
- if ($error === false) {
-// create additional products_options_values records
- $Qvalues = $osC_Database->query('select products_options_values_id, products_options_values_name from :table_products_options_values where language_id = :language_id');
- $Qvalues->bindTable(':table_products_options_values', TABLE_PRODUCTS_OPTIONS_VALUES);
- $Qvalues->bindInt(':language_id', $default_language['id']);
- $Qvalues->execute();
-
- while ($Qvalues->next()) {
- $Qinsert = $osC_Database->query('insert into :table_products_options_values (products_options_values_id, language_id, products_options_values_name) values (:products_options_values_id, :language_id, :products_options_values_name)');
- $Qinsert->bindTable(':table_products_options_values', TABLE_PRODUCTS_OPTIONS_VALUES);
- $Qinsert->bindInt(':products_options_values_id', $Qvalues->valueInt('products_options_values_id'));
- $Qinsert->bindInt(':language_id', $language_id);
- $Qinsert->bindValue(':products_options_values_name', $Qvalues->value('products_options_values_name'));
- $Qinsert->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- break;
- }
- }
- }
-
- if ($error === false) {
-// create additional manufacturers_info records
- $Qmanufacturers = $osC_Database->query('select manufacturers_id, manufacturers_url from :table_manufacturers_info where languages_id = :languages_id');
- $Qmanufacturers->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO);
- $Qmanufacturers->bindInt(':languages_id', $default_language['id']);
- $Qmanufacturers->execute();
-
- while ($Qmanufacturers->next()) {
- $Qinsert = $osC_Database->query('insert into :table_manufacturers_info (manufacturers_id, languages_id, manufacturers_url) values (:manufacturers_id, :languages_id, :manufacturers_url)');
- $Qinsert->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO);
- $Qinsert->bindInt(':manufacturers_id', $Qmanufacturers->valueInt('manufacturers_id'));
- $Qinsert->bindInt(':languages_id', $language_id);
- $Qinsert->bindValue(':manufacturers_url', $Qmanufacturers->value('manufacturers_url'));
- $Qinsert->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- break;
- }
- }
- }
-
- if ($error === false) {
-// create additional orders_status records
- $Qstatus = $osC_Database->query('select orders_status_id, orders_status_name from :table_orders_status where language_id = :language_id');
- $Qstatus->bindTable(':table_orders_status', TABLE_ORDERS_STATUS);
- $Qstatus->bindInt(':language_id', $default_language['id']);
- $Qstatus->execute();
-
- while ($Qstatus->next()) {
- $Qinsert = $osC_Database->query('insert into :table_orders_status (orders_status_id, language_id, orders_status_name) values (:orders_status_id, :language_id, :orders_status_name)');
- $Qinsert->bindTable(':table_orders_status', TABLE_ORDERS_STATUS);
- $Qinsert->bindInt(':orders_status_id', $Qstatus->valueInt('orders_status_id'));
- $Qinsert->bindInt(':language_id', $language_id);
- $Qinsert->bindValue(':orders_status_name', $Qstatus->value('orders_status_name'));
- $Qinsert->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- break;
- }
- }
- }
- }
- } else {
- $error = true;
- }
-
- if ($error === false) {
- if ( (isset($_POST['default']) && ($_POST['default'] == 'on')) || (isset($_POST['is_default']) && ($_POST['is_default'] == 'true') && ($_POST['code'] != DEFAULT_LANGUAGE)) ) {
- $Qupdate = $osC_Database->query('update :table_configuration set configuration_value = :configuration_value where configuration_key = :configuration_key');
- $Qupdate->bindTable(':table_configuration', TABLE_CONFIGURATION);
- $Qupdate->bindValue(':configuration_value', $_POST['code']);
- $Qupdate->bindValue(':configuration_key', 'DEFAULT_LANGUAGE');
- $Qupdate->execute();
-
- if ($osC_Database->isError() === false) {
- if ($Qupdate->affectedRows()) {
- osC_Cache::clear('configuration');
- }
- } else {
- $error = true;
- }
- }
</pre><pre class="diff" id="added">+ $result = $osC_Language->insert($_POST, $default);
</pre><pre class="diff" id="context"> }
</pre><pre class="diff" id="removed">-
- if ($error === false) {
- $osC_Database->commitTransaction();
</pre><pre class="diff" id="context">
</pre><pre class="diff" id="removed">- osC_Cache::clear('languages');
-
</pre><pre class="diff" id="added">+ if ($result === true) {
</pre><pre class="diff" id="context"> $osC_MessageStack->add_session('header', SUCCESS_DB_ROWS_UPDATED, 'success');
} else {
</pre><pre class="diff" id="removed">- $osC_Database->rollbackTransaction();
-
</pre><pre class="diff" id="context"> $osC_MessageStack->add_session('header', ERROR_DB_ROWS_NOT_UPDATED, 'error');
}
</pre><pre class="diff" id="removed">- tep_redirect(tep_href_link(FILENAME_LANGUAGES, 'page=' . $_GET['page']<span id="removedchars"> . '&lID=' . $language_id</span>));
</pre><pre class="diff" id="added">+ tep_redirect(tep_href_link(FILENAME_LANGUAGES, 'page=' . $_GET['page']));
</pre><pre class="diff" id="context"> break;
case 'deleteconfirm':
if (isset($_GET['lID']) && is_numeric($_GET['lID'])) {
</pre><pre class="diff" id="removed">- $Qcheck = $osC_Database->query('select code from :table_languages where languages_id = :languages_id');
- $Qcheck->bindTable(':table_languages', TABLE_LANGUAGES);
- $Qcheck->bindInt(':languages_id', $_GET['lID']);
- $Qcheck->execute();
-
- if ($Qcheck->value('code') != DEFAULT_LANGUAGE) {
- $error = false;
-
- $osC_Database->startTransaction();
-
- $Qcategories = $osC_Database->query('delete from :table_categories_description where language_id = :language_id');
- $Qcategories->bindTable(':table_categories_description', TABLE_CATEGORIES_DESCRIPTION);
- $Qcategories->bindInt(':language_id', $_GET['lID']);
- $Qcategories->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- }
-
- if ($error === false) {
- $Qproducts = $osC_Database->query('delete from :table_products_description where language_id = :language_id');
- $Qproducts->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
- $Qproducts->bindInt(':language_id', $_GET['lID']);
- $Qproducts->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- }
- }
-
- if ($error === false) {
- $Qproducts = $osC_Database->query('delete from :table_products_options where language_id = :language_id');
- $Qproducts->bindTable(':table_products_options', TABLE_PRODUCTS_OPTIONS);
- $Qproducts->bindInt(':language_id', $_GET['lID']);
- $Qproducts->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- }
- }
-
- if ($error === false) {
- $Qproducts = $osC_Database->query('delete from :table_products_options_values where language_id = :language_id');
- $Qproducts->bindTable(':table_products_options_values', TABLE_PRODUCTS_OPTIONS_VALUES);
- $Qproducts->bindInt(':language_id', $_GET['lID']);
- $Qproducts->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- }
- }
-
- if ($error === false) {
- $Qmanufacturers = $osC_Database->query('delete from :table_manufacturers_info where languages_id = :languages_id');
- $Qmanufacturers->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO);
- $Qmanufacturers->bindInt(':languages_id', $_GET['lID']);
- $Qmanufacturers->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- }
- }
-
- if ($error === false) {
- $Qstatus = $osC_Database->query('delete from :table_orders_status where language_id = :language_id');
- $Qstatus->bindTable(':table_orders_status', TABLE_ORDERS_STATUS);
- $Qstatus->bindInt(':language_id', $_GET['lID']);
- $Qstatus->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- }
- }
-
- if ($error === false) {
- $Qlanguages = $osC_Database->query('delete from :table_languages where languages_id = :languages_id');
- $Qlanguages->bindTable(':table_languages', TABLE_LANGUAGES);
- $Qlanguages->bindInt(':languages_id', $_GET['lID']);
- $Qlanguages->execute();
-
- if ($osC_Database->isError()) {
- $error = true;
- }
- }
-
- if ($error === false) {
- $osC_Database->commitTransaction();
-
- osC_Cache::clear('languages');
-
- $osC_MessageStack->add_session('header', SUCCESS_DB_ROWS_UPDATED, 'success');
- } else {
- $osC_Database->rollbackTransaction();
-
- $osC_MessageStack->add_session('header', ERROR_DB_ROWS_NOT_UPDATED, 'error');
- }
</pre><pre class="diff" id="added">+ if ($osC_Language->remove($_GET['lID'])) {
+ $osC_MessageStack->add_session('header', SUCCESS_DB_ROWS_UPDATED, 'success');
+ } else {
+ $osC_MessageStack->add_session('header', ERROR_DB_ROWS_NOT_UPDATED, 'error');
</pre><pre class="diff" id="context"> }
}
</pre></div>
<hr /><a name="file2" /><div class="file">
<span class="pathname"><a href="http://cvs.oscommerce.com/viewcvs.cgi/admin">admin</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin">admin</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes">includes</a><br /></span>
<div class="fileheader"><big><b>application_top.php</b></big> <small id="info"><a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/application_top.php?rev=1.182&content-type=text/vnd.viewcvs-markup">1.182</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/application_top.php.diff?r1=1.182&r2=1.183">-></a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/application_top.php?rev=1.183&content-type=text/vnd.viewcvs-markup">1.183</a></small></div>
<pre class="diff"><small id="info">diff -u -r1.182 -r1.183
--- application_top.php 2004/11/24 15:56:41 1.182
+++ application_top.php 2004/11/29 14:36:11 1.183
@@ -91,8 +91,8 @@
</small></pre><pre class="diff" id="context"> $osC_Session->start();
// set the language
</pre><pre class="diff" id="removed">- require('../includes/classes/language.php');
- $osC_Language = new osC_Language();
</pre><pre class="diff" id="added">+ require('includes/classes/language.php');
+ $osC_Language = new osC_Language_Admin();
</pre><pre class="diff" id="context">
if (isset($_GET['language']) && !empty($_GET['language'])) {
$osC_Language->set($_GET['language']);
</pre></div>
<hr /><a name="file3" /><div class="file">
<span class="pathname"><a href="http://cvs.oscommerce.com/viewcvs.cgi/admin">admin</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin">admin</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes">includes</a>/<a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/classes">classes</a><br /></span>
<div class="fileheader"><big><b>language.php</b></big> <small id="info"><a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/classes/language.php?rev=1.2&content-type=text/vnd.viewcvs-markup">1.2</a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/classes/language.php.diff?r1=1.2&r2=1.3">-></a> <a href="http://cvs.oscommerce.com/viewcvs.cgi/admin/admin/includes/classes/language.php?rev=1.3&content-type=text/vnd.viewcvs-markup">1.3</a></small></div>
<pre class="diff"><small id="info">diff -N language.php
--- /dev/null Mon Nov 29 15:36:13 2004
+++ /tmp/cvsAAAc.a4Lk Mon Nov 29 15:36:15 2004
@@ -0,0 +1,363 @@
</small></pre><pre class="diff" id="added">+<?php
+/*
+ $Id$
+
+ osCommerce, Open Source E-Commerce Solutions
+ http://www.oscommerce.com
+
+ Copyright (c) 2004 osCommerce
+
+ Released under the GNU General Public License
+*/
+
+ require('../includes/classes/language.php');
+
+ class osC_Language_Admin extends osC_Language {
+
+/* Class constructor */
+
+ function osC_Language_Admin() {
+ $this->osC_Language();
+ }
+
+ function insert($language, $default = false) {
+ global $osC_Database;
+
+ $error = false;
+
+ $osC_Database->startTransaction();
+
+ $Qlanguage = $osC_Database->query('insert into :table_languages (name, code, image, directory, sort_order) values (:name, :code, :image, :directory, :sort_order)');
+ $Qlanguage->bindTable(':table_languages', TABLE_LANGUAGES);
+ $Qlanguage->bindValue(':name', $language['name']);
+ $Qlanguage->bindValue(':code', $language['code']);
+ $Qlanguage->bindValue(':image', $language['image']);
+ $Qlanguage->bindValue(':directory', $language['directory']);
+ $Qlanguage->bindInt(':sort_order', $language['sort_order']);
+ $Qlanguage->execute();
+
+ if ($osC_Database->isError() === false) {
+ $language_id = $osC_Database->nextID();
+ $default_language = $this->get(DEFAULT_LANGUAGE);
+
+// create additional categories_description records
+ $Qcategories = $osC_Database->query('select categories_id, categories_name from :table_categories_description where language_id = :language_id');
+ $Qcategories->bindTable(':table_categories_description', TABLE_CATEGORIES_DESCRIPTION);
+ $Qcategories->bindInt(':language_id', $default_language['id']);
+ $Qcategories->execute();
+
+ while ($Qcategories->next()) {
+ $Qinsert = $osC_Database->query('insert into :table_categories_description (categories_id, language_id, categories_name) values (:categories_id, :language_id, :categories_name)');
+ $Qinsert->bindTable(':table_categories_description', TABLE_CATEGORIES_DESCRIPTION);
+ $Qinsert->bindInt(':categories_id', $Qcategories->valueInt('categories_id'));
+ $Qinsert->bindInt(':language_id', $language_id);
+ $Qinsert->bindValue(':categories_name', $Qcategories->value('categories_name'));
+ $Qinsert->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ break;
+ }
+ }
+
+ if ($error === false) {
+// create additional products_description records
+ $Qproducts = $osC_Database->query('select products_id, products_name, products_description, products_url from :table_products_description where language_id = :language_id');
+ $Qproducts->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
+ $Qproducts->bindInt(':language_id', $default_language['id']);
+ $Qproducts->execute();
+
+ while ($Qproducts->next()) {
+ $Qinsert = $osC_Database->query('insert into :table_products_description (products_id, language_id, products_name, products_description, products_url) values (:products_id, :language_id, :products_name, :products_description, :products_url)');
+ $Qinsert->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
+ $Qinsert->bindInt(':products_id', $Qproducts->valueInt('products_id'));
+ $Qinsert->bindInt(':language_id', $language_id);
+ $Qinsert->bindInt(':products_name', $Qproducts->value('products_name'));
+ $Qinsert->bindInt(':products_description', $Qproducts->value('products_description'));
+ $Qinsert->bindInt(':products_url', $Qproducts->value('products_url'));
+ $Qinsert->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ break;
+ }
+ }
+ }
+
+ if ($error === false) {
+// create additional products_options records
+ $Qoptions = $osC_Database->query('select products_options_id, products_options_name from :table_products_options where language_id = :language_id');
+ $Qoptions->bindTable(':table_products_options', TABLE_PRODUCTS_OPTIONS);
+ $Qoptions->bindInt(':language_id', $default_language['id']);
+ $Qoptions->execute();
+
+ while ($Qoptions->next()) {
+ $Qinsert = $osC_Database->query('insert into :table_products_options (products_options_id, language_id, products_options_name) values (:products_options_id, :language_id, :products_options_name)');
+ $Qinsert->bindTable(':table_products_options', TABLE_PRODUCTS_OPTIONS);
+ $Qinsert->bindInt(':products_options_id', $Qoptions->valueInt('products_options_id'));
+ $Qinsert->bindInt(':language_id', $language_id);
+ $Qinsert->bindValue(':products_options_name', $Qoptions->value('products_options_name'));
+ $Qinsert->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ break;
+ }
+ }
+ }
+
+ if ($error === false) {
+// create additional products_options_values records
+ $Qvalues = $osC_Database->query('select products_options_values_id, products_options_values_name from :table_products_options_values where language_id = :language_id');
+ $Qvalues->bindTable(':table_products_options_values', TABLE_PRODUCTS_OPTIONS_VALUES);
+ $Qvalues->bindInt(':language_id', $default_language['id']);
+ $Qvalues->execute();
+
+ while ($Qvalues->next()) {
+ $Qinsert = $osC_Database->query('insert into :table_products_options_values (products_options_values_id, language_id, products_options_values_name) values (:products_options_values_id, :language_id, :products_options_values_name)');
+ $Qinsert->bindTable(':table_products_options_values', TABLE_PRODUCTS_OPTIONS_VALUES);
+ $Qinsert->bindInt(':products_options_values_id', $Qvalues->valueInt('products_options_values_id'));
+ $Qinsert->bindInt(':language_id', $language_id);
+ $Qinsert->bindValue(':products_options_values_name', $Qvalues->value('products_options_values_name'));
+ $Qinsert->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ break;
+ }
+ }
+ }
+
+ if ($error === false) {
+// create additional manufacturers_info records
+ $Qmanufacturers = $osC_Database->query('select manufacturers_id, manufacturers_url from :table_manufacturers_info where languages_id = :languages_id');
+ $Qmanufacturers->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO);
+ $Qmanufacturers->bindInt(':languages_id', $default_language['id']);
+ $Qmanufacturers->execute();
+
+ while ($Qmanufacturers->next()) {
+ $Qinsert = $osC_Database->query('insert into :table_manufacturers_info (manufacturers_id, languages_id, manufacturers_url) values (:manufacturers_id, :languages_id, :manufacturers_url)');
+ $Qinsert->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO);
+ $Qinsert->bindInt(':manufacturers_id', $Qmanufacturers->valueInt('manufacturers_id'));
+ $Qinsert->bindInt(':languages_id', $language_id);
+ $Qinsert->bindValue(':manufacturers_url', $Qmanufacturers->value('manufacturers_url'));
+ $Qinsert->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ break;
+ }
+ }
+ }
+
+ if ($error === false) {
+// create additional orders_status records
+ $Qstatus = $osC_Database->query('select orders_status_id, orders_status_name from :table_orders_status where language_id = :language_id');
+ $Qstatus->bindTable(':table_orders_status', TABLE_ORDERS_STATUS);
+ $Qstatus->bindInt(':language_id', $default_language['id']);
+ $Qstatus->execute();
+
+ while ($Qstatus->next()) {
+ $Qinsert = $osC_Database->query('insert into :table_orders_status (orders_status_id, language_id, orders_status_name) values (:orders_status_id, :language_id, :orders_status_name)');
+ $Qinsert->bindTable(':table_orders_status', TABLE_ORDERS_STATUS);
+ $Qinsert->bindInt(':orders_status_id', $Qstatus->valueInt('orders_status_id'));
+ $Qinsert->bindInt(':language_id', $language_id);
+ $Qinsert->bindValue(':orders_status_name', $Qstatus->value('orders_status_name'));
+ $Qinsert->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ break;
+ }
+ }
+ }
+ } else {
+ $error = true;
+ }
+
+ if ($error === false) {
+ if ($default === true) {
+ $Qupdate = $osC_Database->query('update :table_configuration set configuration_value = :configuration_value where configuration_key = :configuration_key');
+ $Qupdate->bindTable(':table_configuration', TABLE_CONFIGURATION);
+ $Qupdate->bindValue(':configuration_value', $language['code']);
+ $Qupdate->bindValue(':configuration_key', 'DEFAULT_LANGUAGE');
+ $Qupdate->execute();
+
+ if ($osC_Database->isError() === false) {
+ if ($Qupdate->affectedRows()) {
+ osC_Cache::clear('configuration');
+ }
+ } else {
+ $error = true;
+ }
+ }
+ }
+
+ if ($error === false) {
+ $osC_Database->commitTransaction();
+
+ osC_Cache::clear('languages');
+
+ return true;
+ } else {
+ $osC_Database->rollbackTransaction();
+ }
+
+ return false;
+ }
+
+ function update($id, $language, $default = false) {
+ global $osC_Database;
+
+ $error = false;
+
+ $osC_Database->startTransaction();
+
+ $Qlanguage = $osC_Database->query('update :table_languages set name = :name, code = :code, image = :image, directory = :directory, sort_order = :sort_order where languages_id = :languages_id');
+ $Qlanguage->bindTable(':table_languages', TABLE_LANGUAGES);
+ $Qlanguage->bindValue(':name', $language['name']);
+ $Qlanguage->bindValue(':code', $language['code']);
+ $Qlanguage->bindValue(':image', $language['image']);
+ $Qlanguage->bindValue(':directory', $language['directory']);
+ $Qlanguage->bindInt(':sort_order', $language['sort_order']);
+ $Qlanguage->bindInt(':languages_id', $id);
+ $Qlanguage->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ }
+
+ if ($error === false) {
+ if ($default === true) {
+ $Qupdate = $osC_Database->query('update :table_configuration set configuration_value = :configuration_value where configuration_key = :configuration_key');
+ $Qupdate->bindTable(':table_configuration', TABLE_CONFIGURATION);
+ $Qupdate->bindValue(':configuration_value', $language['code']);
+ $Qupdate->bindValue(':configuration_key', 'DEFAULT_LANGUAGE');
+ $Qupdate->execute();
+
+ if ($osC_Database->isError() === false) {
+ if ($Qupdate->affectedRows()) {
+ osC_Cache::clear('configuration');
+ }
+ } else {
+ $error = true;
+ }
+ }
+ }
+
+ if ($error === false) {
+ $osC_Database->commitTransaction();
+
+ osC_Cache::clear('languages');
+
+ return true;
+ } else {
+ $osC_Database->rollbackTransaction();
+ }
+
+ return false;
+ }
+
+ function remove($id) {
+ global $osC_Database;
+
+ $Qcheck = $osC_Database->query('select code from :table_languages where languages_id = :languages_id');
+ $Qcheck->bindTable(':table_languages', TABLE_LANGUAGES);
+ $Qcheck->bindInt(':languages_id', $id);
+ $Qcheck->execute();
+
+ if ($Qcheck->value('code') != DEFAULT_LANGUAGE) {
+ $error = false;
+
+ $osC_Database->startTransaction();
+
+ $Qcategories = $osC_Database->query('delete from :table_categories_description where language_id = :language_id');
+ $Qcategories->bindTable(':table_categories_description', TABLE_CATEGORIES_DESCRIPTION);
+ $Qcategories->bindInt(':language_id', $id);
+ $Qcategories->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ }
+
+ if ($error === false) {
+ $Qproducts = $osC_Database->query('delete from :table_products_description where language_id = :language_id');
+ $Qproducts->bindTable(':table_products_description', TABLE_PRODUCTS_DESCRIPTION);
+ $Qproducts->bindInt(':language_id', $id);
+ $Qproducts->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ }
+ }
+
+ if ($error === false) {
+ $Qproducts = $osC_Database->query('delete from :table_products_options where language_id = :language_id');
+ $Qproducts->bindTable(':table_products_options', TABLE_PRODUCTS_OPTIONS);
+ $Qproducts->bindInt(':language_id', $id);
+ $Qproducts->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ }
+ }
+
+ if ($error === false) {
+ $Qproducts = $osC_Database->query('delete from :table_products_options_values where language_id = :language_id');
+ $Qproducts->bindTable(':table_products_options_values', TABLE_PRODUCTS_OPTIONS_VALUES);
+ $Qproducts->bindInt(':language_id', $id);
+ $Qproducts->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ }
+ }
+
+ if ($error === false) {
+ $Qmanufacturers = $osC_Database->query('delete from :table_manufacturers_info where languages_id = :languages_id');
+ $Qmanufacturers->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO);
+ $Qmanufacturers->bindInt(':languages_id', $id);
+ $Qmanufacturers->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ }
+ }
+
+ if ($error === false) {
+ $Qstatus = $osC_Database->query('delete from :table_orders_status where language_id = :language_id');
+ $Qstatus->bindTable(':table_orders_status', TABLE_ORDERS_STATUS);
+ $Qstatus->bindInt(':language_id', $id);
+ $Qstatus->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ }
+ }
+
+ if ($error === false) {
+ $Qlanguages = $osC_Database->query('delete from :table_languages where languages_id = :languages_id');
+ $Qlanguages->bindTable(':table_languages', TABLE_LANGUAGES);
+ $Qlanguages->bindInt(':languages_id', $id);
+ $Qlanguages->execute();
+
+ if ($osC_Database->isError()) {
+ $error = true;
+ }
+ }
+
+ if ($error === false) {
+ $osC_Database->commitTransaction();
+
+ osC_Cache::clear('languages');
+
+ return true;
+ } else {
+ $osC_Database->rollbackTransaction();
+ }
+ }
+
+ return false;
+ }
+ }
+?>
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.9</small></center>
</body></html>
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/