@@ -5,31 +5,31 @@ |
||
5 | 5 | |
6 | 6 | class CreateUserSettingsTable extends Migration { |
7 | 7 | |
8 | - /** |
|
9 | - * Run the migrations. |
|
10 | - * |
|
11 | - * @return void |
|
12 | - */ |
|
13 | - public function up() |
|
14 | - { |
|
15 | - Schema::create('user_settings', function(Blueprint $table) |
|
16 | - { |
|
17 | - $table->integer('user')->index('user'); |
|
18 | - $table->string('setting_name', 50)->default('')->index('setting_name'); |
|
19 | - $table->text('setting_value', 65535)->nullable(); |
|
20 | - $table->primary(['user','setting_name']); |
|
21 | - }); |
|
22 | - } |
|
8 | + /** |
|
9 | + * Run the migrations. |
|
10 | + * |
|
11 | + * @return void |
|
12 | + */ |
|
13 | + public function up() |
|
14 | + { |
|
15 | + Schema::create('user_settings', function(Blueprint $table) |
|
16 | + { |
|
17 | + $table->integer('user')->index('user'); |
|
18 | + $table->string('setting_name', 50)->default('')->index('setting_name'); |
|
19 | + $table->text('setting_value', 65535)->nullable(); |
|
20 | + $table->primary(['user','setting_name']); |
|
21 | + }); |
|
22 | + } |
|
23 | 23 | |
24 | 24 | |
25 | - /** |
|
26 | - * Reverse the migrations. |
|
27 | - * |
|
28 | - * @return void |
|
29 | - */ |
|
30 | - public function down() |
|
31 | - { |
|
32 | - Schema::drop('user_settings'); |
|
33 | - } |
|
25 | + /** |
|
26 | + * Reverse the migrations. |
|
27 | + * |
|
28 | + * @return void |
|
29 | + */ |
|
30 | + public function down() |
|
31 | + { |
|
32 | + Schema::drop('user_settings'); |
|
33 | + } |
|
34 | 34 | |
35 | 35 | } |
@@ -5,31 +5,31 @@ |
||
5 | 5 | |
6 | 6 | class CreateSiteModuleDepobjTable extends Migration { |
7 | 7 | |
8 | - /** |
|
9 | - * Run the migrations. |
|
10 | - * |
|
11 | - * @return void |
|
12 | - */ |
|
13 | - public function up() |
|
14 | - { |
|
15 | - Schema::create('site_module_depobj', function(Blueprint $table) |
|
16 | - { |
|
17 | - $table->integer('id', true); |
|
18 | - $table->integer('module')->default(0); |
|
19 | - $table->integer('resource')->default(0); |
|
20 | - $table->integer('type')->default(0)->comment('10-chunks, 20-docs, 30-plugins, 40-snips, 50-tpls, 60-tvs'); |
|
21 | - }); |
|
22 | - } |
|
8 | + /** |
|
9 | + * Run the migrations. |
|
10 | + * |
|
11 | + * @return void |
|
12 | + */ |
|
13 | + public function up() |
|
14 | + { |
|
15 | + Schema::create('site_module_depobj', function(Blueprint $table) |
|
16 | + { |
|
17 | + $table->integer('id', true); |
|
18 | + $table->integer('module')->default(0); |
|
19 | + $table->integer('resource')->default(0); |
|
20 | + $table->integer('type')->default(0)->comment('10-chunks, 20-docs, 30-plugins, 40-snips, 50-tpls, 60-tvs'); |
|
21 | + }); |
|
22 | + } |
|
23 | 23 | |
24 | 24 | |
25 | - /** |
|
26 | - * Reverse the migrations. |
|
27 | - * |
|
28 | - * @return void |
|
29 | - */ |
|
30 | - public function down() |
|
31 | - { |
|
32 | - Schema::drop('site_module_depobj'); |
|
33 | - } |
|
25 | + /** |
|
26 | + * Reverse the migrations. |
|
27 | + * |
|
28 | + * @return void |
|
29 | + */ |
|
30 | + public function down() |
|
31 | + { |
|
32 | + Schema::drop('site_module_depobj'); |
|
33 | + } |
|
34 | 34 | |
35 | 35 | } |
@@ -5,29 +5,29 @@ |
||
5 | 5 | |
6 | 6 | class CreateSystemSettingsTable extends Migration { |
7 | 7 | |
8 | - /** |
|
9 | - * Run the migrations. |
|
10 | - * |
|
11 | - * @return void |
|
12 | - */ |
|
13 | - public function up() |
|
14 | - { |
|
15 | - Schema::create('system_settings', function(Blueprint $table) |
|
16 | - { |
|
17 | - $table->string('setting_name', 50)->default('')->primary(); |
|
18 | - $table->text('setting_value', 65535)->nullable(); |
|
19 | - }); |
|
20 | - } |
|
8 | + /** |
|
9 | + * Run the migrations. |
|
10 | + * |
|
11 | + * @return void |
|
12 | + */ |
|
13 | + public function up() |
|
14 | + { |
|
15 | + Schema::create('system_settings', function(Blueprint $table) |
|
16 | + { |
|
17 | + $table->string('setting_name', 50)->default('')->primary(); |
|
18 | + $table->text('setting_value', 65535)->nullable(); |
|
19 | + }); |
|
20 | + } |
|
21 | 21 | |
22 | 22 | |
23 | - /** |
|
24 | - * Reverse the migrations. |
|
25 | - * |
|
26 | - * @return void |
|
27 | - */ |
|
28 | - public function down() |
|
29 | - { |
|
30 | - Schema::drop('system_settings'); |
|
31 | - } |
|
23 | + /** |
|
24 | + * Reverse the migrations. |
|
25 | + * |
|
26 | + * @return void |
|
27 | + */ |
|
28 | + public function down() |
|
29 | + { |
|
30 | + Schema::drop('system_settings'); |
|
31 | + } |
|
32 | 32 | |
33 | 33 | } |
@@ -5,31 +5,31 @@ |
||
5 | 5 | |
6 | 6 | class CreateWebUserSettingsTable extends Migration { |
7 | 7 | |
8 | - /** |
|
9 | - * Run the migrations. |
|
10 | - * |
|
11 | - * @return void |
|
12 | - */ |
|
13 | - public function up() |
|
14 | - { |
|
15 | - Schema::create('web_user_settings', function(Blueprint $table) |
|
16 | - { |
|
17 | - $table->integer('webuser')->index('webuserid'); |
|
18 | - $table->string('setting_name', 50)->default('')->index('setting_name'); |
|
19 | - $table->text('setting_value', 65535)->nullable(); |
|
20 | - $table->primary(['webuser','setting_name']); |
|
21 | - }); |
|
22 | - } |
|
8 | + /** |
|
9 | + * Run the migrations. |
|
10 | + * |
|
11 | + * @return void |
|
12 | + */ |
|
13 | + public function up() |
|
14 | + { |
|
15 | + Schema::create('web_user_settings', function(Blueprint $table) |
|
16 | + { |
|
17 | + $table->integer('webuser')->index('webuserid'); |
|
18 | + $table->string('setting_name', 50)->default('')->index('setting_name'); |
|
19 | + $table->text('setting_value', 65535)->nullable(); |
|
20 | + $table->primary(['webuser','setting_name']); |
|
21 | + }); |
|
22 | + } |
|
23 | 23 | |
24 | 24 | |
25 | - /** |
|
26 | - * Reverse the migrations. |
|
27 | - * |
|
28 | - * @return void |
|
29 | - */ |
|
30 | - public function down() |
|
31 | - { |
|
32 | - Schema::drop('web_user_settings'); |
|
33 | - } |
|
25 | + /** |
|
26 | + * Reverse the migrations. |
|
27 | + * |
|
28 | + * @return void |
|
29 | + */ |
|
30 | + public function down() |
|
31 | + { |
|
32 | + Schema::drop('web_user_settings'); |
|
33 | + } |
|
34 | 34 | |
35 | 35 | } |
@@ -5,64 +5,64 @@ |
||
5 | 5 | |
6 | 6 | class CreateSiteContentTable extends Migration { |
7 | 7 | |
8 | - /** |
|
9 | - * Run the migrations. |
|
10 | - * |
|
11 | - * @return void |
|
12 | - */ |
|
13 | - public function up() |
|
14 | - { |
|
15 | - Schema::create('site_content', function(Blueprint $table) |
|
16 | - { |
|
17 | - $table->integer('id', true); |
|
18 | - $table->string('type', 20)->default('document')->index('typeidx'); |
|
19 | - $table->string('contentType', 50)->default('text/html'); |
|
20 | - $table->string('pagetitle')->default(''); |
|
21 | - $table->string('longtitle')->default(''); |
|
22 | - $table->string('description')->default(''); |
|
23 | - $table->string('alias', 245)->nullable()->default('')->index('aliasidx'); |
|
24 | - $table->string('link_attributes')->default('')->comment('Link attriubtes'); |
|
25 | - $table->integer('published')->default(0); |
|
26 | - $table->integer('pub_date')->default(0); |
|
27 | - $table->integer('unpub_date')->default(0); |
|
28 | - $table->integer('parent')->default(0)->index('parent'); |
|
29 | - $table->integer('isfolder')->default(0); |
|
30 | - $table->text('introtext', 65535)->nullable()->comment('Used to provide quick summary of the document'); |
|
31 | - $table->text('content', 16777215)->nullable(); |
|
32 | - $table->boolean('richtext')->default(1); |
|
33 | - $table->integer('template')->default(0); |
|
34 | - $table->integer('menuindex')->default(0); |
|
35 | - $table->integer('searchable')->default(1); |
|
36 | - $table->integer('cacheable')->default(1); |
|
37 | - $table->integer('createdby')->default(0); |
|
38 | - $table->integer('createdon')->default(0); |
|
39 | - $table->integer('editedby')->default(0); |
|
40 | - $table->integer('editedon')->default(0); |
|
41 | - $table->integer('deleted')->default(0); |
|
42 | - $table->integer('deletedon')->default(0); |
|
43 | - $table->integer('deletedby')->default(0); |
|
44 | - $table->integer('publishedon')->default(0)->comment('Date the document was published'); |
|
45 | - $table->integer('publishedby')->default(0)->comment('ID of user who published the document'); |
|
46 | - $table->string('menutitle')->default('')->comment('Menu title'); |
|
47 | - $table->boolean('donthit')->default(0)->comment('Disable page hit count'); |
|
48 | - $table->boolean('privateweb')->default(0)->comment('Private web document'); |
|
49 | - $table->boolean('privatemgr')->default(0)->comment('Private manager document'); |
|
50 | - $table->boolean('content_dispo')->default(0)->comment('0-inline, 1-attachment'); |
|
51 | - $table->boolean('hidemenu')->default(0)->comment('Hide document from menu'); |
|
52 | - $table->integer('alias_visible')->default(1); |
|
53 | - $table->index(['pagetitle','description','content'], 'content_ft_idx'); |
|
54 | - }); |
|
55 | - } |
|
8 | + /** |
|
9 | + * Run the migrations. |
|
10 | + * |
|
11 | + * @return void |
|
12 | + */ |
|
13 | + public function up() |
|
14 | + { |
|
15 | + Schema::create('site_content', function(Blueprint $table) |
|
16 | + { |
|
17 | + $table->integer('id', true); |
|
18 | + $table->string('type', 20)->default('document')->index('typeidx'); |
|
19 | + $table->string('contentType', 50)->default('text/html'); |
|
20 | + $table->string('pagetitle')->default(''); |
|
21 | + $table->string('longtitle')->default(''); |
|
22 | + $table->string('description')->default(''); |
|
23 | + $table->string('alias', 245)->nullable()->default('')->index('aliasidx'); |
|
24 | + $table->string('link_attributes')->default('')->comment('Link attriubtes'); |
|
25 | + $table->integer('published')->default(0); |
|
26 | + $table->integer('pub_date')->default(0); |
|
27 | + $table->integer('unpub_date')->default(0); |
|
28 | + $table->integer('parent')->default(0)->index('parent'); |
|
29 | + $table->integer('isfolder')->default(0); |
|
30 | + $table->text('introtext', 65535)->nullable()->comment('Used to provide quick summary of the document'); |
|
31 | + $table->text('content', 16777215)->nullable(); |
|
32 | + $table->boolean('richtext')->default(1); |
|
33 | + $table->integer('template')->default(0); |
|
34 | + $table->integer('menuindex')->default(0); |
|
35 | + $table->integer('searchable')->default(1); |
|
36 | + $table->integer('cacheable')->default(1); |
|
37 | + $table->integer('createdby')->default(0); |
|
38 | + $table->integer('createdon')->default(0); |
|
39 | + $table->integer('editedby')->default(0); |
|
40 | + $table->integer('editedon')->default(0); |
|
41 | + $table->integer('deleted')->default(0); |
|
42 | + $table->integer('deletedon')->default(0); |
|
43 | + $table->integer('deletedby')->default(0); |
|
44 | + $table->integer('publishedon')->default(0)->comment('Date the document was published'); |
|
45 | + $table->integer('publishedby')->default(0)->comment('ID of user who published the document'); |
|
46 | + $table->string('menutitle')->default('')->comment('Menu title'); |
|
47 | + $table->boolean('donthit')->default(0)->comment('Disable page hit count'); |
|
48 | + $table->boolean('privateweb')->default(0)->comment('Private web document'); |
|
49 | + $table->boolean('privatemgr')->default(0)->comment('Private manager document'); |
|
50 | + $table->boolean('content_dispo')->default(0)->comment('0-inline, 1-attachment'); |
|
51 | + $table->boolean('hidemenu')->default(0)->comment('Hide document from menu'); |
|
52 | + $table->integer('alias_visible')->default(1); |
|
53 | + $table->index(['pagetitle','description','content'], 'content_ft_idx'); |
|
54 | + }); |
|
55 | + } |
|
56 | 56 | |
57 | 57 | |
58 | - /** |
|
59 | - * Reverse the migrations. |
|
60 | - * |
|
61 | - * @return void |
|
62 | - */ |
|
63 | - public function down() |
|
64 | - { |
|
65 | - Schema::drop('site_content'); |
|
66 | - } |
|
58 | + /** |
|
59 | + * Reverse the migrations. |
|
60 | + * |
|
61 | + * @return void |
|
62 | + */ |
|
63 | + public function down() |
|
64 | + { |
|
65 | + Schema::drop('site_content'); |
|
66 | + } |
|
67 | 67 | |
68 | 68 | } |
@@ -5,30 +5,30 @@ |
||
5 | 5 | |
6 | 6 | class CreateMembergroupAccessTable extends Migration { |
7 | 7 | |
8 | - /** |
|
9 | - * Run the migrations. |
|
10 | - * |
|
11 | - * @return void |
|
12 | - */ |
|
13 | - public function up() |
|
14 | - { |
|
15 | - Schema::create('membergroup_access', function(Blueprint $table) |
|
16 | - { |
|
17 | - $table->integer('id', true); |
|
18 | - $table->integer('membergroup')->default(0); |
|
19 | - $table->integer('documentgroup')->default(0); |
|
20 | - }); |
|
21 | - } |
|
8 | + /** |
|
9 | + * Run the migrations. |
|
10 | + * |
|
11 | + * @return void |
|
12 | + */ |
|
13 | + public function up() |
|
14 | + { |
|
15 | + Schema::create('membergroup_access', function(Blueprint $table) |
|
16 | + { |
|
17 | + $table->integer('id', true); |
|
18 | + $table->integer('membergroup')->default(0); |
|
19 | + $table->integer('documentgroup')->default(0); |
|
20 | + }); |
|
21 | + } |
|
22 | 22 | |
23 | 23 | |
24 | - /** |
|
25 | - * Reverse the migrations. |
|
26 | - * |
|
27 | - * @return void |
|
28 | - */ |
|
29 | - public function down() |
|
30 | - { |
|
31 | - Schema::drop('membergroup_access'); |
|
32 | - } |
|
24 | + /** |
|
25 | + * Reverse the migrations. |
|
26 | + * |
|
27 | + * @return void |
|
28 | + */ |
|
29 | + public function down() |
|
30 | + { |
|
31 | + Schema::drop('membergroup_access'); |
|
32 | + } |
|
33 | 33 | |
34 | 34 | } |
@@ -5,29 +5,29 @@ |
||
5 | 5 | |
6 | 6 | class CreateMembergroupNamesTable extends Migration { |
7 | 7 | |
8 | - /** |
|
9 | - * Run the migrations. |
|
10 | - * |
|
11 | - * @return void |
|
12 | - */ |
|
13 | - public function up() |
|
14 | - { |
|
15 | - Schema::create('membergroup_names', function(Blueprint $table) |
|
16 | - { |
|
17 | - $table->integer('id', true); |
|
18 | - $table->string('name', 245)->default('')->unique('name'); |
|
19 | - }); |
|
20 | - } |
|
8 | + /** |
|
9 | + * Run the migrations. |
|
10 | + * |
|
11 | + * @return void |
|
12 | + */ |
|
13 | + public function up() |
|
14 | + { |
|
15 | + Schema::create('membergroup_names', function(Blueprint $table) |
|
16 | + { |
|
17 | + $table->integer('id', true); |
|
18 | + $table->string('name', 245)->default('')->unique('name'); |
|
19 | + }); |
|
20 | + } |
|
21 | 21 | |
22 | 22 | |
23 | - /** |
|
24 | - * Reverse the migrations. |
|
25 | - * |
|
26 | - * @return void |
|
27 | - */ |
|
28 | - public function down() |
|
29 | - { |
|
30 | - Schema::drop('membergroup_names'); |
|
31 | - } |
|
23 | + /** |
|
24 | + * Reverse the migrations. |
|
25 | + * |
|
26 | + * @return void |
|
27 | + */ |
|
28 | + public function down() |
|
29 | + { |
|
30 | + Schema::drop('membergroup_names'); |
|
31 | + } |
|
32 | 32 | |
33 | 33 | } |
@@ -5,54 +5,54 @@ |
||
5 | 5 | |
6 | 6 | class CreateWebUserAttributesTable extends Migration { |
7 | 7 | |
8 | - /** |
|
9 | - * Run the migrations. |
|
10 | - * |
|
11 | - * @return void |
|
12 | - */ |
|
13 | - public function up() |
|
14 | - { |
|
15 | - Schema::create('web_user_attributes', function(Blueprint $table) |
|
16 | - { |
|
17 | - $table->integer('id', true); |
|
18 | - $table->integer('internalKey')->default(0)->index('userid'); |
|
19 | - $table->string('fullname', 100)->default(''); |
|
20 | - $table->integer('role')->default(0); |
|
21 | - $table->string('email', 100)->default(''); |
|
22 | - $table->string('phone', 100)->default(''); |
|
23 | - $table->string('mobilephone', 100)->default(''); |
|
24 | - $table->integer('blocked')->default(0); |
|
25 | - $table->integer('blockeduntil')->default(0); |
|
26 | - $table->integer('blockedafter')->default(0); |
|
27 | - $table->integer('logincount')->default(0); |
|
28 | - $table->integer('lastlogin')->default(0); |
|
29 | - $table->integer('thislogin')->default(0); |
|
30 | - $table->integer('failedlogincount')->default(0); |
|
31 | - $table->string('sessionid', 100)->default(''); |
|
32 | - $table->integer('dob')->default(0); |
|
33 | - $table->integer('gender')->default(0)->comment('0 - unknown, 1 - Male 2 - female'); |
|
34 | - $table->string('country', 25)->default(''); |
|
35 | - $table->string('street')->default(''); |
|
36 | - $table->string('city')->default(''); |
|
37 | - $table->string('state', 25)->default(''); |
|
38 | - $table->string('zip', 25)->default(''); |
|
39 | - $table->string('fax', 100)->default(''); |
|
40 | - $table->string('photo')->default('')->comment('link to photo'); |
|
41 | - $table->text('comment', 65535)->nullable(); |
|
42 | - $table->integer('createdon')->default(0); |
|
43 | - $table->integer('editedon')->default(0); |
|
44 | - }); |
|
45 | - } |
|
8 | + /** |
|
9 | + * Run the migrations. |
|
10 | + * |
|
11 | + * @return void |
|
12 | + */ |
|
13 | + public function up() |
|
14 | + { |
|
15 | + Schema::create('web_user_attributes', function(Blueprint $table) |
|
16 | + { |
|
17 | + $table->integer('id', true); |
|
18 | + $table->integer('internalKey')->default(0)->index('userid'); |
|
19 | + $table->string('fullname', 100)->default(''); |
|
20 | + $table->integer('role')->default(0); |
|
21 | + $table->string('email', 100)->default(''); |
|
22 | + $table->string('phone', 100)->default(''); |
|
23 | + $table->string('mobilephone', 100)->default(''); |
|
24 | + $table->integer('blocked')->default(0); |
|
25 | + $table->integer('blockeduntil')->default(0); |
|
26 | + $table->integer('blockedafter')->default(0); |
|
27 | + $table->integer('logincount')->default(0); |
|
28 | + $table->integer('lastlogin')->default(0); |
|
29 | + $table->integer('thislogin')->default(0); |
|
30 | + $table->integer('failedlogincount')->default(0); |
|
31 | + $table->string('sessionid', 100)->default(''); |
|
32 | + $table->integer('dob')->default(0); |
|
33 | + $table->integer('gender')->default(0)->comment('0 - unknown, 1 - Male 2 - female'); |
|
34 | + $table->string('country', 25)->default(''); |
|
35 | + $table->string('street')->default(''); |
|
36 | + $table->string('city')->default(''); |
|
37 | + $table->string('state', 25)->default(''); |
|
38 | + $table->string('zip', 25)->default(''); |
|
39 | + $table->string('fax', 100)->default(''); |
|
40 | + $table->string('photo')->default('')->comment('link to photo'); |
|
41 | + $table->text('comment', 65535)->nullable(); |
|
42 | + $table->integer('createdon')->default(0); |
|
43 | + $table->integer('editedon')->default(0); |
|
44 | + }); |
|
45 | + } |
|
46 | 46 | |
47 | 47 | |
48 | - /** |
|
49 | - * Reverse the migrations. |
|
50 | - * |
|
51 | - * @return void |
|
52 | - */ |
|
53 | - public function down() |
|
54 | - { |
|
55 | - Schema::drop('web_user_attributes'); |
|
56 | - } |
|
48 | + /** |
|
49 | + * Reverse the migrations. |
|
50 | + * |
|
51 | + * @return void |
|
52 | + */ |
|
53 | + public function down() |
|
54 | + { |
|
55 | + Schema::drop('web_user_attributes'); |
|
56 | + } |
|
57 | 57 | |
58 | 58 | } |
@@ -5,36 +5,36 @@ |
||
5 | 5 | |
6 | 6 | class CreateUserMessagesTable extends Migration { |
7 | 7 | |
8 | - /** |
|
9 | - * Run the migrations. |
|
10 | - * |
|
11 | - * @return void |
|
12 | - */ |
|
13 | - public function up() |
|
14 | - { |
|
15 | - Schema::create('user_messages', function(Blueprint $table) |
|
16 | - { |
|
17 | - $table->integer('id', true); |
|
18 | - $table->string('type', 15)->default(''); |
|
19 | - $table->string('subject', 60)->default(''); |
|
20 | - $table->text('message', 65535)->nullable(); |
|
21 | - $table->integer('sender')->default(0); |
|
22 | - $table->integer('recipient')->default(0); |
|
23 | - $table->boolean('private')->default(0); |
|
24 | - $table->integer('postdate')->default(0); |
|
25 | - $table->boolean('messageread')->default(0); |
|
26 | - }); |
|
27 | - } |
|
8 | + /** |
|
9 | + * Run the migrations. |
|
10 | + * |
|
11 | + * @return void |
|
12 | + */ |
|
13 | + public function up() |
|
14 | + { |
|
15 | + Schema::create('user_messages', function(Blueprint $table) |
|
16 | + { |
|
17 | + $table->integer('id', true); |
|
18 | + $table->string('type', 15)->default(''); |
|
19 | + $table->string('subject', 60)->default(''); |
|
20 | + $table->text('message', 65535)->nullable(); |
|
21 | + $table->integer('sender')->default(0); |
|
22 | + $table->integer('recipient')->default(0); |
|
23 | + $table->boolean('private')->default(0); |
|
24 | + $table->integer('postdate')->default(0); |
|
25 | + $table->boolean('messageread')->default(0); |
|
26 | + }); |
|
27 | + } |
|
28 | 28 | |
29 | 29 | |
30 | - /** |
|
31 | - * Reverse the migrations. |
|
32 | - * |
|
33 | - * @return void |
|
34 | - */ |
|
35 | - public function down() |
|
36 | - { |
|
37 | - Schema::drop('user_messages'); |
|
38 | - } |
|
30 | + /** |
|
31 | + * Reverse the migrations. |
|
32 | + * |
|
33 | + * @return void |
|
34 | + */ |
|
35 | + public function down() |
|
36 | + { |
|
37 | + Schema::drop('user_messages'); |
|
38 | + } |
|
39 | 39 | |
40 | 40 | } |