public static function fullEntityName($entity, $namespace = false) { if ($namespace) { return $namespace . "\\" . $entity; } else { $modelConfig = AdminHelper::modelExists($entity); if ($modelConfig) { return $modelConfig->myFullEntityName(); } } Dbar::error("ModelConfig for " . $entity . "doesn't exist!"); return ""; }
public static function addHistoryLink($link = false, $modelName = false, $ignoreRequestForModelName = false) { if (\Session::has('adminHistoryLinks')) { $links = \Session::get('adminHistoryLinks'); } else { $links = array(); } if (!$link) { $url = explode('?', $_SERVER["REQUEST_URI"]); $link = array_shift($url) . Tools::getGets(); } if (!$modelName) { $modelName = \Request::segment(2); } $linkSegments = explode("/", $link); $action = isset($linkSegments[3]) ? $linkSegments[3] : false; $addLink = isset($linkSegments[4]) && $linkSegments[4] == "new" ? true : false; $tempLinks = $links; if (count($links)) { $delete = false; foreach ($links as $index => $cLink) { // If ModelName and Action already exist in history, it means we're going back // therefore delete all history links AFTER the current history link // and replace current history with the newly modified one if ($cLink['modelConfigName'] == $modelName && $cLink['action'] == $action) { $delete = true; // Skip this iteration because this is the link we're going back to continue; } // Delete all links after the one we're going back to if ($delete) { unset($tempLinks[$index]); } } if ($delete) { \Session::put('adminHistoryLinks', $tempLinks); // There is no need to insert the current link because it already exists // so just return return; } } $modelConfig = AdminHelper::modelExists($modelName); if ($ignoreRequestForModelName) { $returnModelName = $modelConfig ? $modelConfig->hrName : $modelName; } else { $returnModelName = $modelConfig ? count(\Request::segments()) > 2 && \Request::segment(3) == 'edit' ? $modelConfig->hrName : $modelConfig->hrNamePlural : $modelName; } $links[] = array('link' => $link, 'action' => $action, 'addLink' => $addLink, 'modelConfigName' => $modelConfig ? $modelConfig->name : $modelName, 'modelName' => $returnModelName, 'modelIcon' => $modelConfig && $modelConfig->faIcon ? $modelConfig->faIcon : 'fa-circle'); \Session::put('adminHistoryLinks', $links); }
<div class="col-lg-6"> @foreach ($modelConfig->relatedModels as $relatedModel) <?php $displayModel = true; if ($modelConfig->reverseConstrainingModels) { foreach ($modelConfig->reverseConstrainingModels as $constraint) { if (method_exists($object, $constraint) && $object->{$constraint}->count()) { $displayModel = false; break; } } } $method = $relatedModel->method; $relatedModelConfig = AdminHelper::modelExists($relatedModel->name); $gets = Tools::getGets(array($modelConfig->id => $object->id ? $object->id : "new_gtcms_entry")); $configInParent = $object->relatedModelConfiguration($relatedModelConfig->name); GtcmsPremium::setDisplayRelatedModelBasedOnModelKey($configInParent, $object, $displayModel); ?> @if ($displayModel) <div class="panel panel-default"> <div class="panel-body"> <?php // --------------- EXCEPTIONS ---------------- $addObject = true; ?> @if ($addObject) <div class="indexTableHeader"> <a href="/admin/{{$relatedModelConfig->name}}/add{{$gets}}&addToParent=true" class="btn btn-primary btn-sm addRelatedObject"> <i class="fa fa-plus-circle"></i> {{$relatedModelConfig->hrName}}
public function modelConfig() { $reflection = new \ReflectionClass($this); $class = $reflection->getShortName(); $modelConfig = AdminHelper::modelExists($class); return $modelConfig; }
public static function modelImageMinDimensions() { if (!empty($_GET)) { $parentProperty = false; foreach ($_GET as $requiredParent => $parentId) { $parentProperty = $requiredParent; break; } if ($parentModelConfig = AdminHelper::modelExists($parentProperty, 'id')) { if ($parentModelConfig->imageSizes) { $parentModelConfig = AdminHelper::modelExists($parentProperty, 'id'); if (config('gtcms.premium') && $parentModelConfig->keyBasedSizes) { $sizes = GtcmsPremium::getKeyBasedImageSizes($parentModelConfig); } else { $sizes = $parentModelConfig->imageSizes; } if ($sizes) { $size = false; foreach ($sizes as $size) { break; } $size = AdminHelper::objectToArray($size); $minWidth = $size[0]; $minHeight = $size[1]; $manipulationType = $size[2]; return array($minWidth, $minHeight, $manipulationType); } else { return false; } } else { return false; } } return false; } else { return false; } }
@endif </div> @endforeach </div> @else <?php $index = 0; ?> @if (config('gtcms.premium') && $modelConfig->tabbedLanguageFields) @include('gtcms.admin.elements.premium.tabbedLanguageFields') @else <?php $fieldType = 'all'; $ignoreLanguageIterations = false; $hideSave = false; $modelConfig = AdminHelper::modelExists($modelConfig->name); ?> @include("gtcms.admin.elements.editContentFormFields") @endif @endif </div> </div> {{Form::close()}} </div> @if (!$quickEdit && !empty($modelConfig->relatedModels)) @include("gtcms.admin.elements.editContentRelatedModels")
public static function process($modelConfig, $imageFields, $parentProperty) { $imageData = array(); $counter = 0; foreach ($imageFields as $imageField) { $imageData[$counter]['property'] = $imageField->property; if (\Request::hasFile($imageField->property)) { $ext = \Request::file($imageField->property)->getClientOriginalExtension(); if (!in_array(strtolower($ext), array('jpg', 'jpeg', 'gif', 'png'))) { throw new \Exception("File is not an image"); } else { $basePath = public_path() . "/img/modelImages/" . $modelConfig->name . "/"; $dirs = [public_path("img"), public_path("img/modelImages"), public_path("img/modelImages/" . $modelConfig->name), public_path("img/modelImages/" . $modelConfig->name . "/original"), public_path("img/modelImages/" . $modelConfig->name . "/gtcmsThumb")]; foreach ($dirs as $dir) { if (!is_dir($dir)) { mkdir($dir, 0755); } } //here check if file exists do { $name = str_random(32) . "." . $ext; } while (file_exists($basePath . "original/" . $name)); //end check //copy the image to the original folder \Image::make(\Request::file($imageField->property)->getRealPath())->save($basePath . "original/" . $name); $img = \Image::make($basePath . "original/" . $name); if ($parentProperty && $modelConfig->name == 'ModelImage') { $parentModelConfig = AdminHelper::modelExists($parentProperty, 'id'); if (config('gtcms.premium') && $parentModelConfig->keyBasedSizes) { $sizes = GtcmsPremium::getKeyBasedImageSizes($parentModelConfig); } else { $sizes = $parentModelConfig->imageSizes; } } else { $sizes = $imageField->sizes; } if (!$sizes) { throw new \Exception("Sizes not found!"); } // Get the first size, which has the min/max dimensions foreach ($sizes as $size) { break; } $size = AdminHelper::objectToArray($size); $minWidth = $size[0]; $minHeight = $size[1]; $transformMethod = $size[2]; if (in_array($transformMethod, array('resizeCanvas', 'resize'))) { if ($img->width() < $minWidth && $img->height() < $minHeight) { throw new \Exception(trans('gtcms.imageTooSmall'), self::DIM_ERROR); } } if (in_array($transformMethod, array('minWidth'))) { if ($img->width() < $minWidth) { throw new \Exception(trans('gtcms.imageTooSmall'), self::DIM_ERROR); } } if (in_array($transformMethod, array('minHeight'))) { if ($img->height() < $minHeight) { throw new \Exception(trans('gtcms.imageTooSmall'), self::DIM_ERROR); } } else { if ($img->width() < $minWidth || $img->height() < $minHeight) { throw new \Exception(trans('gtcms.imageTooSmall'), self::DIM_ERROR); } } $returnFolder = 'gtcmsThumb'; $gtcmsSize = array(80, 80, 'resizeCanvas', 'gtcmsThumb', 100); $sizes = AdminHelper::objectToArray($sizes); array_unshift($sizes, $gtcmsSize); foreach ($sizes as $size) { $newImg = clone $img; $size = AdminHelper::objectToArray($size); if (!is_dir($basePath . $size[3])) { mkdir($basePath . $size[3], 0755); } if ($size[2] == 'crop') { $newImg->fit($size[0], $size[1])->save($basePath . $size[3] . "/" . $name, $size[4]); } else { if (in_array($size[2], array('resize', 'minWidth', 'minHeight'))) { $newImg->resize($size[0], $size[1], function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); })->save($basePath . $size[3] . "/" . $name, $size[4]); } else { if ($size[2] == 'resizeCanvas') { $newImg->resize($size[0], null, function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); }); $newImg->resize(null, $size[1], function ($constraint) { $constraint->aspectRatio(); $constraint->upsize(); }); if ($newImg->width() < $size[0] || $newImg->height() < $size[1]) { $newImg = \Image::canvas($size[0], $size[1], '#FFFFFF')->insert($newImg, 'center'); } $newImg->save($basePath . $size[3] . "/" . $name, $size[4]); } else { $newImg->save($basePath . $size[3] . "/" . $name, $size[4]); } } } } $imageData[$counter]['filename'] = $name; $imageData[$counter]['returnFolder'] = $returnFolder; $counter++; } } } return $imageData; }