function saveEntitySef($entityTypeId, $entityId) { $entityConfig = getEntityConfig($entityTypeId); $controller = sprintf('%s/edit', $entityConfig['entityTypeName']); // TODO: hacer un config if (!$this->safety->allowByControllerName($controller)) { return errorForbidden(); } $entitySef = $this->Commond_Model->saveEntitySef($entityTypeId, $entityId); if ($entitySef == null) { return error404(); } $entityUrl = getEntityUrl($entityTypeId, $entitySef); return loadViewAjax(true, array('entityUrl' => $entityUrl)); }
/** * Devuelve el config de una gallery, si no esta definida usa la gallery por default */ function getEntityGalleryConfig($entityTypeId) { $config = getEntityConfig($entityTypeId); $gallery = element('gallery', $config); if ($gallery != null) { return $gallery; } // Si no existe, devuelve las properties por defecto, haciendo un sprintf de los folder y del controller con el name de la entidad $entityConfig = config_item('entityConfig'); $galleryDefault = $entityConfig['default']['gallery']; $entityTypeName = $entityConfig[$entityTypeId]['entityTypeName']; $galleryDefault['controller'] = sprintf($galleryDefault['controller'], $entityTypeName); $galleryDefault['folder'] = sprintf($galleryDefault['folder'], $entityTypeName); $galleryDefault['sizes']['thumb']['folder'] = sprintf($galleryDefault['sizes']['thumb']['folder'], $entityTypeName); $galleryDefault['sizes']['large']['folder'] = sprintf($galleryDefault['sizes']['large']['folder'], $entityTypeName); return $galleryDefault; }
/** * @return array con el formato: * array( 'stateId' => 1822, 'categoryId' => 33 ) */ function getEntityFiltersId() { $filters = $this->getEntityFiltersSef(); $result = array(); foreach ($filters as $filter) { $fieldId = getEntityConfig($filter['entityTypeId'], 'fieldId'); $result[$fieldId] = $filter['entityId']; } return $result; }
function getEntityUrl($entityTypeId, $entitySef) { $entityConfig = getEntityConfig($entityTypeId); if ($entityConfig == null) { return $entitySef; } if (is_array($entitySef)) { return base_url(vsprintf($entityConfig['entityUrl'], $entitySef)); } return base_url(sprintf($entityConfig['entityUrl'], $entitySef)); }