public function getClassName($classNameToCompare = null, $instanceClassName = null) { if ($instanceClassName == 'UserAddress') { // pretend that 'ShippingAddress' or 'BillingAddress' are equal to 'UserAddress' return in_array($classNameToCompare, array('ShippingAddress', 'BillingAddress')) ? $classNameToCompare : $instanceClassName; } return parent::getClassName(); }
/** * This file is a part of MyWebSQL package * * @file: modules/importtbl.php * @author Samnan ur Rehman * @copyright (c) 2008-2012 Samnan ur Rehman * @web http://mywebsql.net * @license http://mywebsql.net/license */ function processRequest(&$db) { $importDone = FALSE; $message = ''; $refresh = '0'; $max_upload_size = min(bytes_value(ini_get('post_max_size')), bytes_value(ini_get('upload_max_filesize'))) / 1024; $max_upload_size_text = $max_upload_size < 1024 ? $max_upload_size . 'KB' : $max_upload_size / 1024 . ' MB'; if (isset($_FILES['impfile'])) { if (v($_FILES['impfile']['tmp_name']) != '' && file_exists($_FILES['impfile']['tmp_name'])) { //$module_id = create_module_id( 'import' ); include BASE_PATH . "/lib/import/import.php"; $type = 'csv'; $imptype = v($_REQUEST['$imptype']); if (in_array($imptype, DataImport::types())) { $type = $imptype; } $importer = DataImport::factory($db, $type); $options = extract_vars($_REQUEST, $importer->options()); $result = $importer->importTable($_FILES['impfile']['tmp_name'], $options); $failed = $importer->getFailedQueries(); $affected = $importer->getRowsAffected(); if (!$result || $affected > 0 || $failed > 0) { $message .= '<div class="message ui-state-default">[ ' . str_replace('{{NUM}}', $affected, __('{{NUM}} record(s) were affected')) . '. ]</div>'; if ($failed > 0) { $message_tmp = $failed > 1 ? str_replace('{{NUM}}', $failed, __('{{NUM}} queries failed to execute')) : __('Error occurred while executing the query'); $message .= '<div class="message ui-state-error">' . $message_tmp . '</div>'; if ($failed == 1) { $message .= '<div class="message ui-state-error">' . htmlspecialchars($importer->getError()) . '</div>'; $message .= '<div class="sql-text ui-state-error">' . htmlspecialchars($importer->getLastQuery()) . '</div>'; } } } else { $message .= '<div class="message ui-state-default">' . __('No queries were executed during import') . '.</div>'; } } else { $message .= '<div class="message ui-state-error">' . __('File upload failed. Please try again') . '.</div>'; } $importDone = TRUE; } if (!$importDone) { $message = '<div class="message ui-state-default">' . str_replace('{{SIZE}}', $max_upload_size_text, __('Maximum upload filesize is {{SIZE}}')); $message .= '<br/>' . str_replace('{{LIST}}', valid_import_files(), __('Supported filetypes / extensions are: ({{LIST}})')) . '</div>'; } else { $refresh = '1'; } include BASE_PATH . '/lib/html.php'; $tables = html::arrayToOptions($db->getTables(), '', true, ''); $replace = array('MESSAGE' => $message, 'MAX_SIZE' => $max_upload_size, 'REFRESH' => $refresh, 'TABLE_LIST' => $tables); echo view('importtbl', $replace); }
public function getMissingRecordFilter(CsvImportProfile $profile) { $filter = parent::getMissingRecordFilter($profile); $filter->mergeCondition($this->getRoot($profile)->getProductCondition(true)); return $filter; }
public function getClassName($instanceClass = null, $default = null) { return $instanceClass ? $instanceClass : parent::getClassName($instanceClass, $default); }
/** * 经销商上传下属机构信息 */ public function actionSubdealerupload() { //文件模板为product $template = "subdealer"; $dealerID = Commonmodel::getOrganID(); //上传文件 if ($_POST['leadExcel'] == "true") { $filename = iconv("utf-8", "gb2312", $_FILES['inputExcel']['name']); $tmp_name = $_FILES['inputExcel']['tmp_name']; //$filePath = dirname(Yii::app()->BasePath) . "\\themes\\default\\uploadsfile\\dealer\\execl\\"; $filePath = Yii::app()->params['uploadPath'] . '/dealer/execl/'; $upload_result = UploadsFile::uploadFile($filename, $tmp_name, $filePath); //var_dump($upload_result); //如果上传成,则解析Excel文件 if ($upload_result['success']) { //解析Excel文件,返回结果为错误消息,如果不为空则表明发生错误 $uploadfile = $upload_result['uploadfile']; $dataImport = new DataImport(); $endtime = time() + 24 * 60 * 60 * 2 * 7; $data = array('flag' => '1', 'UserID' => $dealerID); $result = $dataImport->parse($uploadfile, $template, $data); //如果不成功则返回错误结果 if (!$result['success']) { $message = $result['error']; //var_dump($message); $this->render('batchimport', array('message' => $message)); exit; } //var_dump($result); $insert_sql = $result['sql']; $sql_result = DbUtil::execute($insert_sql); //如果SQL执行不成功则返回错误结果 if ($sql_result && !$sql_result['result']) { $this->render('batchimport', array('message' => $sql_result['error'])); exit; } //查询上传成功的产品信息 $message = "文件上传成功!"; $this->redirect('subdealer'); } else { $message = $upload_result['error']; $this->render('batchimport', array('message' => $message)); } } }