예제 #1
1
 function display($tmpl_file, $app_id = null)
 {
     array_unshift($this->_files, $tmpl_file);
     $this->_vars = $this->pagedata;
     if ($p = strpos($tmpl_file, ':')) {
         $object = kernel::service('tpl_source.' . substr($tmpl_file, 0, $p));
         if ($object) {
             $tmpl_file_path = substr($tmpl_file, $p + 1);
             $last_modified = $object->last_modified($tmpl_file_path);
         }
     } else {
         $tmpl_file = realpath(APP_DIR . '/' . ($app_id ? $app_id : $this->app->app_id) . '/view/' . $tmpl_file);
         $last_modified = filemtime($tmpl_file);
     }
     if (!$last_modified) {
         //无文件
     }
     $compile_id = $this->compile_id($tmpl_file);
     if ($object) {
         $compile_code = $this->_compiler()->compile($object->get_file_contents($tmpl_file_path));
     } else {
         $compile_code = $this->_compiler()->compile_file($tmpl_file);
     }
     eval('?>' . $compile_code);
     array_shift($this->_files);
 }
예제 #2
0
 public function check()
 {
     $this->begin();
     $server_id = intval($_POST['server_id'][0]);
     $server_setting = $this->app->model('serverlist')->dump($server_id, '*', array('database' => '*', 'http' => '*', 'ftp' => '*'));
     $htdocs = $server_setting['http']['htdocs'];
     $obj_dir = dir($htdocs);
     $server = kernel::service('svhost_server', array('content_path' => 'svhost_server'));
     $model_vhostlist = $this->app->model('vhostlist');
     while (($domain = $obj_dir->read()) !== false) {
         if (substr($domain, 0, 1) == '.') {
             continue;
         }
         $site_root = "{$htdocs}/{$domain}";
         if (is_file($site_root)) {
             continue;
         }
         if (!strstr($domain, '.')) {
             continue;
         }
         if ($server->is_exists($domain)) {
             continue;
         }
         $domain_strip_dot = str_replace('.', '', $domain);
         $sdf = array('domain' => $domain, 'server_id' => $server_id, 'ip' => $server_setting['server']['ip'], 'db' => array('host' => $server_setting['database']['host'], 'port' => $server_setting['database']['port'], 'name' => $domain_strip_dot, 'user' => $domain_strip_dot, 'password' => ''), 'ftp' => array('user' => $domain_strip_dot, 'password' => ''));
         $model_vhostlist->save($sdf);
     }
     $this->end(true, __('检查完成!'));
 }
예제 #3
0
 function dorecycle($mdl_name, $filter = null)
 {
     $oRecycle = app::get('desktop')->model('recycle');
     list($app_id, $table) = explode('_mdl_', $mdl_name);
     $o = app::get($app_id)->model($table);
     $recycle_item = array();
     $recycle_item['drop_time'] = time();
     $recycle_item['item_type'] = $o->table_name();
     $dbschema = $o->get_schema();
     $textColumn = $dbschema['textColumn'];
     $pkey = $dbschema['idColumn'];
     foreach ($dbschema['columns'] as $k => $col) {
         if ($col['is_title'] && $col['sdfpath']) {
             $textColumn = $col['sdfpath'];
             break;
         }
     }
     $rows = $o->getList('*', $filter, 0, -1);
     if (method_exists($o, 'pre_recycle')) {
         if (!$o->pre_recycle($rows)) {
             return false;
         }
     }
     $menus = app::get('desktop')->model('menus');
     $permission_id = $menus->permissionId($_GET);
     foreach ($rows as $k => $v) {
         $pkey_value = $v[$pkey];
         $v = $o->dump($v[$pkey], '*', 'delete');
         $recycle_item['item_sdf'] = $v;
         $recycle_item['app_key'] = $app_id;
         $recycle_item['item_title'] = $v[$textColumn];
         if (method_exists($o, 'title_recycle')) {
             $recycle_item['item_title'] = $o->title_recycle($v);
         }
         $tmp = $recycle_item;
         $tmp['permission'] = $permission_id;
         $return = $oRecycle->save($tmp);
         unset($tmp[$pkey]);
         $o->delete(array($pkey => $pkey_value));
         #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓记录管理员操作日志@lujy↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
         if ($obj_operatorlogs = kernel::service('operatorlog.system')) {
             if (method_exists($obj_operatorlogs, 'dorecycle')) {
                 $obj_operatorlogs->dorecycle($v);
             }
         }
         #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑记录管理员操作日志@lujy↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
     }
     if (method_exists($o, 'suf_recycle')) {
         if (!$o->suf_recycle($_POST)) {
             return false;
         }
     }
     $services = kernel::serviceList('desktop_finder_callback.' . get_class($o));
     foreach ($services as $service) {
         if (method_exists($service, 'recycle')) {
             $service->recycle($_POST);
         }
     }
     return true;
 }
