function _consultar($dados)
 {
     $params = array();
     if ($dados->nome != NULL) {
         $params['LIKE']['nome'] = $dados->nome;
     }
     $b_consultar_total = $this->blogs_categorias_model->consultar_total($params);
     $params['LIMIT']['inicio'] = $this->uri->segment(5, NULL);
     $params['LIMIT']['fim'] = $this->total_registro_por_pagina;
     $b_consultar = $this->blogs_categorias_model->consultar($params);
     $v_dados = array();
     $v_dados['blogs_categorias'] = array();
     $v_dados['paginacao'] = '';
     if ($b_consultar != NULL) {
         foreach ($b_consultar as $k => $v) {
             $v_dados['blogs_categorias'][$k]['id_blogs_categorias'] = $v->id_blogs_categorias;
             $v_dados['blogs_categorias'][$k]['nome'] = $v->nome;
             $v_dados['blogs_categorias'][$k]['acao'] = anchor(url_admin() . 'blogs_categorias/alterar/' . $v->id_blogs_categorias, 'Alterar');
         }
         $config = array();
         $config['base_url'] = url_admin() . "blogs_categorias/consultar/" . json_url_base64_encode($dados);
         $config['total_rows'] = $b_consultar_total;
         $config['per_page'] = $this->total_registro_por_pagina;
         $config['cur_page'] = 0;
         $config['uri_segment'] = 5;
         $config['num_links'] = 4;
         $config['first_link'] = 'Primeiro';
         $config['last_link'] = 'Último';
         $config['next_link'] = 'Próximo';
         $config['prev_link'] = 'Anterior';
         $this->pagination->initialize($config);
         $v_dados['paginacao'] = $this->pagination->create_links();
     }
     return $this->parser->parse($this->template->get_diretorio() . '/blogs_categorias/lst_con_blogs_categorias_view', $v_dados, true);
 }
 function logar()
 {
     $this->form_validation->set_rules('email', 'E-mail', 'email|required|trim');
     $this->form_validation->set_rules('senha', 'Senha', 'required|trim');
     $v_dados = array();
     if ($this->form_validation->run() === FALSE) {
         $v_dados['cod'] = 111;
         $v_dados['msg'] = $this->form_validation->msg_erros_campos_json();
         $v_dados['campos'] = $this->form_validation->erros_campos_json();
     } else {
         $this->load->model('usuarios_model');
         $params = array();
         $params['AND']['email'] = $this->input->post('email');
         $params['AND']['senha'] = $this->input->post('senha');
         $b_consultar = $this->usuarios_model->consultar($params);
         if ($b_consultar == null) {
             $v_dados['cod'] = 222;
             $v_dados['msg'] = 'Usuário ou senha inválidos.';
         } else {
             $v_dados['cod'] = 999;
             $v_dados['msg'] = 'Aguarde... Redirecionando para a área administrativa.';
             $v_dados['link'] = url_admin() . 'home/index';
             $this->session->set_userdata('idUsuario', $b_consultar[0]->id_usuarios);
             $this->session->set_userdata('idPessoas', $b_consultar[0]->id_pessoas);
         }
     }
     echo json_encode($v_dados);
 }
 function _init()
 {
     $payment_api =& $this->payment_api;
     $manage_lib =& $this->manage_payment_lib;
     $provider_name =& $this->provider_name;
     $provider_class =& $this->provider_class;
     // class
     $payment_api = _class('payment_api');
     $manage_payment_lib = module('manage_payment_lib');
     // provider
     $provider_class = $payment_api->provider_class(['provider_name' => $provider_name]);
     // property
     $object =& $this->object;
     $action =& $this->action;
     $id =& $this->id;
     $filter_name =& $this->filter_name;
     $filter =& $this->filter;
     $url =& $this->url;
     // setup property
     $object = $_GET['object'];
     $action = $_GET['action'];
     $id = $_GET['id'];
     $filter_name = $object . '__' . $action;
     $filter = $_SESSION[$filter_name];
     // url
     $url = ['list' => url_admin(['is_full_url' => true, 'object' => $object, 'action' => 'show']), 'authorize' => url_admin(['is_full_url' => true, 'object' => $object, 'action' => 'authorize']), 'request_interkassa' => url_admin(['object' => $object, 'action' => 'request_interkassa', 'operation_id' => '%operation_id'])];
 }
Example #4
0
 function _show()
 {
     $items = [];
     if (in_array($_GET['object'], [])) {
     } else {
         if (!in_array($_GET['action'], ['', 'show'])) {
             $items[] = $this->_nav_item($this->_decode_from_url($_GET['object']), url_admin('/@object'));
             $items[] = $this->_nav_item($this->_decode_from_url($_GET['action']));
         } else {
             $items[] = $this->_nav_item($this->_decode_from_url($_GET['object']));
         }
     }
     if (empty($items)) {
         return false;
     }
     array_unshift($items, $this->_nav_item('Home', './?object=admin_home', 'icon-home fa fa-home'));
     if (!empty($this->HOOK_NAME)) {
         $CUR_OBJ = module($_GET['object']);
     }
     if (is_object($CUR_OBJ) && method_exists($CUR_OBJ, $this->HOOK_NAME)) {
         $hook_params = ['nav_bar_obj' => &$this, 'items' => $items];
         $func = $this->HOOK_NAME;
         $hooked_items = $CUR_OBJ->{$func}($hook_params);
     }
     // Hook have max priority
     if (!empty($hooked_items)) {
         $items = $hooked_items;
     }
     $replace = ['items' => is_array($items) ? implode(tpl()->parse('site_nav_bar/div'), $items) : '', 'is_logged_in' => intval((bool) $_SESSION['user_id']), 'bookmark_page' => $bookmark_page_code];
     return tpl()->parse('site_nav_bar/main', $replace);
 }
Example #5
0
 public function test_rewrite_func_url_admin()
 {
     $this->assertEquals(ADMIN_WEB_PATH, url_admin('/'));
     $this->assertEquals(ADMIN_WEB_PATH . '?object=members', url_admin('/members'));
     $this->assertEquals('http://' . self::$host . '/admin/', url_admin('/', ['admin_host' => self::$host]));
     $this->assertEquals('http://' . self::$host . '/admin/?object=members', url_admin('/members', ['admin_host' => self::$host]));
     $this->assertEquals('http://' . self::$host . '/admin/?object=members', url_admin('/?object=members', ['admin_host' => self::$host]));
     $this->assertEquals('http://' . self::$host . '/admin/?object=members', url_admin(['object' => 'members', 'admin_host' => self::$host]));
     $this->assertEquals('http://' . self::$host . '/admin/?object=members&action=some_action', url_admin(['object' => 'members', 'action' => 'some_action', 'admin_host' => self::$host]));
 }
