Skip to content

Commit

Permalink
Refactoring class
Browse files Browse the repository at this point in the history
  • Loading branch information
atm-ph committed Mar 25, 2017
1 parent fce8e08 commit cb576e6
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 36 deletions.
117 changes: 82 additions & 35 deletions htdocs/core/class/listview.class.php
Expand Up @@ -21,7 +21,12 @@

class Listview
{

/**
* Constructor
*
* @param DoliDB $db Database handler
* @param string $id html id
*/
function __construct(&$db, $id)
{
$this->db = &$db;
Expand All @@ -30,6 +35,12 @@ function __construct(&$db, $id)
$this->sql = '';
}

/**
* Function to init fields
*
* @param array $TParam array of configuration of list
* @return bool
*/
private function init(&$TParam)
{
global $conf, $langs;
Expand All @@ -51,87 +62,123 @@ private function init(&$TParam)
,'orderUp'=>''
,'id'=>$this->id
,'head_search'=>''
,'export'=>array() //TODO include native export
,'view_type'=>'' //TODO to include graph or kanban instead of list
,'export'=>array()
,'view_type'=>''
),$TParam['list']);

$POSTList = GETPOST('Listview');

if(empty($TParam['limit']))$TParam['limit']=array();
if(!empty($POSTList[$this->id]['page'])) $TParam['limit']['page'] = $POSTList[$this->id]['page'];
if (empty($TParam['limit']))$TParam['limit'] = array();
if (!empty($POSTList[$this->id]['page'])) $TParam['limit']['page'] = $POSTList[$this->id]['page'];

$TParam['limit']=array_merge(array('page'=>1, 'nbLine'=>$conf->liste_limit, 'global'=>0), $TParam['limit']);
$TParam['limit'] = array_merge(array('page'=>1, 'nbLine'=>$conf->liste_limit, 'global'=>0), $TParam['limit']);

if(!empty($POSTList[$this->id]['orderBy'])) {
if(!empty($POSTList[$this->id]['orderBy']))
{
$TParam['orderBy'] = $POSTList[$this->id]['orderBy'];
}

}
private function getSearchNull($key, &$TParam) {


/**
* Function to know if we can search on null value
* @param string $key field name
* @param array $TParam array of configuration
* @return bool
*/
private function getSearchNull($key, &$TParam)
{
return !empty($TParam['search'][$key]['allow_is_null']);
}
private function getSearchKey($key, &$TParam) {

$TPrefixe=array();
if(!empty($TParam['search'][$key]['table'])) {
}

/**
* @param $key
* @param $TParam
* @return array
*/
private function getSearchKey($key, &$TParam)
{
$TPrefixe = array();
if(!empty($TParam['search'][$key]['table']))
{
if (!is_array($TParam['search'][$key]['table'])) $TParam['search'][$key]['table'] = array($TParam['search'][$key]['table']);

foreach ($TParam['search'][$key]['table'] as $prefix_table) {
foreach ($TParam['search'][$key]['table'] as $prefix_table)
{
$TPrefixe[] = $prefix_table.'.';
}
}

$TKey=array();
if(!empty($TParam['search'][$key]['field'])) {
if(!empty($TParam['search'][$key]['field']))
{
if (!is_array($TParam['search'][$key]['field'])) $TParam['search'][$key]['field'] = array($TParam['search'][$key]['field']);

foreach ($TParam['search'][$key]['field'] as $i => $field) {
foreach ($TParam['search'][$key]['field'] as $i => $field)
{
$prefixe = !empty($TPrefixe[$i]) ? $TPrefixe[$i] : $TPrefixe[0];
$TKey[] = $prefixe. $field ;
}
} else {
$TKey[] =$TPrefixe[0].$key;
}
else
{
$TKey[] = $TPrefixe[0].$key;
}

return $TKey;
}

private function dateToSQLDate($date) {

}

/**
* @param $date
* @return int|string Date TMS or ''
*/
private function dateToSQLDate($date)
{
return $this->db->jdate($date);
}

private function addSqlFromTypeDate(&$TSQLMore, &$value, $sKey)


/**
* @param $TSQLMore
* @param $value
* @param $sKey
*/
private function addSqlFromTypeDate(&$TSQLMore, &$value, $sKey)
{
if(is_array($value))
{

$TSQLDate=array();
if(!empty($value['start']))
{
$valueDeb = $this->dateToSQLDate($value['start']);
$TSQLDate[]=$sKey." >= '".$valueDeb." 00:00:00'" ;

}

if(!empty($value['end']))
{
$valueFin = $this->dateToSQLDate($value['end']);
$TSQLDate[]=$sKey." <= '".$valueFin." 23:59:59'" ;

$TSQLDate[]=$sKey." <= '".$valueFin." 23:59:59'" ;
}

if(!empty($TSQLDate)) $TSQLMore[] = implode(' AND ', $TSQLDate);
}
else
{
$value = $this->dateToSQLDate($value);
$TSQLMore[]=$sKey." LIKE '".$value."%'" ;

}
}

private function addSqlFromOther(&$TSQLMore, &$value, &$TParam, $sKey, $key)


/**
* @param $TSQLMore
* @param $value
* @param $TParam
* @param $sKey
* @param $key
* @return bool
*/
private function addSqlFromOther(&$TSQLMore, &$value, &$TParam, $sKey, $key)
{
if($value==-1) return false;

Expand Down Expand Up @@ -363,7 +410,7 @@ private function get_total(&$TField, &$TParam) {
$TTotal[$field]=count($this->TTotalTmp[$targetField]);
}
else {
$TTotal[$field]=array_sum($this->TTotalTmp[$targetField]);
$TTotal[$field]=array_sum($this->TTotalTmp[$targetField]);
}

}
Expand Down
2 changes: 1 addition & 1 deletion htdocs/inventory/list.php
Expand Up @@ -43,7 +43,7 @@
echo '<form name="formListInvetory" action="'.$_SERVER['PHP_SELF'].'" method="post" >';

$inventory = new Inventory($db);
$list = new ListView($db,'listInventory');
$list = new ListView($db, 'listInventory');

$THide = array('label','title');

Expand Down

0 comments on commit cb576e6

Please sign in to comment.