예제 #4
0
 /**
  * 重新发起数据同步的请求
  * @param string id - 序号
  * @param int call-time 发起时间
  */
 public function re_request($order_no, $call_time)
 {
     $this->begin();
     if (!$order_no || !$call_time) {
         $this->end(false, app::get('b2c')->_('发起请求参数不全!'));
     }
     $obj_base_rpcpoll = app::get('base')->model('rpcpoll');
     $tmp = $obj_base_rpcpoll->getList('*', array('id' => $order_no, 'calltime' => $call_time));
     if ($tmp) {
         $arr_rpcpoll = $tmp[0];
         $arr_callback = explode(':', $arr_rpcpoll['callback']);
         $callback = array('class' => $arr_callback[0], 'method' => $arr_callback[1]);
         $rpc_poll_key = $arr_rpcpoll['id'] . '-' . $arr_rpcpoll['calltime'];
         // 与中心交互
         $obj_rpc_request_service = kernel::service('b2c.rpc.send.request');
         if ($obj_rpc_request_service && method_exists($obj_rpc_request_service, 'rpc_recaller_request')) {
             if ($obj_rpc_request_service instanceof b2c_api_rpc_request_interface) {
                 $obj_rpc_request_service->rpc_recaller_request($arr_rpcpoll['method'], $arr_rpcpoll['params'], $callback, $arr_rpcpoll['method'], 1, $rpc_poll_key);
             }
         } else {
             $obj_rpc_request = kernel::single('b2c_order_data_relation');
             $obj_rpc_request->form_request($arr_rpcpoll['method'], $arr_rpcpoll['params'], $callback, $arr_rpcpoll['method'], 1, $rpc_poll_key);
         }
         $this->end(true, app::get('b2c')->_('重新发送成功!'));
     } else {
         $this->end(false, app::get('b2c')->_('发起的请求不存在!'));
     }
 }
예제 #5
0
파일: brand.php 프로젝트: sss201413/ecstore
 function save()
 {
     $this->begin('index.php?app=b2c&ctl=admin_brand&act=index');
     $objBrand = $this->app->model('brand');
     $brandname = $objBrand->dump(array('brand_name' => $_POST['brand_name'], 'brand_id'));
     if (empty($_POST['brand_id']) && is_array($brandname)) {
         $this->end(false, app::get('b2c')->_('品牌名重复'));
     }
     $_POST['ordernum'] = intval($_POST['ordernum']);
     $data = $this->_preparegtype($_POST);
     #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓记录管理员操作日志@lujy↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
     if ($obj_operatorlogs = kernel::service('operatorlog.goods')) {
         $olddata = app::get('b2c')->model('brand')->dump($_POST['brand_id']);
     }
     #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑记录管理员操作日志@lujy↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
     if ($objBrand->save($data)) {
         #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓记录管理员操作日志@lujy↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
         if ($obj_operatorlogs = kernel::service('operatorlog.goods')) {
             if (method_exists($obj_operatorlogs, 'brand_log')) {
                 $obj_operatorlogs->brand_log($_POST, $olddata);
             }
         }
         #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑记录管理员操作日志@lujy↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
         $this->end(true, app::get('b2c')->_('品牌保存成功'));
     } else {
         $this->end(false, app::get('b2c')->_('品牌保存失败'));
     }
 }
예제 #6
0
 /**
  * 订单备注添加
  * @param array sdf
  * @param string message
  * @return boolean success or failure
  */
 public function update(&$sdf, &$msg = '')
 {
     // 备注订单是和中心的交互
     $order = $this->app->model('orders');
     $arr_order = $order->getList('*', array('order_id' => $sdf['orderid']));
     if ($arr_order[0]) {
         if ($arr_order[0]['mark_text']) {
             $arr_order[0]['mark_text'] = unserialize($arr_order[0]['mark_text']);
         }
         $arr_order[0]['mark_text'][] = array('mark_text' => str_replace("\n", ' ', $sdf['mark_text']), 'add_time' => time(), 'op_name' => $sdf['op_name']);
         $arr_order[0]['mark_text'] = serialize($arr_order[0]['mark_text']);
     }
     $data['order_id'] = $sdf['orderid'];
     $data['mark_text'] = $arr_order[0]['mark_text'] ? $arr_order[0]['mark_text'] : $sdf['mark_text'];
     $data['mark_type'] = $sdf['mark_type'];
     $is_success = $order->save($data);
     if ($is_success) {
         //$this->request($sdf, 'store.trade.memo.update');
         //ajx 订单备注走2.0新接口
         if ($order_object = kernel::service('b2c_order_rpc_async')) {
             $order_object->modifyActive($sdf['orderid']);
         }
         return true;
     } else {
         $msg = app::get('b2c')->_("订单备注保存失败!");
         return false;
     }
 }