Example #6
0
 function filter_save()
 {
     $object =& $this->object;
     $id =& $this->id;
     switch ($id) {
         case 'manage_currency__show':
             $url_redirect_url = url_admin(['object' => $object]);
             break;
     }
     $options = ['filter_name' => $id, 'redirect_url' => $url_redirect_url];
     return _class('admin_methods')->filter_save($options);
 }
Example #7
0
function map_url()
{
    $admin_url = url_admin();
    $parametro = $_SERVER['REQUEST_URI'];
    $actual_link = explode('/', $parametro);
    $actual_link = $actual_link[2];
    $actual_link = $admin_url . $actual_link . '/';
    return $actual_link;
}
 function _data()
 {
     $_sub_action = ['0' => '- не выбрано -', 'load' => 'загрузить', 'import' => 'импортировать', 'delete' => 'удалить'];
     $sub_action = $_POST['sub_action'];
     $is_sub_action = $sub_action !== '0' && isset($_sub_action[$sub_action]);
     // -----
     $_supplier = _class('manage_shop')->_suppliers_for_select;
     $supplier = (int) $_POST['supplier'];
     $is_supplier = $supplier != 0 && isset($_supplier[$supplier]);
     // prepare ng-app
     $_ng_controller = 'ctrl.import2';
     $_api_url_upload = url_admin('//manage_shop/import2/&api=upload');
     $_api_url_upload_list = url_admin('//manage_shop/import2/&api=upload_list');
     $_api_url_upload_item = url_admin('//manage_shop/import2/&api=upload_item');
     // -----
     $_ng_data = $this->_data_ng(true);
     // -----
     // update
     $apply = $_POST['apply'];
     $confirm = $_POST['confirm'];
     $is_action = $this->is_post && $is_sub_action && $is_supplier && isset($apply) ? true : false;
     $is_update = $is_action && isset($confirm) ? true : false;
     $no_confirm = $is_action && !isset($confirm) ? true : false;
     if ($is_update) {
         if ($sub_action == 'add') {
         } elseif ($sub_action == 'delete') {
         }
         if ($sub_action_count) {
             common()->message_success('Операция выполнена успешно.');
             _class('_shop_region', 'modules/shop/')->_cache_refresh();
         } else {
             common()->message_warning('Данная операция выполнена ранее.');
         }
         $sub_action = null;
         $region = null;
     }
     if ($no_confirm) {
         common()->message_warning('Требуется подтверждение.');
     }
     // -----
     $result = ['_api_url_upload' => $_api_url_upload, '_api_url_upload_list' => $_api_url_upload_list, '_api_url_upload_item' => $_api_url_upload_item, '_ng_controller' => $_ng_controller, '_ng_data' => $_ng_data, '_sub_action' => $_sub_action, '_supplier' => $_supplier, 'sub_action' => $sub_action, 'supplier' => $supplier];
     return $result;
 }
Example #9
0
 public function url_admin($options = null)
 {
     if (empty($options)) {
         return null;
     }
     $result = url_admin($options);
     if (substr($result, 0, 2) == '//') {
         $result = str_replace('//', 'http://', $result);
     }
     return $result;
 }
Example #10
0
          <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
            <div id="page-wrapper">
             <div class="row">
              <div class="col-md-12">
               <h1 style="float:left">FAQ'S <small>Listar faqs</small></h1>
               <a class="floatButton btn btn-success btn-lg" href="<?php 
echo url_admin();
?>
faqs/novo">
                Inserir nova faq
               </a>
             </div>
             <div class="col-md-12"></div>
             <div class="col-md-12">
               <div class="table-responsive">
                <table class="table table-striped">
                 <thead>
                  <tr>
                   <th width="45" class="center">ID</th>
                   <th>Pergunta</th>
                   <th>Página</th>
                   <th>Status</th>
                   <th width="260">Funções</th>
                 </tr>
               </thead>
               <tbody id="lista_dados">
                <?php 
listar_all_faqs();
?>
              </tbody>
            </table>
 function _consultar($dados)
 {
     $params = array();
     if ($dados->nome != NULL) {
         $params['OR_LIKE']['pr.nome'] = $dados->nome;
     }
     if ($dados->descricao != NULL) {
         $params['OR_LIKE']['pr.descricao'] = $dados->descricao;
     }
     if ($dados->id_categorias != NULL) {
         $params['AND']['pr.id_categorias'] = $dados->id_categorias;
     }
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblCategorias') . ' as ct', 'AND' => 'pr.id_categorias = ct.id_categorias', 'TIPO' => 'LEFT');
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblUsuarios') . ' as us', 'AND' => 'pr.id_usuarios = us.id_usuarios', 'TIPO' => 'LEFT');
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblPessoas') . ' as pe', 'AND' => 'pe.id_pessoas = us.id_pessoas', 'TIPO' => 'LEFT');
     $params['CAMPOS'] = 'pr.*, ct.descricao as ct_descricao, pe.nome as pe_nome';
     $b_consultar_total = $this->produtos_model->consultar_total($params);
     $params['LIMIT']['inicio'] = $this->uri->segment(5, NULL);
     $params['LIMIT']['fim'] = $this->total_registro_por_pagina;
     $b_consultar = $this->produtos_model->consultar($params);
     $v_dados = array();
     $v_dados['produtos'] = array();
     $v_dados['paginacao'] = '';
     if ($b_consultar != NULL) {
         foreach ($b_consultar as $k => $v) {
             $v_dados['produtos'][$k]['id_produtos'] = $v->id_produtos;
             $v_dados['produtos'][$k]['nome'] = $v->nome;
             $v_dados['produtos'][$k]['quantidade'] = $v->quantidade;
             $v_dados['produtos'][$k]['valor'] = number_format($v->valor, 2, ',', '.');
             $v_dados['produtos'][$k]['descricao'] = $v->descricao;
             $v_dados['produtos'][$k]['data_cadastro'] = formatarData($v->data_cadastro, array('formato' => 'd/m/Y'));
             $v_dados['produtos'][$k]['data_exclusao'] = $v->data_exclusao != null ? formatarData($v->data_exclusao, array('formato' => 'd/m/Y')) : '';
             $v_dados['produtos'][$k]['exibir'] = $v->exibir == 'S' ? 'Sim' : 'Não';
             $v_dados['produtos'][$k]['id_usuarios'] = $v->pe_nome;
             $v_dados['produtos'][$k]['id_categorias'] = $v->id_categorias;
             $v_dados['produtos'][$k]['ct_descricao'] = $v->ct_descricao;
             $v_dados['produtos'][$k]['acao'] = anchor(url_admin() . 'produtos/alterar/' . $v->id_produtos, 'Alterar');
             if ($v->data_exclusao != null) {
                 $v_dados['produtos'][$k]['acao'] .= '<a href="#" class="excluir" id="' . $v->id_produtos . '" url="produtos/excluir" situacao="R">Restaurar</a> ';
             } else {
                 $v_dados['produtos'][$k]['acao'] .= '<a href="#" class="excluir" id="' . $v->id_produtos . '" url="produtos/excluir" situacao="E">Excluir</a> ';
             }
         }
         $config = array();
         $config['base_url'] = url_admin() . "produtos/consultar/" . json_url_base64_encode($dados);
         $config['total_rows'] = $b_consultar_total;
         $config['per_page'] = $this->total_registro_por_pagina;
         $config['cur_page'] = 0;
         $config['uri_segment'] = 5;
         $config['num_links'] = 4;
         $config['first_link'] = 'Primeiro';
         $config['last_link'] = 'Último';
         $config['next_link'] = 'Próximo';
         $config['prev_link'] = 'Anterior';
         $this->pagination->initialize($config);
         $v_dados['paginacao'] = $this->pagination->create_links();
     }
     return $this->parser->parse($this->template->get_diretorio() . '/produtos/lst_con_produtos_view', $v_dados, true);
 }
