Backup\Model\Content::insertDependencies PHP Method

insertDependencies() protected method

Insert dependencies
protected insertDependencies ( &$ids, &$errors, array $documentTypes ) : void
$documentTypes array List of document type
return void
    protected function insertDependencies(&$ids, &$errors, $documentTypes)
    {
        if (!empty($documentTypes)) {
            foreach ($documentTypes as $documentType) {
                $model = $documentType['model'];
                $availableViews = $documentType['views'];
                $dependencies = $documentType['dependencies'];
                $dependenciesValues = array();
                if (isset($dependencies['id']) and is_array($dependencies['id'])) {
                    $dependencies = $dependencies['id'];
                }
                foreach ($dependencies as $dependency) {
                    $documentTypeId = isset($ids['document_types'][(int) $dependency]) ? $ids['document_types'][(int) $dependency] : (int) $dependency;
                    if (empty($documentTypeId)) {
                        continue;
                    }
                    $dependenciesValues[] = $documentTypeId;
                }
                $model->setDependencies($dependenciesValues);
                foreach ($availableViews as $view) {
                    $viewId = isset($ids['views'][(int) $view]) ? $ids['views'][(int) $view] : (int) $view;
                    if (empty($viewId)) {
                        continue;
                    }
                    $model->addView($viewId);
                }
                try {
                    $model->save();
                } catch (Exception $e) {
                    $errors[] = sprintf($this->serviceLocator->get('MvcTranslator')->translate('Cannot save dependencies for document type with id (%d)'), empty($documentTypeId) ? 0 : $documentTypeId);
                }
            }
        }
    }