예제 #7
0
파일: common.php 프로젝트: syjzwjj/quyeba
 public function rpc_notify($order_id, $sdf = array())
 {
     if (!$order_id) {
         return;
     }
     // 普通一般订单不做处理,只是实现这个接口。
     $obj_order = $this->app->model('orders');
     $subsdf = array('order_objects' => array('*', array('order_items' => array('*', array(':products' => '*')))), 'order_pmt' => array('*'));
     $objOrder = $obj_order->dump($order_id, '*', $subsdf);
     $obj_order_create = kernel::single("b2c_order_create");
     // 首先发送订单。
     $obj_rpc_request_service = kernel::service('b2c.rpc.send.request');
     if ($obj_rpc_request_service && method_exists($obj_rpc_request_service, 'rpc_caller_request')) {
         if ($obj_rpc_request_service instanceof b2c_api_rpc_request_interface) {
             $obj_rpc_request_service->rpc_caller_request($objOrder, 'create');
         }
     } else {
         $obj_order_create->rpc_caller_request($objOrder);
     }
     // 判断是否需要其他的请求 - 暂时只有支付后的业务
     $app_ectools = app::get('ectools');
     $objModelPay = $app_ectools->model('payments');
     $obj_order_bills = $app_ectools->model('order_bills');
     $sql = 'SELECT * FROM ' . $objModelPay->table_name(1) . ' AS payments' . ' LEFT JOIN ' . $obj_order_bills->table_name(1) . ' AS bill ON bill.bill_id=payments.payment_id' . ' WHERE bill.bill_type="payments" AND bill.rel_id=\'' . $obj_order_bills->db->quote($order_id) . '\' AND (status=\'succ\' OR status=\'progress\')';
     if ($row = $obj_order_bills->db->select($sql)) {
         $arr_data = array();
         $arr_data = $row[0];
         $arr_data['order_id'] = $arr_data['rel_id'];
         unset($arr_data['rel_id']);
         $obj_order_pay = kernel::single('b2c_order_pay');
         $obj_order_pay->request($arr_data);
     }
 }
예제 #8
0
 function to_reply()
 {
     $this->begin("javascript:finderGroup[" . "'" . $_GET["finder_id"] . "'" . "].refresh()");
     $comment_id = $_POST['comment_id'];
     $comment = $_POST['reply_content'];
     if ($comment_id && $comment) {
         $member_comments = kernel::single('b2c_message_msg');
         if ($member_comments->to_reply($_POST)) {
             #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓记录管理员操作日志@lujy↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
             if ($obj_operatorlogs = kernel::service('operatorlog.members')) {
                 if (method_exists($obj_operatorlogs, 'reply_comment')) {
                     $sdf['comment'] = $comment_id;
                     $sdf['title'] = $comment;
                     $sdf['object_type'] = 'msg';
                     $obj_operatorlogs->reply_comment($sdf);
                 }
             }
             #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑记录管理员操作日志@lujy↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
             $this->end(true, app::get('b2c')->_('回复成功'));
         } else {
             $this->end(false, app::get('b2c')->_('回复失败'));
         }
     } else {
         $this->end(false, app::get('b2c')->_('内容不能为空'));
     }
 }
예제 #9
0
파일: input.php 프로젝트: sss201413/ecstore
 function input_region($params)
 {
     if ($params['required'] == 'true') {
         $params['vtype'] = 'area';
     }
     $package = kernel::service('ectools_regions.ectools_mdl_regions');
     $params['package'] = $package->key;
     if (!$params['callback']) {
         unset($params['callback']);
     }
     $render = app::get('ectools')->render();
     $render->pagedata['params'] = $params;
     $area_depth = app::get('ectools')->getConf('system.area_depth');
     $aDepth = array();
     for ($i = 0; $i < $area_depth; $i++) {
         $aDepth[] = $i;
     }
     $render->pagedata['area_depth'] = $aDepth;
     if (ECAE_MODE) {
         $render->pagedata['region_data'] = app::get('ectools')->getConf('system.region_data');
     }
     if ($params['platform'] == 'iswap') {
         $views = 'wap/common/region.html';
     } else {
         $views = 'common/region.html';
     }
     return $render->fetch($views);
 }
예제 #10
0
파일: response.php 프로젝트: syjzwjj/quyeba
 public function __call($method, $params)
 {
     //api 版本历史
     $apiv_history = array('2.0', '1.0');
     $api_info = base_rpc_service::$api_info;
     $api_obj = NULL;
     $flag = false;
     foreach ($apiv_history as $v) {
         if ($this->apiv == $v) {
             $flag = true;
         }
         if ($flag) {
             $service = 'apiv_' . $v . '_' . $api_info['api_name'];
             $api_obj = kernel::service($service);
             if (method_exists($api_obj, $method)) {
                 break;
             } else {
                 kernel::log('apiv service:' . $service . ', method:' . $method . '  not found!');
             }
         }
     }
     if (!$api_obj || !method_exists($api_obj, $method)) {
         trigger_error('server reject!', E_USER_ERROR);
     }
     //return call_user_func_array(array( &$api_obj, $method ), $params);
     return $api_obj->{$method}($params[0], $params[1]);
 }
예제 #11
0
 function save()
 {
     $this->begin();
     $mem_wit = $this->app->model('member_withdrawal');
     $mem_adv = $this->app->model('member_advance');
     $row = $mem_wit->dump($_POST['id']);
     if (!$row || $row['has_op'] == 'true') {
         $this->end(false, app::get('b2c')->_('该数据已经处理!'));
     }
     $data['modify_advance'] = -$row['amount'];
     $data['modify_memo'] = $_POST['remark'];
     #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓记录管理员操作日志↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
     if ($obj_operatorlogs = kernel::service('operatorlog.members')) {
         $olddata = app::get('b2c')->model('members')->dump($data['member_id']);
     }
     #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑记录管理员操作日志↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
     if (!$mem_adv->adj_amount($row['member_id'], $data, $msg, false)) {
         $this->end(false, app::get('b2c')->_($msg));
     }
     #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓记录管理员操作日志@lujy↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
     if ($obj_operatorlogs = kernel::service('operatorlog.members')) {
         if (method_exists($obj_operatorlogs, 'detail_advance_log')) {
             $newdata = app::get('b2c')->model('members')->dump($data['member_id']);
             $obj_operatorlogs->detail_advance_log($newdata, $olddata);
         }
     }
     #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑记录管理员操作日志@lujy↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
     $_POST['has_op'] = 'true';
     if ($mem_wit->save($_POST)) {
         $this->end(true, app::get('b2c')->_('保存成功'));
     } else {
         $this->end(false, app::get('b2c')->_('保存失败'));
     }
 }
