Action::_dispatch_jump PHP Method

_dispatch_jump() private method

默认跳转操作 支持错误导向和正确跳转 调用模板显示 默认为public目录下面的success页面 提示页面为可配置 支持模板标签
private _dispatch_jump ( string $message, boolean $status = 1, boolean $ajax = false )
$message string 提示信息
$status boolean 状态
$ajax boolean 是否为Ajax方式
    private function _dispatch_jump($message, $status = 1, $ajax = false)
    {
        // 判断是否为AJAX返回
        if ($ajax || $this->isAjax()) {
            $data['jumpUrl'] = false;
            if ($this->get('jumpUrl')) {
                $data['jumpUrl'] = $this->get('jumpUrl');
            }
            $this->ajaxReturn($data, $message, $status);
        }
        // 提示标题
        $this->assign('msgTitle', $status ? L('_OPERATION_SUCCESS_') : L('_OPERATION_FAIL_'));
        //如果设置了关闭窗口,则提示完毕后自动关闭窗口
        if ($this->get('closeWin')) {
            $this->assign('jumpUrl', 'javascript:window.close();');
        }
        $this->assign('status', $status);
        // 状态
        empty($message) && ($message = $status == 1 ? '操作成功' : '操作失败');
        $this->assign('message', $message);
        // 提示信息
        $tpl = 'success.html';
        isMobile() && ($tpl = 'wap_success.html');
        //保证输出不受静态缓存影响
        C('HTML_CACHE_ON', false);
        if ($status) {
            //发送成功信息
            // 成功操作后默认停留1秒
            if (!$this->get('waitSecond')) {
                $this->assign('waitSecond', '2');
            }
            // 默认操作成功自动返回操作前页面
            if (!$this->get('jumpUrl')) {
                $this->assign('jumpUrl', $_SERVER['HTTP_REFERER']);
            }
            //sociax:2010-1-21
            //$this->display(C('TMPL_ACTION_SUCCESS'));
            $this->display(THEME_PATH . '/' . $tpl);
        } else {
            //发生错误时候默认停留3秒
            if (!$this->get('waitSecond')) {
                $this->assign('waitSecond', '5');
            }
            // 默认发生错误的话自动返回上页
            if (!$this->get('jumpUrl')) {
                $this->assign('jumpUrl', 'javascript:history.back(-1);');
            }
            //sociax:2010-1-21
            //$this->display(C('TMPL_ACTION_ERROR'));
            $this->display(THEME_PATH . '/' . $tpl);
        }
        if (C('LOG_RECORD')) {
            Log::save();
        }
        // 中止执行  避免出错后继续执行
        exit;
    }