Example #12
0
 public function test_rewrite_url_admin()
 {
     $GLOBALS['PROJECT_CONF']['tpl']['REWRITE_MODE'] = false;
     $this->assertEquals(ADMIN_WEB_PATH, url_admin());
     $this->assertEquals(ADMIN_WEB_PATH, url_admin(''));
     $this->assertEquals(ADMIN_WEB_PATH, url_admin('/'));
     $this->assertEquals(ADMIN_WEB_PATH, url_admin('/////'));
     $this->assertEquals(ADMIN_WEB_PATH, url_admin('./'));
     $this->assertEquals(ADMIN_WEB_PATH, url_admin('../'));
     $this->assertEquals(ADMIN_WEB_PATH, url_admin('..../'));
     $_GET['object'] = 'testobj';
     $this->assertEquals(ADMIN_WEB_PATH . '?object=' . $_GET['object'] . '&action=testme&id=4', url_admin('/@object/testme/4'));
     $_GET['object'] = 'testobj2';
     $this->assertEquals(ADMIN_WEB_PATH . '?object=' . $_GET['object'] . '&action=testme&id=4', url_admin('/@object/testme/4'));
     $this->assertEquals(ADMIN_WEB_PATH . '?object=' . $_GET['object'] . '&action=testme&id=4&page=2', url_admin('/@object/testme/4/2'));
     $this->assertEquals(ADMIN_WEB_PATH . '?object=' . $_GET['object'] . '&action=testme&id=4&page=2&table=ttt', url_admin('/@object/testme/4/2/&table=ttt'));
     $this->assertEquals(ADMIN_WEB_PATH . '?object=' . $_GET['object'] . '&action=testme&id=4&page=2&k5=v5&k6=v6&k7=v7&k8=v8', url_admin('/@object/testme/4/2/&k5=v5&k6=v6&k7=v7&k8=v8'));
     $this->assertEquals(ADMIN_WEB_PATH . '?object=' . $_GET['object'] . '&action=testme&id=4&page=2&k5=v5&k6=v6&k7=v7&k8=v8', url_admin('/@object/testme/4/2/?k5=v5&k6=v6&k7=v7&k8=v8'));
     $this->assertEquals(ADMIN_WEB_PATH . '?object=' . $_GET['object'] . '&action=testme&id=4&page=2&k5=v5&k6=v6&k7=v7&k8=v8#frag', url_admin('/@object/testme/4/2/&k5=v5&k6=v6&k7=v7&k8=v8#frag'));
 }
