426 lines
14 KiB
PHP
426 lines
14 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Created by PhpStorm.
|
|
* User: Utilisateur
|
|
* Date: 2019-04-23
|
|
* Time: 10:21
|
|
*/
|
|
class User_model extends CI_Model
|
|
{
|
|
|
|
public function __construct()
|
|
{
|
|
$this->load->database();
|
|
$this->load->helper('date');
|
|
$this->load->model('FxForm_model');
|
|
$this->load->model('Config_model');
|
|
|
|
}
|
|
|
|
public function mod_getRecords($rowno, $rowperpage, $filtre1 = "", $filtre2 = "", $filtre3 = "", $listactif = 1, $langue = 'fr')
|
|
{
|
|
// list la bb client
|
|
$this->db->select('*');
|
|
$this->db->from('usa_usagers');
|
|
|
|
$this->db->where('usa_actif', $listactif);
|
|
// if ($filtre1 != "")
|
|
// $this->db->where("des_nom_fr LIKE '%$filtre1%'");
|
|
// if ($filtre2 != "")
|
|
// $this->db->where("des_description_fr LIKE '%$filtre2%'");
|
|
// if ($filtre3 != "")
|
|
// $this->db->where("des_ref_type = " . $filtre3);
|
|
|
|
|
|
$this->db->limit($rowperpage, $rowno);
|
|
$this->db->order_by("usa_nom");
|
|
|
|
$query = $this->db->get();
|
|
|
|
|
|
return $query->result_array();
|
|
}
|
|
|
|
public function mod_getRecordCountfilter($filtre1 = "", $filtre2 = "", $filtre3 = "", $listactif)
|
|
{
|
|
|
|
$this->db->select('count(*) as allcount');
|
|
$this->db->from('pro_descriptions');
|
|
|
|
$this->db->where('des_actif', $listactif);
|
|
|
|
if ($filtre1 != "")
|
|
$this->db->where("des_nom_fr LIKE '%$filtre1%'");
|
|
if ($filtre2 != "")
|
|
$this->db->where("des_description_fr LIKE '%$filtre2%'");
|
|
if ($filtre3 != "")
|
|
$this->db->where("des_ref_type = " . $filtre3);
|
|
|
|
|
|
$query = $this->db->get();
|
|
$result = $query->result_array();
|
|
return $result[0]['allcount'];
|
|
|
|
|
|
}
|
|
|
|
public function mod_getRecord($id, $langue = 'fr')
|
|
{
|
|
// trouve un enregiestrement
|
|
$this->db->select('*');
|
|
$this->db->from('usa_usagers');
|
|
$this->db->where('usa_id=' . $id);
|
|
|
|
$this->db->limit(1);
|
|
|
|
$query = $this->db->get();
|
|
return $query->row();
|
|
}
|
|
|
|
public function mod_saveRecordbd($id, $data, $pref)
|
|
{
|
|
|
|
// creation de la chaine de save
|
|
$mem_data = array();
|
|
// ajoute les checkbox
|
|
if (!isset($data['com_actif']))
|
|
$data['com_actif'] = 0;
|
|
|
|
|
|
foreach ($data as $key => $value) {
|
|
if (substr($key, 0, strlen($pref)) == $pref) {
|
|
$mem_data[$key] = $value;
|
|
}
|
|
|
|
}
|
|
$mem_data['com_modif'] = date("Y-m-d H:i:s");
|
|
$mem_where = "com_id =" . $id;
|
|
|
|
$str = $this->db->update('cli_compte', $mem_data, $mem_where);
|
|
$ok = true;
|
|
|
|
return $ok;
|
|
}
|
|
|
|
public function mod_desactivateRecordbd($id, $statut)
|
|
{
|
|
|
|
// creation de la chaine de save
|
|
$mem_data = array();
|
|
|
|
$mem_data['usa_actif'] = $statut;
|
|
|
|
$mem_where = "usa_id =" . $id;
|
|
|
|
$str = $this->db->update('usa_usagers', $mem_data, $mem_where);
|
|
$ok = true;
|
|
|
|
return $ok;
|
|
}
|
|
|
|
public function mod_createRecordbd($data, $pref, $id)
|
|
{
|
|
|
|
|
|
// creation de la chaine de save
|
|
|
|
$mem_data = array();
|
|
|
|
if (!isset($data['usa_representant']))
|
|
$data['des_tps']=0;
|
|
|
|
|
|
foreach ($data as $key => $value) {
|
|
if (substr($key, 0, strlen($pref)) == $pref) {
|
|
$mem_data[$key] = $value;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($id == 0) {
|
|
if ($mem_data['usa_login']!=""){
|
|
$mem_data['usa_creation'] = date("Y-m-d H:i:s");
|
|
$mem_data['usa_actif'] = 1;
|
|
$str = $this->db->insert('usa_usagers', $mem_data);}
|
|
} else {
|
|
$mem_where = "usa_id =" . $id;
|
|
|
|
$str = $this->db->update('usa_usagers', $mem_data, $mem_where);
|
|
|
|
}
|
|
$ok = true;
|
|
|
|
return $this->db->insert_id();
|
|
}
|
|
|
|
public function mod_getRecordCount()
|
|
{
|
|
|
|
$this->db->select('count(*) as allcount');
|
|
$this->db->from('pro_descriptions');
|
|
$this->db->where('des_actif', 1);
|
|
$query = $this->db->get();
|
|
$result = $query->result_array();
|
|
return $result[0]['allcount'];
|
|
}
|
|
|
|
public function mod_getforminfo($id)
|
|
{
|
|
global $mem_data, $validation;
|
|
|
|
$this->load->model('Config_model');
|
|
$this->load->model('FxForm_model');
|
|
// vas chercher les info de la fiche
|
|
|
|
if ($id != 0)
|
|
$info = $this->mod_getRecord($id);
|
|
|
|
// prepare info pour chaque champs utilisé
|
|
// input
|
|
$mem_data['mem_id'] = $id;
|
|
$mem_champ = 'usa_prenom';
|
|
$mem_value = ($id == 0 ? '' : $info->$mem_champ);
|
|
$this->FxForm_model->fxinputtxt($mem_champ, $mem_value, 'Prénom', '');
|
|
$this->FxForm_model->fxvaliderequired($mem_champ);
|
|
|
|
|
|
// -------------------------------------------------------------------------
|
|
$mem_champ = 'usa_nom';
|
|
$mem_value = ($id == 0 ? '' : $info->$mem_champ);
|
|
$this->FxForm_model->fxinputtxt($mem_champ, $mem_value, 'Nom', '');
|
|
$this->FxForm_model->fxvaliderequired($mem_champ);
|
|
// -------------------------------------------------------------------------
|
|
$mem_champ = 'usa_login';
|
|
$mem_value = ($id == 0 ? '' : $info->$mem_champ);
|
|
$this->FxForm_model->fxinputtxt($mem_champ, $mem_value, 'Login', '');
|
|
$this->FxForm_model->fxvaliderequired($mem_champ);
|
|
// -------------------------------------------------------------------------
|
|
$mem_champ = 'usa_password';
|
|
$mem_value = ($id == 0 ? '' : $info->$mem_champ);
|
|
$this->FxForm_model->fxinputtxt($mem_champ, $mem_value, 'Mot de passe', '');
|
|
$this->FxForm_model->fxvaliderequired($mem_champ);
|
|
// -------------------------------------------------------------------------
|
|
$mem_champ = 'usa_telephone';
|
|
$mem_value = ($id == 0 ? '' : $info->$mem_champ);
|
|
$this->FxForm_model->fxinputtxt($mem_champ, $mem_value, 'Téléphone', '');
|
|
$this->FxForm_model->fxvaliderequired($mem_champ);
|
|
|
|
|
|
$mem_champ='usa_representant';
|
|
$mem_value=($id==0 ? true : ($info->$mem_champ==1 ? true:false));
|
|
|
|
$mem_data['checkbox'][$mem_champ] = array(
|
|
|
|
'name' => $mem_champ,
|
|
'value' => 1,
|
|
'checked' => $mem_value,
|
|
);
|
|
$mem_data['label'][$mem_champ] = 'Répresentant';
|
|
$mem_data['icon'][$mem_champ] = ' ';
|
|
// -------------------------------------------------------------------------
|
|
|
|
$mem_data['validation'] = $this->FxForm_model->fxValidation($validation['rule'], $validation['message']);
|
|
|
|
|
|
return $mem_data;
|
|
}
|
|
|
|
public function mod_loadData_list($record = 0, $filtre1 = '', $filtre2 = '', $filtre3 = '', $listactif = 1, $model_de_produits)
|
|
{
|
|
$filtre1 = ($filtre1 == 'null' ? '' : $filtre1);
|
|
$filtre2 = ($filtre2 == 'null' ? '' : $filtre2);
|
|
$filtre3 = ($filtre3 == 'null' ? '' : $filtre3);
|
|
|
|
if ($model_de_produits == "liste")
|
|
$recordPerPage = 50;
|
|
else
|
|
$recordPerPage = 5;
|
|
$config["cur_page"] = $record;
|
|
if ($record != 0) {
|
|
$record = ($record - 1) * $recordPerPage;
|
|
}
|
|
|
|
$recordCount2 = $this->mod_getRecordCount();
|
|
$recordCount = $this->mod_getRecordCountfilter($filtre1, $filtre2, $filtre3, $listactif);
|
|
|
|
$client_list = $this->mod_getRecords($record, $recordPerPage, $filtre1, $filtre2, $filtre3, $listactif);
|
|
|
|
$config['base_url'] = base_url() . 'index.php/Produits/loadData_list';
|
|
$config['use_page_numbers'] = TRUE;
|
|
$config['next_link'] = 'Next';
|
|
$config['prev_link'] = 'Previous';
|
|
//$config['total_rows'] = $recordCount;
|
|
$config['total_rows'] = 1;
|
|
$config['per_page'] = $recordPerPage;
|
|
|
|
$choice = $config["total_rows"] / $config["per_page"];
|
|
$config["uri_segment"] = 2;
|
|
$config["num_links"] = 2;
|
|
$config['full_tag_open'] = '<div ><ul class="pagination">';
|
|
$config['full_tag_close'] = '</ul></div><!--pagination-->';
|
|
|
|
$config['first_link'] = '« First';
|
|
$config['first_tag_open'] = '<li class="prev page">';
|
|
$config['first_tag_close'] = '</li>';
|
|
|
|
$config['last_link'] = 'Last »';
|
|
$config['last_tag_open'] = '<li class="next page">';
|
|
$config['last_tag_close'] = '</li>';
|
|
|
|
$config['next_link'] = 'Next →';
|
|
$config['next_tag_open'] = '<li class="next page">';
|
|
$config['next_tag_close'] = '</li>';
|
|
|
|
$config['prev_link'] = '← Previous';
|
|
$config['prev_tag_open'] = '<li class="prev page">';
|
|
$config['prev_tag_close'] = '</li>';
|
|
|
|
$config['cur_tag_open'] = '<li class="active"><a href="">';
|
|
$config['cur_tag_close'] = '</a></li>';
|
|
|
|
$config['num_tag_open'] = '<li class="page">';
|
|
$config['num_tag_close'] = '</li>';
|
|
$this->pagination->initialize($config);
|
|
$data['pagination'] = $this->pagination->create_links();
|
|
$data['recordCount'] = $recordCount2;
|
|
|
|
// switch voir delete
|
|
|
|
|
|
// creation du tableau
|
|
|
|
|
|
// prepare header
|
|
$mem_link_new = "";
|
|
if ($model_de_produits == "liste")
|
|
$mem_link_new = '<a id="pk_1" data-id="0" class="btn btn-primary btn-circle glyphicon glyphicon-pencil"> </a>';
|
|
//$mem_link_new=anchor('Produits/form/0' , ' ', 'class="btn btn-primary btn-circle glyphicon glyphicon-pencil" ');
|
|
$header = array($mem_link_new, 'Nom','Prénom',
|
|
'Téléphone' );
|
|
// prépare les donnés du tableau
|
|
$nbitem = 0;
|
|
|
|
// filter
|
|
global $mem_data;
|
|
$data_row = array();
|
|
// $data_row[] = array('data' => 'Filtre', 'align' => 'left');
|
|
// -------------------------------------------------------------------------
|
|
// $mem_champ = 'filtre_produits_1';
|
|
// $mem_value = $filtre1;
|
|
// $this->FxForm_model->fxinputtxt($mem_champ, $mem_value, '', '', '', 'filtre_produits_1');
|
|
|
|
// $mem_filtre = form_input($mem_data['input'][$mem_champ]);
|
|
// $data_row[] = array('data' => $mem_filtre, 'align' => 'left');
|
|
// -------------------------------------------------------------------------
|
|
// $mem_champ = 'filtre_produits_2';
|
|
// $mem_value = $filtre2;
|
|
// $this->FxForm_model->fxinputtxt($mem_champ, $mem_value, '', '', '', 'filtre_produits_2');
|
|
// $mem_filtre = form_input($mem_data['input'][$mem_champ]);
|
|
// $data_row[] = array('data' => $mem_filtre, 'align' => 'left');
|
|
// -------------------------------------------------------------------------
|
|
|
|
// -------------------------------------------------------------------------
|
|
// $mem_champ = 'filtre_produits_3';
|
|
// $mem_value = $filtre3;
|
|
// $mem_data['select'][$mem_champ]['choix'] = $this->Config_model->conf_getGenresFournisseur('fr', true, 1);
|
|
// value multipli select
|
|
//$mem_value = explode(',', $mem_value);
|
|
// $mem_filtre = form_dropdown($mem_champ, $mem_data['select'][$mem_champ]['choix'], $mem_value, 'class="filtre_produits_3"');
|
|
|
|
// $data_row[] = array('data' => $mem_filtre, 'align' => 'left');
|
|
|
|
// echo form_dropdown($mem_champ,$select[$mem_champ]['choix'],$select[$mem_champ]['value']);
|
|
// -------------------------------------------------------------------------
|
|
|
|
// -------------------------------------------------------------------------
|
|
|
|
|
|
$tabular_data[] = $data_row;
|
|
// prépare les donnés du tableau
|
|
|
|
|
|
foreach ($client_list as $row) {
|
|
$nbitem++;
|
|
if($model_de_produits=="liste"){
|
|
// faire le link pour delete
|
|
if ($row['usa_actif'] == 1) {
|
|
// faire le link pour edit
|
|
$mem_link_edit = '<a id="pk_1" data-id="' . $row['usa_id'] . '" class="btn btn-primary btn-circle glyphicon glyphicon-pencil"> </a>';
|
|
|
|
$mem_link_delete = anchor('user/desactivate/' . $row['usa_id'] . '/0', ' ', 'class="btn btn-danger btn-circle glyphicon glyphicon-trash " ');
|
|
}
|
|
else
|
|
{
|
|
$mem_link_edit = '';
|
|
$mem_link_delete = anchor('user/desactivate/' . $row['usa_id'] . '/1', ' ', 'class="btn btn-success btn-circle glyphicon glyphicon-thumbs-up " ');
|
|
}
|
|
}else{
|
|
// $mem_link_edit = anchor('Projets/choix_produit/' . $row['des_id'] , ' ', 'class="btn btn-success btn-circle glyphicon glyphicon-plus-sign" ');
|
|
|
|
$databtn = array(
|
|
'name' => 'button',
|
|
'id' => 'button',
|
|
'value' => $row['usa_id'],
|
|
'class' => 'btn btn-success btn-circle glyphicon glyphicon-plus-sign'
|
|
);
|
|
$mem_link_edit =form_button($databtn);
|
|
|
|
$mem_link_delete = '';
|
|
|
|
}
|
|
// $mem_link_edit='<a id="pk_'.$row['des_id'].'" data-id="1" class="btn btn-primary btn-circle glyphicon glyphicon-edit"> </a>';
|
|
// <a href="javascript:void(0);" class="btn btn-primary btn-circle"><i ></i></a> ';
|
|
$data_row = array();
|
|
$data_row[] = array('data' => $mem_link_edit . ' ' . $mem_link_delete, 'align' => 'left');
|
|
$data_row[] = array('data' => $row['usa_nom'], 'align' => 'left');
|
|
$data_row[] = array('data' => $row['usa_prenom'], 'align' => 'left');
|
|
$data_row[] = array('data' => $row['usa_telephone'], 'align' => 'left');
|
|
|
|
|
|
$tabular_data[] = $data_row;
|
|
|
|
}
|
|
|
|
|
|
$template = array(
|
|
'table_open' => '<table border="0" cellpadding="4" cellspacing="0" class="table table-striped table-bordered table-hover">',
|
|
|
|
'thead_open' => '<thead>',
|
|
'thead_close' => '</thead>',
|
|
|
|
'heading_row_start' => '<tr>',
|
|
'heading_row_end' => '</tr>',
|
|
'heading_cell_start' => '<th>',
|
|
'heading_cell_end' => '</th>',
|
|
|
|
'tbody_open' => '<tbody>',
|
|
'tbody_close' => '</tbody>',
|
|
|
|
'row_start' => '<tr>',
|
|
'row_end' => '</tr>',
|
|
'cell_start' => '<td>',
|
|
'cell_end' => '</td>',
|
|
|
|
'row_alt_start' => '<tr>',
|
|
'row_alt_end' => '</tr>',
|
|
'cell_alt_start' => '<td>',
|
|
'cell_alt_end' => '</td>',
|
|
|
|
'table_close' => '</table>'
|
|
);
|
|
|
|
$this->table->set_template($template);
|
|
|
|
$this->table->set_heading($header);
|
|
$tableau_sortie = $this->table->generate($tabular_data);
|
|
|
|
|
|
$data['list'] = $tableau_sortie;
|
|
return $data;
|
|
}
|
|
|
|
|
|
} |