芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/public_html/portal.pulsehost.co.uk/modules/reports/clients.php
'ID', 'firstname' => 'First Name', 'lastname' => 'Last Name', 'companyname' => 'Company Name', 'email' => 'Email', 'address1' => 'Address 1', 'address2' => 'Address 2', 'city' => 'City', 'state' => 'State', 'postcode' => 'Postcode', 'country' => 'Country', 'phonenumber' => 'Phone Number', 'currency' => 'Currency', 'groupid' => 'Client Group ID', 'credit' => 'Credit', 'datecreated' => 'Creation Date', 'notes' => 'Notes', 'status' => 'Status' ]; $dateRangeFields = [ 'datecreated' => 'Creation Date', ]; $removedDateRangeFields = array_diff($filterfields, $dateRangeFields); $reportdata["description"] = $reportdata["headertext"] = ''; $incfields = $whmcs->get_req_var('incfields'); $filterfield = $whmcs->get_req_var('filterfield'); $filtertype = $whmcs->get_req_var('filtertype'); $filterq = $whmcs->get_req_var('filterq'); $createDateRange = App::getFromRequest('createDateRange'); if (!is_array($incfields)) { $incfields = []; } if (!is_array($filterfield)) { $filterfield = []; } if (!is_array($filtertype)) { $filtertype = []; } if (!is_array($filterq)) { $filterq = []; } if (!$print) { $reportdata["description"] = "This report can be used to generate a custom export" . " of clients by applying up to 5 filters. CSV Export is available via the Tools menu to the right."; $reportdata["headertext"] = '
Fields to Include
'; $i=0; foreach ($filterfields as $k => $v) { $reportdata["headertext"] .= '
' . $v . '
'; $i++; if (($i%5)==0) { $reportdata["headertext"] .= '
'; } } $reportdata["headertext"] .= '
'; for ($i = 1; $i <= 5; $i ++) { $reportdata["headertext"] .= '
Filter ' . $i . '
None
'; foreach ($removedDateRangeFields as $k => $v) { $reportdata["headertext"] .= '
'; } $reportdata["headertext"] .= '
'; $reportdata["headertext"] .= '
Exact Match
'; } $reportdata["headertext"] .= <<
Creation Date Range
HTML; } if (count($incfields)) { $filters = []; foreach ($filterfield as $i => $val) { if ($val && array_key_exists($val, $filterfields)) { if ($filtertype[$i] === 'like') { $filterq[$i] = '%' . $filterq[$i] . '%'; } $filters[] = [ "name" => $filterfield[$i], "operator" => $filtertype[$i], "value" => $filterq[$i], ]; } } $fieldlist = []; foreach ($incfields as $fieldname) { if (array_key_exists($fieldname, $filterfields)) { $reportdata["tableheadings"][] = $filterfields[$fieldname]; $fieldlist[] = $fieldname; } } $query = Capsule::table('tblclients') ->addSelect($fieldlist) ->where($filters); if ($createDateRange) { $dateRange = Carbon::parseDateRangeValue($createDateRange); $fromdate = $dateRange['from']->toDateTimeString(); $todate = $dateRange['to']->toDateTimeString(); $query->whereBetween('datecreated', [$fromdate, $todate]); } $results = $query->get()->all(); foreach ($results as $result) { $result = (array) $result; if (isset($result['currency'])) { $result['currency'] = Capsule::table('tblcurrencies') ->where('id', '=', $result['currency']) ->value('code'); } $reportdata["tablevalues"][] = $result; } }