/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($pid, $fid, $rid, Request $request) { if (!FormController::validProjForm($pid, $fid)) { return redirect('projects'); } foreach ($request->all() as $key => $value) { if (!is_numeric($key)) { continue; } $message = FieldValidation::validateField($key, $value, $request); if ($message != '') { flash()->error($message); return redirect()->back()->withInput(); } } $record = Record::where('rid', '=', $rid)->first(); $record->updated_at = Carbon::now(); $record->save(); $revision = RevisionController::storeRevision($record->rid, 'edit'); foreach ($request->all() as $key => $value) { if (!is_numeric($key)) { continue; } $field = FieldController::getField($key); if ($field->type == 'Text') { //we need to check if the field exist first if (TextField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $tf = TextField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); $tf->text = $value; $tf->save(); } else { $tf = new TextField(); $tf->flid = $field->flid; $tf->rid = $record->rid; $tf->text = $value; $tf->save(); } } else { if ($field->type == 'Rich Text') { //we need to check if the field exist first if (RichTextField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $rtf = RichTextField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); $rtf->rawtext = $value; $rtf->save(); } else { $rtf = new RichTextField(); $rtf->flid = $field->flid; $rtf->rid = $record->rid; $rtf->rawtext = $value; $rtf->save(); } } else { if ($field->type == 'Number') { //we need to check if the field exist first if (NumberField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $nf = NumberField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); $nf->number = $value; $nf->save(); } else { $nf = new NumberField(); $nf->flid = $field->flid; $nf->rid = $record->rid; $nf->number = $value; $nf->save(); } } else { if ($field->type == 'List') { //we need to check if the field exist first if (ListField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $lf = ListField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); $lf->option = $value; $lf->save(); } else { $lf = new ListField(); $lf->flid = $field->flid; $lf->rid = $record->rid; $lf->option = $value; $lf->save(); } } else { if ($field->type == 'Multi-Select List') { //we need to check if the field exist first if (MultiSelectListField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $mslf = MultiSelectListField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); $mslf->options = FieldController::msListArrayToString($value); $mslf->save(); } else { $mslf = new MultiSelectListField(); $mslf->flid = $field->flid; $mslf->rid = $record->rid; $mslf->options = FieldController::msListArrayToString($value); $mslf->save(); } } else { if ($field->type == 'Generated List') { //we need to check if the field exist first if (GeneratedListField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $glf = GeneratedListField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); $glf->options = FieldController::msListArrayToString($value); $glf->save(); } else { $glf = new GeneratedListField(); $glf->flid = $field->flid; $glf->rid = $record->rid; $glf->options = FieldController::msListArrayToString($value); $glf->save(); } } else { if ($field->type == 'Date') { //we need to check if the field exist first if (DateField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $df = DateField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); $df->circa = $request->input('circa_' . $field->flid, ''); $df->month = $request->input('month_' . $field->flid); $df->day = $request->input('day_' . $field->flid); $df->year = $request->input('year_' . $field->flid); $df->era = $request->input('era_' . $field->flid, 'CE'); $df->save(); } else { $df = new DateField(); $df->flid = $field->flid; $df->rid = $record->rid; $df->circa = $request->input('circa_' . $field->flid, ''); $df->month = $request->input('month_' . $field->flid); $df->day = $request->input('day_' . $field->flid); $df->year = $request->input('year_' . $field->flid); $df->era = $request->input('era_' . $field->flid, 'CE'); $df->save(); } } else { if ($field->type == 'Schedule') { //we need to check if the field exist first if (ScheduleField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $sf = ScheduleField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); $sf->events = FieldController::msListArrayToString($value); $sf->save(); } else { $sf = new ScheduleField(); $sf->flid = $field->flid; $sf->rid = $record->rid; $sf->events = FieldController::msListArrayToString($value); $sf->save(); } } else { if ($field->type == 'Geolocator') { //we need to check if the field exist first if (GeolocatorField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $gf = GeolocatorField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); $gf->locations = FieldController::msListArrayToString($value); $gf->save(); } else { $gf = new GeolocatorField(); $gf->flid = $field->flid; $gf->rid = $record->rid; $gf->locations = FieldController::msListArrayToString($value); $gf->save(); } } else { if ($field->type == 'Documents' && DocumentsField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null | glob(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/*.*') != false) { //we need to check if the field exist first if (DocumentsField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $df = DocumentsField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); } else { $df = new DocumentsField(); $df->flid = $field->flid; $df->rid = $record->rid; $newPath = env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid; mkdir($newPath, 0775, true); } //clear the old files before moving the update over foreach (new \DirectoryIterator(env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid) as $file) { if ($file->isFile()) { unlink(env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid . '/' . $file->getFilename()); } } //build new stuff $infoString = ''; if (file_exists(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value)) { $types = FieldController::getMimeTypes(); foreach (new \DirectoryIterator(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value) as $file) { if ($file->isFile()) { if (!array_key_exists($file->getExtension(), $types)) { $type = 'application/octet-stream'; } else { $type = $types[$file->getExtension()]; } $info = '[Name]' . $file->getFilename() . '[Name][Size]' . $file->getSize() . '[Size][Type]' . $type . '[Type]'; if ($infoString == '') { $infoString = $info; } else { $infoString .= '[!]' . $info; } rename(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/' . $file->getFilename(), env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid . '/' . $file->getFilename()); } } } $df->documents = $infoString; $df->save(); } else { if ($field->type == 'Gallery' && GalleryField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null | glob(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/*.*') != false) { //we need to check if the field exist first if (GalleryField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first() != null) { $gf = GalleryField::where('rid', '=', $rid)->where('flid', '=', $field->flid)->first(); } else { $gf = new GalleryField(); $gf->flid = $field->flid; $gf->rid = $record->rid; $newPath = env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid; mkdir($newPath, 0775, true); mkdir($newPath . '/thumbnail', 0775, true); mkdir($newPath . '/medium', 0775, true); } //clear the old files before moving the update over foreach (new \DirectoryIterator(env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid) as $file) { if ($file->isFile()) { unlink(env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid . '/' . $file->getFilename()); unlink(env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid . '/thumbnail/' . $file->getFilename()); unlink(env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid . '/medium/' . $file->getFilename()); } } //build new stuff $infoString = ''; if (file_exists(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value)) { $types = FieldController::getMimeTypes(); foreach (new \DirectoryIterator(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value) as $file) { if ($file->isFile()) { if (!array_key_exists($file->getExtension(), $types)) { $type = 'application/octet-stream'; } else { $type = $types[$file->getExtension()]; } $info = '[Name]' . $file->getFilename() . '[Name][Size]' . $file->getSize() . '[Size][Type]' . $type . '[Type]'; if ($infoString == '') { $infoString = $info; } else { $infoString .= '[!]' . $info; } rename(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/' . $file->getFilename(), env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid . '/' . $file->getFilename()); rename(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/thumbnail/' . $file->getFilename(), env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid . '/thumbnail/' . $file->getFilename()); rename(env('BASE_PATH') . 'storage/app/tmpFiles/' . $value . '/medium/' . $file->getFilename(), env('BASE_PATH') . 'storage/app/files/p' . $pid . '/f' . $fid . '/r' . $record->rid . '/fl' . $field->flid . '/medium/' . $file->getFilename()); } } } $gf->images = $infoString; $gf->save(); } } } } } } } } } } } } $revision->oldData = RevisionController::buildDataArray($record); $revision->save(); flash()->overlay('Your record has been successfully updated!', 'Good Job!'); return redirect('projects/' . $pid . '/forms/' . $fid . '/records/' . $rid); }
/** * Display a listing of the resource. * * @return Response */ public function index(Request $request) { //These functions deal with field nav $field = \App\Http\Controllers\FieldController::getField($request->flid); $form = \App\Http\Controllers\FormController::getForm($field->fid); $vals = FormController::xmlToArray($form->layout); if ($request->action == 'moveFieldUp') { for ($i = 0; $i < sizeof($vals); $i++) { if (isset($vals[$i]['value']) && $vals[$i]['value'] == $field->flid) { //if we have a field above us if ($vals[$i - 1]['tag'] == 'ID') { $temp = $vals[$i]; $vals[$i] = $vals[$i - 1]; $vals[$i - 1] = $temp; } //if we have a node above us if ($vals[$i - 1]['tag'] == 'NODE' && $vals[$i - 1]['type'] == 'close') { $j = $i - 1; $lvl = $vals[$i - 1]['level']; while ($j > 0) { if ($vals[$j]['tag'] == 'NODE' && $vals[$j]['type'] == 'open' && $vals[$j]['level'] == $lvl) { $k = $j; //this is the start of the node break; } else { $j--; } } $temp = $vals[$i]; while ($i > $k) { $vals[$i] = $vals[$i - 1]; $i--; } $vals[$i] = $temp; } $form->layout = $this->valsToXML($vals); $form->save(); break; } } } if ($request->action == 'moveFieldDown') { for ($i = 0; $i < sizeof($vals); $i++) { if (isset($vals[$i]['value']) && $vals[$i]['value'] == $field->flid) { //if we have a field below us if ($vals[$i + 1]['tag'] == 'ID') { $temp = $vals[$i]; $vals[$i] = $vals[$i + 1]; $vals[$i + 1] = $temp; } //if we have a node below us if ($vals[$i + 1]['tag'] == 'NODE' && $vals[$i + 1]['type'] == 'open') { $j = $i + 1; $lvl = $vals[$i + 1]['level']; while ($j < sizeof($vals)) { if ($vals[$j]['tag'] == 'NODE' && $vals[$j]['type'] == 'close' && $vals[$j]['level'] == $lvl) { $k = $j; //this is the start of the node break; } else { $j++; } } $temp = $vals[$i]; while ($i < $k) { $vals[$i] = $vals[$i + 1]; $i++; } $vals[$i] = $temp; } $form->layout = $this->valsToXML($vals); $form->save(); break; } } } if ($request->action == 'moveFieldUpIn') { for ($i = 0; $i < sizeof($vals); $i++) { if (isset($vals[$i]['value']) && $vals[$i]['value'] == $field->flid) { //if the Node is above us if ($vals[$i - 1]['tag'] == 'NODE' && $vals[$i - 1]['type'] == 'close') { $tmp = $vals[$i]; $vals[$i] = $vals[$i - 1]; $vals[$i - 1] = $tmp; } $form->layout = $this->valsToXML($vals); $form->save(); break; } } } if ($request->action == 'moveFieldDownIn') { for ($i = 0; $i < sizeof($vals); $i++) { if (isset($vals[$i]['value']) && $vals[$i]['value'] == $field->flid) { //if the Node is above us if ($vals[$i + 1]['tag'] == 'NODE' && $vals[$i + 1]['type'] == 'open') { $tmp = $vals[$i]; $vals[$i] = $vals[$i + 1]; $vals[$i + 1] = $tmp; } $form->layout = $this->valsToXML($vals); $form->save(); break; } } } if ($request->action == 'moveFieldUpOut') { for ($i = 0; $i < sizeof($vals); $i++) { if (isset($vals[$i]['value']) && $vals[$i]['value'] == $field->flid) { //if we have a node above us $j = $i - 1; $lvl = $vals[$i]['level'] - 1; while ($j > 0) { if ($vals[$j]['tag'] == 'NODE' && $vals[$j]['type'] == 'open' && $vals[$j]['level'] == $lvl) { $k = $j; break; } else { $j--; } } $temp = $vals[$i]; while ($i > $k) { $vals[$i] = $vals[$i - 1]; $i--; } $vals[$i] = $temp; $form->layout = $this->valsToXML($vals); $form->save(); break; } } } if ($request->action == 'moveFieldDownOut') { for ($i = 0; $i < sizeof($vals); $i++) { if (isset($vals[$i]['value']) && $vals[$i]['value'] == $field->flid) { //if we have a node below us $j = $i + 1; $lvl = $vals[$i]['level'] - 1; while ($j < sizeof($vals)) { if ($vals[$j]['tag'] == 'NODE' && $vals[$j]['type'] == 'close' && $vals[$j]['level'] == $lvl) { $k = $j; break; } else { $j++; } } $temp = $vals[$i]; while ($i < $k) { $vals[$i] = $vals[$i + 1]; $i++; } $vals[$i] = $temp; $form->layout = $this->valsToXML($vals); $form->save(); break; } } } }
@endforeach @elseif($field->type=='Rich Text') @foreach($record->richtextfields as $rtf) @if($rtf->flid == $field->flid) <?php echo $rtf->rawtext; ?> @endif @endforeach @elseif($field->type=='Number') @foreach($record->numberfields as $nf) @if($nf->flid == $field->flid) <?php echo $nf->number; if ($nf->number != '') { echo ' ' . \App\Http\Controllers\FieldController::getFieldOption($field, 'Unit'); } ?> @endif @endforeach @elseif($field->type=='List') @foreach($record->listfields as $lf) @if($lf->flid == $field->flid) {{ $lf->option }} @endif @endforeach @elseif($field->type=='Multi-Select List') @foreach($record->multiselectlistfields as $mslf) @if($mslf->flid == $field->flid) @foreach(explode('[!]',$mslf->options) as $opt) <div>{{ $opt }}</div>
<div class="form-group"> <?php if ($genlist == null) { $value = ''; $value2 = \App\Http\Controllers\FieldController::getList($field, false); } else { $value = explode('[!]', $genlist->options); $value2 = array(); foreach ($value as $val) { $value2[$val] = $val; } } ?> {!! Form::label($field->flid, $field->name.': ') !!} @if($field->required==1) <b style="color:red;font-size:20px">*</b> @endif {!! Form::select($field->flid.'[]',$value2, $value,['class' => 'form-control', 'Multiple', 'id' => 'list'.$field->flid]) !!} </div> <script> $('#list{{ $field->flid }}').select2({ tags: true }); </script>
<div class="form-group"> <?php if ($schedule == null) { $value = ''; $value2 = \App\Http\Controllers\FieldController::getDateList($field); } else { $value = explode('[!]', $schedule->events); $value2 = array(); foreach ($value as $val) { $value2[$val] = $val; } } ?> {!! Form::label($field->flid, $field->name.': ') !!} @if($field->required==1) <b style="color:red;font-size:20px">*</b> @endif <div class="list_option_form{{$field->flid}}"> <div> {!! Form::select($field->flid.'[]',$value2,$value, ['class' => 'form-control list-options'.$field->flid, 'Multiple', 'id' => 'list'.$field->flid]) !!} <button type="button" class="btn btn-primary remove_option{{$field->flid}}">Delete</button> <button type="button" class="btn btn-primary move_option_up{{$field->flid}}">Up</button> <button type="button" class="btn btn-primary move_option_down{{$field->flid}}">Down</button> </div> <div class="form-inline" style="position:relative"> {!! Form::label('eventname'.$field->flid,'Event Title: ') !!} <input type="text" class="form-control" id="eventname{{$field->flid}}" /> {!! Form::label('startdatetime'.$field->flid,'Start: ') !!} <input type='text' class="form-control" id='startdatetime{{$field->flid}}' /> {!! Form::label('enddatetime'.$field->flid,'End: ') !!}
static function validateDate($field, $request) { $req = $field->required; $start = FieldController::getFieldOption($field, 'Start'); $end = FieldController::getFieldOption($field, 'End'); $month = $request->input('month_' . $field->flid, ''); $day = $request->input('day_' . $field->flid, ''); $year = $request->input('year_' . $field->flid, ''); if ($req == 1 && $month == '' && $day == '' && $year == '') { return $field->name . ' field is required.'; } if ($year < $start | $year > $end && $month != '' | $day != '') { return 'Year supplied for field ' . $field->name . ' is not in the range of ' . $start . ' and ' . $end . '.'; } if (!FieldController::validateDate($month, $day, $year)) { return 'Invalid date for field ' . $field->name . '. Either day given w/ no month provided, or day and month are impossible.'; } return ''; }
while ($i <= 31) { if (explode('[D]', $field->default)[1] == $i) { echo "<option value=" . $i . " selected>" . $i . "</option>"; } else { echo "<option value=" . $i . ">" . $i . "</option>"; } $i++; } ?> </select> {!! Form::label('default_year','Year: ') !!} <select name="default_year" class="form-control"> <option value=""></option> <?php $i = \App\Http\Controllers\FieldController::getFieldOption($field, 'Start'); $j = \App\Http\Controllers\FieldController::getFieldOption($field, 'End'); while ($i <= $j + 1) { if (explode('[Y]', $field->default)[1] == $i) { echo "<option value=" . $i . " selected>" . $i . "</option>"; } else { echo "<option value=" . $i . ">" . $i . "</option>"; } $i++; } ?> </select> </div> <div class="form-group"> {!! Form::submit("Update Default",['class' => 'btn btn-primary form-control']) !!} </div> {!! Form::close() !!}
<input type="number" name="value" class="form-control" step="1" value="{{ \App\Http\Controllers\FieldController::getFieldOption($field, "MaxFiles") }}" min="0"> </div> <div class="form-group"> {!! Form::submit("Update Max File Amount",['class' => 'btn btn-primary form-control']) !!} </div> {!! Form::close() !!} {!! Form::model($field, ['method' => 'PATCH', 'action' => ['FieldController@updateOptions', $field->pid, $field->fid, $field->flid]]) !!} @include('fields.options.hiddens') {!! Form::hidden('option','FileTypes') !!} <div class="form-group"> {!! Form::label('value','Allowed File (MIME) Types: ') !!} <?php $values = array(); foreach (explode('[!]', \App\Http\Controllers\FieldController::getFieldOption($field, "FileTypes")) as $opt) { $values[$opt] = $opt; } ?> {!! Form::select('value'.'[]',$values, explode('[!]',\App\Http\Controllers\FieldController::getFieldOption($field, "FileTypes")), ['class' => 'form-control filetypes', 'Multiple', 'id' => 'list'.$field->flid]) !!} </div> <div class="form-group"> {!! Form::submit("Update File Types",['class' => 'btn btn-primary form-control']) !!} </div> {!! Form::close() !!} @include('errors.list') @stop
/** * Builds up an array that functions similarly to the field object. Json encoded for storage. * * @param Record $record * @return string */ public static function buildDataArray(Record $record) { $data = array(); if (!is_null($record->textfields()->first())) { $text = array(); $textfields = $record->textfields()->get(); foreach ($textfields as $textfield) { $name = Field::where('flid', '=', $textfield->flid)->first()->name; $text[$textfield->flid]['name'] = $name; $text[$textfield->flid]['data'] = $textfield->text; } $data['textfields'] = $text; } else { $data['textfields'] = null; } if (!is_null($record->richtextfields()->first())) { $richtext = array(); $rtfields = $record->richtextfields()->get(); foreach ($rtfields as $rtfield) { $name = Field::where('flid', '=', $rtfield->flid)->first()->name; $richtext[$rtfield->flid]['name'] = $name; $richtext[$rtfield->flid]['data'] = $rtfield->rawtext; } $data['richtextfields'] = $richtext; } else { $data['richtextfields'] = null; } if (!is_null($record->numberfields()->first())) { $number = array(); $numberfields = $record->numberfields()->get(); foreach ($numberfields as $numberfield) { $fieldactual = Field::where('flid', '=', $numberfield->flid)->first(); $name = $fieldactual->name; $numberdata = array(); $numberdata['number'] = $numberfield->number; if ($numberfield->number != '') { $numberdata['unit'] = FieldController::getFieldOption($fieldactual, 'Unit'); } else { $numberdata['unit'] = ''; } $number[$numberfield->flid]['name'] = $name; $number[$numberfield->flid]['data'] = $numberdata; } $data['numberfields'] = $number; } else { $data['numberfields'] = null; } if (!is_null($record->listfields()->first())) { $list = array(); $listfields = $record->listfields()->get(); foreach ($listfields as $listfield) { $name = Field::where('flid', '=', $listfield->flid)->first()->name; $list[$listfield->flid]['name'] = $name; $list[$listfield->flid]['data'] = $listfield->option; } $data['listfields'] = $list; } else { $data['listfields'] = null; } if (!is_null($record->multiselectlistfields()->first())) { $msl = array(); $mslfields = $record->multiselectlistfields()->get(); foreach ($mslfields as $mslfield) { $name = Field::where('flid', '=', $mslfield->flid)->first()->name; $msl[$mslfield->flid]['name'] = $name; $msl[$mslfield->flid]['data'] = $mslfield->options; } $data['multiselectlistfields'] = $msl; } else { $data['multiselectlistfields'] = null; } if (!is_null($record->generatedlistfields()->first())) { $genlist = array(); $genlistfields = $record->generatedlistfields()->get(); foreach ($genlistfields as $genlistfield) { $name = Field::where('flid', '=', $genlistfield->flid)->first()->name; $genlist[$genlistfield->flid]['name'] = $name; $genlist[$genlistfield->flid]['data'] = $genlistfield->options; } $data['generatedlistfields'] = $genlist; } else { $data['generatedlistfields'] = null; } if (!is_null($record->datefields()->first())) { $date = array(); $datefields = $record->datefields()->get(); foreach ($datefields as $datefield) { $fieldactual = Field::where('flid', '=', $datefield->flid)->first(); $name = $fieldactual->name; $datedata = array(); $datedata['format'] = FieldController::getFieldOption($fieldactual, 'Format'); if (FieldController::getFieldOption($fieldactual, 'Circa') == 'Yes') { $datedata['circa'] = $datefield->circa; } else { $datedata['circa'] = ''; } $datedata['day'] = $datefield->day; $datedata['month'] = $datefield->month; $datedata['year'] = $datefield->year; if (FieldController::getFieldOption($fieldactual, 'Era') == 'Yes') { $datedata['era'] = $datefield->era; } else { $datedata['era'] = ''; } $date[$datefield->flid]['name'] = $name; $date[$datefield->flid]['data'] = $datedata; } $data['datefields'] = $date; } else { $data['datefields'] = null; } if (!is_null($record->schedulefields()->first())) { $schedule = array(); $schedulefields = $record->schedulefields()->get(); foreach ($schedulefields as $schedulefield) { $name = Field::where('flid', '=', $schedulefield->flid)->first()->name; $schedule[$schedulefield->flid]['name'] = $name; $schedule[$schedulefield->flid]['data'] = $schedulefield->events; } $data['schedulefields'] = $schedule; } else { $data['schedulefields'] = null; } /* Have to see which method is better, for now we'll use json_encode (remember to use json_decode($array, true)). Alternative method is presented here. The base64_encode method might end up working better for data other than simple text and lists. $revision->data = base64_encode(serialize($record)); To decode: $decode = unserialize(base64_decode(serialize($revision->data))); */ return json_encode($data); }
{!! Form::label('value_x','Small Thumbnail Size (X): ') !!} <input type="number" name="value_x" class="form-control" step="any" value="{{$thumbSmCurr[0]}}" min="50" max="700"> {!! Form::label('value_y','Small Thumbnail Size (Y): ') !!} <input type="number" name="value_y" class="form-control" step="any" value="{{$thumbSmCurr[1]}}" min="50" max="700"> </div> <div class="form-group"> {!! Form::submit("Update Small Thumbnail Size",['class' => 'btn btn-primary form-control']) !!} </div> {!! Form::close() !!} {!! Form::model($field, ['method' => 'PATCH', 'action' => ['FieldController@updateOptions', $field->pid, $field->fid, $field->flid]]) !!} @include('fields.options.hiddens') {!! Form::hidden('option','ThumbLarge') !!} <div class="form-group"> <?php $thumbLrgCurr = explode('x', \App\Http\Controllers\FieldController::getFieldOption($field, "ThumbLarge")); ?> {!! Form::label('value_x','Large Thumbnail Size (X): ') !!} <input type="number" name="value_x" class="form-control" step="1" value="{{$thumbLrgCurr[0]}}" min="50" max="700"> {!! Form::label('value_y','Large Thumbnail Size (Y): ') !!} <input type="number" name="value_y" class="form-control" step="1" value="{{$thumbLrgCurr[1]}}" min="50" max="700"> </div> <div class="form-group"> {!! Form::submit("Update Large Thumbnail Size",['class' => 'btn btn-primary form-control']) !!} </div> {!! Form::close() !!} {!! Form::model($field, ['method' => 'PATCH', 'action' => ['FieldController@updateOptions', $field->pid, $field->fid, $field->flid]]) !!} @include('fields.options.hiddens') {!! Form::hidden('option','MaxFiles') !!} <div class="form-group">
public function getFileDownload($rid, $flid, $filename) { $record = RecordController::getRecord($rid); $field = FieldController::getField($flid); // Check if file exists in app/storage/file folder $file_path = env('BASE_PATH') . 'storage/app/files/p' . $record->pid . '/f' . $record->fid . '/r' . $record->rid . '/fl' . $field->flid . '/' . $filename; if (file_exists($file_path)) { // Send Download return response()->download($file_path, $filename, ['Content-Length: ' . filesize($file_path)]); } else { // Error exit('Requested file does not exist on our server!'); } }