Example #13
0
 /**
  */
 function filter_save()
 {
     $object =& $this->object;
     $id =& $this->id;
     switch ($id) {
         case 'manage_deposit__show':
             $url_redirect_url = url_admin(['object' => $object]);
         case 'clear':
             $url_redirect_url = url_admin(['object' => $object, 'action' => 'show']);
             $id = 'manage_deposit__show';
             break;
     }
     $options = ['filter_name' => $id, 'redirect_url' => $url_redirect_url];
     return _class('admin_methods')->filter_save($options);
 }
 private function _mini($arquivo, $diretorio)
 {
     $novo_nome = str_replace('.css', '_min.css', $arquivo);
     $novo_nome = str_replace('\\', '/', $novo_nome);
     $new = file_get_contents(FCPATH . 'template/' . $arquivo);
     $new_arquivo = preg_replace('!/\\*[^*]*\\*+([^/][^*]*\\*+)*/!', '', $new);
     $new_arquivo = str_replace(array('{url_site}', '{url_admin}', '{base_url}', '{diretorio}'), array(url_site(), url_admin(), base_url(), 'template/' . $diretorio), $new_arquivo);
     $new_arquivo = str_replace(array("\n", "\t", "\r", " ", "  ", "   ", "    ", "     ", "      "), ' ', $new_arquivo);
     $new_arquivo = str_replace('}', "}\n", $new_arquivo);
     $new_arquivo = str_replace(array(' {', ' { ', '{ '), "{", $new_arquivo);
     $new_arquivo = str_replace('{', " { ", $new_arquivo);
     $dp = propriedades_arquivos(FCPATH . 'template/' . $arquivo);
     $dpn = propriedades_arquivos(FCPATH . 'template/' . $novo_nome);
     if ($dpn['localizacao'] == false) {
         @chmod(FCPATH . 'template/' . $diretorio . 'css', DIR_READ_MODE);
         file_put_contents(FCPATH . 'template/' . $novo_nome, $new_arquivo, FILE_TEXT);
         @chmod(FCPATH . 'template/' . $novo_nome, DIR_READ_MODE);
     } else {
         if ($dpn['date_formatado'] <= $dp['date_formatado']) {
             file_put_contents(FCPATH . 'template/' . $novo_nome, $new_arquivo, FILE_TEXT);
         }
     }
     return 'template/' . $novo_nome;
 }
 function _consultar($dados)
 {
     $params = array();
     if ($dados->nome != NULL) {
         $params['OR_LIKE']['pe.nome'] = $dados->nome;
     }
     if ($dados->data_hora != NULL) {
         $params['OR_LIKE']['DATE(pd.data_hora)'] = formatarData($dados->data_hora, array('formato' => 'Y-m-d'));
     }
     if ($dados->situacao != NULL) {
         $params['OR_LIKE']['pd.situacao'] = $dados->situacao;
     }
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblClientes') . ' as cl', 'AND' => 'pd.id_clientes = cl.id_clientes', 'TIPO' => 'LEFT');
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblPessoas') . ' as pe', 'AND' => 'cl.id_pessoas = pe.id_pessoas', 'TIPO' => 'LEFT');
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblPedidoItens') . ' as pi', 'AND' => 'pi.id_pedidos = pd.id_pedidos', 'TIPO' => 'LEFT');
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblFormaPagamentos') . ' as fp', 'AND' => 'pd.situacao = fp.id_forma_pagamentos', 'TIPO' => 'LEFT');
     $params['CAMPOS'] = 'pd.*, pe.nome, pe.cidade, pe.bairro, cl.email, SUM(pi.valor_total) as total, fp.descricao as fp_descricao';
     $params['GROUPBY'] = 'pi.id_pedidos ';
     $b_consultar_total = $this->pedidos_model->consultar_total($params);
     $params['LIMIT']['inicio'] = $this->uri->segment(5, NULL);
     $params['LIMIT']['fim'] = $this->total_registro_por_pagina;
     $b_consultar = $this->pedidos_model->consultar($params);
     $v_dados = array();
     $v_dados['pedidos'] = array();
     $v_dados['paginacao'] = '';
     if ($b_consultar != NULL) {
         foreach ($b_consultar as $k => $v) {
             $v_dados['pedidos'][$k]['id_pedidos'] = $v->id_pedidos;
             $v_dados['pedidos'][$k]['data_hora'] = formatarData($v->data_hora, array('formato' => 'd/m/Y H:i:s'));
             $v_dados['pedidos'][$k]['situacao'] = $v->fp_descricao;
             $v_dados['pedidos'][$k]['nome'] = $v->nome;
             $v_dados['pedidos'][$k]['cidade'] = $v->cidade;
             $v_dados['pedidos'][$k]['bairro'] = $v->bairro;
             $v_dados['pedidos'][$k]['email'] = $v->email;
             $v_dados['pedidos'][$k]['total'] = number_format($v->total, 2, ',', '.');
             $v_dados['pedidos'][$k]['acao'] = anchor(url_admin() . 'pedidos/detalhes/' . $v->id_pedidos, 'Detalhes', 'title="Detalhes do pedido"');
         }
         $config = array();
         $config['base_url'] = url_admin() . "pedidos/consultar/" . json_url_base64_encode($dados);
         $config['total_rows'] = $b_consultar_total;
         $config['per_page'] = $this->total_registro_por_pagina;
         $config['cur_page'] = 0;
         $config['uri_segment'] = 5;
         $config['num_links'] = 4;
         $config['first_link'] = 'Primeiro';
         $config['last_link'] = 'Último';
         $config['next_link'] = 'Próximo';
         $config['prev_link'] = 'Anterior';
         $this->pagination->initialize($config);
         $v_dados['paginacao'] = $this->pagination->create_links();
     }
     return $this->parser->parse($this->template->get_diretorio() . '/pedidos/lst_con_pedidos_view', $v_dados, true);
 }
 function product_edit()
 {
     $id = (int) $_GET['id'];
     $_GET['id'] = $id;
     if (empty($id)) {
         return _e('Empty id');
     }
     $product_info = module('manage_shop')->_product_get_info($id);
     if (empty($product_info['id'])) {
         return _e('Product not found');
     }
     // prepare region
     $_region = _class('_shop_region', 'modules/shop/')->_get_list();
     $region = _class('_shop_region', 'modules/shop/')->_get_by_product_ids($id, $force = true);
     $region = $region[$id];
     // -----
     if (main()->is_post()) {
         // TODO: use validation from form2()
         if (!$_POST['name']) {
             _re('Product name must be filled', 'name');
         }
         if (!common()->_error_exists()) {
             module('manage_shop')->_product_check_first_revision('product', $id);
             $sql = ['url' => $_POST['url'] ?: common()->_propose_url_from_name($_POST['name']), 'active' => intval((bool) $_POST['active']), 'update_date' => time()];
             foreach (['name', 'description', 'model', 'articul', 'cat_id', 'meta_keywords', 'meta_desc', 'featured', 'external_url', 'sku', 'stock_status_id', 'manufacturer_id', 'supplier_id', 'quantity'] as $k) {
                 if (isset($_POST[$k])) {
                     $sql[$k] = $_POST[$k];
                 }
             }
             foreach (['price', 'price_promo', 'price_partner', 'price_raw', 'old_price'] as $k) {
                 if (isset($_POST[$k])) {
                     $sql[$k] = number_format($_POST[$k], 2, '.', '');
                 }
             }
             db()->update_safe(db('shop_products'), $sql, 'id=' . $id);
             if (!empty($_FILES)) {
                 module('manage_shop')->_product_image_upload($id);
             }
             $params_to_insert = [];
             foreach ((array) $_POST['productparams'] as $param_id) {
                 db()->query('DELETE FROM ' . db('shop_products_productparams') . ' WHERE product_id=' . $id);
                 $param_id = intval($param_id);
                 if (!$param_id) {
                     continue;
                 }
                 foreach ((array) $_POST['productparams_options_' . $param_id] as $v) {
                     $params_to_insert[] = ['product_id' => $id, 'productparam_id' => $param_id, 'value' => $v];
                 }
             }
             if ($params_to_insert) {
                 db()->insert_safe('shop_products_productparams', $params_to_insert);
             }
             $product_to_category_insert = [];
             foreach ((array) $_POST['category'] as $_cat_id) {
                 $_cat_id = intval($_cat_id);
                 if (!$_cat_id) {
                     continue;
                 }
                 $product_to_category_insert[] = ['product_id' => $id, 'category_id' => $_cat_id];
             }
             if ($product_to_category_insert) {
                 db()->query('DELETE FROM ' . db('shop_product_to_category') . ' WHERE product_id=' . $id);
                 db()->insert_safe(db('shop_product_to_category'), $product_to_category_insert);
             }
             $product_related_insert = [];
             foreach ((array) $_POST['product_related'] as $related_id) {
                 $related_id = intval($related_id);
                 if (!$related_id) {
                     continue;
                 }
                 $product_related_insert[] = ['product_id' => $id, 'related_id' => $related_id];
             }
             if ($product_related_insert) {
                 db()->query('DELETE FROM ' . db('shop_product_related') . ' WHERE product_id=' . $id);
                 db()->insert_safe(db('shop_product_related'), $product_related_insert);
             }
             // update region
             $_table = 'shop_product_to_region';
             $_post = _class('_shop_region', 'modules/shop/')->_check_by_product_id($_POST['region']);
             $_insert = array_diff($_post, $region);
             $_delete = array_diff($region, $_post);
             // insert
             if (!empty($_insert)) {
                 $_data = [];
                 foreach ($_insert as $_id) {
                     $_data[] = ['product_id' => $id, 'region_id' => $_id];
                 }
                 db_query('START TRANSACTION');
                 db()->insert_on_duplicate_key_update($_table, $_data);
                 db_query('COMMIT');
             }
             // delete
             if (!empty($_delete)) {
                 $_data = ['__args__' => [['product_id', 'in', $id], 'and', ['region_id', 'in', $_delete]]];
                 db_query('START TRANSACTION');
                 db()->delete($_table, $_data);
                 db_query('COMMIT');
             }
             $region = _class('_shop_region', 'modules/shop/')->_get_by_product_ids($id, true);
             $region = $region[$id];
             // -----
             $product_to_unit_insert = [];
             foreach ((array) $_POST['units'] as $_unit_id) {
                 $_unit_id = (int) $_unit_id;
                 if (empty($_unit_id)) {
                     continue;
                 }
                 $product_to_unit_insert[] = ['product_id' => $id, 'unit_id' => $_unit_id];
             }
             db()->query('DELETE FROM ' . db('shop_product_to_unit') . ' WHERE product_id=' . $id);
             if ($product_to_unit_insert) {
                 db()->insert_safe(db('shop_product_to_unit'), $product_to_unit_insert);
             }
             module('manage_shop')->_attributes_save($id);
             module('manage_shop')->_product_add_revision('edit', $id);
             module('manage_shop')->_product_cache_purge($id);
             common()->admin_wall_add(['shop product updated: ' . $_POST['name'], $id]);
             // sphinx reindex by flag file
             exec('touch /tmp/sphinx/indexer-kupi');
             exec('touch /tmp/sphinx/indexer-kupi_dev');
         }
         return js_redirect('./?object=' . main()->_get('object') . '&action=product_edit&id=' . $id);
     }
     $media_host = defined('MEDIA_HOST') ? MEDIA_HOST : false;
     $base_url = WEB_PATH;
     if (!empty($media_host)) {
         $base_url = '//' . $media_host . '/';
     }
     $images_items = [];
     foreach ((array) common()->shop_get_images($product_info['id']) as $a) {
         $images_items[] = tpl()->parse('manage_shop/image_items', ['img_path' => $base_url . $a['big'], 'thumb_path' => $base_url . $a['thumb'], 'del_url' => './?object=' . main()->_get('object') . '&action=product_image_delete&id=' . $product_info['id'] . '&key=' . $a['id'], 'image_key' => $a['id'], 'data-test' => 'delete_image_btn']);
     }
     $products_to_category = [];
     foreach ((array) db()->get_all('SELECT category_id FROM ' . db('shop_product_to_category') . ' WHERE product_id=' . $id) as $a) {
         $products_to_category[$a['category_id']] = $a['category_id'];
     }
     $products_to_unit = [];
     foreach ((array) db()->get_all('SELECT unit_id FROM ' . db('shop_product_to_unit') . ' WHERE product_id=' . $id) as $a) {
         $products_to_unit[$a['unit_id']] = $a['unit_id'];
     }
     $replace = $product_info + ['form_action' => './?object=' . main()->_get('object') . '&action=product_edit&id=' . $product_info['id'], 'back_url' => './?object=' . main()->_get('object') . '&action=products', 'units' => $products_to_unit];
     $textarea_id = 'description';
     return form($replace, ['for_upload' => 1, 'currency' => module('manage_shop')->CURRENCY, 'hide_empty' => 1, 'tabs' => ['class' => 'span6 col-md-6', 'show_all' => 1, 'no_headers' => 1]])->tab_start('tab_desc', ['tab_body' => ['class' => 'active span12 col-md-12']])->textarea('description', ['style' => 'min-width:100%', 'cols' => 200, 'rows' => 10, 'ckeditor' => ['config' => _class('admin_methods')->_get_cke_config()]])->tab_end()->tab_start('main')->link('product_url_user', url_user('/shop/product/' . $product_info['id']), ['target' => '_blank'])->info('id')->text('name')->text('articul')->text('url')->chosen_box('cat_id', module('manage_shop')->_cats_for_select, ['desc' => 'Main category', 'edit_link' => './?object=category_editor&action=show_items&id=shop_cats', 'translate' => 0, 'data-test' => 'select_category'])->chosen_box('manufacturer_id', module('manage_shop')->_man_for_select, ['desc' => 'Manufacturer', 'edit_link' => './?object=' . main()->_get('object') . '&action=manufacturers', 'translate' => 0, 'data-test' => 'select_manufacturer'])->chosen_box('supplier_id', module('manage_shop')->_suppliers_for_select, ['desc' => 'Supplier', 'edit_link' => './?object=' . main()->_get('object') . '&action=suppliers', 'data-test' => 'select_supplier'])->select2_box(['desc' => 'Регион', 'name' => 'region', 'multiple' => true, 'values' => $_region, 'selected' => $region, 'edit_link' => url_admin('/manage_shop/region'), 'data-test' => 'select_region'])->number('quantity', ['min' => 0])->active_box('active')->tab_end()->tab_start('params')->link('Search images', './?object=' . main()->_get('object') . '&action=product_image_search&id=' . $product_info['id'], ['class_add' => 'btn-success', 'data-test' => 'search_image_btn'])->container(($images_items ? implode(PHP_EOL, $images_items) : '') . '<a class="btn btn-default btn-mini btn-xs" data-test="add_image" onclick="addImage();"><span>' . t('Add Image') . '</span></a> <div id="images"></div>', ['desc' => 'Images'])->link('Set main image', './?object=' . $_GET['object'] . '&action=set_main_image&id=' . $product_info['id'], ['class_add' => 'ajax_edit', 'data-test' => 'set_main_image_btn', 'display_func' => function () use($images_items) {
         return is_array($images_items) && count($images_items) > 1;
     }])->container(module('manage_shop')->_productparams_container($id), ['desc' => 'Product params'])->select2_box(['desc' => 'Ед. измерения', 'name' => 'units', 'multiple' => true, 'values' => module('manage_shop')->_units_for_select, 'edit_link' => url_admin('/manage_shop/units'), 'data-test' => 'select_units'])->price('old_price')->price('price')->price('price_promo')->price('price_partner')->price('price_raw')->tab_end()->tab_start('tab_save', ['tab_body' => ['class' => 'active span12 col-md-12']])->save_and_back()->tab_end() . tpl()->parse('manage_shop/product_edit_js');
 }
 function _consultar($dados)
 {
     $params = array();
     if ($dados->nome != NULL) {
         $params['OR_LIKE']['pe.nome'] = $dados->nome;
     }
     if ($dados->tipo_pessoa != NULL) {
         $params['OR_LIKE']['pe.tipo_pessoa'] = $dados->tipo_pessoa;
     }
     $b_consultar_total = $this->pessoas_model->consultar_total($params);
     $params['LIMIT']['inicio'] = $this->uri->segment(5, NULL);
     $params['LIMIT']['fim'] = $this->total_registro_por_pagina;
     $b_consultar = $this->pessoas_model->consultar($params);
     $v_dados = array();
     $v_dados['pessoas'] = array();
     $v_dados['paginacao'] = '';
     if ($b_consultar != NULL) {
         foreach ($b_consultar as $k => $v) {
             $v_dados['pessoas'][$k]['id_pessoas'] = $v->id_pessoas;
             $v_dados['pessoas'][$k]['nome'] = $v->nome;
             $v_dados['pessoas'][$k]['tipo_pessoa'] = $v->tipo_pessoa;
             $v_dados['pessoas'][$k]['endereco'] = $v->endereco;
             $v_dados['pessoas'][$k]['numero'] = $v->numero;
             $v_dados['pessoas'][$k]['complemento'] = $v->complemento;
             $v_dados['pessoas'][$k]['bairro'] = $v->bairro;
             $v_dados['pessoas'][$k]['cidade'] = $v->cidade;
             $v_dados['pessoas'][$k]['estado'] = $v->estado;
             $v_dados['pessoas'][$k]['data_cadastro'] = formatarData($v->data_cadastro, array('formato' => 'd/m/Y H:i:s'));
             $v_dados['pessoas'][$k]['inscricao'] = formataString(array('entrada' => $v->inscricao, 'formato' => 'cpf_cnpj'));
             $v_dados['pessoas'][$k]['cep'] = formataString(array('entrada' => $v->cep, 'formato' => 'cep'));
             $v_dados['pessoas'][$k]['acao'] = anchor(url_admin() . 'pessoas/alterar/' . $v->id_pessoas, 'Alterar');
             $v_dados['pessoas'][$k]['acao'] .= anchor(url_admin() . 'usuarios/cadastrar/' . $v->id_pessoas, 'Usuário', 'title="Cadastrar/Alterar Usuário"');
             $v_dados['pessoas'][$k]['acao'] .= anchor(url_admin() . 'clientes/cadastrar/' . $v->id_pessoas, 'Cliente', 'title="Cadastrar/Alterar Cliente"');
         }
         $config = array();
         $config['base_url'] = url_admin() . "pessoas/consultar/" . json_url_base64_encode($dados);
         $config['total_rows'] = $b_consultar_total;
         $config['per_page'] = $this->total_registro_por_pagina;
         $config['cur_page'] = 0;
         $config['uri_segment'] = 5;
         $config['num_links'] = 4;
         $config['first_link'] = 'Primeiro';
         $config['last_link'] = 'Último';
         $config['next_link'] = 'Próximo';
         $config['prev_link'] = 'Anterior';
         $this->pagination->initialize($config);
         $v_dados['paginacao'] = $this->pagination->create_links();
     }
     return $this->parser->parse($this->template->get_diretorio() . '/pessoas/lst_con_pessoas_view', $v_dados, true);
 }