예제 #12
0
파일: charset.php 프로젝트: 453111208/bbc
 function __construct()
 {
     $obj = kernel::service('base_charset');
     if ($obj instanceof base_charset_interface) {
         $this->set_instance($obj);
     }
 }
예제 #13
0
파일: csv.php 프로젝트: dalinhuang/shopexts
 function __construct()
 {
     if (!setlocale(LC_ALL, 'zh_CN.gbk')) {
         setlocale(LC_ALL, "chs");
     }
     $this->charset = kernel::service('ectools_charset');
 }
예제 #14
0
 function _send($sendMethod, $tmpl_name, $target, $data, $type, $title = null)
 {
     $sender =& $this->_load($sendMethod);
     $this->_ready($sender);
     if (!$this->_systmpl) {
         $this->_systmpl =& $this->app->model('member_systmpl');
     }
     $content = $this->_systmpl->fetch($tmpl_name, $data);
     $tile = $this->loadTitle($type, $sendMethod, '', $data);
     $service = kernel::service("b2c.messenger.fireEvent_content");
     if (is_object($service)) {
         if (method_exists($service, 'get_content')) {
             $content = $service->get_content($content);
         }
         $tile = $service->get_content($tile);
     }
     if ($tile == '') {
         $tile = app::get('site')->getConf('site.name');
     }
     $sender->config['shopname'] = app::get('site')->getConf('site.name');
     // Andrew 20120929
     // 接管消息系统
     // $sender->send($target,$tile,$content,$sender->config);
     $services = kernel::servicelist("custom.message.send");
     foreach ($services as $service) {
         $service->send($sendMethod, $target, $tile, $content, $sender->config);
     }
     return $ret || !is_bool($ret);
 }
예제 #15
0
파일: order.php 프로젝트: sss201413/ecstore
 function check_order($orders)
 {
     $cancel_mdl = app::get('starbuy')->model('cancelorder');
     $obj_checkorder = kernel::service('b2c_order_apps', array('content_path' => 'b2c_order_checkorder'));
     foreach ($orders as $key => $val) {
         $oid = $val['order_id'];
         if ($obj_checkorder->check_order_cancel($oid)) {
             $sdf['order_id'] = $oid;
             $sdf['op_id'] = 1;
             // $this->user->user_id;
             $sdf['opname'] = "admin";
             //$this->user->user_data['account']['login_name'];
             $sdf['account_type'] = "shopadmin";
             //$this->user->account_type;
             $sdf['op_id'] = $this->user->user_id;
             $sdf['opname'] = $this->user->user_data['account']['login_name'];
             $sdf['account_type'] = $this->user->account_type;
             $b2c_order_cancel = kernel::single("b2c_order_cancel");
             if ($b2c_order_cancel->generate($sdf, $null, $message)) {
                 if ($order_object = kernel::service('b2c_order_rpc_async')) {
                     $order_object->modifyActive($sdf['order_id']);
                 }
                 $cancel_mdl->delete(array('order_id' => $oid));
             }
         }
     }
 }
예제 #16
0
 function index()
 {
     if (defined('APP_SITE_INDEX_MAXAGE') && APP_SITE_INDEX_MAXAGE > 1) {
         $this->set_max_age(APP_SITE_INDEX_MAXAGE);
     }
     //todo: 首页max-age设定
     if (kernel::single('site_theme_base')->theme_exists()) {
         $obj = kernel::service('site_index_seo');
         if (is_object($obj) && method_exists($obj, 'title')) {
             $title = $obj->title();
         } else {
             $title = app::get('site')->getConf('site.name') ? app::get('site')->getConf('site.name') : app::get('site')->getConf('page.default_title');
         }
         if (is_object($obj) && method_exists($obj, 'keywords')) {
             $keywords = $obj->keywords();
         } else {
             $keywords = app::get('site')->getConf('page.default_keywords') ? app::get('site')->getConf('page.default_keywords') : $title;
         }
         if (is_object($obj) && method_exists($obj, 'description')) {
             $description = $obj->description();
         } else {
             $description = app::get('site')->getConf('page.default_description') ? app::get('site')->getConf('page.default_description') : $title;
         }
         $this->pagedata['headers'][] = '<title>' . htmlspecialchars($title) . '</title>';
         $this->pagedata['headers'][] = '<meta name="keywords" content="' . htmlspecialchars($keywords) . '" />';
         $this->pagedata['headers'][] = '<meta name="description" content="' . htmlspecialchars($description) . '" />';
         $this->pagedata['headers'][] = "<link rel='icon' href='{$this->app->res_url}/favicon.ico' type='image/x-icon' />";
         $this->pagedata['headers'][] = "<link rel='shortcut icon' href='{$this->app}->res_url/favicon.ico' type='image/x-icon' />";
         $GLOBALS['runtime']['path'][] = array('title' => app::get('b2c')->_('首页'), 'link' => kernel::base_url(1));
         $this->set_tmpl('index');
         $this->page('index.html');
     } else {
         $this->display('splash/install_template.html');
     }
 }
