Example #1
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 '';
 }
Example #2
0
            @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>
Example #3
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() !!}
Example #4
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
Example #5
0
 /**
  * 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);
 }
Example #6
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">
Example #7
0
 public function saveTmpFile($flid, Request $request)
 {
     $field = FieldController::getField($flid);
     $uid = \Auth::user()->id;
     $dir = env('BASE_PATH') . 'storage/app/tmpFiles/f' . $flid . 'u' . $uid;
     $maxFileNum = FieldController::getFieldOption($field, 'MaxFiles');
     $fileNumRequest = sizeof($_FILES['file' . $flid]['name']);
     if (glob($dir . '/*.*') != false) {
         $fileNumDisk = count(glob($dir . '/*.*'));
     } else {
         $fileNumDisk = 0;
     }
     $maxFieldSize = FieldController::getFieldOption($field, 'FieldSize') * 1024;
     //conversion of kb to bytes
     $fileSizeRequest = 0;
     foreach ($_FILES['file' . $flid]['size'] as $size) {
         $fileSizeRequest += $size;
     }
     $fileSizeDisk = 0;
     if (file_exists($dir)) {
         foreach (new \DirectoryIterator($dir) as $file) {
             if ($file->isFile()) {
                 $fileSizeDisk += $file->getSize();
             }
         }
     }
     $smThumbs = explode('x', FieldController::getFieldOption($field, 'ThumbSmall'));
     $lgThumbs = explode('x', FieldController::getFieldOption($field, 'ThumbLarge'));
     $validTypes = true;
     $fileTypes = explode('[!]', FieldController::getFieldOption($field, 'FileTypes'));
     $fileTypesRequest = $_FILES['file' . $flid]['type'];
     if (sizeof($fileTypes) != 1 | $fileTypes[0] != '') {
         foreach ($fileTypesRequest as $type) {
             if (!in_array($type, $fileTypes)) {
                 $validTypes = false;
             }
         }
     } else {
         if ($field->type == 'Gallery') {
             foreach ($fileTypesRequest as $type) {
                 if (!in_array($type, ['image/jpeg', 'image/gif', 'image/png'])) {
                     $validTypes = false;
                 }
             }
         }
     }
     $options = array();
     $options['flid'] = 'f' . $flid . 'u' . $uid;
     $options['image_versions']['thumbnail']['max_width'] = $smThumbs[0];
     $options['image_versions']['thumbnail']['max_height'] = $smThumbs[1];
     $options['image_versions']['medium']['max_width'] = $lgThumbs[0];
     $options['image_versions']['medium']['max_height'] = $lgThumbs[1];
     if (!$validTypes) {
         echo 'InvalidType';
     } else {
         if ($maxFileNum != 0 && $fileNumRequest + $fileNumDisk > $maxFileNum) {
             echo 'TooManyFiles';
         } else {
             if ($maxFieldSize != 0 && $fileSizeRequest + $fileSizeDisk > $maxFieldSize) {
                 echo 'MaxSizeReached';
             } else {
                 $upload_handler = new UploadHandler($options);
             }
         }
     }
 }