コード例 #1
0
 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;
 }
コード例 #2
0
ファイル: saveEntry.php プロジェクト: kdexter/oscommerce
 public static function execute($data)
 {
     if (OSCOM::callDB('Admin\\Configuration\\EntrySave', $data)) {
         Cache::clear('configuration');
         return true;
     }
     return false;
 }
コード例 #3
0
 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;
 }
コード例 #4
0
 public static function execute($group)
 {
     $data = array('group' => $group);
     if (OSCOM::callDB('Admin\\Languages\\DeleteGroup', $data)) {
         Cache::clear('languages');
         return true;
     }
     return false;
 }
コード例 #5
0
ファイル: delete.php プロジェクト: kdexter/oscommerce
 public static function execute($id)
 {
     $data = array('id' => $id);
     if (OSCOM::callDB('Admin\\Currencies\\Delete', $data)) {
         Cache::clear('currencies');
         return true;
     }
     return false;
 }
コード例 #6
0
 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;
 }
コード例 #7
0
 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;
 }
コード例 #8
0
 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;
 }
コード例 #9
0
ファイル: update.php プロジェクト: kdexter/oscommerce
 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;
 }
コード例 #10
0
ファイル: save.php プロジェクト: kdexter/oscommerce
 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;
 }
コード例 #11
0
ファイル: save.php プロジェクト: digitaldevelopers/oscommerce
 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;
 }
コード例 #12
0
 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;
 }
コード例 #13
0
 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;
 }
コード例 #14
0
 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;
 }
コード例 #15
0
 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;
 }
コード例 #16
0
 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');
     }
 }
コード例 #17
0
ファイル: updateRates.php プロジェクト: kdexter/oscommerce
 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;
 }
コード例 #18
0
 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;
 }
コード例 #19
0
ファイル: save.php プロジェクト: digitaldevelopers/oscommerce
 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;
 }
コード例 #20
0
ファイル: move.php プロジェクト: digitaldevelopers/oscommerce
 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;
 }
コード例 #21
0
ファイル: Shipping.php プロジェクト: kdexter/oscommerce
 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');
     }
 }
コード例 #22
0
ファイル: import.php プロジェクト: kdexter/oscommerce
 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;
 }
コード例 #23
0
ファイル: Currencies.php プロジェクト: hakankarar/oscommerce
 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;
 }
コード例 #24
0
 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');
     }
 }
コード例 #25
0
ファイル: CreditCards.php プロジェクト: hakankarar/oscommerce
 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;
     }
 }
コード例 #26
0
ファイル: Languages.php プロジェクト: hakankarar/oscommerce
 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;
 }
コード例 #27
0
 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;
 }