예제 #17
0
파일: lv.php 프로젝트: sss201413/ecstore
 function save()
 {
     $this->begin();
     $objMemLv = $this->app->model('member_lv');
     if ($objMemLv->validate($_POST, $msg)) {
         if ($_POST['member_lv_id']) {
             $olddata = app::get('b2c')->model('member_lv')->dump($_POST['member_lv_id']);
         }
         #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑记录管理员操作日志@lujy↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
         if ($objMemLv->save($_POST)) {
             #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓记录管理员操作日志@lujy↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
             if ($obj_operatorlogs = kernel::service('operatorlog.members')) {
                 if (method_exists($obj_operatorlogs, 'member_lv_log')) {
                     $newdata = app::get('b2c')->model('member_lv')->dump($_POST['member_lv_id']);
                     $obj_operatorlogs->member_lv_log($newdata, $olddata);
                 }
             }
             #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑记录管理员操作日志@lujy↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
             $this->end(true, app::get('b2c')->_('保存成功'));
         } else {
             $this->end(false, app::get('b2c')->_('保存失败'));
         }
     } else {
         $this->end(false, $msg);
     }
 }
예제 #18
0
 /**
  * 需要同步的数据
  */
 public function sync($request, $rpcService)
 {
     // $cnt    = kernel::single('b2c_shop')->getShopBindStatus();
     // if ( $cnt > 0 ) {
     if ($request['region_id']) {
         $obj_regions_op = kernel::service('ectools_regions_apps', array('content_path' => 'ectools_regions_operation'));
         if ($request['sync_type'] == 'del') {
             if ($request['region_id']) {
                 $obj_regions_op->toRemoveArea($request['region_id']);
             }
         } else {
             $ordernum = isset($request['ordernum']) ? $request['ordernum'] : 50;
             $package = $request['package'] ? $request['package'] : 'mainland';
             $data = array('region_id' => $request['region_id'], 'local_name' => $request['local_name'], 'ordernum' => $ordernum, 'package' => $package);
             if ($request['p_region_id']) {
                 $data['p_region_id'] = $request['p_region_id'];
             }
             $obj_regions_op->replaceDlArea($data, $msg);
         }
         $ret = array('code' => 1, 'msg' => app::get('ectools')->_('同步成功'));
     } else {
         $ret = array('code' => -1, 'msg' => app::get('ectools')->_('请确保地区ID'));
     }
     // } else {
     //     $ret    = array (
     //             'code'  => -2,
     //             'msg'   => app::get('ectools')->_('店铺未绑定无需同步'),
     //             );
     // }
     if ($ret['code'] < 0) {
         $rpcService->send_user_error($ret['code'], $ret['msg']);
     }
     return $ret;
 }
예제 #19
0
 public function function_wapfooter($params, &$smarty)
 {
     $footers = $smarty->pagedata['footers'];
     if (is_array($footers)) {
         foreach ($footers as $footer) {
             $html .= $footer;
         }
     } else {
         $html .= $footers;
     }
     $html .= app::get('wap')->getConf('wap.foot_edit');
     $obj = kernel::service('site_footer_copyright');
     if (is_object($obj) && method_exists($obj, 'get')) {
         $html .= $obj->get();
     } else {
         if (!defined('WITHOUT_POWERED') || !constant('WITHOUT_POWERED')) {
             $html .= ecos_cactus('wap', 'wapcopyr', $html);
         }
     }
     if (isset($_COOKIE['wap']['preview']) && $_COOKIE['wap']['preview'] == 'true') {
         $base_dir = kernel::base_url();
         $remove_cookie = "\$.fn.cookie('wap[preview]','',{path:'" . $base_dir . "/'});\$(document.body).removeClass('set-margin-body');";
         $set_window = '$("body").addClass("set-margin-body");moveTo(0,0);resizeTo(screen.availWidth,screen.availHeight);';
         $html .= '<style>body.set-margin-body{margin-top:36px;}#_theme_preview_tip_ {width:100%; position: absolute; left: 0; top: 0; background: #FCE2BC; height: 25px; line-height: 25px; padding: 5px 0; border-bottom: 1px solid #FF9900;box-shadow: 0 2px 5px #CCCCCC; }#_theme_preview_tip_ span.msg { float: left; _display: inline;zoom:1;line-height: 25px;margin-left:10px;padding:0; }#_theme_preview_tip_ a.btn {vertical-align:middle; color:#333;float: right; margin:0 10px; }</style><div id="_theme_preview_tip_"><span class="msg">' . app::get('site')->_('目前正在预览模式') . '</span><a href="javascript:void(0);" class="btn" onclick="' . $remove_cookie . 'location.reload();"><span><span>' . app::get('site')->_('退出预览') . '</span></span></a></div>';
         $html .= '<script>' . $set_window . '$(window).on("unload",function(){' . $remove_cookie . '});</script>';
     }
     $html .= $smarty->fetch('footer.html', app::get('wap')->app_id);
     $icp = app::get('site')->getConf('system.site_icp');
     if ($icp) {
         $html .= '<div style="text-align: center;">' . $icp . '</div>';
     }
     return $html;
 }
