$linkList
85 | * @throws rex_exception
86 | * @api
87 | */
88 | public function linkList(int $id, array $linkList): self
89 | {
90 | $this->checkId($id, 10);
91 | $this->checkValue(self::LINK_LIST, $id);
92 |
93 | $this->data[$this->getKey(self::LINK_LIST, $id)] = implode(',', $linkList);
94 | return $this;
95 | }
96 |
97 | /**
98 | * @throws rex_exception
99 | */
100 | private function checkId(int $id, int $max): void
101 | {
102 | if ($id > $max) {
103 | throw new rex_exception('ID to high...');
104 | }
105 |
106 | if ($id < 0) {
107 | throw new rex_exception('ID to low...');
108 | }
109 | }
110 |
111 | /**
112 | * @throws rex_exception
113 | */
114 | private function checkValue(string $type, int $id): void
115 | {
116 | if ($this->valueExists($type, $id)) {
117 | throw new rex_exception('Value already exists');
118 | }
119 | }
120 |
121 | private function valueExists(string $type, int $id): bool
122 | {
123 | return array_key_exists($this->getKey($type, $id), $this->data);
124 | }
125 |
126 | private function getKey(string $type, int $id): string
127 | {
128 | return $type . $id;
129 | }
130 | }
131 |
--------------------------------------------------------------------------------
/tests/unit/rex_content_test.php:
--------------------------------------------------------------------------------
1 | namespace = $uid;
9 | // $this->key = $uid;
10 | // $this->value = 'value';
11 | });
12 |
13 | /**
14 | * template
15 | */
16 | test('expect template content to be string', function ()
17 | {
18 | expect(content::getTemplateContent(1))->toBeString();
19 | });
20 |
21 | test('expect template content to be false', function ()
22 | {
23 | expect(content::getTemplateContent(99))->toBeFalse();
24 | });
25 |
26 | test('expect template id', function () use ($templateKey)
27 | {
28 | expect(content::createTemplate('Template Name', $templateKey))->toBeInt();
29 | });
30 |
31 | test('expect template key already exists exception', function () use ($templateKey)
32 | {
33 | content::createTemplate('Template Name 2', $templateKey);
34 | })->throws(rex_exception::class, 'Template key already exists');
35 |
36 | test('expect to set template content', function () use ($templateKey)
37 | {
38 | $template = rex_template::forKey($templateKey);
39 | expect(content::setTemplateContent($template->getId(), 'Lorem Ipsum'))
40 | ->not->toThrow(rex_sql_exception::class);
41 | });
42 |
43 | /**
44 | * article
45 | */
46 | test('expect category does not exists exception', function ()
47 | {
48 | content::createArticle('Article Name', 99);
49 | })->throws(rex_exception::class, 'Category does not exist');
50 |
51 | test('expect article id', function ()
52 | {
53 | expect(content::createArticle('Article Name'))->toBeInt();
54 | });
55 |
56 | /**
57 | * category
58 | */
59 | test('expect category id', function ()
60 | {
61 | expect(content::createCategory('Category Name'))->toBeInt();
62 | });
63 |
64 | /**
65 | * language
66 | */
67 | test('expect clang id', function ()
68 | {
69 | expect(content::createLanguage('xy', 'XY', 2))->toBeInt();
70 | });
71 |
72 | /**
73 | * media
74 | */
75 | test('expect media array from GD', function ()
76 | {
77 | expect(content::createMediaFromGD('gd_image.jpg'))->toBeArray();
78 | });
79 |
80 | test('expect media array from URL', function ()
81 | {
82 | expect(content::createMediaFromUrl('https://raw.githubusercontent.com/FriendsOfREDAXO/friendsofredaxo.github.io/assets/v2/FOR-avatar-03.png', 'url_image.jpg'))->toBeArray();
83 | });
84 |
85 | /**
86 | * content slice
87 | */
88 | test('expect array from content slice', function ()
89 | {
90 | $slice = content_slice::factory();
91 | $slice->value(1, 'Lorem Ipsum');
92 | expect($slice->get())->toBeArray();
93 | });
94 |
95 | test('expect content_slice value already exists exception', function ()
96 | {
97 | $slice = content_slice::factory();
98 | $slice->value(1, 'Lorem Ipsum');
99 | $slice->value(1, 'Lorem Ipsum');
100 | })->throws(rex_exception::class, 'Value already exists');
101 |
102 | /**
103 | * content module
104 | */
105 | test('expect input string from content module', function ()
106 | {
107 | $module = content_module::factory();
108 | $module->value(1);
109 | $module->getInput();
110 | expect($module->getInput())->toBeString();
111 | });
112 |
113 | test('expect output string from content module', function ()
114 | {
115 | $module = content_module::factory();
116 | $module->value(1);
117 | $module->getInput();
118 | expect($module->getOutput())->toBeString();
119 | });
120 |
121 | test('expect content_module value already exists exception', function ()
122 | {
123 | $module = content_module::factory();
124 | $module->value(1);
125 | $module->value(1);
126 | })->throws(rex_exception::class, 'Value already exists');
127 |
128 | afterEach(function ()
129 | {
130 | });
131 |
--------------------------------------------------------------------------------
/.github/workflows/rexstan.yml:
--------------------------------------------------------------------------------
1 | name: rexstan
2 |
3 | on:
4 | push:
5 | branches: [ master, main ]
6 | pull_request:
7 | branches: [ master, main ]
8 |
9 | permissions:
10 | contents: read
11 |
12 | jobs:
13 | rexstan:
14 | env:
15 | ADDON_KEY: ${{ github.event.repository.name }}
16 |
17 | runs-on: ubuntu-latest
18 | permissions:
19 | contents: write # for Git to git apply
20 |
21 | steps:
22 | - uses: actions/checkout@v3
23 |
24 | # setup PHP v8, install some extensions
25 | - name: Setup PHP
26 | uses: shivammathur/setup-php@v2
27 | with:
28 | php-version: '8.2'
29 | extensions: gd, intl, pdo_mysql
30 | coverage: none # disable xdebug, pcov
31 |
32 | # download the latest REDAXO release and unzip it
33 | # credits https://blog.markvincze.com/download-artifacts-from-a-latest-github-release-in-sh-and-powershell/
34 | - name: Download latest REDAXO release
35 | run: |
36 | LATEST_RELEASE=$(curl -L -s -H 'Accept: application/json' https://github.com/redaxo/redaxo/releases/latest)
37 | REDAXO_VERSION=$(echo $LATEST_RELEASE | sed -e 's/.*"tag_name":"\([^"]*\)".*/\1/')
38 | echo "Downloaded REDAXO $REDAXO_VERSION"
39 | curl -Ls -o redaxo.zip https://github.com/redaxo/redaxo/releases/download/$REDAXO_VERSION/redaxo_$REDAXO_VERSION.zip
40 | unzip -oq redaxo.zip -d redaxo_cms
41 | rm redaxo.zip
42 |
43 | # start mysql service, create a database called redaxo5, apply config patch
44 | - name: Init database
45 | run: |
46 | sudo /etc/init.d/mysql start
47 | mysql -uroot -h127.0.0.1 -proot -e 'create database redaxo5;'
48 |
49 | # run REDAXO setup with the following parameters
50 | # Language: de
51 | # DB password: root
52 | # Create DB: no
53 | # Admin username: admin
54 | # Admin password: adminpassword
55 | # Error E-mail: test@redaxo.invalid
56 | - name: Setup REDAXO
57 | run: |
58 | php redaxo_cms/redaxo/bin/console setup:run -n --lang=de_de --agree-license --db-host=127.0.0.1 --db-name=redaxo5 --db-password=root --db-createdb=no --db-setup=normal --admin-username=admin --admin-password=adminpassword --error-email=test@redaxo.invalid --ansi
59 | php redaxo_cms/redaxo/bin/console config:set --type boolean debug.enabled true
60 | php redaxo_cms/redaxo/bin/console config:set --type boolean debug.throw_always_exception true
61 |
62 | # copy Addon files, ignore some directories...
63 | # install the addon
64 | # if the addon name does not match the repository name, ${{ github.event.repository.name }} must be replaced with the addon name
65 | # install latest rexstan
66 | # if additional addons are needed, they can be installed via the console commands
67 | # see: https://www.redaxo.org/doku/main/basis-addons#console
68 | - name: Copy and install Addons
69 | run: |
70 | rsync -av --exclude='./vendor' --exclude='.github' --exclude='.git' --exclude='redaxo_cms' './' 'redaxo_cms/redaxo/src/addons/${{ github.event.repository.name }}'
71 | redaxo_cms/redaxo/bin/console install:download 'rexstan' '1.*'
72 | redaxo_cms/redaxo/bin/console package:install 'rexstan'
73 | redaxo_cms/redaxo/bin/console install:download 'yform' '4.*'
74 | redaxo_cms/redaxo/bin/console package:install 'yform'
75 | redaxo_cms/redaxo/bin/console package:install 'cronjob'
76 | redaxo_cms/redaxo/bin/console package:install '${{ github.event.repository.name }}'
77 |
78 | # execute rexstan.php to create the needed user-config.neon
79 | - name: Execute .tools/rexstan.php
80 | run: php -f redaxo/src/addons/${{ github.event.repository.name }}/.tools/rexstan.php
81 | working-directory: redaxo_cms
82 |
83 | # run rexstan
84 | - id: rexstan
85 | name: Run rexstan
86 | run: redaxo_cms/redaxo/bin/console rexstan:analyze
87 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Helfer-Addon um Inhalte für REDAXO 5 zu erstellen
2 |
3 | Über das Addon __content__ lassen sich Inhalte für eine REDAXO-Instanz einfach und schnell programmatisch erstellen.
4 |
5 | ## Methoden
6 |
7 | ### Article
8 |
9 | ```php
10 | /**
11 | * Erstellen eines Artikel
12 | * return int(Article ID)|null
13 | * @param string $name
14 | * @param int $categoryId (optional)
15 | * @param int|string $priority (optional)
16 | * @param int|null $templateId (optional)
17 | */
18 | content::createArticle('Article Name', int $categoryId = 0, int|string $priority = -1, int|null $templateId = null);
19 | ```
20 |
21 | ### Category
22 |
23 | ```php
24 | /**
25 | * Erstellen einer Kategorie
26 | * return int(Category ID)|null
27 | * @param string $name
28 | * @param int|string $categoryId (optional)
29 | * @param int|string $priority (optional)
30 | * @param int|null $status (optional)
31 | */
32 | content::createCategory('Category Name', int|string $categoryId = '', int|string $priority = -1, int|null $status = null);
33 | ```
34 |
35 | ### Module
36 |
37 | ```php
38 | /**
39 | * Erstellen eines Modules
40 | * return int(Module ID)
41 | * @param string $name
42 | * @param string|null $key (optional)
43 | * @param string $input (optional)
44 | * @param string $output (optional)
45 | */
46 | content::createModule('Module Name', string|null $key = null, string $input = '', string $output = '');
47 | ```
48 |
49 | ### Template
50 |
51 | ```php
52 | /**
53 | * Erstellen eines Templates
54 | * return int(Template ID)
55 | * @param string $name
56 | * @param string|null $key (optional)
57 | * @param string $content (optional)
58 | * @param int $active (optional)
59 | */
60 | content::createTemplate('Template Name', string|null $key = null, string $content = '', int $active = 1);
61 |
62 | /**
63 | * Inhalte eines Templates holen
64 | * return false|string
65 | * @param int $id
66 | */
67 | content::getTemplateContent($templateID);
68 |
69 | /**
70 | * Inhalte eines Templates setzen
71 | * @param int $id
72 | * @param string $content
73 | */
74 | content::setTemplateContent(1, 'Template Inhalt
value(1);
120 | $module->value(2, 'textarea');
121 | $module->link(1);
122 | $module->linkList(1);
123 | $module->media(1);
124 | $module->mediaList(1);
125 |
126 | $moduleInput = $module->getInput();
127 | $moduleOutput = $module->getOutput();
128 | ```
129 |
130 | #### $moduleInput
131 |
132 | ```html
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 | REX_LINK[id=1 widget=1]
141 |
142 |
143 | REX_LINKLIST[id=1 widget=1]
144 |
145 |
146 | REX_MEDIA[id=1 widget=1]
147 |
148 |
149 | REX_MEDIALIST[id=1 widget=1]
150 |
151 | ```
152 |
153 | #### $moduleOutput
154 |
155 | ```html
156 | REX_VALUE[1]
157 | REX_VALUE[id=2 output="html"]
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 | ```
167 |
168 | ### Slice content
169 |
170 | ```php
171 | $slice = content_slice::factory();
172 | $slice->value(1, 'Lorem Ipsum');
173 | $slice->value(2, 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.');
174 | $slice->link(1, 5);
175 | $slice->linkList(1, [2,3,4,5]);
176 | $slice->media(1, 'for.png');
177 | $slice->mediaList(1, ['for.png', 'for_1.png', 'for_2.png']);
178 | $sliceContent = $slice->get();
179 |
180 | //content::createSlice($articleId, $moduleId, $clangId, $ctypeId, $sliceContent);
181 | ```
182 |
183 | #### $sliceContent
184 |
185 | ```php
186 | array(6) {
187 | ["value1"]=>
188 | string(11) "Lorem Ipsum"
189 | ["value2"]=>
190 | string(231) "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
191 | ["link1"]=>
192 | int(5)
193 | ["linklist1"]=>
194 | string(7) "2,3,4,5"
195 | ["media1"]=>
196 | string(7) "for.png"
197 | ["medialist1"]=>
198 | string(27) "for.png,for_1.png,for_2.png"
199 | }
200 | ```
201 |
--------------------------------------------------------------------------------
/lib/content_module.php:
--------------------------------------------------------------------------------
1 | inputData)) {
27 | throw new \rex_exception('Input is empty');
28 | }
29 |
30 | return implode("\n", $this->inputData);
31 | }
32 |
33 | /**
34 | * @throws rex_exception
35 | * @return string output as string if not empty
36 | */
37 | public function getOutput(): string
38 | {
39 | if (0 === count($this->outputData)) {
40 | throw new \rex_exception('Output is empty');
41 | }
42 |
43 | return implode("\n", $this->outputData);
44 | }
45 |
46 | /**
47 | * @throws rex_exception
48 | */
49 | public function value(int $id, string $type = 'text'): self
50 | {
51 | $this->checkId($id, 20);
52 | $this->checkValue(self::VALUE, $id);
53 |
54 | $output = 'REX_VALUE[' . $id . ']
';
55 | $input = '';
56 |
57 | if ('textarea' === $type) {
58 | $input = '';
59 | $output = 'REX_VALUE[id=' . $id . ' output="html"]
';
60 | }
61 |
62 | $this->inputData[$this->getKey(self::VALUE, $id)] = self::wrapInput($input);
63 | $this->outputData[$this->getKey(self::VALUE, $id)] = $output;
64 | return $this;
65 | }
66 |
67 | /**
68 | * @throws rex_exception
69 | * @api
70 | */
71 | public function media(int $id): self
72 | {
73 | $this->checkId($id, 10);
74 | $this->checkValue(self::MEDIA, $id);
75 |
76 | $input = 'REX_MEDIA[id=1 widget=1]';
77 | $output = '
';
78 |
79 | $this->inputData[$this->getKey(self::MEDIA, $id)] = self::wrapInput($input);
80 | $this->outputData[$this->getKey(self::MEDIA, $id)] = $output;
81 | return $this;
82 | }
83 |
84 | /**
85 | * @throws rex_exception
86 | * @api
87 | */
88 | public function mediaList(int $id): self
89 | {
90 | $this->checkId($id, 10);
91 | $this->checkValue(self::MEDIA_LIST, $id);
92 |
93 | $input = 'REX_MEDIALIST[id=' . $id . ' widget=1]';
94 | $output = '
95 |
96 | ';
97 |
98 | $this->inputData[$this->getKey(self::MEDIA_LIST, $id)] = self::wrapInput($input);
99 | $this->outputData[$this->getKey(self::MEDIA_LIST, $id)] = $output;
100 | return $this;
101 | }
102 |
103 | /**
104 | * @throws rex_exception
105 | * @api
106 | */
107 | public function link(int $id): self
108 | {
109 | $this->checkId($id, 10);
110 | $this->checkValue(self::LINK, $id);
111 |
112 | $input = 'REX_LINK[id=' . $id . ' widget=1]';
113 | $output = '';
114 |
115 | $this->inputData[$this->getKey(self::LINK, $id)] = self::wrapInput($input);
116 | $this->outputData[$this->getKey(self::LINK, $id)] = $output;
117 | return $this;
118 | }
119 |
120 | /**
121 | * @throws rex_exception
122 | * @api
123 | */
124 | public function linkList(int $id): self
125 | {
126 | $this->checkId($id, 10);
127 | $this->checkValue(self::LINK_LIST, $id);
128 |
129 | $input = 'REX_LINKLIST[id=' . $id . ' widget=1]';
130 | $output = '
131 |
132 | ';
133 |
134 | $this->inputData[$this->getKey(self::LINK_LIST, $id)] = self::wrapInput($input);
135 | $this->outputData[$this->getKey(self::LINK_LIST, $id)] = $output;
136 | return $this;
137 | }
138 |
139 | /**
140 | * @return string the wrapped input
141 | */
142 | private function wrapInput(string $input): string
143 | {
144 | return '
145 | ' . $input . '
146 |
';
147 | }
148 |
149 | /**
150 | * @throws rex_exception
151 | */
152 | private function checkId(int $id, int $max): void
153 | {
154 | if ($id > $max) {
155 | throw new rex_exception('ID to high...');
156 | }
157 |
158 | if ($id < 0) {
159 | throw new rex_exception('ID to low...');
160 | }
161 | }
162 |
163 | /**
164 | * @throws rex_exception
165 | */
166 | private function checkValue(string $type, int $id): void
167 | {
168 | if ($this->valueExists($type, $id)) {
169 | throw new rex_exception('Value already exists');
170 | }
171 | }
172 |
173 | private function valueExists(string $type, int $id): bool
174 | {
175 | return array_key_exists($this->getKey($type, $id), $this->inputData);
176 | }
177 |
178 | private function getKey(string $type, int $id): string
179 | {
180 | return $type . $id;
181 | }
182 | }
183 |
--------------------------------------------------------------------------------
/lib/content.php:
--------------------------------------------------------------------------------
1 | rex_string::sanitizeHtml(trim($name)),
16 | 'catname' => rex_string::sanitizeHtml(trim($name)),
17 | 'catpriority' => $priority,
18 | 'status' => $status,
19 | ];
20 |
21 | rex_category_service::addCategory($categoryId, $data);
22 |
23 | $sql = rex_sql::factory();
24 | $sql->setQuery('SELECT id FROM ' . rex::getTable('article') . ' WHERE catname = ? ORDER BY id DESC LIMIT 1', [$name]);
25 |
26 | if (1 === $sql->getRows()) {
27 | return $sql->getValue('id');
28 | }
29 |
30 | return null;
31 | }
32 |
33 | /**
34 | * create an article.
35 | *
36 | * @param int|null $templateId
37 | * @throws rex_sql_exception|rex_api_exception|rex_exception
38 | * @return int|null article id on success null on failure
39 | */
40 | public static function createArticle(string $name, int $categoryId = 0, int|string $priority = -1, int|null $templateId = null): int|null
41 | {
42 | $data = [
43 | 'name' => rex_string::sanitizeHtml(trim($name)),
44 | 'category_id' => $categoryId,
45 | ];
46 |
47 | if (null === rex_category::get($categoryId) && $categoryId > 0) {
48 | throw new rex_exception('Category does not exist');
49 | }
50 |
51 | if (is_int($priority)) {
52 | $data['priority'] = $priority;
53 | } elseif ('last' === $priority) {
54 | $sql = rex_sql::factory();
55 | $sql->setQuery('SELECT priority FROM ' . rex::getTable('article') . ' WHERE parent_id = ? ORDER BY priority DESC LIMIT 1', [$categoryId]);
56 |
57 | if ($sql->getRows() > 0) {
58 | $priority = $sql->getValue('priority') + 1;
59 | } else {
60 | $priority = 1;
61 | }
62 |
63 | $data['priority'] = $priority;
64 | } else {
65 | $data['priority'] = -1;
66 | }
67 |
68 | if (null !== $templateId) {
69 | $data['template_id'] = $templateId;
70 | } else {
71 | $data['template_id'] = rex_template::getDefaultId();
72 | }
73 |
74 | rex_article_service::addArticle($data);
75 |
76 | $sql = rex_sql::factory();
77 | $sql->setQuery('SELECT id FROM ' . rex::getTable('article') . ' WHERE name = ? ORDER BY id DESC LIMIT 1', [$name]);
78 |
79 | if (1 === $sql->getRows()) {
80 | return $sql->getValue('id');
81 | }
82 |
83 | return null;
84 | }
85 |
86 | /**
87 | * create a module.
88 | *
89 | * @param string|null $key
90 | * @throws rex_sql_exception
91 | * @return int the id of the created module
92 | */
93 | public static function createModule(string $name, string|null $key = null, string $input = '', string $output = ''): int
94 | {
95 | $sql = rex_sql::factory();
96 | $sql->setTable(rex::getTable('module'));
97 | $sql->setValue('name', rex_string::sanitizeHtml(trim($name)));
98 | $sql->setValue('key', $key);
99 | $sql->setValue('input', rex_string::sanitizeHtml($input));
100 | $sql->setValue('output', rex_string::sanitizeHtml($output));
101 | $sql->addGlobalCreateFields();
102 |
103 | $sql->insert();
104 | $moduleId = (int) $sql->getLastId();
105 | rex_module_cache::delete($moduleId);
106 |
107 | return $moduleId;
108 | }
109 |
110 | /**
111 | * create a template.
112 | *
113 | * @param string|null $key
114 | * @throws rex_sql_exception|rex_exception
115 | * @return int the id of the created template
116 | */
117 | public static function createTemplate(string $name, string|null $key = null, string $content = '', int $active = 1): int
118 | {
119 | $attributes = [];
120 | $attributes['ctype'] = [];
121 | $attributes['modules'] = [1 => ['all' => '1']];
122 | $attributes['categories'] = ['all' => '1'];
123 |
124 | if (null !== $key && self::templateKeyExists($key)) {
125 | throw new rex_exception('Template key already exists');
126 | }
127 |
128 | $sql = rex_sql::factory();
129 | $sql->setTable(rex::getTable('template'));
130 | $sql->setValue('key', $key);
131 | $sql->setValue('name', rex_string::sanitizeHtml(trim($name)));
132 | $sql->setValue('active', $active);
133 | $sql->setValue('content', $content);
134 | $sql->addGlobalCreateFields();
135 | $sql->setArrayValue('attributes', $attributes);
136 |
137 | $sql->insert();
138 |
139 | $templateId = (int) $sql->getLastId();
140 | rex_template_cache::delete($templateId);
141 |
142 | return $templateId;
143 | }
144 |
145 | /**
146 | * get the contents from an template by id.
147 | *
148 | * @throws rex_sql_exception
149 | * @return false|string string on success false on failure
150 | */
151 | public static function getTemplateContent(int $id): false|string
152 | {
153 | $templateSql = rex_sql::factory();
154 | $templateSql->setQuery('SELECT content FROM ' . rex::getTable('template') . ' WHERE id = ?', [$id]);
155 |
156 | if (0 === $templateSql->getRows()) {
157 | return false;
158 | }
159 |
160 | return $templateSql->getValue('content');
161 | }
162 |
163 | /**
164 | * update content of an existing template.
165 | *
166 | * @throws rex_sql_exception
167 | */
168 | public static function setTemplateContent(int $id, string $content): void
169 | {
170 | $template = new rex_template($id);
171 | $templateSql = rex_sql::factory();
172 | $templateSql->setQuery('SELECT * FROM ' . rex::getTable('template') . ' WHERE id = ?', [$template->getId()]);
173 |
174 | if (1 === $templateSql->getRows()) {
175 | $sql = rex_sql::factory();
176 | $sql->setTable(rex::getTable('template'));
177 | $sql->setWhere(['id' => $template->getId()]);
178 | $sql->setValue('content', $content);
179 | $sql->addGlobalUpdateFields();
180 |
181 | try {
182 | $sql->update();
183 | rex_template_cache::delete($template->getId());
184 | } catch (rex_sql_exception $error) {
185 | if (rex_sql::ERROR_VIOLATE_UNIQUE_KEY === $error->getErrorCode()) {
186 | throw new rex_sql_exception(rex_i18n::msg('template_key_exists'));
187 | }
188 |
189 | throw new rex_sql_exception($error->getMessage());
190 | }
191 | }
192 | }
193 |
194 | /**
195 | * create a slice.
196 | *
197 | * @param array $data
198 | * @throws rex_api_exception
199 | */
200 | public static function createSlice(int $articleId, int $moduleId, int $clangId, int $ctypeId = 1, array $data = []): void
201 | {
202 | rex_content_service::addSlice($articleId, $clangId, $ctypeId, $moduleId, $data);
203 | }
204 |
205 | /**
206 | * create a language.
207 | *
208 | * @throws rex_sql_exception
209 | */
210 | public static function createLanguage(string $code, string $name, int $priority, bool $status = false): false|int
211 | {
212 | rex_clang_service::addCLang($code, $name, $priority, $status);
213 |
214 | $sql = rex_sql::factory();
215 | $sql->setQuery('SELECT id FROM ' . rex::getTable('clang') . ' WHERE `code` = ? LIMIT 1', [$code]);
216 |
217 | if ($sql->getRows() > 0) {
218 | return $sql->getValue('id');
219 | }
220 |
221 | return false;
222 | }
223 |
224 | /**
225 | * upload media from url.
226 | *
227 | * @throws rex_functional_exception
228 | * @throws rex_socket_exception
229 | * @return array|false
230 | */
231 | public static function createMediaFromUrl(string $url, string $fileName, int $category = 0): array|false
232 | {
233 | if (null === rex_media::get($fileName)) {
234 | $path = rex_path::media($fileName);
235 | $media = rex_socket::factoryUrl($url)->doGet();
236 | $media->writeBodyTo($path);
237 |
238 | return self::createMedia($fileName, $category, $path);
239 | }
240 |
241 | return false;
242 | }
243 |
244 | /**
245 | * create a placeholder image via GD.
246 | *
247 | * @throws rex_functional_exception
248 | * @return array|false
249 | */
250 | public static function createMediaFromGD(string $fileName, int $category = 0, int $width = 500, int $height = 500): array|false
251 | {
252 | if (null === rex_media::get($fileName)) {
253 | $path = rex_path::media($fileName);
254 | $image = @imagecreate($width, $height);
255 | imagecolorallocate($image, 255, 0, 255);
256 | imagejpeg($image, rex_path::media($fileName));
257 | imagedestroy($image);
258 |
259 | return self::createMedia($fileName, $category, $path);
260 | }
261 |
262 | return false;
263 | }
264 |
265 | /**
266 | * @throws rex_functional_exception
267 | * @return array
268 | */
269 | private static function createMedia(string $fileName, int $category, string $path): array
270 | {
271 | $data = [];
272 | $data['title'] = '';
273 | $data['category_id'] = $category;
274 | $data['file'] = [
275 | 'name' => $fileName,
276 | 'path' => $path,
277 | ];
278 |
279 | try {
280 | return rex_media_service::addMedia($data, false);
281 | } catch (rex_api_exception $e) {
282 | throw new rex_functional_exception($e->getMessage());
283 | }
284 | }
285 |
286 | /**
287 | * @param string|null $key
288 | * @throws rex_sql_exception
289 | */
290 | private static function templateKeyExists(string|null $key = null): bool
291 | {
292 | if (null === $key) {
293 | return false;
294 | }
295 |
296 | $templateSql = rex_sql::factory();
297 | $templateSql->setQuery('SELECT id FROM ' . rex::getTable('template') . ' WHERE `key` = ?', [$key]);
298 |
299 | return 0 !== $templateSql->getRows();
300 | }
301 | }
302 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | charset = utf-8
3 | end_of_line = lf
4 | indent_size = 4
5 | indent_style = space
6 | insert_final_newline = false
7 | max_line_length = 120
8 | tab_width = 4
9 | ij_continuation_indent_size = 8
10 | ij_formatter_off_tag = @formatter:off
11 | ij_formatter_on_tag = @formatter:on
12 | ij_formatter_tags_enabled = false
13 | ij_smart_tabs = false
14 | ij_visual_guides = none
15 | ij_wrap_on_typing = false
16 |
17 | [*.blade.php]
18 | ij_blade_keep_indents_on_empty_lines = false
19 |
20 | [*.css]
21 | ij_css_align_closing_brace_with_properties = false
22 | ij_css_blank_lines_around_nested_selector = 1
23 | ij_css_blank_lines_between_blocks = 1
24 | ij_css_block_comment_add_space = false
25 | ij_css_brace_placement = end_of_line
26 | ij_css_enforce_quotes_on_format = true
27 | ij_css_hex_color_long_format = true
28 | ij_css_hex_color_lower_case = true
29 | ij_css_hex_color_short_format = false
30 | ij_css_hex_color_upper_case = false
31 | ij_css_keep_blank_lines_in_code = 2
32 | ij_css_keep_indents_on_empty_lines = false
33 | ij_css_keep_single_line_blocks = false
34 | ij_css_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
35 | ij_css_space_after_colon = true
36 | ij_css_space_before_opening_brace = true
37 | ij_css_use_double_quotes = true
38 | ij_css_value_alignment = do_not_align
39 |
40 | [*.feature]
41 | indent_size = 2
42 | ij_gherkin_keep_indents_on_empty_lines = false
43 |
44 | [*.haml]
45 | indent_size = 2
46 | ij_haml_keep_indents_on_empty_lines = false
47 |
48 | [*.less]
49 | indent_size = 2
50 | ij_less_align_closing_brace_with_properties = false
51 | ij_less_blank_lines_around_nested_selector = 1
52 | ij_less_blank_lines_between_blocks = 1
53 | ij_less_block_comment_add_space = false
54 | ij_less_brace_placement = 0
55 | ij_less_enforce_quotes_on_format = false
56 | ij_less_hex_color_long_format = false
57 | ij_less_hex_color_lower_case = false
58 | ij_less_hex_color_short_format = false
59 | ij_less_hex_color_upper_case = false
60 | ij_less_keep_blank_lines_in_code = 2
61 | ij_less_keep_indents_on_empty_lines = false
62 | ij_less_keep_single_line_blocks = false
63 | ij_less_line_comment_add_space = false
64 | ij_less_line_comment_at_first_column = false
65 | ij_less_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
66 | ij_less_space_after_colon = true
67 | ij_less_space_before_opening_brace = true
68 | ij_less_use_double_quotes = true
69 | ij_less_value_alignment = 0
70 |
71 | [*.sass]
72 | indent_size = 2
73 | ij_sass_align_closing_brace_with_properties = false
74 | ij_sass_blank_lines_around_nested_selector = 1
75 | ij_sass_blank_lines_between_blocks = 1
76 | ij_sass_brace_placement = 0
77 | ij_sass_enforce_quotes_on_format = false
78 | ij_sass_hex_color_long_format = false
79 | ij_sass_hex_color_lower_case = false
80 | ij_sass_hex_color_short_format = false
81 | ij_sass_hex_color_upper_case = false
82 | ij_sass_keep_blank_lines_in_code = 2
83 | ij_sass_keep_indents_on_empty_lines = false
84 | ij_sass_keep_single_line_blocks = false
85 | ij_sass_line_comment_add_space = false
86 | ij_sass_line_comment_at_first_column = false
87 | ij_sass_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
88 | ij_sass_space_after_colon = true
89 | ij_sass_space_before_opening_brace = true
90 | ij_sass_use_double_quotes = true
91 | ij_sass_value_alignment = 0
92 |
93 | [*.scss]
94 | indent_size = 2
95 | ij_scss_align_closing_brace_with_properties = false
96 | ij_scss_blank_lines_around_nested_selector = 1
97 | ij_scss_blank_lines_between_blocks = 1
98 | ij_scss_block_comment_add_space = false
99 | ij_scss_brace_placement = 0
100 | ij_scss_enforce_quotes_on_format = true
101 | ij_scss_hex_color_long_format = true
102 | ij_scss_hex_color_lower_case = true
103 | ij_scss_hex_color_short_format = false
104 | ij_scss_hex_color_upper_case = false
105 | ij_scss_keep_blank_lines_in_code = 2
106 | ij_scss_keep_indents_on_empty_lines = false
107 | ij_scss_keep_single_line_blocks = false
108 | ij_scss_line_comment_add_space = false
109 | ij_scss_line_comment_at_first_column = false
110 | ij_scss_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
111 | ij_scss_space_after_colon = true
112 | ij_scss_space_before_opening_brace = true
113 | ij_scss_use_double_quotes = true
114 | ij_scss_value_alignment = 0
115 |
116 | [*.twig]
117 | ij_twig_keep_indents_on_empty_lines = false
118 | ij_twig_spaces_inside_comments_delimiters = true
119 | ij_twig_spaces_inside_delimiters = true
120 | ij_twig_spaces_inside_variable_delimiters = true
121 |
122 | [*.vue]
123 | indent_size = 2
124 | tab_width = 2
125 | ij_continuation_indent_size = 4
126 | ij_vue_indent_children_of_top_level = template
127 | ij_vue_interpolation_new_line_after_start_delimiter = true
128 | ij_vue_interpolation_new_line_before_end_delimiter = true
129 | ij_vue_interpolation_wrap = off
130 | ij_vue_keep_indents_on_empty_lines = false
131 | ij_vue_spaces_within_interpolation_expressions = true
132 |
133 | [{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.pom,*.rng,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul,phpunit.xml.dist}]
134 | ij_xml_align_attributes = true
135 | ij_xml_align_text = false
136 | ij_xml_attribute_wrap = normal
137 | ij_xml_block_comment_add_space = false
138 | ij_xml_block_comment_at_first_column = true
139 | ij_xml_keep_blank_lines = 2
140 | ij_xml_keep_indents_on_empty_lines = false
141 | ij_xml_keep_line_breaks = true
142 | ij_xml_keep_line_breaks_in_text = true
143 | ij_xml_keep_whitespaces = false
144 | ij_xml_keep_whitespaces_around_cdata = preserve
145 | ij_xml_keep_whitespaces_inside_cdata = false
146 | ij_xml_line_comment_at_first_column = true
147 | ij_xml_space_after_tag_name = false
148 | ij_xml_space_around_equals_in_attribute = false
149 | ij_xml_space_inside_empty_tag = false
150 | ij_xml_text_wrap = normal
151 |
152 | [{*.ats,*.cts,*.mts,*.ts}]
153 | ij_continuation_indent_size = 4
154 | ij_typescript_align_imports = false
155 | ij_typescript_align_multiline_array_initializer_expression = false
156 | ij_typescript_align_multiline_binary_operation = false
157 | ij_typescript_align_multiline_chained_methods = false
158 | ij_typescript_align_multiline_extends_list = false
159 | ij_typescript_align_multiline_for = true
160 | ij_typescript_align_multiline_parameters = true
161 | ij_typescript_align_multiline_parameters_in_calls = false
162 | ij_typescript_align_multiline_ternary_operation = false
163 | ij_typescript_align_object_properties = 0
164 | ij_typescript_align_union_types = false
165 | ij_typescript_align_var_statements = 0
166 | ij_typescript_array_initializer_new_line_after_left_brace = false
167 | ij_typescript_array_initializer_right_brace_on_new_line = false
168 | ij_typescript_array_initializer_wrap = off
169 | ij_typescript_assignment_wrap = off
170 | ij_typescript_binary_operation_sign_on_next_line = false
171 | ij_typescript_binary_operation_wrap = off
172 | ij_typescript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/**
173 | ij_typescript_blank_lines_after_imports = 1
174 | ij_typescript_blank_lines_around_class = 1
175 | ij_typescript_blank_lines_around_field = 0
176 | ij_typescript_blank_lines_around_field_in_interface = 0
177 | ij_typescript_blank_lines_around_function = 1
178 | ij_typescript_blank_lines_around_method = 1
179 | ij_typescript_blank_lines_around_method_in_interface = 1
180 | ij_typescript_block_brace_style = end_of_line
181 | ij_typescript_block_comment_add_space = false
182 | ij_typescript_block_comment_at_first_column = true
183 | ij_typescript_call_parameters_new_line_after_left_paren = false
184 | ij_typescript_call_parameters_right_paren_on_new_line = false
185 | ij_typescript_call_parameters_wrap = off
186 | ij_typescript_catch_on_new_line = false
187 | ij_typescript_chained_call_dot_on_new_line = true
188 | ij_typescript_class_brace_style = end_of_line
189 | ij_typescript_comma_on_new_line = false
190 | ij_typescript_do_while_brace_force = never
191 | ij_typescript_else_on_new_line = false
192 | ij_typescript_enforce_trailing_comma = keep
193 | ij_typescript_enum_constants_wrap = on_every_item
194 | ij_typescript_extends_keyword_wrap = off
195 | ij_typescript_extends_list_wrap = off
196 | ij_typescript_field_prefix = _
197 | ij_typescript_file_name_style = relaxed
198 | ij_typescript_finally_on_new_line = false
199 | ij_typescript_for_brace_force = never
200 | ij_typescript_for_statement_new_line_after_left_paren = false
201 | ij_typescript_for_statement_right_paren_on_new_line = false
202 | ij_typescript_for_statement_wrap = off
203 | ij_typescript_force_quote_style = false
204 | ij_typescript_force_semicolon_style = false
205 | ij_typescript_function_expression_brace_style = end_of_line
206 | ij_typescript_if_brace_force = never
207 | ij_typescript_import_merge_members = global
208 | ij_typescript_import_prefer_absolute_path = global
209 | ij_typescript_import_sort_members = true
210 | ij_typescript_import_sort_module_name = false
211 | ij_typescript_import_use_node_resolution = true
212 | ij_typescript_imports_wrap = on_every_item
213 | ij_typescript_indent_case_from_switch = true
214 | ij_typescript_indent_chained_calls = true
215 | ij_typescript_indent_package_children = 0
216 | ij_typescript_jsdoc_include_types = false
217 | ij_typescript_jsx_attribute_value = braces
218 | ij_typescript_keep_blank_lines_in_code = 2
219 | ij_typescript_keep_first_column_comment = true
220 | ij_typescript_keep_indents_on_empty_lines = false
221 | ij_typescript_keep_line_breaks = true
222 | ij_typescript_keep_simple_blocks_in_one_line = false
223 | ij_typescript_keep_simple_methods_in_one_line = false
224 | ij_typescript_line_comment_add_space = true
225 | ij_typescript_line_comment_at_first_column = false
226 | ij_typescript_method_brace_style = end_of_line
227 | ij_typescript_method_call_chain_wrap = off
228 | ij_typescript_method_parameters_new_line_after_left_paren = false
229 | ij_typescript_method_parameters_right_paren_on_new_line = false
230 | ij_typescript_method_parameters_wrap = off
231 | ij_typescript_object_literal_wrap = on_every_item
232 | ij_typescript_parentheses_expression_new_line_after_left_paren = false
233 | ij_typescript_parentheses_expression_right_paren_on_new_line = false
234 | ij_typescript_place_assignment_sign_on_next_line = false
235 | ij_typescript_prefer_as_type_cast = false
236 | ij_typescript_prefer_explicit_types_function_expression_returns = false
237 | ij_typescript_prefer_explicit_types_function_returns = false
238 | ij_typescript_prefer_explicit_types_vars_fields = false
239 | ij_typescript_prefer_parameters_wrap = false
240 | ij_typescript_reformat_c_style_comments = false
241 | ij_typescript_space_after_colon = true
242 | ij_typescript_space_after_comma = true
243 | ij_typescript_space_after_dots_in_rest_parameter = false
244 | ij_typescript_space_after_generator_mult = true
245 | ij_typescript_space_after_property_colon = true
246 | ij_typescript_space_after_quest = true
247 | ij_typescript_space_after_type_colon = true
248 | ij_typescript_space_after_unary_not = false
249 | ij_typescript_space_before_async_arrow_lparen = true
250 | ij_typescript_space_before_catch_keyword = true
251 | ij_typescript_space_before_catch_left_brace = true
252 | ij_typescript_space_before_catch_parentheses = true
253 | ij_typescript_space_before_class_lbrace = true
254 | ij_typescript_space_before_class_left_brace = true
255 | ij_typescript_space_before_colon = true
256 | ij_typescript_space_before_comma = false
257 | ij_typescript_space_before_do_left_brace = true
258 | ij_typescript_space_before_else_keyword = true
259 | ij_typescript_space_before_else_left_brace = true
260 | ij_typescript_space_before_finally_keyword = true
261 | ij_typescript_space_before_finally_left_brace = true
262 | ij_typescript_space_before_for_left_brace = true
263 | ij_typescript_space_before_for_parentheses = true
264 | ij_typescript_space_before_for_semicolon = false
265 | ij_typescript_space_before_function_left_parenth = true
266 | ij_typescript_space_before_generator_mult = false
267 | ij_typescript_space_before_if_left_brace = true
268 | ij_typescript_space_before_if_parentheses = true
269 | ij_typescript_space_before_method_call_parentheses = false
270 | ij_typescript_space_before_method_left_brace = true
271 | ij_typescript_space_before_method_parentheses = false
272 | ij_typescript_space_before_property_colon = false
273 | ij_typescript_space_before_quest = true
274 | ij_typescript_space_before_switch_left_brace = true
275 | ij_typescript_space_before_switch_parentheses = true
276 | ij_typescript_space_before_try_left_brace = true
277 | ij_typescript_space_before_type_colon = false
278 | ij_typescript_space_before_unary_not = false
279 | ij_typescript_space_before_while_keyword = true
280 | ij_typescript_space_before_while_left_brace = true
281 | ij_typescript_space_before_while_parentheses = true
282 | ij_typescript_spaces_around_additive_operators = true
283 | ij_typescript_spaces_around_arrow_function_operator = true
284 | ij_typescript_spaces_around_assignment_operators = true
285 | ij_typescript_spaces_around_bitwise_operators = true
286 | ij_typescript_spaces_around_equality_operators = true
287 | ij_typescript_spaces_around_logical_operators = true
288 | ij_typescript_spaces_around_multiplicative_operators = true
289 | ij_typescript_spaces_around_relational_operators = true
290 | ij_typescript_spaces_around_shift_operators = true
291 | ij_typescript_spaces_around_unary_operator = false
292 | ij_typescript_spaces_within_array_initializer_brackets = false
293 | ij_typescript_spaces_within_brackets = false
294 | ij_typescript_spaces_within_catch_parentheses = false
295 | ij_typescript_spaces_within_for_parentheses = false
296 | ij_typescript_spaces_within_if_parentheses = false
297 | ij_typescript_spaces_within_imports = false
298 | ij_typescript_spaces_within_interpolation_expressions = false
299 | ij_typescript_spaces_within_method_call_parentheses = false
300 | ij_typescript_spaces_within_method_parentheses = false
301 | ij_typescript_spaces_within_object_literal_braces = false
302 | ij_typescript_spaces_within_object_type_braces = true
303 | ij_typescript_spaces_within_parentheses = false
304 | ij_typescript_spaces_within_switch_parentheses = false
305 | ij_typescript_spaces_within_type_assertion = false
306 | ij_typescript_spaces_within_union_types = true
307 | ij_typescript_spaces_within_while_parentheses = false
308 | ij_typescript_special_else_if_treatment = true
309 | ij_typescript_ternary_operation_signs_on_next_line = false
310 | ij_typescript_ternary_operation_wrap = off
311 | ij_typescript_union_types_wrap = on_every_item
312 | ij_typescript_use_chained_calls_group_indents = false
313 | ij_typescript_use_double_quotes = true
314 | ij_typescript_use_explicit_js_extension = auto
315 | ij_typescript_use_path_mapping = always
316 | ij_typescript_use_public_modifier = false
317 | ij_typescript_use_semicolon_after_statement = true
318 | ij_typescript_var_declaration_wrap = normal
319 | ij_typescript_while_brace_force = never
320 | ij_typescript_while_on_new_line = false
321 | ij_typescript_wrap_comments = false
322 |
323 | [{*.cjs,*.js,Form}]
324 | ij_continuation_indent_size = 4
325 | ij_javascript_align_imports = false
326 | ij_javascript_align_multiline_array_initializer_expression = false
327 | ij_javascript_align_multiline_binary_operation = false
328 | ij_javascript_align_multiline_chained_methods = false
329 | ij_javascript_align_multiline_extends_list = false
330 | ij_javascript_align_multiline_for = true
331 | ij_javascript_align_multiline_parameters = true
332 | ij_javascript_align_multiline_parameters_in_calls = false
333 | ij_javascript_align_multiline_ternary_operation = false
334 | ij_javascript_align_object_properties = 0
335 | ij_javascript_align_union_types = false
336 | ij_javascript_align_var_statements = 0
337 | ij_javascript_array_initializer_new_line_after_left_brace = false
338 | ij_javascript_array_initializer_right_brace_on_new_line = false
339 | ij_javascript_array_initializer_wrap = off
340 | ij_javascript_assignment_wrap = off
341 | ij_javascript_binary_operation_sign_on_next_line = false
342 | ij_javascript_binary_operation_wrap = off
343 | ij_javascript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/**
344 | ij_javascript_blank_lines_after_imports = 1
345 | ij_javascript_blank_lines_around_class = 1
346 | ij_javascript_blank_lines_around_field = 0
347 | ij_javascript_blank_lines_around_function = 1
348 | ij_javascript_blank_lines_around_method = 1
349 | ij_javascript_block_brace_style = end_of_line
350 | ij_javascript_block_comment_add_space = false
351 | ij_javascript_block_comment_at_first_column = true
352 | ij_javascript_call_parameters_new_line_after_left_paren = false
353 | ij_javascript_call_parameters_right_paren_on_new_line = false
354 | ij_javascript_call_parameters_wrap = off
355 | ij_javascript_catch_on_new_line = false
356 | ij_javascript_chained_call_dot_on_new_line = true
357 | ij_javascript_class_brace_style = end_of_line
358 | ij_javascript_comma_on_new_line = false
359 | ij_javascript_do_while_brace_force = never
360 | ij_javascript_else_on_new_line = false
361 | ij_javascript_enforce_trailing_comma = keep
362 | ij_javascript_extends_keyword_wrap = off
363 | ij_javascript_extends_list_wrap = off
364 | ij_javascript_field_prefix = _
365 | ij_javascript_file_name_style = relaxed
366 | ij_javascript_finally_on_new_line = false
367 | ij_javascript_for_brace_force = never
368 | ij_javascript_for_statement_new_line_after_left_paren = false
369 | ij_javascript_for_statement_right_paren_on_new_line = false
370 | ij_javascript_for_statement_wrap = off
371 | ij_javascript_force_quote_style = false
372 | ij_javascript_force_semicolon_style = false
373 | ij_javascript_function_expression_brace_style = end_of_line
374 | ij_javascript_if_brace_force = never
375 | ij_javascript_import_merge_members = global
376 | ij_javascript_import_prefer_absolute_path = global
377 | ij_javascript_import_sort_members = true
378 | ij_javascript_import_sort_module_name = false
379 | ij_javascript_import_use_node_resolution = true
380 | ij_javascript_imports_wrap = on_every_item
381 | ij_javascript_indent_case_from_switch = true
382 | ij_javascript_indent_chained_calls = true
383 | ij_javascript_indent_package_children = 0
384 | ij_javascript_jsx_attribute_value = braces
385 | ij_javascript_keep_blank_lines_in_code = 2
386 | ij_javascript_keep_first_column_comment = true
387 | ij_javascript_keep_indents_on_empty_lines = false
388 | ij_javascript_keep_line_breaks = true
389 | ij_javascript_keep_simple_blocks_in_one_line = false
390 | ij_javascript_keep_simple_methods_in_one_line = false
391 | ij_javascript_line_comment_add_space = true
392 | ij_javascript_line_comment_at_first_column = false
393 | ij_javascript_method_brace_style = end_of_line
394 | ij_javascript_method_call_chain_wrap = off
395 | ij_javascript_method_parameters_new_line_after_left_paren = false
396 | ij_javascript_method_parameters_right_paren_on_new_line = false
397 | ij_javascript_method_parameters_wrap = off
398 | ij_javascript_object_literal_wrap = on_every_item
399 | ij_javascript_parentheses_expression_new_line_after_left_paren = false
400 | ij_javascript_parentheses_expression_right_paren_on_new_line = false
401 | ij_javascript_place_assignment_sign_on_next_line = false
402 | ij_javascript_prefer_as_type_cast = false
403 | ij_javascript_prefer_explicit_types_function_expression_returns = false
404 | ij_javascript_prefer_explicit_types_function_returns = false
405 | ij_javascript_prefer_explicit_types_vars_fields = false
406 | ij_javascript_prefer_parameters_wrap = false
407 | ij_javascript_reformat_c_style_comments = false
408 | ij_javascript_space_after_colon = true
409 | ij_javascript_space_after_comma = true
410 | ij_javascript_space_after_dots_in_rest_parameter = false
411 | ij_javascript_space_after_generator_mult = true
412 | ij_javascript_space_after_property_colon = true
413 | ij_javascript_space_after_quest = true
414 | ij_javascript_space_after_type_colon = true
415 | ij_javascript_space_after_unary_not = false
416 | ij_javascript_space_before_async_arrow_lparen = true
417 | ij_javascript_space_before_catch_keyword = true
418 | ij_javascript_space_before_catch_left_brace = true
419 | ij_javascript_space_before_catch_parentheses = true
420 | ij_javascript_space_before_class_lbrace = true
421 | ij_javascript_space_before_class_left_brace = true
422 | ij_javascript_space_before_colon = true
423 | ij_javascript_space_before_comma = false
424 | ij_javascript_space_before_do_left_brace = true
425 | ij_javascript_space_before_else_keyword = true
426 | ij_javascript_space_before_else_left_brace = true
427 | ij_javascript_space_before_finally_keyword = true
428 | ij_javascript_space_before_finally_left_brace = true
429 | ij_javascript_space_before_for_left_brace = true
430 | ij_javascript_space_before_for_parentheses = true
431 | ij_javascript_space_before_for_semicolon = false
432 | ij_javascript_space_before_function_left_parenth = true
433 | ij_javascript_space_before_generator_mult = false
434 | ij_javascript_space_before_if_left_brace = true
435 | ij_javascript_space_before_if_parentheses = true
436 | ij_javascript_space_before_method_call_parentheses = false
437 | ij_javascript_space_before_method_left_brace = true
438 | ij_javascript_space_before_method_parentheses = false
439 | ij_javascript_space_before_property_colon = false
440 | ij_javascript_space_before_quest = true
441 | ij_javascript_space_before_switch_left_brace = true
442 | ij_javascript_space_before_switch_parentheses = true
443 | ij_javascript_space_before_try_left_brace = true
444 | ij_javascript_space_before_type_colon = false
445 | ij_javascript_space_before_unary_not = false
446 | ij_javascript_space_before_while_keyword = true
447 | ij_javascript_space_before_while_left_brace = true
448 | ij_javascript_space_before_while_parentheses = true
449 | ij_javascript_spaces_around_additive_operators = true
450 | ij_javascript_spaces_around_arrow_function_operator = true
451 | ij_javascript_spaces_around_assignment_operators = true
452 | ij_javascript_spaces_around_bitwise_operators = true
453 | ij_javascript_spaces_around_equality_operators = true
454 | ij_javascript_spaces_around_logical_operators = true
455 | ij_javascript_spaces_around_multiplicative_operators = true
456 | ij_javascript_spaces_around_relational_operators = true
457 | ij_javascript_spaces_around_shift_operators = true
458 | ij_javascript_spaces_around_unary_operator = false
459 | ij_javascript_spaces_within_array_initializer_brackets = false
460 | ij_javascript_spaces_within_brackets = false
461 | ij_javascript_spaces_within_catch_parentheses = false
462 | ij_javascript_spaces_within_for_parentheses = false
463 | ij_javascript_spaces_within_if_parentheses = false
464 | ij_javascript_spaces_within_imports = false
465 | ij_javascript_spaces_within_interpolation_expressions = false
466 | ij_javascript_spaces_within_method_call_parentheses = false
467 | ij_javascript_spaces_within_method_parentheses = false
468 | ij_javascript_spaces_within_object_literal_braces = false
469 | ij_javascript_spaces_within_object_type_braces = true
470 | ij_javascript_spaces_within_parentheses = false
471 | ij_javascript_spaces_within_switch_parentheses = false
472 | ij_javascript_spaces_within_type_assertion = false
473 | ij_javascript_spaces_within_union_types = true
474 | ij_javascript_spaces_within_while_parentheses = false
475 | ij_javascript_special_else_if_treatment = true
476 | ij_javascript_ternary_operation_signs_on_next_line = false
477 | ij_javascript_ternary_operation_wrap = off
478 | ij_javascript_union_types_wrap = on_every_item
479 | ij_javascript_use_chained_calls_group_indents = false
480 | ij_javascript_use_double_quotes = true
481 | ij_javascript_use_explicit_js_extension = auto
482 | ij_javascript_use_path_mapping = always
483 | ij_javascript_use_public_modifier = false
484 | ij_javascript_use_semicolon_after_statement = true
485 | ij_javascript_var_declaration_wrap = normal
486 | ij_javascript_while_brace_force = never
487 | ij_javascript_while_on_new_line = false
488 | ij_javascript_wrap_comments = false
489 |
490 | [{*.ctp,*.hphp,*.inc,*.module,*.php,*.php4,*.php5,*.phtml,SimpleXLS}]
491 | ij_continuation_indent_size = 4
492 | ij_php_align_assignments = false
493 | ij_php_align_class_constants = false
494 | ij_php_align_group_field_declarations = false
495 | ij_php_align_inline_comments = false
496 | ij_php_align_key_value_pairs = false
497 | ij_php_align_match_arm_bodies = false
498 | ij_php_align_multiline_array_initializer_expression = false
499 | ij_php_align_multiline_binary_operation = false
500 | ij_php_align_multiline_chained_methods = false
501 | ij_php_align_multiline_extends_list = false
502 | ij_php_align_multiline_for = true
503 | ij_php_align_multiline_parameters = true
504 | ij_php_align_multiline_parameters_in_calls = false
505 | ij_php_align_multiline_ternary_operation = false
506 | ij_php_align_named_arguments = false
507 | ij_php_align_phpdoc_comments = false
508 | ij_php_align_phpdoc_param_names = false
509 | ij_php_anonymous_brace_style = next_line
510 | ij_php_api_weight = 28
511 | ij_php_array_initializer_new_line_after_left_brace = false
512 | ij_php_array_initializer_right_brace_on_new_line = false
513 | ij_php_array_initializer_wrap = off
514 | ij_php_assignment_wrap = off
515 | ij_php_attributes_wrap = off
516 | ij_php_author_weight = 28
517 | ij_php_binary_operation_sign_on_next_line = false
518 | ij_php_binary_operation_wrap = off
519 | ij_php_blank_lines_after_class_header = 0
520 | ij_php_blank_lines_after_function = 1
521 | ij_php_blank_lines_after_imports = 1
522 | ij_php_blank_lines_after_opening_tag = 0
523 | ij_php_blank_lines_after_package = 0
524 | ij_php_blank_lines_around_class = 1
525 | ij_php_blank_lines_around_constants = 0
526 | ij_php_blank_lines_around_field = 0
527 | ij_php_blank_lines_around_method = 1
528 | ij_php_blank_lines_before_class_end = 0
529 | ij_php_blank_lines_before_imports = 1
530 | ij_php_blank_lines_before_method_body = 0
531 | ij_php_blank_lines_before_package = 1
532 | ij_php_blank_lines_before_return_statement = 0
533 | ij_php_blank_lines_between_imports = 0
534 | ij_php_block_brace_style = end_of_line
535 | ij_php_call_parameters_new_line_after_left_paren = false
536 | ij_php_call_parameters_right_paren_on_new_line = false
537 | ij_php_call_parameters_wrap = off
538 | ij_php_catch_on_new_line = true
539 | ij_php_category_weight = 28
540 | ij_php_class_brace_style = next_line
541 | ij_php_comma_after_last_argument = false
542 | ij_php_comma_after_last_array_element = false
543 | ij_php_comma_after_last_closure_use_var = false
544 | ij_php_comma_after_last_parameter = false
545 | ij_php_concat_spaces = true
546 | ij_php_copyright_weight = 28
547 | ij_php_deprecated_weight = 28
548 | ij_php_do_while_brace_force = never
549 | ij_php_else_if_style = combine
550 | ij_php_else_on_new_line = true
551 | ij_php_example_weight = 28
552 | ij_php_extends_keyword_wrap = off
553 | ij_php_extends_list_wrap = off
554 | ij_php_fields_default_visibility = private
555 | ij_php_filesource_weight = 28
556 | ij_php_finally_on_new_line = true
557 | ij_php_for_brace_force = never
558 | ij_php_for_statement_new_line_after_left_paren = false
559 | ij_php_for_statement_right_paren_on_new_line = false
560 | ij_php_for_statement_wrap = off
561 | ij_php_force_empty_methods_in_one_line = false
562 | ij_php_force_short_declaration_array_style = false
563 | ij_php_getters_setters_naming_style = camel_case
564 | ij_php_getters_setters_order_style = getters_first
565 | ij_php_global_weight = 28
566 | ij_php_group_use_wrap = on_every_item
567 | ij_php_if_brace_force = never
568 | ij_php_if_lparen_on_next_line = false
569 | ij_php_if_rparen_on_next_line = false
570 | ij_php_ignore_weight = 28
571 | ij_php_import_sorting = alphabetic
572 | ij_php_indent_break_from_case = true
573 | ij_php_indent_case_from_switch = true
574 | ij_php_indent_code_in_php_tags = false
575 | ij_php_internal_weight = 28
576 | ij_php_keep_blank_lines_after_lbrace = 2
577 | ij_php_keep_blank_lines_before_right_brace = 2
578 | ij_php_keep_blank_lines_in_code = 2
579 | ij_php_keep_blank_lines_in_declarations = 2
580 | ij_php_keep_control_statement_in_one_line = true
581 | ij_php_keep_first_column_comment = true
582 | ij_php_keep_indents_on_empty_lines = false
583 | ij_php_keep_line_breaks = true
584 | ij_php_keep_rparen_and_lbrace_on_one_line = false
585 | ij_php_keep_simple_classes_in_one_line = false
586 | ij_php_keep_simple_methods_in_one_line = false
587 | ij_php_lambda_brace_style = next_line
588 | ij_php_license_weight = 28
589 | ij_php_line_comment_add_space = false
590 | ij_php_line_comment_at_first_column = true
591 | ij_php_link_weight = 28
592 | ij_php_lower_case_boolean_const = false
593 | ij_php_lower_case_keywords = true
594 | ij_php_lower_case_null_const = false
595 | ij_php_method_brace_style = next_line
596 | ij_php_method_call_chain_wrap = off
597 | ij_php_method_parameters_new_line_after_left_paren = false
598 | ij_php_method_parameters_right_paren_on_new_line = false
599 | ij_php_method_parameters_wrap = off
600 | ij_php_method_weight = 28
601 | ij_php_modifier_list_wrap = false
602 | ij_php_multiline_chained_calls_semicolon_on_new_line = false
603 | ij_php_namespace_brace_style = 2
604 | ij_php_new_line_after_php_opening_tag = false
605 | ij_php_null_type_position = in_the_end
606 | ij_php_package_weight = 28
607 | ij_php_param_weight = 0
608 | ij_php_parameters_attributes_wrap = off
609 | ij_php_parentheses_expression_new_line_after_left_paren = false
610 | ij_php_parentheses_expression_right_paren_on_new_line = false
611 | ij_php_phpdoc_blank_line_before_tags = false
612 | ij_php_phpdoc_blank_lines_around_parameters = false
613 | ij_php_phpdoc_keep_blank_lines = true
614 | ij_php_phpdoc_param_spaces_between_name_and_description = 1
615 | ij_php_phpdoc_param_spaces_between_tag_and_type = 1
616 | ij_php_phpdoc_param_spaces_between_type_and_name = 1
617 | ij_php_phpdoc_use_fqcn = false
618 | ij_php_phpdoc_wrap_long_lines = false
619 | ij_php_place_assignment_sign_on_next_line = false
620 | ij_php_place_parens_for_constructor = 0
621 | ij_php_property_read_weight = 28
622 | ij_php_property_weight = 28
623 | ij_php_property_write_weight = 28
624 | ij_php_return_type_on_new_line = false
625 | ij_php_return_weight = 1
626 | ij_php_see_weight = 28
627 | ij_php_since_weight = 28
628 | ij_php_sort_phpdoc_elements = true
629 | ij_php_space_after_colon = true
630 | ij_php_space_after_colon_in_enum_backed_type = true
631 | ij_php_space_after_colon_in_named_argument = true
632 | ij_php_space_after_colon_in_return_type = true
633 | ij_php_space_after_comma = true
634 | ij_php_space_after_for_semicolon = true
635 | ij_php_space_after_quest = true
636 | ij_php_space_after_type_cast = false
637 | ij_php_space_after_unary_not = false
638 | ij_php_space_before_array_initializer_left_brace = false
639 | ij_php_space_before_catch_keyword = true
640 | ij_php_space_before_catch_left_brace = true
641 | ij_php_space_before_catch_parentheses = true
642 | ij_php_space_before_class_left_brace = true
643 | ij_php_space_before_closure_left_parenthesis = true
644 | ij_php_space_before_colon = true
645 | ij_php_space_before_colon_in_enum_backed_type = false
646 | ij_php_space_before_colon_in_named_argument = false
647 | ij_php_space_before_colon_in_return_type = false
648 | ij_php_space_before_comma = false
649 | ij_php_space_before_do_left_brace = true
650 | ij_php_space_before_else_keyword = true
651 | ij_php_space_before_else_left_brace = true
652 | ij_php_space_before_finally_keyword = true
653 | ij_php_space_before_finally_left_brace = true
654 | ij_php_space_before_for_left_brace = true
655 | ij_php_space_before_for_parentheses = true
656 | ij_php_space_before_for_semicolon = false
657 | ij_php_space_before_if_left_brace = true
658 | ij_php_space_before_if_parentheses = true
659 | ij_php_space_before_method_call_parentheses = false
660 | ij_php_space_before_method_left_brace = true
661 | ij_php_space_before_method_parentheses = false
662 | ij_php_space_before_quest = true
663 | ij_php_space_before_short_closure_left_parenthesis = false
664 | ij_php_space_before_switch_left_brace = true
665 | ij_php_space_before_switch_parentheses = true
666 | ij_php_space_before_try_left_brace = true
667 | ij_php_space_before_unary_not = false
668 | ij_php_space_before_while_keyword = true
669 | ij_php_space_before_while_left_brace = true
670 | ij_php_space_before_while_parentheses = true
671 | ij_php_space_between_ternary_quest_and_colon = false
672 | ij_php_spaces_around_additive_operators = true
673 | ij_php_spaces_around_arrow = false
674 | ij_php_spaces_around_assignment_in_declare = false
675 | ij_php_spaces_around_assignment_operators = true
676 | ij_php_spaces_around_bitwise_operators = true
677 | ij_php_spaces_around_equality_operators = true
678 | ij_php_spaces_around_logical_operators = true
679 | ij_php_spaces_around_multiplicative_operators = true
680 | ij_php_spaces_around_null_coalesce_operator = true
681 | ij_php_spaces_around_pipe_in_union_type = false
682 | ij_php_spaces_around_relational_operators = true
683 | ij_php_spaces_around_shift_operators = true
684 | ij_php_spaces_around_unary_operator = false
685 | ij_php_spaces_around_var_within_brackets = false
686 | ij_php_spaces_within_array_initializer_braces = false
687 | ij_php_spaces_within_brackets = false
688 | ij_php_spaces_within_catch_parentheses = false
689 | ij_php_spaces_within_for_parentheses = false
690 | ij_php_spaces_within_if_parentheses = false
691 | ij_php_spaces_within_method_call_parentheses = false
692 | ij_php_spaces_within_method_parentheses = false
693 | ij_php_spaces_within_parentheses = false
694 | ij_php_spaces_within_short_echo_tags = true
695 | ij_php_spaces_within_switch_parentheses = false
696 | ij_php_spaces_within_while_parentheses = false
697 | ij_php_special_else_if_treatment = true
698 | ij_php_subpackage_weight = 28
699 | ij_php_ternary_operation_signs_on_next_line = false
700 | ij_php_ternary_operation_wrap = off
701 | ij_php_throws_weight = 2
702 | ij_php_todo_weight = 28
703 | ij_php_treat_multiline_arrays_and_lambdas_multiline = false
704 | ij_php_unknown_tag_weight = 28
705 | ij_php_upper_case_boolean_const = false
706 | ij_php_upper_case_null_const = false
707 | ij_php_uses_weight = 28
708 | ij_php_var_weight = 28
709 | ij_php_variable_naming_style = mixed
710 | ij_php_version_weight = 28
711 | ij_php_while_brace_force = never
712 | ij_php_while_on_new_line = true
713 |
714 | [{*.har,*.jsb2,*.jsb3,*.json,.babelrc,.eslintrc,.prettierrc,.stylelintrc,bowerrc,composer.lock,jest.config}]
715 | indent_size = 2
716 | ij_json_array_wrapping = split_into_lines
717 | ij_json_keep_blank_lines_in_code = 0
718 | ij_json_keep_indents_on_empty_lines = false
719 | ij_json_keep_line_breaks = true
720 | ij_json_keep_trailing_comma = false
721 | ij_json_object_wrapping = split_into_lines
722 | ij_json_property_alignment = do_not_align
723 | ij_json_space_after_colon = true
724 | ij_json_space_after_comma = true
725 | ij_json_space_before_colon = false
726 | ij_json_space_before_comma = false
727 | ij_json_spaces_within_braces = false
728 | ij_json_spaces_within_brackets = false
729 | ij_json_wrap_long_lines = false
730 |
731 | [{*.htm,*.html,*.ng,*.sht,*.shtm,*.shtml}]
732 | ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
733 | ij_html_align_attributes = true
734 | ij_html_align_text = false
735 | ij_html_attribute_wrap = off
736 | ij_html_block_comment_add_space = false
737 | ij_html_block_comment_at_first_column = true
738 | ij_html_do_not_align_children_of_min_lines = 0
739 | ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
740 | ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot
741 | ij_html_enforce_quotes = false
742 | ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
743 | ij_html_keep_blank_lines = 2
744 | ij_html_keep_indents_on_empty_lines = false
745 | ij_html_keep_line_breaks = true
746 | ij_html_keep_line_breaks_in_text = true
747 | ij_html_keep_whitespaces = false
748 | ij_html_keep_whitespaces_inside = span,pre,textarea
749 | ij_html_line_comment_at_first_column = true
750 | ij_html_new_line_after_last_attribute = never
751 | ij_html_new_line_before_first_attribute = never
752 | ij_html_quote_style = double
753 | ij_html_remove_new_line_before_tags = br
754 | ij_html_space_after_tag_name = false
755 | ij_html_space_around_equality_in_attribute = false
756 | ij_html_space_inside_empty_tag = false
757 | ij_html_text_wrap = normal
758 |
759 | [{*.markdown,*.md}]
760 | ij_markdown_force_one_space_after_blockquote_symbol = true
761 | ij_markdown_force_one_space_after_header_symbol = true
762 | ij_markdown_force_one_space_after_list_bullet = true
763 | ij_markdown_force_one_space_between_words = true
764 | ij_markdown_insert_quote_arrows_on_wrap = true
765 | ij_markdown_keep_indents_on_empty_lines = false
766 | ij_markdown_keep_line_breaks_inside_text_blocks = true
767 | ij_markdown_max_lines_around_block_elements = 1
768 | ij_markdown_max_lines_around_header = 1
769 | ij_markdown_max_lines_between_paragraphs = 1
770 | ij_markdown_min_lines_around_block_elements = 1
771 | ij_markdown_min_lines_around_header = 1
772 | ij_markdown_min_lines_between_paragraphs = 1
773 | ij_markdown_wrap_text_if_long = true
774 | ij_markdown_wrap_text_inside_blockquotes = true
775 |
776 | [{*.yaml,*.yml}]
777 | indent_size = 2
778 | ij_yaml_align_values_properties = do_not_align
779 | ij_yaml_autoinsert_sequence_marker = true
780 | ij_yaml_block_mapping_on_new_line = false
781 | ij_yaml_indent_sequence_value = true
782 | ij_yaml_keep_indents_on_empty_lines = false
783 | ij_yaml_keep_line_breaks = true
784 | ij_yaml_sequence_on_new_line = false
785 | ij_yaml_space_before_colon = false
786 | ij_yaml_spaces_within_braces = true
787 | ij_yaml_spaces_within_brackets = true
788 |
--------------------------------------------------------------------------------