Exemple #1
0
 /**
  * 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: ') !!}
Exemple #6
0
 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 '';
 }
Exemple #7
0
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() !!}
Exemple #8
0
        <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);
 }
Exemple #10
0
        {!! 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">
Exemple #11
0
 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!');
     }
 }