예제 #20
0
파일: passport.php 프로젝트: 453111208/bbc
 public function index()
 {
     /** 登录之前的预先验证 **/
     if (!defined("STRESS_TESTING")) {
         $obj_services = kernel::servicelist('app_pre_auth_use');
         foreach ($obj_services as $obj) {
             if (method_exists($obj, 'pre_auth_uses') && method_exists($obj, 'login_verify')) {
                 $pagedata['desktop_login_verify'] = $obj->login_verify();
             }
         }
     }
     /** end **/
     //检查证书是否合法,从而判定产品功能是否可用。比如b2c功能
     $certCheckObj = kernel::service("product_soft_certcheck");
     if (is_object($certCheckObj) && method_exists($certCheckObj, "check")) {
         $certCheckObj->check();
     }
     $pagedata['desktop'] = url::route('shopadmin');
     $pagedata['redirect'] = input::get('url');
     $pagedata['Commerce'] = 'yes';
     $pagedata['img_url'] = app::get('desktop')->res_url . '/images/login.png';
     if (pamAccount::isEnableVcode('desktop')) {
         $pagedata['show_varycode'] = 'true';
     }
     $pagedata['error_info'] = urldecode(input::get('msg'));
     $conf = base_setup_config::deploy_info();
     $pagedata['product_key'] = $conf['product_key'];
     return view::make('desktop/login.html', $pagedata);
 }
예제 #21
0
 public function exec($params = null)
 {
     $obj_memmsm = kernel::single('b2c_messenger_sms');
     $objfilter = kernel::service('filter_sms_content');
     $title = $params['data']['title'];
     $message = $params['data']['content'];
     if (is_object($objfilter)) {
         if (method_exists($objfilter, 'get_filter_content')) {
             $data = $objfilter->get_filter_content($title, $message);
             $title = $data['title'] ? $data['title'] : '';
             $message = $data['content'];
         }
     }
     $to = $params['mobile_number'];
     $config['shopname'] = app::get('site')->getConf('site.name');
     $config['use_reply'] = $params['data']['use_reply'] == 'true' ? 1 : 0;
     $config['sendType'] = $params['data']['sendType'] == 'fan-out' ? 'fan-out' : 'notice';
     if ($obj_memmsm->ready($config)) {
         $obj_memmsm->send($to, $title, $message, $config);
     }
     if ($params['gnotify_id']) {
         $member_goods = app::get('b2c')->model('member_goods');
         $sdf = $member_goods->dump($params['gnotify_id']);
         $sdf['status'] = "send";
         $sdf['send_time'] = time();
         $member_goods->save($sdf);
     }
 }
예제 #22
0
파일: point.php 프로젝트: syjzwjj/quyeba
 public function point_detail($nPage = 1)
 {
     $this->path[] = array('title' => app::get('pointprofessional')->_('会员中心'), 'link' => $this->gen_url(array('app' => 'b2c', 'ctl' => 'site_member', 'act' => 'index', 'full' => 1)));
     $this->path[] = array('title' => app::get('pointprofessional')->_('我的积分'), 'link' => '#');
     $GLOBALS['runtime']['path'] = $this->path;
     $member = $this->app_current->model('members');
     $member_point = $this->app_current->model('member_point');
     $obj_gift_link = kernel::service('b2c.exchange_gift');
     if ($obj_gift_link) {
         $this->pagedata['exchange_gift_link'] = $obj_gift_link->gen_exchange_link();
     }
     $data = $member->dump($this->app->member_id, '*', array('score/event' => array('*')));
     $count = $member_point->count(array('member_id' => $this->app->member_id));
     // 扩展的积分信息
     $obj_extend_point = kernel::servicelist('b2c.member_extend_point_info');
     if ($obj_extend_point) {
         foreach ($obj_extend_point as $obj) {
             $this->pagedata['extend_point_html'] = $obj->gen_extend_detail_point($data);
         }
     }
     $aPage = $this->get_start($nPage, $count);
     $params['data'] = $member_point->get_all_list('*', array('member_id' => $this->member['member_id'], 'change_point|than' => '0'), $aPage['start'], $this->pagesize);
     $params['page'] = $aPage['maxPage'];
     $this->pagination($nPage, $params['page'], 'point_detail', '', 'pointprofessional', 'site_point');
     $this->pagedata['total'] = $data['score']['total'];
     $this->pagedata['historys'] = $params['data'];
     $this->output('pointprofessional');
 }
