Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skaut/skautska-fotobanka
https://github.com/skaut/skautska-fotobanka
google google-drive google-drive-api photo php8 uploader wordpress wordpress-plugin
Last synced: 7 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/skaut/skautska-fotobanka
- Owner: skaut
- License: mit
- Created: 2021-04-23T06:44:48.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-04T18:20:37.000Z (almost 3 years ago)
- Last Synced: 2024-11-09T23:33:40.713Z (2 months ago)
- Topics: google, google-drive, google-drive-api, photo, php8, uploader, wordpress, wordpress-plugin
- Language: PHP
- Homepage:
- Size: 39.1 KB
- Stars: 0
- Watchers: 9
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
# Photo Uploader pro Skautí fotobanku
**Tento plugin pro WordPress díky propojení pluginů Gravity Forms a Use-Your-Drive umožňuje nahrávání fotografií na Google Drive skautské fotobanky.**
Plugin na základě dat vyplněných ve formuláři generuje fixně formátované popisky pro každý nahrávaný soubor (fotku) a umožňuje
tak do fotobanky přenášet metadata, která jsou pro organizaci fotobanky klíčové.## Popis funkcionality
Funkcionalita tohoto pluginu obsahuje následující:
- Nahrávací formulář je rozdělen na dvě stránky. Na první straně uživatel vyplňuje detaily o fotoalbu a na druhé straně vybírá fotografie k nahrání.
- Na základě administrátorem definované šablony vytvoří plugin z údajů výplněných v prvním kroku formátovaný popisek.
- Popisek bude umístěn ke každému nahrávanému soubore do pole `description` na Google Drive.
- Formulář navíc předvyplňuje některá formulářové pole na základě údajů z uživatelského účtu a po prvním vyplnění také z předchozího vyplněného formuláře.*Plugin ovlivňuje funkcionalitu jakéhokoliv formuláře, který má v nastavení uvedenou CSS třídu `photo-uploader`. Plugin upravuje nahrávání jakéhokoliv
Use-your-Drive upload boxu, který obsahuje CSS třídu `add_description`.*## Instalace
Jak je zmíněno výše, tento plugin propojuje funkcionalitu dvou pluginů třetích stran - [Gravity Forms](https://www.gravityforms.com/)
a [Use-your-Drive](https://www.wpcloudplugins.com/plugins/use-your-drive-wordpress-plugin-for-google-drive/). Tyto dva pluginy jsou
tedy nutné k využití funkcionality tohoto pluginu.### Předpoklady
- WordPress 5.7.3 a vyšší
- Gravity Forms 2.5.9 a vyšší
- Use-your-Drive 1.17.6 a vyšší### Proces instalace
1. Nainstalujte pluginy Gravity Forms a Use Your Drive.
1. Propojte plugin Use Your Drive s Google účtem a proveďte jeho úvodní nastavení.
1. Proveďte úvodní nastavení pluginu Gravity Forms.
1. Zabalte obsah celého repozitáře do zip balíčku a ten nainstalujte do WordPressu jako plugin.
1. Importujte formulář ze souboru `gravityforms-export.json`, který je součástí tohoto pluginu.
1. Vytvořte stránku a vložte do ní vytvořený formulář např. pomocí shortcodu `[gravityform id="x"]`.## Konfigurace pluginu
V tuto chvíli lze z administrace WordPressu kromě jakýchkoliv běžných úprav formulářových polí provádět dva úkony. Předně přidávání
nových formulářových polí a jejich přidání do popisku ukládaného do Google Drive a druhak úprava chování pluginu Use-your-Drive pro
nahrávání fotografií._V tuto chvíli nelze v administraci jednoduše definovat další hodnoty, které bude formulář předvyplňovat ať už na základě uživatelských účtů či
na základě předchozích vyplnění formuláře. Tato změna vyžaduje zásah do kódu pluginu._### Vytvoření nového pole a přidání do Google Drive popisku
Plugin umožňuje přímo z administrace WordPressu přidávat či odebírat formulářová pole. Data z jednotlivých polí formuláře jsou do
formátovaného popisku vkládána na základně admin labelů nastavených u jednotlivých polí. Každé pole formuláře má tedy nastaven tento
popisek podle kterého je pak možné hodnotu tohoto pole umístit nejen do popisku ale i notifikačních e-mailů či do zprávy zobrazené
po odeslání formuláře.Formát popisku, který se zapisuje do Google Drive je definovýn šablonou, která je jako JS snippet uložená v HTML poli na začátku
druhé stránky formuláře. V tomto poli je uvedena šablona, ve které budou při vykreslování formuláře nahrazeny zástupné symboly hodnotami
z vyplněného formuláře. Zástupné symboly jsou ve formátu `%nazev_pole%`, kde vše mezi znaky `%` musí korespondovat s admin labelem jednoho
z formulářových polí. Například zástupný symbol `%first_name%` bude nahrazen hodnotou, kterou uživatel vyplnil do pole, které má admin label
nastaven na `first_name`.Při přidání nového pole do formuláře tedy pro jeho přidání do popisku na Google Drive stačí nastavit poli admin label a potom v šabloně uložené
v HTML poli na začátku druhé stránky formuláře přidat zástupný symbol do libovolného umístění._Výchozí snippet kódu se šablonou popisku najdete níže. Snippet je ale také uložen v souboru `gravityforms-export.json`,
který je součástí tohoto pluginu a obsahuje export konfigurace celého formuláře._```
window.descriptionTemplate = "%title%\n";
window.descriptionTemplate += "%consents%, %copyright%, %note%, %id%, %first_name% %last_name% - %nickname%, ";
window.descriptionTemplate += "%phone%, %email%, %department%, %group%, %public%, kraj %district%, %location%, ";
window.descriptionTemplate += "%age_category%, %start%, %end%, %keywords%\n";
window.descriptionTemplate += "%title%\n";
window.descriptionTemplate += "%description%\n";
window.descriptionTemplate += "Autor: %copyright%";```
### Úprava chování Use-your-Drive
Přímo v administraci je možné jakkoliv měnit chování boxu pro nahrávání fotografií na Google Drive. Pro úpravu chování stačí v administraci kliknout
na pole Use-your-Drive a následně na modré tlačítko "Build your shortcode". Následně lze měnit jakékoliv atributy pluginu. Výrazně doporučuji při
jakémkoliv zásahu otestovat, zda a jak nové nastavení funguje. Pro jistotu níže uvádím výchozí konfiguraci (tj. výsledný shortcode) pro případ potřeby
návratu k původnímu fungování.```
[useyourdrive class="gf_upload_box add_description" dir="toto doplnit pomocí generátoru shortcodu"
account="toto doplnit pomocí generátoru shortcodu" subfolder="%id% - %user_login% %yyyy-mm-dd%" mode="upload"
viewrole="administrator|author|contributor|editor|subscriber|guest" userfolders="auto" viewuserfoldersrole="none"
downloadrole="none" upload="1" upload_folder="0" upload_auto_start="0" uploadrole="all" uploadext="jpg|png|gif|tiff" ]
```_Na CSS třídu add_description je navázána funkcionalitu pro vkládání popisku - neměnit!_
## Autor
Tento plugin byl pro Skaut vyvinul Honza Kopecký. V případě jakýchkoliv dotazů čí problémů se obracejte na [honza.kopecky95@gmail.com](mailto:honza.kopecky95@gmail.com).