protected function actionRotate($params) { $this->requireCli(); $findParams = \GO\Base\Db\FindParams::newInstance(); $findParams->getCriteria()->addCondition('ctime', \GO\Base\Util\Date::date_add(time(), -\GO::config()->log_max_days), '<'); $stmt = \GO\Log\Model\Log::model()->find($findParams); $count = $stmt->rowCount(); echo "Dumping " . $count . " records to CSV file\n"; if ($count) { $logPath = '/var/log/groupoffice/' . \GO::config()->id . '.csv'; $csvLogFile = new \GO\Base\Fs\CsvFile($logPath); $csvLogFile->parent()->create(); while ($log = $stmt->fetch()) { if (!$csvLogFile->putRecord(array_values($log->getAttributes('formatted')))) { throw new \Exception("Could not write to CSV log file: " . $csvLogFile->path()); } $log->delete(); } } echo "Done\n"; }
protected function actionReadCSVHeaders($params) { $response['success'] = true; $response['results'] = array(); $response['total'] = 0; $importFile = new \GO\Base\Fs\CsvFile($_FILES['files']['tmp_name'][0]); $importFile->delimiter = $params['delimiter']; $importFile->enclosure = $params['enclosure']; $response['results'] = $importFile->getRecord(); $response['total'] = count($response['results']); return $response; }