Example #18
0
 /**
  */
 function footer_link($name, $link, $extra = [])
 {
     $item = ['type' => __FUNCTION__, 'name' => $name, 'extra' => $extra, 'link' => $link, 'func' => function ($params, $instance_params, $table) {
         $extra = $params['extra'];
         $id = isset($extra['id']) ? $extra['id'] : 'id';
         $link = $params['link'] . $instance_params['links_add'];
         if (strlen($link)) {
             $link = $table->_process_link_params($link, $row, $extra + ['id' => $id]);
             if (!$table->_is_link_allowed($link)) {
                 return '';
             }
         }
         if ($extra['rewrite']) {
             if ($extra['rewrite'] === 'user') {
                 $link = url_user($link);
             } elseif ($extra['rewrite'] === 'admin') {
                 $link = url_admin($link);
             } else {
                 $link = url($link);
             }
         }
         $extra['href'] = $link;
         $icon = $extra['icon'] ? ' ' . $extra['icon'] : $table->CLASS_ICON_BTN;
         $class = $extra['class'] ?: $extra['a_class'] ?: $table->CLASS_BTN_MINI;
         if ($extra['class_add']) {
             $class .= ' ' . $extra['class_add'];
         }
         if ($extra['no_ajax'] || $instance_params['no_ajax']) {
             $class .= ' ' . $table->CLASS_NO_AJAX;
         }
         $extra['class'] = $class;
         return '<a' . _attrs($extra, ['href', 'class', 'title']) . '><i class="' . $icon . '"></i> ' . t($params['name']) . '</a> ';
     }];
     if (!$extra['display_in']) {
         $extra['display_in'] = 'footer';
     }
     if ($extra['display_in'] == 'header' || $extra['copy_to_header']) {
         $this->_header_links[] = $item;
     }
     if ($extra['display_in'] == 'footer' || $extra['copy_to_footer']) {
         $this->_footer_links[] = $item;
     }
     return $this;
 }
