Example #1
0
 public function ajax($url = null, $total = 0, $params = [])
 {
     $is_api = $this->get('is_api_request');
     if ($is_api) {
         return false;
     }
     if (is_array($total)) {
         $params = $total;
         $total = 0;
     }
     $is_ajax = $this->get('is_ajax_request');
     $ajax = [];
     $ajax['enable'] = $is_ajax === true ? false : true;
     $ajax['disable'] = $ajax['enable'];
     $form = [];
     $url = empty($url) ? Utility::currentUrl() : $this->link($url);
     $method = strtoupper($params['method']);
     $method = $method && in_array($method, ['POST', 'GET']) ? $method : 'POST';
     unset($params['method']);
     $start = '<form id="ajax_form" method="' . $method . '" action="' . $url . '">';
     $end = '</form>';
     $start .= '<input type="hidden" id="page" name="page" value="1" />';
     $start .= '<input type="hidden" id="total" name="total" value="' . $total . '" />';
     foreach ($params as $k => $v) {
         $mid .= '<input type="hidden" name="' . $k . '" value="' . $v . '" />';
     }
     $ajax['form'] = $start . $mid . $end;
     $ajax['start'] = $start . $mid;
     $ajax['end'] = $end;
     $class = 'render-' . uniqid();
     $params['class'] = '.' . $class;
     $start = '<form role="render" class="' . $class . '" method="' . $method . '" action="' . $url . '">';
     $form['start'] = $start . $mid;
     $form['params'] = $mid;
     $form['end'] = $end;
     $form['class'] = $params['class'];
     $ajax['fm'] = $form;
     $params['total'] = $total;
     $params['url'] = $url;
     $ajax['params'] = $params;
     $this->assign('ajax', $ajax);
 }