public static function execute($module) { $class = 'osCommerce\\OM\\Core\\Site\\Admin\\Module\\Service\\' . $module; if (class_exists($class)) { $OSCOM_SM = new $class(); $OSCOM_SM->install(); $sm = explode(';', MODULE_SERVICES_INSTALLED); if (isset($OSCOM_SM->depends)) { if (is_string($OSCOM_SM->depends) && ($key = array_search($OSCOM_SM->depends, $sm)) !== false) { if (isset($sm[$key + 1])) { array_splice($sm, $key + 1, 0, $module); } else { $sm[] = $module; } } elseif (is_array($OSCOM_SM->depends)) { foreach ($OSCOM_SM->depends as $depends_module) { if (($key = array_search($depends_module, $sm)) !== false) { if (!isset($array_position) || $key > $array_position) { $array_position = $key; } } } if (isset($array_position)) { array_splice($sm, $array_position + 1, 0, $module); } else { $sm[] = $module; } } } elseif (isset($OSCOM_SM->precedes)) { if (is_string($OSCOM_SM->precedes)) { if (($key = array_search($OSCOM_SM->precedes, $sm)) !== false) { array_splice($sm, $key, 0, $module); } else { $sm[] = $module; } } elseif (is_array($OSCOM_SM->precedes)) { foreach ($OSCOM_SM->precedes as $precedes_module) { if (($key = array_search($precedes_module, $sm)) !== false) { if (!isset($array_position) || $key < $array_position) { $array_position = $key; } } } if (isset($array_position)) { array_splice($sm, $array_position, 0, $module); } else { $sm[] = $module; } } } else { $sm[] = $module; } $data = array('key' => 'MODULE_SERVICES_INSTALLED', 'value' => implode(';', $sm)); if (OSCOM::callDB('Admin\\Configuration\\EntrySave', $data)) { Cache::clear('configuration'); return true; } } return false; }
public static function execute($data) { if (OSCOM::callDB('Admin\\Configuration\\EntrySave', $data)) { Cache::clear('configuration'); return true; } return false; }
public static function execute($id) { $data = array('id' => $id); if (Languages::get($id, 'code') != DEFAULT_LANGUAGE && OSCOM::callDB('Admin\\Languages\\Delete', $data)) { Cache::clear('languages'); return true; } return false; }
public static function execute($group) { $data = array('group' => $group); if (OSCOM::callDB('Admin\\Languages\\DeleteGroup', $data)) { Cache::clear('languages'); return true; } return false; }
public static function execute($id) { $data = array('id' => $id); if (OSCOM::callDB('Admin\\Currencies\\Delete', $data)) { Cache::clear('currencies'); return true; } return false; }
public static function execute($id, $status) { $data = array('id' => $id, 'status' => $status); if (OSCOM::callDB('Admin\\CreditCards\\SetStatus', $data)) { Cache::clear('credit-cards'); return true; } return false; }
public static function execute($data) { if (OSCOM::callDB('Admin\\Categories\\SaveSortOrder', $data)) { Cache::clear('categories'); Cache::clear('category_tree'); Cache::clear('also_purchased'); return true; } return false; }
public static function execute($id) { $def = Languages::getDefinition($id); $data = array('id' => $id); if (OSCOM::callDB('Admin\\Languages\\DeleteDefinition', $data)) { Cache::clear('languages-' . Languages::get($def['languages_id'], 'code') . '-' . $def['content_group']); return true; } return false; }
public static function execute($data) { if (OSCOM::callDB('Admin\\Languages\\Update', $data)) { Cache::clear('languages'); if ($data['set_default'] === true) { Cache::clear('configuration'); } return true; } return false; }
public static function execute($id = null, $data) { if (is_numeric($id)) { $data['id'] = $id; } if (OSCOM::callDB('Admin\\CreditCards\\Save', $data)) { Cache::clear('credit-cards'); return true; } return false; }
public static function execute($data) { if (OSCOM::callDB('Admin\\Currencies\\Save', $data)) { Cache::clear('currencies'); if ($data['set_default'] === true) { Cache::clear('configuration'); } return true; } return false; }
public static function execute($data) { $definitions = $data['definitions']; unset($data['definitions']); foreach ($definitions as $key => $value) { $data['key'] = $key; $data['value'] = $value; OSCOM::callDB('Admin\\Languages\\UpdateDefinition', $data); Cache::clear('languages-' . Languages::get($data['language_id'], 'code') . '-' . $data['group']); } return true; }
public static function execute($data) { $languages = Languages::getAll(-1); $languages = $languages['entries']; $values = $data['values']; unset($data['values']); foreach ($languages as $l) { $data['language_id'] = $l['languages_id']; $data['value'] = $values[$l['languages_id']]; OSCOM::callDB('Admin\\Languages\\InsertDefinition', $data); Cache::clear('languages-' . $l['code'] . '-' . $data['group']); } return true; }
public static function execute($module) { $OSCOM_Language = Registry::get('Language'); $class = 'osCommerce\\OM\\Core\\Site\\Admin\\Module\\Payment\\' . $module; if (class_exists($class)) { $OSCOM_Language->injectDefinitions('modules/payment/' . $module . '.xml'); $OSCOM_PM = new $class(); $OSCOM_PM->remove(); Cache::clear('modules-payment'); Cache::clear('configuration'); return true; } return false; }
public static function execute($module) { $class = 'osCommerce\\OM\\Core\\Site\\Admin\\Module\\Service\\' . $module; if (class_exists($class)) { $OSCOM_SM = new $class(); $OSCOM_SM->remove(); $sm = explode(';', MODULE_SERVICES_INSTALLED); unset($sm[array_search($module, $sm)]); $data = array('key' => 'MODULE_SERVICES_INSTALLED', 'value' => implode(';', $sm)); if (OSCOM::callDB('Admin\\Configuration\\EntrySave', $data)) { Cache::clear('configuration'); return true; } } return false; }
public function remove() { $OSCOM_Language = Registry::get('Language'); $data = array('code' => $this->_code, 'group' => 'OrderTotal'); OSCOM::callDB('Admin\\DeleteModule', $data, 'Site'); if ($this->hasKeys()) { OSCOM::callDB('Admin\\DeleteConfigurationParameters', $this->getKeys(), 'Site'); Cache::clear('configuration'); } if (file_exists(OSCOM::BASE_DIRECTORY . 'Core/Site/Shop/Languages/' . $OSCOM_Language->getCode() . '/modules/order_total/' . $this->_code . '.xml')) { foreach ($OSCOM_Language->extractDefinitions($OSCOM_Language->getCode() . '/modules/order_total/' . $this->_code . '.xml') as $def) { OSCOM::callDB('Admin\\DeleteLanguageDefinitions', $def, 'Site'); } Cache::clear('languages'); } }
public static function execute($service) { $updated = array('0' => array(), '1' => array()); $currencies = Currencies::getAll(-1); $currencies = $currencies['entries']; foreach ($currencies as $currency) { $data = array('id' => $currency['currencies_id'], 'rate' => call_user_func('quote_' . $service . '_currency', $currency['code'])); if (!empty($data['rate']) && OSCOM::callDB('Admin\\Currencies\\UpdateRate', $data)) { $updated[1][] = array('title' => $currency['title'], 'code' => $currency['code']); } else { $updated[0][] = array('title' => $currency['title'], 'code' => $currency['code']); } } if (!empty($updated[1])) { Cache::clear('currencies'); } return $updated; }
public static function execute($id) { if (Registry::exists('CategoryTree')) { $OSCOM_CategoryTree = Registry::get('CategoryTree'); } else { $OSCOM_CategoryTree = new CategoryTree(); Registry::set('CategoryTree', $OSCOM_CategoryTree); } $data = array('id' => $id); foreach (array_merge(array($data['id']), $OSCOM_CategoryTree->getChildren($data['id'])) as $c) { Categories::deleteImage($c); } if (OSCOM::callDB('Admin\\Categories\\Delete', $data)) { Cache::clear('categories'); Cache::clear('category_tree'); Cache::clear('also_purchased'); return true; } return false; }
public static function execute($id = null, $data) { if (Registry::exists('CategoryTree')) { $OSCOM_CategoryTree = Registry::get('CategoryTree'); } else { $OSCOM_CategoryTree = new CategoryTree(); Registry::set('CategoryTree', $OSCOM_CategoryTree); } if (is_numeric($id)) { $data['id'] = $id; } // Prevent another big bang and check if category is not being moved to a child category if (isset($data['id']) && $OSCOM_CategoryTree->getParentID($data['id']) != $data['parent_id']) { if (in_array($data['id'], explode('_', $OSCOM_CategoryTree->buildBreadcrumb($data['parent_id'])))) { return false; } } if (isset($data['image'])) { $new_image = $data['image']; while (file_exists(OSCOM::getConfig('dir_fs_public', 'OSCOM') . 'categories/' . $new_image)) { $new_image = rand(10, 99) . $new_image; } if (rename(OSCOM::getConfig('dir_fs_public', 'OSCOM') . 'upload/' . $data['image'], OSCOM::getConfig('dir_fs_public', 'OSCOM') . 'categories/' . $new_image)) { if (is_numeric($id)) { $old_image = Categories::get($id, 'categories_image'); unlink(OSCOM::getConfig('dir_fs_public', 'OSCOM') . 'categories/' . $old_image); } $data['image'] = $new_image; } else { $data['image'] = null; } } if (OSCOM::callDB('Admin\\Categories\\Save', $data)) { Cache::clear('categories'); Cache::clear('category_tree'); Cache::clear('also_purchased'); return true; } return false; }
public static function execute($id, $parent_id) { if (Registry::exists('CategoryTree')) { $OSCOM_CategoryTree = Registry::get('CategoryTree'); } else { $OSCOM_CategoryTree = new CategoryTree(); Registry::set('CategoryTree', $OSCOM_CategoryTree); } $data = array('id' => $id, 'parent_id' => $parent_id); // Prevent another big bang and check if category is not being moved to a child category if ($OSCOM_CategoryTree->getParentID($data['id']) != $data['parent_id']) { if (in_array($data['id'], explode('_', $OSCOM_CategoryTree->buildBreadcrumb($data['parent_id'])))) { return false; } } if (OSCOM::callDB('Admin\\Categories\\Move', $data)) { Cache::clear('categories'); Cache::clear('category_tree'); Cache::clear('also_purchased'); return true; } return false; }
public function remove() { $OSCOM_Database = Registry::get('Database'); $OSCOM_Language = Registry::get('Language'); $Qdel = $OSCOM_Database->query('delete from :table_templates_boxes where code = :code and modules_group = :modules_group'); $Qdel->bindValue(':code', $this->_code); $Qdel->bindValue(':modules_group', $this->_group); $Qdel->execute(); if ($this->hasKeys()) { $Qdel = $OSCOM_Database->query('delete from :table_configuration where configuration_key in (":configuration_key")'); $Qdel->bindRaw(':configuration_key', implode('", "', $this->getKeys())); $Qdel->execute(); } if (file_exists(OSCOM::BASE_DIRECTORY . 'Core/Site/Shop/Languages/' . $OSCOM_Language->getCode() . '/modules/' . $this->_group . '/' . $this->_code . '.xml')) { foreach ($OSCOM_Language->extractDefinitions($OSCOM_Language->getCode() . '/modules/' . $this->_group . '/' . $this->_code . '.xml') as $def) { $Qdel = $OSCOM_Database->query('delete from :table_languages_definitions where definition_key = :definition_key and content_group = :content_group'); $Qdel->bindValue(':definition_key', $def['key']); $Qdel->bindValue(':content_group', $def['group']); $Qdel->execute(); } Cache::clear('languages'); } }
public static function execute($data) { $source = array('language' => XML::toArray(simplexml_load_file(OSCOM::BASE_DIRECTORY . 'Core/Site/Shop/Languages/' . $data['code'] . '.xml'))); $language = array('name' => $source['language']['data']['title'], 'code' => $source['language']['data']['code'], 'locale' => $source['language']['data']['locale'], 'charset' => $source['language']['data']['character_set'], 'date_format_short' => $source['language']['data']['date_format_short'], 'date_format_long' => $source['language']['data']['date_format_long'], 'time_format' => $source['language']['data']['time_format'], 'text_direction' => $source['language']['data']['text_direction'], 'currency' => $source['language']['data']['default_currency'], 'numeric_separator_decimal' => $source['language']['data']['numerical_decimal_separator'], 'numeric_separator_thousands' => $source['language']['data']['numerical_thousands_separator'], 'parent_language_code' => isset($source['language']['data']['parent_language_code']) ? $source['language']['data']['parent_language_code'] : '', 'parent_id' => 0); if (!Currencies::exists($language['currency'])) { $language['currency'] = DEFAULT_CURRENCY; } $language['currencies_id'] = Currencies::get($language['currency'], 'currencies_id'); if (!empty($language['parent_language_code']) && Languages::exists($language['parent_language_code'])) { $language['parent_id'] = Languages::get($language['parent_language_code'], 'languages_id'); } $language['id'] = Languages::get($language['code'], 'languages_id'); $language['default_language_id'] = Languages::get(DEFAULT_LANGUAGE, 'languages_id'); $language['import_type'] = $data['type']; $definitions = array(); if (isset($source['language']['definitions']['definition'])) { $definitions = $source['language']['definitions']['definition']; if (isset($definitions['key']) && isset($definitions['value']) && isset($definitions['group'])) { $definitions = array(array('key' => $definitions['key'], 'value' => $definitions['value'], 'group' => $definitions['group'])); } } unset($source); $OSCOM_DirectoryListing = new DirectoryListing(OSCOM::BASE_DIRECTORY . 'Core/Site/Shop/Languages/' . $data['code']); $OSCOM_DirectoryListing->setRecursive(true); $OSCOM_DirectoryListing->setIncludeDirectories(false); $OSCOM_DirectoryListing->setAddDirectoryToFilename(true); $OSCOM_DirectoryListing->setCheckExtension('xml'); foreach ($OSCOM_DirectoryListing->getFiles() as $files) { $definitions = array_merge($definitions, Language::extractDefinitions($data['code'] . '/' . $files['name'])); } $language['definitions'] = $definitions; if (OSCOM::callDB('Admin\\Languages\\Import', $language)) { Cache::clear('languages'); return true; } return false; }
public static function updateRates($service) { $OSCOM_Database = Registry::get('Database'); $updated = array('0' => array(), '1' => array()); foreach (osc_toObjectInfo(self::getAll(-1))->get('entries') as $currency) { $rate = call_user_func('quote_' . $service . '_currency', $currency['code']); if (!empty($rate)) { $Qupdate = $OSCOM_Database->query('update :table_currencies set value = :value, last_updated = now() where currencies_id = :currencies_id'); $Qupdate->bindValue(':value', $rate); $Qupdate->bindInt(':currencies_id', $currency['currencies_id']); $Qupdate->setLogging(null, $currency['currencies_id']); $Qupdate->execute(); $updated[1][] = array('title' => $currency['title'], 'code' => $currency['code']); } else { $updated[0][] = array('title' => $currency['title'], 'code' => $currency['code']); } } Cache::clear('currencies'); return $updated; }
function remove() { $OSCOM_PDO = Registry::get('PDO'); $OSCOM_Language = Registry::get('Language'); $Qdel = $OSCOM_PDO->prepare('delete from :table_templates_boxes where code = :code and modules_group = :modules_group'); $Qdel->bindValue(':code', $this->_code); $Qdel->bindValue(':modules_group', $this->_group); $Qdel->execute(); if ($this->hasKeys()) { $OSCOM_PDO->exec('delete from :table_configuration where configuration_key in ("' . implode('", "', $this->getKeys()) . '")'); } if (file_exists(dirname(__FILE__) . '/../languages/' . $OSCOM_Language->getCode() . '/modules/' . $this->_group . '/' . $this->_code . '.xml')) { foreach ($OSCOM_Language->extractDefinitions($OSCOM_Language->getCode() . '/modules/' . $this->_group . '/' . $this->_code . '.xml') as $def) { $Qdel = $OSCOM_PDO->prepare('delete from :table_languages_definitions where definition_key = :definition_key and content_group = :content_group'); $Qdel->bindValue(':definition_key', $def['key']); $Qdel->bindValue(':content_group', $def['group']); $Qdel->execute(); } Cache::clear('languages'); } }
public static function setStatus($id, $status) { $OSCOM_Database = Registry::get('Database'); $Qcc = $OSCOM_Database->query('update :table_credit_cards set credit_card_status = :credit_card_status where id = :id'); $Qcc->bindInt(':credit_card_status', $status === true ? 1 : 0); $Qcc->bindInt(':id', $id); $Qcc->setLogging(null, $id); $Qcc->execute(); if ($Qcc->affectedRows()) { Cache::clear('credit-cards'); return true; } }
public static function import($file, $type) { $OSCOM_Database = Registry::get('Database'); if (file_exists(OSCOM::BASE_DIRECTORY . 'Core/Site/Shop/Languages/' . $file . '.xml')) { $source = array('language' => XML::toArray(simplexml_load_file(OSCOM::BASE_DIRECTORY . 'Core/Site/Shop/Languages/' . $file . '.xml'))); $language = array('name' => $source['language']['data']['title'], 'code' => $source['language']['data']['code'], 'locale' => $source['language']['data']['locale'], 'charset' => $source['language']['data']['character_set'], 'date_format_short' => $source['language']['data']['date_format_short'], 'date_format_long' => $source['language']['data']['date_format_long'], 'time_format' => $source['language']['data']['time_format'], 'text_direction' => $source['language']['data']['text_direction'], 'currency' => $source['language']['data']['default_currency'], 'numeric_separator_decimal' => $source['language']['data']['numerical_decimal_separator'], 'numeric_separator_thousands' => $source['language']['data']['numerical_thousands_separator'], 'parent_language_code' => isset($source['language']['data']['parent_language_code']) ? $source['language']['data']['parent_language_code'] : '', 'parent_id' => 0); if (!Currencies::exists($language['currency'])) { $language['currency'] = DEFAULT_CURRENCY; } if (!empty($language['parent_language_code']) && self::exists($language['parent_language_code'])) { $language['parent_id'] = self::get($language['parent_language_code'], 'languages_id'); } $definitions = array(); if (isset($source['language']['definitions']['definition'])) { $definitions = $source['language']['definitions']['definition']; if (isset($definitions['key']) && isset($definitions['value']) && isset($definitions['group'])) { $definitions = array(array('key' => $definitions['key'], 'value' => $definitions['value'], 'group' => $definitions['group'])); } } unset($source); $error = false; $add_category_and_product_placeholders = true; $OSCOM_Database->startTransaction(); $language_id = self::get($language['code'], 'languages_id'); if ($language_id !== false) { $add_category_and_product_placeholders = false; $Qlanguage = $OSCOM_Database->query('update :table_languages set name = :name, code = :code, locale = :locale, charset = :charset, date_format_short = :date_format_short, date_format_long = :date_format_long, time_format = :time_format, text_direction = :text_direction, currencies_id = :currencies_id, numeric_separator_decimal = :numeric_separator_decimal, numeric_separator_thousands = :numeric_separator_thousands, parent_id = :parent_id where languages_id = :languages_id'); $Qlanguage->bindInt(':languages_id', $language_id); } else { $Qlanguage = $OSCOM_Database->query('insert into :table_languages (name, code, locale, charset, date_format_short, date_format_long, time_format, text_direction, currencies_id, numeric_separator_decimal, numeric_separator_thousands, parent_id) values (:name, :code, :locale, :charset, :date_format_short, :date_format_long, :time_format, :text_direction, :currencies_id, :numeric_separator_decimal, :numeric_separator_thousands, :parent_id)'); } $Qlanguage->bindValue(':name', $language['name']); $Qlanguage->bindValue(':code', $language['code']); $Qlanguage->bindValue(':locale', $language['locale']); $Qlanguage->bindValue(':charset', $language['charset']); $Qlanguage->bindValue(':date_format_short', $language['date_format_short']); $Qlanguage->bindValue(':date_format_long', $language['date_format_long']); $Qlanguage->bindValue(':time_format', $language['time_format']); $Qlanguage->bindValue(':text_direction', $language['text_direction']); $Qlanguage->bindInt(':currencies_id', Currencies::get($language['currency'], 'currencies_id')); $Qlanguage->bindValue(':numeric_separator_decimal', $language['numeric_separator_decimal']); $Qlanguage->bindValue(':numeric_separator_thousands', $language['numeric_separator_thousands']); $Qlanguage->bindInt(':parent_id', $language['parent_id']); $Qlanguage->setLogging(null, $language_id !== false ? $language_id : null); $Qlanguage->execute(); if ($OSCOM_Database->isError()) { $error = true; } else { if ($language_id === false) { $language_id = $OSCOM_Database->nextID(); } $default_language_id = self::get(DEFAULT_LANGUAGE, 'languages_id'); if ($type == 'replace') { $Qdel = $OSCOM_Database->query('delete from :table_languages_definitions where languages_id = :languages_id'); $Qdel->bindInt(':languages_id', $language_id); $Qdel->execute(); if ($OSCOM_Database->isError()) { $error = true; } } } if ($error === false) { $OSCOM_DirectoryListing = new DirectoryListing(OSCOM::BASE_DIRECTORY . 'Core/Site/Shop/Languages/' . $file); $OSCOM_DirectoryListing->setRecursive(true); $OSCOM_DirectoryListing->setIncludeDirectories(false); $OSCOM_DirectoryListing->setAddDirectoryToFilename(true); $OSCOM_DirectoryListing->setCheckExtension('xml'); foreach ($OSCOM_DirectoryListing->getFiles() as $files) { $definitions = array_merge($definitions, Language::extractDefinitions($file . '/' . $files['name'])); } foreach ($definitions as $def) { $insert = false; $update = false; if ($type == 'replace') { $insert = true; } else { $Qcheck = $OSCOM_Database->query('select definition_key, content_group from :table_languages_definitions where definition_key = :definition_key and languages_id = :languages_id and content_group = :content_group'); $Qcheck->bindValue(':definition_key', $def['key']); $Qcheck->bindInt(':languages_id', $language_id); $Qcheck->bindValue(':content_group', $def['group']); $Qcheck->execute(); if ($Qcheck->numberOfRows() > 0) { if ($type == 'update') { $update = true; } } elseif ($type == 'add') { $insert = true; } } if ($insert === true || $update === true) { if ($insert === true) { $Qdef = $OSCOM_Database->query('insert into :table_languages_definitions (languages_id, content_group, definition_key, definition_value) values (:languages_id, :content_group, :definition_key, :definition_value)'); } else { $Qdef = $OSCOM_Database->query('update :table_languages_definitions set content_group = :content_group, definition_key = :definition_key, definition_value = :definition_value where definition_key = :definition_key and languages_id = :languages_id and content_group = :content_group'); $Qdef->bindValue(':definition_key', $def['key']); $Qdef->bindValue(':content_group', $def['group']); } $Qdef->bindInt(':languages_id', $language_id); $Qdef->bindValue(':content_group', $def['group']); $Qdef->bindValue(':definition_key', $def['key']); $Qdef->bindValue(':definition_value', $def['value']); $Qdef->execute(); if ($OSCOM_Database->isError()) { $error = true; break; } } } } if ($add_category_and_product_placeholders === true) { if ($error === false) { $Qcategories = $OSCOM_Database->query('select categories_id, categories_name from :table_categories_description where language_id = :language_id'); $Qcategories->bindInt(':language_id', $default_language_id); $Qcategories->execute(); while ($Qcategories->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_categories_description (categories_id, language_id, categories_name) values (:categories_id, :language_id, :categories_name)'); $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 ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qproducts = $OSCOM_Database->query('select products_id, products_name, products_description, products_keyword, products_tags, products_url from :table_products_description where language_id = :language_id'); $Qproducts->bindInt(':language_id', $default_language_id); $Qproducts->execute(); while ($Qproducts->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_products_description (products_id, language_id, products_name, products_description, products_keyword, products_tags, products_url) values (:products_id, :language_id, :products_name, :products_description, :products_keyword, :products_tags, :products_url)'); $Qinsert->bindInt(':products_id', $Qproducts->valueInt('products_id')); $Qinsert->bindInt(':language_id', $language_id); $Qinsert->bindValue(':products_name', $Qproducts->value('products_name')); $Qinsert->bindValue(':products_description', $Qproducts->value('products_description')); $Qinsert->bindValue(':products_keyword', $Qproducts->value('products_keyword')); $Qinsert->bindValue(':products_tags', $Qproducts->value('products_tags')); $Qinsert->bindValue(':products_url', $Qproducts->value('products_url')); $Qinsert->execute(); if ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qattributes = $OSCOM_Database->query('select products_id, value from :table_product_attributes where languages_id = :languages_id'); $Qattributes->bindInt(':languages_id', $default_language_id); $Qattributes->execute(); while ($Qattributes->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_product_attributes (products_id, languages_id, value) values (:products_id, :languages_id, :value)'); $Qinsert->bindInt(':products_id', $Qattributes->valueInt('products_id')); $Qinsert->bindInt(':languages_id', $language_id); $Qinsert->bindValue(':value', $Qattributes->value('value')); $Qinsert->execute(); if ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qgroups = $OSCOM_Database->query('select id, title, sort_order, module from :table_products_variants_groups where languages_id = :languages_id'); $Qgroups->bindInt(':languages_id', $default_language_id); $Qgroups->execute(); while ($Qgroups->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_products_variants_groups (id, languages_id, title, sort_order, module) values (:id, :languages_id, :title, :sort_order, :module)'); $Qinsert->bindInt(':id', $Qgroups->valueInt('id')); $Qinsert->bindInt(':languages_id', $language_id); $Qinsert->bindValue(':title', $Qgroups->value('title')); $Qinsert->bindInt(':sort_order', $Qgroups->valueInt('sort_order')); $Qinsert->bindValue(':module', $Qgroups->value('module')); $Qinsert->execute(); if ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qvalues = $OSCOM_Database->query('select id, products_variants_groups_id, title, sort_order from :table_products_variants_values where languages_id = :languages_id'); $Qvalues->bindInt(':languages_id', $default_language_id); $Qvalues->execute(); while ($Qvalues->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_products_variants_values (id, languages_id, products_variants_groups_id, title, sort_order) values (:id, :languages_id, :products_variants_groups_id, :title, :sort_order)'); $Qinsert->bindInt(':id', $Qvalues->valueInt('id')); $Qinsert->bindInt(':languages_id', $language_id); $Qinsert->bindInt(':products_variants_groups_id', $Qvalues->valueInt('products_variants_groups_id')); $Qinsert->bindValue(':title', $Qvalues->value('title')); $Qinsert->bindInt(':sort_order', $Qvalues->valueInt('sort_order')); $Qinsert->execute(); if ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qmanufacturers = $OSCOM_Database->query('select manufacturers_id, manufacturers_url from :table_manufacturers_info where languages_id = :languages_id'); $Qmanufacturers->bindInt(':languages_id', $default_language_id); $Qmanufacturers->execute(); while ($Qmanufacturers->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_manufacturers_info (manufacturers_id, languages_id, manufacturers_url) values (:manufacturers_id, :languages_id, :manufacturers_url)'); $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 ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qstatus = $OSCOM_Database->query('select orders_status_id, orders_status_name from :table_orders_status where language_id = :language_id'); $Qstatus->bindInt(':language_id', $default_language_id); $Qstatus->execute(); while ($Qstatus->next()) { $Qinsert = $OSCOM_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->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 ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qstatus = $OSCOM_Database->query('select id, status_name from :table_orders_transactions_status where language_id = :language_id'); $Qstatus->bindInt(':language_id', $default_language_id); $Qstatus->execute(); while ($Qstatus->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_orders_transactions_status (id, language_id, status_name) values (:id, :language_id, :status_name)'); $Qinsert->bindInt(':id', $Qstatus->valueInt('id')); $Qinsert->bindInt(':language_id', $language_id); $Qinsert->bindValue(':status_name', $Qstatus->value('status_name')); $Qinsert->execute(); if ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qstatus = $OSCOM_Database->query('select id, title, css_key from :table_shipping_availability where languages_id = :languages_id'); $Qstatus->bindInt(':languages_id', $default_language_id); $Qstatus->execute(); while ($Qstatus->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_shipping_availability (id, languages_id, title, css_key) values (:id, :languages_id, :title, :css_key)'); $Qinsert->bindInt(':id', $Qstatus->valueInt('id')); $Qinsert->bindInt(':languages_id', $language_id); $Qinsert->bindValue(':title', $Qstatus->value('title')); $Qinsert->bindValue(':css_key', $Qstatus->value('css_key')); $Qinsert->execute(); if ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qstatus = $OSCOM_Database->query('select weight_class_id, weight_class_key, weight_class_title from :table_weight_classes where language_id = :language_id'); $Qstatus->bindInt(':language_id', $default_language_id); $Qstatus->execute(); while ($Qstatus->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_weight_classes (weight_class_id, weight_class_key, language_id, weight_class_title) values (:weight_class_id, :weight_class_key, :language_id, :weight_class_title)'); $Qinsert->bindInt(':weight_class_id', $Qstatus->valueInt('weight_class_id')); $Qinsert->bindValue(':weight_class_key', $Qstatus->value('weight_class_key')); $Qinsert->bindInt(':language_id', $language_id); $Qinsert->bindValue(':weight_class_title', $Qstatus->value('weight_class_title')); $Qinsert->execute(); if ($OSCOM_Database->isError()) { $error = true; break; } } } if ($error === false) { $Qgroup = $OSCOM_Database->query('select id, title, code, size_width, size_height, force_size from :table_products_images_groups where language_id = :language_id'); $Qgroup->bindInt(':language_id', $default_language_id); $Qgroup->execute(); while ($Qgroup->next()) { $Qinsert = $OSCOM_Database->query('insert into :table_products_images_groups (id, language_id, title, code, size_width, size_height, force_size) values (:id, :language_id, :title, :code, :size_width, :size_height, :force_size)'); $Qinsert->bindInt(':id', $Qgroup->valueInt('id')); $Qinsert->bindInt(':language_id', $language_id); $Qinsert->bindValue(':title', $Qgroup->value('title')); $Qinsert->bindValue(':code', $Qgroup->value('code')); $Qinsert->bindInt(':size_width', $Qgroup->value('size_width')); $Qinsert->bindInt(':size_height', $Qgroup->value('size_height')); $Qinsert->bindInt(':force_size', $Qgroup->value('force_size')); $Qinsert->execute(); if ($OSCOM_Database->isError()) { $error = true; break; } } } } } if ($error === false) { $OSCOM_Database->commitTransaction(); Cache::clear('languages'); return true; } else { $OSCOM_Database->rollbackTransaction(); } return false; }
public static function saveEntry($parameter) { $OSCOM_Database = Registry::get('Database'); $Qcfg = $OSCOM_Database->query('select configuration_id from :table_configuration where configuration_key = :configuration_key'); $Qcfg->bindValue(':configuration_key', key($parameter)); $Qcfg->execute(); if ($Qcfg->numberOfRows() === 1) { $Qupdate = $OSCOM_Database->query('update :table_configuration set configuration_value = :configuration_value, last_modified = now() where configuration_key = :configuration_key'); $Qupdate->bindValue(':configuration_value', $parameter[key($parameter)]); $Qupdate->bindValue(':configuration_key', key($parameter)); $Qupdate->setLogging(null, $Qcfg->valueInt('configuration_id')); $Qupdate->execute(); if ($Qupdate->affectedRows()) { Cache::clear('configuration'); return true; } } return false; }