Example #19
0
 /**
  * Linking with the form builder
  */
 public function filter_form($data = [], $params = [])
 {
     $filter_name = $params['filter_name'] ?: $_GET['object'] . '__' . $_GET['action'];
     $a = ['form_action' => url_admin('/@object/filter_save/' . $filter_name), 'clear_url' => url_admin('/@object/filter_save/' . $filter_name . '/clear')];
     $params['selected'] = $params['selected'] ?: $_SESSION[$filter_name];
     return form($a + (array) $data, $params);
 }
 function _consultar($dados)
 {
     $params = array();
     if ($dados->descricao != NULL) {
         $params['LIKE']['bn.descricao'] = $dados->descricao;
     }
     if ($dados->link != NULL) {
         $params['LIKE']['bn.link'] = $dados->link;
     }
     $params['CAMPOS'] = 'bn.*, bnt.nome as bnt_nome';
     $b_consultar_total = $this->banners_model->consultar_total($params);
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblBannersTipos') . ' as bnt', 'AND' => 'bn.id_banners_tipos = bnt.id_banners_tipos', 'TIPO' => 'LEFT');
     $params['LIMIT']['inicio'] = $this->uri->segment(5, NULL);
     $params['LIMIT']['fim'] = $this->total_registro_por_pagina;
     $b_consultar = $this->banners_model->consultar($params);
     $v_dados = array();
     $v_dados['banners'] = array();
     $v_dados['paginacao'] = '';
     if ($b_consultar != NULL) {
         foreach ($b_consultar as $k => $v) {
             $v_dados['banners'][$k]['id_banners'] = $v->id_banners;
             $v_dados['banners'][$k]['descricao'] = $v->descricao;
             $v_dados['banners'][$k]['link'] = $v->link;
             $v_dados['banners'][$k]['path'] = $v->path;
             $v_dados['banners'][$k]['data_cadastro'] = formatarData($v->data_cadastro, array('formato' => 'd/m/Y H:i:s'));
             $v_dados['banners'][$k]['data_exclusao'] = $v->data_exclusao != null ? formatarData($v->data_exclusao, array('formato' => 'd/m/Y H:i:s')) : "";
             $v_dados['banners'][$k]['id_banners_tipos'] = $v->bnt_nome;
             $v_dados['banners'][$k]['id_usuarios'] = $v->id_usuarios;
             $v_dados['banners'][$k]['acao'] = anchor(url_admin() . 'banners/alterar/' . $v->id_banners, 'Alterar');
         }
         $config = array();
         $config['base_url'] = url_admin() . "banners/consultar/" . json_url_base64_encode($dados);
         $config['total_rows'] = $b_consultar_total;
         $config['per_page'] = $this->total_registro_por_pagina;
         $config['cur_page'] = 0;
         $config['uri_segment'] = 5;
         $config['num_links'] = 4;
         $config['first_link'] = 'Primeiro';
         $config['last_link'] = 'Último';
         $config['next_link'] = 'Próximo';
         $config['prev_link'] = 'Anterior';
         $this->pagination->initialize($config);
         $v_dados['paginacao'] = $this->pagination->create_links();
     }
     return $this->parser->parse($this->template->get_diretorio() . '/banners/lst_con_banners_view', $v_dados, true);
 }
 function _consultar($dados)
 {
     $params = array();
     if ($dados->email != NULL) {
         $params['OR_LIKE']['us.email'] = $dados->email;
     }
     if ($dados->status != NULL) {
         $params['AND']['us.status'] = $dados->status;
     }
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblPessoas') . ' as pe', 'AND' => 'us.id_pessoas = pe.id_pessoas', 'TIPO' => 'LEFT');
     $b_consultar_total = $this->usuarios_model->consultar_total($params);
     $params['LIMIT']['inicio'] = $this->uri->segment(5, NULL);
     $params['LIMIT']['fim'] = $this->total_registro_por_pagina;
     $b_consultar = $this->usuarios_model->consultar($params);
     $v_dados = array();
     $v_dados['usuarios'] = array();
     $v_dados['paginacao'] = '';
     if ($b_consultar != NULL) {
         foreach ($b_consultar as $k => $v) {
             $v_dados['usuarios'][$k]['id_usuarios'] = $v->id_usuarios;
             $v_dados['usuarios'][$k]['email'] = $v->email;
             $v_dados['usuarios'][$k]['senha'] = $v->senha;
             $v_dados['usuarios'][$k]['status'] = $v->status == 'A' ? 'Ativo' : 'Inativo';
             $v_dados['usuarios'][$k]['id_pessoas'] = $v->id_pessoas;
             $v_dados['usuarios'][$k]['nome'] = $v->nome;
             $v_dados['usuarios'][$k]['tipo_pessoa'] = $v->tipo_pessoa == 'F' ? 'Física' : 'Júridica';
             $v_dados['usuarios'][$k]['endereco'] = $v->endereco;
             $v_dados['usuarios'][$k]['numero'] = $v->numero;
             $v_dados['usuarios'][$k]['complemento'] = $v->complemento;
             $v_dados['usuarios'][$k]['bairro'] = $v->bairro;
             $v_dados['usuarios'][$k]['cidade'] = $v->cidade;
             $v_dados['usuarios'][$k]['estado'] = $v->estado;
             $v_dados['usuarios'][$k]['data_cadastro'] = formatarData($v->data_cadastro, array('formato' => 'd/m/Y H:i:s'));
             $v_dados['usuarios'][$k]['inscricao'] = formataString(array('entrada' => $v->inscricao, 'formato' => 'cpf_cnpj'));
             $v_dados['usuarios'][$k]['cep'] = formataString(array('entrada' => $v->cep, 'formato' => 'cep'));
             $v_dados['usuarios'][$k]['acao'] = anchor(url_admin() . 'usuarios/cadastrar/' . $v->id_pessoas, 'Alterar');
         }
         $config = array();
         $config['base_url'] = url_admin() . "usuarios/consultar/" . json_url_base64_encode($dados);
         $config['total_rows'] = $b_consultar_total;
         $config['per_page'] = $this->total_registro_por_pagina;
         $config['cur_page'] = 0;
         $config['uri_segment'] = 5;
         $config['num_links'] = 4;
         $config['first_link'] = 'Primeiro';
         $config['last_link'] = 'Último';
         $config['next_link'] = 'Próximo';
         $config['prev_link'] = 'Anterior';
         $this->pagination->initialize($config);
         $v_dados['paginacao'] = $this->pagination->create_links();
     }
     return $this->parser->parse($this->template->get_diretorio() . '/usuarios/lst_con_usuarios_view', $v_dados, true);
 }
 function _consultar($dados)
 {
     $params = array();
     if ($dados->titulo != NULL) {
         $params['OR_LIKE']['bl.titulo'] = $dados->titulo;
     }
     if ($dados->descricao != NULL) {
         $params['OR_LIKE']['bl.descricao'] = $dados->descricao;
     }
     $b_consultar_total = $this->blogs_model->consultar_total($params);
     if ($dados->id_categorias != NULL) {
         $params['AND']['blc.id_blogs_categorias'] = $dados->id_categorias;
     }
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblBlogsCategoriasHasBlogs') . ' as blch', 'AND' => 'blch.id_blogs = bl.id_blogs', 'TIPO' => 'INNER');
     $params['JOIN'][] = array('TABELA' => $this->config->item('dbFabricaPinheiro') . '.' . $this->config->item('tblBlogsCategorias') . ' as blc', 'AND' => 'blch.id_blogs_categorias = blc.id_blogs_categorias', 'TIPO' => 'INNER');
     $params['CAMPOS'] = 'bl.*, blc.nome as blc_nome';
     $params['GROUPBY'] = 'bl.id_blogs';
     $params['LIMIT']['inicio'] = $this->uri->segment(5, NULL);
     $params['LIMIT']['fim'] = $this->total_registro_por_pagina;
     $b_consultar = $this->blogs_model->consultar($params);
     $v_dados = array();
     $v_dados['blogs'] = array();
     $v_dados['paginacao'] = '';
     if ($b_consultar != NULL) {
         foreach ($b_consultar as $k => $v) {
             $v_dados['blogs'][$k]['id_blogs'] = $v->id_blogs;
             $v_dados['blogs'][$k]['titulo'] = $v->titulo;
             $v_dados['blogs'][$k]['descricao'] = word_limiter(strip_tags($v->descricao), 15);
             $v_dados['blogs'][$k]['data_hora_cadastro'] = formatarData($v->data_hora_cadastro, array('formato' => 'd/m/Y H:i:s'));
             $v_dados['blogs'][$k]['exibir'] = $v->exibir == 'S' ? 'Sim' : 'Não';
             $v_dados['blogs'][$k]['blc_nome'] = $v->blc_nome;
             $v_dados['blogs'][$k]['acao'] = anchor(url_admin() . 'blogs/alterar/' . $v->id_blogs, 'Alterar');
         }
         $config = array();
         $config['base_url'] = url_admin() . "blogs/consultar/" . json_url_base64_encode($dados);
         $config['total_rows'] = $b_consultar_total;
         $config['per_page'] = $this->total_registro_por_pagina;
         $config['cur_page'] = 0;
         $config['uri_segment'] = 5;
         $config['num_links'] = 4;
         $config['first_link'] = 'Primeiro';
         $config['last_link'] = 'Último';
         $config['next_link'] = 'Próximo';
         $config['prev_link'] = 'Anterior';
         $this->pagination->initialize($config);
         $v_dados['paginacao'] = $this->pagination->create_links();
     }
     return $this->parser->parse($this->template->get_diretorio() . 'blogs/lst_con_blogs_view', $v_dados, true);
 }
