function buildCustomer($store_id) { $db = JFactory::getDBO(); global $mainframe, $option; $mainframe = JFactory::getApplication(); $jinput = $mainframe->input; $option = $jinput->get('option'); $order_ids = $this->getOrderIds($store_id); $query = ""; if (!empty($order_ids)) { $query = "select * from\n\t\t\t (SELECT u.* FROM `#__kart_orders` AS o\n\t\t\t LEFT JOIN `#__kart_users` AS u ON o.`email` = u.`user_email`\n\t\t\t WHERE u.`address_type` = 'BT'\n\t\t\t AND o.id=u.order_id\n\t\t\t AND u.`order_id` IN (" . $order_ids . " )\n\t\t\t order by u.id DESC\n\t\t\t) AS newtb "; $filter_order = $mainframe->getUserStateFromRequest($option . 'filter_order', 'filter_order', 'firstname', 'cmd'); $filter_order_Dir = $mainframe->getUserStateFromRequest($option . 'filter_order_Dir', 'filter_order_Dir', 'desc', 'word'); $filter_search = $mainframe->getUserStateFromRequest($option . 'filter.search', 'filter_search', '', 'string'); // NOTE:: 1. FIND ALL WHERE AND APPEND TO QUERY if (!empty($filter_search)) { $where = " WHERE ((`firstname` LIKE \"%" . $filter_search . "%\") OR (`lastname` LIKE \"%" . $filter_search . "%\"))"; $query .= $where; } // NOTE:: 2. USE GROUP BY IF ANY $groupby = " group by newtb.user_email "; $query .= $groupby; // NOTE:: 3. USE FILTER if ($filter_order) { $comquick2cartHelper = new comquick2cartHelper(); $allowed_fields = $comquick2cartHelper->getColumns('#__kart_users'); if (in_array($filter_order, $allowed_fields)) { $query .= " ORDER BY " . $filter_order . ' ' . $filter_order_Dir; } } } return $query; }