<?php
public function getCustomers
( $data = array ( ) ) { $sql = "SELECT *, CONCAT(c.firstname, ' ', c.lastname) AS name, cgd.name AS customer_group FROM " . DB_PREFIX . "customer c LEFT JOIN " . DB_PREFIX . "customer_group_description cgd ON (c.customer_group_id = cgd.customer_group_id)" ;
if ( ! empty ( $data [ 'filter_affiliate' ] ) ) { $sql .= " LEFT JOIN " . DB_PREFIX . "customer_affiliate ca ON (ca.customer_id = c.customer_id)" ;
}
$sql .= " WHERE cgd.language_id = '" . ( int) $this -> config -> get ( 'config_language_id' ) . "' AND c.custom_field = '" . ( int) $this -> user -> getVendedor ( ) . "'" ;
if ( ! empty ( $data [ 'filter_name' ] ) ) { $sql .= " AND CONCAT(c.firstname, ' ', c.lastname) LIKE '%" . $this -> db -> escape ( ( string) $data [ 'filter_name' ] ) . "%'" ;
}
if ( ! empty ( $data [ 'filter_email' ] ) ) { $sql .= " AND c.email LIKE '" . $this -> db -> escape ( ( string) $data [ 'filter_email' ] ) . "%'" ;
}
if ( isset ( $data [ 'filter_newsletter' ] ) && ! is_null ( $data [ 'filter_newsletter' ] ) ) { $sql .= " AND c.newsletter = '" . ( int) $data [ 'filter_newsletter' ] . "'" ;
}
if ( ! empty ( $data [ 'filter_customer_group_id' ] ) ) { $sql .= " AND c.customer_group_id = '" . ( int) $data [ 'filter_customer_group_id' ] . "'" ;
}
if ( ! empty ( $data [ 'filter_affiliate' ] ) ) { $sql .= " AND (SELECT customer_id FROM " . DB_PREFIX . "customer_affiliate ca WHERE ca.customer_id = c.customer_id)" ;
}
if ( ! empty ( $data [ 'filter_ip' ] ) ) { $sql .= " AND c.customer_id IN (SELECT customer_id FROM " . DB_PREFIX . "customer_ip WHERE ip = '" . $this -> db -> escape ( ( string) $data [ 'filter_ip' ] ) . "')" ;
}
if ( isset ( $data [ 'filter_status' ] ) && $data [ 'filter_status' ] !== '' ) { $sql .= " AND c.status = '" . ( int) $data [ 'filter_status' ] . "'" ;
}
if ( ! empty ( $data [ 'filter_date_added' ] ) ) { $sql .= " AND DATE(c.date_added) = DATE('" . $this -> db -> escape ( ( string) $data [ 'filter_date_added' ] ) . "')" ;
}
'name' ,
'c.email' ,
'customer_group' ,
'c.status' ,
'c.ip' ,
'c.date_added'
) ;
if ( isset ( $data [ 'sort' ] ) && in_array ( $data [ 'sort' ] , $sort_data ) ) { $sql .= " ORDER BY " . $data [ 'sort' ] ;
} else {
$sql .= " ORDER BY name" ;
}
if ( isset ( $data [ 'order' ] ) && ( $data [ 'order' ] == 'DESC' ) ) { $sql .= " DESC" ;
} else {
$sql .= " ASC" ;
}
if ( isset ( $data [ 'start' ] ) || isset ( $data [ 'limit' ] ) ) { if ( $data [ 'start' ] < 0 ) {
$data [ 'start' ] = 0 ;
}
if ( $data [ 'limit' ] < 1 ) {
$data [ 'limit' ] = 20 ;
}
$sql .= " LIMIT " . ( int) $data [ 'start' ] . "," . ( int) $data [ 'limit' ] ;
}
$query = $this -> db -> query ( $sql ) ;
return $query -> rows ;
}
PD9waHAKCnB1YmxpYyBmdW5jdGlvbiBnZXRDdXN0b21lcnMoJGRhdGEgPSBhcnJheSgpKSB7CgkJJHNxbCA9ICJTRUxFQ1QgKiwgQ09OQ0FUKGMuZmlyc3RuYW1lLCAnICcsIGMubGFzdG5hbWUpIEFTIG5hbWUsIGNnZC5uYW1lIEFTIGN1c3RvbWVyX2dyb3VwIEZST00gIiAuIERCX1BSRUZJWCAuICJjdXN0b21lciBjIExFRlQgSk9JTiAiIC4gREJfUFJFRklYIC4gImN1c3RvbWVyX2dyb3VwX2Rlc2NyaXB0aW9uIGNnZCBPTiAoYy5jdXN0b21lcl9ncm91cF9pZCA9IGNnZC5jdXN0b21lcl9ncm91cF9pZCkiOwoKCQlpZiAoIWVtcHR5KCRkYXRhWydmaWx0ZXJfYWZmaWxpYXRlJ10pKSB7CgkJCSRzcWwgLj0gIiBMRUZUIEpPSU4gIiAuIERCX1BSRUZJWCAuICJjdXN0b21lcl9hZmZpbGlhdGUgY2EgT04gKGNhLmN1c3RvbWVyX2lkID0gYy5jdXN0b21lcl9pZCkiOwoJCX0KCQkkc3FsIC49ICIgV0hFUkUgY2dkLmxhbmd1YWdlX2lkID0gJyIgLiAoaW50KSR0aGlzLT5jb25maWctPmdldCgnY29uZmlnX2xhbmd1YWdlX2lkJykgLiAiJyBBTkQgYy5jdXN0b21fZmllbGQgPSAnIiAuIChpbnQpJHRoaXMtPnVzZXItPmdldFZlbmRlZG9yKCkuIiciOyAKCQkKCQlpZiAoIWVtcHR5KCRkYXRhWydmaWx0ZXJfbmFtZSddKSkgewoJCQkkc3FsIC49ICIgQU5EIENPTkNBVChjLmZpcnN0bmFtZSwgJyAnLCBjLmxhc3RuYW1lKSBMSUtFICclIiAuICR0aGlzLT5kYi0+ZXNjYXBlKChzdHJpbmcpJGRhdGFbJ2ZpbHRlcl9uYW1lJ10pIC4gIiUnIjsKCQl9CgoJCWlmICghZW1wdHkoJGRhdGFbJ2ZpbHRlcl9lbWFpbCddKSkgewoJCQkkc3FsIC49ICIgQU5EIGMuZW1haWwgTElLRSAnIiAuICR0aGlzLT5kYi0+ZXNjYXBlKChzdHJpbmcpJGRhdGFbJ2ZpbHRlcl9lbWFpbCddKSAuICIlJyI7CgkJfQoKCQlpZiAoaXNzZXQoJGRhdGFbJ2ZpbHRlcl9uZXdzbGV0dGVyJ10pICYmICFpc19udWxsKCRkYXRhWydmaWx0ZXJfbmV3c2xldHRlciddKSkgewoJCQkkc3FsIC49ICIgQU5EIGMubmV3c2xldHRlciA9ICciIC4gKGludCkkZGF0YVsnZmlsdGVyX25ld3NsZXR0ZXInXSAuICInIjsKCQl9CgoJCWlmICghZW1wdHkoJGRhdGFbJ2ZpbHRlcl9jdXN0b21lcl9ncm91cF9pZCddKSkgewoJCQkkc3FsIC49ICIgQU5EIGMuY3VzdG9tZXJfZ3JvdXBfaWQgPSAnIiAuIChpbnQpJGRhdGFbJ2ZpbHRlcl9jdXN0b21lcl9ncm91cF9pZCddIC4gIiciOwoJCX0KCgkJaWYgKCFlbXB0eSgkZGF0YVsnZmlsdGVyX2FmZmlsaWF0ZSddKSkgewoJCQkkc3FsIC49ICIgQU5EIChTRUxFQ1QgY3VzdG9tZXJfaWQgRlJPTSAiIC4gREJfUFJFRklYIC4gImN1c3RvbWVyX2FmZmlsaWF0ZSBjYSBXSEVSRSBjYS5jdXN0b21lcl9pZCA9IGMuY3VzdG9tZXJfaWQpIjsKCQl9CgoJCWlmICghZW1wdHkoJGRhdGFbJ2ZpbHRlcl9pcCddKSkgewoJCQkkc3FsIC49ICIgQU5EIGMuY3VzdG9tZXJfaWQgSU4gKFNFTEVDVCBjdXN0b21lcl9pZCBGUk9NICIgLiBEQl9QUkVGSVggLiAiY3VzdG9tZXJfaXAgV0hFUkUgaXAgPSAnIiAuICR0aGlzLT5kYi0+ZXNjYXBlKChzdHJpbmcpJGRhdGFbJ2ZpbHRlcl9pcCddKSAuICInKSI7CgkJfQoKCQlpZiAoaXNzZXQoJGRhdGFbJ2ZpbHRlcl9zdGF0dXMnXSkgJiYgJGRhdGFbJ2ZpbHRlcl9zdGF0dXMnXSAhPT0gJycpIHsKCQkJJHNxbCAuPSAiIEFORCBjLnN0YXR1cyA9ICciIC4gKGludCkkZGF0YVsnZmlsdGVyX3N0YXR1cyddIC4gIiciOwoJCX0KCgkJaWYgKCFlbXB0eSgkZGF0YVsnZmlsdGVyX2RhdGVfYWRkZWQnXSkpIHsKCQkJJHNxbCAuPSAiIEFORCBEQVRFKGMuZGF0ZV9hZGRlZCkgPSBEQVRFKCciIC4gJHRoaXMtPmRiLT5lc2NhcGUoKHN0cmluZykkZGF0YVsnZmlsdGVyX2RhdGVfYWRkZWQnXSkgLiAiJykiOwoJCX0KCgkJJHNvcnRfZGF0YSA9IGFycmF5KAoJCQknbmFtZScsCgkJCSdjLmVtYWlsJywKCQkJJ2N1c3RvbWVyX2dyb3VwJywKCQkJJ2Muc3RhdHVzJywKCQkJJ2MuaXAnLAoJCQknYy5kYXRlX2FkZGVkJwoJCSk7CgoJCWlmIChpc3NldCgkZGF0YVsnc29ydCddKSAmJiBpbl9hcnJheSgkZGF0YVsnc29ydCddLCAkc29ydF9kYXRhKSkgewoJCQkkc3FsIC49ICIgT1JERVIgQlkgIiAuICRkYXRhWydzb3J0J107CgkJfSBlbHNlIHsKCQkJJHNxbCAuPSAiIE9SREVSIEJZIG5hbWUiOwoJCX0KCgkJaWYgKGlzc2V0KCRkYXRhWydvcmRlciddKSAmJiAoJGRhdGFbJ29yZGVyJ10gPT0gJ0RFU0MnKSkgewoJCQkkc3FsIC49ICIgREVTQyI7CgkJfSBlbHNlIHsKCQkJJHNxbCAuPSAiIEFTQyI7CgkJfQoKCQlpZiAoaXNzZXQoJGRhdGFbJ3N0YXJ0J10pIHx8IGlzc2V0KCRkYXRhWydsaW1pdCddKSkgewoJCQlpZiAoJGRhdGFbJ3N0YXJ0J10gPCAwKSB7CgkJCQkkZGF0YVsnc3RhcnQnXSA9IDA7CgkJCX0KCgkJCWlmICgkZGF0YVsnbGltaXQnXSA8IDEpIHsKCQkJCSRkYXRhWydsaW1pdCddID0gMjA7CgkJCX0KCgkJCSRzcWwgLj0gIiBMSU1JVCAiIC4gKGludCkkZGF0YVsnc3RhcnQnXSAuICIsIiAuIChpbnQpJGRhdGFbJ2xpbWl0J107CgkJfQoKCQkkcXVlcnkgPSAkdGhpcy0+ZGItPnF1ZXJ5KCRzcWwpOwoKCQlyZXR1cm4gJHF1ZXJ5LT5yb3dzOwoJfQ==