Example #23
0
 /**
  */
 function balance()
 {
     $object =& $this->object;
     $action =& $this->action;
     $filter_name =& $this->filter_name;
     $filter =& $this->filter;
     $url =& $this->url;
     $user_id = (int) $_GET['user_id'];
     $account_id = (int) $_GET['account_id'];
     $url_back = url_admin('/@object');
     $payment_api = _class('payment_api');
     $payment_status = $payment_api->get_status();
     // check id: user, operation
     if ($user_id > 0) {
         $user_info = user($user_id);
         if ($account_id > 0) {
             list($account_id, $account) = $payment_api->get_account__by_id(['account_id' => $account_id]);
         } else {
             list($account_id, $account) = $payment_api->account(['user_id' => $user_id]);
         }
     } else {
         common()->message_error('Не определен пользователь', ['translate' => false]);
         $form = form()->link('Назад', $url_back, ['class' => 'btn', 'icon' => 'fa fa-chevron-left']);
         return $form;
     }
     // prepare url
     $url_form_action = url_admin(['object' => $object, 'action' => $action, 'user_id' => $user_id, 'account_id' => $account_id]);
     $url_operation = url_admin(['object' => $object, 'action' => 'operation', 'user_id' => $user_id, 'account_id' => $account_id]);
     // prepare provider
     $providers = $payment_api->provider(['all' => true]);
     $items = [];
     foreach ($providers as $i => $item) {
         $items[$item['name']] = $item['title'];
     }
     $providers_form = $items;
     // prepare form
     $replace = ['amount' => null, 'user_id' => $user_id, 'provider_name' => 'administration', 'account_id' => $account_id, 'form_action' => $url_form_action, 'redirect_link' => $url_operation, 'back_link' => $url_back];
     // $replace += $_POST + $data;
     $replace += $_POST;
     $form = form($replace, ['autocomplete' => 'off'])->validate(['amount' => 'trim|required|numeric|greater_than[0]', 'provider_name' => 'trim|required'])->on_validate_ok(function ($data, $extra, $rules) use(&$user_id, &$account_id, &$account) {
         $payment_api = _class('payment_api');
         $provider_name = $_POST['provider_name'];
         $provider_name = empty($provider_name) ? 'administration' : $provider_name;
         $operation = $_POST['operation'];
         if ($operation == 'payment') {
             $provider_name = 'administration';
         }
         $options = ['user_id' => $user_id, 'account_id' => $account_id, 'amount' => $_POST['amount'], 'operation_title' => $_POST['title'], 'operation' => $operation, 'provider_name' => $provider_name, 'is_balance_limit_lower' => false];
         $result = $payment_api->transaction($options);
         if (!empty($result['form'])) {
             $form = $result['form'] . '<script>document.forms[0].submit();</script>';
             echo $form;
             exit;
         }
         if ($result['status'] === true) {
             $message = 'message_success';
             if (empty($account_id)) {
                 $new_account = true;
                 list($account_id, $account) = $payment_api->get_account();
             }
         } else {
             $message = 'message_error';
         }
         common()->{$message}($result['status_message'], ['translate' => false]);
         if (!$is_account) {
             $url = url_admin(['object' => $_GET['object'], 'action' => $_GET['action'], 'user_id' => $user_id, 'account_id' => $account_id]);
             return js_redirect($url);
         }
     })->float('amount', 'Сумма')->text('title', 'Название')->select_box('provider_name', $providers_form, ['show_text' => 1, 'desc' => 'Провайдер', 'tip' => 'Выбрать провайдера возможно только для пополнения. Списание возможно только от Администратора.'])->row_start(['desc' => 'Операция'])->submit('operation', 'deposition', ['desc' => 'Пополнить'])->submit('operation', 'payment', ['desc' => 'Списать', 'tip' => 'Списание возможно только от Администратора.'])->row_end();
     if ($account_id > 0) {
         // fetch operations
         $operation_options = ['user_id' => $user_id, 'account_id' => $account_id, 'no_limit' => true, 'no_order_by' => true, 'sql' => true];
         $sql = $this->_operation_sql($operation_options);
         if (empty($filter)) {
             $filter = ['order_by' => 'datetime_update', 'order_direction' => 'desc'];
         }
         // operations table
         $table = $this->_operation_table(['filter' => $filter, 'sql' => $sql, 'user_id' => $user_id, 'payment_status' => $payment_status, 'providers' => $providers]);
     } else {
         if (!$_POST['amount']) {
             common()->message_warning('Счет не определен', ['translate' => false]);
         }
     }
     $balance = '';
     $currency_str = '';
     $back = form_item()->link('Назад', $url_back, ['class' => 'btn', 'icon' => 'fa fa-chevron-left']);
     if ($account) {
         list($currency_id, $currency) = $payment_api->get_currency__by_id($account);
         $currency && ($currency_str = ' ' . $currency['short']);
         $balance = $account['balance'];
     }
     $user = user($user_id);
     $url_user = a('/members/edit/' . $user_id, $user['name']);
     $replace += ['user' => $user, 'url_user' => $url_user, 'balance' => ['amount' => $balance, 'currency' => $currency_str]];
     $header = tpl()->parse('manage_payment/balance_header', $replace);
     $result = $header . $form . '<hr>' . $table;
     return $result;
 }
