workground)) {
$this->workground = get_class($this);
}
if($this->checkCSRF && strpos($_SERVER['CONTENT_TYPE'], 'x-www-form-urlencoded') && $_SERVER['HTTP_X_REQUESTED_BY'] != 'shopex-ui') {
header('Content-Type:text/html; charset=utf-8');
die('非法请求');
}
header("Cache-Control:no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 强制查询etag
header('Progma: no-cache');
$this->defaultwg = $this->defaultWorkground;
parent::__construct($app);
kernel::single('base_session')->start();
if ($_SESSION['account'][$_SESSION['type']] && kernel::single('desktop_user')->checkUpdatePwd($_SESSION['account'][$_SESSION['type']])) {
kernel::single('base_session')->destory();
}
//验证产品有效性,通行证等信息,不然提示相关信息
$obj_services = kernel::servicelist('app_pre_auth_use');
foreach ($obj_services as $obj) {
if (method_exists($obj, 'pre_auth_uses') && method_exists($obj, 'active_top_html')) {
$pre_auth_kv = get_class($obj) . '_pre_auth';
if (!app::get('desktop')->getConf($pre_auth_kv) && !$obj->pre_auth_uses()) {
$this->pagedata['desktop_active_url'] = $obj->active_top_html();
app::get('desktop')->setConf($pre_auth_kv, false);
} else {
app::get('desktop')->setConf($pre_auth_kv, true);
}
}
}
#remove xss 防sql注入
if($_GET['ctl'] != "admin_print_otmpl") {
$_REQUEST = utils::_filter_input($_REQUEST);
}
if ($_COOKIE['autologin'] > 0) {
kernel::single('base_session')->set_sess_expires($_COOKIE['autologin']);
} //如果有自动登录,设置session过期时间,单位:分
$auth = pam_auth::instance(pam_account::get_account_type('desktop'));
$account = $auth->account();
if (get_class($this) != 'desktop_ctl_passport' && !$account->is_valid()) {
if (get_class($this) != 'desktop_ctl_default') {
$url = kernel::router()->gen_url($_GET, 1);
} else {
$url = kernel::router()->gen_url(array(), 1);
}
$url = base64_encode($url);
$arr_get = $_GET;
foreach ($arr_get as &$str_get) {
if(is_string($str_get)) {
$str_get = urldecode($str_get);
}
}
$params = urlencode(json_encode($arr_get));
// $_GOTO = 'index.php?ctl=passport&url=' . $url . '¶ms=' . $params;
// echo "";exit;
$_GOTO = kernel::router()->gen_url(['ctl' => 'passport', 'params'=>$params], 1);
echo <<
if (window.parent && window.parent !== window) {
window.parent.postMessage({ location: '$_GOTO', data: '' }, '*');
} else {
location = '$_GOTO';
}
JS;
exit;
}
$this->user = kernel::single('desktop_user');
if ($_GET['ctl'] != "passport" && $_GET['ctl'] != "") {
$this->status = $this->user->get_status();
if (!$this->status && $this->status == 0) {
#echo "未启用";exit;
//echo "";
$url = kernel::router()->gen_url(array(), 1);
$url = base64_encode($url);
header('Content-Type:text/html; charset=utf-8');
$this->pagedata['link_url'] = 'index.php?ctl=passport&url=' . $url;
echo $this->fetch('auth_error.html');exit;
}
}
###如果不是超级管理员就查询操作权限
if (!$this->user->is_super()) {
if (!$this->user->chkground($this->workground)) {
header('Content-Type:text/html; charset=utf-8');
echo app::get('desktop')->_("您无权操作");exit;
}
}
$obj_model = app::get('desktop')->model('menus');
//检查链接是否可用
$obj_model->permissionId($_GET);
//end
$this->_finish_modifier = array();
foreach (kernel::servicelist(sprintf('desktop_controller_content.%s.%s.%s', $_GET['app'], $_GET['ctl'], $_GET['act'])) as $class_name => $service) {
if ($service instanceof desktop_interface_controller_content) {
if (method_exists($service, 'modify')) {
$this->_finish_modifier[$class_name] = $service;
}
if (method_exists($service, 'boot')) {
$service->boot($this);
}
}
}
//修改tab detail 里的内容
foreach (kernel::servicelist(sprintf('desktop_controller_content_finderdetail.%s.%s.%s.%s', $_GET['app'], $_GET['ctl'], $_GET['act'], (string) (isset($_GET['finderview']) ? $_GET['finderview'] : '0'))) as $class_name => $service) {
if ($service instanceof desktop_interface_controller_content) {
if (method_exists($service, 'modify')) {
$this->_finish_modifier[$class_name] = $service;
}
if (method_exists($service, 'boot')) {
$service->boot($this);
}
}
}
if ($this->_finish_modifier) {
ob_start();
register_shutdown_function(array(&$this, 'finish_modifier'));
}
$this->url = 'index.php?app=' . $this->app->app_id . '&ctl=' . $_GET['ctl'];
}
/**
* __destruct
* @return mixed 返回值
*/
public function __destruct()
{
foreach (kernel::servicelist('desktop_controller_destruct') as $service) {
if (is_object($service) && method_exists($service, 'destruct')) {
$service->destruct($this);
}
}
}
/*
* 有modifier的处理程序
*/
public function finish_modifier()
{
$content = ob_get_contents();
ob_end_clean();
foreach ($this->_finish_modifier as $modifier) {
$modifier->modify($content, $this);
}
echo $content;
}
/**
* redirect
* @param mixed $url url
* @return mixed 返回值
*/
public function redirect($url)
{
$arr_url = parse_url($url);
if ($arr_url['scheme'] && $arr_url['host']) {
header('Location: ' . $url);
} else {
header('Location: ' . kernel::router()->app->base_url(1) . $url);
}
//
}
/**
* location_to
* @return mixed 返回值
*/
public function location_to()
{
if (kernel::single('base_component_request')->is_ajax() != true) {
header('Location: index.php#' . $_SERVER['QUERY_STRING']);exit;
}
}
public function finder($object_name, $params = array())
{
if ($_GET['action'] != 'to_export' && $_GET['action'] != 'to_import' && $_GET['singlepage'] != 'true') {
$this->location_to();
}
header("cache-control: no-store, no-cache, must-revalidate");
$_GET['action'] = $_GET['action'] ? $_GET['action'] : 'view';
$finder = kernel::single('desktop_finder_builder_' . $_GET['action'], $this);
foreach ($params as $k => $v) {
$finder->$k = $v;
}
$app_id = substr($object_name, 0, strpos($object_name, '_'));
$app = app::get($app_id);
$finder->app = $app;
$finder->work($object_name);
}
/**
* singlepage
* @param mixed $view view
* @param mixed $app_id ID
* @return mixed 返回值
*/
public function singlepage($view, $app_id = '')
{
$service = kernel::service(sprintf('desktop_controller_display.%s.%s.%s', $_GET['app'], $_GET['ctl'], $_GET['act']));
if ($service) {
if (method_exists($service, 'get_file')) {
$view = $service->get_file();
}
if (method_exists($service, 'get_app_id')) {
$app_id = $service->get_app_id();
}
}
$page = $this->fetch($view, $app_id);
$this->pagedata['_PAGE_PAGEDATA_'] = $this->_vars;
$re = '/';
$this->pagedata['statusId'] = $this->app->getConf('b2c.wss.enable');
$this->pagedata['session_id'] = kernel::single('base_session')->sess_id();
$this->pagedata['desktop_path'] = app::get('desktop')->res_url;
$this->pagedata['shopadmin_dir'] = dirname($_SERVER['PHP_SELF']) . '/';
$this->pagedata['shop_base'] = $this->app->base_url();
$this->pagedata['desktopresurl'] = app::get('desktop')->res_url;
$this->pagedata['desktopresfullurl'] = app::get('desktop')->res_full_url;
$this->pagedata['_PAGE_'] = &$page;
$this->display('singlepage.html', 'desktop');
}
/**
* _singlepage_prepare
* @param mixed $match match
* @return mixed 返回值
*/
public function _singlepage_prepare($match)
{
if ($match[2] && !strpos($match[1], 'src') && !strpos($match[1], 'hold')) {
$this->__scripts .= "\n" . $match[2];
return '';
} else {
return $match[0];
}
}
/**
* _outSplitBegin
* @param mixed $key key
* @return mixed 返回值
*/
public function _outSplitBegin($key)
{
return "";
}
/**
* url_frame
* @param mixed $url url
* @return mixed 返回值
*/
public function url_frame($url)
{
$this->sidePanel();
echo '';
}
/**
* page
* @param mixed $view view
* @param mixed $app_id ID
* @return mixed 返回值
*/
public function page($view = '', $app_id = '')
{
$this->location_to();
$_SESSION['message'] = '';
$_GET['finder_id'] || $_GET['finder_id'] = ($_GET['_finder']['finder_id'] ? : ($_GET['find_id'] ? : substr(md5($_SERVER['QUERY_STRING']),5,6)));
$service = kernel::service(sprintf('desktop_controller_display.%s.%s.%s', $_GET['app'], $_GET['ctl'], $_GET['act']));
if ($service) {
if (method_exists($service, 'get_file')) {
$view = $service->get_file();
}
if (method_exists($service, 'get_app_id')) {
$app_id = $service->get_app_id();
}
}
if (!$view) {
$view = 'common/default.html';
$app_id = 'desktop';
}
ob_start();
parent::display($view, $app_id);
$output = ob_get_contents();
ob_end_clean();
$output = $this->sidePanel() . $output;
$this->output($output);
}
/**
* sidePanel
* @return mixed 返回值
*/
public function sidePanel()
{
$menuObj = app::get('desktop')->model('menus');
$bcdata = $menuObj->get_allid($_GET);
$output = '';
if (!$this->workground) {
$this->workground = get_class($this);
}
$output .= "";
if ('desktop_ctl_dashboard' == $this->workground) {
$output .= "";
return $output;
} else {
$output .= "";
}
if ($_SERVER['HTTP_WORKGROUND'] == $this->workground) {
return $output;
}
$output .= $this->_outSplitBegin('.side-content');
$output .= $this->get_sidepanel($menuObj);
$output .= $this->_outSplitEnd('.side-content');
$output .= '';
return $output;
}
/**
* output
* @param mixed $output output
* @return mixed 返回值
*/
public function output(&$output)
{
echo $output;
} //End Function
public function splash($status = 'success', $url = null, $msg = null, $method = 'redirect', $params = array())
{
header("Cache-Control:no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 强制查询etag
header('Progma: no-cache');
$default = array(
$status => $msg ? $msg : app::get('desktop')->_('操作成功'),
$method => $url,
);
$parse = parse_url($url);
if ($url && $parse && $parse['scheme'] != 'javascript') {
if ($parse['query']){
parse_str($parse['query'], $query);
$query['act'] = $query['act']??'index';
// 定位二级菜单
if (!$query['finder_vid']){
$query['finder_vid'] = $_GET['finder_vid'] ?: app::get('desktop')->router()->getFinderVid(http_build_query($query));
}
// 定准越权权限
if ($_GET['finder_id']){
$query['finder_id'] = $_GET['finder_id'];
}
$parse['query'] = http_build_query($query);
}
$default[$method] = $parse['path'].'?'.$parse['query'];
}
$arr = array_merge($default, $params, array('splash' => true));
$json = json_encode($arr, JSON_UNESCAPED_UNICODE);
$_GET['bodyBytesSent'] = strlen($json);
if ($_FILES) {
header('Content-Type: text/html; charset=utf-8');
} else {
header('Content-Type:text/jcmd; charset=utf-8');
}
echo $json;
exit;
}
/**
* jump_to
*
* @param string $act
* @param string $ctl
* @param array $args
* @access public
* @return void
*/
public function jumpTo($act = 'index', $ctl = null, $args = null)
{
$_GET['act'] = $act;
if ($ctl) {
$_GET['ctl'] = $ctl;
}
if ($args) {
$_GET['p'] = $args;
}
if (!is_null($ctl)) {
if ($pos = strpos($_GET['ctl'], '/')) {
$domain = substr($_GET['ctl'], 0, $pos);
} else {
$domain = $_GET['ctl'];
}
$ctl = $this->app->single(str_replace('/', '-', $ctl));
$ctl->message = $this->message;
$ctl->pagedata = &$this->pagedata;
$ctl->ajaxdata = &$this->ajaxdata;
call_user_func(array(str_replace('/', '_', $ctl), $act), $args);
} else {
call_user_func(array(get_class($this), $act), $args);
}
}
/**
* has_permission
* @param mixed $perm_id ID
* @return mixed 返回值
*/
public function has_permission($perm_id)
{
$user = kernel::single('desktop_user');
return $user->has_permission($perm_id);
}
/**
* 获取_sidepanel
* @param mixed $menuObj menuObj
* @return mixed 返回结果
*/
public function get_sidepanel($menuObj)
{
$obj = $menuObj;
$workground_menus = ($obj->menu($_GET, $this->defaultwg));
if ($workground_menus['nogroup']) {
$nogroup = $workground_menus['nogroup'];
unset($workground_menus['nogroup']);
}
if (!$workground_menus) {
$dashboard_menu = new desktop_sidepanel_dashboard(app::get('desktop'));
return $dashboard_menu->get_output();
}
$workground = array();
$render = app::get('desktop')->render();
if ($_GET['app'] && $_GET['ctl']) {
$workground = $obj->get_current_workground($_GET);
$render->pagedata['workground'] = $workground;
};
$data_id = $obj->get_allid($_GET);
//$render->pagedata['dataid'] = $data_id['workground_id'].":".$data_id['menu_id'];
$render->pagedata['side'] = "leftpanel";
$render->pagedata['menus_data'] = $workground_menus;
$render->pagedata['nogroup'] = $nogroup;
return $render->fetch('sidepanel.html');
}
/**
* tags
* @return mixed 返回值
*/
public function tags()
{
$ex_p = '&wg=' . urlencode($_GET['wg']) . '&type=' . urlencode($_GET['type']);
$params = array(
'title' => app::get('desktop')->_('标签管理'),
'actions' => array(
array('label' => app::get('desktop')->_('新建普通标签'), 'icon' => 'add.gif', 'href' => $this->url . '&act=new_mormal_tag' . $ex_p, 'target' => 'dialog::{title:\'' . app::get('desktop')->_('新建普通标签') . '\'}'),
// array('label'=>'新建条件标签','href'=>$this->url.'&act=new_filter_tag'.$ex_p,'target'=>'dialog::{title:\'新建条件标签\'}'),
),
'base_filter' => array(
'tag_type' => $_GET['type'],
), 'use_buildin_new_dialog' => false, 'use_buildin_set_tag' => false, 'use_buildin_export' => false);
$this->finder('desktop_mdl_tag', $params);
}
/**
* new_mormal_tag
* @return mixed 返回值
*/
public function new_mormal_tag()
{
$ex_p = '&wg=' . urlencode($_GET['wg']) . '&type=' . urlencode($_GET['type']);
if ($_POST) {
$this->begin();
$tagmgr = app::get('desktop')->model('tag');
$data = array(
'tag_name' => $_POST['tag_name'],
'tag_abbr' => $_POST['tag_abbr'],
'tag_type' => $_REQUEST['type'],
'app_id' => $this->app->app_id,
'tag_mode' => 'normal',
'tag_bgcolor' => $_POST['tag_bgcolor'],
//'tag_fgcolor'=>$_POST['tag_fgcolor'],
);
if ($_POST['tag_id']) {
$data['tag_id'] = $_POST['tag_id'];
} //print_r($data);exit;
$tagmgr->save($data);
$this->end();
} else {
$html = $this->ui()->form_start(array(
'action' => $this->url . '&act=new_mormal_tag' . $ex_p,
'id' => 'form_settag',
'method' => 'post',
));
$html .= $this->ui()->form_input(array('title' => app::get('desktop')->_('标签名'), 'vtype' => 'required', 'name' => 'tag_name'));
$html .= $this->ui()->form_input(array('title' => app::get('desktop')->_('标签备注'), 'name' => 'tag_abbr'));
$html .= $this->ui()->form_input(array('title' => app::get('desktop')->_('标签颜色'), 'type' => 'color', 'name' => 'tag_bgcolor'));
//$html .= $this->ui()->form_input(array('title'=>app::get('desktop')->_('标签字体景色'),'type'=>'color','name'=>'tag_fgcolor'));
$html .= $this->ui()->form_end();
$___infomation = app::get('desktop')->_('如果新建的标签已经存在,则此操作变为编辑原标签');
echo <<
$___infomation
{$html}
EOF;
}
}
/**
* tag_edit
* @param mixed $id ID
* @return mixed 返回值
*/
public function tag_edit($id)
{
$this->url = 'index.php?app=' . $_GET['app'] . '&ctl=' . $_GET['ctl'];
$render = app::get('desktop')->render();
//return $render->fetch('admin/tag/detail.html',$this->app->app_id);
$mdl_tag = app::get('desktop')->model('tag');
$tag = $mdl_tag->dump($id, '*');
$ui = new base_component_ui(null, app::get('desktop'));
$html = $ui->form_start(array(
'action' => $this->url . '&act=new_mormal_tag',// . $ex_p,
'id' => 'tag_form_add',
'method' => 'post',
));
$html .= $ui->form_input(array('title' => app::get('desktop')->_('标签名'), 'name' => 'tag_name', 'value' => $tag['tag_name']));
$html .= $ui->form_input(array('title' => app::get('desktop')->_('标签备注'), 'name' => 'tag_abbr', 'value' => $tag['tag_abbr']));
$html .= $ui->form_input(array('title' => app::get('desktop')->_('标签颜色'), 'type' => 'color', 'name' => 'tag_bgcolor', 'value' => $tag['tag_bgcolor']));
//$html .= $ui->form_input(array('title'=>app::get('desktop')->_('标签字体色'),'type'=>'color','name'=>'tag_fgcolor','value'=>$tag['tag_fgcolor']));
$html .= '';
$html .= '';
$html .= '';
$html .= $ui->form_end();
echo $html;
echo <<
window.addEvent('domready', function(){
$('tag_form_add').store('target',{
onComplete:function(){
if(window.finderGroup['{$_GET['finder_id']}'])
window.finderGroup['{$_GET['finder_id']}'].refresh();
if($('tag_form_add').getParent('.dialog'))
$('tag_form_add').getParent('.dialog').retrieve('instance').close();
}
});
});
EOF;
}
/**
* 将废弃,请使用dialog_batch方法
* @param [type] $model [description]
* @param [type] $pageData [description]
* @param array $baseFilter [description]
* @return [type] [description]
*/
protected function selectToPageRequest($model, $pageData, $baseFilter = array())
{
$primaryKey = $model->schema['idColumn'];
if ($_POST['isSelectedAll'] == '_ALL_') {
if (empty($baseFilter)) {
$view = intval($_POST['view']);
if (method_exists($this, '_views')) {
$this->noViewCount = true; #页签 _views 中使用,避免浪费资源
$subMenu = $this->_views();
$baseFilter = $subMenu[$view]['filter'];
$this->noViewCount = false;
}
}
$param = array_merge($baseFilter, $_POST);
$model->defaultOrder = '';
$model->filter_use_like = true;
$selData = $model->getList($primaryKey, $param, 0, -1);
$arrRequestId = array();
foreach ($selData as $val) {
$arrRequestId[] = $val[$primaryKey];
}
} else {
$arrRequestId = $_POST[$primaryKey];
}
if (empty($arrRequestId)) {
die('缺少选择的数据!');
}
$this->pagedata['billName'] = $pageData['billName'];
$this->pagedata['request_url'] = $pageData['request_url'];
$this->pagedata['maxProcessNum'] = $pageData['maxProcessNum'] ? $pageData['maxProcessNum'] : 10;
$this->pagedata['close'] = $pageData['close'] ? true : false;
$this->pagedata['custom_html'] = $pageData['custom_html'] ? : '';
$this->pagedata['queueNum'] = $pageData['queueNum'] ? : 1;
$this->pagedata['count'] = count($arrRequestId);
$this->pagedata['arrId'] = json_encode($arrRequestId);
$this->display('admin/request_add.html', 'ome');
exit();
}
/**
* 批量操作对话框
*
* @return void
* @author
*/
public function dialog_batch($full_object_name = '', $allow_selected_all = false, $limit = 100, $offset = 'zero')
{
$this->pagedata['ifrm_dom_id'] = uniqid();
if ($full_object_name) {
list($app_id, $object_name) = explode('_mdl_', $full_object_name);
$object = app::get($app_id)->model($object_name);
$object->filter_use_like = true;
$count = $object->count($_POST);
$GroupList = array();
for ($i = 0; $i < $count; $i += $limit) {
$_POST['offset'] = $offset == 'zero' ? '0' : $i;
$_POST['limit'] = $limit;
$filter = array('f' => $_POST);
$GroupList[] = http_build_query($filter);
}
$this->pagedata['itemCount'] = $count;
$this->pagedata['GroupList'] = json_encode($GroupList);
$this->pagedata['maxNum'] = 1;
}
$this->display('dialog_batch.html', 'desktop');
}
/**
* 导入页面
*
* @return void
* @author
* */
public function execlImportDailog($type = '')
{
$this->pagedata['type'] = $type;
$this->display('import/execl.html', 'desktop');
}
/**
* 导入模板
*
* @return void
* @author
* */
public function execlImportTmpl($type = '')
{
try {
$class_name = $_GET['app'] . '_' . $type . '_import';
$obj = kernel::single($class_name);
if (!method_exists($obj, 'getExcelTitle')){
throw new Exception("Error Processing Request", 1);
}
list($filename, $data) = call_user_func_array([$obj, 'getExcelTitle'],[]);
} catch (Exception $e) {
$filename = '空.xlsx';
$data = [];
}
kernel::single('omecsv_phpoffice')->export($filename, $data);
}
/**
* 导入执行
*
* @return void
* @author
* */
public function doExcelImport($type = '')
{
set_time_limit(0);
ini_set('memory_limit', '768M');
try {
$class_name = $_GET['app'] . '_' . $type.'_import';
$obj = kernel::single($class_name);
if (!method_exists($obj, 'processExcelRow')){
throw new Exception("Error Processing Request", 1);
}
list($rs, $msg) = call_user_func_array([$obj, 'processExcelRow'],[$_FILES['import_file'], $_POST]);
} catch (Exception $e) {
$rs = false;
$msg = $e->getMessage();
}
if ($rs) {
$msg = str_replace(['"','\''], '', $msg);
echo <<
parent.$('iMsg').setText('{$msg}');
// parent.$('ImportBtn').setStyle('cursor','not-allowed');
if (parent.$$('.notice-inline div').length == 1){
parent.$('import-form').getParent('.dialog').retrieve('instance').close();
parent.finderGroup["{$_GET['finder_id']}"].refresh();
}
JS;
flush();
ob_flush();
exit;
}
}
/**
* returnJson
* @param array $data 数据
* @param mixed $status status
* @param mixed $msg msg
* @return mixed 返回值
*/
public function returnJson(array $data,$status = true,$msg = '')
{
$params = [
'rsp' => $status ? 'succ' : 'fail',
'msg' => $msg ? $msg : $status,
'data' => $data
];
$this->splash($status ? 'success' : 'fail', null, $msg, 'redirect', $params);
}
/**
* 批量操作对话框
*
* @return void
* @author
*/
public function dialog_promise($totalCount = 0, $pageSize = 20)
{
$this->pagedata['totalPages'] = ceil($totalCount / $pageSize);
$this->pagedata['totalCount'] = $totalCount;
$this->pagedata['pageSize'] = $pageSize;
$this->display('dialog_promise.html', 'desktop');
}
/**
* 订单单切片导入页面
* @date 2024-10-11 4:05 下午
*/
public function displayImportV2($type='')
{
$finder_id = $_GET['_finder']['finder_id'];
$this->pagedata['type'] = $type;
$this->pagedata['download_url'] = sprintf('index.php?app=%s&ctl=%s&act=exportTemplateV2&finder_id=%s', $_GET['app'], $_GET['ctl'], $finder_id);
$this->display('admin/order/order_import.html', 'ome');
}
/**
* 更新导入页面
*
* @return void
* @author
**/
public function importUpdateExcel($type = '')
{
$this->pagedata['type'] = $type;
$this->display('import/import_update_excel.html', 'desktop');
}
/**
* 导入更新模板
*
* @return void
* @author
**/
public function importExcelTmpl($type = '')
{
try {
//导入Lib类名称
$class_name = $_GET['app'] . '_' . $type . '_import_update';
$obj = kernel::single($class_name);
if (!method_exists($obj, 'getExcelTitle')){
throw new Exception("Error Processing Request", 1);
}
list($filename, $data) = call_user_func_array([$obj, 'getExcelTitle'],[]);
} catch (Exception $e) {
$filename = '空.xlsx';
$data = [];
}
kernel::single('omecsv_phpoffice')->export($filename, $data);
}
/**
* 更新导入执行
*
* @return void
* @author
**/
public function doImportUpdateExcel($type = '')
{
set_time_limit(0);
ini_set('memory_limit', '768M');
try {
//导入Lib类名称
$class_name = $_GET['app'] . '_' . $type.'_import_update';
$obj = kernel::single($class_name);
if (!method_exists($obj, 'processUpdateExcelRow')){
throw new Exception("Error Processing Request", 1);
}
list($rs, $msg) = call_user_func_array([$obj, 'processUpdateExcelRow'], [$_FILES['import_file'], $_POST]);
} catch (Exception $e) {
$rs = false;
$msg = $e->getMessage();
}
if ($rs) {
$msg = str_replace(['"','\''], '', $msg);
echo <<
parent.$('iMsg').setText('{$msg}');
if (parent.$$('.notice-inline div').length == 1){
parent.$('import-form').getParent('.dialog').retrieve('instance').close();
parent.finderGroup["{$_GET['finder_id']}"].refresh();
}
JS;
flush();
ob_flush();
exit;
}
}
}