예제 #23
0
 /**
  * 订单取消
  * @params array - 订单数据
  * @params object - 控制器
  * @params string - 支付单生成的记录
  * @return boolean - 成功与否
  */
 public function generate($sdf, &$controller = null, &$msg = '')
 {
     $is_save = false;
     $is_unfreeze = true;
     $order = $controller->app->model('orders');
     $sdf_order = $order->dump($sdf['order_id'], '*');
     //更新库存
     $obj_checkorder = kernel::service('b2c_order_apps', array('content_path' => 'b2c_order_checkorder'));
     $arrStatus = $obj_checkorder->checkOrderFreez('cancel', $sdf['order_id']);
     if ($arrStatus['unfreez']) {
         $is_unfreeze = $this->unfreezeGoods($sdf['order_id']);
     }
     //$obj_api_order = kernel::service("api.b2c.order");
     $sdf_order['status'] = 'dead';
     $is_save = $order->save($sdf_order);
     $this->request($sdf_order['order_id']);
     // 更新退款日志结果
     if ($is_save && $is_unfreeze) {
         $objorder_log = $this->app->model('order_log');
         $sdf_order_log = array('rel_id' => $sdf['order_id'], 'op_id' => $sdf['op_id'], 'op_name' => $sdf['opname'], 'alttime' => time(), 'bill_type' => 'order', 'behavior' => 'cancel', 'result' => 'SUCCESS', 'log_text' => '订单取消');
         $log_id = $objorder_log->save($sdf_order_log);
     }
     $aUpdate['order_id'] = $sdf['order_id'];
     if ($sdf_order['member_id']) {
         $member = $this->app->model('members');
         $arr_member = $member->dump($sdf_order['member_id'], '*', array(':account@pam' => '*'));
     }
     $aUpdate['email'] = !$sdf_order['member_id'] ? $sdf_order['consignee']['email'] : $arr_member['contact']['email'];
     $order->fireEvent("cancel", $aUpdate, $sdf_order['member_id']);
     return $is_save && $is_unfreeze;
 }
예제 #24
0
 /**
  * 选择配送方式的接口
  * @params object 控制器入口
  * @params string 最后一级地区的id
  * @params array 标准购物车数据
  */
 public function select_delivery_method(&$controller, $area_id = '', $sdf_cart, $shipping_method = '', $tpl = 'site/cart/checkout/delivery_list.html')
 {
     $pay_app_id = $sdf_cart['pay_app_id'] ? $sdf_cart['pay_app_id'] : '';
     $all_dly_types = $this->get_dlytype($controller, $area_id, $pay_app_id);
     $controller->pagedata['shipping_method'] = json_decode($shipping_method, true);
     $shipping_id = $controller->pagedata['shipping_method']['shipping_id'];
     $controller->pagedata['is_shipping_match'] = 0;
     /** 阶梯费用只能根据优惠后的金额来处理 - 除去商品优惠和订单优惠后的最终价格 **/
     $objMath = kernel::single('ectools_math');
     $cost_item = $objMath->number_minus(array($sdf_cart['subtotal'], $sdf_cart['discount_amount_prefilter'], $sdf_cart['discount_amount_order']));
     foreach ($all_dly_types as $rows) {
         if ($rows['is_threshold']) {
             if ($rows['threshold']) {
                 $rows['threshold'] = unserialize(stripslashes($rows['threshold']));
                 if (isset($rows['threshold']) && $rows['threshold']) {
                     foreach ($rows['threshold'] as $res) {
                         if ($res['area'][1] > 0) {
                             if ($cost_item >= $res['area'][0] && $cost_item < $res['area'][1]) {
                                 $rows['firstprice'] = $res['first_price'];
                                 $rows['continueprice'] = $res['continue_price'];
                             }
                         } else {
                             if ($cost_item >= $res['area'][0]) {
                                 $rows['firstprice'] = $res['first_price'];
                                 $rows['continueprice'] = $res['continue_price'];
                             }
                         }
                     }
                 }
             }
         }
         $rows['money'] = @utils::cal_fee($rows['dt_expressions'], $sdf_cart['subtotal_weight'], $sdf_cart['subtotal'], $rows['firstprice'], $rows['continueprice'], $rows['firstprice']);
         $shipping[] = $rows;
         if ($shipping_id == $rows['dt_id']) {
             $controller->pagedata['is_shipping_match'] = 1;
         }
     }
     $controller->pagedata['shippings'] =& $shipping;
     foreach ((array) ($obj_dlytype_detail_extends = kernel::servicelist('b2c.dlytype.detail.extends')) as $obj) {
         if (method_exists($obj, 'extends_shipping_detail')) {
             $obj->extends_shipping_detail($shipping);
         }
     }
     $controller->pagedata['shipping_method'] = isset($_COOKIE['purchase']['shipping']) && $_COOKIE['purchase']['shipping'] ? unserialize($_COOKIE['purchase']['shipping']) : '';
     /** 暂时为商超夜间配送加入的service,可能功能改变后需要删除 **/
     $obj_service = kernel::service('b2c.dlytype.select.extends');
     if ($obj_service) {
         if (method_exists($obj_service, 'extends_shipping')) {
             $controller->pagedata['is_night_delivery'] = $obj_service->extends_shipping($area_id);
         } else {
             $controller->pagedata['is_night_delivery'] = 'false';
         }
     }
     /** 结束 **/
     $str_html = $controller->fetch($tpl, $controller->pagedata['app_id']);
     $obj_ajax_view_help = kernel::single('b2c_view_ajax');
     return $obj_ajax_view_help->get_html($str_html, 'b2c_order_dlytype', 'select_delivery_method');
 }
