manufacturers.php
来自「this the oscommerce 3.0 aplha 4」· PHP 代码 · 共 185 行
PHP
185 行
<?php/* $Id: $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2007 osCommerce This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License v2 (1991) as published by the Free Software Foundation.*/ class osC_Manufacturers_Admin { function getData($id, $language_id = null) { global $osC_Database, $osC_Language; if ( empty($language_id) ) { $language_id = $osC_Language->getID(); } $Qmanufacturers = $osC_Database->query('select m.*, mi.* from :table_manufacturers m, :table_manufacturers_info mi where m.manufacturers_id = :manufacturers_id and m.manufacturers_id = mi.manufacturers_id and mi.languages_id = :languages_id'); $Qmanufacturers->bindTable(':table_manufacturers', TABLE_MANUFACTURERS); $Qmanufacturers->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO); $Qmanufacturers->bindInt(':manufacturers_id', $id); $Qmanufacturers->bindInt(':languages_id', $language_id); $Qmanufacturers->execute(); $data = $Qmanufacturers->toArray(); $Qclicks = $osC_Database->query('select sum(url_clicked) as total from :table_manufacturers_info where manufacturers_id = :manufacturers_id'); $Qclicks->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO); $Qclicks->bindInt(':manufacturers_id', $id); $Qclicks->execute(); $data['url_clicks'] = $Qclicks->valueInt('total'); $Qproducts = $osC_Database->query('select count(*) as products_count from :table_products where manufacturers_id = :manufacturers_id'); $Qproducts->bindTable(':table_products', TABLE_PRODUCTS); $Qproducts->bindInt(':manufacturers_id', $id); $Qproducts->execute(); $data['products_count'] = $Qproducts->valueInt('products_count'); $Qclicks->freeResult(); $Qproducts->freeResult(); $Qmanufacturers->freeResult(); return $data; } function save($id = null, $data) { global $osC_Database, $osC_Language; $error = false; $osC_Database->startTransaction(); if ( is_numeric($id) ) { $Qmanufacturer = $osC_Database->query('update :table_manufacturers set manufacturers_name = :manufacturers_name, last_modified = now() where manufacturers_id = :manufacturers_id'); $Qmanufacturer->bindInt(':manufacturers_id', $id); } else { $Qmanufacturer = $osC_Database->query('insert into :table_manufacturers (manufacturers_name, date_added) values (:manufacturers_name, now())'); } $Qmanufacturer->bindTable(':table_manufacturers', TABLE_MANUFACTURERS); $Qmanufacturer->bindValue(':manufacturers_name', $data['name']); $Qmanufacturer->setLogging($_SESSION['module'], $id); $Qmanufacturer->execute(); if ( !$osC_Database->isError() ) { if ( is_numeric($id) ) { $manufacturers_id = $id; } else { $manufacturers_id = $osC_Database->nextID(); } $image = new upload('manufacturers_image', realpath('../' . DIR_WS_IMAGES . 'manufacturers')); if ( $image->exists() ) { if ( $image->parse() && $image->save() ) { $Qimage = $osC_Database->query('update :table_manufacturers set manufacturers_image = :manufacturers_image where manufacturers_id = :manufacturers_id'); $Qimage->bindTable(':table_manufacturers', TABLE_MANUFACTURERS); $Qimage->bindValue(':manufacturers_image', $image->filename); $Qimage->bindInt(':manufacturers_id', $manufacturers_id); $Qimage->setLogging($_SESSION['module'], $manufaacturers_id); $Qimage->execute(); if ( $osC_Database->isError() ) { $error = true; } } } } else { $error = true; } if ( $error === false ) { foreach ( $osC_Language->getAll() as $l ) { if ( is_numeric($id) ) { $Qurl = $osC_Database->query('update :table_manufacturers_info set manufacturers_url = :manufacturers_url where manufacturers_id = :manufacturers_id and languages_id = :languages_id'); } else { $Qurl = $osC_Database->query('insert into :table_manufacturers_info (manufacturers_id, languages_id, manufacturers_url) values (:manufacturers_id, :languages_id, :manufacturers_url)'); } $Qurl->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO); $Qurl->bindInt(':manufacturers_id', $manufacturers_id); $Qurl->bindInt(':languages_id', $l['id']); $Qurl->bindValue(':manufacturers_url', $data['url'][$l['id']]); $Qurl->setLogging($_SESSION['module'], $manufacturers_id); $Qurl->execute(); if ( $osC_Database->isError() ) { $error = true; break; } } } if ( $error === false ) { $osC_Database->commitTransaction(); osC_Cache::clear('manufacturers'); return true; } $osC_Database->rollbackTransaction(); return false; } function delete($id, $delete_image = false, $delete_products = false) { global $osC_Database; if ( $delete_image === true ) { $Qimage = $osC_Database->query('select manufacturers_image from :table_manufacturers where manufacturers_id = :manufacturers_id'); $Qimage->bindTable(':table_manufacturers', TABLE_MANUFACTURERS); $Qimage->bindInt(':manufacturers_id', $id); $Qimage->execute(); if ( $Qimage->numberOfRows() && !osc_empty($Qimage->value('manufacturers_image')) ) { if ( file_exists(realpath('../' . DIR_WS_IMAGES . 'manufacturers/' . $Qimage->value('manufacturers_image'))) ) { @unlink(realpath('../' . DIR_WS_IMAGES . 'manufacturers/' . $Qimage->value('manufacturers_image'))); } } } $Qm = $osC_Database->query('delete from :table_manufacturers where manufacturers_id = :manufacturers_id'); $Qm->bindTable(':table_manufacturers', TABLE_MANUFACTURERS); $Qm->bindInt(':manufacturers_id', $id); $Qm->setLogging($_SESSION['module'], $id); $Qm->execute(); $Qmi = $osC_Database->query('delete from :table_manufacturers_info where manufacturers_id = :manufacturers_id'); $Qmi->bindTable(':table_manufacturers_info', TABLE_MANUFACTURERS_INFO); $Qmi->bindInt(':manufacturers_id', $id); $Qmi->setLogging($_SESSION['module'], $id); $Qmi->execute(); if ( $delete_products === true ) { $Qproducts = $osC_Database->query('select products_id from :table_products where manufacturers_id = :manufacturers_id'); $Qproducts->bindTable(':table_products', TABLE_PRODUCTS); $Qproducts->bindInt(':manufacturers_id', $id); $Qproducts->execute(); while ( $Qproducts->next() ) { osC_Products_Admin::delete($Qproducts->valueInt('products_id')); } } else { $Qupdate = $osC_Database->query('update :table_products set manufacturers_id = null where manufacturers_id = :manufacturers_id'); $Qupdate->bindTable(':table_products', TABLE_PRODUCTS); $Qupdate->bindInt(':manufacturers_id', $id); $Qupdate->setLogging($_SESSION['module'], $id); $Qupdate->execute(); } osC_Cache::clear('manufacturers'); return true; } }?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?