Example #24
0
        echo $id = $_GET['id'];
        echo $tipo = $_GET['tipo'];
        echo $url = url_admin() . $tipo . '/index';
        desativar($id, $tipo);
        header('Location: ' . $url);
    }
}
if (isset($_GET['funcao']) && $_GET['funcao'] == 'ativar') {
    if (!empty($_GET['tipo']) && !empty($_GET['funcao']) && $_GET['funcao'] == 'ativar') {
        echo $id = $_GET['id'];
        echo $tipo = $_GET['tipo'];
        echo $url = url_admin() . $tipo . '/index';
        ativar($id, $tipo);
        header('Location: ' . $url);
    }
}
if (isset($_GET['funcao']) && $_GET['funcao'] == 'atualizar') {
    if (!empty($_GET['tipo']) && !empty($_GET['funcao']) && $_GET['funcao'] == 'atualizar') {
        $id = $_GET['id'];
        $tipo = $_GET['tipo'];
    }
}
if (isset($_GET['funcao']) && $_GET['funcao'] == 'excluir') {
    if (!empty($_GET['tipo']) && !empty($_GET['funcao']) && $_GET['funcao'] == 'excluir') {
        $id = $_GET['id'];
        $tipo = $_GET['tipo'];
        $url = url_admin() . $tipo . '/index';
        excluir($id);
        //header('Location: ' . $url);
    }
}