예제 #25
0
파일: addrs.php 프로젝트: syjzwjj/quyeba
 /**
  * 重写getList方法
  * @param string column
  * @param array filter
  * @param int offset
  * @param int limit
  * @param string order by
  */
 public function getList($cols = '*', $filter = array(), $offset = 0, $limit = -1, $orderType = null)
 {
     $addrs_member = parent::getList($cols, $filter, $offset, $limit, $orderType);
     $info_object = kernel::service('sensitive_information');
     if (is_object($info_object)) {
         $info_object->opinfo($addrs_member, 'b2c_mdl_member_addrs', __FUNCTION__);
     }
     return $addrs_member;
 }
예제 #26
0
 /**
  * 订单取消
  * @params array - 订单数据
  * @params object - 控制器
  * @params string - 支付单生成的记录
  * @return boolean - 成功与否
  */
 public function generate($sdf, &$controller = null, &$msg = '')
 {
     $is_save = false;
     $is_unfreeze = true;
     if (!$controller) {
         $order = app::get('b2c')->model('orders');
     } else {
         $order = $controller->app->model('orders');
     }
     $sdf_order = $order->dump($sdf['order_id'], '*');
     //更新库存
     $obj_checkorder = kernel::service('b2c_order_apps', array('content_path' => 'b2c_order_checkorder'));
     $arrStatus = $obj_checkorder->checkOrderFreez('cancel', $sdf['order_id']);
     if ($arrStatus['unfreez']) {
         $is_unfreeze = $this->unfreezeGoods($sdf['order_id']);
     }
     //$obj_api_order = kernel::service("api.b2c.order");
     $sdf_order['status'] = 'dead';
     $is_save = $order->save($sdf_order);
     $this->request($sdf_order['order_id']);
     $obj_order_operations = kernel::servicelist('b2c.order_point_operaction');
     if ($obj_order_operations) {
         $arr_data = array('member_id' => $sdf_order['member_id'], 'score_g' => $sdf_order['score_g'], 'score_u' => $sdf_order['score_u']);
         foreach ($obj_order_operations as $obj_operation) {
             $obj_operation->gen_member_point($arr_data, 'cancel');
         }
     }
     // 更新退款日志结果
     if ($is_save && $is_unfreeze) {
         $objorder_log = $this->app->model('order_log');
         $cancel_type = array('member' => '用户作废', 'shopadmin' => '管理员作废');
         $log_text[] = array('txt_key' => '订单取消' . '(' . $cancel_type[$sdf['account_type']] . ')', 'data' => array());
         $log_text = serialize($log_text);
         $sdf_order_log = array('rel_id' => $sdf['order_id'], 'op_id' => $sdf['op_id'], 'op_name' => $sdf['opname'], 'alttime' => time(), 'bill_type' => 'order', 'behavior' => 'cancel', 'result' => 'SUCCESS', 'log_text' => $log_text);
         $log_id = $objorder_log->save($sdf_order_log);
     }
     $aUpdate['order_id'] = $sdf['order_id'];
     if ($sdf_order['member_id']) {
         $pamMembers = app::get('pam')->model('members');
         $arr_member = $pamMembers->getList('login_account', array('member_id' => $sdf_order['member_id'], 'login_type' => 'email'));
     }
     $aUpdate['email'] = !$sdf_order['member_id'] ? $sdf_order['consignee']['email'] : $arr_member[0]['login_account'];
     $order->fireEvent("cancel", $aUpdate, $sdf_order['member_id']);
     if ($is_save && $is_unfreeze) {
         foreach (kernel::servicelist("b2c_order_cancel_finish") as $object) {
             if (!is_object($object)) {
                 continue;
             }
             if (!method_exists($object, 'order_notify')) {
                 continue;
             }
             $object->order_notify($sdf_order);
         }
     }
     return $is_save && $is_unfreeze;
 }
예제 #27
0
 function setDefault()
 {
     set_time_limit(0);
     $this->begin('index.php?app=ectools&ctl=regionssetting&act=index');
     $model =& $this->app->model('regions');
     $model->clearOldData();
     $package = kernel::service('ectools_regions.ectools_mdl_regions');
     $rs = $package->install();
     $this->end($rs);
 }
예제 #28
0
 function page($detail)
 {
     header('Content-type: text/html; charset=utf-8');
     $object = kernel::service('theme');
     if ($object) {
         $object->display($detail);
     } else {
         $this->display($detail);
     }
 }
예제 #29
0
 function __destruct()
 {
     #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓记录管理员操作日志@lujy↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
     if ($obj_operatorlogs = kernel::service('operatorlog')) {
         if (method_exists($obj_operatorlogs, 'logSetTagInfo')) {
             $obj_operatorlogs->logSetTagInfo();
         }
     }
     #↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑记录管理员操作日志@lujy↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
 }
예제 #30
0
 public function generate(&$sdf, &$msg = '')
 {
     $obj_return_policy = kernel::service("aftersales.return_policy");
     $is_save = $obj_return_policy->save_return_product($sdf);
     if (!$is_save) {
         $msg = app::get('b2c')->_('数据保存失败!');
         return false;
     }
     return true;
 }