function export()
 {
     $separator = $this->app_conf->get('csv_separator');
     // header
     $headers = array();
     reset($this->fields);
     foreach ($this->fields as $f) {
         $headers[] = $f['name'];
     }
     $data = array();
     $data[] = join($separator, $headers);
     // entries
     $entries = $this->{$this->model}->get_all($headers);
     reset($entries);
     foreach ($entries as $e) {
         $data[] = hc_build_csv(array_values($e), $separator);
     }
     // output
     $out = join("\n", $data);
     $file_name = isset($this->conf['export']) ? $this->conf['export'] : 'export';
     $file_name .= '-' . date('Y-m-d_H-i') . '.csv';
     $this->load->helper('download');
     force_download($file_name, $out);
     return;
 }
 protected function _prepare_export()
 {
     $separator = $this->app_conf->get('csv_separator');
     // header
     $headers = array();
     reset($this->fields);
     foreach ($this->fields as $f) {
         $headers[] = $f['name'];
     }
     $data = array();
     $data[] = join($separator, $headers);
     // entries
     $entries = $this->model->get_all($headers);
     reset($entries);
     foreach ($entries as $e) {
         $data[] = hc_build_csv(array_values($e), $separator);
     }
     return $data;
 }
Пример #3
0
 function csv($separator = ',', $skip = array())
 {
     $related_fields = array_merge($this->has_one, $this->has_many);
     // header
     $headers = array();
     $fields = $this->get_fields();
     reset($fields);
     foreach ($fields as $f) {
         if (in_array($f['name'], $skip)) {
             continue;
         }
         //			$headers[ $f['name'] ] = Hc_lib::parse_lang( $f['label'] );
         $headers[$f['name']] = $f['name'];
     }
     $data = array();
     $data[] = join($separator, $headers);
     // entries
     $keys = array_keys($headers);
     $this->clear();
     $this->get();
     foreach ($this as $s) {
         $e = array();
         reset($keys);
         foreach ($keys as $k) {
             if (isset($related_fields[$k])) {
                 $e[] = $s->{$k}->get()->title();
             } else {
                 $e[] = $s->{$k};
             }
         }
         $data[] = hc_build_csv($e, $separator);
     }
     $return = join("\n", $data);
     return $return;
 }
Пример #4
0
 function export_stats()
 {
     $separator = $this->app_conf->get('csv_separator');
     // header
     $headers = array(lang('user_level_staff'), lang('shifts'), lang('time_duration'));
     $data = array();
     $data[] = join($separator, $headers);
     // shifts
     foreach ($this->data['stats_shifts'] as $staff_id => $array) {
         $staff = $this->data['staffs'][$staff_id];
         $values = array();
         $values[] = $staff->title();
         $values[] = $this->data['stats_shifts'][$staff->id][0];
         $values[] = $this->hc_time->formatPeriodShort($this->data['stats_shifts'][$staff->id][1], 'hour');
         $data[] = hc_build_csv(array_values($values), $separator);
     }
     // output
     $out = join("\n", $data);
     $file_name = 'stats-';
     $file_name .= $this->data['start_date'] . '-' . $this->data['end_date'] . '.csv';
     $this->load->helper('download');
     force_download($file_name, $out);
     return;
 }