47 $handler =& $this->_getHandler();
48 $count = $handler->getCount();
50 return PROFILE_FRAME_VIEW_INDEX;
52 $filename = sprintf(
'%s_Profile_data_List.csv', $GLOBALS[
'xoopsConfig'][
'sitename']);
54 if (preg_match(
'/firefox/i', xoops_getenv(
'HTTP_USER_AGENT'))) {
55 header(
'Content-Type: application/x-csv');
57 header(
'Content-Type: application/vnd.ms-excel');
59 header(
"Content-Disposition: attachment ; filename=\"{$filename}\"");
63 $fp = fopen(
'php://output',
'w');
65 $defHandler =& xoops_getmodulehandler(
'definitions');
66 $defArr =& $defHandler->getDefinitions(
false);
69 foreach ($defArr as $column => $obj) {
70 $label[] = $this->_encoding($obj->get(
'label'));
71 $columns[] = $obj->get(
'field_name');
73 fputcsv($fp, $label,
',',
'"');
76 $criteria->setSort(
'uid');
77 $criteria->setLimit($limit);
78 for ($i = 1; $offset < $count; $i++) {
79 $criteria->setStart($offset);
80 $dataArr = $handler->getObjects($criteria);
81 foreach ($dataArr as $profile) {
83 foreach ($columns as $column) {
84 if (isset($defArr[$column]) &&
'date' == $defArr[$column]->
get(
'type')) {
85 $value = $value ? formatTimestamp($profile->get($column),
'Y/n/j H:i') :
'';
87 $value = $this->_encoding($profile->get($column));
91 fputcsv($fp, $data,
',',
'"');
93 $offset = $i * $limit;