-
Notifications
You must be signed in to change notification settings - Fork 3
/
config.php
327 lines (319 loc) · 13.4 KB
/
config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
<?php
use Illuminate\Support\Str;
use Mni\FrontYAML\Parser;
use TightenCo\Jigsaw\Parsers\FrontMatterParser;
use TightenCo\Jigsaw\Parsers\MarkdownParser;
return [
'production' => false,
'matomo_container' => '8jNjdh8C_dev_dc9cf71ee2745d3690156798',
'baseUrl' => '/',
'form_url' => 'http://localhost/suitecrm-form-middleware/validate.php',
'url_captcha' => 'http://localhost/suitecrm-form-middleware/captcha.php',
'url_captcha_audio' => 'http://localhost/suitecrm-form-middleware/audio_captcha.php',
'title' => 'LibreSign - Electronic signature of digital documents',
'description' => 'Electronic signature of digital documents',
'locales' => [
'' => 'English',
'fr' => 'Français',
'nb-NO' => 'Norsk bokmål',
'pt-BR' => 'Português Brasil',
],
'markdownListToHtml' => function($page, $list) {
$list = $page->t($list);
$list = explode("\n", $list);
$list = array_map(fn ($r) => ltrim($r, '- '), $list);
return '<li>' . implode('</li><li>', $list) . '</li>';
},
'prices' => [
'Basic' => [
'price' => '$ 600/mo',
'description' => 'STARTING FROM',
'isActive' => false,
'list' => <<<LIST
- Until 5 accounts
- Storage until 1Gb
LIST,
],
'Business' => [
'price' => 'Contact us to more informations',
'description' => '',
'isActive' => true,
'list' => <<<LIST
- Unlimited accounts
- Storage customized
LIST,
],
],
'optionsServicesLibresign' => [
[
'service' => 'Electronic document management',
'basic' => true,
'business' => true,
],
[
'service' => 'Simple electronic signature (without digital certificate) unlimited',
'basic' => true,
'business' => true,
],
[
'service' => 'Unlimited subscription with A1 digital certificate',
'basic' => true,
'business' => true,
],
[
'service' => 'Sending reminder by email',
'basic' => true,
'business' => true,
],
[
'service' => 'Technical support',
'basic' => false,
'business' => true,
],
[
'service' => 'Online document creation and editing',
'basic' => false,
'business' => true,
],
[
'service' => 'Access management by users or departments',
'basic' => false,
'business' => true,
],
[
'service' => 'Task control and management',
'basic' => false,
'business' => true,
],
[
'service' => 'Customization of visual identity (colors, logo and domain)',
'basic' => false,
'business' => true,
],
],
'testimonials' => [
[
'comment' => "Libresign's nextcloud integration has come a long way in the past year. If you tried it before and found it lacking, give it another chance. I can see it being a real option and alternative to other e-signature services.",
'author' => 'Matt Nelson'
],
[
'comment' => "Congratulations to the LibreSign development team for creating such an efficient solution for electronic signatures! LibreSign has an intuitive interface and ease of use, allowing integration with various APIs. I've been following the development and see it improving with each new release. LibreSign makes managing digital signatures a simple and reliable experience. I highly recommend it!",
'author' => 'Lua Mello'
],
[
'comment' => "Finally an excellent app for signing documents. Very good!",
'author' => 'Daiane Alves'
],
[
'comment' => "Libresign is becoming a fully-featured alternative to expensive cloud services like DocuSign. The nextcloud integration makes it a real option to use for e-signatures.",
'author' => 'Metheos'
],
[
'comment' => "LibreSign has come a long way and it is great replacement to most commercial e-signature solutions and it is open source.",
'author' => '0-bandage-dugouts'
],
[
'comment' => "It works perfectly with the electronic certificate issued by the Spanish Government. Installation has become very simple and affordable for anyone with minimal knowledge of Nextcloud. Developer support is fantastic. It works on all devices, including mobile devices. It has different options for creating, requesting and signing signatures. Version 9 is a great leap in quality and has a lot of future. It's incredible that this application works so well and is free.",
'author' => 'Iván Gómez Fernández'
],
[
'comment' => "A simple and complete solution. It speeds up processes and can eliminate the use of paper. We integrated it with our public management system or e-Cidade, it was absurdly good. Congratulations.",
'author' => 'Igor Afonso Oliveira Ruas'
],
],
'getFromCategory' => function($page, $category) {
$files = array_merge(
glob('source/_posts/*'),
glob('source/_posts/_tmp/*'),
);
$parser = new Parser(
markdownParser: new MarkdownParser()
);
$frontMatterParser = new FrontMatterParser($parser);
$defaultLocale = packageDefaultLocale($page);
$current_path_locale = current_path_locale($page);
$posts = [];
foreach ($files as $file) {
if (!is_file($file)) {
continue;
}
$post = $frontMatterParser->getFrontMatter(file_get_contents($file));
if ($current_path_locale !== $defaultLocale) {
if (!str_contains($file, $current_path_locale)) {
continue;
}
} else {
$langs = $page->localization->keys()->all();
foreach ($langs as $lang) {
if (str_contains($file, $lang)) {
continue 2;
}
}
}
if (isset($post['categories']) && is_array($post['categories']) && in_array($category, $post['categories'])) {
if (!empty($post['original_title'])) {
$post['url'] = locale_path($page, $page->baseUrl . 'posts/' . Str::slug($post['original_title']));
} else {
$post['url'] = locale_path($page, $page->baseUrl . 'posts/' . Str::slug($post['title']));
}
$posts[] = $post;
}
}
return $posts;
},
'collections' => [
'redirect' => [
'extends' => '_layouts.redirect301',
'path' => function($page) {
return $page->from;
},
'items' => [
[
'from' => '/account',
'to' => '/',
],
[
'from' => '/atendimento-lgpd',
'to' => '/',
],
[
'from' => '/cadastre-se',
'to' => '/',
],
[
'from' => '/categoria-produto/cloud',
'to' => '/',
],
[
'from' => '/doe',
'to' => '/',
],
[
'from' => '/envolva-se',
'to' => '/',
],
[
'from' => '/loja',
'to' => '/',
],
[
'from' => '/password-reset',
'to' => '/',
],
[
'from' => '/politica-de-privacidade',
'to' => '/',
],
[
'from' => '/produto/libresign-cloud',
'to' => '/',
],
[
'from' => '/recursos',
'to' => '/',
],
[
'from' => '/register',
'to' => '/',
],
[
'from' => '/sobre',
'to' => '/',
],
[
'from' => '/suporte',
'to' => '/',
],
[
'from' => '/termos-e-condicoes',
'to' => '/',
],
],
],
'posts' => [
'path' => function($page) {
$langs = $page->localization->keys()->all();
$lang = array_reduce($langs, function($carry, $lang) use ($page) {
if (str_starts_with($page->_meta->filename, $lang . '_')) {
return $lang;
}
return $carry;
}, '');
if ($lang) {
return $lang . '/posts/' . Str::slug($page->title);
}
return 'posts/' . Str::slug($page->title);
},
'author' => 'LibreCode',
'sort' => '-date',
'map' => function ($post) {
$postLang = current_path_locale($post);
$path = 'assets/images/posts/'.$post->getFilename();
$alternativePath = 'assets/images/posts/'. str_replace($postLang . '_', '', $post->getFilename());
$items = $post->get('collections')->get('team')->get('items');
$author = array_filter($items->all(), function($author) use ($post){
return $author->name === $post->author;
});
if(!empty($author)){
$author = current($author);
$post->set('gravatar', $author->gravatar);
}
if(empty($post->cover_image)){
if(file_exists(__DIR__.'/source/'.$path.'/cover.jpg')){
$post->set('cover_image',$post->baseUrl.$path.'/cover.jpg');
} elseif(file_exists(__DIR__.'/source/'.$alternativePath.'/cover.jpg')){
$post->set('cover_image',$post->baseUrl.$alternativePath.'/cover.jpg');
} else {
$post->set('cover_image',$post->baseUrl.'assets/images/logo/logo.svg');
}
}
if(empty($post->banner)){
if(file_exists(__DIR__.'/source/'.$path.'/banner.jpg')){
$post->set('banner',$post->baseUrl.$path.'/banner.jpg');
} elseif(file_exists(__DIR__.'/source/'.$alternativePath.'/banner.jpg')){
$post->set('banner',$post->baseUrl.$alternativePath.'/banner.jpg');
} else {
$post->set('banner',$post->baseUrl.'assets/images/logo/logo.svg');
}
}
return $post;
}
],
'team' => [
'path' => function($page){
return 'team/' . Str::slug($page->name);
},
'extends' => '_layouts.team-member',
'items' => [
[
'name' => 'Crisciany Silva',
'gravatar' => 'f2f64ea713b5c39cb64268a0eda7e022',
'bio' => 'I\'m a Developer. I currently study the PHP language with a focus on the Laravel framework. I have professional experience in PHP on a web-oriented system and some system maintenance such as screen creation, reports with jasper reports and mpdf and system versioning with git.',
'role' => 'Software Engineer',
'social' => [
'github' => 'https://github.com/Any97Cris',
'linkedin' => 'https://www.linkedin.com/in/criscianysilva/'
],
],
[
'name' => 'Daiane Alves',
'gravatar' => 'fe9fbbf8677e78931af9a4a5da35e1ee' ,
'bio' => '',
'role' => '',
'social' => [
'linkedin' => 'https://www.linkedin.com/in/daianealvesrj/',
]
],
[
'name' => 'Vitor Mattos',
'gravatar' => '2656fb55188f5a28ee7a99db0b9e6d8f4b91c7f6b88eead05c57386a3a05ff49' ,
'bio' => 'With over 20 years of experience as CTO of LibreCode, is a Zend Certified Engineer and expert in PHP, Linux, and FLOSS solutions. Passionate about technology, is an entrepreneur in the IT field and an activist for privacy. As a strong advocate for open-source software, frequently speaks at regional and national events, demonstrating his commitment to sharing knowledge, promoting the adoption of open technologies, and emphasizing the importance of privacy.',
'role' => 'CTO',
'social' => [
'linkedin' => 'https://www.linkedin.com/in/vitormattos/',
]
],
],
],
],
];