function _toFileSize($size, $precision = 2) { if ($size == 0) { return _toFloat(0); } $base = log($size, 1024); $suffixes = array('', 'K', 'M', 'G', 'T'); return _toFloat(round(pow(1024, $base - floor($base)), $precision)) . ' ' . $suffixes[floor($base)]; }
public function totalizeColumns() { $sql = str_replace('::fields::', $this->_columnsToSql($columns = \Input::get('columns')), \Input::get('sql')); $sql = str_replace('::where::', 'WHERE ' . \Input::get('where'), $sql); $select = \DB::select($sql); $result = []; foreach ($columns as $i => $column) { $result[$i] = ['result' => _toFloat($select[0]->{$column['as']}), 'dest' => $column['dest']]; } return \Response::json($result); }
public function out($record, $row_number) { if (!$this->visible) { return NULL; } $result = '?'; switch ($this->type) { case self::TYPE_FIELD: $result = $record->{$this->source}; break; case self::TYPE_FIELD_FLOAT: $result = _toFloat($record->{$this->source}); break; case self::TYPE_FIELD_INT: $result = _toInt($record->{$this->source}); break; case self::TYPE_FIELD_FILE_SIZE: $result = _toFileSize($record->{$this->source}); break; case self::TYPE_FIELD_DATE: $value = $record->{$this->source}; if (empty($value)) { $result = '-'; } else { $result = \Carbon\Carbon::createFromFormat('Y-m-d', $value)->format('d.m.Y'); } break; case self::TYPE_FIELD_DATE_TIME: $value = $record->{$this->source}; if (empty($value)) { $result = '-'; } else { $result = \Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $value)->format('d.m.Y H:i:s'); } break; case self::TYPE_VIEW: $result = \View::make($this->source)->with('record', $record)->render(); break; case self::TYPE_ROW_NUMBER: $result = $row_number . '.'; break; case self::TYPE_ROW_CHECK: $result = '<input type="checkbox" />'; break; /* */ /* */ case self::TYPE_NR_VIEW: $result = \View::make($this->source)->with(['record' => $record, 'nr' => $row_number])->render(); break; } return $result; }
public function upload($file, $config) { if (is_null($file)) { return \Response::json(['error' => 'Fişier inexistent. Mai încercaţi ...']); } $data = ['file' => $file, 'extension' => strtolower($file->getClientOriginalExtension())]; $rules = ['file' => 'required|max:' . $config['max-size'], 'extension' => 'in:' . $config['allowed-extensions']]; $messages = ['file.required' => 'Vă rog selectaţi un fişier cu extensia: ' . $config['allowed-extensions'], 'extension.in' => 'Extensiile acceptate sunt: ' . $config['allowed-extensions'], 'file.max' => 'Dimensiunea maximă a unui fişier: ' . _toFloat($config['max-size']) . ' KB. Fişierul încărcat de dumneavostră are ' . _toFloat($file->getClientSize() / 1024) . 'KB.']; $validator = \Validator::make($data, $rules, $messages); if ($validator->fails()) { return \Response::json(['error' => $validator->messages()->all()]); } try { $upload_path = $config['path']; $id = $config['id_name']; $upload_path = str_replace('{{' . $id . '}}', $this->data[$id], $upload_path); $file_name = $config['file-name-pattern']; $file_name = str_replace('{{original}}', basename($file->getClientOriginalName(), '.' . $file->getClientOriginalExtension()), $file_name); $file_name = str_replace('{{' . $id . '}}', $this->data[$id], $file_name); $file_name = str_replace('{{date}}', \Carbon\Carbon::now()->format('Y-m-d'), $file_name); $file_name = str_replace('{{extension}}', $file->getClientOriginalExtension(), $file_name); $file_name = strtolower($file_name); $file->move($upload_path, $file_name); call_user_func([$this->model, 'createRecord'], $this->data + ['file' => $file_name, 'path' => $upload_path, 'extension' => $file->getClientOriginalExtension(), 'size' => $file->getClientSize()]); $result = \Response::json(['success' => true, 'message' => 'Upload. OK']); } catch (\Exception $e) { $result = \Response::json(['error' => $e->getMessage()]); } return $result; }