diff --git a/storage/framework/views/14ee0174ec36b16b90e353b8b794befc.php b/storage/framework/views/14ee0174ec36b16b90e353b8b794befc.php deleted file mode 100755 index efc24e42..00000000 --- a/storage/framework/views/14ee0174ec36b16b90e353b8b794befc.php +++ /dev/null @@ -1,808 +0,0 @@ -startSection('title', 'Modifica Individuo'); ?> -startSection('page_title', 'Modifica Individuo'); ?> - -startSection('content'); ?> -
- - - stopSection(); ?> diff --git a/storage/framework/views/80d6e427e76e80ae16c8694fb235b812.php b/storage/framework/views/80d6e427e76e80ae16c8694fb235b812.php deleted file mode 100755 index d5af2091..00000000 --- a/storage/framework/views/80d6e427e76e80ae16c8694fb235b812.php +++ /dev/null @@ -1,123 +0,0 @@ - - - - - -Scarica il template CSV per l'importazione:
- - Scarica Template - -cognomenomedata_nascita (formato YYYY-MM-DD)indirizzocapcittàsigla_provincia (2 lettere)genere (M o F)tipo_documento (carta_identita, patente)numero_documentoscadenza_documento (YYYY-MM-DD)notecontatto_1_tipo (email, telefono, cellulare)contatto_1_valorecontatto_1_etichetta (personale, lavoro)contatto_2_* (secondo contatto)| File | -Data | -Dimensione | -Contenuto | -Azioni | -
|---|---|---|---|---|
|
- - | - | - - - DB - - - - - - N/A - - | -- - - - - | -
Nessun backup disponibile.
-Clicca "Esegui Backup Ora" per creare il primo backup.
-| Componente | -Incluso | -Dettagli | -
|---|---|---|
| Database (MySQL) | -Sempre | -Struttura, dati, stored procedure, eventi, trigger | -
| File caricati | -- - Sì - - No - - | -Documenti, avatar, gallerie — dalla cartella storage | -
| Configurazione (.env) | -- - Sì - - No - - | -APP_KEY, DB credentials, SMTP, OAuth token | -
| Metadati | -Sempre | -Manifest JSON con versione app, PHP, Laravel | -
Scarica il backup, poi esegui lo script di setup sul nuovo server per una migrazione completa.
- - Guida alla Migrazione - -* * * * * cd && php artisan schedule:run >> /dev/null 2>&1
-| Nome | -Descrizione | -Utenti | -Permessi | -Azioni | -
|---|---|---|---|---|
| name); ?> | -description); ?> | -users_count); ?> | -- permissions; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $module => $level): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> - - : - - - popLoop(); $loop = $__env->getLastLoop(); ?> - | -
-
-
-
- users_count == 0): ?>
- |
-
WebDAV è un protocollo che permette di accedere a file su server remoti. Nextcloud lo utilizza per la sincronizzazione dei file.
- -Vai in Impostazioni → Repository e crea un nuovo repository di tipo WebDAV.
- -https://tuodominio.it/remote.php/dav/files/utente/
- https://server.webdav.it//Documenti/). Lascia / per usare la root.Basic per la maggior parte dei server (Nextcloud, ownCloud).Se il tuo nome utente contiene il carattere @ (es. mario.rossi@azienda.com), segui queste regole:
https://server.it/remote.php/dav/files/mario.rossi%40azienda.com/
- @ diventa %40)@ vera.%40) e l'autenticazione (che usa la @ reale).
- Dopo aver salvato, usa il pulsante Test nella tabella dei repository per verificare che la connessione funzioni.
- -Apri la sezione Documenti, clicca sul pulsante del repository nella toolbar per sfogliare i file remoti, poi clicca Salva tra i documenti su un file per importarlo come documento locale.
-Integrazione con Google Drive per sfogliare e importare file direttamente dal tuo spazio Google Drive.
- -https://drive.google.com/drive/folders/ID_QUI)Se vedi l'errore "Google Drive API non abilitata" nel test connessione, significa che l'API Drive non è stata attivata nel tuo progetto Google Cloud.
-Vai su - https://console.developers.google.com/apis/api/drive.googleapis.com/overview -
-Seleziona il progetto corretto dall'header in alto, clicca "Enable" e attendi qualche minuto prima di riprovare.
-Stessa procedura di WebDAV: apri Documenti, clicca sul repository Drive, sfoglia i file e usa Salva tra i documenti.
- -I file creati con Google Workspace (Documenti Google, Fogli Google, Presentazioni Google, Disegni Google) non possono essere scaricati direttamente perché non hanno un formato binario nativo.
-Il sistema li converte automaticamente in formato Office Open XML durante l'import:
-| File Google | Formato convertito |
|---|---|
| Documento Google | .docx (Word) |
| Foglio Google | .xlsx (Excel) |
| Presentazione Google | .pptx (PowerPoint) |
| Disegno Google | .png (Immagine) |
| Altri (Moduli, Script) | .pdf (PDF) |
Le tipologie classificano i documenti (avatar, galleria, documento, statuto, altro).
-Si gestiscono in Impostazioni → Tipologie Documenti. Puoi aggiungere, rinominare, riordinare ed eliminare tipologie (tranne quelle con documenti associati).
- -Classificano gli individui (es. socio, volontario, dipendente). Si gestiscono in Impostazioni → Tipologie.
- -Classificano gli eventi (es. riunione, assemblea, formazione). Si gestiscono in Impostazioni → Tipologie Eventi.
- -Definiscono il ruolo o la carica di un individuo (es. presidente, segretario, tesoriere). Si gestiscono in Impostazioni → Ruoli.
- -Ogni documento può avere diversi livelli di visibilità:
-Vai in Impostazioni → Email per configurare la posta elettronica.
- -Usato per ricevere e leggere le email direttamente nell'app.
-| Provider | Host | Porta | Crittografia |
|---|---|---|---|
| Gmail | imap.gmail.com | 993 | SSL |
| Outlook/Office 365 | outlook.office365.com | 993 | SSL |
| Libero | imapmail.libero.it | 993 | SSL |
| Aruba | imap.aruba.it | 993 | SSL |
Usato per inviare email dall'app. Supporta account multipli (mittenti).
-| Provider | Host | Porta | Crittografia |
|---|---|---|---|
| Gmail | smtp.gmail.com | 587 | TLS |
| Outlook/Office 365 | smtp.office365.com | 587 | TLS |
| Libero | smtp.libero.it | 465 | SSL |
| Aruba | smtp.aruba.it | 465 | SSL |
Le Mailing List permettono di inviare email a gruppi predefiniti di destinatari.
-Dopo aver configurato i server, usa il pulsante Test Connessione per verificare che IMAP e SMTP funzionino correttamente.
-Il sistema di backup crea un archivio ZIP contenente tutto il necessario per ripristinare l'applicazione su un nuovo server. Include database, file caricati e configurazione.
- -| Componente | Incluso | Dettagli |
|---|---|---|
| Database (MySQL) | Sempre | Struttura, dati, stored procedure, eventi, trigger |
| File caricati | Opzionale | Documenti, avatar, gallerie |
| Configurazione .env | Opzionale | APP_KEY, credenziali DB, SMTP, token OAuth |
| Metadati | Sempre | Versione app, PHP, Laravel |
php artisan backup:run
- Il file viene creato in storage/app/backups/
Puoi abilitare il backup automatico dalla pagina Admin → Backup:
-* * * * * cd && php artisan schedule:run >> /dev/null 2>&1
- Segui questa procedura per migrare l'applicazione su un nuovo server LAMP (Linux, Apache, MySQL, PHP).
- -L'APP_KEY cripta i dati sensibili (password email SMTP, token OAuth Google Drive, ecc.).
-sudo apt update && sudo apt upgrade -y
-
- sudo apt install -y apache2 mariadb-server php8.4 php8.4-cli \
- php8.4-mysql php8.4-xml php8.4-mbstring php8.4-curl \
- php8.4-zip php8.4-bcmath php8.4-gd php8.4-intl \
- composer git unzip
-
-sudo a2enmod rewrite
-
- /var/www/glastree.
- cd /var/www
-
-# Opzione A — Git clone
-git clone <URL_REPOSITORY> glastree
-
-# Opzione B — ZIP (se non hai git)
-# unzip /percorso/del/glastree.zip -d glastree
-
-cd glastree
-composer install --no-dev --optimize-autoloader
-npm ci && npm run build
-
- Copia il file backup.zip sul nuovo server e estrailo:
mkdir -p /tmp/restore
-unzip backup.zip -d /tmp/restore/
-ls -la /tmp/restore/
-# Dovresti vedere: database.sql .env files/ manifest.json
-
- sudo mysql -u root <<EOF
-CREATE DATABASE glastree CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-CREATE USER 'glastree'@'localhost' IDENTIFIED BY 'ScegliPasswordFortep4ss!';
-GRANT ALL ON glastree.* TO 'glastree'@'localhost';
-FLUSH PRIVILEGES;
-EOF
-
-mysql -u glastree -p glastree < /tmp/restore/database.sql
-
- cp /tmp/restore/.env .env
-# Modifica se necessario:
-# APP_URL=https://nuovo-dominio.it
-# DB_HOST=localhost
-# DB_DATABASE=glastree
-# DB_USERNAME=glastree
-# DB_PASSWORD=ScegliPasswordFortep4ss!
-
-# DECIDI SULL'APP_KEY (leggi avviso sopra!)
-# php artisan key:generate ← SOLO se non hai il .env originale
-
- cp -r /tmp/restore/files/* storage/app/documenti/
-
-sudo chown -R www-data:www-data storage bootstrap/cache
-sudo chmod -R 755 storage bootstrap/cache
-
-php artisan storage:link
-
- php artisan optimize:clear
-php artisan config:cache
-php artisan route:cache
-php artisan view:cache
-
- sudo tee /etc/apache2/sites-available/glastree.conf <<APACHE
-<VirtualHost *:80>
- ServerName glastree.esempio.it
- DocumentRoot /var/www/glastree/public
-
- <Directory /var/www/glastree/public>
- Options -Indexes +FollowSymLinks
- AllowOverride All
- Require all granted
- </Directory>
-
- ErrorLog \${APACHE_LOG_DIR}/glastree_error.log
- CustomLog \${APACHE_LOG_DIR}/glastree_access.log combined
-</VirtualHost>
-APACHE
-
-sudo a2dissite 000-default.conf
-sudo a2ensite glastree.conf
-sudo systemctl reload apache2
-
- sudo apt install -y certbot python3-certbot-apache
-sudo certbot --apache -d glastree.esempio.it
-
- sudo crontab -u www-data -e
-# Inserisci:
-* * * * * cd /var/www/glastree && php artisan schedule:run >> /dev/null 2>&1
-
- Per installazione e ripristino usa i comandi Artisan da terminale. Vedi la sezione Installazione per la guida completa.
-Puoi creare un'immagine Docker pronta all'uso che include l'applicazione e i dati di base (tipologie documenti, tipologie eventi, ruoli). Scegli la configurazione in base alle tue esigenze:
- -git clone <URL> glastree oppure, se non hai git, estrarre il file ZIP ricevuto con unzip glastree.zip -d glastree e posizionarti nella cartella glastree prima di procedere.
- Database embedded, nessun servizio aggiuntivo. Ideale per demo, test, sviluppo locale o ambienti con poca concorrenza.
-Database separato in un container MySQL. Configurazione standard, ideale per produzione, staging e ambienti con piu utenti.
-Crea un file Dockerfile nella root del progetto:
FROM php:8.4-apache
-
-# Abilita mod_rewrite
-RUN docker-php-ext-enable opcache \
- && a2enmod rewrite
-
-# Installa estensioni PHP (sia SQLite che MySQL)
-RUN docker-php-ext-install pdo_mysql pdo_sqlite bcmath gd zip
-
-# Installa Composer
-COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
-
-# Configura DocumentRoot per Laravel
-ENV APACHE_DOCUMENT_ROOT=/var/www/html/public
-RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf \
- && sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
-
-# Copia l'applicazione
-COPY . /var/www/html/
-
-# Installa dipendenze e compila asset
-RUN composer install --no-dev --optimize-autoloader \
- && mkdir -p storage/app/public \
- && mkdir -p storage/framework/cache/data \
- && mkdir -p storage/framework/sessions \
- && mkdir -p storage/framework/views \
- && mkdir -p storage/logs \
- && mkdir -p bootstrap/cache \
- && chown -R www-data:www-data storage bootstrap/cache
-
-# Entrypoint per inizializzazione
-COPY docker-entrypoint.sh /usr/local/bin/
-RUN chmod +x /usr/local/bin/docker-entrypoint.sh
-
-ENTRYPOINT ["docker-entrypoint.sh"]
-CMD ["apache2-foreground"]
-
- Crea docker-entrypoint.sh. Lo script rileva automaticamente la configurazione in base alle variabili d'ambiente:
#!/bin/bash
-set -e
-
-# Se .env non esiste, lo genera dalle variabili d'ambiente
-if [ ! -f .env ]; then
- cp .env.example .env
-
- if [ "$DB_CONNECTION" = "mysql" ]; then
- # Configura MySQL
- sed -i "s/DB_CONNECTION=mysql/DB_CONNECTION=mysql/" .env
- sed -i "s/DB_HOST=.*/DB_HOST=${DB_HOST:-mysql}/" .env
- sed -i "s/DB_PORT=.*/DB_PORT=${DB_PORT:-3306}/" .env
- sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_DATABASE:-glastree}/" .env
- sed -i "s/DB_USERNAME=.*/DB_USERNAME=${DB_USERNAME:-glastree}/" .env
- sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD:-secret}/" .env
-
- # Attende che MySQL sia pronto
- echo "Attendo MySQL..."
- until php -r "new PDO('mysql:host=${DB_HOST:-mysql};dbname=${DB_DATABASE:-glastree}', '${DB_USERNAME:-glastree}', '${DB_PASSWORD:-secret}');" 2>/dev/null; do
- sleep 2
- done
- echo "MySQL pronto."
- else
- # Configura SQLite
- sed -i 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/' .env
- sed -i 's/DB_HOST=.*//' .env
- sed -i 's/DB_PORT=.*//' .env
- sed -i 's/DB_DATABASE=.*/DB_DATABASE=\/var\/www\/html\/database\/database.sqlite/' .env
- sed -i 's/DB_USERNAME=.*//' .env
- sed -i 's/DB_PASSWORD=.*//' .env
-
- touch database/database.sqlite
- chmod 664 database/database.sqlite
- fi
-
- # Genera APP_KEY
- php artisan key:generate --force
-fi
-
-# Esegui migration e seed se il database e vuoto
-if [ ! -f .db_initialized ]; then
- php artisan migrate --force
- php artisan db:seed --force
- touch .db_initialized
-fi
-
-# Configura storage link
-php artisan storage:link --force 2>/dev/null || true
-
-exec "$@"
- chmod +x docker-entrypoint.sh
-
- Per includere tipologie documenti, tipologie eventi e ruoli, crea un seeder dedicato:
-php artisan make:seeder DockerBaseDataSeeder
- Contenuto di database/seeders/DockerBaseDataSeeder.php:
<?php
-
-declare(strict_types=1);
-
-namespace Database\Seeders;
-
-use Illuminate\Database\Seeder;
-use Illuminate\Support\Facades\DB;
-
-class DockerBaseDataSeeder extends Seeder
-{
- public function run(): void
- {
- // Tipologie Documenti
- $tipologieDoc = ['documento', 'avatar', 'galleria', 'statuto', 'programma', 'locandina', 'altro'];
- foreach ($tipologieDoc as $ord => $nome) {
- DB::table('tipologie_documenti')->updateOrInsert(
- ['nome' => $nome],
- ['descrizione' => ucfirst($nome), 'ordine' => $ord + 1, 'attiva' => true]
- );
- }
-
- // Tipologie Eventi
- $tipologieEventi = [
- ['nome' => 'catechesi', 'descrizione' => 'Catechesi'],
- ['nome' => 'liturgia', 'descrizione' => 'Liturgia'],
- ['nome' => 'animazione', 'descrizione' => 'Animazione'],
- ['nome' => 'formazione', 'descrizione' => 'Formazione'],
- ['nome' => 'incontro', 'descrizione' => 'Incontro'],
- ['nome' => 'riunione', 'descrizione' => 'Riunione'],
- ['nome' => 'festa', 'descrizione' => 'Festa'],
- ['nome' => 'altro', 'descrizione' => 'Altro'],
- ];
- foreach ($tipologieEventi as $ord => $t) {
- DB::table('tipologie_eventi')->updateOrInsert(
- ['nome' => $t['nome']],
- ['descrizione' => $t['descrizione'], 'ordine' => $ord + 1, 'attiva' => true]
- );
- }
-
- // Ruoli
- $ruoli = ['presidente', 'vicepresidente', 'segretario', 'tesoriere', 'consigliere', 'volontario', 'socio', 'altro'];
- foreach ($ruoli as $ord => $nome) {
- DB::table('ruoli')->updateOrInsert(
- ['nome' => $nome],
- ['descrizione' => ucfirst($nome), 'ordine' => $ord + 1, 'attiva' => true]
- );
- }
- }
-}
- Registralo in database/seeders/DatabaseSeeder.php:
$this->call([
- // ... altri seeder ...
- DockerBaseDataSeeder::class,
-]);
-
- services:
- glastree:
- build: .
- ports:
- - "8080:80"
- volumes:
- - glastree_storage:/var/www/html/storage
- - glastree_db:/var/www/html/database
- environment:
- - APP_ENV=production
- - APP_DEBUG=false
- - APP_URL=http://localhost:8080
- - DB_CONNECTION=sqlite
-
-volumes:
- glastree_storage:
- glastree_db:
-
- services:
- glastree:
- build: .
- ports:
- - "8080:80"
- volumes:
- - glastree_storage:/var/www/html/storage
- depends_on:
- mysql:
- condition: service_healthy
- environment:
- - APP_ENV=production
- - APP_DEBUG=false
- - APP_URL=http://localhost:8080
- - DB_CONNECTION=mysql
- - DB_HOST=mysql
- - DB_PORT=3306
- - DB_DATABASE=glastree
- - DB_USERNAME=glastree
- - DB_PASSWORD=secret
-
- mysql:
- image: mysql:8.0
- volumes:
- - mysql_data:/var/lib/mysql
- environment:
- - MYSQL_DATABASE=glastree
- - MYSQL_USER=glastree
- - MYSQL_PASSWORD=secret
- - MYSQL_ROOT_PASSWORD=root_secret
- healthcheck:
- test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
- interval: 5s
- timeout: 3s
- retries: 10
-
-volumes:
- glastree_storage:
- mysql_data:
-
- Assicurati di essere nella cartella del progetto (ottenuta via git clone o estraendo il ZIP), poi:
# Costruisci l'immagine (comune)
-docker build -t glastree:latest .
-
-# Avvia con SQLite
-docker compose -f docker-compose.yml up -d
-
-# Oppure avvia con MySQL
-# docker compose -f docker-compose.mysql.yml up -d
-
-# Apri nel browser
-open http://localhost:8080
-
- Al primo avvio, l'entrypoint esegue automaticamente migration e seed. Troverai gia popolati:
-Dovrai creare il primo utente amministratore via CLI:
-docker exec -it glastree php artisan tinker --execute="
-\$u = new \App\Models\User;
-\$u->name = 'Amministratore';
-\$u->email = 'admin@esempio.it';
-\$u->password = bcrypt('password-forte');
-\$u->is_admin = true;
-\$u->permissions = ['individui' => 2, 'gruppi' => 2, 'eventi' => 2, 'documenti' => 2, 'mailing' => 2, 'viste' => 2, 'report' => 2, 'settings' => 2];
-\$u->save();
-echo 'Utente creato con successo!';
-"
-
- MYSQL_PASSWORD e MYSQL_ROOT_PASSWORDdocker-compose.yml per SQLite, docker-compose.mysql.yml per MySQL) e scegliere con -fL'installazione avviene tramite l'interattivo install.php che guida passo-passo. Supporta due modalita:
Installa l'applicazione da zero su un nuovo server: crea il database, esegue le migration, popola i dati di base e crea l'amministratore.
-Ripristina un'installazione esistente da un file ZIP di backup: importa il database, ripristina i documenti e la configurazione.
-| Componente | Versione Minima | Note |
|---|---|---|
| Web Server | Apache 2.4+ | Con mod_rewrite abilitato |
| PHP | 8.2+ (consigliato 8.4) | Estensioni: pdo_mysql, mbstring, xml, curl, zip, gd, fileinfo |
| MySQL / MariaDB | MySQL 8.0+ / MariaDB 10.5+ | Supporto utf8mb4 |
| Composer | 2.x | Per gestione dipendenze PHP |
| Node.js / npm | Node 20+ / npm 10+ | Per compilazione asset frontend (opzionale se precompilati) |
sudo apt update && sudo apt upgrade -y
-
-sudo apt install -y apache2 mariadb-server php8.4 php8.4-cli \
- php8.4-mysql php8.4-xml php8.4-mbstring php8.4-curl \
- php8.4-zip php8.4-bcmath php8.4-gd php8.4-intl \
- composer git unzip
-
-sudo a2enmod rewrite
-sudo systemctl restart apache2
-
- /var/www/glastree.
- cd /var/www
-
-# Opzione A — Git clone
-git clone <URL_REPOSITORY> glastree
-
-# Opzione B — ZIP (se non hai git)
-# unzip /percorso/del/glastree.zip -d glastree
-
-cd glastree
-
- Lancerai l'installer interattivo che ti guidera attraverso tutte le fasi:
-php install.php
- L'installer ti chiedera:
-L'installer esegue automaticamente:
-.env e APP_KEYcomposer install e registrazione pacchettiSe scegli la modalita Docker, l'installer builda l'immagine, avvia i container e crea l'admin all'interno del container.
-Se scegli Restore, l'installer ti chiedera il percorso del file ZIP di backup, ripristinera il database, i file e la configurazione.
-sudo tee /etc/apache2/sites-available/glastree.conf <<APACHE
-<VirtualHost *:80>
- ServerName glastree.esempio.it
- DocumentRoot /var/www/glastree/public
-
- <Directory /var/www/glastree/public>
- Options -Indexes +FollowSymLinks
- AllowOverride All
- Require all granted
- </Directory>
-
- ErrorLog \${APACHE_LOG_DIR}/glastree_error.log
- CustomLog \${APACHE_LOG_DIR}/glastree_access.log combined
-</VirtualHost>
-APACHE
-
-sudo a2dissite 000-default.conf
-sudo a2ensite glastree.conf
-sudo systemctl reload apache2
-
- Importante: Il restore da backup richiede che tu abbia un file ZIP generato dalla pagina Admin → Backup del server originale. Estrai manualmente il contenuto seguendo la struttura del progetto.
- I comandi php artisan migrate --seed eseguono:
APP_KEY per la crittografia (gia eseguito al passo 5)storage → public/storageIl backup ZIP generato dalla pagina Admin → Backup contiene un dump SQL e i file dei documenti. Per ripristinare:
-mysql -u root -p glastree < backup/database.sql)storage/app/ per ripristinare i documenti.env dal backup (modifica le credenziali DB per il nuovo server)php artisan key:generate se la APP_KEY del backup non è utilizzabilesudo apt install -y certbot python3-certbot-apache
-sudo certbot --apache -d glastree.esempio.it
- sudo crontab -u www-data -e
-# Inserisci:
-* * * * * cd /var/www/glastree && php artisan schedule:run >> /dev/null 2>&1
- Probabilmente mancano permessi sulle cartelle storage o bootstrap/cache:
sudo chown -R www-data:www-data storage bootstrap/cache
-sudo chmod -R 775 storage bootstrap/cache
- APP_KEY non generata. Nella cartella dell'app:
-php artisan key:generate
- Se le rotte restituiscono 404, verifica che Apache abbia AllowOverride:
-sudo a2enmod rewrite
-# Nel VirtualHost: AllowOverride All
-sudo systemctl reload apache2
- Password dimenticata? Inserisci la tua email e ti invieremo il link per reimpostarla.
- - - - - -- Torna al login -
-Nessuna notifica
- -Benvenuto in .
- -Dal menu laterale puoi navigare tra le sezioni:
-Configura il nome e il testo visualizzato dall'applicazione.
- - - - - -Configura repository remoti (WebDAV, Google Drive) per archiviare documenti. Ogni repository appare come root separata nell'albero delle cartelle in Gestione Documenti.
- - - - - - - - - count() > 0): ?> -| # | -Nome | -Tipo | -Stato | -Azioni | -
|---|---|---|---|---|
| - | nome); ?> | -- - - tipo)); ?> - - - | -- is_active): ?> - Attivo - - Disattivo - - | -- - - - | -
Nessun repository remoto configurato.
-Clicca "Nuovo Repository" per aggiungere un server WebDAV o Google Drive.
-Configura il repository filesystem dove vengono salvati i documenti caricati.
- - documenti_storage_disk ?? 'local'; - $currentPath = $appSettings->documenti_storage_path ?? 'documenti'; - $absPath = storage_path('app/' . ($currentDisk === 'local' ? 'private/' : '') . $currentPath); - ?> - -
- La nuova directory :// è stata creata.
- 0): ?>
- Ci sono file nella vecchia posizione ://.
Nessun file da spostare.
- -Carica il logo dell'applicazione. Verrà visualizzato nella pagina di login e nella sidebar.
- - - - - -smtp.gmail.com sulla porta 587 con TLS
- e genera una App Password.
- | Nome | -SMTP | -Reply-To | -Verify | -Stato | -Azioni | -|
|---|---|---|---|---|---|---|
| email_address); ?> | -email_name ?: '-'); ?> | -smtp_host ?: '-'); ?>:smtp_port ?: '-'); ?> | -reply_to ?: '-'); ?> | -verify_email ?: '-'); ?> | -- is_active): ?> - Attivo - - Disattivo - - | -- - - - | -
Nessun mittente aggiuntivo configurato.
-Usa il pulsante "Nuovo Mittente" per aggiungere un account di invio dedicato (es. Newsletter).
-no-reply@parrocchia.it).Configura la sincronizzazione con calendari esterni (Google Calendar, CalDAV come Infomaniak/NextCloud).
- - - - - - - - - get(); - ?> - - count() > 0): ?> -| # | -Nome | -Tipo | -Direzione Sync | -Stato | -Ultimo Sync | -Azioni | -
|---|---|---|---|---|---|---|
| - | nome); ?> | -- - - tipo)); ?> - - - | -- sync_direction): - case ('import'): ?> Solo Import - Solo Export - Bidirezionale - - | -- stato === 'connesso'): ?> - Connesso - stato === 'errore'): ?> - Errore - - stato)); ?> - - | -- last_sync_at): ?> - last_sync_at->format('d/m/Y H:i')); ?> - - Mai - - | -
-
-
- |
-
Nessun calendario remoto configurato.
-Clicca "Nuova Connessione" per collegare Google Calendar o un server CalDAV (Infomaniak, NextCloud).
-Gestisci le tipologie disponibili per i documenti caricati nel sistema.
- - - - - - - - -| Ordine | -Nome | -Descrizione | -Stato | -Azioni | -
|---|---|---|---|---|
| - - | -- nome); ?> - | -descrizione ?? '-'); ?> | -- attiva): ?> - Attiva - - Disattivata - - | -
-
- documenti()->count() == 0): ?>
- |
-
Gestisci le tipologie disponibili per gli eventi del calendario.
- - - - - - - - -| Ordine | -Nome | -Descrizione | -Stato | -Azioni | -
|---|---|---|---|---|
| - - | -- nome); ?> - | -descrizione ?? '-'); ?> | -- attiva): ?> - Attiva - - Disattivata - - | -
-
- eventi()->count() == 0): ?>
- |
-
Gestisci i ruoli che possono essere assegnati agli individui nei gruppi.
- - - - - - - - -| Ordine | -Nome | -Descrizione | -Stato | -Azioni | -
|---|---|---|---|---|
| - - | -- nome); ?> - | -descrizione ?? '-'); ?> | -- attiva): ?> - Attivo - - Disattivato - - | -
-
- getMembriCount() ?>
-
- |
-
| Nome | -Stato | -Permessi | -Creato | -Azioni | -|
|---|---|---|---|---|---|
| - name); ?> - isSuperAdmin()): ?> - Admin - - | -email); ?> | -- status): - case ('active'): ?> - Attivo - - - Sospeso - - - In attesa - - - | -
- getPermissionsSummary(); ?>
-
- addLoop($__currentLoopData); foreach($__currentLoopData as $module => $level): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
-
- : - - popLoop(); $loop = $__env->getLastLoop(); ?> - - |
- created_at->format('d/m/Y')); ?> | -
-
-
-
- id !== auth()->id()): ?>
- |
-